2 part forthat TECH
2 part forth - 暇つぶし2ch519:464
08/10/11 13:49:31 .net
連投スマソ
>517
そうか、CPUだともう一般的なのか……。さすがに天才的な変態が集まる業界だな。
やっぱりCPUのアーキテクチャ勉強しないといけないなあ。

IFは構文解析で逃げました。
block := block ? WORD1 ! WORD2
という三項演算子を用意して、条件分岐用WORDに解釈するようにしました。
不定ループの構文を用意するかどうかは検討中です。


520:517
08/10/11 13:59:32 .net
もうすこし考えてみたんだが、
ワードがどこかで他のワードを呼び出し、そのワードがどこかで他のワードを呼出し...
という場合には、
ワードシーケンスに展開する段階で、
展開すべき個所をたどるためのリターンスタックが必要な気がする。

だから、464のVMは、
普通のForthでの実行と同じ動作でワード系列をコピーして、
それから順番にInterpretして実行するという感じになって、
単なる二度手間ではないかな。

521:464
08/10/11 15:30:32 .net
>520
どのみちリターンスタック(実行する命令列を保存する専用スタック)が必要なのはその通り。
 WORDの動作:普通のForthでの実行と同じ動作でワード系列をコピー
 VMの動作:  順番にInterpretして実行する
というところがポイントですな。VMは辞書のこととか考える必要がないのでシンプルになります。
その代わり「辞書からWORD列を拾ってリターンスタックに展開する」というWORDが必要になるけど。

確かにコピーする手間はムダな気もするんだけどね……
辞書のWORD列を直接トレースするのと比べてどんぐらい余計な手間がかかってるんだろう?
ポインタ操作数回&アクセス数回レベルだと思うけど。


522:514
08/10/11 18:35:01 .net
>>518
普通はリターンスタックとか継続とか触れない言語の方が多いから、
Forthではなく俺言語を作るつもりなら、言語デザイナであるお前様自身の
判断で実現可能にしてもいいし、そうでなくしてもいいと思うよ。
ただForthは言語レベルでリターンスタックを操れる結果、協調的マルチタスクやら
コルーチンやら言語実装のレベルで普通対処するものも、ライブラリレベルで実現できる柔軟さがある。
リターンスタックは他の言語にはないForthの特徴の一つだからね。
俺言語でなんとか実現する方法を悩んでみるのも楽しいんじゃない?

523:514
08/10/11 18:47:48 .net
あとForthのVMって相当シンプルだよ。
アセンブリ言語で書かれた昔のForthとかコアの部分はアセンブリ言語で数行レベルだった気がする。
どのへんが複雑だと思ったのかは興味がある…

524:517
08/10/11 21:01:10 .net
>>521
いや、そうではなくて、
「WORDの動作」の中の、「普通のForthと同じ動作で」ってところに、
リターンアドレスを保存するスタックという意味でのリターンスタックが、もう必要なのではないかということ。

あと、言葉の問題として、
大きい意味でのワードを展開する動作のところからもうInterpreter(=VM)の動作というのが普通だと思う。
つまり、VMの動作の前半をWORDの動作と呼んで違う名前にしたから、
残ったVMの動作が簡単に見えるというだけなんじゃないかな。
辞書中のワードから始めると、ForthのVMよりも(多分プリミティブ)WORDの系列を作る部分が余分で、
より複雑になってると思う。

でも、自分の言語を作るのをやめろといってるんじゃないよ。
むしろ応援してる。

ちょっと話題はそれるけど、Forthというか、スタック指向言語は、
コンパイラライターフレンドリーなんだよね。
だから、Forthコード書くよりForth(風オレ言語)VMを書く人が多かったりするわけだが、
ホントはForthでアプリケーションを書くときも「オレ言語」を作るつもりで書くと良いと思ってる。

525:デフォルトの名無しさん
08/10/11 21:33:08 .net
Forthの用語って独特な言い回しがあるからな。
知らない人は結構混乱する。
スレデッドコードのForthの場合、ソースコードを解釈してスレデッドコードを
生成することをコンパイルといい、スレデッドコードを生成する部分を外部インタープリタ、
スレデッドコードを解釈実行する部分を内部インタープリタと呼ぶ。
(これで良かったよな?同志?)
このスレでVMと言った時に内部インタープリタだけなのか、外部インタープリタも含むのか?
どっちだろうか?

526:デフォルトの名無しさん
08/10/12 00:45:26 .net
>>525

テキストを読み込んで、
1) ワードを辞書内で特定
2) だめならリテラルに変換
3) ダメならエラーで終了。

という部分が外部インタープリタ

1)または2)で成功したときに
モードに応じてコンパイル(Forth的意味)するか実行する
のが内部インタープリタ

だと思ってました。

Forthはテキストインプットも弄れるという面白さもあるよね。

Forth VMというと、外部も含むのかな。
上のリターンスタック云々の話は、
内部インタープリタのことだと思うけど。

527:デフォルトの名無しさん
08/10/12 07:57:23 .net
内部インタプリタて(スレッドコードで実装してる場合は)nextルーチンのことじゃなかったっけ。

528:デフォルトの名無しさん
08/10/12 08:49:02 .net
そうNEXTルーチン。アセンブリ言語で数行、という奴。

529:464
08/10/12 15:10:26 .net
>522
その辺は「自由と責任」というやつですな。「銃で足をブッとばす自由」でもあるけど。

>どのへんが複雑だと思ったのかは興味がある…
自分でも何でだったっけな、と過去の記憶を探り出してみたけど、
・実行中のWORDの次のWORDを辞書の中から探せるようにする仕組みが必要
  ×実行中のWORDの中身を変更するのが大変(VMのスタックに積んでいるWORD含む)
  ×番兵などの終了処理が必須
  --> VM側のスタックに積むことにすればpop&top参照で正規化できるし、元の値を
    コピーするからWORD変更にも影響されない。
・VM側に「WORDを実行する」という手順が必要になる
  --> VM側のスタックに積むことにすればpushで正規化できる
ぐらいかもしれない。
コンパイル時にWORDの中身が確定するforthだとあんまり問題にならなそうだね。

530:464
08/10/12 15:20:28 .net
>524
「スタックに複数のデータを押し込む操作は機械語レベルだとアトミックにならない」ということ??
C++で実装しているから意識していなかったけど、そうかもしれないですね。
少なくともプリミティブで実装する必要あるね。

>ForthのVMよりも(多分プリミティブ)WORDの系列を作る部分が余分で、
これは狙ってやっていることだから仕様がないですね。
まあ、俺言語ではVM自体もWORD扱いにしているのですが……

531:デフォルトの名無しさん
08/10/12 15:50:56 .net
>>529
んー、やっぱり、思い込みでForthを理解したつもりになるんじゃなくて、
本格的に触ってみたほうが良いと思うんだけどな。

>実行中のWORDの次のWORDを辞書の中から探せるようにする仕組みが必要
通常、Forthは実行時には、スレデッドコードにコンパイルされた命令列を、
上にも出ているnextルーチンで辿るだけなので、仕組みというほどの仕組みはないよ。

>実行中のWORDの中身を変更するのが大変(VMのスタックに積んでいるWORD含む)
間接スレッディングのForthだと定義済みのワードの変更は、一カ所ポインタを書き換える
だけで済むはず。

>番兵などの終了処理が必須
番兵というかワードの最後にnextルーチンへのジャンプかnextルーチン自身を書き込むだけ。

>VM側に「WORDを実行する」という手順が必要になる
スレデッドコードのForthの命令列は、ワードへのポインタが並んでいるだけで、
「WORDを実行する」という意味のインストラクションは必要ないよ。

532:464
08/10/12 23:25:00 .net
本格的に触るのは……あの構文は色々と嫌だ。
[条件] IF [肯定時] ELSE [否定時] THEN とか。
せめて条件算子的だったらなぁ。[条件] ? [肯定時] : [否定時] ;

>531
細かいことを言うと、nextルーチンが辞書内のスレッデッドコード構造の詳細を知らなきゃ
ならないので、VMと辞書の関連が密になりそうな気がします。スレッデッドコードをスタックに
pushしてVM内に取り込んじゃえば辞書内の構造を気にする必要無いし。
まあ、最適化のために作り込んでも良い気がするけどね。そこは将来の課題ということで。

>一カ所ポインタを書き換えるだけで済むはず。
WORD自体を置換する場合はそうですね。WORDの挿入や削除はたぶん難しいかと。
そんな特殊なことは禁止にして、新規にWORD定義させた方が良いかも知れないけど。
あるいは無名WORDとかスキップWORDを用意するとか。

>「WORDを実行する」という意味のインストラクションは必要ないよ。
あれ?VMに保存されている「現在実行中のWORD」って、間接ポインタじゃないの?
(nextの動作を考えると、間接ポインタじゃないと色々と面倒臭そうな)
実行前に間接参照からWORDを探す操作が一段余計に必要になるかと思ってた。


533:デフォルトの名無しさん
08/10/12 23:34:45 .net
>VMと辞書の関連が密

というか、それがFORTHの肝のような気がする。

534:デフォルトの名無しさん
08/10/13 00:16:22 .net
スレデッドコード自体、ワードへのポインタを並べたものでしかないから、
ジャンプとかコールとかそういう類のインストラクションをデコードする必要がない、
という意味ね。
あとForthの実装にはダイレクトスレデッドなものもあるよ。
nextルーチンからみると命令列を順に辿ってるだけであって、
「辞書からワードを毎回探している」ってわけじゃないしね。

それより、スタックに命令列を毎回pushするオーバーヘッドのほうがよほど大きいと思うし、
nextルーチンに比べてシンプルとも思えないんだな。

ま、いろいろ悩んで勉強して、これだ!と思える言語デザインに邁進してください、と。
このスレが本当に久しぶりに活性化したのは間違いないしね。

