2 part forthat TECH
2 part forth - 暇つぶし2ch874:デフォルトの名無しさん
18/12/08 12:02:33.98 FYXcP+Xf.net
初心者ですがthinking forth読んでます。
さっそく詰まりました。
: + BL WORD NUMBER DROP ;
で+を再定義すると中置記法で3 + 4できるとあり、確かに7が得られるのですが、
どうしてそうなるのか分かりません。
(別に中置記法で書きたいわけではありません)
BLが(ボーイズラブではなく)空白の文字コード、
WORDがアドレスを得る、
DROPは . と同じですよね?
NUMBERがポイントなのでしょうが…
どなたか解説してくれませんか?

875:デフォルトの名無しさん
18/12/08 14:44:25.82 mtUDrJjH.net
URLリンク(books.google.co.jp)
URLリンク(www.nicholson.com)
URLリンク(www.forth.com)
URLリンク(www.forth.com)
URLリンク(galileo.phys.virginia.edu)

876:デフォルトの名無しさん
18/12/19 17:23:11.16 +/rbvZbE.net
>>874
昔々にFORTHをほんのちょっとかじっただけの通りすがりだけど、最後に + が
抜けとるよね。
: + BL WORD NUMBER DROP + ;
その抜けとる(再定義前の後置記法で加算する)+  に 3 4を渡して 
3 4 + 
をさせるために4をスタックに積むことをさせとるんだと思う。
空白で区切られた”4”を取ってきて、数字に換えてスタックに乗せといて(元々
の) + に渡たしてる、かな。
. は 印刷で、DROPはスタックから一つ捨てるのような。

ていうか、そこ読んでる時点ではわからんでもいいのでは。

877:デフォルトの名無しさん
18/12/26 20:16:53.64 v8erlN15.net
>>267
この事情おしえて!
できるんなら全部後置がいいと思ってた。
どんななるほどな理由があるんだろう?

878:デフォルトの名無しさん
18/12/26 21:18:44.18 Sasn9R68.net
; とか UNTIL のように可変長引数を扱うには先頭に目印が必要になるね。
>>265がちぐはぐと言っているのがどれのことなのかはわからんが。

879:デフォルトの名無しさん
18/12/26 21:40:46.64 v8erlN15.net
じゃあ1足して2掛けるワードhogeの定義は
: hoge 1 + 2 * ;(hogeとは:1を足して2で掛けることである)
だけど別に
: 1 + 2 * hoge ;(1を足して2で掛けることをhogeとする)
とか
: 1 + 2 * ; ." hoge" def(1を足して2で掛けることを"hoge"という名前で定義する)
みたいな文法もあり得たのかな?
本体、定義するワードの識別子名
という並びではなく、
定義するワードの識別子名、本体
の並びなのは、何かの事情があっての必然なのか、たまたまなのか、それが知りたいです。

880:デフォルトの名無しさん
18/12/26 22:58:21.72 Sasn9R68.net
機能的にはどっちでも可能だろうけど、人が書くコードとしては識別子を前に置く方が
わかりやすいからじゃないかと思う。
あと、ディクショナリに登録する際に : からスタックトップ方向にスキャンするなら
識別子が後ろに置かれると一つ先読みが必要になってちょっと面倒くさい。

881:デフォルトの名無しさん
18/12/27 01:01:36.58 KLGborwt.net
forthって人の都合よりコンピュータの都合優先みたいなイメージだったので人の読みやすさのためだったとしたら意外でした。
後半は納得しました。そうかそれでか…
ありがとうございました。

882:デフォルトの名無しさん
18/12/27 09:49:16.14 0qVX2+Xi.net
>>879
昔の貧弱なメモリとCPUでコンパイラ作るんだから
文法優先じゃなくてコンパイラの事情優先でそうなんだろ

883:デフォルトの名無しさん
19/06/19 04:58:42.00 tVNS+22r.net
【出資】松本卓朗 人工知能詐欺【注意】
スレリンク(rikei板)

884:デフォルトの名無しさん
19/07/05 18:14:54.04 E00Aj00V.net
8年と半年掛かって>>624の言ってる事がようやくわかった。
ここの人って、何周か回っちゃってFORTHに行き着いてるんだね。
いや、SECDマシンってFORTHそっくりじゃん?!と書きに来ました。
では、また・・・。

885:デフォルトの名無しさん
19/08/28 00:27:04.68 1gWoA2G/.net
URLリンク(ja.m.wikipedia.org)
でも触れられている、ムーアが間接スレッデッドコードの発明について述べたというバイト誌のForth特集、なんと今ではWebで読めちゃうw
当時の誌面のスキャン。なんと当時の誌面広告もノーカットw
URLリンク(archive.org)
さらに親切なことにフルテキストまで公開されてる。
URLリンク(archive.org)
興味のある方、ぜひ一読を。

886:デフォルトの名無しさん
19/08/28 01:40:32.21 azl3m+0S.net
紙屑ωωω

887:デフォルトの名無しさん
19/08/28 07:19:51.77 iwi2TSA5.net
>>885
ムーア御大の直々の解説か

888:デフォルトの名無しさん
20/04/15 15:05:18 SXQ2sjzm.net
Oforth使ってる人いますか?
なんとなくSmalltalkぽいですね

889:デフォルトの名無しさん
20/11/28 11:39:10.89 Gr5a9V0P.net
apt のgforth.73使ってたんだけどアップデしたらメチャクチャ快適になった…
色付くわhelpコマンド付くわでしゅごい

890:デフォルトの名無しさん
20/11/29 08:16:26.52 sDMgzk6G.net
>>889
この言語で何作ってる?

891:デフォルトの名無しさん
20/11/29 20:10:16.85 JzQZ+ZwM.net
インスピレーションを得てるよ()

892:デフォルトの名無しさん
21/01/04 10:36:47.94 62MOX0QC.net
>>821
このurl、forthで検索するとあちこちに見掛けるんだけど閉鎖しちゃったのかな
waybackにもgoogle cacheにも残ってない…

893:デフォルトの名無しさん
21/01/04 15:05:51.77 VbZ6KZlq.net
>>892
>waybackにもgoogle cacheにも残ってない…
URLリンク(web.archive.org)

894:デフォルトの名無しさん
21/01/04 18:39:50.21 VbR1j+mv.net
>>893
使い方が悪かったのかも!ありがとう!

895:デフォルトの名無しさん
21/03/11 07:45:30.66 ifNxw6Pa.net
技術的というより哲学っぽいので敬遠してたthinking forth今更読んだけど代名詞の言語というのがしっくり来た
どんな言語でもちゃんと書かれれば最上層のコード派読みやすいけどForthがとりわけ読みやすいのはこれだよな
最下層はほとんどアセンブラなのにこの極端性よ

896:デフォルトの名無しさん
21/03/11 07:58:59.35 ifNxw6Pa.net
でもスタックイジイジするのパズルみたいでめちゃくちゃ楽しいんだよなあ、くやしい…

897:デフォルトの名無しさん
21/08/23 12:03:08.07 YpDpq+5R.net
もはや(8ビット)PCのためではなく(マニアックな)人間のための言語。

898:デフォルトの名無しさん
22/01/01 09:37:17.88 6v4FYv8q.net
あけおめ!

899:デフォルトの名無しさん
22/01/10 20:06:51.30 Ge4oCWB3.net
久々に書き込みあったと思えば
あけおめ!
今どきforthは趣味だろうけど良い趣味だよ
あとAndroid版のgforthは関数電卓代わりに毎日使ってる

900:デフォルトの名無しさん
22/05/16 14:09:01.58 /9w+5JsX.net
保守

する価値がまだあるだろうか

901:デフォルトの名無しさん
22/05/17 10:45:03 u8alpQJv.net
今勉強中だけどおもしろい

しかしパーシングワードはどうにかならんかったのか
定義の底に埋もれたnameが解釈時に吸い込んだりするのが文脈飛んで分かりにくい…
psみたいに/name {code} exch def方式のほうが一貫性あったのではないか

902:デフォルトの名無しさん
22/05/17 10:55:12 u8alpQJv.net
FORTHへの招待って古い本買ったんだけど、PICK/ROLLのindexが1始まりだったり、今の処理系と結構違うよね
長々とハードの話から始まり機能紹介までで終わってて、具体的なコーディングテクニックまでたどり着いてない…

モダンでオススメな本ってあるかな

903:デフォルトの名無しさん
22/05/19 08:44:16.13 13z7p19v.net
モダンなFORTHなど存在しない!

904:デフォルトの名無しさん
22/05/20 15:21:07.51 B9Pct0M/.net
初学者だけど
まあレトロなところに惹かれたのは否定できないな
有名な"FORTH思考"とか、一般プログラミング作法の啓蒙書としては素晴らしい
ブロックの章立ての章とかよく考えさせられる、まあ実ファィルに置き換えて写経してるけど

905:デフォルトの名無しさん
24/01/01 09:03:44.52 MIyexYoQ.net
あけおめ!

906:デフォルトの名無しさん
24/01/21 09:24:04.48 rroAgTgL.net
古の8bit機みたいな小さいマシンでnextルーチン書くところから始めてみたい

907:デフォルトの名無しさん
24/05/04 06:00:27.59 +DAXDwQe.net
標準FORTHが国会図書館のサイトで読めるようになってる(要登録
URLリンク(dl.ndl.go.jp)
他にも古い本が色々見られるようになったっぽい。

908:デフォルトの名無しさん
24/05/05 14:45:30.58 Fv0JPqsX.net
読もう。持ってたのは昔無くした


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch