Lisp Scheme Part40 [転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん2015/03/16(月) 13:45:52.92ID:EEYZoZ1i
Common Lisp、SchemeをはじめとするLisp族全般のスレです

■前スレ
Lisp Scheme Part39
http://peace.2ch.net/test/read.cgi/tech/1408017352/

■テンプレ
ttp://wiki.fdiary.net/lisp/

■関連スレ
【入門】Common Lisp その11【質問よろず】
http://peace.2ch.net/test/read.cgi/tech/1411307361/
【Scheme】Schemeインタプリタ Mosh Part1【Lisp】
http://peace.2ch.net/test/read.cgi/tech/1272469779/
【Lisp】プログラミング言語 Clojure #3【JVM】
http://peace.2ch.net/test/read.cgi/tech/1380333808/
【魔法】リリカル☆Lisp【言語】
http://peace.2ch.net/test/read.cgi/tech/1183396621/

510はつみつ餃子 ◆8X2XSCHEME 2017/03/07(火) 15:59:23.09ID:Jusdeq18
>>509
Large の状況については >>494 の通り。
全部の議論が終わるのはまだかなり先のことになるだろうし、
処理系の対応がどうなるかはまだなんとも言えないところはあるのは確かだと思う。
でも、 R7RS Small については R5RS を少し拡張するにとどまったからこそ、
その程度の小さな差を導入することをためらわなくていいんじゃないかという意図だった。

R5RS でも十分といえば十分なのかもしれないけど
特にライブラリなんかは結局のところ R5RS 処理系でもそれぞれの処理系ごとに機構を持ってたりするし、
SRFI を使ったりするときに統一的な書き方ができた方が教える方もやりやすいよ。

511デフォルトの名無しさん2017/03/07(火) 16:36:42.01ID:d/UktTsb
>>510
詳しい説明どうもありがとう
なるほど、そういうことですか、了解しました

512デフォルトの名無しさん2017/03/27(月) 00:34:43.57ID:vvNcurYK
ここはスレチかもしれんがGo言語の勉強兼ねてR7RS片手にScheme処理系組んでみようとしてるけどトークナイザ書くの面倒すぎて心折れそう、お前らどうやってコード書くモチベ維持してるの?

513デフォルトの名無しさん2017/03/27(月) 11:59:36.16ID:rJ5GwHyl
schemeレベルで面倒つったら他の演算子入りの言語じゃどうなるんだ

514デフォルトの名無しさん2017/03/27(月) 12:19:08.00ID:wLrtvEW7
トークナイザなら特に変わらん

515はつみつ餃子 ◆8X2XSCHEME 2017/03/27(月) 13:04:02.91ID:X8O8C+77
>>512
最初から完全である必要はないよ。
数値を整数だけにして文字列や識別子のエスケープも全部省略くらいのものから始めたらいいと思う。
限定的にでも動くものが目の前にあればモチベーションを維持しやすい。

516デフォルトの名無しさん2017/03/27(月) 16:27:52.97ID:do2TA6Gp
>>515
なるほど、とりあえず簡単なとこからやるか

517デフォルトの名無しさん2017/04/02(日) 12:22:30.38ID:aBxOBDdQ
通常のletのように使うだけでgensym済みのlet文を生成するマクロ用コードを作ったのですが、このような挙動をする関数名を教えてください。
(let ((foo (gensym))) `(let ((,foo ,x)) ...)

(my-let* ((foo x)) ...)
と書ける感じです。再発明でなく役立つのであればここにCC0で貼りたいです。

518デフォルトの名無しさん2017/04/02(日) 12:34:36.86ID:3lfrxhSb
On Lisp に with-gensyms っていうマクロが載ってるけど、
それとは違う?

519デフォルトの名無しさん2017/04/02(日) 12:49:44.85ID:aBxOBDdQ
with-gensymsではたぶんこうなると思います。
(with-gensyms (foo) `(let ((,foo ,x)) ...))

520デフォルトの名無しさん2017/04/02(日) 13:06:11.52ID:aBxOBDdQ
突然死しないうちにとりあえず貼りますね。
アカウントは消すのでいいものであればbase64で書き残します。
ttps://gist.github.com/lla/f9244aefb7eee18db4cd

521デフォルトの名無しさん2017/04/02(日) 19:23:02.31ID:28FWzFad
レキシカルスコープのletやlet*でgensym必要なの?
使い道が良く判らない

522デフォルトの名無しさん2017/04/03(月) 10:05:01.53ID:+t4V64u5
こういう時に要ると思うのですが...。要りませんか?
ttp://www.sampou.org/scheme/t-y-scheme/t-y-scheme-Z-H-10.html#node_sec_8.2

523デフォルトの名無しさん2017/04/03(月) 15:23:03.92ID:dRI+3qaq
要るよ

524デフォルトの名無しさん2017/04/03(月) 21:22:49.93ID:e3RabMtG
`((lambda (foo) ...) ,x)と展開すりゃ要らないんじゃないの

525デフォルトの名無しさん2017/04/03(月) 21:45:51.66ID:hrRYx8PC
schemeでは衛生マクロを使うので不要だと思います。
commonlispでも仕様が中途半端なので不要だと思います。
そのまま書くのと手間が変わらないですし。

526デフォルトの名無しさん2017/04/04(火) 12:16:18.07ID:ugpuQ2R8
バカにマクロは無理だと何度

527デフォルトの名無しさん2017/04/04(火) 16:11:24.87ID:L5RxkvgF
(define-macro (my-or a b) `((lambda (x y) (if x x y)) ,a ,b))

