Lisp Scheme Part41 (809レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
63
(3): 2019/03/23(土)22:34 ID:xopjuNQ8(1) AAS
Scheme というか、Lisp のことを少ししか分かっていないんですども、μKanren を使ってみたくて
Sheme の処理系をインストールしたんですが Gauche、Guile、MT/GNU Sheme と、入れた全部
に assp がアンバウンドだと言われて動きません。

1.解決方法が分からなくて、自前で assp を書いて動かしてますが、本当はどうやったら assp が
使えるか教えてください。ライブラリをロードするのでしょうか?

2.せっかく書いたので、自前の関数の働きが本当の assp と同じなのか知りたいです。
みなさんならどのように書きますか? 最初に見つかったときに止める場合のセオリー
はありますか?

書いてみた関数:

(define (assp fn assoc)
(let ((rtn #f))
(for-each (lambda (x)
(if (not rtn)
(if (fn (car x))
(set! rtn x))))
assoc)
rtn))
187
(5): 2020/04/28(火)11:03 ID:jkGkDNpV(1/2) AAS
Scheme の map 手続きについて、
手続きを適用する順序 (副作用が発生する順序) は仕様上は未規定ということになっています。
各処理系として保証するということは有りえるんですが、
Racket の場合は保証されていると読み取って良いでしょうか?

外部リンク[html]:docs.racket-lang.org

わざわざ "from the first elements to the last" という書き方をしているからには順序を意図しているように
解釈するのが自然かとは思うんですが、単に範囲を言っていると解釈できなくもないので、
英語と Racket に明るい方がいればご教示賜りたいです。
581
(3): 2023/01/30(月)19:13 ID:prACFehy(1) AAS
そもそもダイナミックスコープの何がだめですか
Emacs lispはダイナミックスコープですが、
あちこちから呼ばれてる関数を、空関数で上書きして殺すとかできて便利です
Emacs lispの感覚でGIMPのスクリプト(scheme)を書こうとすると
なにか何でもかんでもラッパー渡し(いちいちcarをひとつ辿る)って感じです

ちなみにLispは普通の手続き型言語としてしか使ったことないです
そんな奴への説教とかあったら聞きたいです
マクロとか、「確かにif文を関数として実装するのは無理かもしれないし、
そういう時に使うのかな」くらいにしか解ってないです
652
(3): 645 2024/04/12(金)15:53 ID:OhyEPSVL(1) AAS
lispの話をしよう
onlisp.lispのようなオレオレutil(s).lisp/scmから引用し過ぎるのはあまり宜しくない?
macroはコンパイル順の関係で引く方が問題起きにくいけど

名前がdescriptiveなのは前提として
too generalであれば初見の人に読みにくいのではと思うこの頃
一方でspecificであるかぎり、手続きを分かつ働きすら無い関数抽象も読み易い:
carにget-operator、cdrにget-operandsなど単なるリネームでも重用する
これらはpackage内にレキシカルな意味で近傍に置くべきよね?(使い捨てならflet/labels、共用ならdefun)

より一般的な小物をコーディングを楽にする為だけに引くならば、lisp書きなら定義も大体覚えてるだろう有名な小物util集(alexandria、sfri)に依存した同梱するのも(ライセンスが許しても)憚られる…

このスレやSO等見ても必読書なOn Lispは知名度あるだろうから、onlisp.lisp由来のものは初見で読めてコンパクトでバランス取れた妥協点だと思って使ってるんだけど
(ライセンスや再帰志向で性能難アリなので、手習いがてら書き直したクローン版、念の為)

なおonlisp.lispは手続き名がいにしえのlispかよってくらいヤバいのが欠点
671
(5): 2024/04/15(月)03:45 ID:KXqIDgH/(1) AAS
Cバックエンドで配列のviewをサポートしてるなら究極的には言語/処理系ではアルゴリズム瑕疵が無い限り有意な差はないよ
ただし最速言語Fortranを半分程度使うNumpyにも優位性はある
gccはじめ同じILにコンパイルされても配列多様コードでにおいてCより数倍は速い

ただしNumpyは書き方に細心の注意をしないとユーザの預かり知らぬ所で勝手にディープコピーする大きな罠も
そうした不透明性が嫌い

明示できるCLのFortran実装を待ち望む
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.053s