Haskellに悩んで一年、その後、何気なく始めたF#で一年。
あっというまに、2年経過してしまった。
昨年末、パーサの全面的見直しをやって、少しそれらしくなって。
でも、昨年中に一区切り付けたかったのに、年末に見直したら、アララのラッ。
急ぎすぎたなあ。でも、1月3日になんとか。
大雑把な履歴
○2008年
○2009年
new 会話型Cm CMi を最初から、見直し、まとめ。 ここが現在のメイン。
new F# の OOPとNamespace、Module
2010/06/27
隠居仕事が忙しいのと、ちと目標を見失って、4,5,6月を無為に過ごしてしまった。
Cmの「Eval」をF#化しようと、F#のOOPとNamespace、Module まとめ開始。
2010/03/07
ずっと気になっていた「closure」を実装。
2010/01/03
「Cm」のソースが全て通るところまでデバッグして、ひと段落。
「prototype」ベースの考え方を整理したほうが良さそう。
やりたいことは山ほどあって、あれこれ構想するのは楽しいんだけど、もう少しデバッグしなくちゃいけないなあ。
でも、好き勝手にやってるんだし、まあいいか。(ほんと、こればっかし)
2009/12/31
パーサの見直し、越年のみこみ。
急ぎすぎはだめですね。年内に一区切りつけようと思っていて、そうしたつもりが、ぼろぼろと・・・。
「みこみ」ではなく、越年確定。
2009/11/27
パーサは「作り散らかし」てきた、と言う感じ。
VS環境でも、ステップ実行は、なにやら挙動がおかしくて、デバッグしにくかったのも一因。
まあ、それは言い訳で、早い話が、手も足もでなかった状態から、流れが見えて、うれしくて書きまくっていた、というのが本音。
でも、いくらなんでも、見直しの時期だろう。ドンくさいけど、手掛かりもできたし。
もう少しで、丸二年になるんだなあ。
2009/10/29
prototypeベースのOOP化、まだまだ未実装やバグが山とあるけれど、そこそこに格好を付けたので、一旦休止。
仕様まとめ、見直しとか、ガーベジコレクタの実装の構想とか、パーサの効率アップとか、考えてみようと思う。
2009/09/25
prototypeベースのOOP化、醜くて、バグだらけだけれど。
もう少し、やらなくちゃ、と思いながら、しがらみが・・・。
2009/05/31
CmをOOP化するために、JavaScriptで、プロトタイプベースOOPのお勉強開始。
「ECMA-262 3rd Edition」のpdfを見ただけで、一人じゃ、インプリメントできないよ、とうんざりしてしまう。
各々の仕様を、採用するか否か判断するためにも、お勉強に時間がかかりそー。
その間に、F#も忘れないよう、少しづつやらにゃー。
2009/03/11
Cm(シー マイナー)というよりは、JSm(JavaScript Minor)って感じだけれど、一旦、習作完了ということにしようと思う。
配列データの初期化とか、print文のフォーマット指定とか、いろいろあるけれど、ちょっと隠居仕事に、1月弱精を出さないといけない。
2009/02/21
やっぱり、当初の目標のCm(シー マイナー)に向かってお勉強を再開する。
オブジェクトなんてなくて、80年代前半だったろうか、8ビットマシンでCP/Mかなんかの上で動いた、なんたらCみたいなやつが、目標だ。
当時は、CPUに浮動小数点ユニットなんか無かったから、実数は、ソフトで対応していた。まてよ、そもそも整数しか使えなかったんじゃなかったか。
今時だから、実数くらい使えてもいいよなあ。
Forthは「FParsec - A Parser Combinator Library for F#」を1/5くらいしか読まないでやっちゃったけど、今回はちょいとふんどしを締めてかからないと。
早く「OperatorPrecedenceParser」の「ExpressionParser」にたどり着きたい。
2009/02/19
F#、FParsecでForthが一応完成した。
Haskellで言語作成を目指して、1年2ヶ月、F#に宗旨替えしたけれど、Forthは19日間でできた。
本家Forthのページを見ると、くらくらするような盛りだくさんの機能があるけれど、FParsecによる習作としては、このあたりで一応止めておこう、ということだ。
作成の紆余曲折は、FParsecのページに、ソースの履歴は、私のForthのソースに書いてあります。
2009/02/06
2月に入って、思いつきで、以前やったHarrorthの、F#版を自分で書いてみようと思った。
FParsecは、Parsec以上に情報が無い。だから、数日、ただただ途方にくれていたのに、なんだったんだろう。
ASTをUnion型で書いてみて、へー、いけるのかな、から始まった。
そしたら、F#よたよた歩きの初心者が、今日挫折するか、あしたこそだめだろう、とやってるうちに、マイForth(もどき)ができちゃった。
2009年2月、の第一週は、私にとって、記念すべき週になりました。
舞い上がったり、落ち込んだり、
希望に燃えたり、絶望にさいなまれたり。
そうやって、一年があっという間に過ぎ去ってしまった。
そんななかで、昨年末から、F#のお勉強を再開した。
「Foundations of F#」の1/5くらい読んだところで休止していたやつだ。
例によって、そこまで読んだことさえ忘れていて、最初からやり直し。
こんどは、過程を「F#イントロ」に書いていく。
Haskellをあきらめたわけではない。随時、比較的に理解していこうと思う。
昨年後半にはじめた、里山歩きの様に、いつまでたっても高い山には登れず、里山(イントロ)をうろうろしているけど、何かの拍子に、突破口が開けないでもなかろう。
別に、あせる必要はない。
昨年末だったか、某ニュースキャスターの癌闘病記を「残日うんぬん」とタイトルしていた。
残された「短い」日々、というニュアンスで、気がめいった。
でも、私は、藤沢周平の「三屋清左衛門残日録」のように、「日残りて、暮るるにいまだ遠し」と思いたい。
あっというまに、2年経過してしまった。
昨年末、パーサの全面的見直しをやって、少しそれらしくなって。
でも、昨年中に一区切り付けたかったのに、年末に見直したら、アララのラッ。
急ぎすぎたなあ。でも、1月3日になんとか。
大雑把な履歴
○2008年
○2009年
├ 2009/01/15 一年経過してしまった
├ 2009/02/06 2月にはいって、突然ダッシュ
├ 2009/02/19 F#、FParsecでForthの習作完成
├ 2009/02/21 F#、FParsecでCm(シー マイナー)に向かう
├ 2009/03/11 F#、FParsecでCm(シー マイナー)とりあえず第一ステップ完了
├ 2009/05/31 CmをOOP化するために
├ 2009/09/25 prototypeベースのOOP化、醜くて、バグだらけだけれど
├ 2009/10/29 prototypeベースのOOP化、一旦休止
├ 2009/11/27 パーサの見直し CMi作成
└ 2009/12/31 パーサの見直し CMi作成、越年のみこみ
○2010年├ 2009/02/06 2月にはいって、突然ダッシュ
├ 2009/02/19 F#、FParsecでForthの習作完成
├ 2009/02/21 F#、FParsecでCm(シー マイナー)に向かう
├ 2009/03/11 F#、FParsecでCm(シー マイナー)とりあえず第一ステップ完了
├ 2009/05/31 CmをOOP化するために
├ 2009/09/25 prototypeベースのOOP化、醜くて、バグだらけだけれど
├ 2009/10/29 prototypeベースのOOP化、一旦休止
├ 2009/11/27 パーサの見直し CMi作成
└ 2009/12/31 パーサの見直し CMi作成、越年のみこみ
new 会話型Cm CMi を最初から、見直し、まとめ。 ここが現在のメイン。
new F# の OOPとNamespace、Module
2010/06/27
隠居仕事が忙しいのと、ちと目標を見失って、4,5,6月を無為に過ごしてしまった。Cmの「Eval」をF#化しようと、F#のOOPとNamespace、Module まとめ開始。
2010/03/07
ずっと気になっていた「closure」を実装。
2010/01/03
「Cm」のソースが全て通るところまでデバッグして、ひと段落。「prototype」ベースの考え方を整理したほうが良さそう。
やりたいことは山ほどあって、あれこれ構想するのは楽しいんだけど、もう少しデバッグしなくちゃいけないなあ。
でも、好き勝手にやってるんだし、まあいいか。(ほんと、こればっかし)
2009/12/31
パーサの見直し、越年のみこみ。急ぎすぎはだめですね。年内に一区切りつけようと思っていて、そうしたつもりが、ぼろぼろと・・・。
「みこみ」ではなく、越年確定。
2009/11/27
パーサは「作り散らかし」てきた、と言う感じ。VS環境でも、ステップ実行は、なにやら挙動がおかしくて、デバッグしにくかったのも一因。
まあ、それは言い訳で、早い話が、手も足もでなかった状態から、流れが見えて、うれしくて書きまくっていた、というのが本音。
でも、いくらなんでも、見直しの時期だろう。ドンくさいけど、手掛かりもできたし。
もう少しで、丸二年になるんだなあ。
2009/10/29
prototypeベースのOOP化、まだまだ未実装やバグが山とあるけれど、そこそこに格好を付けたので、一旦休止。仕様まとめ、見直しとか、ガーベジコレクタの実装の構想とか、パーサの効率アップとか、考えてみようと思う。
2009/09/25
prototypeベースのOOP化、醜くて、バグだらけだけれど。もう少し、やらなくちゃ、と思いながら、しがらみが・・・。
2009/05/31
CmをOOP化するために、JavaScriptで、プロトタイプベースOOPのお勉強開始。「ECMA-262 3rd Edition」のpdfを見ただけで、一人じゃ、インプリメントできないよ、とうんざりしてしまう。
各々の仕様を、採用するか否か判断するためにも、お勉強に時間がかかりそー。
その間に、F#も忘れないよう、少しづつやらにゃー。
2009/03/11
Cm(シー マイナー)というよりは、JSm(JavaScript Minor)って感じだけれど、一旦、習作完了ということにしようと思う。配列データの初期化とか、print文のフォーマット指定とか、いろいろあるけれど、ちょっと隠居仕事に、1月弱精を出さないといけない。
2009/02/21
やっぱり、当初の目標のCm(シー マイナー)に向かってお勉強を再開する。オブジェクトなんてなくて、80年代前半だったろうか、8ビットマシンでCP/Mかなんかの上で動いた、なんたらCみたいなやつが、目標だ。
当時は、CPUに浮動小数点ユニットなんか無かったから、実数は、ソフトで対応していた。まてよ、そもそも整数しか使えなかったんじゃなかったか。
今時だから、実数くらい使えてもいいよなあ。
Forthは「FParsec - A Parser Combinator Library for F#」を1/5くらいしか読まないでやっちゃったけど、今回はちょいとふんどしを締めてかからないと。
早く「OperatorPrecedenceParser」の「ExpressionParser」にたどり着きたい。
2009/02/19
F#、FParsecでForthが一応完成した。Haskellで言語作成を目指して、1年2ヶ月、F#に宗旨替えしたけれど、Forthは19日間でできた。
本家Forthのページを見ると、くらくらするような盛りだくさんの機能があるけれど、FParsecによる習作としては、このあたりで一応止めておこう、ということだ。
作成の紆余曲折は、FParsecのページに、ソースの履歴は、私のForthのソースに書いてあります。
2009/02/06
2月に入って、思いつきで、以前やったHarrorthの、F#版を自分で書いてみようと思った。FParsecは、Parsec以上に情報が無い。だから、数日、ただただ途方にくれていたのに、なんだったんだろう。
ASTをUnion型で書いてみて、へー、いけるのかな、から始まった。
そしたら、F#よたよた歩きの初心者が、今日挫折するか、あしたこそだめだろう、とやってるうちに、マイForth(もどき)ができちゃった。
2009年2月、の第一週は、私にとって、記念すべき週になりました。
09/01/15
がんばったり、なまけたり、舞い上がったり、落ち込んだり、
希望に燃えたり、絶望にさいなまれたり。
そうやって、一年があっという間に過ぎ去ってしまった。
そんななかで、昨年末から、F#のお勉強を再開した。
「Foundations of F#」の1/5くらい読んだところで休止していたやつだ。
例によって、そこまで読んだことさえ忘れていて、最初からやり直し。
こんどは、過程を「F#イントロ」に書いていく。
Haskellをあきらめたわけではない。随時、比較的に理解していこうと思う。
昨年後半にはじめた、里山歩きの様に、いつまでたっても高い山には登れず、里山(イントロ)をうろうろしているけど、何かの拍子に、突破口が開けないでもなかろう。
別に、あせる必要はない。
昨年末だったか、某ニュースキャスターの癌闘病記を「残日うんぬん」とタイトルしていた。
残された「短い」日々、というニュアンスで、気がめいった。
でも、私は、藤沢周平の「三屋清左衛門残日録」のように、「日残りて、暮るるにいまだ遠し」と思いたい。