>>524 こうですか? 副作用に対してはより良いと思いますが、関数化した時lambdaが二重になって連続使用した時嬉しくないと思います。

>>525 仕様が中途半端という点、gensymのプレフィックスがないこと以外で何か不都合の起きる文があれば知りたいです。それともgensym名の変数は込み入った文や副作用でセットすることが多く、最初に全てのシンボルに値を入れられると不便ということでしょうか?
 ネストが一つ減る程度の関数は不要ですか?

528デフォルトの名無しさん2017/04/04(火) 16:15:12.41ID:BUhgl6Ma
そもそもgensymがなんで必要なのかを理解しているのかという

529はつみつ餃子 ◆8X2XSCHEME 2017/04/04(火) 16:56:46.16ID:qLzzmr/Y
>>524
要るよ。

530デフォルトの名無しさん2017/04/04(火) 22:10:42.70ID:QobCLqKi
>>527 once-only っていう定番マクロしらないの?
(defmacro square (x) (my-let* ((g x)) `(* ,g ,g)))
(defmacro square (x) (once-only (x) `(* ,x ,x)))
それは中途半端なonce-onlyの再発明なんよ

531デフォルトの名無しさん2017/04/05(水) 11:30:15.85ID:must9X5J
and や orって短絡評価な気がして>>527はもやもやする
それと副作用のある式を同一式に並べるのは未定義だった気がする

532デフォルトの名無しさん2017/04/05(水) 11:40:21.51ID:0wF5qf+D
>>530
素敵です! ありがとうございます! これが探し求めていたものです。より良いものがあることを願っていました。

533デフォルトの名無しさん2017/04/05(水) 11:59:09.52ID:FrHqCsnx
>>531
確か評価順が未定義なだけ。

534デフォルトの名無しさん2017/04/05(水) 12:49:06.15ID:must9X5J
((a b c) d)の評価順序は
a b cの順序は決まってなくて(a b c)の後にdが評価されるのだけは保証されている。で合ってるよね?
もちろんマクロや特殊形式の引数は除外だけど>>527の展開結果は(a b c)と同じことになってる

さらに(or a b c)ならaがtrueの時点で評価打ち切りでb cは評価されない(短絡評価)
(or a b c)がマクロなら以下のように展開されないといけない
((lambda(x k) (if x x (k))) a (lambda() ((lambda(x k) (if x x (k))) b (lambda() c))))

535デフォルトの名無しさん2017/04/05(水) 12:51:42.98ID:must9X5J
>a b cの順序は決まってなくて(a b c)の後にdが評価されるのだけは保証されている。で合ってるよね?
これ合ってないわ。評価されるからそれを見越して>>534の最後のように遅延評価を入れとくって話
もういいです。

536デフォルトの名無しさん2017/04/05(水) 12:59:10.45ID:must9X5J
評価されるから、じゃなくて評価の順序が決まってないから
それを見越して無引数lambdaを1つ挟む必要があるだった。

