![見出し画像](https://assets.st-note.com/production/uploads/images/40282671/rectangle_large_type_2_2b0233e206a97b7432d5c2ee6aaa02e8.png?width=1200)
あらびき言語Bracmat言語#1
Bracmatさんこんにちは
パターンマッチングのためのプログラミング言語構成は、連想パターンマッチング(正規表現から知られている)と、パターンマッチング中の表現評価(関数型言語のガードに匹敵する)をサポートしています。(半)構造化データにおけるパターンマッチングと、埋め込み式評価を可能にする連想パターンの組み合わせは、ほぼユニークなものです。
ブラウザで動くらしい
bracmatJS.html
Bracmat は、単一の HTML ページに埋め込まれた emscripten を使用して Javascript にコンパイルされています。
editbracmatjs.bra
emscripten C-to-Javascript コンパイラの出力を編集し、Bracmat を具現化した Javascript を含む HTML ページを作成する Bracmat スクリプトです。
emscriptenHowToHTML.sh
emscripten を実行し、いくつかの後処理を行い、Bracmat の Javascript バージョンである bracmatJS.html を作成する Linux バッチ ファイルです。
どれもこれも内容がガチだな。Rosetta codeをねじろにしてるのもカッコイイいかがビルド実績みたいです
Windows
All versions, compiled with 32 bit VC 6.0 and newer, BCC 5.02, tcc.
A 16 bit version existed until version 2.8
Bracmat can be compiled to 64 bits. This gives faster multiplication of very large numbers.
RISC-OS (Norcroft C ver 3)
EPOC 5 (Psion 5mx, Ericsson MC218: gcc)
HP-UNIX (gcc, cc)
Solaris (gcc)
Linux (gcc)
macOS (xcode, gcc)
WSL先輩で入れてみたいと思います。
とりあえずgitはすでに入っているようなので、フェッチしてプルします
mkdir bracmat
cd bracmat
git init
git remote add origin https://github.com/BartJongejan/Bracmat.git
git pull origin master
cd ..
GCCはWSL入ってないみたい
なので入れます。待つこと数十分.
インストールがうまくいかないので、winから直接ドカッとZIPダウンロード、exeがあるみたいなので探して動かす。
![キャプチャ](https://assets.st-note.com/production/uploads/images/40281818/picture_pc_707b4f5dac425f84f2b3a9867ca444dd.jpg?width=1200)
動いた、動いた。
まずはハローワールド
rozettaさんにサンプルはたくさんあるので、まずは表示系から
![キャプチャ](https://assets.st-note.com/production/uploads/images/40281911/picture_pc_22498da976982a93ddcbf3c4a9abb713.jpg)
出ました出ました。
https://rosettacode.org/wiki/Hello_world/Text#Bracmat
マニュアルが81ページ
手頃といやてごろ
序文から
Bracmatは、奇特(oddly)な形をしたデータの中から自分の道を見つけて、それを自由に操作することができる喜びを与えてくれます。Bracmat は,他のコンピュータプログラミング言語ではほとんど見られないニッチな領域を占めています.
ニッチという言葉がこころつかむね
Bracmatは複雑なデータの解析や操作のために設計されたコンピュータプログラミング言語です。代数式の評価、自然言語の解析、HTMLの検証、多面的なウェブサービスのワークフローへの自動連結などを目的にデザインされています。
いいなと思ったら応援しよう!
![あたり帳簿](https://assets.st-note.com/production/uploads/images/146045306/profile_76a0adfc7bd4b4908ef76d29ad61ae98.png?width=600&crop=1:1,smart)