Lisp Scheme Part41 (809レス)
Lisp Scheme Part41 http://mevius.5ch.net/test/read.cgi/tech/1531587928/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
99: デフォルトの名無しさん [sage] 2019/10/05(土) 12:25:09.41 ID:f93dK2tU schemeは実装多すぎてどれを選べばいいのか分からん、 特定実装に依存すると いつか廃れたときに困る。RnRSやらsrfi-xx どこまで使えるのかマチマチだからね。 common lispは今のとこ sbcl にしとけば間違いなさそうな安心感がある http://mevius.5ch.net/test/read.cgi/tech/1531587928/99
156: デフォルトの名無しさん [sage] 2020/03/03(火) 18:09:46.41 ID:wrUSgHR4 >>152 > Prologではあんまり関連付けて言われないですよね Prologは「論理プログラミング言語」と呼ばれたりするけれど書かれたプログラムを実行可能にするためのプログラミング言語であるために 論理のための言語(つまり論理式を記述するための言語)とはかなり違ってしまっているからね その典型がPrologで動くプログラムを書く上で不可欠なカット “!” ね あれは本来の論理には対応物がなく論理とは全く縁のないコンストラクトだが カットを使わなければほとんどのPrologプログラムはまともに動かなくなってしまうだろう その点、Schemeから命令的な言語コンストラクトおよび標準手続きであるset!とset-car!, set-cdr!を除いた部分は 弱い(weak, つまりλ抽象の本体式中のβ-簡約基(redex)は簡約せずに放置しておく) 作用的順序(applicative order)の評価戦略(reduction strategy)のλ計算そのものだ call-ccは継続(continuation)というメタな(つまり意味論上の)値を対象レベルに持ち込むmeta-circular的な拡張であり Schemeに限らずLisp一般で広く採用されているS-式という構文は自分の構文に対する抽象構文の表現になっているから プログラムが自分自身(や同じ言語で書かれた他のプログラム)のソースコードを記述している言語を対象言語として 自分自身がそれを素直な形で操作できるメタ言語レベルの存在として振る舞えることになるからね 言い換えればS-式という表現形式のために括弧をやたらと多用させられるLisp言語では ソースコードをその抽象構文(木構造)と同型な形で記述させていると言っても良い だからLispのプログラムをLispで処理する場合には、C等のような普通のプログラミング言語で書かれたプログラムを処理する場合には 不可欠な字句解析や構文解析が実質上は不要なんだよ 何故ならば処理する側のLispプログラムにとって処理される側のLispコードは最初から抽象構文木と1:1対応する形式で提供される訳だから 正にゲーデルの不完全性定理で行っている形式化された論理のゲーデル数による表現とそれを原始再帰的函数や同述語を含むメタ論理のレベルで 処理する構造が、Lispの世界に対応していると言えるわけですよ http://mevius.5ch.net/test/read.cgi/tech/1531587928/156
394: デフォルトの名無しさん [sage] 2021/06/28(月) 20:21:41.41 ID:3DnBzo4y condでいい (cond ((< 0 x) (newline) (display 1.0))) http://mevius.5ch.net/test/read.cgi/tech/1531587928/394
444: デフォルトの名無しさん [sage] 2021/07/20(火) 12:21:34.41 ID:27sTwTCb ifとletを使うのが一番いいと思う (define (pow1 x y) (let ((z (delay (pow1 x (quotient y 2))))) (cond ((zero? y) 1) ((zero? (modulo y 2)) (* (force z) (force z))) (else (* x (force z) (force z)))))) (define (pow2 x y) (let ((z #f)) (cond ((zero? y) 1) ((begin (set! z (pow2 x (quotient y 2))) (zero? (modulo y 2))) (* z z)) (else (* x z z))))) http://mevius.5ch.net/test/read.cgi/tech/1531587928/444
598: デフォルトの名無しさん [sage] 2023/01/31(火) 15:38:47.41 ID:sZCc+g+m ライセンス問題でどうしてもコードを触りたくないなら別だけど 何らかのlisp書きであれば、コピペしてその方言に適合するよう手直しする程度は自明な作業でしょう http://mevius.5ch.net/test/read.cgi/tech/1531587928/598
683: デフォルトの名無しさん [sage] 2024/04/15(月) 15:03:16.41 ID:AVuQkQ2W 痛レス追加w プログラミングにおいては、学問的基礎はそこそこにしてドンドン先に進んだもん勝ちなのよね 学習の初期段階から集合論(動画内ではタイプ理論も)に油売ってたら(逃げを通り越して)脱落かと ユーチューバーが視聴数稼ぎの為に手を出してるのを差し引かないとね、初学者が真似したら破滅 みんな母国語を話せるでしょ?言語学なんて知らなくてもw http://mevius.5ch.net/test/read.cgi/tech/1531587928/683
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.034s