2 part forth (907レス)
上下前次1-新
62(4): 04/02/20 12:42 AAS
懲りずに第5問。
: foo
." 1 "
resume
." 2 "
resume
;
: bar
['] foo call/cc
." 3 "
resume
." 4 "
drop
;
で、barを実行すると、
1 3 2 4
と表示するような、resumeとcall/ccをがんがって定義してみれ。
ちなみに、この2つのワードは以下のスタックコメントに示すような
引数と返り値を持つものとする。
resume ( continuation -- continuation' )
call/cc ( xt -- continuation )
# ワード名とスタックコメントの名前がアレですが、
# 字面に惑わされなければ、仕様を満たすのは簡単なはず。
# 第3問〜第5問は基本的に同じカラクリ、というのがヒント。
63: 04/02/21 08:41 AAS
Mindって分家?単に日本語で書けるForth?
64: 04/02/21 10:29 AAS
MindはいろいろForthにない仕様があったので、
MindはForthから派生した別言語と考えても良いと思う。
65(2): _| ̄|○ 04/02/23 20:44 AAS
ホント、人が居ないyo....._| ̄|○
誰も見てないかもしれないけど解答編。
>>56
: twice r> dup >r >r ;
>>59
: reverse r> r> swap r> swap >r swap >r >r ;
>>62
: resume r> swap >r ;
: call/cc r> swap execute ;
‥‥リターンスタックをいじるとヘンなことができて面白いよね。
‥‥‥‥‥。
_| ̄|○
66(1): 04/02/24 14:02 AAS
>>65
スマン、しばらく見てなかった。
>>56はwordの最後までを二回ってことだったか。
次のwordだけを、かと勘違いしてた。
って>>62はそう書いてるな。
67: 04/02/25 12:33 AAS
>>66
>wordの最後までを二回ってことだったか。
わざと曖昧に書きますた。引っかけ問題のようなもので‥‥。
68: 04/03/24 03:33 AAS
浪なみ
69: 04/04/07 03:14 AAS
age
70: 04/04/08 03:12 AAS
mops for win 希望
71: 04/04/10 01:00 AAS
やっぱ判りにくいよこれ。
LISPはわかったんだが。。。
72: 04/04/10 01:09 AAS
慣れです。
73: 04/04/10 15:58 AAS
よくわからないけど、
スタック2本あるんだよね?
あとWordとExcelが入っているとか、いないとか。
正直よくわからない。
74: 04/04/10 16:00 AAS
それと、気になった事だけど、
>>65
人居ない、なんて連呼してると
ほんとに人いなくなるよ
もっと前向きに行こうよ
75: 04/04/10 20:12 AAS
了解。
76: 04/04/13 10:13 AAS
Chuck Mooreってチューリング賞もらってないよね?
threaded code発明したのってChuckでしょ?
77: 04/04/13 14:34 AAS
チューリング賞のことは知らないが、
threaded code発明したはChuck Mooreです。
78: 04/04/13 21:50 AAS
threaded codeってそんなに画期的なことなの?
Z80で言えば CD xx yy のCDを無くして、メモリ消費が約2/3になるってだけでしょ?
79: 04/04/13 23:10 AAS
外部リンク[html]:www.kt.rim.or.jp
80: 04/04/13 23:16 AAS
コードが小さくて速いので多くのVMがthreaded codeを採用している。
昔のプロセッサでは、アセンブリで書いたコードよりもForthのコードの
方が速かったことさえあるという。(伝説)
81: 04/04/14 18:53 AAS
速いのはいいんだけど、
コード読み書きがしんどいと思わない?
変数とかあまり使わないみたいだから、
フローを初めから追っていく必要あるし。
結局この言語もライブラリ次第かなと思った。
82: 04/04/15 00:05 AAS
逆ポーランドをむしろ好む人々も結構な数おりますが、
Stack Juggling がコードを読みにくくするという人も
います。
Forthコードの見通しを良くするには、他の言語よりも
かなり小さな単位でワードを定義するのがよろしいかと。
極端な話、1ワードはせいぜい5行までで記述し、
10行を超えるワードは分割すべきであるとか。
スタックコメントを活用し、小さなTestを繰り返し
ながらボトムアップにくみ上げていくと意外に、
スタックだけで問題解決できていたりします。
83(1): 04/04/15 09:40 AAS
無限ループから抜け出す方法はありますか?
begin...againだと抜け出せないみたいなのですけど。
84: 04/04/15 12:08 AAS
>>83
ループ部分をワードに切り出してexitでワードごと抜けてください。
85: [age] 04/05/05 21:29 AAS
電脳書房の新着案内で「標準 FORTH」入ったっていうから見に行ったら
もうsold outですた。はやッ!
ちなみに漏れが持ってるFORTH本は「パソコンユーザのためのFORTH入門」
(A.ウィンフィールド著 寺島元章訳 1986年初版)
薄いけど、なかなか渋い良い本です。
ちょっと前まであまりなかったlisp本やsmalltalk本も最近は沢山でてるのにな。
forth本も出版してほしい。
86: 04/05/12 00:53 AAS
dayone
87: 04/05/13 01:02 AAS
昔からPostscriptが有名なんだからいいんじゃ
88: 04/05/13 01:03 AAS
ぜんぜん関係ないけどAdobeて最初聞いた時
病気の名前かと思った
89: 04/05/14 20:43 AAS
FORTHは、なんか団体が弱いイメージがある。
Adobeが中心になって盛り上げるかしれ。
AdobeってFORTH系言語で一番儲けてる会社だろ?
90(1): 04/05/17 20:13 AAS
AdobeのPostScriptって、FORTHとは似て非なる言語と聞きましたが。
(詳細はわからないです。ゴメソ)
団体が弱いっつーか、なんつーか、
「コアなマニアは熱狂的にFORTHを支持している」って噂は良く聞くけど、
その「コアなマニア」って一体ドコにいるのよ? って感じですね。
ググっても、今でも熱心にFORTHやってるサイト見つからないんですよね。
(数年全然更新されていないサイトとかは結構見つかる)
91: 04/05/17 22:20 AAS
マニアたちはcomp.lang.forthに巣食ってますが、
web siteは寒い状況。
上下前次1-新書関写板覧索設栞歴
あと 816 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.010s