- 1 名前:デフォルトの名無しさん [04/01/10 03:45.net]
- 第四世代
- 809 名前:デフォルトの名無しさん mailto:sage [2016/04/13(水) 21:48:47.74 ID:eHTpuWMC.net]
- >>808
なんだそりゃ!? 相も変わらずFORTHコミュニティは我が道を逝くな(藁('A`)
- 810 名前:デフォルトの名無しさん mailto:sage [2016/04/14(木) 01:11:18.38 ID:FsF2j7W4.net]
- >>809
Use the forth Luke.ってくらいだしな
- 811 名前:デフォルトの名無しさん [2016/04/27(水) 03:12:26.27 ID:fW/sUK0/.net]
- FORTH社公式サイトなんかモダンな感じにリニューアルされているぞ
- 812 名前:デフォルトの名無しさん mailto:sage [2016/04/28(木) 06:46:01.82 ID:6C4hGrzb.net]
- ほんまや…
つか、キャッチ見る感じFPGA対応とかやってっぽい?
- 813 名前:デフォルトの名無しさん mailto:sage [2016/04/29(金) 00:42:56.46 ID:T+fk1/ws.net]
- それに比べMPEときたら。。。
- 814 名前:デフォルトの名無しさん mailto:sage [2016/04/30(土) 13:33:33.16 ID:+u6TG0xk.net]
- >>812
なにをもって対応というのか知らんがFPGAを使ったソリューションはあるね
- 815 名前:デフォルトの名無しさん [2016/05/03(火) 01:28:59.09 ID:3SS4lwd4.net]
- XTがImmediateかどうか調べるワードってある?
- 816 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 13:54:49.01 ID:nk6XRDP5.net]
- >>814
forthでfpgaの回路組めるとかだったら面白いなw
- 817 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 02:21:23.49 ID:FS8HTadE.net]
- いま逆ポーランド記法で書ける正規表現エンジンを作ろうか考えているんだけどAB*C|こんな感じにね
もうすでにあったりするんだろうか?あForth上でね?教材としてあるのは知っているから Forthのもつ動的コンパイルを利用することで高移植性のJITエンジンが実装できると思ってね ( 自らをコンパイルすることができる言語はこういったスクリプトやインタプリタを移植性を保ったまま簡単に高速化できるところが素晴らしいよね) エグって呼んで〜
- 818 名前:デフォルトの名無しさん mailto:sage [2016/05/06(金) 02:23:03.98 ID:FS8HTadE.net]
- >>815
たぶん標準ではないな 文字列ベースならFINDがあるんだけどね
- 819 名前:デフォルトの名無しさん mailto:sage [2016/05/31(火) 01:39:08.36 ID:NOiY1sCF.net]
- forthに足りないのはコマンド言語だ。
forthのプロシージャー呼び出しはすべてディクショナリ内に限られるため外部プログラムを効率よく利用できない。 シェルスクリプトのように外部forthプログラムをうまく呼び出す機構があればいいが。。。 スタックをパイプのようにプログラムで共有するとおもしろいかもしれない。
- 820 名前:デフォルトの名無しさん [2016/10/07(金) 16:43:56.85 ID:oA26EQDq.net]
- gforthで実数演算たとえば、
1.0 +2.0 の様なものをしたいのですが、 1.0e0 2.0e0 + . としても 1.0e0 2.0e0 f+ . としても結果が得られません。 実数演算はどうすればいいのでしょうか。 ご教示お願いいたします。
- 821 名前:デフォルトの名無しさん mailto:sage [2016/10/07(金) 17:47:53.85 ID:ah4nbj/y.net]
- www.h7.dion.ne.jp/~samwyn/forth/gforth/Floating-Point-Tutorial.html
- 822 名前:デフォルトの名無しさん [2016/10/07(金) 19:28:13.23 ID:oA26EQDq.net]
- >>821
これは、読んだのですが、実例が初心者には敷居が高くて よく理解できません。 2.0 + 3..0 のような簡単な例を示した物は ないでしょうか。
- 823 名前:デフォルトの名無しさん [2016/10/07(金) 23:18:29.98 ID:oA26EQDq.net]
- >>822
結局、FACTORに乗り換えました。 こちらの方が判り易くて、すぐ実数演算(浮動小数点演算)ができるように なりました。
- 824 名前:デフォルトの名無しさん mailto:sage [2016/10/08(土) 01:43:58.77 ID:ID/gDwfMW]
- >1.0e0 2.0e0 f+ .
これの最後を 「.」ではなく「f. 」にすれば、おそらく望んだとおりの結果が得られるかと つまり、 1.0e0 2.0e0 f+ f.
- 825 名前:デフォルトの名無しさん mailto:sage [2016/10/08(土) 01:48:01.15 ID:ID/gDwfMW]
- わははw
- 826 名前:デフォルトの名無しさん mailto:sage [2016/10/09(日) 06:39:24.29 ID:pfNs/KcX.net]
- 週明け、ちょっと面白いforthの論文読めるかもしれない。
forthっていうより、その上に作られたkevoって風変わりなOOP言語のだけどさ。
- 827 名前:デフォルトの名無しさん mailto:sage [2016/10/17(月) 19:24:52.26 ID:HyFRmQUJ.net]
- >>820
その場合 . じゃなくて f.
- 828 名前:デフォルトの名無しさん [2016/11/06(日) 00:15:56.03 ID:RpZeQ9IA.net]
- Factorのチュートリアル分かりにくい。Racketを見習え
- 829 名前:デフォルトの名無しさん [2016/12/30(金) 20:20:02.53 ID:XiEG6f+8.net]
- もう2016年も終わりだな
- 830 名前: 【末吉】 【2等 10,000,000円】 mailto:sage [2017/01/01(日) 11:49:42.83 ID:wqx7ZaQB.net]
- .
- 831 名前:デフォルトの名無しさん mailto:sage [2017/01/03(火) 10:53:07.10 ID:KXR/d/nR.net]
- ことしもよろしく!
- 832 名前:デフォルトの名無しさん [2017/01/03(火) 12:26:49.35 ID:qzU7aiCI.net]
- >>830
2等おめ
- 833 名前:デフォルトの名無しさん mailto:sage [2017/02/04(土) 16:41:26.43 ID:6xXEHIbo.net]
- うんこ
話題ねーなー
- 834 名前:デフォルトの名無しさん [2017/02/04(土) 16:44:12.53 ID:e9aNESBj.net]
- あへ
- 835 名前:デフォルトの名無しさん mailto:sage [2017/02/05(日) 14:14:31.59 ID:nBEZPMY5.net]
- なんか話せ
- 836 名前:デフォルトの名無しさん mailto:sage [2017/02/28(火) 21:19:29.80 ID:5qIw+x2+.net]
- factor 1.0 マダー
- 837 名前:デフォルトの名無しさん mailto:sage [2017/03/03(金) 18:00:20.86 ID:3XbKihVE.net]
- うんやってみようとおもう。
ところで仕様書(規格書)はどこにあるんですかね?
- 838 名前:デフォルトの名無しさん [2017/03/03(金) 18:29:59.44 ID:IUFykjWp.net]
- >1- よめ
- 839 名前:デフォルトの名無しさん mailto:sage [2017/03/04(土) 00:48:33.45 ID:4xESmR76.net]
- >>838 わかんない
https://www.openfirmware.info/data/docs/dpans94.pdf これかな?
- 840 名前:デフォルトの名無しさん mailto:sage [2017/03/04(土) 01:07:38.10 ID:4xESmR76.net]
- www.forth.org/literature.html
こっち
- 841 名前:デフォルトの名無しさん [2017/03/04(土) 12:32:44.96 ID:GRvQ2lmz.net]
- >>782
まだ残ってたのか
- 842 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 11:16:21.17 ID:UVNX4qSu.net]
- みなさーん生きてますかー?
- 843 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 19:02:54.60 ID:Z+6yuhBz.net]
- いきとるぞー
純粋なforthは全然さわらずfactorばっかりだけどな あと組み込み機でTITもどきかなー
- 844 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 19:11:44.32 ID:UVNX4qSu.net]
- 次スレでは皆が胸を張れるように「スタック指向言語」「連鎖型言語」みたいなくくりにしよう!
- 845 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 02:27:49.55 ID:WA/rnyB6.net]
- >>844
forthだとスタックに積まれたオブジェクトに関数ってメッセージを送るって言うことだとおもうのだけど。 そういう単純な理解じゃ駄目なの? 言語レベルで隠蔽されていることを生で扱うって事で良いんじゃ無いの? Lispだと関数の呼び出しが括弧で括られいるから呼び出しの引数の扱いが閉じられているけど、forthの場合は関数が必要な分を消費するというか
- 846 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 09:11:34.40 ID:89iVo3+8.net]
- メッセージ?違う言語と勘違いしてそう
- 847 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 11:14:00.29 ID:wm/ZDuC6.net]
- コールスタックとforthのスタックは別物だよね。
- 848 名前:デフォルトの名無しさん mailto:sage [2017/04/05(水) 02:36:38.33 ID:9ywW0Xq5.net]
- >>847
2つあるんだよ、関数呼び出しの戻りアドレス用のスタックと別にもう一つあるんよ
- 849 名前:デフォルトの名無しさん [2017/04/05(水) 14:29:17.29 ID:+eJqUohN.net]
- アキュムレータ
- 850 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 00:06:23.90 ID:N954SJpH.net]
- forthがスタック指向であるようにアキュムレータ指向のプログラム言語というものは作れるのかな
- 851 名前:デフォルトの名無しさん mailto:sage [2017/04/11(火) 01:23:43.97 ID:Y8UBVT27.net]
- >>850
マジレスするとmacroありのassemblerじゃねぇの? macro80やslrasmでもできたぞ
- 852 名前:デフォルトの名無しさん mailto:sage [2017/04/15(土) 23:36:33.20 ID:bK+0/AQY.net]
- >>851
マクロだけでは構文は抽象化出来てもシステムとして抽象化しきれないと思うけど
- 853 名前:デフォルトの名無しさん mailto:sage [2017/04/16(日) 02:22:54.36 ID:GjRoh4Fn.net]
- 単に計算は常にAXを使うってだけなら特に面白みもなさそう
スタック無しでレジスタ無限ということなら……単に再帰呼び出し禁止なだけの普通の言語だよなあ
- 854 名前:デフォルトの名無しさん mailto:sage [2017/04/17(月) 06:41:15.22 ID:Oz2f+5Ln.net]
- >>852
ニクラウス・ヴィルトの言うところの条件分岐とか繰り返し構文はチョロく書けるよ>>macro80とslrasmとかのマクロアセンブラ つかmacro80とか8bit時代のあのメモリでよくやるわと思う。 forthスレっぽいネタだと昔(1981年の8月号だと思う)のCQ出版の記事でTITって言語があってこれがマクロアセンブラでforthを実装するって記事だったような?
- 855 名前:デフォルトの名無しさん [2017/07/19(水) 19:04:38.23 ID:IRmsE5AJ.net]
- 1 . 2 . 3 . 4 .
- 856 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 12:07:02.89 ID:BkdmOdbH.net]
- 実に簡素で危険で強力だ。
貧者の言語だな。 俺にふさわしい。
- 857 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 23:56:49.18 ID:sfrNKeHf.net]
- もうオレしかいないのか。。。。。
- 858 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 18:01:02.81 ID:XVvO50gB.net]
- 無いのはネタだよ
- 859 名前:デフォルトの名無しさん [2017/09/05(火) 22:07:51.16 ID:jOSE+tCs.net]
- 俺も見てるよ
- 860 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 12:34:34.16 ID:nQAnFQdT.net]
- 時々見に来てる
- 861 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 15:10:52.90 ID:p7vL1/ES.net]
- 点呼スレ
- 862 名前:デフォルトの名無しさん [2017/09/17(日) 21:34:39.86 ID:ozIOAGyP.net]
- age
- 863 名前:デフォルトの名無しさん mailto:sage [2017/09/18(月) 20:29:59.37 ID:lhUDwV9a.net]
- これまで全く気にしたことないけど、forthって動的にリンクするライブラリの類は存在するの?
- 864 名前:デフォルトの名無しさん [2017/09/19(火) 17:19:50.82 ID:xxOzXrDl.net]
- OPT
- 865 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 10:11:32.51 ID:jFJIQFdq.net]
- いま処理系書いているわけどすよ
古典的なディクショナリに含まれる変数領域(エントリのitcならpfバイトコードならcf)って実行時書き込みが必要だからrom化できないよね? ディクショナリをromに組み込む時どのようにしたらいいの?
- 866 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 08:39:42.67 ID:vQb8BZek.net]
- ?単にリンク時に再配置すればよいのではないだろうか
- 867 名前:デフォルトの名無しさん [2017/11/18(土) 00:00:24.25 ID:u5vhQC2r.net]
- age
- 868 名前:デフォルトの名無しさん mailto:sage [2018/02/02(金) 03:15:38.93 ID:ZCx6BMYx.net]
- 保★守
- 869 名前:デフォルトの名無しさん [2018/02/03(土) 09:42:57.30 ID:qWVkS+Es.net]
- やってみ
- 870 名前:デフォルトの名無しさん [2018/05/23(水) 20:31:13.02 ID:Au5e7VGg.net]
- 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 96NO5
- 871 名前:デフォルトの名無しさん mailto:sage [2018/06/04(月) 02:21:55.88 ID:qEnuCrwb.net]
- 本当に話題がないんですね
- 872 名前:デフォルトの名無しさん [2018/07/04(水) 22:35:26.93 ID:gFgZc5FG.net]
- SQU
- 873 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 12:19:01.04 ID:uTPDH9XV.net]
- 96NO5
- 874 名前:デフォルトの名無しさん [2018/12/08(土) 12:02:33.98 ID:FYXcP+Xf.net]
- 初心者ですがthinking forth読んでます。
さっそく詰まりました。 : + BL WORD NUMBER DROP ; で+を再定義すると中置記法で3 + 4できるとあり、確かに7が得られるのですが、 どうしてそうなるのか分かりません。 (別に中置記法で書きたいわけではありません) BLが(ボーイズラブではなく)空白の文字コード、 WORDがアドレスを得る、 DROPは . と同じですよね? NUMBERがポイントなのでしょうが… どなたか解説してくれませんか?
- 875 名前:デフォルトの名無しさん [2018/12/08(土) 14:44:25.82 ID:mtUDrJjH.net]
- https://books.google.co.jp/books?id=1AlWbXItiCYC&pg=PA111&lpg=PA111&ots=aekOu1m-uM&sig=V0gs7ufaMhDJsPDn6rT08XhStFY&ved=2ahUKEwjKgrCmt4_fAhUMfrwKHQQnBXEQ6AEwBXoECAkQAQ
www.nicholson.com/rhn/files/Tiny_BASIC_in_Forth.txt https://www.forth.com/starting-forth/10-input-output-operators/ https://www.forth.com/starting-forth/11-forth-compiler-defining-words/ galileo.phys.virginia.edu/classes/551.jvn.fall01/primer.htm
- 876 名前:デフォルトの名無しさん mailto:sage [2018/12/19(水) 17:23:11.16 ID:+/rbvZbE.net]
- >>874
昔々にFORTHをほんのちょっとかじっただけの通りすがりだけど、最後に + が 抜けとるよね。 : + BL WORD NUMBER DROP + ; その抜けとる(再定義前の後置記法で加算する)+ に 3 4を渡して 3 4 + をさせるために4をスタックに積むことをさせとるんだと思う。 空白で区切られた”4”を取ってきて、数字に換えてスタックに乗せといて(元々 の) + に渡たしてる、かな。 . は 印刷で、DROPはスタックから一つ捨てるのような。 ていうか、そこ読んでる時点ではわからんでもいいのでは。
- 877 名前:デフォルトの名無しさん [2018/12/26(水) 20:16:53.64 ID:v8erlN15.net]
- >>267
この事情おしえて! できるんなら全部後置がいいと思ってた。 どんななるほどな理由があるんだろう?
- 878 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 21:18:44.18 ID:Sasn9R68.net]
- ; とか UNTIL のように可変長引数を扱うには先頭に目印が必要になるね。
>>265がちぐはぐと言っているのがどれのことなのかはわからんが。
- 879 名前:デフォルトの名無しさん [2018/12/26(水) 21:40:46.64 ID: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 名前:デフォルトの名無しさん mailto:sage [2018/12/26(水) 22:58:21.72 ID:Sasn9R68.net]
- 機能的にはどっちでも可能だろうけど、人が書くコードとしては識別子を前に置く方が
わかりやすいからじゃないかと思う。 あと、ディクショナリに登録する際に : からスタックトップ方向にスキャンするなら 識別子が後ろに置かれると一つ先読みが必要になってちょっと面倒くさい。
- 881 名前:デフォルトの名無しさん mailto:sage [2018/12/27(木) 01:01:36.58 ID:KLGborwt.net]
- forthって人の都合よりコンピュータの都合優先みたいなイメージだったので人の読みやすさのためだったとしたら意外でした。
後半は納得しました。そうかそれでか… ありがとうございました。
- 882 名前:デフォルトの名無しさん [2018/12/27(木) 09:49:16.14 ID:0qVX2+Xi.net]
- >>879
昔の貧弱なメモリとCPUでコンパイラ作るんだから 文法優先じゃなくてコンパイラの事情優先でそうなんだろ
- 883 名前:デフォルトの名無しさん [2019/06/19(水) 04:58:42.00 ID:tVNS+22r.net]
- 【出資】松本卓朗 人工知能詐欺【注意】
https://rio2016.5ch.net/test/read.cgi/rikei/1560859403/
- 884 名前:デフォルトの名無しさん [2019/07/05(金) 18:14:54.04 ID:E00Aj00V.net]
- 8年と半年掛かって>>624の言ってる事がようやくわかった。
ここの人って、何周か回っちゃってFORTHに行き着いてるんだね。 いや、SECDマシンってFORTHそっくりじゃん?!と書きに来ました。 では、また・・・。
- 885 名前:デフォルトの名無しさん [2019/08/28(水) 00:27:04.68 ID:1gWoA2G/.net]
- https://ja.m.wikipedia.org/wiki/%E3%82%B9%E3%83%AC%E3%83%83%E3%83%87%E3%83%83%E3%83%89%E3%82%B3%E3%83%BC%E3%83%89#%E9%96%8B%E7%99%BA
でも触れられている、ムーアが間接スレッデッドコードの発明について述べたというバイト誌のForth特集、なんと今ではWebで読めちゃうw 当時の誌面のスキャン。なんと当時の誌面広告もノーカットw https://archive.org/details/byte-magazine-1980-08/page/n77 さらに親切なことにフルテキストまで公開されてる。 https://archive.org/stream/byte-magazine-1980-08/1980_08_BYTE_05-08_The_Forth_Language_djvu.txt 興味のある方、ぜひ一読を。
- 886 名前:デフォルトの名無しさん [2019/08/28(水) 01:40:32.21 ID:azl3m+0S.net]
- 紙屑ωωω
- 887 名前:デフォルトの名無しさん mailto:sage [2019/08/28(水) 07:19:51.77 ID:iwi2TSA5.net]
- >>885
ムーア御大の直々の解説か
- 888 名前:デフォルトの名無しさん mailto:sage [2020/04/15(水) 15:05:18 ID:SXQ2sjzm.net]
- Oforth使ってる人いますか?
なんとなくSmalltalkぽいですね
- 889 名前:デフォルトの名無しさん mailto:sage [2020/11/28(土) 11:39:10.89 ID:Gr5a9V0P.net]
- apt のgforth.73使ってたんだけどアップデしたらメチャクチャ快適になった…
色付くわhelpコマンド付くわでしゅごい
- 890 名前:デフォルトの名無しさん mailto:sage [2020/11/29(日) 08:16:26.52 ID:sDMgzk6G.net]
- >>889
この言語で何作ってる?
- 891 名前:デフォルトの名無しさん mailto:sage [2020/11/29(日) 20:10:16.85 ID:JzQZ+ZwM.net]
- インスピレーションを得てるよ()
- 892 名前:デフォルトの名無しさん mailto:sage [2021/01/04(月) 10:36:47.94 ID:62MOX0QC.net]
- >>821
このurl、forthで検索するとあちこちに見掛けるんだけど閉鎖しちゃったのかな waybackにもgoogle cacheにも残ってない…
- 893 名前:デフォルトの名無しさん [2021/01/04(月) 15:05:51.77 ID:VbZ6KZlq.net]
- >>892
>waybackにもgoogle cacheにも残ってない… web.archive.org/web/20160425023618/http://www.h7.dion.ne.jp/~samwyn/forth/gforth/Floating-Point-Tutorial.html
- 894 名前:デフォルトの名無しさん mailto:sage [2021/01/04(月) 18:39:50.21 ID:VbR1j+mv.net]
- >>893
使い方が悪かったのかも!ありがとう!
- 895 名前:デフォルトの名無しさん mailto:sage [2021/03/11(木) 07:45:30.66 ID:ifNxw6Pa.net]
- 技術的というより哲学っぽいので敬遠してたthinking forth今更読んだけど代名詞の言語というのがしっくり来た
どんな言語でもちゃんと書かれれば最上層のコード派読みやすいけどForthがとりわけ読みやすいのはこれだよな 最下層はほとんどアセンブラなのにこの極端性よ
- 896 名前:デフォルトの名無しさん mailto:sage [2021/03/11(木) 07:58:59.35 ID:ifNxw6Pa.net]
- でもスタックイジイジするのパズルみたいでめちゃくちゃ楽しいんだよなあ、くやしい…
- 897 名前:デフォルトの名無しさん mailto:sage [2021/08/23(月) 12:03:08.07 ID:YpDpq+5R.net]
- もはや(8ビット)PCのためではなく(マニアックな)人間のための言語。
- 898 名前:デフォルトの名無しさん mailto:sage [2022/01/01(土) 09:37:17.88 ID:6v4FYv8q.net]
- あけおめ!
- 899 名前:デフォルトの名無しさん mailto:sage [2022/01/10(月) 20:06:51.30 ID:Ge4oCWB3.net]
- 久々に書き込みあったと思えば
あけおめ! 今どきforthは趣味だろうけど良い趣味だよ あとAndroid版のgforthは関数電卓代わりに毎日使ってる
- 900 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 14:09:01.58 ID:/9w+5JsX.net]
- 保守
する価値がまだあるだろうか
- 901 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 10:45:03 ID:u8alpQJv.net]
- 今勉強中だけどおもしろい
しかしパーシングワードはどうにかならんかったのか 定義の底に埋もれたnameが解釈時に吸い込んだりするのが文脈飛んで分かりにくい… psみたいに/name {code} exch def方式のほうが一貫性あったのではないか
- 902 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 10:55:12 ID:u8alpQJv.net]
- FORTHへの招待って古い本買ったんだけど、PICK/ROLLのindexが1始まりだったり、今の処理系と結構違うよね
長々とハードの話から始まり機能紹介までで終わってて、具体的なコーディングテクニックまでたどり着いてない… モダンでオススメな本ってあるかな
- 903 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 08:44:16.13 ID:13z7p19v.net]
- モダンなFORTHなど存在しない!
- 904 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 15:21:07.51 ID:B9Pct0M/.net]
- 初学者だけど
まあレトロなところに惹かれたのは否定できないな 有名な"FORTH思考"とか、一般プログラミング作法の啓蒙書としては素晴らしい ブロックの章立ての章とかよく考えさせられる、まあ実ファィルに置き換えて写経してるけど
- 905 名前:デフォルトの名無しさん mailto:sage [2024/01/01(月) 09:03:44.52 ID:MIyexYoQ.net]
- あけおめ!
- 906 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 09:24:04.48 ID:rroAgTgL.net]
- 古の8bit機みたいな小さいマシンでnextルーチン書くところから始めてみたい
- 907 名前:デフォルトの名無しさん [2024/05/04(土) 06:00:27.59 ID:+DAXDwQe.net]
- 標準FORTHが国会図書館のサイトで読めるようになってる(要登録
https://dl.ndl.go.jp/pid/12631453 他にも古い本が色々見られるようになったっぽい。
- 908 名前:デフォルトの名無しさん mailto:sage [2024/05/05(日) 14:45:30.58 ID:Fv0JPqsX.net]
- 読もう。持ってたのは昔無くした
- 909 名前:デフォルトの名無しさん mailto:sage [2025/01/01(水) 10:04:42.73 ID:exme2yo6.net]
- あけおめ
- 910 名前:デフォルトの名無しさん [2025/06/14(土) 06:37:53.81 ID:3Q/jS2n6.net]
- forthソースファイルをunices上で実行可能ファイルにする一般的な方法ってある?
PC上を想定していて超リッチなgforthなら #! 機構を想定して#!を\のシノニムとして定義してくれてて助かるんだけれども、これのない場合にも対応したい 思い付いたのは : && true ; \ exec forth "$0" -- "$@" forth側: ワード&&(普通未定義)をtrue=-1としてコロン定義、後はコメント sh側: :コマンドが成功したらtrueコマンドを実行、次にインタプリタを起動 なんだけれどsh側では " exec" "forth" ... とトークン化されてcommand not found \execとスペース開けずに書けたら良いんだけどするとforthはコメントとして認識しない 何かいい知恵あったら教えてください
- 911 名前:デフォルトの名無しさん [2025/06/14(土) 06:52:21.04 ID:3Q/jS2n6.net]
- >>902
forthのrollは n roll でn個先までを1回まわすけど postscriptのrollは n m roll でn個先までm回まわせてより強力なのよね mは負でも可で逆回転もできる あんまりコードに数値を入れるのはbad practiceとはいえforth書いてると時々欲しくなるやつ…
- 912 名前:デフォルトの名無しさん [2025/06/21(土) 00:54:36.13 ID:flEjrxpy.net]
- >>910だけど自己解決
: && true ; ( exec forth "$0" -- "$@" ) で行けた 潔癖症ではないから定義されたワード&&は気にしない、たぶん処理系定義の&&は見たこと無いこら潰す事もないはず 一応win32forthとか複数の処理系で forget && て消せたと思うんだけれど、今試してみたらgforthに無いからforgetは非標準ワードなのな
- 913 名前:デフォルトの名無しさん [2025/06/21(土) 11:16:23.88 ID:fGhLJfIJ.net]
- こら
- 914 名前:デフォルトの名無しさん [2025/06/26(木) 14:21:09.64 ID:nmyewptE.net]
- 神経質すぎじゃねる
まあforgetはmarkerで実装できそうな気がする
- 915 名前:デフォルトの名無しさん [2025/10/12(日) 02:30:37.41 ID:DKsy7+ZR.net]
- PCで触ってないからunix(shebang)+forth処理系のハックは詳しくないんだけれども、まあ面白そうだね
ワードを消すforgetは任意のワード対象、で良かったかな(たしかそう) しかしmarkerは事前に設定したマーカーまでオフセットずらして巻き戻し、よってそれまでのワードがリセットされる仕組みだったはずだから、任意ワードを、特に名指しで消すには不向きでは いやまあ消せるんだからマーカーの記録されてるメモリを退避したりリカバリしたり丁寧に管理してやればできるはずだが…
- 916 名前:デフォルトの名無しさん [2025/10/17(金) 05:21:31.52 ID:D1Ebmx1L.net]
- 別に余計なワードがあろうと問題なくね
たまたま同じ名前のワードを定義したらそれが有効な訳だし ブートストラップ用途なら別に潰されても困らん、ブートストラップにしか使わんのだからな
|

|