Lisp@UNIX版 (585レス)
上下前次1-新
373: 名無しさん@お腹いっぱい。 [sage] 04/01/12 23:47 AAS
どうして言語系のスレにはハナシの流れを汲めない香具師が多いんだろう
言語障害?w
374: 名無しさん@お腹いっぱい。 [sage] 04/01/13 00:25 AAS
ANS Forth の仕様書って読んだ事無いけど、R5RS くらいシンプルで
しっかりしてるの?
375(1): 名無しさん@お腹いっぱい。 [sage] 04/02/05 21:36 AAS
FreeBSD の bootloader も Forth でしたな。謎だ。
loader.4th っていうエクステンションはふつうなの?
376: 名無しさん@お腹いっぱい。 [sage] 04/02/06 20:20 AAS
>>375
なんで?容量その他制限がキツイんだから forth 使うんだろ。
FreeBSD 以外でも Mac 方面の OpenFirmware とか forth だった記憶アリ。
そんなとこで ruby だの perl だの lisp だのを使うほうが珍しい。
377: 名無しさん@お腹いっぱい。 [sage] 04/02/06 20:48 AAS
C でハードコーティングしといてもそれまででと思ったので。
378: 名無しさん@お腹いっぱい。 [sage] 04/03/09 23:07 AAS
保守
379: 名無しさん@お腹いっぱい。 [sage] 04/03/16 01:20 AAS
SPARC マシンの OpenBoot も Forth だね。
380: 名無しさん@お腹いっぱい。 [] 04/03/27 00:26 AAS
そういゑば、UNIX 板にも Lisp スレがあったんだね。自分はマクロの
使い方も分からないけど。
Scheme と Common Lisp のマクロって似た様な感じですか?
381: 名無しさん@お腹いっぱい。 [sage] 04/03/29 00:02 AAS
scheme のは,はじめはめんくらう.
なれるとウマー
382: 名無しさん@お腹いっぱい。 [sage] 04/03/29 06:51 AAS
Scheme の syntax-rules は、単純なのはきれいに書けるよね。
でも、複雑なのがかなり書きにくい気がする。
defmacro に慣れてるせいもあるんだろうけど…
383: 名無しさん@お腹いっぱい。 [sage] 04/03/29 12:03 AAS
R5RS の letrec の定義は激しく…萎える。
某所、復活してる。
384(1): 名無しさん@お腹いっぱい。 [sage] 04/03/30 16:40 AAS
以前,syntax-rules を使って,例えば六っつの引数を伴うと
(+ 1 1 1 1 1 1 ) ってのに置きかえる,引数数え上げマクロを
作ったんだけど,これって関数定義内とかに使うと 6 って定数だと
解釈されてコンパイルされるんか,それともあくまで
(+ 1 1 1 1 1 1 )をやってんだかどっちだろうな Gauche
macroexpand したら (+ 1 1 1 1 1 1) になってたが,こういう最適化は
コンパイラの仕事だろうから,macroexpand ではチェックした事には
ならんだろうからなぁ…
define-macro を素直につかうべき?
385: 名無しさん@お腹いっぱい。 [sage] 04/03/31 10:41 AAS
syntax-case
386: 名無しさん@お腹いっぱい。 [sage] 04/03/31 14:30 AAS
Gaucheはそういう最適化はしないよ。
> (use gauche.vm.disasm)
> (disasm (lambda () (+ 1 1 1 1 1 1)))
PRE-TAIL(6) ;; (+ 1 1 1 1 1 1)
PUSHI(1)
PUSHI(1)
PUSHI(1)
PUSHI(1)
PUSHI(1)
PUSHI(1)
GREF #<id 0x10342400 user::+>
TAIL-CALL(6)
RET
値がなくなる形で最適化されるのは、値が
捨てられるコンテキストでの定数が削除される
くらいじゃないかしら。
(たとえば(begin 1 2)の1みたいなやつ。)
387: 名無しさん@お腹いっぱい。 [sage] 04/03/31 23:36 AAS
>>384
+ が再定義されるかもしれんから
388: 名無しさん@お腹いっぱい。 [sage] 04/04/01 05:25 AAS
(let ((+ +)) ...)
しておけば再定義は気にしなくていい
389: 名無しさん@お腹いっぱい。 [sage] 04/04/01 12:58 AAS
その let の範囲は全部調べないといけないけどね。
途中で set! するようなこともできるから。
(let ((plus +))
(define (inc x) (plus x 1))
(let* ((one 1)
(two (inc one)))
(set! plus -)
(let ((three (inc two)))
(list one two three))))
=> (1 2 1)
みたいな。
390: 名無しさん@お腹いっぱい。 [sage] 04/04/01 16:19 AAS
disasmおもちろーい
391: 名無しさん@お腹いっぱい。 [sage] 04/04/18 16:39 AAS
M-expression
っていうのが結局何なのか分からんのだけれども、
誰か簡単に説明してくんない?
392: 名無しさん@お腹いっぱい。 [sage] 04/04/18 16:40 AAS
ちなみに
外部リンク:en.wikipedia.org
393(1): 名無しさん@お腹いっぱい。 [sage] 04/04/19 22:38 AAS
外部リンク:squab.no-ip.com:8080
394: 名無しさん@お腹いっぱい。 [sage] 04/04/20 01:11 AAS
>>393
thank[you]
395(1): 名無しさん@お腹いっぱい。 [sage] 04/05/06 21:18 AAS
syntax-case とか fluid-syntax を試してみたいんですけど,
実装してる処理系ありますか?
396: 名無しさん@お腹いっぱい。 [sage] 04/06/23 02:40 AAS
>>395
slibに入ってるよ。
外部リンク[html]:swissnet.ai.mit.edu
397: 名無しさん@お腹いっぱい。 [] 05/01/29 23:57:48 AAS
schemeについての質問なんですけど、ある関数に引数を一つまたは2つとる関数を作りたいんですけど、どうやればいいですか?
例えばある関数fを定義して、
(f 4)
(f 3 5)
と入力すると前者の場合は引数1つの時の定義で動き
後者の場合は引数2つのときの定義で動くようにしたいんです。
上下前次1-新書関写板覧索設栞歴
あと 188 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.017s