X



2 part forth
0001デフォルトの名無しさん
垢版 |
NGNG
第四世代
0003デフォルトの名無しさん
垢版 |
NGNG
hoshu
0004デフォルトの名無しさん
垢版 |
NGNG
ほっしゅ
つーか誰もいねえな
0005デフォルトの名無しさん
垢版 |
NGNG
いまや衰退してしまった FORTH に対してムーアが、
── FORTH にすまないことをした。あやまらなくてはならない。
と、しんみり言った言葉が胸を打つ。

林 晴比古 著、オペラ座のパソコン、初版 P.123







作成者がこう言ってるんだから、もう終了でいいんじゃない ?
0008デフォルトの名無しさん
垢版 |
NGNG
一時期興味があったが冷めてしまったなぁ。今は関数型言語が楽しい。
何か面白い話題でもあると良いんだけど。
0010デフォルトの名無しさん
垢版 |
NGNG
forthの特徴は関数型とか述語記述とかそういう次元の話ではなくて
ただ単に逆ポーランド表記である と見た場合、そこに新たにオブジェクト指向だとか
いろいろな概念を付け加えるのは案外容易なのかなと考えているのですがどうだろうか
0013デフォルトの名無しさん
垢版 |
NGNG
ASCIIに載ってたFORTHの変種なんだけど、よく覚えてない。
リストが扱えるようになってたような気がする。
0014デフォルトの名無しさん
垢版 |
NGNG
ふむ…。
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とかなり親和性が高い様な気がするなあ
0017デフォルトの名無しさん
垢版 |
NGNG
着手 age
0020デフォルトの名無しさん
垢版 |
NGNG
誰か助けてヨ
0023デフォルトの名無しさん
垢版 |
NGNG
ttp://directory.google.com/Top/Computers/Programming/Languages/Forth/
を巡っております。
ttp://webdev.amsystech.com/mlosh/
ここのソースを参考にして処理系作ろうかと思案中。
0024デフォルトの名無しさん
垢版 |
NGNG
hoth
0025デフォルトの名無しさん
垢版 |
NGNG
forthはおもしろい言語だとは思うんだが、
何に使うかが問題だよね。
自作アプリにスクリプトを付けるなんて用途には最適かもね。
コアな部分がCで数十ライン、デフォルトのワードを100個内蔵しても
1Kラインで済んだし。
0026デフォルトの名無しさん
垢版 |
NGNG
ユーザに書かせるスクリプトじゃなくて、内部で処理するバイトコードが
FORTH系ってのは結構あるんじゃないかと。
処理系の高機能化と簡素化を両立する手段のひとつとして。
0027デフォルトの名無しさん
垢版 |
NGNG
>>14のttp://www.kt.rim.or.jp/〜tyamamot/forth/c4th.htmlは
ちょっと電波臭いけど面白いと思う。
0032デフォルトの名無しさん
垢版 |
NGNG
>>29
アップした。
homepage.mac.com/holythunderforce/FileSharing1.html
0034デフォルトの名無しさん
垢版 |
NGNG
むか〜し、MZ80でForthを走らせてたのを思い出した。懐かしい
0035デフォルトの名無しさん
垢版 |
NGNG
どっか上げられるウプローダ知らない?
003629
垢版 |
NGNG
ダウソできたよ
0037デフォルトの名無しさん
垢版 |
NGNG
盛り上がらねーな
0038デフォルトの名無しさん
垢版 |
NGNG
ホッ種
0039デフォルトの名無しさん
垢版 |
NGNG
>>28
JVMってJavaのVMのこと?
ありゃFORTHとはぜんぜん違うよ。

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

ハックできなそう。つか、できない。
つまらん、と思ってJavaの勉強やめた。
0041デフォルトの名無しさん
垢版 |
NGNG
ムーアさんの思想とはかけはなれてるな
0043デフォルトの名無しさん
垢版 |
NGNG
>>11
ラプラスって、確かLisp+Forthだったみたいだけど、ちゃんと読む前にアスキーを捨てられて詳細が解らんです。でも確かに有りました。私も詳細が知りたい。
0044デフォルトの名無しさん
垢版 |
NGNG
マジでforthで何かつくりたいんだけど、
何かネタないかね。

