2 part forth

1デフォルトの名無しさん
垢版 |
NGNG
第四世代
679デフォルトの名無しさん
垢版 |
2014/01/05(日) 23:08:26.86
thx

まさかこんなに早く返事がくるとは思わなかった!
2014/01/06(月) 05:54:37.02
常に人はいるんだわ

単に新しい話題がなんにもないだけで
681デフォルトの名無しさん
垢版 |
2014/01/06(月) 15:05:08.84
>>678
Forthの力ってすげー。

>>680
なる


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

ちなみに慣例や伝統はしらぬから、
皆が想像しているものと大きく違うと思うがな!!
2014/01/06(月) 17:56:02.28
>>681 期待してます!
683デフォルトの名無しさん
垢版 |
2014/01/06(月) 20:20:59.69
文字列はどういう風に扱えばよいのですか?
2014/01/06(月) 21:14:53.59
>>683
文字数と文字列本体からなる構造体のアドレス(ポインタ)、とか。
2014/01/06(月) 22:41:12.49
日本語情報なら
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 はこれよりもう少し進化してる)。
2014/01/06(月) 23:19:19.70
>>683

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

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

私もなんでも積めるように実装して、まぁうまく行ったのですが
>>672の方と同じ問題もあったので、スタックには数値しか置けない
実装も試してみたいと思っています。
2014/01/07(火) 09:04:59.98
ややこしい物は全部辞書に突っ込むとかの手も。
2014/01/07(火) 11:29:30.09
>>687
文字列等をワードの定義に置き換えてしまう、と言うことでしょうか?
この場合、最終的にスタックに積まれる物は何になるのでしょうか?
2014/01/07(火) 12:34:21.76
>>688の自己レスですが、辞書にと言うことは素FORTHの話だと思うので
文字列を辞書に登録後、そのアドレスがスタックへ積まれることになりますね。
690681
垢版 |
2014/01/13(月) 14:43:11.44
681です。
インタプリタでいいよね?
2014/01/15(水) 17:15:27.03
>>690
バイトコードとかスレッデッドコードインタプリタであればFORTHの普通過ぎると思う(誰もが一度はやる)
JIT(AnyCPU向け)実装とか,Factor見たいな構造をスタックに詰めるとかの部分をがんばらないとn番煎じになっちゃうから何か独自のがんばりが必要だと思うよ。

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

OSSでがんばるならこっそりコントリビュートする人はこのスレにも多そうだからがんばれ!
2014/01/15(水) 23:01:48.08
最初はベタな書き方でいいと思う
693デフォルトの名無しさん
垢版 |
2014/01/16(木) 04:52:38.68
Forth で Forth を書くんだ
2014/01/17(金) 10:55:03.71
>>690
インタプリタだと、Forthの制御構造とかループが
意外とうまく行かなくて楽しいよ。

>>693
このスレの上の方にもありますが、Let over Lambdaでは
LispでForthを書いて、そのForthでLispを作ってますね。
2014/01/26(日) 21:50:03.79
forthインタプリタありすぎてどれを使えばいいかよく分からないけど
とりあえずgforth使っておけばいいのかな
2014/01/26(日) 22:12:55.38
とりあえずなら何使ってみてもいいと思うよ
2014/01/27(月) 11:46:12.62
自分でインタプリタ書いてみるのも良い
698デフォルトの名無しさん
垢版 |
2014/02/20(木) 20:29:49.07
http://forthfreak.net/jsforth80x25.html
2014/03/12(水) 13:38:35.60ID:ZbttMlJE
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 自体で記述されてる。
2014/03/12(水) 17:03:35.35ID:f26liuj5
あの頃のPCに標準装備されてるのがゲイツBASICでなくてForthだったらPC世界は今とは随分違ったものになってただろうな。
2014/03/12(水) 17:20:04.88ID:w2TVy3P1
>>700
カシオの電卓もきっとRPNに!

BASICってコンピュータが何をしてくれるのかを学ぶのには適してるとおもうけどなあ
FORTHもそうだけどREPL環境のあるコンピュータ言語だとBASIC,FORTH,LISPの御三家があるけど、どれが一番よかったんだろう?
2014/03/12(水) 17:26:49.46ID:EfiLuccu
Lispがベストだが、いかんせん大食らい過ぎる。
Forthも悪くない。