537デフォルトの名無しさん2017/04/05(水) 13:01:01.45ID:must9X5J
気持ち悪いからまとめると、
((a b c) d)のa b c dの評価順序は何も決まってないから気をつけてねって事。

538デフォルトの名無しさん2017/04/05(水) 15:11:50.69ID:I9ofuKtd
最初の要素を最初に評価しないとマクロかどうか分からないかと思ってたが、その前の段階でマクロかどうかを判断することができるらしいんで、仕様では決まってないのか
((begin (display "1st\n") +) (begin (display "2nd\n") 2) (begin (display "3rd\n") 3))
をchezとgaucheで評価したら
2nd
3rd
1st
5
って順番だった。guileやchickenだと
1st
2nd
3rd
5
って順番になる。

539はつみつ餃子 ◆8X2XSCHEME 2017/04/05(水) 16:19:09.69ID:Paj3QjV7
最適化や諸々の都合で、同じ処理系でも順序が変わることはあるので、
単純な事例だけでは処理系の性質を推し量ることは出来ない。

540デフォルトの名無しさん2017/04/05(水) 17:06:07.45ID:0wF5qf+D
(define-macro (my-once-only1 x . body)
(let1 tmp (gensym)
`(glet1 ,tmp ,x
(let1 ,x ,tmp ,@body) )))

(use srfi-1)
(define-macro (my-once-only vars . body)
(let ((names (map (lambda (_) (gensym)) vars)) )
`(glet* ,(zip names vars)
(let ,(zip vars names) ,@body)
) ))
念願のものが作れました…。これで心残りはありません。

541はつみつ餃子 ◆8X2XSCHEME 2017/04/05(水) 20:28:07.58ID:Paj3QjV7
Scheme でやるなら syntax-rules でやったほうが楽だと思うが。

542デフォルトの名無しさん2017/04/06(木) 03:23:23.24ID:A4tBLGW+
>>533
> >>531
> 確か評価順が未定義なだけ。

少なくともSchemeではandやorでの式の評価順序は未定義でなくは左から順番に評価すると一意的に規定されているぞ
CLはどうだが知らんが

543デフォルトの名無しさん2017/04/06(木) 07:25:30.75ID:/2aNxn9F
>>542
そうだった。間違えた。
未定義なのは関数呼び出しの引数の評価順だね。

544デフォルトの名無しさん2017/04/06(木) 16:32:44.68ID:R/lK+iME
やっとリスト処理に慣れてgensymであーだこーだしてる人にsyntax-rulesは敷居高いと思う

545デフォルトの名無しさん2017/04/06(木) 16:36:20.16ID:sOUw0TpV
syntax-rulesはR7RS眺めてもよくわからんかった

546デフォルトの名無しさん2017/04/06(木) 18:46:00.39ID:b3KdhuXf
むしろSchemeから学ぶとマクロ入門にはsyntax-rulesしか書いてなくてdefine-macro&gensym触る機会が無かった

547はつみつ餃子 ◆8X2XSCHEME 2017/04/06(木) 21:09:32.30ID:HwCzkOKu
伝統的マクロの方が動作モデルを想像しやすくはあるかもね。

548デフォルトの名無しさん2017/04/13(木) 05:14:19.83ID:x8ZfQnJg
Racketは死んだ

549デフォルトの名無しさん2017/04/13(木) 16:03:04.54ID:RXvGitp8
>>546
> むしろSchemeから学ぶとマクロ入門にはsyntax-rulesしか書いてなくてdefine-macro&gensym触る機会が無かった

>>547
> 伝統的マクロの方が動作モデルを想像しやすくはあるかもね。

Schemeの場合、何でもありのマクロを排除して意味や動作を形式的に定義でき、
展開結果の正しさ(変数が展開したとたんに突然バインドされたりしない等)を保証できる範囲に留めたいという発想が
根底にあるからね

だからsyntax-rulesなどSchemeでの「マクロ」はあくまでも構文の拡張(カスタマイズ)のためなんだよね
つまり字句レベルを勝手に弄らせるとどんなトラブルでも起こし得るから勝手に弄らせたくたくない、
プログラマがお好みの構文を既存構文を使って定義して追加したいというならそれは許してあげよう
(例えばCみたいにwhile文…ループ条件の判定が最初に行われる構文…がある言語にrepeat〜until文を追加したいなら
許してあげように相当)というのがSchemeの基本的なスタンス

