Lisp Scheme Part41 (809レス)
Lisp Scheme Part41 http://mevius.5ch.net/test/read.cgi/tech/1531587928/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
553: デフォルトの名無しさん [sage] 2023/01/09(月) 03:51:35.47 ID:0CyucYY1 触ったことないのでeclがどの程度cltl/ANSI/clhs等の標準をリスペクトしてるのかも分からないのだが とりあえずgoogle play storeからeclのandroidポートらしいeql5 replを入れてみた (list ;; attempt to shadow cl:cons (flet ((cons (x y) (cons y x))) (cons 'co '?ns)) (let ((cons (lambda (x y) (cons y x)))) (funcall cons 'co 'ns))) ((CO . NS) (NS . CO)) fletは謎挙動だね… * shadowしない名前(xcons)ならok * (flet ((cons (x) (1+ x))) (cons 42))がアリティ不一致で怒られる から推測するに、普通cl packageの関数なんて弄られないだろうと踏んで、関数の名前解決を手抜きして最適化してるんだろう 値の名前解決は特に弄る意義もないので、scheme風にlambdaをletで値として束縛して呼べば問題ない clを名乗る以上はオプションで切れるくらいの配慮はあるだろうから、eclにこだわるならマニュアル読んでみては 少なくともclhsはリスペクトしてないね ...flet can locally shadow a global function name, ... http://www.lispworks.com/documentation/HyperSpec/Body/s_flet_.htm http://mevius.5ch.net/test/read.cgi/tech/1531587928/553
557: デフォルトの名無しさん [sage] 2023/01/10(火) 02:33:32.35 ID:/i8qCr3o >>553 特定の名前の解決を決め打つ言語は多いし、そういうポリシーもありだと思う 普通でないのはcondition(warning)を挙げないところ 決め打つ名前(locked package?)が分かってる限りは、flet/labelsのレキシカル束縛リストから拾った名前がbody内の呼び出しformのcarに存在するか、ランタイムコストの無い自明な静的解析でconditionを挙げられるはず http://mevius.5ch.net/test/read.cgi/tech/1531587928/557
558: デフォルトの名無しさん [sage] 2023/01/10(火) 03:18:54.37 ID:/i8qCr3o >>550 等価と思って良いよ 伝統的なlisp(とcl)のように(let ((x '())) ...)を(let (x) ...)と略記できない、だとか細かい差異はあるけど 百聞は一見にしかずなので、構文の対応を見るのが手っ取り早い あとeclのname collisionの件、consの例(>>553)はさすがにcontrived-exampleだと思うので、ついでにeclで破綻するように letrec/nlet/labels で定義するラベルとして、所謂accumulatorイディオムにloop(他にはlp, iterとか)を使うのが慣例だけど、eclではcl:loopと読まれるのでは?と予想 ;;; cl -- ok: cmucl, sbcl, clisp, gcl err:ecl (的中) (defun fact (n) (labels ((loop (k acc) (if (= k 0) acc (loop (1- k) (* k acc))))) (loop n 1))) ;;; scheme -- ok: guile (define (fact n) (letrec ((loop (lambda (k acc) (if (= k 0) acc (loop (1- k) (* k acc)))))) (loop n 1))) pcでテストはしたけど、スマホから手打ちなので変だったらごめん http://mevius.5ch.net/test/read.cgi/tech/1531587928/558
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.038s