2 part forth (907レス)
1-

42: 04/02/03 13:43 AAS
スレタイわかりにくすぎ>1
43
(2): 04/02/03 22:37 AAS
>>11
ラプラスって、確かLisp+Forthだったみたいだけど、ちゃんと読む前にアスキーを捨てられて詳細が解らんです。でも確かに有りました。私も詳細が知りたい。
44: 04/02/06 01:05 AAS
マジでforthで何かつくりたいんだけど、
何かネタないかね。

40が言うようにエディタ?
45
(1): 04/02/07 03:32 AAS
仕様書
FORTHコンパイラを内蔵し、それ自体がFORTH実行環境であり
FORTHにより拡張可能なエディタ。
仮想敵をEmacsとし、Emacsで可能なことはすべて実現させることを
最終目標とする。
ただしキーバインドはWordStar準拠とする。

あとはよろしく
46: 04/02/07 04:56 AAS
WordStar入れるならWindows標準のキー定義も入れてくれ
ところでFORTHの場合FFI関係の作りは楽なのかな
47: 04/02/10 16:13 AAS
天文シミュレーションのような
プログラムシミュレーション

programinginging..^.^.
48
(1): 04/02/15 21:17 AAS
外部リンク[htm]:www.zetetics.com

OO な Forth っていっぱいあるねぇ。Prolog と Lisp と Forth で処理系の多さを
競ったら、どれがトップになるだろうか。
49
(2): 04/02/16 06:25 AAS
Forthまんせー
2chスレ:tech
50
(1): 04/02/17 23:29 AAS
>>48
LispとForthはToyプログラム的な処理系も含めると星の数ほど
あるからねぇ。Prologは知らないけれど。
ForthのOO拡張もいっぱいあるけど、forth好きな人には、
わずかなメモリの無駄や、実行速度のオーバーヘッドも
許せないってタイプが多い気がする。
(そして、やりすぎるとColorForthになる。。。)

>>49
速度もマンセーだが、マクロと同等以上の、
抽象化能力を持つForthマンセー。
メタプログラミングマンセー。
51
(1): 04/02/18 00:21 AAS
>>50
基本的には同意なんだが。マクロと同等以上というほどメタプログラミング
的には勝ってないような…。昔 LISPer と競った経験から言うと、効率では
勝てると思うけど、記号処理(構文解析とか)入ってくると分が悪いと思われ。
FORTH ライク構文なら無敵だと思うけど。
52: 04/02/18 01:21 AAS
>>51
そうかな?「マクロ以上」は言い過ぎかもしれないけど、
>>49の多重ループの展開なんかは、マクロ並みの
抽象化だと思うけどな。
53: 04/02/18 03:39 AAS
いっちょ処理系でも作るか
54
(1): 04/02/18 12:24 AAS
話題少ないし、おまいら、クイズで楽しみませんか?

第1問

dup ( a -- a a )
swap ( a b -- b a )
drop ( a -- )
>r ( a -- return stack: a )
r> ( return stack: a -- a )

以上5つのワードだけで、

2dup ( a b -- a b a b )

を定義すれ。
55: 04/02/18 12:25 AAS
第2問
同じく

3dup ( a b c -- a b c a b c )

を定義しる。
56
(6): 04/02/18 12:27 AAS
第3問

: foo twice ." Hello" ;

でfooを実行すると

HelloHello

を出力するようなtwiceを定義してみれ。
57
(1): 04/02/18 17:59 AAS
: 2dup >r dup r> dup >r swap r> ;
: 3dup >r 2dup r> dup >r swap >r swap r> r> ;

>>56
immediateを使う? よく思い出せん。
58: 54-56 04/02/18 19:06 AAS
>>57
2dup、3dup、お見事っす。

>>56はimmediateを使うという解答もアリですが、
immediateを使わないちょっとトリッキーだけど
もっとシンプルな方法があります。
59
(3): 04/02/19 17:08 AAS
人少ないなぁ。

第4問

: AA reverse ." AA" ;

: BB AA ." BB" ;

: CC BB ." CC" ;

でCCを実行すると

CCBBAA

を出力するようなreverseを定義すれ。

‥‥‥実はコレ第3問のヒントだったりする。
60: 04/02/19 21:25 AAS
Forth のお勧め本ってどんなのありますか?

最近RPNに萌えてます。
HPの電卓欲しくなっちゃった。
61: 04/02/19 23:02 AAS
自分は「標準Forth」
外部リンク:www.amazon.co.jp
でForthを学んだんだけど絶版だろうね。
古本屋か図書館で探すしかないと思われ。

英語でも良ければ、
外部リンク[html]:home.iae.nl
ここのChapter 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はわかったんだが。。。
1-
あと 836 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.023s