535:デフォルトの名無しさん
08/10/13 00:21:58 .net
>>533
間接スレデッドの場合、Forthコンソールの側から見ると、
逆コンパイルしやすかったり、便利な面はたしかにあるけれど、
VMつうかnextルーチンから見ると、単にポインタを辿っているだけなので、
構造として、VM実装と辞書構造が密、というわけでもないと思う。
実際VM実装テクニックとしてのスレデッドコードは、今や、Forth以外でも
当たり前の技術になってるし。

536:デフォルトの名無しさん
08/10/27 00:52:54 .net
jonesforth読んだ。
ソース付きなので理解しやすい。

OS Xで動かそうとしたが挫折した。
OSXのGASではマクロが対応してないみたいだ。

537:デフォルトの名無しさん
08/11/23 01:13:24 .net
急にスレが進んだと思ったら、止まるのも急だよなこのスレ
やっぱ誰も使ってないってこったな

538:デフォルトの名無しさん
08/11/26 17:30:54 .net
URLリンク(www.intellasys.net)

なんか並列forthマシンっぽいw

539:デフォルトの名無しさん
08/12/27 14:00:32 .net
factor使ってる奴いる?

540:デフォルトの名無しさん
08/12/27 21:13:14 .net
とりあえず入れてみたけど特に使ってないなw

541:539
08/12/28 01:26:48 .net
factorおもしろいぜ。デプロイするとスタンドアロンで動く物もできるし。

542:デフォルトの名無しさん
08/12/29 13:31:00 .net
やっぱだめだこの言語。
人間工学から著しく反してる。

543:デフォルトの名無しさん
08/12/29 19:52:22 .net
サルが人間工学語ってやがる。

544:デフォルトの名無しさん
08/12/29 21:45:56 .net
自分の思考をスタック処理に最適化させればいいんだよw

545:デフォルトの名無しさん
08/12/29 22:06:52 .net
forthに慣れるのはそんなに大変なことじゃないと思うけどなあ。

まあ、問題をごく単純な部分に細分して考えることができないと、
スタック処理が爆発しがちになるとはいえますね。
でも、問題の細分ができない人は、どの言語でプログラミングしても
たかが知れてる。

546:デフォルトの名無しさん
09/01/01 11:45:56 .net
Lispのマクロ的なことができるってほんと?

547:デフォルトの名無しさん
09/01/01 11:56:23 .net
イミディエイトなワードのことかな。
結果としては似たようなことができると言えなくもないけど、
Lispのマクロみたいな2度evalするみたいな高水準のものじゃありません。

548:デフォルトの名無しさん
09/01/07 22:44:24 .net
つまり・・・どういうことだってばよ?

549:デフォルトの名無しさん
09/01/07 23:39:44 .net
factorならlispのマクロと同じようなことができるよ

550:デフォルトの名無しさん
09/01/08 00:11:19 .net
同じ機能を達成できるとしても言語が違えばそこに至るロジックは異なる。
具体的に何がしたいのか特定しないと。
factorはおもしろい言語だが、関数型言語のフリし過ぎなのがイヤラシくもある。


551:デフォルトの名無しさん
09/01/09 12:30:14 .net
何かサンプルが欲しいな。

552:デフォルトの名無しさん
09/01/09 22:47:55 .net
URLリンク(ancient.s6.xrea.com)

553:デフォルトの名無しさん
09/02/26 00:17:58 .net
組み込み用FORTH検討中・・・

554:デフォルトの名無しさん
09/03/07 05:11:31 .net
part 1 の URL ってないの?

555:デフォルトの名無しさん
09/03/07 10:00:54 .net
URLリンク(piza.2ch.net)

556:デフォルトの名無しさん
09/03/07 10:13:20 .net
: Mops ( オブジェクト指向FORTH -- ) ;
URLリンク(pc.2ch.net)

557:デフォルトの名無しさん
09/03/07 13:25:33 .net
thanks

558:デフォルトの名無しさん
09/03/07 18:54:17 .net
このスレも長いね


559:デフォルトの名無しさん
09/03/07 21:43:31 .net
factorとかJoyとか触ってる奴いないのかよ

560:デフォルトの名無しさん
09/03/07 23:32:50 .net
普通の関数型言語に比べてどういうメリットがあるのか分からない。

561:デフォルトの名無しさん
09/03/08 10:51:09 .net
forthは関数型ちゃうし

562:デフォルトの名無しさん
09/03/08 12:22:51 .net
>>560はなんでこのスレにいるんだ?

563:デフォルトの名無しさん
09/03/08 19:52:03 .net
いや、factorがって事なんだが。

564:デフォルトの名無しさん
09/03/08 20:01:58 .net
なんで関数型言語と比較するんだ?
Factor = forth + 無名関数とオブジェクト指向だよ

565:デフォルトの名無しさん
09/03/19 13:57:45 .net
全然Forthと関係ない話だが、AMDのシニアアーキテクトが
チャック・ムーアって名前なのは結構心臓に悪いな。

566:デフォルトの名無しさん
09/06/24 08:13:56 .net
何か話題無いかな

567:デフォルトの名無しさん
09/06/25 14:24:21 .net
LLイベントでの発表者募集中とか

568:デフォルトの名無しさん
09/07/03 05:23:56 .net

    ┌─┐
    │●│
    └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!



569:デフォルトの名無しさん
09/07/03 22:57:04 .net
Pythonスレに帰れw

570:デフォルトの名無しさん
09/07/09 07:11:33 .net
今更ながら FORTH 勉強しようと思ってるんだけど、
何かいい本ある?
できれば日本語がいいけど英語も可。


571:デフォルトの名無しさん
09/07/09 10:23:23 .net
絶版多し

572:デフォルトの名無しさん
09/07/09 21:39:14 .net
触りしか読んでないけど
URLリンク(www.forth.com)

573:デフォルトの名無しさん
09/07/10 07:32:04 .net
>>570
Let over Lambda日本語版

574:デフォルトの名無しさん
09/07/10 20:52:17 .net
>>573
たしかそれってlispの本じゃないか?

575:デフォルトの名無しさん
09/07/10 20:57:56 .net
lispでforthを作る本

576:デフォルトの名無しさん
09/07/10 22:31:17 .net
URLリンク(www.amazon.co.jp)

577:デフォルトの名無しさん
09/07/11 05:33:45 .net
gforth でググるとNVIDIAのグラボしかヒットしない。
Bingだと forth だけがヒットする。愛してるよMS

578:デフォルトの名無しさん
09/07/18 23:02:30 .net
あほな質問かとは思うがよかったら教えてくれ
スタック型言語にはスタックオーバーフローってある?
それともヒープにあたるものをスタックとしてつかている?

579:デフォルトの名無しさん
09/07/18 23:10:10 .net
両方ともYESだよ。

580:デフォルトの名無しさん
09/07/18 23:17:25 .net
オーバーフローだけじゃなくスタックアンダーフローも楽しめるぞ

581:デフォルトの名無しさん
09/07/18 23:31:56 .net
さんきゅー、Jedi!

582:デフォルトの名無しさん
09/07/19 03:45:38 .net
そのネタもう飽きた
次そゆこと言った奴はダークサイドな

583:tor.rootkit.de
09/08/17 17:57:34 .net
自動焼人 ★ = 自動保守 ◆KAWORUKOFI = 自動保守#K9K?_D[L

名言集 その2
『お前が規制系キャップ取れるか審査してやるよ』

スレリンク(news4vip板) ID:PVAf+dux0 = 自動焼人 ★

> 36 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:31:30.02 ID:PVAf+dux0
> >>33
> キャップとコテハンの違いは何?

> 46 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:38:05.34 ID:PVAf+dux0
> >>45
> その回答では落ちるなw
> 答えは教えないがw

> 50 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:41:29.96 ID:PVAf+dux0
> Q.キャップとコテハンの違いは何?
> A.2ちゃんねるのボランティアの登録制度

> それがお前の答えかw

> 52 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:43:10.06 ID:PVAf+dux0
> まぁ、どうせ正解が出るわけもないし、次の問題。
> 君が思う面白いスレはどんなの?
----------------------------------------------
この自動焼人 ★メールマガジンの配信停止をご希望される方は
スレリンク(sec2chd板)
にて自動焼人 ★までご連絡ください

584:デフォルトの名無しさん
09/10/06 10:44:14 .net
. 1. HTML    で検索した結果 1~10件目 / 約5,040,000,000件
. 2. PHP      で検索した結果 1~10件目 / 約2,970,000,000件
. 3. Java......   で検索した結果 1~10件目 / 約 835,000,000件
. 4. Forth.    で検索した結果 1~10件目 / 約 323,000,000件
. 5. Ruby..    で検索した結果 1~10件目 / 約 275,000,000件
. 6. perl.....    で検索した結果 1~10件目 / 約 245,000,000件
. 7. Python...   で検索した結果 1~10件目 / 約 204,000,000件
. 8. pascal...   で検索した結果 1~10件目 / 約 170,000,000件
. 9. Delphi    で検索した結果 1~10件目 / 約 127,000,000件
10. VisualBasic...で検索した結果 1~10件目 / 約 121,000,000件
11. lisp...      で検索した結果 1~10件目 / 約.  26,700,000件
12. fortran     で検索した結果 1~10件目 / 約.  21,300,000件
13. COBOL    で検索した結果 1~10件目 / 約.  18,500,000件
14. HSP      で検索した結果 1~10件目 / 約.  12,300,000件
15. FreeBasic.. で検索した結果 1~10件目 / 約   6,320,000件
16. Tcl/Tk.     で検索した結果 1~10件目 / 約   4,940,000件
17. QBasic     で検索した結果 1~10件目 / 約   4,190,000件
18. VisualC....  で検索した結果 1~10件目 / 約   1,360,000件
19. DarkBASIC. で検索した結果 1~10件目 / 約   1,320,000件
20. BasicStudio で検索した結果 1~10件目 / 約    304,000件
21. N88basic.   で検索した結果 1~10件目 / 約    215,000件
22. f-basic     で検索した結果 1~10件目 / 約    109,000件
23. ActiveBasic で検索した結果 1~10件目 / 約.     89,800件
24. 99BASIC.... で検索した結果 1~10件目 / 約.     11,500件