つまり、Schemeの場合はソースレベル(テキストレベルと言っても良い)で好き勝手な操作を許す本来のマクロ
(ソースコードレベルのメタプログラミング手段)でなくて、抽象構文レベルでの変換規則を定義し使用する範囲だけに
限定しているんだと考えれば良いと個人的には思ってるけどね

だから(メタ)プログラムの動きで理解するタイプの人(プログラマには多い、特に優秀な人ほど)にとっては
古典的なマクロのほうが却って理解しやすく、逆に理屈が好きで系統的に理解したがる(代わりにプログラムの腕は
さほどでないのが多い)人間にはSchemeの構文拡張のほうが理解しやすくそちらを好む人が多い

もっともsyntax-rulesとかを提案して実現した向うの連中はプログラミングの腕力も上級者以上ばかりだけどね
(でも殆どの凡人は、プログラミングの腕か理屈かの高々どちらかしか得意でない、まあだからこそ凡人なわけでして
どっちも両立できちゃったらGuy Steele, Jr.みたいになれちゃうよね)

550デフォルトの名無しさん2017/04/13(木) 16:37:53.95ID:UOOoC4Ge
syntax-rulesの動きがよくわからなくて理解できなかったけど古典的マクロなら単純で理解しやすかったな、準クォート使えば面倒でもなかったし(プログラムの腕はだめです)

551デフォルトの名無しさん2017/04/13(木) 21:50:42.52ID:KIw0CyXw
>>549 あくまでも構文の拡張のため
他のlispでもそうでしょ.具体的にそれ以外の他になにがある?

552デフォルトの名無しさん2017/04/14(金) 01:29:59.73ID:ktX2OX7O
>>551
他のLispに限らずマクロは構文の拡張と言えるほどの系統的な代物にはなってないでしょ
だからマクロを展開した途端にグローバルだったはずの変数が束縛されてローカルな変数に化けたりする(変数のキャプチャね)
つまり通常のマクロは(必要に応じて実行時と同じ計算も許して)ソーステキストという文字列データを処理しているだけ

それに対してsyntax-rulesなどに代表されるSchemeのは抽象構文上での操作とすることでテキストという文字でなく構文の句構造のレベルで扱い
変数のキャプチャなどを起こさないように保証するわけだ

ソースコードを文字データとして処理するのか句構造として処理するのかでは考え方も保証できる正しさや展開の安全性も全く違う

553デフォルトの名無しさん2017/04/14(金) 02:55:56.83ID:f5XItAeI
>>552
> lispマクロは構文の拡張と言えるほどの系統的な代物にはなってない.
そんなお前定義しらんし,そんならsyntax-rulesも違う.
はなしが無限退行しそうだからもういいわ.

554デフォルトの名無しさん2017/04/14(金) 03:00:40.04ID:obKv6Nr0
Common lispにschemeのmatchマクロを移植したのないのでしょうか?

555デフォルトの名無しさん2017/04/14(金) 07:39:01.84ID:a6xDhPFv
さあ、わかんなくなってきました。
とにかくsyntax-rulesの方が高級で、実装がめんどくさくて、低機能で、とりあえずほとんどの用はたりる。

556デフォルトの名無しさん2017/04/14(金) 20:02:05.16ID:E0l2Apap
そのめんどくさいの一点だけでLISP系にsyntax-を導入する価値は微妙
パターンマッチだからLISPじゃなくていいわけよね
syntax-rule/caseを日本語で詳細解説した本とかWebページってない?

557デフォルトの名無しさん2017/04/14(金) 20:06:23.95ID:E0l2Apap
なんだっけsyntax-rule/caseの他にもう2つぐらい別種があるんだよね
重複しないシンボル名の管理の観点では手間は同じだけど概念的にはより簡単な感じだったと思う

558デフォルトの名無しさん2017/04/15(土) 09:36:50.92ID:MGc4G7Yt
case は削除されなかった?他の2つも結局どうなったんだか

559はつみつ餃子 ◆8X2XSCHEME 2017/04/15(土) 11:21:48.74ID:7hkWD0i5
>>556
> そのめんどくさいの一点だけでLISP系にsyntax-を導入する価値は微妙

一概には言えない。
たとえば letrec のようなものをマクロで書こうとするとフォームを分解したり
衛生的にしたりする処理はいずれにしても必要なことで、
それを自動的にやってくれる syntax-rules だと簡単に書ける。

syntax-rules や syntax-case は言語のプリミティブな機能としては高級すぎるのは確かで、
これは低水準の部分でどのパラダイムを採用するかで意見が一致しなかった末の妥協案として
いきなり高級な機能を持ち込んだ結果。

参考: http://blog.practical-scheme.net/shiro?20100425-scheme-macro

実際の処理系では explicit renaming や syntactic closure を基礎に据えてその上に
syntax-rules や syntax-case のインターフェイスを実装している場合もよくある。

560デフォルトの名無しさん2017/04/15(土) 15:50:40.85ID:HoujqO6s
schemeだとread macroの定義ってどないなっとるん?
自分common lispとバージョンが上がるといつ消えるか解らないclojureのしか知らんのだけど。

561はつみつ餃子 ◆8X2XSCHEME 2017/04/15(土) 16:38:57.94ID:7hkWD0i5
>>560
リードマクロについては Scheme の仕様には含まれないし SRFI にもないし、デファクトスタンダードといえるものもない。
処理系が独自にやっている場合はあるけど。

私見だが、 Common Lisp に比べて Scheme はモジュール化を強く意識していると思う。
R6RS でフェイズの制御について一応の考え方が確立したものの、
リーダの適用範囲をうまく制御するにはまた別の軸を持ち込む必要があるので厄介なのだと思う。

562デフォルトの名無しさん2017/04/15(土) 18:36:19.85ID:HoujqO6s
>>561
あ、やっぱりなかったのか探しても定義みつらんわけだ
DSL書きたいので処理系の小さい実装のschemeでやろうとおもったのだけど駄目か orz

ありがとね

563デフォルトの名無しさん2017/04/15(土) 19:13:45.64ID:zbZeczCO
Racket はどうや?

564デフォルトの名無しさん2017/04/15(土) 19:35:50.51ID:6k6YVb1i
schemeのリードマクロってCL踏襲じゃまずい理由でもあるの?
健全とか関係なくね?

565はつみつ餃子 ◆8X2XSCHEME 2017/04/16(日) 01:42:41.27ID:H6tmXYoH
>>562
それはいっそプリプロセッサ的なものを書いてしまえばいいんでないかい?

566デフォルトの名無しさん2017/05/20(土) 21:49:25.89ID:hZyWUkTA
Lispの論文で英語表現とか定理の書き方みたいので参考になる論文ってどこらへんみればいいでしょう

567デフォルトの名無しさん2017/05/20(土) 21:54:10.22ID:1QdXRE7A
>>566
定理はともかく英語表現はRnRSの原本読んどけばいいんじゃないかな
後はこんなのとか
http://repository.readscheme.org/ftp/papers/ai-lab-pubs/AIM-353.pdf
wikipediaのScheme系の記事の参照元を読み漁るといいと思う

568デフォルトの名無しさん2017/05/22(月) 19:02:01.63ID:qyIfdaRr
RnRS は仕様書っぽい言い回しだけど論文と同じかなぁ、論文読む方に賛成

569デフォルトの名無しさん2017/05/24(水) 08:06:22.98ID:HxetDgQ4
>>564
リードテーブルの状態によってプログラムの意味が変わってしまうのは不健全さを嫌うScheme的にはだめでしょ

570デフォルトの名無しさん2017/05/24(水) 15:27:40.12ID:jXaLafTB
>>569 の主観なのかそれとも論文にまとまってたりするのか.
racket#!langはどうなる.

571デフォルトの名無しさん2017/05/25(木) 19:06:27.53ID:XPkyG+P/
>>570
そもそもRacketはScheme的にだめでしょ

572デフォルトの名無しさん2017/05/25(木) 21:07:52.50ID:1hi1bgKK
わかったおまえの主観ってことな.あんがと.

573デフォルトの名無しさん2017/05/26(金) 16:53:05.43ID:NdkbHKTg
Chez Schemeの日本語ドキュメントないの〜?

574はつみつ餃子 ◆8X2XSCHEME 2017/05/27(土) 18:03:08.42ID:O+COb9Mx
ない。

575デフォルトの名無しさん2017/05/28(日) 00:02:44.20ID:k20WIr1s
ちぇっ

576はつみつ餃子 ◆8X2XSCHEME 2017/05/28(日) 17:36:39.82ID:KnUhHSDN
Chez Scheme について具体的に知りたいことがあればここで質問すれば簡単な回答くらいはつくかも?

577デフォルトの名無しさん2017/05/30(火) 00:45:37.72ID:Dd0ZuLcv
最近のlisp webフレームワークで良いのって何でしょうか

578デフォルトの名無しさん2017/05/30(火) 00:48:16.84ID:kWERrntF
Kahuaなら知ってるが更新されてないっぽいし使ったことないからよくわからん

579はつみつ餃子 ◆8X2XSCHEME 2017/05/30(火) 02:45:46.19ID:Gds8xcWJ
>>577
Artanis とかどうよ
http://web-artanis.com/

580デフォルトの名無しさん2017/06/11(日) 12:44:37.67ID:QmG4H1RB
逆転ポインタなつい
ttp://qiita.com/kingshine/items/d74576886c067737ad18

581デフォルトの名無しさん2017/06/22(木) 00:41:06.63ID:qjVInUD2
Common lispのnilとfalse区別しないの気持ち悪いけど
Schemeでまともな処理系もう残ってない感じして
Common Lisp に移住するしかない

582デフォルトの名無しさん2017/06/22(木) 00:49:51.73ID:GIlOn6Gc
何をもってまともと言うのか、Gauche使ってるけど普通に安定してるぞ

583はつみつ餃子 ◆8X2XSCHEME 2017/06/24(土) 01:00:13.24ID:Ma6ZsMvR
>>577-578
Kahua ほどダイナミックな運用はできないが Gauche-makiki は簡単に使えるし
活発に更新されているのでいいかも。

584デフォルトの名無しさん2017/06/29(木) 18:45:47.85ID:cCrWWcTS
Scheme のこと好き? 忌む?

585デフォルトの名無しさん2017/06/29(木) 22:55:19.10ID:S64gSu9X
忌マラン

586はつみつ餃子 ◆8X2XSCHEME 2017/06/30(金) 13:39:29.59ID:svEzz20W
>>584
好きだよ。

587デフォルトの名無しさん2017/07/02(日) 03:01:49.46ID:27xX9ykc
最速の処理系ってどれ?

588デフォルトの名無しさん2017/07/02(日) 11:09:04.91ID:b45oz2aB
Chez >>444

589デフォルトの名無しさん2017/07/02(日) 17:50:09.29ID:27xX9ykc
最高の処理系ってどれ?

590デフォルトの名無しさん2017/07/02(日) 17:58:15.58ID:WUsDB0eH
自作の処理系が最高、性能使い勝手を抜きにすれば

591デフォルトの名無しさん2017/07/02(日) 20:22:47.00ID:27xX9ykc
さぁ、行こう

592デフォルトの名無しさん2017/07/02(日) 22:56:38.27ID:+DSvk7sR
picrin使ってたのにgitのtipがビルド通らん…巻き戻すしか

593はつみつ餃子 ◆8X2XSCHEME 2017/07/03(月) 02:53:40.39ID:XZhdgRwT
>>587
そんなスピードで何するの?
速いに越したことはないけどさ。

594デフォルトの名無しさん2017/07/04(火) 01:39:10.46ID:0P9ajF4y
速いに越したことはないなら一番速いやつを選ぶじゃん

595デフォルトの名無しさん2017/07/04(火) 13:19:59.34ID:0P9ajF4y
>>592
picrin のどういうところが好き?

596はつみつ餃子 ◆8X2XSCHEME 2017/07/05(水) 02:05:52.95ID:YH3wEyty
>>594
他の条件が同じなら速いやつを選ぶけどさぁ、
そんなの用途によるだろ。

597デフォルトの名無しさん2017/07/07(金) 01:47:32.06ID:2HLO6jqr
実際のところSchemeでどんなプログラム書いてる?
具体的に晒せるものがある人いる?

