1read 100read
2011年10月1期プログラム2 part forth TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
【C++】マイナーGUIツールキット
【漏れは】猫でもわかる質問スレ【猫以下です】
【ねらーの】HSPで人工知能を作るスレ【意地】
Tapestryについて語ろうよ!


2 part forth


1 :04/01/10 〜 最終レス :11/10/12
第四世代

2 :
参考リンク
http://lab.ee.uec.ac.jp/text/treat6s.html
http://www.geocities.jp/naosacra/index.html

3 :
hoshu

4 :
ほっしゅ
つーか誰もいねえな

5 :
いまや衰退してしまった FORTH に対してムーアが、
── FORTH にすまないことをした。あやまらなくてはならない。
と、しんみり言った言葉が胸を打つ。
林 晴比古 著、オペラ座のパソコン、初版 P.123
作成者がこう言ってるんだから、もう終了でいいんじゃない ?

6 :
OpenFirmwareとか地味に使ってるじゃないすか

7 :
しかしmopsスレの住人とかどこにいったんだろう?
タイトルのつけかたがまずかったな…。

8 :
一時期興味があったが冷めてしまったなぁ。今は関数型言語が楽しい。
何か面白い話題でもあると良いんだけど。

9 :
何か作るかあ。

10 :
forthの特徴は関数型とか述語記述とかそういう次元の話ではなくて
ただ単に逆ポーランド表記である と見た場合、そこに新たにオブジェクト指向だとか
いろいろな概念を付け加えるのは案外容易なのかなと考えているのですがどうだろうか

11 :
>>10
昔laplaceってのがあったなぁ。

12 :
>>11
なんスかそれ?ラプラス変換?

13 :
ASCIIに載ってたFORTHの変種なんだけど、よく覚えてない。
リストが扱えるようになってたような気がする。

14 :
ふむ…。
web上にはそれに関するリソース見つけきれないです。
もう少し探してみよう。
検索の過程でなんとなくひっかかった情報達
ttp://mizotec.s27.xrea.com/slang/overview.html
ttp://www.kt.rim.or.jp/〜tyamamot/forth/c4th.html
ttp://homepage2.nifty.com/logic/
ttp://www.kt.rim.or.jp/〜tyamamot/forthj/forthj.html
prologとかなり親和性が高い様な気がするなあ

15 :
保守っておこう

16 :
最低でも実装しなければいけない命令ってどれぐらいあるだろうか?

17 :
着手 age

18 :
保守 sage

19 :
開発中 保守 sage

20 :
誰か助けてヨ

21 :
最近勉強を始めてみようと gforth 導入しますた・・・
寂れてますね・・・

22 :
ですね(^^)

23 :
ttp://directory.google.com/Top/Computers/Programming/Languages/Forth/
を巡っております。
ttp://webdev.amsystech.com/mlosh/
ここのソースを参考にして処理系作ろうかと思案中。

24 :
hoth

25 :
forthはおもしろい言語だとは思うんだが、
何に使うかが問題だよね。
自作アプリにスクリプトを付けるなんて用途には最適かもね。
コアな部分がCで数十ライン、デフォルトのワードを100個内蔵しても
1Kラインで済んだし。

26 :
ユーザに書かせるスクリプトじゃなくて、内部で処理するバイトコードが
FORTH系ってのは結構あるんじゃないかと。
処理系の高機能化と簡素化を両立する手段のひとつとして。

27 :
>>14ttp://www.kt.rim.or.jp/〜tyamamot/forth/c4th.htmlは
ちょっと電波臭いけど面白いと思う。

28 :
>>26
スタックマシンということなら、JVMとか。

29 :
>>25
あぷ

30 :
http://pc2.2ch.net/test/r.i/tech/1070886635/60

31 :
あげ

32 :
>>29
アップした。
homepage.mac.com/holythunderforce/FileSharing1.html

33 :
>>32
ダウソ出来んばい

34 :
むか〜し、MZ80でForthを走らせてたのを思い出した。懐かしい

35 :
どっか上げられるウプローダ知らない?

36 :
ダウソできたよ

37 :
盛り上がらねーな

38 :
ホッ種

39 :
>>28
JVMってJavaのVMのこと?
ありゃFORTHとはぜんぜん違うよ。
ところで
コンソールから読み込んだFORTHの構文をJava VMのマシン語に
コンパイルしつつ、
メモリに書き込んでそこにジャンプして実行ってのを考えたりも
したんだけど....。
まずPCレジスタが公開されてない。PCいじるインストラクションがあったとしても、
クラスローダーが認めた由緒正しいインスタンス以外のオフセットに
ジャンプすると例外が発生するとかの仕様がある。
ハックできなそう。つか、できない。
つまらん、と思ってJavaの勉強やめた。

