1 名前:デフォルトの名無しさん [04/01/10 03:45] 第四世代
267 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 19:51:11 ] >>265 FORTHの中の人の事情がいろいろ表に出てきてるから。 事情がわかると「なるほど」と思う。
268 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 20:26:43 ] >>265 硬いこというなよ。普通の言語だって演算子の優先順位とかあるじゃんか。 ソースも1文字ずつ後ろから読んでたら面白かったのに>forth
269 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 22:34:35 ] 前から後ろから
270 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 08:06:49 ] でも入口と出口は一緒 pushしてpop 「おめでとうございます。元気な男の子ですよ」
271 名前:デフォルトの名無しさん [2005/12/17(土) 10:33:36 ] interlog
272 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 12:43:43 ] そこで、swapしちゃいます
273 名前:デフォルトの名無しさん mailto:sage [2005/12/17(土) 13:46:53 ] HTROFに改名しますた
274 名前:デフォルトの名無しさん [2006/01/07(土) 18:05:41 ] 自然数 N が与えられたとき、 1 から N までの数字を N 個並べる組み合わせをすべて 列挙するプログラムは Forth で書くとどうなりますか? 例えば N = 3 のとき 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 となるようにです。 よろしくおながいします。
275 名前:デフォルトの名無しさん mailto:sage [2006/02/12(日) 23:31:47 ] ゅしほ
276 名前:デフォルトの名無しさん [2006/03/05(日) 10:04:15 ] >>27 のリンク先で 「WORDというワードは呪われた代物で、無いほうがよい」っていうのはどういう意味かね。 ほとんど表記法を変更する目的でしか使われないからかな。
277 名前:デフォルトの名無しさん mailto:sage [2006/03/05(日) 16:17:17 ] 訳注に書いてあるとおり。 プログラムの可読性を損ねるからだと思われ。
278 名前:http://www.vector.co.jp/soft/win95/util/se072729.html mailto:http://msdn2.microsoft.com/ja-jp/library/h2k70f3s.aspx [2006/03/18(土) 22:15:13 ] TextSS のWindowsXP(Professional)64bit対応化おながいします もしくは64bitにネイティブ対応したテキスト置換ソフトありますか? そういや64bitにネイティブ対応している2chブラウザてありましたっけ?
279 名前:デフォルトの名無しさん mailto:sage [2006/03/30(木) 18:03:27 ] 手軽に手に入る唯一のFORTHチップ? www.offete.com/ep32book.html
280 名前:デフォルトの名無しさん mailto:sage [2006/03/30(木) 18:17:19 ] オライリーの表紙に龍はないだろ
281 名前:デフォルトの名無しさん [2006/05/02(火) 18:58:48 ] >>274 こんな感じか? たぶんもっと美しいやり方があるのだろうが、ヘタレの 俺にはこの程度しかわからん。 variable x 0 x ! : make.stack 1+ 1 do i loop ; : clean.stack x @ 0 do drop loop ; : fn recursive dup 2 = if drop .s swap .s swap else >r r@ 0 do J 1 - fn J 1 - roll cr loop r> drop then ; : show.all dup x ! dup 0 = if ." Error" drop else dup 1 = if .s else cr make.stack dup fn drop then x @ clean.stack then ; 3 show.allとかやってみて。
282 名前:デフォルトの名無しさん [2006/05/18(木) 11:40:06 ] Thinking FORTH を CCL で日本語化するプロジェクトが進行中。 本日作業分担を大まかに決める予定。 日本FORTH研究会の会報をPDF・オープン化することも本日の議題。 LL Ring! Language Update に出るか否かも本日決定? 第3世代 FIG JAPAN 立ち上げたいなぁ。
283 名前:274 mailto:sage [2006/05/18(木) 12:01:42 ] >>281 激しくありがとうございます
284 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 16:13:05 ] >>282 期待age
285 名前:デフォルトの名無しさん [2006/05/18(木) 16:13:50 ] sageいれちまった... orz
286 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 16:19:51 ] というか日本支部生きてたのか(w
287 名前:デフォルトの名無しさん [2006/06/01(木) 02:25:15 ] >>286 生きてません。本家FIGでもリンクがなくなっています。 とはいえ、三世代FIG-JAPAN設立構想も検討中。
288 名前:デフォルトの名無しさん mailto:sage [2006/08/09(水) 18:37:34 ] LL Ringに参戦するようだが、勝算はどれくらいだろう?
289 名前: mailto:sage [2006/08/23(水) 21:25:38 ] Windows上で動くFORTHってない? DOS窓で動くやつじゃなくて、APIとか叩けるやつ。
290 名前:デフォルトの名無しさん mailto:sage [2006/08/30(水) 06:22:31 ] つ win32forth
291 名前:デフォルトの名無しさん mailto:sage [2006/08/30(水) 08:50:36 ] LLRing乙でした。
292 名前:デフォルトの名無しさん mailto:sage [2006/09/03(日) 23:05:33 ] FORTHマンセー
293 名前:デフォルトの名無しさん mailto:sage [2006/10/21(土) 16:45:01 ] 最近話題無いの?
294 名前:デフォルトの名無しさん mailto:sage [2006/10/21(土) 22:50:10 ] back and forthです。
295 名前:デフォルトの名無しさん mailto:sage [2006/10/21(土) 22:51:33 ] joyとかの話する?
296 名前:デフォルトの名無しさん mailto:sage [2006/10/23(月) 13:32:14 ] 今更forth使ってる人は自分で問題解決できる人ばっかだからなあ
297 名前:デフォルトの名無しさん mailto:sage [2006/10/25(水) 07:31:20 ] >>296 解決できない俺はどうすれば・・・
298 名前:デフォルトの名無しさん mailto:sage [2006/10/26(木) 00:39:00 ] 質問すればいいんじゃねえの?! しかしこのスレ 2年以上経つのにまだ300行ってないのか
299 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 22:20:47 ] なんかニュースないの?
300 名前:デフォルトの名無しさん mailto:sage [2006/11/10(金) 22:26:12 ] >>298 >2年以上経つのにまだ300行ってないのか FORTHプログラム張りなんだぜ?
301 名前:デフォルトの名無しさん mailto:sage [2006/11/28(火) 05:56:22 ] test >>261-265 >>266 ,267
302 名前:デフォルトの名無しさん mailto:sage [2006/11/29(水) 12:28:15 ] : hoge foo bar ; { foo bar } hoge def #コードブロック * foo bar hoge def #なし
303 名前:デフォルトの名無しさん [2006/12/09(土) 03:15:37 ] age factorcode.org/
304 名前:デフォルトの名無しさん [2006/12/10(日) 21:07:56 ] 虎擬の新年号付属基板に移植するプロジェクト
305 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 05:05:37 ] >>301 おばかな流れにワロス
306 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 04:43:44 ] a
307 名前:デフォルトの名無しさん [2007/02/27(火) 19:51:33 ] b
308 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 20:28:16 ] FORTH のすごいところは 対話型の言語でありながらコンパイラだってとこじゃないのかなぁ…
309 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 20:57:50 ] forthの凄いところは2スタックマシンと辞書による入れ子構造だと思う。
310 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 12:31:00 ] (・∀・ )っ/凵 ⌒☆ VisualForthマダー?
311 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 12:34:49 ] >>310 ムーアたん自ら開発済み。 www.colorforth.com/index.html
312 名前:デフォルトの名無しさん [2007/03/30(金) 06:30:41 ] 最近のCPUって、プログラムの自己書き換えができないとか聞いたけど、 そうだとするとFORTH実装するのつらいよね。
313 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 07:48:32 ] たしかに今も昔もCPUの回路は自分で変更できないな。
314 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 23:27:06 ] メモリ書き換えればいいじゃん >312
315 名前:デフォルトの名無しさん mailto: [2007/03/31(土) 16:33:43 ] >>314 最近のCPUってもコードキャッシュに先読みしたりしているから、 下手にメモリを書き換えると、先読みしたコードと、実際のメモリのコードが一致しなくなる。 ので、正常に動作しなくなったり、パイプラインにペナルティが発生して、動作がおそくなったりするらしい。 FORTHって、新しくワードを追加すると、自分自身が大きくなっていくような言語だから、 そこらへんどうすればいいのかわからない。 だれか教えてくれんかな。
316 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 05:04:00 ] FORTH以前にコンピュータの基礎知識が混乱してるな。
317 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 12:54:31 ] >>316 FORTHの事、知らないだろ。
318 名前:デフォルトの名無しさん [2007/04/01(日) 13:11:17 ] >>313 VBばっかり使ってないで、ハーバードアーキテクチャとノイマンアーキテクチャの違いに付いて勉強しろよ(w
319 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 16:33:44 ] 最近だとこの関係でJITコンパイラとXDビットでも問題になってましたな。 JIT関係にノウハウありそうだけど、良く判らん
320 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 05:03:35 ] べつに何の困難もないと思うけどな。 パラメータスタックなんて自由度の低いポインタみたいなもんじゃん。
321 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 23:18:58 ] なんかよくわからんけど、問題になりそうなのは、既存ワードの書き換え時だと思うので、 ワード書き換え→キャッシュをフラッシュ でいいと思う。
322 名前:デフォルトの名無しさん [2007/04/23(月) 23:27:41 ] いかにForthでも、線路を作りながら電車を走らせるようなことはありません。 ワードをコンパイルした後、そのワードを実行するまでには 少なくとも実行ワード名を読み込むI/Oプロセスが介在するので、 人間にとっては一瞬でも、機械には一服する余裕があります。 あと、Forthのワードのオーバーライドは、 関数型言語によくあるようにプログラムの全体についてそのワードの定義を更新するのではなく、 再定義後に読み込まれる部分についてしか効果がありません。 後から遡って定義を変更できるようにするには、 初めから特別な方法で定義しておくようになっています。 こんな感じでどうでしょう。
323 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 06:20:31 ] forthの人気のなさは異常
324 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 23:36:56 ] 異常だな。〜 if 〜 then 〜 else のせいだったりするんかね? ……forthに何があったらもっと流行るかな?
325 名前:sage [2007/04/24(火) 23:53:34 ] て、むしろ正常ってこと?
326 名前:デフォルトの名無しさん mailto:sage [2007/04/28(土) 23:24:51 ] Forthを使いたいと思う人より、Forthの処理系を造りたいと思う人の方が多そうな予感
327 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 07:13:54 ] 自分もForthを作っているクチ 毎日、Forthでプログラム作ってるぜ!って奴はいますか?
328 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 08:55:54 ] ど素人の趣味なので毎日はしませんが、Forth系じゃないコードはほとんど書きません。 むしろForthでForthを作れば良いのではないかと思います。
329 名前:デフォルトの名無しさん mailto:sage [2007/04/30(月) 12:17:29 ] >328 Schemeみたいに最低限のプリミティブを用意して、それからForthを組むようにしたら面白いかもね。 Lispだとこんな感じか。 ttp://ja.wikipedia.org/wiki/LISP#.E6.9C.80.E5.B0.8F.E3.81.AELISP Forthの場合、スタック関連の操作、代入、分岐、Immediate、postponeぐらいで 実装できそうな気がする
330 名前:328 mailto:sage [2007/04/30(月) 21:27:11 ] >>329 古典的なForthみたいにですね。 昔はアセンブリで書いた核の部分は、今はCでいいですからね。 ただ、何を核にすれば必要十分なのかについて、あまり資料がないですね。 四則演算と論理演算(ビット操作)もあった方がいい気もしますが、どうなんでしょう (Lispは四則演算はいらない?)。 gforthはそういうやり方らしいですけど、 実行速度のためCで書き込むプリミティブを多めに取ったと書いています。 はじめ漠然と考えていたのは、間接スレッディングのforth環境の上でネイティブ方式のforthを頭から書いてしまう というようなことでした。Executableフォーマットのファイルを作るのが結構面倒ですけど。 そこまでしなくても、Cのダイナミックライブラリとのインターフェイスがforth上で書ければ、 ほとんど何でもforthでできるんですけどね。 逆に言えば、マシンやOSの低レベルの仕様を調べないと派手なことをするのは難しいので、 そこが難点かも知れません。 もともとforthは言語仕様自体は貧弱なので、 アプリケーション毎に自前の言語を組上げていくみたいな面白さもあります。 インプットストリームも弄れるので、シンタックスまで変更できますし。 それがあまり面白がられていないということですかね。
331 名前:デフォルトの名無しさん mailto:sage [2007/05/03(木) 09:02:05 ] 昔、近所の古本屋で標準FORTHを100円で保護したのだが、捨ててしまった。漏れの馬鹿。 ところで、Beginning Forthを注文した。米国からなので2週間くらいかかりそう。
332 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 22:37:02 ] Forthはともかく資料不足。よって今更ながら英語の入門書をもう一個: ttp://www.mpeforth.com/books.htm 『Programming Forth』 - Stephen Pelc et al.
333 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 04:42:21 ] 汎用で考えるとやっぱり今どきスタックは32ビット長ですよねえ。 そこで移植にお勧めの埋め込み用32ビットプロセッサって何がありますか? I/Oがたっぷり用意されているので遊べるかなって思いますがどうでしょう。
334 名前:デフォルトの名無しさん mailto:sage [2007/05/24(木) 20:39:30 ] パフォーマンス優先ならSHじゃね? 最近秋葉でも手に入りやすくなったし。 FORTHコンパイラをアセンブラでガリガリに書きたい人なら アセンブラが書きやすいH8かな。
335 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 19:20:03 ] φ(。。) めもめも
336 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 20:54:14 ] HDLだけでFORTHは作れる?
337 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 13:07:14 ] >>336 作れるみたいですね やってみたことないけどw ttp://www.ultratechnology.com/chips.htm この中のMicroCoreって初めて知りました ttp://www.microcore.org/
338 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 16:12:13 ] joyの話しようぜ
339 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 23:22:38 ] 後で読む: i386 / Linux 向け Forth コンパイラの作り方。 ttp://www.annexia.org/_file/jonesforth.s.txt
340 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 15:51:44 ] CでForthの処理系を書いてみた。 GCにはBoehm GC、辞書にはJudy Arrayを使ったので ほとんど手間がかかっていないわりに速かった。 まだ単純な処理しか出来ないけどrubyとかより速いかも。
341 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 00:15:24 ] ささやかな期待
342 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 19:36:42 ] rubyより遅いforhtなんてあるのか?
343 名前:デフォルトの名無しさん mailto:sage [2007/09/29(土) 19:51:26 ] >>342 rubyで書けばいいんじゃね?
344 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 17:21:13 ] >>343 激しく楽しくない気が
345 名前:デフォルトの名無しさん mailto:sage [2007/09/30(日) 19:36:18 ] >>340 GC?
346 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 20:36:49 ] >>345 Garbage Collector でそ。
347 名前:デフォルトの名無しさん mailto:sage [2007/10/02(火) 22:29:09 ] (forthに)GC? てことじゃないか?
348 名前:345 mailto:sage [2007/10/03(水) 23:33:04 ] >>347 フォローありがとうございます。 >>346 すみません。347さんの線でお願いします。 どう使うのかなあ?と。
349 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 15:23:24 ] concatenative
350 名前:デフォルトの名無しさん mailto:sage [2007/10/07(日) 11:41:29 ] " hoge" は汚なく感じるな "hoge" か " hoge " だろと
351 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 01:35:58 ] www.forthfreak.net/index.cgi?ForthBestPractices Programming guidelines when you start doing forth programming: * try to keep your words to one line, two lines max * try not to pass more than 3 items on the stack to a word, preferably only 2 * try not to juggle more than 3 items on the stack within a word if you can
352 名前:デフォルトの名無しさん mailto:sage [2007/10/24(水) 17:49:19 ] FreeBSD 6.2 では boot loder の動作を コントロールするために ficl という forth が使われていて るので、勉強中です。 FreeBSD のサーバーをリモートから管理しています。 以前のバージョンでは nextboot(8) で別ディスク上のカーネルを 次回のみテスト的に起動する設定ができたのですが、今のバージョン 6.2 では nextboot(8) では同一ディスク内のカーネルのテスト的起動しかできません。 二台のディスクがついているマシンのそれぞれのディスクに別々にOSを インストールして、交互にアップデートをかけたいのです。 リモートからのコントロールしかできないので、ssh のアクセスができなく なると一万円払ってOS再インストールなので そんなわけで、forth のcodeを見ているのですが、難しいです。 orz FreeBSDのloader 改造したりしている人はいませんか?
353 名前:デフォルトの名無しさん [2007/11/03(土) 19:38:03 ] いまふ
354 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 11:53:19 ] dsForthがアドエスで動くのはガイシュツ?
355 名前:デフォルトの名無しさん mailto:sage [2008/01/04(金) 04:23:01 ] notガイシュツ
356 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 13:50:29 ] このスレの人たちが使う電卓はRPLだったりするの?
357 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 15:03:59 ] HPの電卓?
358 名前:356 mailto:sage [2008/01/27(日) 17:17:11 ] >>357 そうです。RPNの間違いでした。
359 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 18:59:27 ] HP41CV,HP28,HP48SX,HP32S,と使ってきましたよ。 ちなみに今使っているHP35は問題大あり!
360 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 10:12:19 ] Adobe高速JavaScript実装、バイトコードにForthを採用 journal.mycom.co.jp/news/2008/02/07/011/index.html
361 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 15:34:36 ] LLVM涙目
362 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 21:52:21 ] 単なるスタックベースのVMなだけじゃないの? JavaVMとか既存のVMと一緒でしょ
363 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 22:40:23 ] 急に某ゲーム機上で動くforthが作りたくなって>>339 が挙げてるやつ読んでるんだが(まあこれはi386用だけど)、わかりやすいなこれ 実を言うと今までforthはあまり理解してなかったけど、モヤモヤしてたことがすっきりしてきた しかしforthってシンプルで美しいなぁ Lispやsmalltalkに負けないと思うのに、このマイナーさ…
364 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 00:09:41 ] concatenative languageあたりをキーワードにWebをさまよってみると良いよ。 joy factorあたりが面白いかね。おいらも俺言語作成中。
365 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 00:24:42 ] factor は良いねぇ。秘かに期待している。
366 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 11:50:59 ] 基本的に 1.stackの一番上と二番目の値に対して演算 2.stackの一番上だけ取り除く 3.stackのn番目と一番目を交換 の機能だけがあると思ってていい?
367 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 07:10:53 ] concatenativeに? それならスタックに対する関数適用だけかな