Basicの奴はREPLのようなREPLでないような微妙なコマンドラインだしなぁ。
2014/03/12(水) 17:41:55.19ID:w2TVy3P1
>>702
実マシンのメモリモデル的にはBASICが一番合う気がするんだよね。
で関数定義を基本とするならLISPが一番。(引数と関数の関係が一目瞭然なので)
で、FORTHだとFACTORみたいにオブジェクトとメッセージみたいな含みができれば最高なのにという感じ
という個人的な感想をもっちゃう。
>Basicの奴はREPLのようなREPLでないような微妙なコマンドラインだしなぁ。
forgetで+とか以降を消して涙目とかは流石にBASICじゃできないと思うのでそこら辺のシステム空間とユーザ空間みたいな区別はあっても良いかもしれない
2014/06/02(月) 08:19:32.29ID:bzg7kW0W
組込み試作品に使える言語を探していて、Forthに行き当たった。
ZigBee、Raspberry Piなんだが、Forthはこういうの苦手なんだろうか?
2014/06/03(火) 01:33:51.03ID:pa2cdK6+
>>704
そんなこたないんだが、arm用に特化したforth処理系ってのが存在しないのも事実なのでなんと言えばいいんだろうか。
ちなみに特化しなくても何とかなっちゃうのがforthの良い所だったり、何も無いところから作り込んでもそんなに手間じゃなかったりするのも魅力だったりする。
でもRaspberry PiみたいなLinuxが動いちゃう環境ならforth使う理由が殆どないよ。
むしろ生の機械語を直接書かないと駄目なような環境に向いてる。
2014/06/03(火) 11:48:06.91ID:XzYLHg3E
raspberry pi forth でググったらなんか出てくるみたいだが。

というか、rasp pi 衰退したOSや言語の敗者復活リングみたいになっててオモロイw
2014/06/04(水) 16:39:08.74ID:2ij5JthN
まさにそれ
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
708デフォルトの名無しさん
垢版 |
2014/08/13(水) 10:22:44.64ID:MV0il0Eo
★2ch勢いランキングサイトリスト★

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

※ 要サイト名検索
709デフォルトの名無しさん
垢版 |
2015/02/05(木) 18:47:19.10ID:Wisgh0P5
>>706
2015/03/28(土) 16:14:22.33ID:JCsZnGie
みんな生きてる?
2015/03/28(土) 16:52:42.19ID:iNpGjoni
." live!"
2015/03/30(月) 19:02:34.24ID:ZHuPrBLY
書籍が高すぎる
2015/03/31(火) 21:06:19.08ID:2fh/fl2T
windowsとLinuxで動作するISO準拠処理系プリーズ
714デフォルトの名無しさん
垢版 |
2015/04/01(水) 21:02:18.21ID:A/TYeiEx
もう漏れしかいないのか

ついに手に入れた「FORTHへの招待」
さっそく読もう
2015/04/01(水) 23:35:21.77ID:6DGYq49D
懐かしい本だな
それと「スタックコンピュータ―CISC RISCとスタックアーキテクチャ」はバイブルだ
716714
垢版 |
2015/04/02(木) 05:49:55.97ID:ZYrODdip
なんかROMとRAMの説明から始まってて和露他
いいからFORTHの説明はじめろや
2015/04/09(木) 21:33:48.07ID:DFOBVCzK
読み終わった
>>715とFORTH入門を注文した
FORTH入門は一万円以上した
2015/04/09(木) 22:41:41.16ID:LdJOGzfd
>>717
原著はWeb上にあるよね
http://home.iae.nl/users/mhx/sf.html
日本語版もほしいけど
2015/04/12(日) 19:17:21.15ID:4Fcd4Vhe
おk読了
次は>>715
2015/04/12(日) 19:25:26.49ID:3ERnJGQj
>>719
715はスタックマシンとForthへの愛に満ちているので毒されると悶死できるぞ
721719
垢版 |
2015/04/15(水) 17:48:12.32ID:SFWZvMHG
知識不足のため理解しきれていない部分もあるがなんとか最後まで読んだ

↓この文が最高でした
RISCプロセッサのUnix/Cプログラマが8Mから16Mバイトより少ないメモリでは不満足で、
128Kバイトのキャッシュを要求しているときに、Forthプログラマたちはまだ、
スタックマシンに64Kバイト以上のメモリが本当に必要かどうかを熱心に議論している
2015/04/18(土) 09:39:32.64ID:W8H7yv/P
次の段階へ移行
723デフォルトの名無しさん
垢版 |
2015/05/04(月) 16:20:21.65ID:McZN4pHS
日本のForthコミュニティって無いの?
2015/05/04(月) 16:33:45.12ID:/hwLfRb3
まだ人いるか?
2015/05/04(月) 16:56:02.08ID:szzze12E
>>723
つくろーぜ
>>724
いるぞー
2015/05/04(月) 17:44:37.74ID:kE0VI/DI
>>724
居るぜー