40 :
おまえらforthでEmacsを作れ

41 :
ムーアさんの思想とはかけはなれてるな

42 :
スレタイわかりにくすぎ>1

43 :
>>11
ラプラスって、確かLisp+Forthだったみたいだけど、ちゃんと読む前にアスキーを捨てられて詳細が解らんです。でも確かに有りました。私も詳細が知りたい。

44 :
マジでforthで何かつくりたいんだけど、
何かネタないかね。
40が言うようにエディタ?

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

46 :
WordStar入れるならWindows標準のキー定義も入れてくれ
ところでFORTHの場合FFI関係の作りは楽なのかな

47 :
天文シミュレーションのような
プログラムシミュレーション
programinginging..^.^.

48 :
http://www.zetetics.com/bj/papers/oofs.htm
OO な Forth っていっぱいあるねぇ。Prolog と Lisp と Forth で処理系の多さを
競ったら、どれがトップになるだろうか。

49 :
Forthまんせー
http://pc2.2ch.net/test/read.cgi/tech/1074996153/159-175nofirst

50 :
>>48
LispとForthはToyプログラム的な処理系も含めると星の数ほど
あるからねぇ。Prologは知らないけれど。
ForthのOO拡張もいっぱいあるけど、forth好きな人には、
わずかなメモリの無駄や、実行速度のオーバーヘッドも
許せないってタイプが多い気がする。
(そして、やりすぎるとColorForthになる。。。)
>>49
速度もマンセーだが、マクロと同等以上の、
抽象化能力を持つForthマンセー。
メタプログラミングマンセー。

51 :
>>50
基本的には同意なんだが。マクロと同等以上というほどメタプログラミング
的には勝ってないような…。昔 LISPer と競った経験から言うと、効率では
勝てると思うけど、記号処理(構文解析とか)入ってくると分が悪いと思われ。
FORTH ライク構文なら無敵だと思うけど。

52 :
>>51
そうかな?「マクロ以上」は言い過ぎかもしれないけど、
>>49の多重ループの展開なんかは、マクロ並みの
抽象化だと思うけどな。

53 :
いっちょ処理系でも作るか

54 :
話題少ないし、おまいら、クイズで楽しみませんか?
第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 :
第2問
同じく
3dup ( a b c -- a b c a b c )
を定義しる。

56 :
第3問
: foo twice ." Hello" ;
でfooを実行すると
HelloHello
を出力するようなtwiceを定義してみれ。

57 :
: 2dup >r dup r> dup >r swap r> ;
: 3dup >r 2dup r> dup >r swap >r swap r> r> ;
>>56
immediateを使う? よく思い出せん。

58 :
>>57
2dup、3dup、お見事っす。
>>56はimmediateを使うという解答もアリですが、
immediateを使わないちょっとトリッキーだけど
もっとシンプルな方法があります。

59 :
人少ないなぁ。
第4問
: AA reverse ." AA" ;
: BB AA ." BB" ;
: CC BB ." CC" ;
でCCを実行すると
CCBBAA
を出力するようなreverseを定義すれ。
‥‥‥実はコレ第3問のヒントだったりする。

60 :
Forth のお勧め本ってどんなのありますか?
最近RPNに萌えてます。
HPの電卓欲しくなっちゃった。

61 :
自分は「標準Forth」
http://www.amazon.co.jp/exec/obidos/ASIN/4320022475/ref=sr_aps_b_/249-4245738-4019557#product-details
でForthを学んだんだけど絶版だろうね。
古本屋か図書館で探すしかないと思われ。
英語でも良ければ、
http://home.iae.nl/users/mhx/sf.html
ここのChapter 1から順に読んでいくのがオススメ。

62 :
懲りずに第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 :
Mindって分家?単に日本語で書けるForth?

64 :
MindはいろいろForthにない仕様があったので、
MindはForthから派生した別言語と考えても良いと思う。

65 :
ホント、人が居ない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 :
>>65
スマン、しばらく見てなかった。
>>56はwordの最後までを二回ってことだったか。
次のwordだけを、かと勘違いしてた。
って>>62はそう書いてるな。

67 :
>>66
>wordの最後までを二回ってことだったか。
わざと曖昧に書きますた。引っかけ問題のようなもので‥‥。

68 :

 浪なみ

69 :
age

70 :
mops for win 希望

71 :
やっぱ判りにくいよこれ。
LISPはわかったんだが。。。

72 :
慣れです。

73 :
よくわからないけど、
スタック2本あるんだよね?
あとWordとExcelが入っているとか、いないとか。
正直よくわからない。

74 :
それと、気になった事だけど、
>>65
人居ない、なんて連呼してると
ほんとに人いなくなるよ
もっと前向きに行こうよ

75 :
了解。