3Dprogramming で検索した結果 1~10件目 / 約794,000件
2Dprogramming で検索した結果 1~10件目 / 約. 57,400件

intel で検索した結果 1~10件目 / 約729,000,000件
amd で検索した結果 1~10件目 / 約355,000,000件

585:デフォルトの名無しさん
09/10/06 11:33:58 .net
J の検索結果 約 1,650,000,000 件中 1 - 10 件目 (0.25 秒)

圧倒的だな。

URLリンク(ja.wikipedia.org)(プログラミング言語)

586:デフォルトの名無しさん
09/10/06 11:36:17 .net
すみません、嘘でした。。。

587:デフォルトの名無しさん
09/10/06 13:38:04 .net
C の検索結果 約 3,910,000,000 件中 1 - 10 件目 (0.32 秒)

588:デフォルトの名無しさん
09/10/06 13:39:59 .net
>>584 <-こいつどこで検索したんだ

HTML の検索結果 約 8,490,000,000 件中 1 - 10 件目 (0.23 秒)

古いコピペか

589:デフォルトの名無しさん
09/10/06 13:42:51 .net
D の検索結果 約 4,780,000,000 件中 1 - 10 件目 (0.24 秒)

時代はもはやDですよ。

590:デフォルトの名無しさん
09/10/06 13:44:54 .net
Brain F*ck の検索結果 約 162,000,000 件中 1 - 10 件目 (0.22 秒)
Brain Fuck の検索結果 約 5,190,000 件中 1 - 10 件目 (0.30 秒)
Brain Fsck の検索結果 約 28,500 件中 1 - 10 件目 (0.33 秒)

591:デフォルトの名無しさん
09/10/08 21:50:04 .net
Fuck の検索結果 約 156,000,000 件中 1 - 10 件目 (0.19 秒)

592:デフォルトの名無しさん
09/10/09 00:25:23 .net
A の検索結果 約 15,560,000,000 件中 1 - 10 件目 (0.06 秒)

時代は A だった。

593:デフォルトの名無しさん
09/11/23 09:27:28 .net
forth検索しにくすぎる

594:デフォルトの名無しさん
09/11/23 18:04:33 .net
URLリンク(www.forth.org)
URLリンク(wiki.forthfreak.net)

595:デフォルトの名無しさん
09/11/25 14:14:43 .net
URLリンク(lab.ee.uec.ac.jp)
このページの仕様だとNFの後にLFが来てるけど、jonesforthだとLFが最初だよね。
NFが先だとFINDの時にLFを出すのに手間がかかると思うんだけど、
NFがLFより前にあるメリットって何かあるのかな?

596:デフォルトの名無しさん
09/11/26 00:14:06 .net
padding の有無の違いかと

597:デフォルトの名無しさん
09/11/30 00:21:59 .net
URLリンク(www.h7.dion.ne.jp)
Gforth マニュアルの和訳 (現在、チュートリアルまで)

598:デフォルトの名無しさん
10/01/05 18:09:33 .net
URLリンク(ronware.org)
Reva
非標準系 Forth (ミニマリスト系)
パブリックドメイン、コアは FASM で記述
プリミティブワードは商用 Forth や GCC 並みに高速
Windows の DLL や Linux の共有ライブラリを呼び出し可
豊富なライブラリが付属

599:デフォルトの名無しさん
10/01/16 15:33:34 .net
URLリンク(www.h7.dion.ne.jp)
Retro (Forth) の和訳
URLリンク(www.h7.dion.ne.jp)
オリジナルのコンソール版仮想マシンを Windows 専用に移植したもの
TinyC のみでビルド可、TinyC の conio.h を利用
超応急措置的改変だが、文字列に日本語も使用可
ビルド済み EXE とオリジナルの retroImage も同梱

600:デフォルトの名無しさん
10/03/11 19:17:24 .net
スレがなくて似たようなスレということでやってきたんだけど
postscriptの話題もOKですか?

forthはif文は逆ポーランドじゃないんですね

601:デフォルトの名無しさん
10/03/12 19:38:03 .net
誰もいないし

カーペット敷いときますね

%!PS
/carpet {
dup 0 eq { pop 4 {dup 0 rlineto 90 rotate} repeat pop }
{
4 {
3 { 2 copy 1 sub exch 3 div dup 3 2 roll carpet 0 rmoveto } repeat
90 rotate
} repeat pop pop
}ifelse
}def
100 500 translate 0 0 moveto
300 3 carpet
stroke showpage

602:デフォルトの名無しさん
10/03/23 00:04:39 .net
URLリンク(factorcode.org)
今死んでね?

603:デフォルトの名無しさん
10/03/23 00:58:37 .net
中の小人が忙しいといってるな

604:デフォルトの名無しさん
10/04/18 17:43:19 .net
FORTHって、ちょっとずつ作れてなんだか良いね。
関数とかじゃなくて、演算子を作りながら進んでる感じ。

605:デフォルトの名無しさん
10/04/18 23:45:47 .net
のんびりのんびり(^。^)y-.。o○

606:デフォルトの名無しさん
10/04/22 05:05:43 .net
何気にコンパイル = 2パスなところがミソなんだね。
最初IF文とか巧妙にスタックで実現しているのかと思った。

607:デフォルトの名無しさん
10/04/28 19:34:13 .net
Factor 座談会
URLリンク(oss.infoscience.co.jp)

608:デフォルトの名無しさん
10/06/15 05:20:29 .net
蔵書を整理していたら
マイコンピュータ No3
特集すぐ動くFORTH

などと言うものが出てきた、1981年の本なのでZ80とかApple向けの実装の話だったりする
思わずScanSnapで取り込んでしまった


609:デフォルトの名無しさん
10/06/15 17:04:11 .net
リギー、かわいいよリギー

610:デフォルトの名無しさん
10/08/11 11:24:30 .net
age

611:デフォルトの名無しさん
10/12/28 08:18:41 .net
age



612:デフォルトの名無しさん
10/12/28 09:18:30 .net
ムーア先生がさらにあさっての方向に。

URLリンク(www.greenarrays.com)

144コアのforthマシンとか誰得

613:デフォルトの名無しさん
10/12/28 09:43:38 .net
いつものことじゃん
いちいち驚くなよ

614:デフォルトの名無しさん
10/12/31 23:45:15 .net
Ubuntu GNU/LINUX10.04を使ってます。

先日、倉庫を整理していたら「パソコン・ユーザのためのFORTH入門」(近代科学社)が
出てきました。懐かしいので、”Ubuntu FORTH”で検索してみてgFORTHの存在を知り
さっそくインストールしてみました。FORTHとの出会いはOh!MZの連載記事「掟やぶりの
magiFORTH」ですが、当時はSーOSを入力していなかったので実際にFORTHに触れる
のは今回が初めてです。

よろしくお願いします。



615: 【大吉】
11/01/01 00:04:06 .net
!omikuji
あけおめ

616:デフォルトの名無しさん
11/01/01 23:57:48 .net
>>614
清水和人だったな、懐かしい

617:デフォルトの名無しさん
11/01/04 08:09:35 .net
>>616
「掟破りのmagiFORTH」は山田伸一郎さんの書いた記事でした。
1985年か1986年のOh!MZ 3月号に掲載されています。

618:デフォルトの名無しさん
11/01/04 20:00:48 .net
>>617
おっとゴメン、もう記憶があやふやだわ
俺はLispの方にハマったな
こうもとやすひこの記事とか楽しく読んでいた

619:デフォルトの名無しさん
11/02/11 21:03:43 .net
>>13>>43
ForthとLISPの両方の特徴を生かした言語Laplasの論文
汎用簡易言語としてみたインタプリタ言語Laplas
URLリンク(ci.nii.ac.jp)
L a p 1 a s 一マイクロ・コンピュータに適した新らしい言語一
URLリンク(eprints.lib.hokudai.ac.jp)


620:デフォルトの名無しさん
11/02/11 21:15:45 .net
日本語プログラミング言語Mind
URLリンク(mimizun.com)

24 名前:名無しさん@お腹いっぱい。 :2000/12/21(木) 06:19
Forthやった後でLISP学ぶとすんげえわかりやすい。
簡易LISPってかんじ。

25 名前:名無しさん@お腹いっぱい。 :2000/12/21(木) 11:22
そういえば、 forth lisp + 2 / な言語が昔ASCIIに載ってた。ラプラスとかいう奴。
トンボグラフィックス(タートルグラフィックスの3D版)とか搭載してて面白かった。

26 名前:名前ついてますか? :2000/12/21(木) 22:51
あれは面白かった... lambdaとか使わなくても関数抽象できたし。
#原田さんはその後も変なものを作るので要注目

27 名前:奥さん、名無しです :2000/12/22(金) 04:24
>>26
え、それなにどうやってやるの。

621:デフォルトの名無しさん
11/02/11 21:20:48 .net
28 名前:名前ついてますか? :2000/12/22(金) 09:10
stackが前提だから (1 +) で (lambda (x) (+ x 1)) 相当。

うーん、closureつければ今でもいけないかしらん..

30 名前:名前ついてますか? :2000/12/25(月) 14:11
そうそう。といいつつ age

29 名前:名無しさん@お腹いっぱい。 :2000/12/22(金) 11:14
xを先にstackに置いといてからそのリスト置いてapplyってこと?

