X



Lisp Scheme Part40 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん垢版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/
0061デフォルトの名無しさん垢版2015/04/05(日) 04:26:19.34ID:0qV8//6B
特定の言語を指して言ってるようにも読みとれないし、
指していないものとして読んでも意味は通じると思うのだが。
0066デフォルトの名無しさん垢版2015/04/05(日) 19:07:54.35ID:0+ESVGOs
教祖が思いつきで適当こいたことを信者が一生懸命意味づけしてるみたい
0067デフォルトの名無しさん垢版2015/04/05(日) 20:16:22.22ID:jqMEIOdF
PGはセンスないと思う
0068デフォルトの名無しさん垢版2015/04/05(日) 20:20:03.29ID:jqMEIOdF
PGは経済的な感覚はするどいと思う
プログラマとして、言語設計者としてはどうかと思う
0069デフォルトの名無しさん垢版2015/04/05(日) 20:27:27.33ID:n8yu0sIB
グレアムは現実寄りの感覚を持っていると思う。
言語設計者が陥りがちな罠として一貫性とか対称性とかを過度に重視してしまうことがあるんだけど、
グレアムの場合は逆に「汚くてもこの方が効率的だ」と言えちゃうところがある。
それはそれでプログラマ、言語設計者に必要な資質だと思う。
0071デフォルトの名無しさん垢版2015/04/05(日) 20:39:37.24ID:jqMEIOdF
>>70
教祖様べったりか。おまえ、自分の頭で考えたか?
0072デフォルトの名無しさん垢版2015/04/05(日) 20:42:20.66ID:BNV+ndU/
意味わからんだろうから少しだけ説明してやるか

おまえの評価は彼の主張内容への批判にまるでなっていない。彼という人物そのものの評価をしているだけだ。

比較して
>>69は、彼の考え方なり特性についての評価であるから問題はない

>>67
これでも恥じ入らないなら終わってるから底辺でウジウジしてろ
0073デフォルトの名無しさん垢版2015/04/05(日) 20:44:44.80ID:jqMEIOdF
だからLisperは・・・
0076デフォルトの名無しさん垢版2015/04/20(月) 17:42:17.20ID:ic3Zh3EU
ちょっと見ないうちに発展してるんだな
ChickenなんてPython並みにライブラリ充実してるやん
0077デフォルトの名無しさん垢版2015/04/21(火) 22:23:55.27ID:k+lIUh1M
☆ 日本の核武装は絶対に必須ですわ。☆
http://www.soumu.go.jp/senkyo/kokumin_touhyou/index.html

☆ 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、改憲の参議院議員が
3分の2以上を超えると日本国憲法の改正です。皆様方、必ず投票に自ら足を運んでください。
私たちの日本国憲法を絶対に改正しましょう。☆
0079デフォルトの名無しさん垢版2015/04/26(日) 16:00:13.01ID:2npT22yp
>>77
某大統領はツーマンルールの束縛をも離れ自由に核を行使することができるようになるのですね
0081デフォルトの名無しさん垢版2015/05/23(土) 11:06:22.08ID:B3nG1+3y
SICPは糞訳だから難しいだけで
普通の入門書やで
0082デフォルトの名無しさん垢版2015/05/23(土) 12:44:35.08ID:5iWlkXmX
学生がはじめて触るプログラミング言語としてschemを想定している時点で普通ではない
0084デフォルトの名無しさん垢版2015/05/27(水) 17:02:03.66ID:7qplcBoj
LispWorksメジャーバージョンアップしてたよ〜
http://www.lispworks.com/news/news34.html
Release of LispWorks 7.0
Cambridge, England, 05 May 2015

ARM版がでたり、EE版でなくても64bit版使えるようになってますね。
ただとても高いです(>_<)
64bitだと、
Hobbyist Edtion $750
HobbyistHV Edtion $1,500
Professional Edition $3,000
Enterprise Edition $4,500