40が言うようにエディタ?
0045デフォルトの名無しさん
垢版 |
NGNG
仕様書
FORTHコンパイラを内蔵し、それ自体がFORTH実行環境であり
FORTHにより拡張可能なエディタ。
仮想敵をEmacsとし、Emacsで可能なことはすべて実現させることを
最終目標とする。
ただしキーバインドはWordStar準拠とする。

あとはよろしく
0050デフォルトの名無しさん
垢版 |
NGNG
>>48
LispとForthはToyプログラム的な処理系も含めると星の数ほど
あるからねぇ。Prologは知らないけれど。
ForthのOO拡張もいっぱいあるけど、forth好きな人には、
わずかなメモリの無駄や、実行速度のオーバーヘッドも
許せないってタイプが多い気がする。
(そして、やりすぎるとColorForthになる。。。)

>>49
速度もマンセーだが、マクロと同等以上の、
抽象化能力を持つForthマンセー。
メタプログラミングマンセー。

0051デフォルトの名無しさん
垢版 |
NGNG
>>50
基本的には同意なんだが。マクロと同等以上というほどメタプログラミング
的には勝ってないような…。昔 LISPer と競った経験から言うと、効率では
勝てると思うけど、記号処理(構文解析とか)入ってくると分が悪いと思われ。
FORTH ライク構文なら無敵だと思うけど。
0052デフォルトの名無しさん
垢版 |
NGNG
>>51
そうかな?「マクロ以上」は言い過ぎかもしれないけど、
>>49の多重ループの展開なんかは、マクロ並みの
抽象化だと思うけどな。
0054デフォルトの名無しさん
垢版 |
NGNG
話題少ないし、おまいら、クイズで楽しみませんか?

第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 )

を定義すれ。
005854-56
垢版 |
NGNG
>>57
2dup、3dup、お見事っす。

>>56はimmediateを使うという解答もアリですが、
immediateを使わないちょっとトリッキーだけど
もっとシンプルな方法があります。
0059デフォルトの名無しさん
垢版 |
NGNG
人少ないなぁ。

第4問

: AA reverse ." AA" ;

: BB AA ." BB" ;

: CC BB ." CC" ;

でCCを実行すると

CCBBAA

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

‥‥‥実はコレ第3問のヒントだったりする。

0060デフォルトの名無しさん
垢版 |
NGNG
Forth のお勧め本ってどんなのありますか?


最近RPNに萌えてます。
HPの電卓欲しくなっちゃった。
0062デフォルトの名無しさん
垢版 |
NGNG
懲りずに第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問は基本的に同じカラクリ、というのがヒント。
0064デフォルトの名無しさん
垢版 |
NGNG
MindはいろいろForthにない仕様があったので、
MindはForthから派生した別言語と考えても良いと思う。
0065_| ̄|○
垢版 |
NGNG
ホント、人が居ない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 ;

‥‥リターンスタックをいじるとヘンなことができて面白いよね。
‥‥‥‥‥。
_| ̄|○


0066デフォルトの名無しさん
垢版 |
NGNG
>>65
スマン、しばらく見てなかった。
>>56はwordの最後までを二回ってことだったか。
次のwordだけを、かと勘違いしてた。
って>>62はそう書いてるな。
0069デフォルトの名無しさん
垢版 |
NGNG
age
0070デフォルトの名無しさん
垢版 |
NGNG
mops for win 希望
0073デフォルトの名無しさん
垢版 |
NGNG
よくわからないけど、
スタック2本あるんだよね?
あとWordとExcelが入っているとか、いないとか。
正直よくわからない。
0074デフォルトの名無しさん
垢版 |
NGNG
それと、気になった事だけど、
>>65
人居ない、なんて連呼してると
ほんとに人いなくなるよ
もっと前向きに行こうよ
0076デフォルトの名無しさん
垢版 |
NGNG
Chuck Mooreってチューリング賞もらってないよね?
threaded code発明したのってChuckでしょ?
0078デフォルトの名無しさん
垢版 |
NGNG
threaded codeってそんなに画期的なことなの?
Z80で言えば CD xx yy のCDを無くして、メモリ消費が約2/3になるってだけでしょ?
0080デフォルトの名無しさん
垢版 |
NGNG
コードが小さくて速いので多くのVMがthreaded codeを採用している。
昔のプロセッサでは、アセンブリで書いたコードよりもForthのコードの
方が速かったことさえあるという。(伝説)
0081デフォルトの名無しさん
垢版 |
NGNG
速いのはいいんだけど、
コード読み書きがしんどいと思わない?
変数とかあまり使わないみたいだから、
フローを初めから追っていく必要あるし。
結局この言語もライブラリ次第かなと思った。
0082デフォルトの名無しさん
垢版 |
NGNG
逆ポーランドをむしろ好む人々も結構な数おりますが、
Stack Juggling がコードを読みにくくするという人も
います。
Forthコードの見通しを良くするには、他の言語よりも
かなり小さな単位でワードを定義するのがよろしいかと。
極端な話、1ワードはせいぜい5行までで記述し、
10行を超えるワードは分割すべきであるとか。
スタックコメントを活用し、小さなTestを繰り返し
ながらボトムアップにくみ上げていくと意外に、
スタックだけで問題解決できていたりします。

