【CGI】実用比較Li ..
[2ch|▼Menu]
49:デフォルトの名無しさん
08/02/08 20:57:31
LISPには変わったマクロあって埋め込み言語実装が簡単だけど
Haskellにはあるのかな?

50:デフォルトの名無しさん
08/02/08 22:48:34
>>49
「変わったマクロ」ですと???
あの程度書けなきゃマクロって言わんちゃいますか?


51:デフォルトの名無しさん
08/04/22 14:07:28
>>41
慣れたらhaskelの方がlispよりも速い場合ってあるの?


52:デフォルトの名無しさん
08/04/22 22:33:40
>>51
ある。
「慣れることが出来ない」という事実に目をつぶれば。

53:多色グリグリ=LISPワカンネ派?
08/06/11 10:37:40
印欧語族母語話者が考え方を自然に書くとLISPみたいになる。
UTF‐8で組むXML書式はLISPのカッコの対応を明示しただけ。
UTF‐8コード環境は日本語「だけ」が苦手→はぶられる(オワタ
こうですか>< ワカリマセン(=間違い)…だといいな?

54:デフォルトの名無しさん
08/06/15 20:28:52
頭大丈夫?

55:デフォルトの名無しさん
08/06/16 01:55:46
スレリンク(tech板:860番)

これを書いた人だから。

56:デフォルトの名無しさん
08/06/18 00:55:30
あっちこちで見かけるよね。「印欧語族母語話者」はNGワード推奨?

57:デフォルトの名無しさん
08/07/04 20:05:27
Lispが欧米の自然言語に近いとかはウソだな。
set b to a

(setq a b)
だもん。

単に
コマンド 引数 ...
で引数にコマンド 引数 ...が入れられるようにしただけじゃん。


58:デフォルトの名無しさん
08/07/11 23:35:40
>>57
それではリストを正確に表していない。

59:デフォルトの名無しさん
08/07/29 23:30:34
値の代入?のような処理はどっちも自然言語と違うと思うけど。
ただlispで値を比較したい場合
( s == o)
という風にSVOで書けないからちょっとだけ見にくい感じはするな。
まあオペレータオーバーロード出来ない言語だと、特定の型以外は
関数で比較とか混在するので似たようなもんか。

ところでlispのどういうとこが自然言語に近いの?


60:デフォルトの名無しさん
08/08/16 15:43:56
今までプログラミング言語が自然言語と近いかどうかなんて気にしたこと無かったなあ。
プログラミング言語にそんなこと求めたこと無いし・・・
何でそういうことを気にする人がいるのか興味があるなあ。

61:デフォルトの名無しさん
09/02/10 07:33:42
自然言語に近いとかはどうでもいいよな。
そんな事言ってたら再帰とかどうすんだよとw

lispは人間が機械をサポートしなきゃいけないのが面倒で嫌だったなぁ
コードそのものがS式ですとか言ってみても、言い換えれば人間がそうなるように頑張ってるわけで・・


62:デフォルトの名無しさん
09/02/11 01:39:12
頑張るってのは方向を間違えてないか?プログラムを書くプログラムを書くのが目的に最適化されてるの。
そこを履き違えたならたしかにS式は一方的に人間が機械に譲歩してるだけに見えるだろう。
実際には人間が機械に半分歩みよると同時に、機械を半分人間に歩み寄らせてるんだよ。

63:デフォルトの名無しさん
09/02/11 10:09:45
一般人から見たら、S式もアルゴル系の手続き言語(代表的なC言語でもいいや)も
大してかわらん。
義務教育で教えて概念が入っていればそっちが学びやすい分、
四則演算がそのままかける、手続き言語に軍配があがるかもしれんが

64:デフォルトの名無しさん
09/02/11 11:13:38
なまじ四則演算がそのまま書けるせいで、
x = x + 1
を等式だと思って混乱するっていう落とし穴もあるし。

65:デフォルトの名無しさん
09/02/11 11:42:42
副作用のない関数言語なら大丈夫。ってか、そんなん書けない。

66:デフォルトの名無しさん
09/02/11 13:12:27
代入が等式に見えるという悪癖はFortran以来(COBOLは知らん)
BASICやCも引き継いでいる、人気のある言語ほど採用しやがる仕様
なんだよな。

67:デフォルトの名無しさん
09/02/11 13:30:56
>>62
現実には仕様上無理だとしても
S式を壊して記述しても機械がサポートできるということにすれば
よくある後半の)の山はほとんど消せるよなw

(+ 1 2)も + 1 2でいいことになる。
もっといえば 1 + 2でもいい。
そりゃすでにS式じゃねーだろというかもしれないがその通り。
S式に依存して書かなければならないという仕様は人間が負担し、担保してるし省略形(あるいは省力形といっても・・)で簡素に書く事が出来ない。

結果的に可読性が悪くなる最大の要因と化しているのも事実だと思うよ。
だからといって技術的にどうにかできるものじゃないから
「仕様です」で終わりだけどw

