カラクリスタ

『輝かしい青春』なんて失かったヒトのブログ

書き初め

と言う事で、

を今日は触っていました。

Reason とは?

一言で言うならば、

Facebook 社製の JavaScript っぽい Syntax を持つ ML 方言の一つ

です。

で、中身は完全に Impure な関数型言語、ただし JavaScript 風味な Syntax 、と言う感じで、 ecosystem としては、

  • BuckleScirpt (Ocaml の Javascript Transpiler)
  • OCaml
  • JavaScript (Node.js と言うか npm)

の上に乗っかっている感じっぽいです。はい。

触っていた中身

今日が触った初日なので、未だあんまり、流儀とか作法が分かってない感じですが、 最近、Qiita などで話題になっていた、

っぽいモノを Reason で再現できないか、と、思って色々書いては消し書いては消しを行なっていたのですが、 どうもこれ、型の情報はモジュール外にはあんまり露出させないっぽい? と言う事に気がついて、

あ、これ最初からやり直しやん……

とかにもなっています。

今後 Reason で開発するか否かについて

多分自分で何かしらを作るのであれば、使って行こうかなー、と思ってはいます。 ただまぁ使い熟せるかどうはか未知数なのですが。

あと、ライセンスの方は、 React.js の BSD+PATENTS 問題の頃に確か React と同じ様なライセンスだったと記憶していたんですが、 今日始めるにあたってライセンスもキチっと確認した所、今現在のところは、完全な MIT-licensed になってるっぽいです。 なので、React ライセンス問題が気になっていた方も安心できるかと。

以上

とりあえず、僕は普段 NixOS で Nix expression langauge を触っているので、 多少は関数型言語に慣れている部分もあるのですが、今日触ってみた感じだと、 以前だけちょろっと触った Elm とかが近い触り心地かなぁ、と感じでいます。

で、基本、Syntax とかには戸惑いはないんですが、モジュールとファイル名の扱いとか、 あと、型情報は公開された情報としては取り扱わないっぽい??? とか、その辺りが良く分かっていないので、 もうちょっと慣れてこないと、色々コード書くのは辛そうかな、とも感じでいたりします。 ま、この辺り、書き続けるしかないかなぁ、とも思いますが。


と言う事で今日はそんな感じでした。はい。