Lisp生誕50周年の時に、記念価格で頑張って10万円以下で32bit Pro版買いましたが
もうムリポ
0085デフォルトの名無しさん垢版2015/05/27(水) 17:49:32.08ID:zmDBrH1G
>>84
以前お試し版でどうにもならなかったので価格に見合わんと思って捨て置いたのだけど
LispWorksのIDE日本語まともに動くようになりました?(UIで使うのよ)
0086デフォルトの名無しさん垢版2015/06/02(火) 01:25:15.07ID:y4V2Np0V
>>85
Windows版しかわからないけど、LispWorks 6.1あたりから日本語は問題なくなってるよ。
インライン入力、日本語フォントの表示など。
ただ、Shell Panelについては相変わらず文字化けするね。
(前から要望は出してたけど結局対応されてない。)
0088デフォルトの名無しさん垢版2015/06/02(火) 17:59:01.82ID:w187aOqK
>>86
>ただ、Shell Panelについては相変わらず文字化けするね
まだ多国語対応未対応な箇所あるのか orz
LispWorksはVSと値段かわらんから購入候補になるんで頑張って欲しいんだが。(DB必須なので必要なのはEnterprize版)
Franzは良いとは見聞きして知ってるけど零細企業で買うのは開発に必要なライセンスは2か3でなんとかなっても再配布ライセンスがちょっと躊躇する(値段が見えないので銀座の寿司屋な気分だ)
0089デフォルトの名無しさん垢版2015/06/02(火) 18:44:36.72ID:lN7QylsY
きちんとしたサポート込みで、個別の相談にもかなり乗ってくれるらしいからなぁ。
処理系の値段つーより、ある種のコンサルみたいなもんなんじゃね。
用途を説明して概算を聞いてみてもいいと思うよ。
0090デフォルトの名無しさん垢版2015/06/02(火) 18:48:14.93ID:KVObd6cl
issueとpull reqみると、osxは分からんってかいてあるけど、
作者がどの環境で動かしてるかよくわからないね。
0091デフォルトの名無しさん垢版2015/06/02(火) 23:33:13.20ID:rOXsVj7y
>>87
Gentoo Linuxだけど動いたよ
動かないってのは具体的にどんな状況?
0092デフォルトの名無しさん垢版2015/06/07(日) 03:32:03.18ID:+hGuy5f7
>>91
cd PyonR/examples/numpy_arrays
$ racket sum_arrays.py

sum_arrays.py:2:0: cpyimport: The 'cpyimport' statement is disabled.
To enable it, require the module 'python/config' from Racket and run (enable-cpyimport!)
in: (cpy-import "numpy" as :np)
context...:
/home/niitsumalocal/.racket/6.0.1/pkgs/python/cpy-importing.rkt:65:2
/usr/share/racket/collects/syntax/wrap-modbeg.rkt:46:4
standard-module-name-resolver
0093デフォルトの名無しさん垢版2015/06/07(日) 10:39:37.53ID:AwWM8qy1
>>92
そのエラーメッセージに解決法書いてあるよ

> sum_arrays.py:2:0: cpyimport: 'cpyimport' 文は無効になっている。
> これを有効にするには、Racket で 'python/config' モジュールを require し (enable-cpyimport!) を実行せよ。

というわけでこう

$ racket --eval '(require python/config) (enable-cpyimport!)'
The 'cpyimport' statement is now enabled.

$ racket PyonR/examples/numpy_arrays/sum_arrays.py
cpu time: 2197 real time: 2194 gc time: 12
[[ 5.05084018e+08 4.99867603e+08 5.02311555e+08 ..., 4.97975418e+08
以下略
0094デフォルトの名無しさん垢版2015/06/11(木) 22:16:49.32ID:XgvKq4Ru
最近流行のdeep learningだけどlispと組み合わせて何かやった研究とかないのでしょうか
0095デフォルトの名無しさん垢版2015/06/12(金) 04:54:57.92ID:GYNZ5Dwp
型つきschemeで一番まともなのはbiglooぽいけど
ライブラリが一番充実してるのはracketぽい

Racketのパッケージをbiglooで動かせないものか
0098デフォルトの名無しさん垢版2015/06/19(金) 08:01:11.57ID:RmIQOIpq
他人の作ったJavaプログラムのバグをとりつつ
自分の使いたい機能を追加したりするなら

Scala
Clojure

どっちがおすすめ?
Javaとの融合はScalaが上っぽいけどLispになれてるのでLispの方がいい
0100デフォルトの名無しさん垢版2015/06/19(金) 11:01:47.02ID:tBR6vKOw
>>98
Lisp慣れしてない自分でもClojureに楽しくはまったのでClojureを押してみるなり
JVM用言語で最も短いコードで最良の結果だす言語の一つだと感じる
0104デフォルトの名無しさん垢版2015/06/22(月) 20:47:07.39ID:unToOooi
関数型言語「Racket 6.2」リリース
http://osdn.jp/magazine/15/06/23/063900

 RacketはShemeから派生した関数型言語。旧名称はPLT Schemeで、バージョン5より
Racketに名称を変更した。強力なマクロシステムが特徴で、マクロを使って言語機能
を拡張でき、プロジェクト固有の新しい「方言」を作成できるという。また、Web
サーバーやデータベース、GUI、チャートなどのアプリケーションをサポートする
ライブラリも提供される。ライセンスはLGPL。プロジェクトは米国立科学財団(NSF)、
国防高等研究計画局(DARPA)、米教育省、Exxon Foundation、Microsoft、Mozilla、
Googleなどの支援を受けている。
0106デフォルトの名無しさん垢版2015/06/23(火) 00:34:37.16ID:ZAN95P/B
>>104
記事読んだけど、マルチパラダイム言語って誰が言い始めたんだろ
そもそもシングルパラダイム(原理主義)な言語なんて非実用的なものの対義語なんか冠にしても意味ないと思う
0107デフォルトの名無しさん垢版2015/06/24(水) 10:17:09.07ID:fsHZ6HK+
typed-racketが変なバグ起こさなくなったの?
安心して使えるようになったのなら使ってみようかな
0108デフォルトの名無しさん垢版2015/06/24(水) 18:03:08.01ID:jBd8hVQL
Clojureと同じ文法でC++もwrapしようとしてるプロジェクトを
2つぐらいみつけたんだが2年ぐらい更新がない
JavaからC++の変換はそんな難しくないはずなんだけど
何か違う理由で頓挫してるんだろうか
0110デフォルトの名無しさん垢版2015/06/24(水) 23:46:08.20ID:PBiySlld
試しに実装してみたぐらいの気がする。
継続して使うのに作ったかは分からない。


型付きといえばshenも、18.1で型チェックが速くなったらしい。
ソースみたら、該当箇所の型が総称型に変わってた。
http://www.shenlanguage.org
0114デフォルトの名無しさん垢版2015/06/25(木) 13:36:07.50ID:q+JEbLja
CL (というより動的型の言語) は LLVM の抽象度では上手く扱えないしたいして最適化できないという話もある。
GC の性能にも強く左右されるし、 LLVM よりも JVM の方が CL とは相性よさそうな気がする。
0116デフォルトの名無しさん垢版2015/06/28(日) 19:28:01.75ID:8Yznu8U0
昔,kawaからJavaを使おうとして非常に苦労した記憶が
ABCLならだいぶ楽にJavaが使えるのだろうか
Clojureは最初は楽だけどJavaのパッケージマネージャで苦労するね
0118デフォルトの名無しさん垢版2015/07/05(日) 11:29:59.98ID:dGwooAgp
一時期Clojureが過剰に持ち上げられていたけど
まったく流行らずに終わったな
0122デフォルトの名無しさん垢版2015/07/06(月) 14:46:34.49ID:Mc9Nlxok
やもえずJavaのウンコなプログラムのメンテしないといけない場合に
Clojureは便利だった

そういう制約ないならRacketが一番
0123デフォルトの名無しさん垢版2015/07/06(月) 16:16:59.97ID:VRJTYjkB
>>122
Racketの良さを教えて
0124デフォルトの名無しさん垢版2015/07/06(月) 17:47:41.11ID:Mc9Nlxok
srfiがみんな使える上に
pythonとも連携できる
jythonみたいにnumpyが動かないとかもない
0125デフォルトの名無しさん垢版2015/07/06(月) 18:34:53.65ID:VRJTYjkB
>>124
ありがとう
pythonライブラリを透過的に使えるなら便利そうだね
0128デフォルトの名無しさん垢版2015/07/06(月) 21:14:58.54ID:VRJTYjkB
自前でサーバー立てるなら何でもありだけど、実際PaaSのほとんどがJVM前提だからね
0129デフォルトの名無しさん垢版2015/07/07(火) 02:14:08.64ID:FANO5u+E
Javaでプログラム書く人達はユニットテストという概念がないらしく
csvに結果を書き出してエクセルで手作業テストを行うという謎慣習があるようだ

こういう人達の書いたJavaコードと付き合わざる得ない環境ではClojureは便利
0132デフォルトの名無しさん垢版2015/07/08(水) 00:15:24.50ID:j/rYw6w7
>>129
むしろ、java以外のユニットテストツールを使ったことがない
0133デフォルトの名無しさん垢版2015/07/18(土) 20:06:26.43ID:cOkep0vN
>強力なマクロシステムが特徴で、マクロを使って言語機能を拡張でき
このLISP系でよく言われる「言語機能の拡張」って全然的を射てねーなと思う
例えばschemeのファーストクラスオブジェクト(FCO)としての継続って
言語プリミティブとしてFSO継続相当を始めから持ってない限りはどうやっても
拡張で得ることはできないし
FCOとしての継続の無い言語から有る言語へ言語機能を拡張するってことは
つまり新規にFCO継続付き言語を作るって事に他ならない
できることは結局言語に既にある機能の延長上の事だけで
言語拡張なんて大それた事は他の言語同様できやしない
「子供騙しですけど強力なマクロシステムで俺構文糖衣が簡単に作れますんで・・・」
とちゃんと書き直した方がいいね!
「プラグインモジュールを使うと言語機能を拡張できます」とかで売った方がまだ納得できると
思わないかね君たち
0135デフォルトの名無しさん垢版2015/07/19(日) 00:51:10.84ID:yGfbtuav
おかしなひとには
かかわらない
しらんぷり
0140デフォルトの名無しさん垢版2015/07/19(日) 12:23:56.55ID:HOCsiBj3
>>133 みたいな勉強不足の人に黒板先生は本当に便利だ

http://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/scheme

> 端的に言ってしまえば Scheme は Lisp ではないです。 この2つを混同するのは味噌糞いっしょ、ってやつで、つつしむべきです。

http://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/script-lang

> Lisp の不幸の1つに、
> Lisp を使わない奴に限って Lisp について語りたがる
> というのがあるんですが、今回もう1つ加わったのは、
> Lisp を知らない奴に限って Lisp を他のもの、なかでも自分の自慰行為の結果と比べたがる
> Lisp の評論をとうとうとやるわけです。
0141デフォルトの名無しさん垢版2015/07/19(日) 12:48:48.02ID:UMlSSY6R
>>133
マクロは任意の構文木から任意の構文木への変換であって
どんなプリミティブが用意されるかは言語の戦略で決まること
レイヤーの違うことを関連付けて語るのはやめてちょうだい
0142デフォルトの名無しさん垢版2015/07/19(日) 13:33:11.61ID:4YSiYgLI
>>140
その理屈でいくなら、CommonLisp も Lisp ではありませんね
0143デフォルトの名無しさん垢版2015/07/19(日) 13:42:12.63ID:HOCsiBj3
>>142
それと >>133 とどんな関係が?
0144デフォルトの名無しさん垢版2015/07/19(日) 13:58:30.31ID:4YSiYgLI
>>143
Lisp と CommonLisp を混同しながら、Scheme はLisp ではないと主張ている人の意見はほどほどにして聞きましょう
0145デフォルトの名無しさん垢版2015/07/19(日) 14:18:17.54ID:HOCsiBj3
>>144
自身のLispの定義を明らかにせずにCommon Lispは違うって言われましてもw
でもCommon LispがLispでないんなら、なおさらSchemeでLispを代表させるような論が成立しないのは同意できるんでないの
0146デフォルトの名無しさん垢版2015/07/19(日) 15:30:05.25ID:4YSiYgLI
>>145
まず、Lisp は CommonLisp ではない
Lisp は Scheme ではない

次に
ttp://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
この↑Lisp1.5 は Lisp であるとする (おそらく、誰も異議をはさまないでしょう)

その上で、CommonLisp は Lisp であると仮定する (つまり、Lisp1.5 と CommonLisp程度の差があっても Lisp の一部であると仮定する)
当然、SchemeはLispである

逆に、SchemeはLispではないと仮定する (つまり、SchemeにもLisp1.5にもないモノがあればLispではないとする)
package にintern できる symbol がある CommonLisp は Lispではない

CommonLisp 側の言い分としては、CommonLisp はSchmeと同じくLisp系の新言語です
(Common Lisp is the modern, multi-paradigm, high-performance, compiled, ANSI-standardized, most prominent (along with Scheme) descendant of the long-running family of Lisp programming languages. )

Confusing Lisp and Common Lisp is permissible once in a human life. です

個人的には、マクロやシンボルが無くてもLispと呼ぶべきだと思います
0147デフォルトの名無しさん垢版2015/07/19(日) 16:16:48.77ID:heZn3Xco
>>140
このKURODA Hisaoって人が書いてる他のページも見たが
Abstract Syntaxの概念やこれを設定する意義を理解できない人がSemanticsについて語っても全く説得力がないね
それにSchemeの単一name space批判を自然言語での文脈依存性を持ち出してるが
自然言語の柔軟さというかいい加減さを至上の価値とするのならば所詮は知性ゼロ・常識ゼロのコンパイラやインタプリタですら処理できちゃう
普通のプログラミング言語なんてどれも失格、もちろんCommon Lispもね
理論や論理学について良く判っていない人間ほどFregeみたいな「計算機と深い関係があると世間で言われている」哲学者の名前を出したがる
0148デフォルトの名無しさん垢版2015/07/19(日) 16:17:03.59ID:OiytaaWT
 わりと
   どうでもいいよね〜                   ね〜♪
                         _ ‐..::  ̄ ̄ ::::... 、
              . ィ            r'::/ ::ィ:::::::::::j:::::::ヽ::::\
,._.._ .......、._    _ /:/l!            | ::|::/ |::::::::∧:::レ::l:::| :::::rヘ
ヽ :~""''.>゙' "~ ,、、''‐'、|          l ::仏_ノヘ:/ ー- ハ:::!::::::|::::i
 ゙、'、::::::ノ:::::::_,.-=.  _〜:、          /::::リy=ミ ' ィ=ミ /:::::!::::/:::::!
  ``、/:::::::::__....,._ `゙'Y' _.ェ-、..._      |::::{xx     xx/::::::「)'|:::::::|
  ,.--l‐''"~..-_'.x-='"゙ー 、`'-、      lハ:仆 ..._ヽフ /:::: /´ |:::::::|
 "   .!-'",/  `'-‐'') /\ `      Y::::ソ勺 7イV_  !:::::::!
  .-''~ >'゙::    ‐'"゙./  ヽ.    __  |::/ 爻___ん'´ッ'⌒ヽ! :::::!
    //:::::       ',        (__,、\/ /‐―一弋{、  /  ̄_)
   ' /:::::       .:';          \ ' {      :::\   /~::!
0151デフォルトの名無しさん垢版2015/07/19(日) 18:28:12.53ID:yGfbtuav
確かに言語拡張でarduinoと連携してドローンを自動航行できますとか言えた方がかっこいいよな
方言作れるとか書かれてもLisp界隈の事情知らん人間にゃ意味不明だし
0152SCHEME餃子 ◆8X2XSCHEME 垢版2015/07/19(日) 20:49:45.79ID:bZkSJoy2
>>151
バインディング書けば言語に関係なく出来るだろ。
その手のライブラリがたくさんあるとか、
コマンドひとつで導入できるエコシステムがあるとかならアピールポイントになるとは思うけど。
0153デフォルトの名無しさん垢版2015/07/19(日) 22:15:40.89ID:+t5BUUhH
言語は大きい会社や団体が開発してることがほとんど。なので妙な政治意図で故意に機能が削られたりが良くある。マクロありとこういうのは無視出来る。だいたいは誰かが便利なマクロを公開してくれる
0155デフォルトの名無しさん垢版2015/07/20(月) 01:22:41.63ID:8KYV1D+J
だって、>133の言い掛かりと言語レベルでの継続の必要性とは、まるで関係がないんだものw
0156デフォルトの名無しさん垢版2015/07/20(月) 02:49:25.74ID:kupXshGu
フル継続の後付けが難しいのは事実だろ。
cl-cont も Scheme に比べればモドキに過ぎないしな。

そんでもって >>133 は継続は例に出しただけで、
マクロによる拡張が容易であっても言語が持つべきプリミティブの選択が重要だってことじゃないのか?
0157デフォルトの名無しさん垢版2015/07/20(月) 17:42:45.96ID:aIRgWq4T
長々書いてるけどマクロでシンタックスを拡張できてもセマンティクスは変えられないってこと?
そりゃそうなんじゃない?この手の話の根はチューリング完全話と一緒だよね
機能拡張という言葉はセマンティクス拡張と同義ではないよなあ
0160デフォルトの名無しさん垢版2015/07/20(月) 23:07:56.79ID:kupXshGu
言語の意味論とシンタクス拡張はレイヤが違う話だよ。
DSL は言語の意味論を変えはしないけど系を作ることは出来る。

物理法則は変えられないけど、物理法則の範囲内でサッカーのルールを定義したとして、それが無意味って言えるか?
0161デフォルトの名無しさん垢版2015/07/21(火) 18:19:47.73ID:3UOplv+P
上の方の人と偶然被ってるけど、質問。
schemeのdefine-syntaxって何ですか?
defineじゃダメなの?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況