32 名前:29 :2000/12/26(火) 10:35
>>30
そうなのか。それだと関数抽象っていうより
アセンブラのウルテクみたいだな、って思った。

34 名前:名前ついてますか? :2000/12/27(水) 14:10
>>32 関数抽象なんて高尚な概念も stack levelに落として考えれば、
禁断の秘技程度なのです。って落ちじゃだめ?
# ちなみに同じ stack machine でも JavaVMじゃできない
>>26-27
原田 康徳さんの論文s
URLリンク(ci.nii.ac.jp)

622:デフォルトの名無しさん
11/02/11 21:28:52 .net
これか
URLリンク(ci.nii.ac.jp)

「機関リポジトリ本文(無料)」ってリンクからたどってくとPDFで本文読めるな

623:デフォルトの名無しさん
11/02/11 23:23:10 .net
>>622
>>619の上のほうで示したリンク先「汎用簡易言語として見たインタプリタ言語Laplas」は
URLリンク(ci.nii.ac.jp)
こっちで見れるね

624:デフォルトの名無しさん
11/02/12 00:27:43 .net
SECD Machineみたいな、LispやMLを実装するすためのスタックマシンに自然なForthって感じか。
ざっとみたけど、lambdaはあっても、Closureはないみたいだな。

625:デフォルトの名無しさん
11/03/07 10:54:59.82 .net
だなw

626:デフォルトの名無しさん
11/05/28 09:22:21.04 .net
保守

627:デフォルトの名無しさん
11/05/29 07:57:22.03 .net
いつのまにかWikipediaのMindの記事が大幅に書き換わってるな

628:デフォルトの名無しさん
11/06/06 07:09:36.69 .net
おムーア様の過去の著作公開
URLリンク(www.colorforth.com)

