なんちゃってLaTeX展開器を作ったぞ d-poppo.nazo.cc/damepo-latex/ pic.twitter.com/Yl72hR89kr
2016-04-16 02:09:20まだTeXプロセッサーの全貌を理解して作ってるわけじゃないし、完成度を上げていく上で数回の書き直しは必要になりそう(処理対象はTeXじゃなくてあくまでLaTeXのつもりだけど)
2016-04-16 02:24:29昨夜のなんちゃってLaTeX展開器はHaxeというやつで実装してるんだけど、Javaの悪いところとJavaScriptの悪いところを集めたような感じがして辛い
2016-04-16 12:18:05代数的データ型&パターンマッチがあるのは高く評価するが、Haskellみたいな強力な言語と比較するとどうしても貧弱な感じがしてしまう
2016-04-16 12:20:22あと、複数の環境をターゲットにしてて、標準ライブラリが各環境の標準ライブラリを使って実装されてるっぽいけど、ターゲットによって挙動が微妙に違うのが辛い。Write once, debug everywhere を感じる。
2016-04-16 12:23:57Javaはあんまり使い込んだことはないけど、さすがにプラットフォームによって正規表現の動作が違うなんてことはないでしょ
2016-04-16 12:26:24言語としての「対応プラットフォーム」は9個ぐらいあるみたいだけど、各プラットフォームでのデバッグの手間とかを考えると俺個人のレベルで対応できるのは実際に使う2〜3個程度だと思われる
2016-04-16 12:32:07昨日のやつ、 \renewcommand で上書きしようとするコマンドが存在するかチェックしてないな d-poppo.nazo.cc/damepo-latex/
2016-04-16 12:44:24昨日のこれにこういうのをブチ込むと処理が終わらないように見える(ブラウザ側でタイムアウトする)のは単に時間がかかっているだけだよな?別に再帰の深さのチェックが間違っていて無限ループしてるわけではないよな…? pic.twitter.com/3jEgKts5Ij
2016-04-16 23:58:23expansion processor と execution processor に相当するクラスを分離した。しかし、 execution processor の役割というのをいまいちよく分かってないのでry
2016-04-17 01:22:58こいつら割と不可分な感じがするし分けて正解なのかはよくわからん。せいぜいメソッド単位(処理ごとに)分けるのでも十分かもしれない。
2016-04-17 01:24:15途中のトークン列の長さが長くなる場合に対応した d-poppo.nazo.cc/damepo-latex/ pic.twitter.com/iysIow5O8J
2016-04-17 01:38:54チューリングマシンの計算能力を制限する方向性としてテープの長さを制限するのとステップ数を制限するのみたいなアレを感じる
2016-04-17 01:47:22