0083デフォルトの名無しさん
垢版 |
NGNG
無限ループから抜け出す方法はありますか?
begin...againだと抜け出せないみたいなのですけど。
0085デフォルトの名無しさん
垢版 |
NGNG
電脳書房の新着案内で「標準 FORTH」入ったっていうから見に行ったら
もうsold outですた。はやッ!
ちなみに漏れが持ってるFORTH本は「パソコンユーザのためのFORTH入門」
(A.ウィンフィールド著 寺島元章訳 1986年初版)
薄いけど、なかなか渋い良い本です。

ちょっと前まであまりなかったlisp本やsmalltalk本も最近は沢山でてるのにな。
forth本も出版してほしい。
0086デフォルトの名無しさん
垢版 |
NGNG
dayone
0089デフォルトの名無しさん
垢版 |
NGNG
FORTHは、なんか団体が弱いイメージがある。
Adobeが中心になって盛り上げるかしれ。
AdobeってFORTH系言語で一番儲けてる会社だろ?
0090デフォルトの名無しさん
垢版 |
NGNG
AdobeのPostScriptって、FORTHとは似て非なる言語と聞きましたが。
(詳細はわからないです。ゴメソ)

団体が弱いっつーか、なんつーか、
「コアなマニアは熱狂的にFORTHを支持している」って噂は良く聞くけど、
その「コアなマニア」って一体ドコにいるのよ? って感じですね。
ググっても、今でも熱心にFORTHやってるサイト見つからないんですよね。
(数年全然更新されていないサイトとかは結構見つかる)
0092デフォルトの名無しさん
垢版 |
NGNG
>>41
ムーアさんの思想詳細希望
0093デフォルトの名無しさん
垢版 |
NGNG
>>90
gforthとか、ベンチマークサイトで活躍してるとこぐらいしか見たことないね。
やっぱ、Schemeに対するSICPや、Perlのラクダ本みたいな有名所の良書が必要なのか。
それとも英雄が必要なのか。
0094デフォルトの名無しさん
垢版 |
NGNG
>>93
いい本があると、かなり違うかもね。
0095デフォルトの名無しさん
垢版 |
NGNG
>>92
ttp://www.kt.rim.or.jp/~tyamamot/forth/c4th.html

しかしムーアタソは変なものを作るねぇ。
ttp://www.kt.rim.or.jp/~tyamamot/forth/c4th.html
009695
垢版 |
NGNG
下のリンクは間違い。
正しくは、ttp://www.eforth.com.tw/academy/chips/mup.htm
0099デフォルトの名無しさん
垢版 |
NGNG
Forthで書かれたCやJavaなんてナンセンス
------------同じ理由で---------------
CやJavaで書かれたForthなんてナンセンス!

Forthは問題の解決に役立つツールを素早く作れる
だからプロトタイピングにとても向いている

GNU Forth? それはそれで結構だけれどね
小気味良く動く本来の持ち味は失われるだろう
0100デフォルトの名無しさん
垢版 |
NGNG
ANS/ISO標準化は結局のところ草の根Forth処理系を淘汰することにしか役に立たなかった
標準化で潤うのはForth社であり、開発効率が上がると考えた大企業、陸海空軍
やがて草の根の支持を失ったForthは全く廃れた・・・と少なからず思われているようだ

http://www.forth.com/Content/Clients.htm
レスを投稿する


ニューススポーツなんでも実況