76 :
Chuck Mooreってチューリング賞もらってないよね?
threaded code発明したのってChuckでしょ?

77 :
チューリング賞のことは知らないが、
threaded code発明したはChuck Mooreです。

78 :
threaded codeってそんなに画期的なことなの?
Z80で言えば CD xx yy のCDを無くして、メモリ消費が約2/3になるってだけでしょ?

79 :
http://www.kt.rim.or.jp/~tyamamot/forthj/threaded-codej.html

80 :
コードが小さくて速いので多くのVMがthreaded codeを採用している。
昔のプロセッサでは、アセンブリで書いたコードよりもForthのコードの
方が速かったことさえあるという。(伝説)

81 :
速いのはいいんだけど、
コード読み書きがしんどいと思わない?
変数とかあまり使わないみたいだから、
フローを初めから追っていく必要あるし。
結局この言語もライブラリ次第かなと思った。

82 :
逆ポーランドをむしろ好む人々も結構な数おりますが、
Stack Juggling がコードを読みにくくするという人も
います。
Forthコードの見通しを良くするには、他の言語よりも
かなり小さな単位でワードを定義するのがよろしいかと。
極端な話、1ワードはせいぜい5行までで記述し、
10行を超えるワードは分割すべきであるとか。
スタックコメントを活用し、小さなTestを繰り返し
ながらボトムアップにくみ上げていくと意外に、
スタックだけで問題解決できていたりします。

83 :
無限ループから抜け出す方法はありますか?
begin...againだと抜け出せないみたいなのですけど。

84 :
>>83
ループ部分をワードに切り出してexitでワードごと抜けてください。

85 :
電脳書房の新着案内で「標準 FORTH」入ったっていうから見に行ったら
もうsold outですた。はやッ!
ちなみに漏れが持ってるFORTH本は「パソコンユーザのためのFORTH入門」
(A.ウィンフィールド著 寺島元章訳 1986年初版)
薄いけど、なかなか渋い良い本です。
ちょっと前まであまりなかったlisp本やsmalltalk本も最近は沢山でてるのにな。
forth本も出版してほしい。

86 :
dayone

87 :
昔からPostscriptが有名なんだからいいんじゃ

88 :
ぜんぜん関係ないけどAdobeて最初聞いた時
病気の名前かと思った

89 :
FORTHは、なんか団体が弱いイメージがある。
Adobeが中心になって盛り上げるかしれ。
AdobeってFORTH系言語で一番儲けてる会社だろ?

90 :
AdobeのPostScriptって、FORTHとは似て非なる言語と聞きましたが。
(詳細はわからないです。ゴメソ)
団体が弱いっつーか、なんつーか、
「コアなマニアは熱狂的にFORTHを支持している」って噂は良く聞くけど、
その「コアなマニア」って一体ドコにいるのよ? って感じですね。
ググっても、今でも熱心にFORTHやってるサイト見つからないんですよね。
(数年全然更新されていないサイトとかは結構見つかる)

91 :
マニアたちはcomp.lang.forthに巣食ってますが、
web siteは寒い状況。

92 :
>>41
ムーアさんの思想詳細希望

93 :
>>90
gforthとか、ベンチマークサイトで活躍してるとこぐらいしか見たことないね。
やっぱ、Schemeに対するSICPや、Perlのラクダ本みたいな有名所の良書が必要なのか。
それとも英雄が必要なのか。

94 :
>>93
いい本があると、かなり違うかもね。

95 :
>>92
ttp://www.kt.rim.or.jp/~tyamamot/forth/c4th.html
しかしムーアタソは変なものを作るねぇ。
ttp://www.kt.rim.or.jp/~tyamamot/forth/c4th.html

96 :
下のリンクは間違い。
正しくは、ttp://www.eforth.com.tw/academy/chips/mup.htm

97 :
俺の思うForthの偉い人
Chuck Moore
http://www.colorforth.com/
M. Anton Ertl
http://www.complang.tuwien.ac.at/projects/forth.html
Bernd Paysan
http://www.jwdt.com/~paysan/index.html
Mike Hore
http://www.powermops.org/

98 :
遥か昔のByte誌でForth特集をやってるんですね
http://www.colorforth.com/byte.htm

99 :
Forthで書かれたCやJavaなんてナンセンス
------------同じ理由で---------------
CやJavaで書かれたForthなんてナンセンス!
Forthは問題の解決に役立つツールを素早く作れる
だからプロトタイピングにとても向いている
GNU Forth? それはそれで結構だけれどね
小気味良く動く本来の持ち味は失われるだろう

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
【C++】マイナーGUIツールキット
【漏れは】猫でもわかる質問スレ【猫以下です】
【ねらーの】HSPで人工知能を作るスレ【意地】
Tapestryについて語ろうよ!