629:天使 ◆uL5esZLBSE
11/07/02 23:26:16.04 .net
>>620
---------------------------
(((((((( 日本語プログラミング言語Mind ))))))))(キリ!!ッッ!!!!
------------------
((((((((((( え、それなにどうやってやるの。 )))))))))))(キリキリッッ!!!キリッキリッッッッ!!!!キリッッ!!!!ッッ!!!!
------(きリッ!


お前らってどうみてもゴミだよな

630:デフォルトの名無しさん
11/07/30 14:34:39.15 .net
保守

631:デフォルトの名無しさん
11/09/10 06:58:08.33 .net
時代はFORTH

632:デフォルトの名無しさん
11/09/10 23:29:07.15 .net
forth出ても200超えられないorz

633:デフォルトの名無しさん
11/10/12 20:56:54.15 .net
URLリンク(builds.factorcode.org)
factorの新しいのきてるぅ

634:デフォルトの名無しさん
12/01/16 22:00:32.22 .net
保守

635:営利利用に関するLR審議中@詳細は自治スレへ
12/03/30 23:52:09.58 .net
factor(等のforth系)は頭がトコロテンになるな。
でもプログラミング自体をパズルとして楽しめるような気がする。

636:デフォルトの名無しさん
12/06/26 23:53:01.65 .net
URLリンク(builds.factorcode.org)
新しいのキター

637:デフォルトの名無しさん
12/06/27 01:49:33.00 .net
スタックコンピュータって言う書籍買ってみた
古い本だけどFORTHとスタックマシンへの愛がすげー


638:デフォルトの名無しさん
12/06/27 07:17:19.22 .net
おお、あれは名著だ。

639:デフォルトの名無しさん
12/06/27 10:13:02.11 .net
>>636
初めてさわった
なにこれ、楽しい


640:デフォルトの名無しさん
12/06/28 11:00:23.05 .net
>638
原書はまだPDFで全公開してるのかな?


641:デフォルトの名無しさん
12/06/28 11:06:29.92 .net
URLリンク(builds.factorcode.org)
64bit版キター

642:デフォルトの名無しさん
12/06/28 11:09:24.65 .net
>>640
URLリンク(www.ece.cmu.edu)

643:デフォルトの名無しさん
12/06/30 00:15:59.63 .net
>>639
forth系ってパズル的な楽しさがあるよな

644:デフォルトの名無しさん
12/06/30 22:46:42.75 .net
URLリンク(builds.factorcode.org)
また新しいのキター

645:デフォルトの名無しさん
12/07/03 20:28:16.05 .net
また来ましたな
バージョンアップ祭りの季節?

646:デフォルトの名無しさん
12/07/10 22:11:13.67 .net
FORTHを学ぶサイトを作った - 西尾泰和のはてなダイアリー
URLリンク(d.hatena.ne.jp)

647:デフォルトの名無しさん
12/07/11 23:13:14.19 .net
またニューバージョンきたで

648:デフォルトの名無しさん
12/07/12 22:57:24.59 .net
URLリンク(builds.factorcode.org)
今日の更新

649:デフォルトの名無しさん
12/07/14 19:15:25.30 .net
本当によくバージョンアップくるな

650:デフォルトの名無しさん
12/07/15 18:51:42.95 .net
あ、きてる

651:デフォルトの名無しさん
12/07/18 15:12:10.06 .net
毎度!

652:デフォルトの名無しさん
12/07/19 20:54:07.43 .net
2012-07-17

653:デフォルトの名無しさん
12/07/20 14:00:53.36 .net
2012-07-19

654:デフォルトの名無しさん
12/07/20 17:48:26.40 .net
何だ何だ?

655:デフォルトの名無しさん
12/07/20 22:56:25.07 .net
URLリンク(builds.factorcode.org)
ニューバージョンが来たってことでしょ

656:デフォルトの名無しさん
12/07/20 23:55:48.43 .net
うーん、それニューバージョンって言うものか?
一見するとリリースノートもないし、開発者向けにビルドし直したもので、
一般のユーザー向けに作られたものじゃないと推察するのだが。
本スレに書いてる人、何が変わったか把握してる?

657:デフォルトの名無しさん
12/07/21 09:31:12.80 .net
ステマのにおい

658:デフォルトの名無しさん
12/10/08 20:25:47.38 .net
.

659:デフォルトの名無しさん
12/10/11 20:10:49.89 .net
shuffle shuffle

660:デフォルトの名無しさん
12/10/18 19:40:10.82 .net
test

661:デフォルトの名無しさん
12/11/12 06:30:53.31 .net
&amp;nbsp;test

662:デフォルトの名無しさん
12/11/12 07:13:40.73 .net
 &amp;#160;test

663:デフォルトの名無しさん
12/11/15 22:25:43.78 .net
a
a
a
a

664:デフォルトの名無しさん
12/11/15 22:28:35.87 .net
&nbsp;&nbsp;&nbsp;a
   a
&#xA0;&#xA0;&#xA0;a

665:デフォルトの名無しさん
12/11/22 22:57:21.32 .net


666:デフォルトの名無しさん
13/03/06 01:21:39.12 .net
保守
何か面白い話題無いのかな

667:デフォルトの名無しさん
13/03/06 09:59:04.64 .net
I think so.

668:デフォルトの名無しさん
13/03/08 11:11:43.39 .net
Laplasの人自身による解説があった
URLリンク(blog.goo.ne.jp)

669:デフォルトの名無しさん
13/03/08 11:46:01.28 .net
URLリンク(www.viscuit.com)
URLリンク(twitter.com)

670:デフォルトの名無しさん
13/03/18 01:17:00.32 .net
>>117のコントロールフロースタックについてもうちょっと詳しく聞きたい
ジャンプ先って何へのジャンプ先?

671:デフォルトの名無しさん
13/03/18 01:23:17.50 .net
あああちゃんと調べてなかった、ここの説明でわかったよ
URLリンク(www18.atwiki.jp)

672:デフォルトの名無しさん
13/03/18 19:30:42.45 .net
forthの最大の欠点ってfactorみたいなオブジェクト指向にしたときにスタックに積んだ引数と関数の期待する型が違ったときに困る事だとおもうんだけど
コンパイラのレベルでこれってなんとかならんの?

673:デフォルトの名無しさん
13/03/18 22:45:55.67 .net
普通の関数型言語と一緒じゃね?
全てのトークンに引数型と戻り値型を対応付けて、コンパイル時に
型解決すれば良いと思うけど。

674:デフォルトの名無しさん
13/03/28 01:26:47.80 .net
Windows上のFactorで日本語表示させる方法がわからん

675:デフォルトの名無しさん
13/03/28 01:53:15.83 .net
"日本語" H{ { font-name "メイリオ" } } format nl
で表示できた。
あとはlistenerのfont-nameを書き換えられたらいいのかな。

676:デフォルトの名無しさん
14/01/05 03:24:36.20 .net
保守

677:デフォルトの名無しさん
14/01/05 21:15:32.75 .net
保守!!!

Forth は実用に耐えるのですか?特に可読性的に

678:デフォルトの名無しさん
14/01/05 22:21:30.32 .net
>>677
Forth の達人 (= プロの Forth 屋) なら、数十万行でも苦にならないそうな。
ライフゲーム
URLリンク(wiki.forthfreak.net)
BASIC インタプリタ
URLリンク(home.iae.nl)
FALSE インタプリタとコンパイラ
URLリンク(github.com)
その他
URLリンク(wiki.forthfreak.net)
URLリンク(wiki.forthfreak.net)

みんな目的に特化したプログラミングをするので、汎用ライブラリやフレームワークは無いに等しいけれどね
(個々の実装に特化したものならそれなりにあるけど)。

679:デフォルトの名無しさん
14/01/05 23:08:26.86 .net
thx

まさかこんなに早く返事がくるとは思わなかった!

680:デフォルトの名無しさん
14/01/06 05:54:37.02 .net
常に人はいるんだわ

単に新しい話題がなんにもないだけで

681:デフォルトの名無しさん
14/01/06 15:05:08.84 .net
>>678
Forthの力ってすげー。

>>680
なる


おもしろそうだな。
RPNで文法が統一されているところが超COOLだ!
俺が作ってみようじゃないか?!

ちなみに慣例や伝統はしらぬから、
皆が想像しているものと大きく違うと思うがな!!

682:デフォルトの名無しさん
14/01/06 17:56:02.28 .net
>>681 期待してます!

683:デフォルトの名無しさん
14/01/06 20:20:59.69 .net
文字列はどういう風に扱えばよいのですか?

684:デフォルトの名無しさん
14/01/06 21:14:53.59 .net
>>683
文字数と文字列本体からなる構造体のアドレス(ポインタ)、とか。

685:デフォルトの名無しさん
14/01/06 22:41:12.49 .net
日本語情報なら
URLリンク(www-lab.ee.uec.ac.jp)
URLリンク(www.h7.dion.ne.jp)
後者の Gforth マニュアル
URLリンク(www.h7.dion.ne.jp)
は「OS コマンドライン引数用ワード」まで訳してある (残りは未訳)。
また、ANS Forth ではない独自仕様だけども、
URLリンク(www.h7.dion.ne.jp)
URLリンク(www.h7.dion.ne.jp)
URLリンク(www.h7.dion.ne.jp)
も Forth 自体の実装を目論むなら参考になるかも (ちなみに現在の RetroForth はこれよりもう少し進化してる)。

686:デフォルトの名無しさん
14/01/06 23:19:19.70 .net
>>683

684の追記ですが、素のFORTHだとスタックには数値しか置けないので
文字列のアドレスがスタックに積まれます。

もちろんFactorの様に、なんでもスタックに積めるのもアリです。

私もなんでも積めるように実装して、まぁうまく行ったのですが
>>672の方と同じ問題もあったので、スタックには数値しか置けない
実装も試してみたいと思っています。

687:デフォルトの名無しさん
14/01/07 09:04:59.98 .net
ややこしい物は全部辞書に突っ込むとかの手も。

688:デフォルトの名無しさん
14/01/07 11:29:30.09 .net
>>687
文字列等をワードの定義に置き換えてしまう、と言うことでしょうか?
この場合、最終的にスタックに積まれる物は何になるのでしょうか?

689:デフォルトの名無しさん
14/01/07 12:34:21.76 .net
>>688の自己レスですが、辞書にと言うことは素FORTHの話だと思うので
文字列を辞書に登録後、そのアドレスがスタックへ積まれることになりますね。

690:681
14/01/13 14:43:11.44 .net
681です。
インタプリタでいいよね?

691:デフォルトの名無しさん
14/01/15 17:15:27.03 .net
>>690
バイトコードとかスレッデッドコードインタプリタであればFORTHの普通過ぎると思う(誰もが一度はやる)
JIT(AnyCPU向け)実装とか,Factor見たいな構造をスタックに詰めるとかの部分をがんばらないとn番煎じになっちゃうから何か独自のがんばりが必要だと思うよ。

というかFactorが凄いのでアレ超えて欲しいな(アイデアだけでも)

OSSでがんばるならこっそりコントリビュートする人はこのスレにも多そうだからがんばれ!

692:デフォルトの名無しさん
14/01/15 23:01:48.08 .net
最初はベタな書き方でいいと思う

693:デフォルトの名無しさん
14/01/16 04:52:38.68 .net
Forth で Forth を書くんだ

694:デフォルトの名無しさん
14/01/17 10:55:03.71 .net
>>690
インタプリタだと、Forthの制御構造とかループが
意外とうまく行かなくて楽しいよ。

>>693
このスレの上の方にもありますが、Let over Lambdaでは
LispでForthを書いて、そのForthでLispを作ってますね。

695:デフォルトの名無しさん
14/01/26 21:50:03.79 .net
forthインタプリタありすぎてどれを使えばいいかよく分からないけど
とりあえずgforth使っておけばいいのかな

696:デフォルトの名無しさん
14/01/26 22:12:55.38 .net
とりあえずなら何使ってみてもいいと思うよ

697:デフォルトの名無しさん
14/01/27 11:46:12.62 .net
自分でインタプリタ書いてみるのも良い

698:デフォルトの名無しさん
14/02/20 20:29:49.07 .net
URLリンク(forthfreak.net)

699:デフォルトの名無しさん
14/03/12 13:38:35.60 ZbttMlJE.net
URLリンク(www.worldofspectrum.org)

Forth-83 の ZX Spectrum (欧州版 MSX1 のような Z80A 8 ビットパソコン) 版。
Forth-83_Extras.zip に Forth アセンブラ記述の実装ソースあり。FIG-Forth ベースらしく、最小限
のプリミティブワード以外は FIG-Forth と同じく Forth 自体で記述されてる。

700:デフォルトの名無しさん
14/03/12 17:03:35.35 f26liuj5.net
あの頃のPCに標準装備されてるのがゲイツBASICでなくてForthだったらPC世界は今とは随分違ったものになってただろうな。

701:デフォルトの名無しさん
14/03/12 17:20:04.88 w2TVy3P1.net
>>700
カシオの電卓もきっとRPNに!

BASICってコンピュータが何をしてくれるのかを学ぶのには適してるとおもうけどなあ
FORTHもそうだけどREPL環境のあるコンピュータ言語だとBASIC,FORTH,LISPの御三家があるけど、どれが一番よかったんだろう?

702:デフォルトの名無しさん
14/03/12 17:26:49.46 EfiLuccu.net
Lispがベストだが、いかんせん大食らい過ぎる。
Forthも悪くない。

Basicの奴はREPLのようなREPLでないような微妙なコマンドラインだしなぁ。

703:デフォルトの名無しさん
14/03/12 17:41:55.19 w2TVy3P1.net
>>702
実マシンのメモリモデル的にはBASICが一番合う気がするんだよね。
で関数定義を基本とするならLISPが一番。(引数と関数の関係が一目瞭然なので)
で、FORTHだとFACTORみたいにオブジェクトとメッセージみたいな含みができれば最高なのにという感じ
という個人的な感想をもっちゃう。
>Basicの奴はREPLのようなREPLでないような微妙なコマンドラインだしなぁ。
forgetで+とか以降を消して涙目とかは流石にBASICじゃできないと思うのでそこら辺のシステム空間とユーザ空間みたいな区別はあっても良いかもしれない

704:デフォルトの名無しさん
14/06/03 01:33:51.03 pa2cdK6+.net
>>704
そんなこたないんだが、arm用に特化したforth処理系ってのが存在しないのも事実なのでなんと言えばいいんだろうか。
ちなみに特化しなくても何とかなっちゃうのがforthの良い所だったり、何も無いところから作り込んでもそんなに手間じゃなかったりするのも魅力だったりする。
でもRaspberry PiみたいなLinuxが動いちゃう環境ならforth使う理由が殆どないよ。
むしろ生の機械語を直接書かないと駄目なような環境に向いてる。

705:デフォルトの名無しさん
14/06/03 11:48:06.91 XzYLHg3E.net
raspberry pi forth でググったらなんか出てくるみたいだが。

というか、rasp pi 衰退したOSや言語の敗者復活リングみたいになっててオモロイw

706:デフォルトの名無しさん
14/06/04 16:39:08.74 2ij5JthN.net
まさにそれ
URLリンク(star.gmobb.jp)

707:デフォルトの名無しさん
14/08/13 10:22:44.64 MV0il0Eo.net
★2ch勢いランキングサイトリスト★

☆ +ニュース板
・ 2NN
・ 2chTimes
☆ +ニュース板新着
・ 2NN新着
・ Headline BBY
・ Unker
☆ +ニュース板他
・ Desktop2ch
・ 記者別一覧
☆ 全板
・ 全板縦断勢いランキング
・ スレッドランキング総合ランキング
☆ 実況板
・ 2勢
・ READ2CH
・ i-ikioi

※ 要サイト名検索

708:デフォルトの名無しさん
15/02/05 18:47:19.10 Wisgh0P5.net
>>705

709:デフォルトの名無しさん
15/03/28 16:14:22.33 JCsZnGie.net
みんな生きてる?

710:デフォルトの名無しさん
15/03/28 16:52:42.19 iNpGjoni.net
." live!"

711:デフォルトの名無しさん
15/03/30 19:02:34.24 ZHuPrBLY.net
書籍が高すぎる

712:デフォルトの名無しさん
15/03/31 21:06:19.08 2fh/fl2T.net
windowsとLinuxで動作するISO準拠処理系プリーズ

713:デフォルトの名無しさん
15/04/01 21:02:18.21 A/TYeiEx.net
もう漏れしかいないのか
ついに手に入れた「FORTHへの招待」
さっそく読もう

714:デフォルトの名無しさん
15/04/01 23:35:21.77 6DGYq49D.net
懐かしい本だな
それと「スタックコンピュータ―CISC RISCとスタックアーキテクチャ」はバイブルだ

715:714
15/04/02 05:49:55.97 ZYrODdip.net
なんかROMとRAMの説明から始まってて和露他
いいからFORTHの説明はじめろや

716:デフォルトの名無しさん
15/04/09 21:33:48.07 DFOBVCzK.net
読み終わった
>>714とFORTH入門を注文した
FORTH入門は一万円以上した

717:デフォルトの名無しさん
15/04/09 22:41:41.16 LdJOGzfd.net
>>716
原著はWeb上にあるよね
URLリンク(home.iae.nl)
日本語版もほしいけど

718:デフォルトの名無しさん
15/04/12 19:17:21.15 4Fcd4Vhe.net
おk読了
次は>>714

719:デフォルトの名無しさん
15/04/12 19:25:26.49 3ERnJGQj.net
>>718
715はスタックマシンとForthへの愛に満ちているので毒されると悶死できるぞ

720:719
15/04/15 17:48:12.32 SFWZvMHG.net
知識不足のため理解しきれていない部分もあるがなんとか最後まで読んだ
↓この文が最高でした
RISCプロセッサのUnix/Cプログラマが8Mから16Mバイトより少ないメモリでは不満足で、
128Kバイトのキャッシュを要求しているときに、Forthプログラマたちはまだ、
スタックマシンに64Kバイト以上のメモリが本当に必要かどうかを熱心に議論している

721:デフォルトの名無しさん
15/04/18 09:39:32.64 W8H7yv/P.net
次の段階へ移行

722:デフォルトの名無しさん
15/05/04 16:20:21.65 McZN4pHS.net
日本のForthコミュニティって無いの?

723:デフォルトの名無しさん
15/05/04 16:33:45.12 /hwLfRb3.net
まだ人いるか?

724:デフォルトの名無しさん
15/05/04 16:56:02.08 szzze12E.net
>>722
つくろーぜ
>>723
いるぞー

725:デフォルトの名無しさん
15/05/04 17:44:37.74 kE0VI/DI.net
>>723
居るぜー
ForthだけじゃなくてLispも入るけど組み込み機器でデバッガを内包したいような時って選択肢無いんだよね。
でLispよりもForthの方が実メモリ食わないんで本当にチープな組み込み機器だとコレ知らないと死ねる。

726:デフォルトの名無しさん
15/05/04 18:06:54.59 McZN4pHS.net
意外と居てびっくりした!
作ろうか

727:デフォルトの名無しさん
15/05/04 18:43:39.64 McZN4pHS.net
>>725
Forthに慣れてる人がどんなデバッガ作るのか(どんなとこ見るのか)気になる

728:デフォルトの名無しさん
15/05/04 19:28:19.74 /hwLfRb3.net
>>727
別の人だけど
デバッガとしてFORTHのインターフェースをつかうってことじゃね?

729:デフォルトの名無しさん
15/05/06 15:56:46.02 pB1d0kiO.net
ちょっと面白いネタ見つけた
「スタックコンピュータ」の中の人、Forthの上でのグラフリダクションを研究してたらしい。
url長すぎって言われたんで↓でググってくれ
TIGRE: Combinator Graph Reduction on the RTX 2000

730:デフォルトの名無しさん
15/05/07 11:41:15.23 PQFXQAsu.net
やってる人はいまもやってるんだねえ

731:デフォルトの名無しさん
15/05/07 14:26:59.51 PQFXQAsu.net
「FORTH入門」すごいつかえる
処理系内部まで書かれているから自作するための参考になる

732:デフォルトの名無しさん
15/05/07 19:26:45.21 43KhqhpP.net
あのイラストも結構好きだ

733:デフォルトの名無しさん
15/05/09 01:15:17.53 91zCXcbE.net
ブート処理にforth 系のficl 使ってたOSがluaに切り替えてくみたいだが
やはりさわれる人の絶対数が多い言語に移ってくもんなのだろうか。
あと昔出版されて今じゃアマゾンでプレ値がついてそうなforth系の本、県立図書館で検索したら閉架に結構あったけど
たまたまなのか規模でかいとこなら普通に在庫あるのかな?

734:デフォルトの名無しさん
15/05/09 08:08:38.65 D66ceLoP.net
>>733
FreeBSD?

735:デフォルトの名無しさん
15/05/10 13:17:55.74 wSg+R97A.net
>>734
そそ。まだ先の予定っぽいけど

736:デフォルトの名無しさん
15/05/11 10:05:34.87 jfjxFlJu.net
FORTHと直接の関係はないんだけど
実行ファイルのダンプを保存してあとから実行するのってどうするの?
LISPの単体で動く実行ファイルの作り方と同じ仕組みだと思うのだけど
どうすればいいのかわからん

737:デフォルトの名無しさん
15/05/13 23:24:57.10 ZhcbFads.net
いまだにわからん

738:デフォルトの名無しさん
15/05/14 14:19:50.60 WhzKfy7h.net
VMをアセンブリでかくかcでかくか

739:デフォルトの名無しさん
15/05/19 12:28:41.76 CmG/oeDB.net
>>736
辞書と変数の設計に依るけど、単純にバイト列を展開するんじゃダメなのかな?
RetroForthがそんな設計だったような。
ちょっと挑戦してみようかな。

740:デフォルトの名無しさん
15/06/23 22:36:02.69 ifeDc53Z.net
そのバイト列に展開するのが難しそうだ

741:デフォルトの名無しさん
15/06/23 22:44:08.10 vwZF4gL5.net
OS依存になるよね、任意にcore dumpできるUnix系だとやりやすいかも
Fig FORTHだとOSに依存しないからできそうな気もする
#MC68000のFig FORTHをmotorolaのTutorial基板で触った事しかないんでうろ覚え

742:デフォルトの名無しさん
15/06/23 23:14:56.31 3QTDhBFd.net
レス早くてワロタ
Perlに同じような機能があったたはずだからちと調べてみゆ

743:デフォルトの名無しさん
15/07/06 12:32:57.19 YQDXrDaK.net
間接スレッデッドコードについて質問があります
IFなどの条件分岐ではそのワードの呼び出し箇所毎にパラメータが違うと思うのですが
その場合でも箇所毎にワードが生成されるのでしょうか?

744:デフォルトの名無しさん
15/07/10 00:42:46.31 wrUthjuc.net
もう解決したのかな?
ちょっとどういう質問なのかわからないので、詳しい人期待age

745:デフォルトの名無しさん
15/07/12 06:46:58.31 AaGOVdy1.net
>>743
いやたしか分岐先アドレスはスレッドに格納されるはず
つまりスレッドにはワードヘのポインタ以外にジャンプ用アドレスが含まれる

746:デフォルトの名無しさん
15/07/17 08:59:20.64 Hk7N5du5.net
全てをアセンブリで実装しようとしたら手がつけられなくなったので
とりあえずコア以外はcで実装すことに変更すた
しっかし本当おもしれえ
nextは僅か4命令だぞ

747:デフォルトの名無しさん
15/07/18 13:27:49.52 xBzkS6DZ.net
コアが実装できたら、後はforthで書こうぜ!

748:デフォルトの名無しさん
15/07/18 13:55:45.77 4KZmkVpL.net
>>746
今時のCPUだとアセンブリの方が実装しやすくない?

749:デフォルトの名無しさん
15/07/18 14:11:29.17 MJkUXIxe.net
URLリンク(blog.livedoor.jp)

750:デフォルトの名無しさん
15/07/18 14:12:29.69 MJkUXIxe.net
Forthユーザ発見

751:デフォルトの名無しさん
15/07/18 15:38:28.81 3XAPUy2X.net
このスレの連中は矢張りRPNやRPL電卓を使ってるのかな?

752:デフォルトの名無しさん
15/07/18 16:33:35.15 5U/xTE1h.net
電卓は持ってないけど、何か試したり計算するときはFactorとか使ってるよ

753:デフォルトの名無しさん
15/07/18 17:09:30.61 5U/xTE1h.net
Sukunaの人とか、もうForth触ってないのかな?
いろいろ話聞いてみたかった。

754:デフォルトの名無しさん
15/08/06 16:45:29.10 2u/3OVyT.net
スレッデッドコード用vm実装記念

755:デフォルトの名無しさん
15/08/06 17:06:23.35 0X10zjbP.net
乙、おめ

756:デフォルトの名無しさん
15/08/08 23:27:26.32 HMF33mTD.net
復活

757:デフォルトの名無しさん
15/08/10 18:29:16.42 XUokgt8i.net
できてきた
I/OをCからアセンブリに実装し直してさらに小さくする
age

758:デフォルトの名無しさん
15/08/13 14:07:02.04 H7bzx0I1.net
ところでみんなコードは小文字大文字どっちでかいてる?

759:デフォルトの名無しさん
15/08/13 16:00:05.24 TIALnNkC.net
>>758
今はfactor大好きなので小文字かなー
昔VT100でForth使ってたときは大文字だったよー(ワードの大文字小文字は入力時に大文字変換されてたりとか:処理系が大文字のみだと辞書のワードを圧縮したりとかしてたりする貧乏メモリ用だったりとか)

760:デフォルトの名無しさん
15/08/15 15:19:53.94 fkPcgHEe.net
小文字で書ぃてるょ

761:デフォルトの名無しさん
15/08/15 15:24:43.03 fkPcgHEe.net
処理系作ってようやく何やってるのかわかったけど、>>56とか>>62面白いなあ

762:デフォルトの名無しさん
15/09/16 00:48:03.18 VN2DGtV9.net
なんども あきては なんども やる

763:デフォルトの名無しさん
15/09/19 22:00:25.70 GM7+1MtI.net
ふーむ少なくとも仮想機械はアセンブリで書かなければ移植は難しいな
一方コンパイラはcで書いてもあとでそれ自身に移植可能
あと最近2chで擬古猫見ないね

764:デフォルトの名無しさん
15/10/12 09:27:11.26 jWUV6tHKA
>ふーむ少なくとも仮想機械はアセンブリで書かなければ移植は難しいな

URLリンク(www.forthworks.com)

俺ForthではあるけれどVMはCで簡潔に書かれているから
めちゃくちゃいろんな言語に移植されて動いてるぞ

765:デフォルトの名無しさん
15/10/12 21:43:04.76 IsRJDN+gd
>>764
Cで書かれたのは移植性が凄く高いけど
ハードウェアスタックを使いにくいので
古いCPUでは性能が大きく下がっちゃう

というか、VMって言うレベルじゃないでしょ
アセンブラでもわずか数行~十数行

766:デフォルトの名無しさん
15/12/31 06:27:31.47 shctMMuK.net
あげ

767:デフォルトの名無しさん
15/12/31 06:51:07.49 shctMMuK.net
URLリンク(phaendal.hatenablog.com)
↑FORTHの関しての記事があるのであげとま

768:デフォルトの名無しさん
15/12/31 10:17:38.69 KKAqg1l1.net
馬鹿には無理

769:デフォルトの名無しさん
15/12/31 10:33:47.60 /wbyPP1f.net
便乗age
URLリンク(research.microsoft.com)

770:デフォルトの名無しさん
16/01/01 09:58:20.44 kXdPExCb.net
あけおめ!

771:デフォルトの名無しさん
16/01/10 13:33:35.16 z1pxpAJ/.net
人いるんか!

772:デフォルトの名無しさん
16/01/10 23:48:42.16 /2nnPZOa.net
フォースの覚醒

773:デフォルトの名無しさん
16/01/11 08:24:42.35 lZl+kkOU.net
復活の時は近い

774:デフォルトの名無しさん
16/01/11 16:40:56.58 I0GTrlSH.net
Erlang/Elixirに浮気中

775:デフォルトの名無しさん
16/01/11 19:48:51.43 nxq211rs.net
>>774
あれ、俺書き込んだ?
ってマジで思った

776:デフォルトの名無しさん
16/01/12 10:27:02.83 LOHPMzQN.net
今処理系実装してるけど実用的にしようとなると結構難しいな

777:デフォルトの名無しさん
16/01/18 21:50:56.98 jq3Y7yyE.net
この言語の面白いところは低水準で動的なことをすべて行えること
コールスタックまで直接制御できるから継続のようなことも簡単にできる
一方でコンピュータサイエンスとしてのセンスはかけらもなくとても原始的だ

778:デフォルトの名無しさん
16/01/21 10:50:22.29 aPv8m3ec.net
だれかこいよ
寂しいな。。。

779:デフォルトの名無しさん
16/01/21 12:56:52.61 zpe1QHZ3.net
>3 pop

780:デフォルトの名無しさん
16/01/21 14:03:53.56 aPv8m3ec.net
>>779
   ∧_∧
   ∧_∧ ) 
  (   )) 
  ;つ 乙ノ 
  (_  ノ | 
  ((_ノ~∪

781:デフォルトの名無しさん
16/01/22 02:24:26.04 EeNvrSL9.net
>>779
それhoshuや、pushちゃう
自分が幼少の頃に親父の読んでたInterfaceって本のなかにtitって言語の紹介があったのがForth系言語のなれそめだったなぁ。
そのアトはHPの電卓とFigForthの68K版をMC68000のKit上で動かしてからはまった感じだわ

782:デフォルトの名無しさん
16/01/22 13:27:11.36 7GZnHmXQ.net
ErlangでFORTHっていうかideoneすげー
URLリンク(ideone.com)

783:デフォルトの名無しさん
16/01/22 15:42:45.07 dviPRblt.net
まだちゃんといて安心したよ。。。

784:デフォルトの名無しさん
16/01/24 15:06:52.25 Ih+3kdbT.net
いまつくっているんだがやはり設計が古すぎる
予定を変更してシェルを分離させる

785:デフォルトの名無しさん
16/01/24 18:12:17.44 1S5ux+s6.net
意味が分からん。主語くらい略さないで入れろ。

786:デフォルトの名無しさん
16/01/26 04:19:18.92 fodjyooQ.net
標準のFORTHでバイナリを呼び出すための機構ってある?

787:デフォルトの名無しさん
16/01/27 09:41:43.11 PS/Qpp4W.net
stack overflow

788:デフォルトの名無しさん
16/01/27 21:20:50.27 JOMz1gR9.net
処理系によるかもだか、
スタッフオーバーフローだけじゃなくアンダーフローも味わえる

789:デフォルトの名無しさん
16/02/15 15:23:31.07 z4NOVyYm.net
失礼
スタックマシンのチップを購入したい
どこかいい入手ルートはないか

790:デフォルトの名無しさん
16/02/16 02:45:46.59 WhucjpIR.net
>>789
ARMとか十分にスタックマシンしてると思うのだが
昔の本当にちっちゃいやつが欲しいってのだと今ならトラ技付録FPGAで作る方が入手性は優しい希ガス

791:デフォルトの名無しさん
16/02/16 09:14:36.21 CursrUUy.net
>>790
そうではないです
データスタックを持っているマシンがほしいのです

792:デフォルトの名無しさん
16/02/16 19:04:31.14 eSxr0LUY.net
具体的に欲しいチップを書いた方が

793:デフォルトの名無しさん
16/02/18 20:54:10.95 affLGCHB.net
間接スレッデッドコードはネイティブと比較してどのぐらいメモリ削減効果があるのでしょうか
どなたかデータかその参照を教えてもらえませんか

794:デフォルトの名無しさん
16/02/22 15:12:30.92 p5oR4ktM.net
GNUの実装についてホムペは変わってないけど開発進んでるのな
しかもAndroid版も有りやがる

795:デフォルトの名無しさん
16/03/12 12:26:01.29 x2aIRV1Q.net
>>789
greenarrays.com

796:デフォルトの名無しさん
16/03/12 23:49:41.78 88to1Dnq.net
このFORTHってのは少なくとも古典的なものは強くノイマン型アーキテクチャに依存してるのな

797:デフォルトの名無しさん
16/03/13 14:02:52.50 KRhmXkXRG
>>791
MC68000系ならデータスタック放題

>>793
間接と直接の違いをインストラクションレベルで比較すればおおよそわかろうに
逆にCPU絞らないと答えようない

>>796
いろんな意味でアセンブラだったから

798:デフォルトの名無しさん
16/03/13 19:45:46.56 B/df0Unxc
こっちでレスしても

799:デフォルトの名無しさん
16/03/13 20:15:36.16 KRhmXkXRG
うん
なんとなくわざと

800:デフォルトの名無しさん
16/03/16 07:21:36.48 4qqZTEIs.net
QUIT ( -- ) Clears all stacks and returns control to the terminal. No message is given.

GForth
1 2 3 4 5 ok
.s <5> 1 2 3 4 5 ok
quit
.s <5> 1 2 3 4 5 ok

は?だれか説明してよ!

801:デフォルトの名無しさん
16/03/28 06:53:30.25 pr7JX2mY.net
過疎ってるなぁ

802:デフォルトの名無しさん
16/03/30 19:26:03.16 qYZ8N3Ke3
>>801
そうだね~
独学で始めた人が辿り着いて
飽きちゃうか
本格的な言語の実装を勉強しはじめると
離れていっちゃう感じ

803:デフォルトの名無しさん
16/03/31 17:14:17.24 HiG8h3J6.net
windows10 64bit版にてswiftforth評価版が動きません。
どなたか解決策を知りませんか?

804:デフォルトの名無しさん
16/04/01 13:02:30.15 50lRt7vL.net
流行る要素が無いよね

805:デフォルトの名無しさん
16/04/02 23:14:22.41 2gBYslTZ.net
>>803
俺もだ
誰かおすえて

806:デフォルトの名無しさん
16/04/04 07:02:35.55 hhHTa9vL.net
ねんがんの「パーソナルエキスパートシステム」をてにいれたぞ!

807:デフォルトの名無しさん
16/04/06 21:09:55.72 s4LMXlxO.net
>>806
一体なにができるの?バカな漏れには全くわからん

808:デフォルトの名無しさん
16/04/07 14:56:44.89 eXkP/TbN.net
「パーソナルエキスパートシステム入門」だった…

>>807
forthでエキスパートシステム書くって本らしい。
(まだ来てない。)

809:デフォルトの名無しさん
16/04/13 21:48:47.74 eHTpuWMC.net
>>808
なんだそりゃ!?
相も変わらずFORTHコミュニティは我が道を逝くな(藁('A`)

810:デフォルトの名無しさん
16/04/14 01:11:18.38 FsF2j7W4.net
>>809
Use the forth Luke.ってくらいだしな

811:デフォルトの名無しさん
16/04/27 03:12:26.27 fW/sUK0/.net
FORTH社公式サイトなんかモダンな感じにリニューアルされているぞ

812:デフォルトの名無しさん
16/04/28 06:46:01.82 6C4hGrzb.net
ほんまや…
つか、キャッチ見る感じFPGA対応とかやってっぽい?

813:デフォルトの名無しさん
16/04/29 00:42:56.46 T+fk1/ws.net
それに比べMPEときたら。。。

814:デフォルトの名無しさん
16/04/30 13:33:33.16 +u6TG0xk.net
>>812
なにをもって対応というのか知らんがFPGAを使ったソリューションはあるね

815:デフォルトの名無しさん
16/05/03 01:28:59.09 3SS4lwd4.net
XTがImmediateかどうか調べるワードってある?

816:デフォルトの名無しさん
16/05/03 13:54:49.01 nk6XRDP5.net
>>814
forthでfpgaの回路組めるとかだったら面白いなw

817:デフォルトの名無しさん
16/05/06 02:21:23.49 FS8HTadE.net
いま逆ポーランド記法で書ける正規表現エンジンを作ろうか考えているんだけどAB*C|こんな感じにね
もうすでにあったりするんだろうか?あForth上でね?教材としてあるのは知っているから
Forthのもつ動的コンパイルを利用することで高移植性のJITエンジンが実装できると思ってね
( 自らをコンパイルすることができる言語はこういったスクリプトやインタプリタを移植性を保ったまま簡単に高速化できるところが素晴らしいよね)

エグって呼んで~

818:デフォルトの名無しさん
16/05/06 02:23:03.98 FS8HTadE.net
>>815
たぶん標準ではないな
文字列ベースならFINDがあるんだけどね

819:デフォルトの名無しさん
16/05/31 01:39:08.36 NOiY1sCF.net
forthに足りないのはコマンド言語だ。
forthのプロシージャー呼び出しはすべてディクショナリ内に限られるため外部プログラムを効率よく利用できない。
シェルスクリプトのように外部forthプログラムをうまく呼び出す機構があればいいが。。。
スタックをパイプのようにプログラムで共有するとおもしろいかもしれない。

820:デフォルトの名無しさん
16/10/07 16:43:56.85 oA26EQDq.net
gforthで実数演算たとえば、
1.0 +2.0
の様なものをしたいのですが、
1.0e0 2.0e0 + .
としても
1.0e0 2.0e0 f+ .
としても結果が得られません。
実数演算はどうすればいいのでしょうか。
ご教示お願いいたします。

821:デフォルトの名無しさん
16/10/07 17:47:53.85 ah4nbj/y.net
URLリンク(www.h7.dion.ne.jp)

822:デフォルトの名無しさん
16/10/07 19:28:13.23 oA26EQDq.net
>>821
これは、読んだのですが、実例が初心者には敷居が高くて
よく理解できません。
2.0 + 3..0 のような簡単な例を示した物は
ないでしょうか。

823:デフォルトの名無しさん
16/10/07 23:18:29.98 oA26EQDq.net
>>822
結局、FACTORに乗り換えました。
こちらの方が判り易くて、すぐ実数演算(浮動小数点演算)ができるように
なりました。

824:デフォルトの名無しさん
16/10/08 01:43:58.77 ID/gDwfMW
>1.0e0 2.0e0 f+ .
これの最後を 「.」ではなく「f. 」にすれば、おそらく望んだとおりの結果が得られるかと
つまり、
1.0e0 2.0e0 f+ f.

825:デフォルトの名無しさん
16/10/08 01:48:01.15 ID/gDwfMW
わははw

826:デフォルトの名無しさん
16/10/09 06:39:24.29 pfNs/KcX.net
週明け、ちょっと面白いforthの論文読めるかもしれない。
forthっていうより、その上に作られたkevoって風変わりなOOP言語のだけどさ。

827:デフォルトの名無しさん
16/10/17 19:24:52.26 HyFRmQUJ.net
>>820
その場合 . じゃなくて f.

828:デフォルトの名無しさん
16/11/06 00:15:56.03 RpZeQ9IA.net
Factorのチュートリアル分かりにくい。Racketを見習え��

829:デフォルトの名無しさん
16/12/30 20:20:02.53 XiEG6f+8.net
もう2016年も終わりだな

830: 【末吉】 【2等 10,000,000円】
17/01/01 11:49:42.83 wqx7ZaQB.net
.

831:デフォルトの名無しさん
17/01/03 10:53:07.10 KXR/d/nR.net
ことしもよろしく!

832:デフォルトの名無しさん
17/01/03 12:26:49.35 qzU7aiCI.net
>>830
2等おめ

833:デフォルトの名無しさん
17/02/04 16:41:26.43 6xXEHIbo.net
うんこ
話題ねーなー

834:デフォルトの名無しさん
17/02/04 16:44:12.53 e9aNESBj.net
あへ

835:デフォルトの名無しさん
17/02/05 14:14:31.59 nBEZPMY5.net
なんか話せ

836:デフォルトの名無しさん
17/02/28 21:19:29.80 5qIw+x2+.net
factor 1.0 マダー

837:デフォルトの名無しさん
17/03/03 18:00:20.86 3XbKihVE.net
うんやってみようとおもう。
ところで仕様書(規格書)はどこにあるんですかね?

838:デフォルトの名無しさん
17/03/03 18:29:59.44 IUFykjWp.net
>1- よめ

839:デフォルトの名無しさん
17/03/04 00:48:33.45 4xESmR76.net
>>838 わかんない
URLリンク(www.openfirmware.info)
これかな?

840:デフォルトの名無しさん
17/03/04 01:07:38.10 4xESmR76.net
URLリンク(www.forth.org)
こっち

841:デフォルトの名無しさん
17/03/04 12:32:44.96 GRvQ2lmz.net
>>782
まだ残ってたのか

842:デフォルトの名無しさん
17/04/03 11:16:21.17 UVNX4qSu.net
みなさーん生きてますかー?

843:デフォルトの名無しさん
17/04/03 19:02:54.60 Z+6yuhBz.net
いきとるぞー
純粋なforthは全然さわらずfactorばっかりだけどな
あと組み込み機でTITもどきかなー

844:デフォルトの名無しさん
17/04/03 19:11:44.32 UVNX4qSu.net
次スレでは皆が胸を張れるように「スタック指向言語」「連鎖型言語」みたいなくくりにしよう!

845:デフォルトの名無しさん
17/04/04 02:27:49.55 WA/rnyB6.net
>>844
forthだとスタックに積まれたオブジェクトに関数ってメッセージを送るって言うことだとおもうのだけど。
そういう単純な理解じゃ駄目なの?
言語レベルで隠蔽されていることを生で扱うって事で良いんじゃ無いの?
Lispだと関数の呼び出しが括弧で括られいるから呼び出しの引数の扱いが閉じられているけど、forthの場合は関数が必要な分を消費するというか

846:デフォルトの名無しさん
17/04/04 09:11:34.40 89iVo3+8.net
メッセージ?違う言語と勘違いしてそう

847:デフォルトの名無しさん
17/04/04 11:14:00.29 wm/ZDuC6.net
コールスタックとforthのスタックは別物だよね。

848:デフォルトの名無しさん
17/04/05 02:36:38.33 9ywW0Xq5.net
>>847
2つあるんだよ、関数呼び出しの戻りアドレス用のスタックと別にもう一つあるんよ

849:デフォルトの名無しさん
17/04/05 14:29:17.29 +eJqUohN.net
アキュムレータ

850:デフォルトの名無しさん
17/04/11 00:06:23.90 N954SJpH.net
forthがスタック指向であるようにアキュムレータ指向のプログラム言語というものは作れるのかな

851:デフォルトの名無しさん
17/04/11 01:23:43.97 Y8UBVT27.net
>>850
マジレスするとmacroありのassemblerじゃねぇの?
macro80やslrasmでもできたぞ

852:デフォルトの名無しさん
17/04/15 23:36:33.20 bK+0/AQY.net
>>851
マクロだけでは構文は抽象化出来てもシステムとして抽象化しきれないと思うけど

853:デフォルトの名無しさん
17/04/16 02:22:54.36 GjRoh4Fn.net
単に計算は常にAXを使うってだけなら特に面白みもなさそう
スタック無しでレジスタ無限ということなら……単に再帰呼び出し禁止なだけの普通の言語だよなあ

854:デフォルトの名無しさん
17/04/17 06:41:15.22 Oz2f+5Ln.net
>>852
ニクラウス・ヴィルトの言うところの条件分岐とか繰り返し構文はチョロく書けるよ>>macro80とslrasmとかのマクロアセンブラ
つかmacro80とか8bit時代のあのメモリでよくやるわと思う。

forthスレっぽいネタだと昔(1981年の8月号だと思う)のCQ出版の記事でTITって言語があってこれがマクロアセンブラでforthを実装するって記事だったような?

855:デフォルトの名無しさん
17/07/19 19:04:38.23 IRmsE5AJ.net
1 . 2 . 3 . 4 .

856:デフォルトの名無しさん
17/08/13 12:07:02.89 BkdmOdbH.net
実に簡素で危険で強力だ。
貧者の言語だな。
俺にふさわしい。

857:デフォルトの名無しさん
17/09/03 23:56:49.18 sfrNKeHf.net
もうオレしかいないのか。。。。。

858:デフォルトの名無しさん
17/09/04 18:01:02.81 XVvO50gB.net
無いのはネタだよ

859:デフォルトの名無しさん
17/09/05 22:07:51.16 jOSE+tCs.net
俺も見てるよ

860:デフォルトの名無しさん
17/09/06 12:34:34.16 nQAnFQdT.net
時々見に来てる

861:デフォルトの名無しさん
17/09/06 15:10:52.90 p7vL1/ES.net
点呼スレ

862:デフォルトの名無しさん
17/09/17 21:34:39.86 ozIOAGyP.net
age

863:デフォルトの名無しさん
17/09/18 20:29:59.37 lhUDwV9a.net
これまで全く気にしたことないけど、forthって動的にリンクするライブラリの類は存在するの?

864:デフォルトの名無しさん
17/09/19 17:19:50.82 xxOzXrDl.net
OPT

865:デフォルトの名無しさん
17/10/10 10:11:32.51 jFJIQFdq.net
いま処理系書いているわけどすよ
古典的なディクショナリに含まれる変数領域(エントリのitcならpfバイトコードならcf)って実行時書き込みが必要だからrom化できないよね?
ディクショナリをromに組み込む時どのようにしたらいいの?

866:デフォルトの名無しさん
17/10/13 08:39:42.67 vQb8BZek.net
?単にリンク時に再配置すればよいのではないだろうか

867:デフォルトの名無しさん
17/11/18 00:00:24.25 u5vhQC2r.net
age

868:デフォルトの名無しさん
18/02/02 03:15:38.93 ZCx6BMYx.net
保★守

869:デフォルトの名無しさん
18/02/03 09:42:57.30 qWVkS+Es.net
やってみ

870:デフォルトの名無しさん
18/05/23 20:31:13.02 Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
96NO5

871:デフォルトの名無しさん
18/06/04 02:21:55.88 qEnuCrwb.net
本当に話題がないんですね

872:デフォルトの名無しさん
18/07/04 22:35:26.93 gFgZc5FG.net
SQU

873:デフォルトの名無しさん
18/07/06 12:19:01.04 uTPDH9XV.net
96NO5

874:デフォルトの名無しさん
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