[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 02/01 06:02 / Filesize : 245 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Lisp Scheme Part33



1 名前:デフォルトの名無しさん mailto:sage [2011/10/09(日) 17:58:58.06 ]
Common Lisp、SchemeをはじめとするLisp族全般のスレです

■前スレ
Lisp Scheme Part32
hibari.2ch.net/test/read.cgi/tech/1303299696/

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

■関連スレ
【入門】Common Lisp その8【質問よろず】
hibari.2ch.net/test/read.cgi/tech/1309940115/

820 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 01:05:05.25 ]
出来そこないの処理系の多さではSchemeがダントツでしょうな

821 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 01:42:18.24 ]
sussmanって人SICPの著者?

822 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 02:04:31.01 ]
>>818
でもLispにはライブラリがないから、捨てられるね
だれか、QtをSchemeにバインディングしてくれないかな

823 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 04:25:26.26 ]
Qt程度ならSchemeで実装すりゃいいじゃん

824 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 06:55:28.14 ]
>>820 はぁ?
そもそも仕様ができそこない、というゴミ言語が山ほどある時点で、
Schemeがダントツとかありえません。おまえの脳みそが出来損ないw

825 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 07:00:03.59 ]
Schemeのマクロだけを詳しく噛み砕いて解説した本出した
ら売れるよ

826 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 07:32:29.79 ]
ライブラリの具体例がUIというのはすごいな
全然具体的じゃないがいかにもありそうな話だな

827 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 09:15:33.73 ]
問題の切り分けができない負けず嫌いが教育を語る

828 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 09:17:43.99 ]
>>827
救世主現る!
解決お願いします。




829 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 09:45:11.42 ]
>>824
仕様ができそこないがどんな意味で言ってるのかわからんが
とりあえず実装数の多さじゃSchemeはダントツだな次点はJavascriptか



830 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 10:33:03.39 ]
みんなで処理系ばかり作っても意味ないだろ
ライブラリ作れっての

831 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 11:02:53.14 ]
処理系向けのテクニックが開発されていく言語というのがある。
そういう分野では処理系たくさん作られることが重要。

832 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 11:18:26.33 ]
最近の処理系向けのテクニックってどんなんがある?

833 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 14:00:49.69 ]
少なくともRacketはライブラリ充実してるぞ

Chikenは既存のC++ライブラリをくっつけやすいから
違う意味で充実している


834 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 15:45:56.76 ]
racketは名前が駄目だわ

835 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 15:52:31.82 ]
「ライブラリが充実」で想定しているレベルに齟齬があるような気がする。

本業がプログラマでなく別の専門を持っている人たちが書いたようなもの、
生物屋さんがゲノムデータベースを簡単に検索して実験データと付き合わせるために
作りましたとか、経済学の人たちがセンサスの情報を統計処理しますとか、
言語学で文献のデジタル化をやっててその解析に使える便利ライブラリですよとか、
そのへんの層の厚さなんだよね。決め手になるのは。Schemeにそれが無いとは
言わないけれど。その分野の専門でない人間が聞き齧り、読み齧りで書いた
ライブラリって、専門の現場のフローに合ってなくて使えないこともままあるし。
現場の人が現場の事情に合わせて書いて、それが蓄積されてるってのはでかいよ。

CS教育の話をしてるんだから関係ないと思うかもしれないが、研究にせよ開発にせよ、
今は別の分野の専門家とコラボしてソフトウェア工学を使ってその分野の問題を解決
する重要性が大きいし、今後もそっちが大きくなる一方だから。

836 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 15:57:02.23 ]
日本の大学では
インタプリタの作り方教えて
リスパーの数を増やすことがCSだから

837 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 16:17:03.97 ]
そういえば俺の大学には記号処理という名のcommonlispの授業があったな

838 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 16:20:06.29 ]
つか別にインタプリタの作り方をやらなくて良くなったってわけじゃなくて、
メタサーキュラーインタプリタくらいは基礎教養としてスタート前にやっといてくれ、って
くらいの話だと思う。

おいらは自分で何か書くならLispだし、Lisperが増えて欲しいとも思っているが、
だからこそ「それLispにもあるよ」ってタカをくくってる意見には賛同できない。




839 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 16:21:37.24 ]
MITの学生は入学前にメタサーキュラーインタプリタ知っていると?

840 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 16:31:59.82 ]
知ってる学生もいるだろうし、知らなかったら1ヶ月で詰め込める。
web.mit.edu/alexmv/6.S184/

てか大学の実験や実習なんて教わってないことだらけで、そんなのは自習するのが前提でしょ。
俺は日本の大学だったけど。

「スタート前にやっといてくれ」はちょっと変か。「講義でやらないけど知らなかったら自分で
やっといてね」くらい。

841 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 17:16:07.16 ]
chez schemeの開発者の一人が書いた本(mit press)らしいけど、
読んだ人がいるなら感想を聞きたい

The Scheme Programming Language, 4th Edition www.scheme.com/tspl4/

842 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 17:59:11.32 ]
>>835
その辺の層の厚さが一番あるのはRとperl
pythonは正直いまひとつ 劣化matlab


843 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/01/24(火) 18:59:38.06 ]
>>841
日本語版 (3rd だが) なら読んだことがある。
SICP や Little Schemer と違って、 Scheme の言語機能の解説が多くを占める。
C++ にとっての `The C++ Programming Language' みたいなもの。

4th では R6RS を前提とした内容に大幅に改定されているはず。


844 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 19:05:02.20 ]
>>835
非本業プログラマはCL一択でいいと思うんだけどね。gccに匹敵する速さだし、
REPLでelispとも親和性が高い。
>>842
PerlってRみたいに統計関連のツールって豊富なの?
Perlでやると遅くてメモリ食うわで最悪な選択な気がするんだけど。

845 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 19:37:11.83 ]
>R6RSを前提
えーー

846 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 19:38:49.24 ]
R6RSってR5RSと比べて全体的にどんな感じで変化した(させた)んでしょうか?

847 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 19:40:16.84 ]
CLは美しくない

848 名前:SCHEME餃子 ◆8X2XSCHEME mailto:sage [2012/01/24(火) 20:17:45.36 ]
>>846
色々あるけど、モジュール化をどうするかが一番大きな議題だったように思う。
結果的にライブラリという概念を導入した。

# それさえ出来れば後々の規格改定で機能を追加することになっても、
# ライブラリを分けて共存を図ることもできるという思惑もあったみたいなのに
# R7RS では仕組を変えようとしてるので、おまいらもちつけと言いたい。
# しかも新しい提案も R6RS と劇的な差があるわけでもないし。

それとマクロシステムが拡張されて非健全なマクロ等も書けるようになった。
マクロで問題になる、マクロ展開時にどの環境を使うかという点はフェイズの概念を導入することで解決した。
フェイズはライブラリ単位で決まるので、上述のモジュール化の仕組みとも密接に関連している。

レコードや文字列ポートなど、多くのケースで便利な機能がちょろっと追加された。
R5RS までは小さい言語コアだけ決めて残りは SRFI や各処理系の裁量にお任せという感じだったのが、
ここへ来て方向性が変わった感じがする。

細かいことは↓を参照
practical-scheme.net/wiliki/wiliki.cgi?R6RS%3a%E5%A4%89%E6%9B%B4%E7%82%B9



849 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:13:32.52 ]
CL、Scheme(R5RS)、Scheme(R6RS)、Clojure
利用者の割合はどんなんだろ

850 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:14:06.24 ]
>>841
3版と4版を読んだけど、無難な言語解説書。
深い事は書いてないから、なんたらハンドブック系の価値。
3版なら無料で読める。
www.scheme.com/tspl3/

>>842
Fortranも忘れてはいかん。科学屋さんが大量に書いてる。
基本的に専門分野ではRやFortranみたいな特化された言語が使われてる気がする。

851 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:24:53.98 ]
???
4版も無料で読めるような気がするけど
気のせい?

852 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:26:23.93 ]
あとでFBIの職員が集金に来ます

853 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:31:12.71 ]
>>851
ごめん、3版しか使ってないから忘れてた。
本文読めるのなら質問しないで良いじゃないか・・・。

854 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 22:43:30.92 ]
>>847
チンコはデカい方がいいだろ。
emacs子と親和性高いのは重要だよ。

855 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 02:13:28.44 ]
>>835
> CS教育の話をしてるんだから関係ないと思うかもしれないが、研究にせよ開発にせよ、
> 今は別の分野の専門家とコラボしてソフトウェア工学を使ってその分野の問題を解決
> する重要性が大きいし、

応用プログラムを書くのとCSを専門として学ぶというのとは目的が全く違う。
数学で確率論やルベーグ積分を学ぶのと保険のアクチュアリーになるのが全く違うように。
今のCSは応用に向いた教育ばかりになってしまっていてCSを専門に学んだはずの人が
趣味や独学でプログラミングに上達した人と大して質的な差がなくなっている。

応用としてのプログラミングなんてものは、パソコン1台あれば専門教育なんて受けなくても勉強して身に着けようと思えば着けられるんだよ。
だって、プログラムを書くだけならば必要な知識はカタログ的な平板で雑多かつ多量の知識(ライブラリとかAPIとかね)なんだから。

そうすると、CSの教育を専門的に受けたというアドバンテージをどこに求めるのか、と言えば
体系的な知識、例えば雑多な様々なプログラミング言語を構成している基本概念やそれらの間の関係をきちんと理解しているとか、
それに基づいた様々な技術(プログラム解析とかね)を体系的に身に着けているといった点に求める事になる。

プログラミングに限らず他の分野でもカタログ的な知識は下手をすると素人マニアの方がプロよりも上だったりするわけだ。
例えば鉄道ヲタクの連中は、△△電鉄の3000型のブレーキは初期型は××製だったが後期型車両からは○○製になり
その結果として制動能力がどれだけ上がって云々なんてのを知っていたりする。下手をすると当の△△電鉄の関係者や
その3000型車両を設計・製造した車両メーカーの技術者よりも型番なんかに関しては詳しかったりする。
だけど、そんな知識を持っていても、その鉄ヲタは電鉄会社の整備主任も車両メーカーの設計技師も務まらない。
何故ならば、彼らに必要な知識は体系的なもの、つまり(科学や)工学だからだ。

今のCS教育は同じカタログ知識の教育に偏重していると思う。これでは素人プログラマと変わらない人材しか育てられない。
Schemeの長所は言語概念を体系的に教えるのに非常に適した言語だという事。だからCS教育に向いているんだ。

856 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 02:21:31.15 ]
>Schemeの長所は言語概念を体系的に教えるのに非常に適した言語だという事。

これLisperの主観でしょ

857 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 02:29:06.45 ]
今の時代に大学でしか学べないCSって何があるの?
むしろ大学に行くと教える側の専門に縛られたりするんじゃね?

858 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 02:31:27.55 ]
その大学で扱っている専門を知った上で入るならいいんだけど、
大抵の受験生は自分が受かりそうな中で偏差値が高いとか、
家から近いとかで大学選んでそうだし。



859 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 02:50:16.59 ]
>>856
どういうことなんだろうな、Schemeだけで言語概念が云々ってのは。
lispが全てS式だからとか、再帰処理が構文解析器とかにマッチするとか、そんなん?
プログラミング言語論の授業では特定の言語に拘らず色んなパラダイムを紹介されたけどねえ
それと実装は別だな。特別に指定されない提出物なら全部pythonで書いてる
楽だから。何より楽だから。
matplotlibも便利でエクセルなんか使わずに結果をプロット出来るし
まあ他の言語もgnuplotとか使えるだろうけどmatplotlibのが楽

860 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 03:47:33.62 ]
は?抽象構文木を直接扱って、いかなるパラダイムでも実現できるのは、現状Lispしかないだろ。
楽なのが良いならPerlを使うべきだろうな。ライブラリがダントツで、人為的な強制もない。
一つの言語で全て出来るという幻想を持ってるようだけど、長く続けてると言語処理系やOS等の下位層を直接弄る事態になるから。
複数の言語が出来て当然だから。年に一つは新しいプログラミング言語を憶えるべき(特にパラダイムが全く異なる言語を)だから。構文抽象というパラダイムはLispにしかないから。

861 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 04:00:32.63 ]
誰が、一つで全てなんて幻想を持ってるって???まったく、LisperとPerlerがそうなだろうなあ
最も一つに拘ってるのがLisperだからな、初めから矛盾してる
指定されなければpythonつってるのに、それすらも読めないのかよ
Cを指定されることが多いわ。こだわりが無いからpythonなんだよ
お前みたいな頭がダイヤモンドより固い奴が、完全に思考停止して
毎年プログラミング言語を意味もなく覚えたり、意味もなく弄って何かやってるつもりになってると思うと頭がいたくなるわ
プログラミング言語はツールだろ。いや、お前にとってはオナニーの道具なのかもしれないけどさ
必要に応じて使い分けてるだけなんで、ただやることもなくプログラミング言語の中をウロウロしてる浮浪者に何か言われる筋合いはないです

862 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 04:14:03.09 ]
長文はやめて3行以内に分けてレスしよう
まるで人が多いかのようにみえるよ!

863 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 04:15:19.05 ]
議論なら良いけど、喧嘩なら他所でやってくれないかな。
自分の常駐してるスレでそういうのやられたら嫌でしょ?

864 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 04:44:02.56 ]
Lisperが持ってる「見下し」というスペシャルスキルによって、Lispの実のない権威は支えられている
全てのパラダイムが実現できても、実際のプロジェクトにはほぼ使われない
Lisp万能論車の妄想に付き合うのは面倒だが。少なくとも一般人は自由を強いられたいとは思ってないよ
プログラミング作法があるのならそれに合わせたいの。趣味的な誤差でもね。特に見やすさは強制でなくても重視している、残念ながら。

865 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 04:50:45.36 ]
必要に応じて使い分けるなら、構文を知るためにはLispが便利なのも分かるだろ。
一年に一つの言語は「達人プログラマ」だよ。もちろん読んでるよな。

最初から議論じゃなくて喧嘩だろ。未踏に落ちたか知らないけど、変なLispアンチ野郎との。

866 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 05:00:04.25 ]
作法でなくて人為的に一部の操作をやり辛くしているのが問題だと言ってるんだよ。
書きたい事の足を言語が引っぱるの、しかも実装の必要でもない作者の主義とやらで。
Windozeと同じく一般人がやりたい事はやり易いけど、深い事をやろうとすると足を引っぱろうとする。
実際のプロジェクトに使いたいならscheme以外の言語をどうぞ。CLとかどうでしょうか。あるいは自分が頑張ってschemeのライブラリを書いて下さい。R7RSの議論に参加するのも良いのではないでしょうか。
但しLispのみが構文抽象を扱える重要な言語であるという事実は変わりません。

867 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 05:00:36.66 ]
もちろん最初から今現在に至るまでずっと両方を邪魔に思ってる。
言わせんな恥ずかしい。

868 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 05:04:32.64 ]
いや無批判に引用すんなよ。一年に一つの言語なんて馬鹿の極み
それくらいも分からないの?本を読んでも意味をなしてないね

だからさあ、構文を知るためにとか大袈裟なんだよね。噴飯物だよ。それも何かの本の引用なの?
Schemeは書けるけど、別に構文を知るためにSchemeを勉強したわけでもなければ
Lispを見たことなくても構文の勉強は出来るし。そうしてる大学も多いだろ



869 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 05:06:07.82 ]
邪魔らしいので私は消滅、さらばだ。

870 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 05:09:23.51 ]
>>866
Lisp至上主義の成れの果てだな、視野が極端に狭い

871 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 05:11:24.33 ]
構文を知るためだけの言語

872 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 07:24:03.06 ]
むしろ構文が1種類しかない言語なんだが

873 名前:デフォルトの名無しさん [2012/01/25(水) 07:47:19.29 ]
Lispは重要な言語じゃないだろw

874 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 08:21:19.67 ]
わかった。
見下されたい奴は並べ↓

875 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 08:39:08.59 ]
同じ括弧に見えるけど構文は1個じゃないんだよ

876 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 08:43:17.70 ]
先頭にあるシンボルを解決した結果が関数かマクロかによって、S式(リスト構造)の
解釈(インタプリテーション)が変わるだけであって、S式を表現するための構文は唯一だ。

あとはアトムのリテラルの記法がいくつかあるだけで。

877 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 09:05:18.84 ]
言語の話をしてるんじゃないの?
ご自分で言語なんだがーつってるのにw

878 名前:855 mailto:sage [2012/01/25(水) 11:36:40.67 ]
>>856
> Schemeの長所は言語概念を体系的に教えるのに非常に適した言語だという事。
>
> これLisperの主観でしょ

違います。
ついでに言えばSchemeと他の大多数のLispとは上の一点に於いて全く違います。
ほとんどのLisp(典型はCommon Lisp)は基本的な言語概念が見えにくくなっています。
実用を重んじて言語設計された結果として、あまりにも余分なものや複合的なものが多いので。
(抽象構文木を直接的に表現できるデータ構造を基本データとして持っているという点はもちろんLisp族すべてに共通ですが)

SchemeはGuy Steeleの若き頃のMITレポートの数々を見ても分かるとおり、それまでの言語概念を突きつめて考察した結果から
可能な限り単純な要素概念だけを言語としては提供して、プログラムを書く側はそれらを自在に組み合わせられるようにする
という言語設計哲学に基づいて言語仕様が作られました。その点では他のLisp族言語よりもAlgol 60やAlgol 68の精神を引き継いだ言語です。
(Revised^6で台無しにされてしまいましたが)

Schemeの開発者たちがAlgol 60のシンプルで例外の少ない言語という精神を引き継ごうとしている事は、Schemeの言語仕様の
タイトルにも表されています。

RubyにせよPythonにせよ、もっと他の言語にせよ、実用で広く使われるのを狙って作られた言語は、Scheme以外の他のLisp系言語と同じく
言語概念が基本要素でなく複合的であったり様々なシュガーで最初から修飾された形でプログラマに提供されているケースが多く、
基本要素概念を単独で用いたいと思うと逆に回りくどい書き方をせねばならないようなケースがしばしばあります。
そこがSchemeとは決定的に違うのです。

Schemeは、少なくともRevised^5までは実用よりも言語の基本要素概念を学び理解する為の言語として言語仕様が策定されて来ました。
だからこそ、実用的な構文は最初からは入れずに体系的な構文拡張の方法を導入して、「シュガーが欲しければ自分で好みの言語に仕上げなさい」
というスタイルで実用側からの言語仕様拡大の圧力に対応して来たのです。

856のような人はSchemeをきちんと勉強した事がなく言語の基本要素概念とは何かを真剣に自分で考えようとした事がないのでしょう。





879 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 12:44:40.41 ]
>>844
CLでgccなみに高速プログラム作るめんどくささは
cで最初から作った方がましな感じ

880 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 12:48:28.76 ]
SchemeがLex/Yaccでどんな言語にも変換可能なら
あらゆるアルゴリズムをSchemeで書く有用性もあるのだけどねえ

881 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 12:50:54.29 ]
>実用側からの言語仕様拡大の圧力に対応して来たのです。

対応できてないから廃れてんだよ

>言語の基本要素概念とは何か

その基本概念も絶対的なものじゃないでしょ

882 名前:デフォルトの名無しさん [2012/01/25(水) 13:17:10.43 ]
>>881
最後の行は内容ある反論できずに相対主義持ち出して議論から逃げた典型だなw

883 名前:デフォルトの名無しさん [2012/01/25(水) 13:45:30.40 ]
Schemeが廃れた原因って10年ちょい前からのプログラミング言語論とかプログラミング論教育の軽視だろ
ACMのカリキュラムでもその手の科目が消えるとかインディアナのFelleisenとか騒いでたし
ACMのカリキュラムも881みたいな
知ったかプログラマに合わせたってことだろ

881も自分に内容あるって言いたきゃ
Schemeとは全然ちがうけど
同じように見かけもフォーマルなセマンティクスも単純な
コンセプトや構文だけで構成されてる
実用言語の具体例あげろよ
878の主張は実用言語は実用めざすから否応なしに複雑になっちまうってことだろ

884 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 17:35:29.21 ]
言語の基本要素概念とはなんなのか?
まずは855以外の人に聞きたいな

885 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 17:42:51.26 ]
>>884
おおざっぱだけど言語仕様と言語の基本要素概念は同じものっていう定義でいいだろ。

886 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 17:50:17.74 ]
>>885

>言語概念が基本要素でなく複合的であったり様々なシュガーで最初から修飾された形でプログラマに提供されているケースが多く、
>基本要素概念を単独で用いたいと思うと逆に回りくどい書き方をせねばならないようなケースがしばしばあります。

855の人の意見だと違うものだと取れるけど

887 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 18:18:04.18 ]
コレはアレから導出できる、みたいなのを突き詰めていった時に
最後に残る要素はなんだろうみたいな話では。

888 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 18:31:03.57 ]
最後に残る要素は何?



889 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 18:37:32.86 ]
Lispの簡易実装を読んだらJavaScriptの動作が腑に落ちた。
てかJavaScriptじゃなくてLispにしてくれたらよかったのになあ。

つかHTMLがS式だったらよかったのになあ(笑

890 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 18:38:41.00 ]
>>888
愛だろ、愛

891 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 18:40:58.82 ]
>>889
世の中の人が欲しているのは
DartとかCoffeeScriptでLispではない

892 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 18:48:34.55 ]
(define (f) 3)

int f(void) { return 3; }
は意味論的には同じだけど、
(define (f) 3) => (define f (lambda (x) 3))
で、これはSchemeがCにない無名関数という基本概念要素を持っている。
とか
(define (f x) x)
をCでやることはできない
これはSchemeがCにない動的型付けという基本概念要素(?)を持っているから、とか?

言語仕様のなかでユーザーが利用できる概念のうちsyntax sugarでないもの?
で、Schemeの基本概念要素は標準的なな言語が持ちうる概念を網羅している、という主張?
ちゃんと考えると(怪しい)論文ができあがりそう。

893 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 18:51:23.81 ]
仕様が50ページだから基本要素概念とはなんなのかって突き止められるし、実感できるけど。
www.unixuser.org/~euske/doc/r5rs-ja/r5rs-ja.pdf

仕様が500ページあると精読するだけで何日もかかるし、実感するには何ヶ月もかかるし、
全部突き止められるのか、怪しい。実装をみるとなると500ページに相当するコードも
読むハメになって、ゲロ吐きたくなる。そして言語の再実装をする奴ほとんどいないだろ。

894 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 18:55:05.65 ]
実用言語を題材にしても全部の仕様を扱うわけじゃないでしょ
Ocamlのサブセットのmini-Ocamlはたった2000行だっていうし

895 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 19:03:26.90 ]
処理系実装時のコード量の話なんてしてないのに

896 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 19:05:51.84 ]
>>895
>実装をみるとなると500ページに相当するコードも
>読むハメになって、ゲロ吐きたくなる。


897 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 19:14:50.51 ]
>>894
7行スレに3行でLispっぽいものがあがってたけどw

898 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 19:22:16.92 ]
そんなこと言ったらLispでそのままeval1行じゃん
Camlのサブセットも似たような事をしてる
そういうズルを見て言語を理解したと言えるのかよ



899 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 19:37:27.53 ]
ルールが一個というのは馬鹿らしいが、ちなみにLispのBNF記法
cui.unige.ch/db-research/Enseignement/analyseinfo/LISP/BNFindex.html

なるほど確かに小さい
このサイトにあるJavaや、Python公式ドキュメントに置いてあるものと比べるまででもなく
根本的に少機能なんだよね。これで全ての機能を実現出来ると反論すかも知れないが
そんなの他の言語でも言えること。結局これが実装は出来ても実用は出来ない理由
そもそもプログラミングする上で(Lispでも)仕様を全部読む必要なんていない。ゲロ吐きたくなる

900 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 19:42:54.49 ]
BNF記法がなくてコードが仕様の言語とかあったな

901 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 19:43:27.91 ]
Schemeはlambdaが多機能・高機能すぎて細かい所でネックになる印象

902 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 19:44:16.12 ]
>>893
その50ページは言い換えれば客寄せパンダ
Scheme特有の概念を普通に説明したら数倍の分量にはなるだろうし
平易な言葉で書き直せば500ページ超えも夢じゃない

903 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 19:49:07.44 ]
BNF見ても言語は理解できない
C++の例外だけで本になるように
継続だけで本になる
マクロだけで本になる
末尾再帰だけで本になる

904 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 19:49:11.93 ]
>>900 parse.y を読んだこともない馬鹿です、って自白しなくていいのにw

905 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:02:55.57 ]
parse.yで対応できるのは簡単な文法だけ
いまの流行りは手書きだろ

906 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:05:17.97 ]
LISPはパースとかそういう「どうでもいい部分」をほぼ省略できるのが魅力なんだよ

907 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:08:10.24 ]
>>906
言語を使う側からしたら関係ない話だな

908 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:15:05.09 ]
それが言語の仕様読み解くのに関係してるって話だろ
ちょっと前ぐらい読め



909 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:31:40.03 ]
schelogでパースしようとしたら無限ループから返ってこなかった
仕方ないのであきらめた

910 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:35:14.97 ]
>>899
> そもそもプログラミングする上で(Lispでも)仕様を全部読む必要なんていない。ゲロ吐きたくなる
仕様を全部読む必要ないと言うけど、一つの言語を体系的に深く理解して、言語
とはどんなものなのかとか、どういうのが作れるのかとか、ある程度の言語のイ
メージを捉えているから新しい言語でも判断できる話でしょ。

チュートリアルに沿って学習したり、雑務をこなすためにちょっとした雑多な処
理を書いて言語を理解するアプローチも大切だけど、概念を理解してトップダウ
ンで組むのも言語の理解が進む。
>>902
それだと500ページの仕様の言語が5,000ページという話になるじゃん。
pg御大が数学の論文を読むのには時間がかかる。それは一個一個が表現力が豊か
という話で数式とはそういうものだ。

911 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:45:40.04 ]
BNFで読み解ける言語仕様って構文レベルでそ。
>>899のBNFみて分かることって、
LISPって括弧がいっぱいあって入れ子になってるんだなーぐらいじゃん。

912 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:59:30.75 ]
LISPの失敗
・S式をXMLみたいに標準化しなかった(分派ごとに微妙にバラバラ、慢心、環境の違い)
・種類が多い割に今風の静的型とか型推論とか型方面が思考停止状態
その他の欠陥
・括弧がいっぱいあって人を寄せ付けない(見た目が怖い)
・readが成功するまで言語として構文解析できない


913 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:16:56.42 ]
>>912
> ・S式をXMLみたいに標準化しなかった(分派ごとに微妙にバラバラ、慢心、環境の違い)
XMLが絶対善みたいな言い方だな。
> ・括弧がいっぱいあって人を寄せ付けない(見た目が怖い)
htmlのタグ<>が人を寄せ付けないという話は聞いたことないけどなあ。
食わず嫌いな怠惰人間の屁理屈にしか聞こえない。

914 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:21:09.05 ]
<html <head <body <p blah >>>>> とかだったら怖いよ…

915 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:25:10.34 ]
・使われないことをユーザのせいにする

916 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:26:45.54 ]
htmlはネストしてはいるけど、あまり深刻ではないんだよな
冗長な終了タグがあるからだけど
何が終わったかが判るから、閉じ括弧の連続よりは心理的ダメージがが少ない

917 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:28:56.94 ]
角括弧[]のお陰で心理的ダメージ軽減したんじゃなかったんですか!?

918 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:32:36.51 ]
ちょっとつけたし
そこにある名前を見るだけで何が終わったかが判るから、
閉じ括弧の連続よりは心理的ダメージが少ない
名前を利用してエラー検出もできる

S式だと閉じ括弧から開き括弧の横の名前へという目線移動が発生する





919 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:36:03.55 ]
冗長なのは括弧を数えるのにエディタ使えと言うのと同じだから
手書き派以外には受け入れられる
属性ズラズラ並べられるのは嫌いだけど

920 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:56:05.25 ]
>>914
> <html <head <body <p blah >>>>> とかだったら怖いよ…
(html (head (body (p blah ))))
こうすると普通だけどなあ。

vim, emacsだったら(html (head (body (p blah ))))の方が扱いやすいし、冗長な終了タグが
問題なんじゃないの。冗長な終了タグが必要な時ってある? インデントもあるんだし。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<245KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef