実に簡素で危険で強力だ。
貧者の言語だな。
俺にふさわしい。
0852デフォルトの名無しさん2017/09/05(火) 22:07:51.16ID:jOSE+tCs
俺も見てるよ
0855デフォルトの名無しさん2017/09/17(日) 21:34:39.86ID:ozIOAGyP
age
これまで全く気にしたことないけど、forthって動的にリンクするライブラリの類は存在するの?
0857デフォルトの名無しさん2017/09/19(火) 17:19:50.82ID:xxOzXrDl
OPT
いま処理系書いているわけどすよ
古典的なディクショナリに含まれる変数領域(エントリのitcならpfバイトコードならcf)って実行時書き込みが必要だからrom化できないよね?
ディクショナリをromに組み込む時どのようにしたらいいの?
?単にリンク時に再配置すればよいのではないだろうか
0860デフォルトの名無しさん2017/11/18(土) 00:00:24.25ID:u5vhQC2r
age
0862デフォルトの名無しさん2018/02/03(土) 09:42:57.30ID:qWVkS+Es
やってみ
0863デフォルトの名無しさん2018/05/23(水) 20:31:13.02ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
96NO5
0865デフォルトの名無しさん2018/07/04(水) 22:35:26.93ID:gFgZc5FG
SQU
0867デフォルトの名無しさん2018/12/08(土) 12:02:33.98ID:FYXcP+Xf
初心者ですがthinking forth読んでます。
さっそく詰まりました。
: + BL WORD NUMBER DROP ;
で+を再定義すると中置記法で3 + 4できるとあり、確かに7が得られるのですが、
どうしてそうなるのか分かりません。
(別に中置記法で書きたいわけではありません)
BLが(ボーイズラブではなく)空白の文字コード、
WORDがアドレスを得る、
DROPは . と同じですよね?
NUMBERがポイントなのでしょうが…
どなたか解説してくれませんか?
0868デフォルトの名無しさん2018/12/08(土) 14:44:25.82ID:mtUDrJjH
>>867
昔々にFORTHをほんのちょっとかじっただけの通りすがりだけど、最後に + が
抜けとるよね。
: + BL WORD NUMBER DROP + ;
その抜けとる(再定義前の後置記法で加算する)+ に 3 4を渡して
3 4 +
をさせるために4をスタックに積むことをさせとるんだと思う。
空白で区切られた”4”を取ってきて、数字に換えてスタックに乗せといて(元々
の) + に渡たしてる、かな。
. は 印刷で、DROPはスタックから一つ捨てるのような。
ていうか、そこ読んでる時点ではわからんでもいいのでは。 0870デフォルトの名無しさん2018/12/26(水) 20:16:53.64ID:v8erlN15
>>267
この事情おしえて!
できるんなら全部後置がいいと思ってた。
どんななるほどな理由があるんだろう? ; とか UNTIL のように可変長引数を扱うには先頭に目印が必要になるね。
>>265がちぐはぐと言っているのがどれのことなのかはわからんが。 0872デフォルトの名無しさん2018/12/26(水) 21:40:46.64ID:v8erlN15
じゃあ1足して2掛けるワードhogeの定義は
: hoge 1 + 2 * ;(hogeとは:1を足して2で掛けることである)
だけど別に
: 1 + 2 * hoge ;(1を足して2で掛けることをhogeとする)
とか
: 1 + 2 * ; ." hoge" def(1を足して2で掛けることを"hoge"という名前で定義する)
みたいな文法もあり得たのかな?
本体、定義するワードの識別子名
という並びではなく、
定義するワードの識別子名、本体
の並びなのは、何かの事情があっての必然なのか、たまたまなのか、それが知りたいです。
機能的にはどっちでも可能だろうけど、人が書くコードとしては識別子を前に置く方が
わかりやすいからじゃないかと思う。
あと、ディクショナリに登録する際に : からスタックトップ方向にスキャンするなら
識別子が後ろに置かれると一つ先読みが必要になってちょっと面倒くさい。
forthって人の都合よりコンピュータの都合優先みたいなイメージだったので人の読みやすさのためだったとしたら意外でした。
後半は納得しました。そうかそれでか…
ありがとうございました。
0875デフォルトの名無しさん2018/12/27(木) 09:49:16.14ID:0qVX2+Xi
>>872
昔の貧弱なメモリとCPUでコンパイラ作るんだから
文法優先じゃなくてコンパイラの事情優先でそうなんだろ 0876デフォルトの名無しさん2019/06/19(水) 04:58:42.00ID:tVNS+22r
0877デフォルトの名無しさん2019/07/05(金) 18:14:54.04ID:E00Aj00V
8年と半年掛かって>>624の言ってる事がようやくわかった。
ここの人って、何周か回っちゃってFORTHに行き着いてるんだね。
いや、SECDマシンってFORTHそっくりじゃん?!と書きに来ました。
では、また・・・。 0878デフォルトの名無しさん2019/08/28(水) 00:27:04.68ID:1gWoA2G/
0879デフォルトの名無しさん2019/08/28(水) 01:40:32.21ID:azl3m+0S
紙屑ωωω
Oforth使ってる人いますか?
なんとなくSmalltalkぽいですね
apt のgforth.73使ってたんだけどアップデしたらメチャクチャ快適になった…
色付くわhelpコマンド付くわでしゅごい
>>816
このurl、forthで検索するとあちこちに見掛けるんだけど閉鎖しちゃったのかな
waybackにもgoogle cacheにも残ってない… 0886デフォルトの名無しさん2021/01/04(月) 15:05:51.77ID:VbZ6KZlq
技術的というより哲学っぽいので敬遠してたthinking forth今更読んだけど代名詞の言語というのがしっくり来た
どんな言語でもちゃんと書かれれば最上層のコード派読みやすいけどForthがとりわけ読みやすいのはこれだよな
最下層はほとんどアセンブラなのにこの極端性よ
でもスタックイジイジするのパズルみたいでめちゃくちゃ楽しいんだよなあ、くやしい…
もはや(8ビット)PCのためではなく(マニアックな)人間のための言語。
久々に書き込みあったと思えば
あけおめ!
今どきforthは趣味だろうけど良い趣味だよ
あとAndroid版のgforthは関数電卓代わりに毎日使ってる
今勉強中だけどおもしろい
しかしパーシングワードはどうにかならんかったのか
定義の底に埋もれたnameが解釈時に吸い込んだりするのが文脈飛んで分かりにくい…
psみたいに/name {code} exch def方式のほうが一貫性あったのではないか
FORTHへの招待って古い本買ったんだけど、PICK/ROLLのindexが1始まりだったり、今の処理系と結構違うよね
長々とハードの話から始まり機能紹介までで終わってて、具体的なコーディングテクニックまでたどり着いてない…
モダンでオススメな本ってあるかな
初学者だけど
まあレトロなところに惹かれたのは否定できないな
有名な"FORTH思考"とか、一般プログラミング作法の啓蒙書としては素晴らしい
ブロックの章立ての章とかよく考えさせられる、まあ実ファィルに置き換えて写経してるけど
古の8bit機みたいな小さいマシンでnextルーチン書くところから始めてみたい