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/

358デフォルトの名無しさん2016/03/27(日) 21:24:01.32ID:0fEHBexO
>>357
・特に [ ] のあたりの文法が違うのでLispの資産を移行できないから
・Lisp の ( ) の対応に慣れた人には、罠のようにはりめくらされた文法不一致があるから
・S式だけで構成できないから
・再帰末尾最適化に制限があるから

359デフォルトの名無しさん2016/03/27(日) 21:47:19.72ID:/EOuwLtH
>>358
1の[]に関しちゃ大昔のスーパー閉じ括弧の存在を忘れてもらっては困ると思うしschemeの一部処理系も括弧の代わりに表現力の強調で括弧と同等に扱う等に導入してるからそこまで嫌わんでもと思う
2の部分は許容してもらうしかないんじゃないのかなぁ、まぁ否定はしない
3は1と2の事だよね?
4はLispというよりscheme好きの人なら反発するのとてもよくわかる。(jvm側の問題でもあるけど)

[]に関しちゃむしろ良く出来てると思うのだよね、3が許せないとどうしようもないけど。

リーダーマクロが普通に扱えないって言う意味で怒ってるのかと思ったのでちょっとびっくりしました。>>358

360デフォルトの名無しさん2016/03/30(水) 01:19:52.13ID:4Lxy3Poc
>>358
> ・再帰末尾最適化に制限があるから

「再帰末尾」じゃなくて「末尾再帰」
元の英語は "tail recursion"

361デフォルトの名無しさん2016/03/30(水) 11:18:07.37ID:7zl3Df3d
> ISLisp でggrと「ISLISPを使うべきでないたった1つの理由」がトップに並ぶ哀しさよ
これ根本的に間違えてんね.ユーザーいないし訂正する人もいないからこのページが消滅するとよいね

362デフォルトの名無しさん2016/03/30(水) 23:06:00.56ID:7AHXAhDb
算法表現論ゲット
読みやすそうで少し安心

363デフォルトの名無しさん2016/04/01(金) 19:48:09.65ID:3RzF36/0
>>361
ちょうど、昨日、そのページ読んだばかりだった。
どこらへんが間違ってるの?

364デフォルトの名無しさん2016/04/01(金) 23:04:20.67ID:cY7z571b
> 「実行時情報」が使えないということは,つまり,自分で定義した関数によるマクロの展開は行えない,ということです.
ココ。つまりこのページの主張全部

365デフォルトの名無しさん2016/04/01(金) 23:32:51.04ID:TfQnAKLt
自分で定義した関数ってコンパイル時情報だよな?

366はちみつ餃子 ◆8X2XSCHEME 2016/04/02(土) 04:27:14.45ID:4LcO4yg1
仕様から関連しそうな箇所を抜き出してみた。

> 4.8 定義演算子
> 定義形式によって定義される名前は、最上位有効範囲全体で使うことができるが、
> ISLISP テキスト単位における実行準備された最上位形式は、左から右に順に実行される。
> (略)
> (defun function-name lambdaform*) → <symbol>
>
> defun 形式は、 function-name を、関数名前空間の識別子として定義する。 function-name は、 (lambda
> lambda-list form*) と等価な関数オブジェクトに束縛される。

> 8. マクロ
> (略)
> マクロは、実行準備時に展開される。 いかなる実行時情報も使えない。使用可能な操作は、単純なデー
> タ構造の生成及び処理に制限される。すなわち、(端末への入出力のような) 環境への副作用、(記号の属
> 性リストの変更のような)外部的にアクセスできるデータ構造への副作用、及びマクロ形式自身への副作用
> を起こす操作は禁止する。

「4.6 評価モデル」も関連するけど長くなるので要約。
・ まず実行準備される
・ 実行準備が完了してから実行される
・ 実行準備完了時点でマクロ展開は終わっている
・ 実行準備のための処理は処理系依存

断言できるほどはっきりしてないけど、関数の定義名はマクロ展開時にも見えてて、
関数名と関数オブジェクトを結びつけるのは「実行」だと解釈するのが妥当だと思う。
マクロ定義中にユーザー定義関数を使えないとする解釈を私も支持する。

ただ、全体を通して見ると副作用のない (プログラマが定義した関数を含む) 関数なら使えると想定しているっぽい雰囲気
はあるような気がする。

3673632016/04/02(土) 07:29:47.03ID:A2SWmCys
>>364,365,366

みなさん情報ありがとう。
ISLISPの日本語の仕様書はどこかなと思ったら、ここにあった。
http://www.jisc.go.jp/app/pager?id=1759608

ダウンロードしての閲覧禁止って。変な制限かけてるなぁ。

368はちみつ餃子 ◆8X2XSCHEME 2016/04/02(土) 12:56:38.38ID:4LcO4yg1
>>367
その URL では見れないよ。
URL 中の番号はあなたがアクセスしたときのセッション番号。
文書に固有の番号ではないので、パームリンクとして使えない。
ダウンロード禁止なだけじゃなく、たぶんサーチンエンジンのクロールも避けてるんだと思う。

369デフォルトの名無しさん2016/04/02(土) 13:43:35.05ID:5+CR+tn7
表示中オフラインにするとpdf中のjsに怒られたような記憶がある

370デフォルトの名無しさん2016/04/02(土) 15:42:26.21ID:qu6I3qRA
普及させる気ないんだろうね

371デフォルトの名無しさん2016/04/02(土) 15:51:19.10ID:5+CR+tn7
買ってもらってるから、不公平って話だと思われる。
紙も実費で配れる財源あるといいんだけどね。

isoは販売になってるけど、他団体と共同でたまに公開されてるのがある。
草稿は公開してるところもある。

372デフォルトの名無しさん2016/04/02(土) 15:59:10.41ID:5+CR+tn7
ここで公開してたやつも草稿であって、ってリンク切れしてるのな。
http://www.open-std.org/JTC1/SC22/WG16/

http://www.islisp.com/jp/ISLisp-spec-jp.html

373デフォルトの名無しさん2016/04/02(土) 16:12:01.04ID:5+CR+tn7
isoやansiよりはjisの方がweb公開進んでるのだけど、
ecmaならecmascript(js)やclr(.net)みたいに公開されるのか。

374はちみつ餃子 ◆8X2XSCHEME 2016/04/02(土) 17:41:26.10ID:4LcO4yg1
日本の法律だと JIS 規格に著作権が認められるかどうかははっきりしない。
総合的には認められないとする説の方が有力らしいんだが、
ISO は規格の著作権を主張してるからそれに加盟してる JISC も倣うしかなくて、
間をとって閲覧だけは無料という曖昧なところでぼやかしてるらしい。

375デフォルトの名無しさん2016/04/02(土) 18:45:29.01ID:8BHbSdoO
工業規格は事実上の業界標準を後追いで規格化したのがほとんどだから、著作権どころか特許が生きてるのが混じってるので注意が必要

376デフォルトの名無しさん2016/04/02(土) 23:14:35.48ID:1yEjd1gy
> 366
> 断言できるほどはっきりしてないけど、関数の定義名はマクロ展開時にも見えてて、関数名と関数オブジェクトを結びつけるのは「実行」だと解釈するのが妥当だと思う。

入手できたISLISP Working Draft 23.0をベースにして述べるが,その理屈だと備え付けの関数も展開には使えないように思える.
備え付け関数もユーザ定義の関数もpreparation for executionの間に実行可能という記述はない.
不可能という記述もない.(定義はしないとある)

仮にユーザ定義の関数は使えないとしよう.
ローカル関数 (flet labels)が,defmacro 内で使えないようには見えないのでこれで対処できる.
また,マクロは使用場所に先行して定義があることが必須とあるということは,ユーザ定義のマクロは使えるように見えるので,補助関数の所を補助マクロとするのも良いだろう.
CommonLispでもマクロ展開の補助でユーザー定義関数の利用は必須ではないし,利用するには評価フェイズを合せなくちゃならない問題がある.(ISLISPはこれを回避したのかもしれない)
これをもって「ISLISPを使うべきでない」とするのは誇張が過ぎるし,真に受ける者が出るとしたら害悪だろう.

377デフォルトの名無しさん2016/04/03(日) 00:12:06.32ID:TLDHNLo8
そのページの害悪よりも、isLispの素晴らしさが伝わるようなページが
検索トップに来ないことの方がずっと問題だと思うけど

378はちみつ餃子 ◆8X2XSCHEME 2016/04/03(日) 01:50:33.42ID:KHszJMdl
>>376
「実行準備」「実行」の繰り返しがどういう単位なのかっていう、フェイズの分離の仕方の問題だよな。
ひとつの式ごとなのかプログラム全体にわたってなのかでも解釈が違ってくる。

まあ最大限に安全な方向に見積もって未定義だと解釈しても、
それで ISLISP の有用性が全部失われるわけではないということには賛成できる。
あの記事はよくある誇張した煽り記事だろ。 センセーショナルなタイトルをつけてるだけで大したこと言ってない。
しょうもない記事が上位にきてしまう程度に ISLISP に関する記事が少ないってだけ。

379デフォルトの名無しさん2016/04/05(火) 19:32:30.73ID:wN+QNOe5
ISLispを普及させるために必要な10のこと
・ISLispBoxを無償提供する
・ISLisp Hyperspecを無償提供する
・SICPをISLispで書き換える
・On ISLisp、Little ISLisper、Land of ISLispを出す
・ISLisp for Dummies、すごいISLisp楽しく学ぼう!も
・WhyのISLisp感動的ガイドを公開する

380デフォルトの名無しさん2016/04/05(火) 23:12:23.26ID:XIj7GX7+
他の実装へのトランスレータがあれば普及させる必要はない

381デフォルトの名無しさん2016/04/07(木) 01:17:53.66ID:y6T+G0tp

382デフォルトの名無しさん2016/04/07(木) 02:51:00.20ID:J/4BCUlz
>Lispを普及させるために必要なこと
括弧が少ない言語の方が好まれる傾向にある
よって括弧が一切存在しないLispが誕生すれば爆発的に普及するだろう

383デフォルトの名無しさん2016/04/07(木) 03:03:03.39ID:69hNyYMv
今年のscheme workshopは日本
いつもwebdbfと重なって行けなかったが今年は行けそう

384デフォルトの名無しさん2016/04/07(木) 13:28:18.97ID:bXWnnDCw
言語で使う括弧の量と、括弧打つのが面倒な場面の数ってあんま関係ないよね。

括弧使う言語を書いてるときに面倒なのは、今書いた式を引数にして別の関数を更に適用しようかとかなったときに、
後に閉じ括弧つけてカーソル前に戻して関数名書いて括弧つけて、ってやるときがほとんどなんだけど、
例: foo(x,y)_ → bar(_foo(x,y)) # "_"はそのときのカーソルの位置
Emacsなら一発で飛べる分、むしろLispの方が楽なときがある。

そういう意味だとOCamlの foo x y _ → foo x y |> bar_ は便利だった。

385デフォルトの名無しさん2016/04/09(土) 00:31:51.25ID:V5jcD4gz
Lispが普及しないのはEmacsで開発するのが当たり前ってところでしょ?それじゃ新規は増えないよ。

386デフォルトの名無しさん2016/04/09(土) 01:09:17.67ID:K2fjpu1X
それはいいんだよ
CLやscheme, Racketに比べてISLISPが普及してないのはもったいないよね
という話

387デフォルトの名無しさん2016/04/09(土) 07:59:30.45ID:vy7ZgTpp
>>385
F#はVisual Studioだけど普及してないし

388デフォルトの名無しさん2016/04/09(土) 12:25:09.55ID:RLrf2DHR
>>387
F#は好きな言語ではあるが、C#と比べるとVSの動作が重くてしんどいよ。
型推論が遅いのか構文解析が面倒なのか、自動でエラー箇所表示させると凄く反応が悪くなる。
FParsecとか関数型言語ならではの便利ライブラリ使うとより顕著に。

ISLispはロクな実装無いし真面目に使っている人がいないから、どこが便利でどこに課題があるかも分からんのがね。

389デフォルトの名無しさん2016/04/10(日) 00:55:16.70ID:o+jF8W/p
>>387
なら開発環境と言語の両方に魅力がないとダメってことじゃない?

390デフォルトの名無しさん2016/04/10(日) 01:04:07.52ID:FW5ih/4i
smalltalkは普及してないけど、objective-cは普及した
つまり、Lispを普及するには中間言語をcにして、、、

391デフォルトの名無しさん2016/04/10(日) 01:05:20.48ID:FW5ih/4i
そういえばsqueakがレイヤごとに言語変えるとかどっかでチラと読んだような気がする

392デフォルトの名無しさん2016/04/10(日) 09:59:42.62ID:OHXqjM6F
>>390
Objective-Cは絶滅危惧種だったがジョブズのおかげで生き延びた

393デフォルトの名無しさん2016/04/10(日) 13:13:21.92ID:FW5ih/4i
最も愛されているプログラミング言語や技術

1. Rust(79.1%)
2. Swift(72.1%)
3. F#(70.7%)
4. Scala(69.4%)
5. Go(68.7%)

http://news.mynavi.jp/news/2016/04/07/062/

Most Loved Programming Languages Of 2016 ? Rust, Swift, F#, Scala, Go
http://fossbytes.com/loved-programming-languages-rust-swift-go/

だそうです

394デフォルトの名無しさん2016/04/10(日) 14:19:08.33ID:OHXqjM6F
>>393
愛人にしても本妻には決してしたくない言語だね

395デフォルトの名無しさん2016/04/10(日) 15:37:29.95ID:1G8jL9C/
Rustは好き。C/C++が引き受ける低レベルな領域に型システムの安全性と利便性を突っ込んでみたっていう発想は良い。

けど、コンパイル時間がコード量から予測しづらい(イテレータやジェネリクスを使ってると特に)のと、
莫大なライブラリを資産に持つC/C++と比べたときの実用性の差を考えると、
潤沢な計算資源があって、比較的優秀な人材が揃えられるところ向け。

Schemeのような、スタンドプレーの生産性を莫大に高める言語じゃあないと思う。

396デフォルトの名無しさん2016/04/10(日) 16:24:09.38ID:GJqGP9+Q
俺もRust好きだな、ただObjective-Cみたいに言語のはらわたまで触れる(smalltalk由来の部分ね)緩さをもった言語も大好きなんだよな
あとはClojureが好き、これはWebアプリ書いてるとき限定だけど。

LispスレなのにLisp系がClojureとかでスマヌ

397デフォルトの名無しさん2016/04/10(日) 19:11:20.69ID:bGdugtOr
Lisp系言語のネックは言語実装じゃなくて実行環境だと思う

398デフォルトの名無しさん2016/04/10(日) 20:22:50.36ID:OHXqjM6F
>>397
マルチプラットフォームでコンパイラで実行バイナリも吐けるし何が問題?

399デフォルトの名無しさん2016/04/10(日) 20:44:51.47ID:bGdugtOr
>>398
「Common Lisp なら問題なく安定して高速な実行バイナリを吐ける」 という前提が必要かと

400デフォルトの名無しさん2016/04/10(日) 21:07:38.87ID:fTRAmtFw
マルチプラットフォームとかより.NET Frameworkとか使えるかが問題

401デフォルトの名無しさん2016/04/10(日) 21:42:33.45ID:hia67FmN
Biglooは高速なんじゃないの?

402デフォルトの名無しさん2016/04/11(月) 19:30:23.23ID:B6eduLpk
Hyper Specが日本語に翻訳されたら増えるかもね。
日本語の情報が少なすぎだよ。

403デフォルトの名無しさん2016/04/12(火) 07:35:10.05ID:cHC5205s
Racketからpython使うだいぶ楽になったけど、逆はどうすればいいんだ?

404デフォルトの名無しさん2016/04/15(金) 16:27:17.39ID:SDnTU4FS
Deep Learningライブラリkeras
がニューラルネットワークのグラフ処理と数式処理を組み合わせた
ちょっと気の利いた自動処理をやってくれてたんだけど,バグだらけで
pyrhonで数式処理やるの無茶だしこんなものだろうと思ってたら
最新版で気の利いたグラフ処理を全部削除してきた

数式処理をLisp以外でやるのは,やっぱり無理だったんだな

405デフォルトの名無しさん2016/04/15(金) 17:44:56.79ID:h+7uFu1K
sympy ないからね〜♪

406デフォルトの名無しさん2016/04/15(金) 18:27:07.12ID:SDnTU4FS
SymPyはテンソル処理できないし

数式を評価して数値にしないで式のまま扱うには
どうあってもマクロの機能が必須

407デフォルトの名無しさん2016/04/15(金) 18:29:44.90ID:SDnTU4FS
もうちょっと具体的に言うと
x_iのiも数値じゃなくて数式になってるような処理がmaxima以外じゃできないんだよ

408デフォルトの名無しさん2016/04/16(土) 09:53:49.06ID:dMPS3Rkb
ややスレ違いで申し訳ないのですが、
Common Lispで記述されてるMaximaのWindows版バイナリの
GCLやSBCL版がDEPの対象からから外さないと動かないのって、
多分fasl絡みだと思うのですけど、これってどうしようもないのでしょうか?

4094082016/04/16(土) 09:55:12.62ID:dMPS3Rkb
をを専ブラじゃなくってIEで書き込めたぞ

410デフォルトの名無しさん2016/04/16(土) 22:21:58.39ID:jF3WTL87
windows10のubuntuサブシステムってguile動くのかな?

411デフォルトの名無しさん2016/04/17(日) 12:42:24.64ID:OFPJm6rS
ubuntu subsystemはterminal関連やプロセス情報周りまだ調節してるみたいなので、起動で使ってるととまるかも。

cygwinと違いlinuxのバイナリがwindowsのシステムコールに変換してそのまま動くらしいが、プロセスfork周りとか安定するのかな。

docker for windowsでも結構いろいろ出来るけど、
こちらはファイル連携の効率が鬼門?

412デフォルトの名無しさん2016/04/18(月) 00:23:19.09ID:7XwxtGPN
schemeでSDL使ってなんかやってみたいのだが
guileでもgaucheでもうまく使えるようになってくれん・・・(´・ω・`)

週末おわったからまた来週までおあずけ・・・

413デフォルトの名無しさん2016/04/24(日) 20:26:59.87ID:0x0aJXRe
>>374
規格そのものには著作権はない
規格書にはある
JISはお役所っぽいとはいえ
規格書は著作権法の除外対象である
「憲法その他の法令」「告示・訓令・通達等」「判決等」などには含まれない

414はちみつ餃子 ◆8X2XSCHEME 2016/04/24(日) 23:36:40.58ID:dj3kRx0x
>>413
というはっきりした根拠がないという話な。

415デフォルトの名無しさん2016/04/25(月) 02:32:42.65ID:i2M++PuM
著作権法の保護対象は、思想や感情などを創作的に表現したものだから、規格書が該当する可能性は低いんだよね。
執筆者の思想や感情に染まった創作的な規格書とかアレだし。

416デフォルトの名無しさん2016/04/25(月) 02:51:04.57ID:UQm4t1FS
規格化されたから安心して使えるよね、ってのが長所だろうに
なぜ規格書を半クローズドにするのか全然意味が分かんないw
パンピーから見て「馬鹿なんじゃねえの?」ぐらいある

417はちみつ餃子 ◆8X2XSCHEME 2016/04/25(月) 03:49:21.76ID:H1EfbN1H
Wikipedia にもそのあたりの経緯は書かれてる。

https://ja.wikipedia.org/wiki/%E6%97%A5%E6%9C%AC%E5%B7%A5%E6%A5%AD%E6%A8%99%E6%BA%96%E8%AA%BF%E6%9F%BB%E4%BC%9A

公官庁が作ってるとは限らない (つまり原案が民間からの提案による) というのが著作権が保護される根拠になってるな。
でも、規格票やハンドブックの売り上げは規格団体の活動資金であって (原案の) 著作者に還元されてるわけでもないみたいなので、
その点でも説得力に欠ける気がする。

418デフォルトの名無しさん2016/04/25(月) 10:21:16.35ID:J5O1W2lq
誰かが法廷で争って白黒付けん限りはどうにもならん

419デフォルトの名無しさん2016/04/25(月) 18:12:09.23ID:NhSdIii9
>>417
それは権利が移譲されてるだけ

420デフォルトの名無しさん2016/04/25(月) 18:33:02.98ID:RM5Zqug+
権利守るためには普及しなくてもいいや、ってことか

421はちみつ餃子 ◆8X2XSCHEME 2016/04/25(月) 18:47:45.03ID:H1EfbN1H
>>419
手続き上どうなってるか知らんけど、民間の権利を保護することを理由にしてるのに
権利を移譲させているのなら保護する理由として説得力が欠けることにはかわらん。

422デフォルトの名無しさん2016/04/25(月) 21:57:50.21ID:RsNFjZ9o
問題は特許の方だったりする
規格化されてる技術でも、民間企業の特許権が放棄・委譲されてない場合があるから注意ね

423デフォルトの名無しさん2016/04/27(水) 01:17:14.13ID:0mhH1Qow
いつのまにか Chez がオープンソース化されとるんやけど。
https://github.com/cisco/ChezScheme

424デフォルトの名無しさん2016/04/27(水) 09:36:40.00ID:NqgLzB8V
ライセンスは Apache License 2.0 か

425デフォルトの名無しさん2016/05/01(日) 12:07:59.87ID:tKi6j9CT
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
7

426デフォルトの名無しさん2016/05/17(火) 17:05:48.70ID:YgbAgXws
The Little Prover (MIT Press)
by Daniel P. Friedman et al.
Link: http://amzn.com/0262527952

427デフォルトの名無しさん2016/06/17(金) 14:09:15.00ID:aKyWkGS/

428デフォルトの名無しさん2016/06/19(日) 15:31:25.37ID:ZDqZVbmO
Scheme workshopに間に合わなかった論文を投稿できる国際会議って他にないものでしょうか?

429デフォルトの名無しさん2016/06/19(日) 19:41:59.96ID:TTlCeyJj
elispで"で囲まれる文字列をエディター上で複数行にわたって一行の
文字列を作るにはどうやりますか?

430デフォルトの名無しさん2016/06/20(月) 00:32:31.05ID:UyWTAm1z
>>429

"foo
bar
baz"



"foobarbaz"

にするってこと?

431デフォルトの名無しさん2016/06/20(月) 03:54:27.98ID:1sGgDOGd
>>428
ACMのプログラム言語系国際会議だとここらへんに
http://www.sigplan.org/Conferences/
https://en.wikipedia.org/wiki/SIGPLAN

Scheme workshopはICFPと併設か
http://conf.researchr.org/home/icfp-2016
http://scheme2016.snow-fort.org/
Submission deadlineJune 24th, 2016

似た時期にやってるSPLASHと併設はアブストラクト提出があるみたいで締め切りがはやそう?
http://www.sigplan.org/Conferences/SPLASH/

POPLが1月、PLDIが6月みたいだけど、この時期は各種言語系の併設少ない

European Lisp SymposiumもACMと共同みたい?だけど
来年は4-6月ぐらいなのかな?
http://www.european-lisp-symposium.org/

そして、ILSの開催はよくわからない

432デフォルトの名無しさん2016/06/20(月) 09:52:51.85ID:WTi3RfiH
>>430
ということです

433デフォルトの名無しさん2016/06/20(月) 10:19:02.98ID:UyWTAm1z
例えばリージョンを指定して
(replace-regexp "\n" "" nil (region-beginning) (region-end))
とするとか。

434デフォルトの名無しさん2016/06/20(月) 10:31:53.16ID:zNtNJydN
こういう改行を自動的にオミットしてくれるraw文字リテラルとか言語によってはあるよね。

435デフォルトの名無しさん2016/06/20(月) 17:28:02.84ID:3ZWHStpW
バックスラッシュで改行をエスケープしたらできました
ありがとうございます

436デフォルトの名無しさん2016/06/22(水) 09:00:57.86ID:y1M9DB0/
Racketのメモリ使用効率が最近、劇的向上したと聞いたがソースが見つからない

437はちみつ餃子 ◆8X2XSCHEME 2016/06/22(水) 09:59:37.32ID:es+zuR1i
適当なコードをプロファイラ付きで動かしてみれば自分で確かめるのも簡単にできそうに思うが

438デフォルトの名無しさん2016/06/24(金) 15:03:54.34ID:kFtEs5yG
scheme workshop のホームページが落ちてる

439デフォルトの名無しさん2016/06/24(金) 19:38:06.30ID:WmRGQvXX
scheme on you!

440デフォルトの名無しさん2016/07/11(月) 05:29:45.06ID:VKBZ9FDE
python のdoctestっぽいのが
コメント領域
#|
...
|#
で囲まれた範囲に書かれている
https://github.com/JeffBezanson/femtolisp/blob/master/examples/bq.scm

こういうテストの記述方法使えるscheme処理系って他にないものでしょうか

441はちみつ餃子 ◆8X2XSCHEME 2016/07/11(月) 13:22:30.31ID:lXJnj28H
>>440
doctest ではないけど、同じファイルにテストを書ける方法がある。

SRFI-22 で、 main 手続きがあるとそこをエントリーポイントにする機能があるんだが、
Gauche では -m オプションでモジュール名を指定すると
そのモジュール内にある main (通常は実行されることはない) を実行できる。
ライブラリとして書いたものをスクリプトとしても実行できる仕組みなんだけど、
実際のところそういう使い方は普通はしないので main にテストを書いておくという使い方も出来る。

あるいは、 -F オプションの有無で cond-expand を使って分岐してテスト部分を走らせるという方法もある。

442デフォルトの名無しさん2016/07/11(月) 13:30:48.11ID:vMXg/Dlp
Clojureだと関数定義にmeta情報としてtestを登録できるけど
Schemeのマクロでtest呼び出し可能なdefine-with-testみたいなの作れないものなの?(あたしゃSchemeいぢった事ないのでわからん)

443はちみつ餃子 ◆8X2XSCHEME 2016/07/11(月) 13:37:54.26ID:lXJnj28H
>>442
出来る。

444デフォルトの名無しさん2016/07/21(木) 08:53:46.11ID:w8JCXqYb
http://ecraven.github.io/r7rs-benchmarks/benchmark.html
Chez が圧倒的なんだが、何故か string のテストだけ突出して順位低いな。

445デフォルトの名無しさん2016/07/21(木) 18:52:01.52ID:dtsOUE7n
文字列の取出しや結合を繰り返すベンチだな。
Chez の実装をおおざっぱに見てみたら、文字列はただの配列らしい。
string-append も新しくアロケーションしてコピーするだけ。

https://github.com/cisco/ChezScheme/blob/fe172bfdfbf2f606db611013e7689d6a2b117d5e/s/5_4.ss#L33

文字列が rope ならこの種類のベンチは高速になるはずなんだけど、
それはそれで string-ref などが少し遅くなるという欠点もある。
R6RS は string-ref や string-set! が定数時間と要求してるのでそっちを優先したのかも。
(要求といっても `should` はその処理系でコストが大きかったり他との兼ね合いで難しいようなら無視してよい緩い要求。)

あと、 Chez のこういった基本的な手続きは Chez 自身によってコンパイルはされるが、
C で書かれている場合と比べると遅くなると思う。
C で書かれているライブラリを呼出したら、呼出されている間は C の速度ってことだからな。
それらと比較して多少遅い程度で戦えてるならかなり強いんじゃね。
他の実装がどうなってるか知らんけど。

446デフォルトの名無しさん2016/08/10(水) 14:38:28.91ID:gLMRd7tQ
>>434
どういうraw文字リテラル?

447デフォルトの名無しさん2016/08/10(水) 15:57:23.41ID:xNwBTsOU

448はちみつ餃子 ◆8X2XSCHEME 2016/08/12(金) 02:03:20.00ID:r3pIqi6x
Gauche 0.9.5 のリリースが近いみたいだよ

449デフォルトの名無しさん2016/08/12(金) 02:04:26.52ID:iSmX+r7l
まだメンテとかしてたのか…

450デフォルトの名無しさん2016/08/12(金) 09:58:06.23ID:YdMh7QBO
バージョン1にならないうちにプロジェクトが消滅しそう

451デフォルトの名無しさん2016/08/12(金) 12:09:41.03ID:IkcCQ8j3
中の人が存命な限り続くだろう
本人が使ってるんだし

452はちみつ餃子 ◆8X2XSCHEME 2016/08/13(土) 00:53:10.41ID:zk6Wqji8
リリースの間隔は長いけど、かなりの頻度でコミットはされてるよ。

453デフォルトの名無しさん2016/08/22(月) 19:03:07.53ID:oW9zLe2W
Gaucheはschemeである限りschemeの1処理系にしかすぎない
schemeのノロノロした規定の縛りに従っていくのもアホらしいと感じているだろう
.NETに対応して誰もを唸らせるLispやSchemeという分類を超えた新たなLISP族が誕生してもいいんじゃないっか

454デフォルトの名無しさん2016/08/22(月) 19:06:35.37ID:oW9zLe2W
powershelがマルチプラットフォーム&オープンソース化して化けたしここらで標準で使えるpowerLispっぽい何かが欲しいとこだに

455はちみつ餃子 ◆8X2XSCHEME 2016/08/23(火) 12:58:56.94ID:2DFoQv2G
JVM にとっての Clojure みたいな?
特定の VM に縛られる方が特定の言語仕様に縛られるよりあほらしくない?

.NET の世界でのスタンダードな LISP 系言語があったらいいなぁというのはわかるけど、
.NET なライブラリを呼び出すだけなら適当なバインディングを作れば Gauche からだって出来るので、
Scheme の仕様が足かせということはないと思う。

456デフォルトの名無しさん2016/08/23(火) 19:12:17.79ID:UTRMGA4h
ttps://github.com/clojure/clojure-clr
clojureは.net版もあるね,JVM版とバージョンは一緒だけど
clojureでよく使われているプロジェクトはjavaライブラリのjarに依存してるのも多いからどうなんだろ?

457はちみつ餃子 ◆8X2XSCHEME 2016/08/24(水) 15:03:29.26ID:nZ9rDf/L
>>453 について意見した >>455 にもうちょっと意見を付け足し

どちらを軸にするかという問題だから、
Java の世界を軸にすれば厳密に Scheme の仕様に従おうとするといまいちなところは出てくるだろうし、
Scheme の仕様を軸にすれば Java (JVM) のデザインがクソザコに思えたりもするだろう。

Scheme からでも Java やら dotNET の機能は呼び出せるが、
単に呼び出せるというのと全体として違和感なく統合されているというのは別物なので、
dotNET ユーザにとっては dotNET の世界に合わせた LISP が欲しいというのは納得のいく意見だと思う。

でもそこで Scheme を引き合いに出されると違和感あるわ。
Gauche は別に dotNET を想定してデザインしたわけじゃないしハナから Scheme 処理系なんだから
軸足は Scheme にあるわけで dotNET 的に制約に感じられても当たり前の話。
勝手な評価軸で「アホらしい」なんてのはそれこそアホらしい。

458デフォルトの名無しさん2016/08/24(水) 18:47:43.67ID:urM54ZXn
.netはc#,f#に集約されているので、S式使った組み込みDSL向けか、replなどのユーティリティー系しか用途がない気はする。

最近はnotebook形式のツールが増えてきたので、そっちも限られてきた気はするが。

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