ForthだけじゃなくてLispも入るけど組み込み機器でデバッガを内包したいような時って選択肢無いんだよね。
でLispよりもForthの方が実メモリ食わないんで本当にチープな組み込み機器だとコレ知らないと死ねる。
2015/05/04(月) 18:06:54.59ID:McZN4pHS
意外と居てびっくりした!
作ろうか
2015/05/04(月) 18:43:39.64ID:McZN4pHS
>>726
Forthに慣れてる人がどんなデバッガ作るのか(どんなとこ見るのか)気になる
2015/05/04(月) 19:28:19.74ID:/hwLfRb3
>>728
別の人だけど
デバッガとしてFORTHのインターフェースをつかうってことじゃね?
2015/05/06(水) 15:56:46.02ID:pB1d0kiO
ちょっと面白いネタ見つけた
「スタックコンピュータ」の中の人、Forthの上でのグラフリダクションを研究してたらしい。
url長すぎって言われたんで↓でググってくれ

TIGRE: Combinator Graph Reduction on the RTX 2000
2015/05/07(木) 11:41:15.23ID:PQFXQAsu
やってる人はいまもやってるんだねえ
2015/05/07(木) 14:26:59.51ID:PQFXQAsu
「FORTH入門」すごいつかえる
処理系内部まで書かれているから自作するための参考になる
2015/05/07(木) 19:26:45.21ID:43KhqhpP
あのイラストも結構好きだ
2015/05/09(土) 01:15:17.53ID:91zCXcbE
ブート処理にforth 系のficl 使ってたOSがluaに切り替えてくみたいだが
やはりさわれる人の絶対数が多い言語に移ってくもんなのだろうか。

あと昔出版されて今じゃアマゾンでプレ値がついてそうなforth系の本、県立図書館で検索したら閉架に結構あったけど
たまたまなのか規模でかいとこなら普通に在庫あるのかな?
2015/05/09(土) 08:08:38.65ID:D66ceLoP
>>734
FreeBSD?
2015/05/10(日) 13:17:55.74ID:wSg+R97A
>>735
そそ。まだ先の予定っぽいけど
2015/05/11(月) 10:05:34.87ID:jfjxFlJu
FORTHと直接の関係はないんだけど
実行ファイルのダンプを保存してあとから実行するのってどうするの?
LISPの単体で動く実行ファイルの作り方と同じ仕組みだと思うのだけど
どうすればいいのかわからん
2015/05/13(水) 23:24:57.10ID:ZhcbFads
いまだにわからん
739デフォルトの名無しさん
垢版 |
2015/05/14(木) 14:19:50.60ID:WhzKfy7h
VMをアセンブリでかくかcでかくか
2015/05/19(火) 12:28:41.76ID:CmG/oeDB
>>737
辞書と変数の設計に依るけど、単純にバイト列を展開するんじゃダメなのかな?
RetroForthがそんな設計だったような。
ちょっと挑戦してみようかな。
2015/06/23(火) 22:36:02.69ID:ifeDc53Z
そのバイト列に展開するのが難しそうだ
2015/06/23(火) 22:44:08.10ID:vwZF4gL5
OS依存になるよね、任意にcore dumpできるUnix系だとやりやすいかも
Fig FORTHだとOSに依存しないからできそうな気もする

#MC68000のFig FORTHをmotorolaのTutorial基板で触った事しかないんでうろ覚え
2015/06/23(火) 23:14:56.31ID:3QTDhBFd
レス早くてワロタ
Perlに同じような機能があったたはずだからちと調べてみゆ
744デフォルトの名無しさん
垢版 |
2015/07/06(月) 12:32:57.19ID:YQDXrDaK
間接スレッデッドコードについて質問があります
IFなどの条件分岐ではそのワードの呼び出し箇所毎にパラメータが違うと思うのですが
その場合でも箇所毎にワードが生成されるのでしょうか?
745デフォルトの名無しさん
垢版 |
2015/07/10(金) 00:42:46.31ID:wrUthjuc
もう解決したのかな?
ちょっとどういう質問なのかわからないので、詳しい人期待age
2015/07/12(日) 06:46:58.31ID:AaGOVdy1
>>744
いやたしか分岐先アドレスはスレッドに格納されるはず
つまりスレッドにはワードヘのポインタ以外にジャンプ用アドレスが含まれる
2015/07/17(金) 08:59:20.64ID:Hk7N5du5
全てをアセンブリで実装しようとしたら手がつけられなくなったので
とりあえずコア以外はcで実装すことに変更すた
しっかし本当おもしれえ
nextは僅か4命令だぞ
2015/07/18(土) 13:27:49.52ID:xBzkS6DZ
コアが実装できたら、後はforthで書こうぜ!
2015/07/18(土) 13:55:45.77ID:4KZmkVpL
>>747
今時のCPUだとアセンブリの方が実装しやすくない?
2015/07/18(土) 14:11:29.17ID:MJkUXIxe
http://blog.livedoor.jp/itsoku/archives/45591554.html
2015/07/18(土) 14:12:29.69ID:MJkUXIxe
Forthユーザ発見
2015/07/18(土) 15:38:28.81ID:3XAPUy2X
このスレの連中は矢張りRPNやRPL電卓を使ってるのかな?
2015/07/18(土) 16:33:35.15ID:5U/xTE1h
電卓は持ってないけど、何か試したり計算するときはFactorとか使ってるよ
2015/07/18(土) 17:09:30.61ID:5U/xTE1h
Sukunaの人とか、もうForth触ってないのかな?
いろいろ話聞いてみたかった。
2015/08/06(木) 16:45:29.10ID:2u/3OVyT
スレッデッドコード用vm実装記念
2015/08/06(木) 17:06:23.35ID:0X10zjbP
乙、おめ
757デフォルトの名無しさん
垢版 |
2015/08/08(土) 23:27:26.32ID:HMF33mTD
復活
758デフォルトの名無しさん
垢版 |
2015/08/10(月) 18:29:16.42ID:XUokgt8i
できてきた
I/OをCからアセンブリに実装し直してさらに小さくする
age
759デフォルトの名無しさん
垢版 |
2015/08/13(木) 14:07:02.04ID:H7bzx0I1
ところでみんなコードは小文字大文字どっちでかいてる?
2015/08/13(木) 16:00:05.24ID:TIALnNkC
>>759
今はfactor大好きなので小文字かなー
昔VT100でForth使ってたときは大文字だったよー(ワードの大文字小文字は入力時に大文字変換されてたりとか:処理系が大文字のみだと辞書のワードを圧縮したりとかしてたりする貧乏メモリ用だったりとか)
2015/08/15(土) 15:19:53.94ID:fkPcgHEe
小文字で書ぃてるょ
2015/08/15(土) 15:24:43.03ID:fkPcgHEe
処理系作ってようやく何やってるのかわかったけど、>>56とか>>62面白いなあ
2015/09/16(水) 00:48:03.18ID:VN2DGtV9
なんども あきては なんども やる
764デフォルトの名無しさん
垢版 |
2015/09/19(土) 22:00:25.70ID:GM7+1MtI
ふーむ少なくとも仮想機械はアセンブリで書かなければ移植は難しいな
一方コンパイラはcで書いてもあとでそれ自身に移植可能
あと最近2chで擬古猫見ないね
765デフォルトの名無しさん
垢版 |
2015/12/31(木) 06:27:31.47ID:shctMMuK
あげ
2015/12/31(木) 06:51:07.49ID:shctMMuK
http://phaendal.hatenablog.com/
↑FORTHの関しての記事があるのであげとま
2015/12/31(木) 10:17:38.69ID:KKAqg1l1
馬鹿には無理
768デフォルトの名無しさん
垢版 |
2015/12/31(木) 10:33:47.60ID:/wbyPP1f
便乗age
http://research.microsoft.com/en-us/um/people/simonpj/papers/slpj-book-1987/slpj-book-1987.pdf
2016/01/01(金) 09:58:20.44ID:kXdPExCb
あけおめ!
770デフォルトの名無しさん
垢版 |
2016/01/10(日) 13:33:35.16ID:z1pxpAJ/
人いるんか!
771デフォルトの名無しさん
垢版 |
2016/01/10(日) 23:48:42.16ID:/2nnPZOa
フォースの覚醒
2016/01/11(月) 08:24:42.35ID:lZl+kkOU
復活の時は近い
2016/01/11(月) 16:40:56.58ID:I0GTrlSH
Erlang/Elixirに浮気中
2016/01/11(月) 19:48:51.43ID:nxq211rs
>>773
あれ、俺書き込んだ?
ってマジで思った
2016/01/12(火) 10:27:02.83ID:LOHPMzQN
今処理系実装してるけど実用的にしようとなると結構難しいな
776デフォルトの名無しさん
垢版 |
2016/01/18(月) 21:50:56.98ID:jq3Y7yyE
この言語の面白いところは低水準で動的なことをすべて行えること
コールスタックまで直接制御できるから継続のようなことも簡単にできる
一方でコンピュータサイエンスとしてのセンスはかけらもなくとても原始的だ
2016/01/21(木) 10:50:22.29ID:aPv8m3ec
だれかこいよ
寂しいな。。。
778デフォルトの名無しさん
垢版 |
2016/01/21(木) 12:56:52.61ID:zpe1QHZ3
>3 pop
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況