まあ・・この辺がスマートに解決される魔法があったらBASICが使われる事もなかったんじゃないかとさえ思う今日この頃。

68:デフォルトの名無しさん
09/02/11 20:32:39
Lisp と C で括弧の数が大きく違うのは、演算子周りくらいじゃないかな。
普通の関数呼び出しとか、 if や for みたいな制御構造とかには、 C だって括弧が要る。
演算子が大量に連なった式でもない限り、 Lisp で閉じ括弧が山ほど続くようなコードは、 C で書いても同じくらいの閉じ括弧が続くと思う。

+ 1 2 みたいに書く場合、式と式を区切る手段が必要になる。
その一行だけを評価するならそれでいいんだけど、実際のプログラムってもっとたくさんの式でできてるよね。
式が入れ子になってるようなのも普通だし。
で、特に入れ子になった式を書く場合、どこからどこまでが一つの部分式かを明示しないといけないんで、括弧で括るような記法が便利。

S 式って別に可読性悪くないと思うんだけどね。

69:デフォルトの名無しさん
09/02/11 21:32:10
>>68
>C で書いても同じくらいの閉じ括弧が続くと思う
いやーそれはないない
そんなコード見た事無いわ
括弧の数カウントして同じように並べたらって話ならまだ別だけど
それ自体意味はないし・・

70:デフォルトの名無しさん
09/02/11 22:35:18
S式の閉じ括弧の連続は、それなりのエディタを使わないと面倒だと思う。
というか、メモ帳→Vimと移ってそこがすごい便利だと思った。

71:デフォルトの名無しさん
09/02/11 22:38:48
>>68
たいしたことないLispのコードでもケツに7,8個カッコが付くなんて普通にあるから、真ん中あたりの閉じカッコがどこに対応してるんだなんて見たってわかりゃしないよね。
エディタの支援機能がないとあんまり触りたくはない・・かな。

Cだと文化違うけど、カッコを2種類使えるのとindentの関係でブロック構造は視認しやすいってのはある。
ま、ブロック構造だけはw
Lispでも同じようにやりゃいいじゃないかってのもあるけど
Lisperになるほどそうしないからね、人のコード見るときは結構うんざり気味になる・・

72:デフォルトの名無しさん
09/02/11 23:24:05
俺だってそもそもワンライナー以外のプログマムをエディタなしに編集したくはねーよ。Lispに限らずね。
俺はLispでインデントしか見ないので、Cっぽく括弧だけの行があるコードをみるとうんざりするよ。

73:デフォルトの名無しさん
09/02/11 23:54:57
俺もLispの制御構造はインデントでしか見ない。
インデントが崩れていても、emacsならコマンド一発で自動整形できるし
あの括弧のおかげで、自動整形の精度も高いんだぜ。

74:デフォルトの名無しさん
09/02/12 00:26:17
同じくインデント任せ。
ぶっちゃけ Emacs 以外の環境でまともに読み書きできる自信はない。

75:デフォルトの名無しさん
09/02/12 08:05:33
・閉じ括弧は基本的に見る対象ではない
・主にインデントを見る

この2点があるから、Lispには閉じ括弧をまとめる慣習があるわけだよね。
見る対象ではないから、出来るだけ小さく存在していたほうが良いし、
閉じ括弧に一行与えると、縦がスカスカになって、目でインデントをなぞりにくい。

76:デフォルトの名無しさん
09/02/12 12:21:20
>>75
>この2点があるから、Lispには閉じ括弧をまとめる慣習があるわけだよね。
必ずしもそうとは言えないぞ
インデントは意識されてても1行に詰め込み杉で
インデントの意味がないコードも多いし。
閉じ括弧まとめるのは慣習的な意味合い強いよ。

77:デフォルトの名無しさん
09/02/12 22:42:13
>>76
少なくともLisperの間でコンセンサスは取られている。
フレームだらけのLisper同士の喧嘩でもインデントに関するものはほとんどない。
タブ幅に関する個人的な考察だの括弧の配置に関する俺理論とかうんざりなんだよね。
一行につめこみ杉だったら、改行入れて整形するだけであとは>>75の主張の通りだよ。

78:デフォルトの名無しさん
09/02/13 12:26:03
CLとSchemeが誕生した前後は、エディタは、edとか、使っていたのかな?

79:デフォルトの名無しさん
09/02/13 12:43:24
>>77
>少なくともLisperの間でコンセンサスは取られている。
それはないよ。

80:デフォルトの名無しさん
09/02/13 18:07:49
>>78
TECOじゃね?

81:デフォルトの名無しさん
09/02/14 09:10:46
そういえばスーパー閉じ括弧ってどうなったんだろう?

82:デフォルトの名無しさん
09/02/14 13:36:44
shcemeでは[]だって使えるんだぜ。

83:デフォルトの名無しさん
09/02/14 13:37:39
cとhが逆だったよ。よめねえよ。


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5380日前に更新/19 KB
担当:undef