598デフォルトの名無しさん2017/07/07(金) 11:18:37.71ID:jxDw4Nqu
晒せないが、S式で書いたテンプレートからHTMLに変換してた
CSSで過去の技術となったが

あとはC++に組み込みスクリプト

599デフォルトの名無しさん2017/07/07(金) 20:03:34.22ID:2HLO6jqr
あれー、この話題ってあまり盛り上がらない?

600デフォルトの名無しさん2017/07/07(金) 21:13:04.41ID:jTA32Qmi
>>594
schemeと俺を比べたら俺が遅いからあんまり意味無いんだよトホホ

601デフォルトの名無しさん2017/07/07(金) 21:29:14.88ID:tdv0VtnU
>>599
そもそも盛り上ってないこのスレを盛り上げるにはお前が身を削ってネタ投下するしかないだろ

602デフォルトの名無しさん2017/07/07(金) 22:43:58.99ID:YCPzMAB4
biwascheme http://www.biwascheme.org/ はページ上にREPLあるから遊べるかも

603デフォルトの名無しさん2017/07/08(土) 09:17:29.55ID:fLNNHfj0
>>444
実際の時間差はあまりないな
順位はかなり後ろだけど

604デフォルトの名無しさん2017/07/08(土) 15:03:13.50ID:NjwxgcfF
picrin のコア機能では unicode サポートなしで、後付けは可能なようにするという方針も提示されている
ので、コアだけのスピードで評価するのもアンフェアな気がする。

https://twitter.com/___yuni/status/504240324831477760

605デフォルトの名無しさん2017/07/20(木) 23:50:26.23ID:ZZEUd8Cf
AIの分野はもう完全にPythonに譲ったの?

606はちみつ餃子 ◆8X2XSCHEME 2017/07/21(金) 02:42:10.26ID:2BokDUmp
Python ってプログラマでない人にも使いやすいデザインなんだとさ。
数学屋や物理屋もプログラムを書くことはあるけど、専門家じゃないからな。
言語に関わってばかりはいられん。
綺麗な抽象化とか考えずに愚直に書いて動くってのはそれはそれで良い言語なんだよ。
VB とかな。

AI の核になるライブラリが出そろってきていろんな応用をする段階になると
Python の方が色んな人に使ってもらえるという意味で良いんじゃないか?

それに今の AI ってのは記号処理するのに柔軟なデータ構造が必要って感じじゃないだろ。
計算量を投入しまくって結果を出す機械学習とかじゃん。
広い意味では AI つってもやってることは違うよ。

607デフォルトの名無しさん2017/07/28(金) 00:10:04.60ID:Hpt0wAEo
Schemeが本当に美しさと強さを両立させようと思うんなら
速さを二の次にして仮想機械の仕様も標準に入れてしまえばよかった
Smalltalk-80のVMは美しかったが
RnRSのdenotational semanticsの記述はCOBOLのコードみたいで正直読みたくない

608はちみつ餃子 ◆8X2XSCHEME 2017/07/28(金) 20:26:39.53ID:hXOq69kK
Scheme の仕様ってのは業務マニュアルみたいなもんだよ。
たとえば「誰にハンコをもらえば進めていいのか?」みたいな手順は組織の秩序としてやらなきゃならないことだから
個人の創造性で決めれることじゃないし、仮にそれぞれの場面で最高の才能を発揮して根回ししたところで
正事の成果が良いものになるわけじゃない。
どうでもいいことはマニュアル通りにやってもっと大したことに力を入れようってのが業務マニュアルだろ。
逆に言えば創造の余地がある部分は決めつけてしまいたくないんだ。

609デフォルトの名無しさん2017/07/29(土) 16:28:59.88ID:hKWXJ4tB
lispworks 32bitを使ってて、fliを使ってwindowsのdllから関数を呼ぼうとするのだけど、
一部の関数だけがunresolved symbolだと言われて呼び出せない。
dll exported functipn viewerとかでみてみると、
ちゃんと関数を確認できるのに。

何でかわかる人いる?
おいどん、初心者やからわけわかめなのよ。

とりあえず、cffiでもできないかどうかと、ほかの処理系ではどうかを試そうとは思うのだけど、
なんか知ってる人いたら助けてー

■ このスレッドは過去ログ倉庫に格納されています