« 購入本by弟 | Main | ヒーローはいるけどリーダーはいない »

2007.03.03

色んな言語(stack)のメモ

モナドの謎ってのは,世間一般で思われているのよりも根元的な意味で深いのかもしれないし,どうでも良いのかもしれない
このエントリ、いい。

Forth界に衝撃を与えた(?)これらの記事[言語] Concatenative[言語][Forth][Joy] それは逆ポーランドじゃない(1)から、関数合成ベースの発想。
何だか、関連がありそうに思えて来る。
ところで、何故、Forthは、スタックを好きなだけ作れないんだろう。変数でも、世界全部でも、何でも適当に名付けたスタックに載せて、次のwordに渡せばいいのに(スタック渡しか?)。この辺り、読み落としてるっぽいなぁ。

データが、じゃなくて、構造が、だな。

2007.01.31
え〜と、考え中だけれど。Forthの関数(ワード)は、与えられるデータに、何らかの構造を想定したものだよね。で、構造が明記されるのは、ワード定義側だよね。だから、何だっけか。
2007.02.07
何かへの作用素だとすると、
2007.02.15
有名無名のスタックを自由に新規に作って、そこへの入り口を、現在のスタックの天辺にPushしておく。終わったら、popして戻る。これで、継続渡しではないか?
つうか、単に、スタックを、スタックへ積めるようにすれば良いのでは?
または、ここからは別スタックですよ、という事にすれば良いのでは?
wordは、現在のスタックの頂上からpopして作用して、次に渡す。いくつpopするかは、(外からは)不明。Haskellの関数と同じっぽいけど。型定義を入れれば、同じように型推論が出来るのでは?
Forthは、左から右に流れる、データフローではないのか。
2007.02.15
前から開きっぱなしの『The Concatenative Language XY』では、似たアイデアが検証、実装されている。[stack queue]が、このXYでのwordの実行の一般形、stackは過去の計算履歴であり、queueは未来の計算過程(まだ計算していないもの)。で、wordの実行は、その定義をスタックに積む事になる。また、引数と言うか、stackに積まれているデータがwordの定義より少ない時は、closureにprojectionされる!これはλ式な訳だ!これで自然に継続が作られる!
(誤解してないかな)なんか、万能チューリングマシンに似ている。
どうやって、明示的に、closure化するか。未だ読み足らん。判らん。
>誤解してたらしい、XY自体は、継続渡しスタイルで作られているようだ。
2007.02.19
なんかの論文読んだら、RVM-Forthってのを自作して、ラムダ式を定義、無名スタック、closureもやってたな。
Angel Robert Lynas and Bill Stoddart, Adding Lambda Expressions to Forth, EuroForth, 2006.
大部分、読んだが、closureとかを、reversible computationとかの理論で云々らしい。Appendixに、このForthにとって肝心な事(closureの実装)が書いてある。これは、2007.02.15のidea(思い付き)に、ちょっと、似ている(実装した彼らの方がずっとエラい)。
そう言えば、この旅は、http://gikoforth.s13.xrea.com/td/?date=20061003から始まったのだな。おっと、この人って、sukuna作ってんだ!
"The whole Enchilada - by Robbert van Dalen"は、Java上で同様にstack言語の関数型バージョンを作ってる。
"mythago-Raven Scripting Language"は、Python、Forth、Perlの各言語の混合に、MySQLインターフェース等を足したものらしい。Perlと同じ動機で開発かな。
色々合わせると、左から右に向かって延びて行く、左から右にデータ(関数)が、流れて行く、ってイメージなのかもしれない。
これは、形式計算論の新書式になるかも(いいや、そうはいかんだろ)。
Prolog付きHaskellであるCurryとか、Lisp+HaskellのLiskellとか。
キマイラ飼育の圏論は計算機に特化してこないのだろうか。
檜山正幸のキマイラ飼育記[雑記/備忘]絵を描いて学ぶ・プログラマのためのラムダ計算が面白い。
今のところ、Joyをprimary inspirationと言っている"Factor"が最強かな(っていうか、アクティブだし、LinuxやWindowsと並んで、MacOSXのバイナリ(Cocoa GUI版)もあるし)。色々拡張してるし。専用エディタ付きだし。何だか判りそうな気がするなぁ。
軽量スレッドの継続とか、lambdaやClosureのサポート(ライブラリ)がある。目標の中に、UNICODE完全対応が書いてある(未だ対応してないのか)。むむ。"URL" http-get でhtmlファイルを取って来れる。意外と凄いなぁ。

|

« 購入本by弟 | Main | ヒーローはいるけどリーダーはいない »

パソコン・インターネット」カテゴリの記事

日記・コラム・つぶやき」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference 色んな言語(stack)のメモ:

» 戦略 [として]
ナラティワ 対立が絶えないユダヤ教 イスラミヤ その結果 [Read More]

Tracked on 2007.03.07 11:45 AM

» と述べた [連イラク支援団]
海兵隊 サイエンス 司法関係者によると 今日の朝刊 [Read More]

Tracked on 2007.03.07 11:46 AM

« 購入本by弟 | Main | ヒーローはいるけどリーダーはいない »