2 part forth
>>639
forth系ってパズル的な楽しさがあるよな ttp://builds.factorcode.org/package?os=windows&cpu=x86.32
また新しいのキター ttp://builds.factorcode.org/package?os=windows&cpu=x86.32
今日の更新 ttp://builds.factorcode.org/package?os=windows&cpu=x86.32
ニューバージョンが来たってことでしょ うーん、それニューバージョンって言うものか?
一見するとリリースノートもないし、開発者向けにビルドし直したもので、
一般のユーザー向けに作られたものじゃないと推察するのだが。
本スレに書いてる人、何が変わったか把握してる? a
a
   a >>117のコントロールフロースタックについてもうちょっと詳しく聞きたい
ジャンプ先って何へのジャンプ先? forthの最大の欠点ってfactorみたいなオブジェクト指向にしたときにスタックに積んだ引数と関数の期待する型が違ったときに困る事だとおもうんだけど
コンパイラのレベルでこれってなんとかならんの? 普通の関数型言語と一緒じゃね?
全てのトークンに引数型と戻り値型を対応付けて、コンパイル時に
型解決すれば良いと思うけど。 Windows上のFactorで日本語表示させる方法がわからん "日本語" H{ { font-name "メイリオ" } } format nl
で表示できた。
あとはlistenerのfont-nameを書き換えられたらいいのかな。 保守!!!
Forth は実用に耐えるのですか?特に可読性的に thx
まさかこんなに早く返事がくるとは思わなかった! 常に人はいるんだわ
単に新しい話題がなんにもないだけで >>678
Forthの力ってすげー。
>>680
なる
おもしろそうだな。
RPNで文法が統一されているところが超COOLだ!
俺が作ってみようじゃないか?!
ちなみに慣例や伝統はしらぬから、
皆が想像しているものと大きく違うと思うがな!! >>683
文字数と文字列本体からなる構造体のアドレス(ポインタ)、とか。 日本語情報なら
http://www-lab.ee.uec.ac.jp/text/forth/
http://www.h7.dion.ne.jp/~samwyn/forth.htm
後者の Gforth マニュアル
http://www.h7.dion.ne.jp/~samwyn/forth/gforth/index.html
は「OS コマンドライン引数用ワード」まで訳してある (残りは未訳)。
また、ANS Forth ではない独自仕様だけども、
http://www.h7.dion.ne.jp/~samwyn/forth/RetroLanguage.html
http://www.h7.dion.ne.jp/~samwyn/forth/Ngaro.html
http://www.h7.dion.ne.jp/~samwyn/forth/retroimage.htm
も Forth 自体の実装を目論むなら参考になるかも (ちなみに現在の RetroForth はこれよりもう少し進化してる)。 >>683
684の追記ですが、素のFORTHだとスタックには数値しか置けないので
文字列のアドレスがスタックに積まれます。
もちろんFactorの様に、なんでもスタックに積めるのもアリです。
私もなんでも積めるように実装して、まぁうまく行ったのですが
>>672の方と同じ問題もあったので、スタックには数値しか置けない
実装も試してみたいと思っています。 >>687
文字列等をワードの定義に置き換えてしまう、と言うことでしょうか?
この場合、最終的にスタックに積まれる物は何になるのでしょうか? >>688の自己レスですが、辞書にと言うことは素FORTHの話だと思うので
文字列を辞書に登録後、そのアドレスがスタックへ積まれることになりますね。 >>690
バイトコードとかスレッデッドコードインタプリタであればFORTHの普通過ぎると思う(誰もが一度はやる)
JIT(AnyCPU向け)実装とか,Factor見たいな構造をスタックに詰めるとかの部分をがんばらないとn番煎じになっちゃうから何か独自のがんばりが必要だと思うよ。
というかFactorが凄いのでアレ超えて欲しいな(アイデアだけでも)
OSSでがんばるならこっそりコントリビュートする人はこのスレにも多そうだからがんばれ! >>690
インタプリタだと、Forthの制御構造とかループが
意外とうまく行かなくて楽しいよ。
>>693
このスレの上の方にもありますが、Let over Lambdaでは
LispでForthを書いて、そのForthでLispを作ってますね。 forthインタプリタありすぎてどれを使えばいいかよく分からないけど
とりあえずgforth使っておけばいいのかな http://www.worldofspectrum.org/infoseek.cgi?regexp=^Forth-83$&pub=^Lennart+C.+Benschop$
Forth-83 の ZX Spectrum (欧州版 MSX1 のような Z80A 8 ビットパソコン) 版。
Forth-83_Extras.zip に Forth アセンブラ記述の実装ソースあり。FIG-Forth ベースらしく、最小限
のプリミティブワード以外は FIG-Forth と同じく Forth 自体で記述されてる。 あの頃のPCに標準装備されてるのがゲイツBASICでなくてForthだったらPC世界は今とは随分違ったものになってただろうな。 >>700
カシオの電卓もきっとRPNに!
BASICってコンピュータが何をしてくれるのかを学ぶのには適してるとおもうけどなあ
FORTHもそうだけどREPL環境のあるコンピュータ言語だとBASIC,FORTH,LISPの御三家があるけど、どれが一番よかったんだろう? Lispがベストだが、いかんせん大食らい過ぎる。
Forthも悪くない。
Basicの奴はREPLのようなREPLでないような微妙なコマンドラインだしなぁ。 >>702
実マシンのメモリモデル的にはBASICが一番合う気がするんだよね。
で関数定義を基本とするならLISPが一番。(引数と関数の関係が一目瞭然なので)
で、FORTHだとFACTORみたいにオブジェクトとメッセージみたいな含みができれば最高なのにという感じ
という個人的な感想をもっちゃう。
>Basicの奴はREPLのようなREPLでないような微妙なコマンドラインだしなぁ。
forgetで+とか以降を消して涙目とかは流石にBASICじゃできないと思うのでそこら辺のシステム空間とユーザ空間みたいな区別はあっても良いかもしれない 組込み試作品に使える言語を探していて、Forthに行き当たった。
ZigBee、Raspberry Piなんだが、Forthはこういうの苦手なんだろうか? >>704
そんなこたないんだが、arm用に特化したforth処理系ってのが存在しないのも事実なのでなんと言えばいいんだろうか。
ちなみに特化しなくても何とかなっちゃうのがforthの良い所だったり、何も無いところから作り込んでもそんなに手間じゃなかったりするのも魅力だったりする。
でもRaspberry PiみたいなLinuxが動いちゃう環境ならforth使う理由が殆どないよ。
むしろ生の機械語を直接書かないと駄目なような環境に向いてる。 raspberry pi forth でググったらなんか出てくるみたいだが。
というか、rasp pi 衰退したOSや言語の敗者復活リングみたいになっててオモロイw まさにそれ
ttp://star.gmobb.jp/koji/cgi/wiki.cgi?page=AVR%A5%D3%A5%C7%A5%AA%C3%BC%CB%F6%A4%CE%C0%BD%BA%EE ★2ch勢いランキングサイトリスト★
☆ +ニュース板
・ 2NN
・ 2chTimes
☆ +ニュース板新着
・ 2NN新着
・ Headline BBY
・ Unker
☆ +ニュース板他
・ Desktop2ch
・ 記者別一覧
☆ 全板
・ 全板縦断勢いランキング
・ スレッドランキング総合ランキング
☆ 実況板
・ 2勢
・ READ2CH
・ i-ikioi
※ 要サイト名検索 windowsとLinuxで動作するISO準拠処理系プリーズ もう漏れしかいないのか
ついに手に入れた「FORTHへの招待」
さっそく読もう 懐かしい本だな
それと「スタックコンピュータ―CISC RISCとスタックアーキテクチャ」はバイブルだ なんかROMとRAMの説明から始まってて和露他
いいからFORTHの説明はじめろや 読み終わった
>>715とFORTH入門を注文した
FORTH入門は一万円以上した >>719
715はスタックマシンとForthへの愛に満ちているので毒されると悶死できるぞ 知識不足のため理解しきれていない部分もあるがなんとか最後まで読んだ
↓この文が最高でした
RISCプロセッサのUnix/Cプログラマが8Mから16Mバイトより少ないメモリでは不満足で、
128Kバイトのキャッシュを要求しているときに、Forthプログラマたちはまだ、
スタックマシンに64Kバイト以上のメモリが本当に必要かどうかを熱心に議論している >>724
居るぜー
ForthだけじゃなくてLispも入るけど組み込み機器でデバッガを内包したいような時って選択肢無いんだよね。
でLispよりもForthの方が実メモリ食わないんで本当にチープな組み込み機器だとコレ知らないと死ねる。 >>726
Forthに慣れてる人がどんなデバッガ作るのか(どんなとこ見るのか)気になる >>728
別の人だけど
デバッガとしてFORTHのインターフェースをつかうってことじゃね? ちょっと面白いネタ見つけた
「スタックコンピュータ」の中の人、Forthの上でのグラフリダクションを研究してたらしい。
url長すぎって言われたんで↓でググってくれ
TIGRE: Combinator Graph Reduction on the RTX 2000 「FORTH入門」すごいつかえる
処理系内部まで書かれているから自作するための参考になる ブート処理にforth 系のficl 使ってたOSがluaに切り替えてくみたいだが
やはりさわれる人の絶対数が多い言語に移ってくもんなのだろうか。
あと昔出版されて今じゃアマゾンでプレ値がついてそうなforth系の本、県立図書館で検索したら閉架に結構あったけど
たまたまなのか規模でかいとこなら普通に在庫あるのかな? FORTHと直接の関係はないんだけど
実行ファイルのダンプを保存してあとから実行するのってどうするの?
LISPの単体で動く実行ファイルの作り方と同じ仕組みだと思うのだけど
どうすればいいのかわからん >>737
辞書と変数の設計に依るけど、単純にバイト列を展開するんじゃダメなのかな?
RetroForthがそんな設計だったような。
ちょっと挑戦してみようかな。 OS依存になるよね、任意にcore dumpできるUnix系だとやりやすいかも
Fig FORTHだとOSに依存しないからできそうな気もする
#MC68000のFig FORTHをmotorolaのTutorial基板で触った事しかないんでうろ覚え レス早くてワロタ
Perlに同じような機能があったたはずだからちと調べてみゆ