ocaml-blockly
ocaml-blockly copied to clipboard
OCaml visual programming editor based on Blockly.
match文の中のパターンお砂場に、リストやペアのパターンブロックはおくことができますが、レコードパターンブロックについては、「レコード〇〇が定義されていない場所です」のエラーメッセージが出て、おくことができません。(なお、パターンとして、外の世界で、match文のブロックと組むことは、もちろんできます。)
issue #10 への暫定対応として、型エラーを起こす部分を try catch で囲み、型エラーを起こした場合は undo することにしました。これで、明日の授業は乗り切ります。が、以下の問題がわかっています。 - 以下のプログラムで、`x` を `f` の body 部分に入れると(落ちることはなくなりましたが)接続を拒否された `x` のブロックがメインワークスペースに残ってしまいます。 ``` let f x = ? let test = f 0 = true...
generator で改行を入れるようにしました。 - `if b then e` のあと `else e` の前で - let 文で、関数定義なら `=` の後で、また `in` がある場合は、その前で - レコード定義で、各フィールドごとに
(レコードのサポート、ありがとうございます。) 現在、match 文で、レコードのパターンを使うと、パターン変数に同じ変数がデフォルトで入っていますが、異なる変数にしたいです。加えて、ユーザが同じ名前のパターン変数に rename しようとしたら拒否したいです。
レコードのパターンに出て来るパターン変数の名前を `フィールド名_v` にしました。(これで issue #21 の問題のうち同じフィールド名が使われてしまう問題だけは回避できます。ただ、ほかのパターン変数と重なる名前に変更できてしまう問題は残っていますが。)
メッセージ日本語化に向けて、とりあえずメニューに日本語が出るようにしました。この先、これを土台に、文字列を多国語対応していく予定です。本当は、web page 上にメニューが出てきて言語を選べるようになるとテストしやすいんだけど、その方法はまだ不明。今は en.js と ja.js の両方を入れているけど(ぼくの環境が日本語だから?)日本語が出てくる。 先日、メールした dev モードなら日本語が出るけど、圧縮すると出なかった件は、update_docs.py を更新したら出るようになりました。
Token cache for storing OAuth tokens and support for eviction policies. ### All Platforms and all Application Types - All platforms at the base level will be supported by an...
Safari と firefox だとテキストエリアの右側が見切れる。Chromeだと大丈夫だた。 
現在は、文字列結合を行うブロックは、2つの文字列を結合するものに限られていて、3つ以上の文字列を結合したいときには、文字列結合のブロックを入れ子にする必要があります。 そこで、 ``` type ekimei_t = {kanji : string; kana : string; romaji : string; ken : string; shozoku : string} let hyoji eki = match eki with | {kanji...
match 文でレコードのパターンを使った際、そのパターンの矢印の右側ではパターン変数を普通の変数としてドラッグして使えるようにしたいです。現在は、x :: xs のパターンなら x や xs をドラッグできますが、レコードのパターン変数はドラッグできないようです。加えて、これらのパターン変数がスコープお砂場にも現れて欲しいです。