次世代言語議論スレ【Go Rust Haskell Scala Erlang Elixir】 第二世代at TECH
次世代言語議論スレ【Go Rust Haskell Scala Erlang Elixir】 第二世代 - 暇つぶし2ch112:デフォルトの名無しさん
17/02/13 07:30:33.52 PoWXNXBh.net
>>110
第5世代アーカイブにPCで動く処理系のソースがあったような

113:デフォルトの名無しさん
17/02/13 07:44:49.04 dJZmi+77.net
第5世代言語なのは知ってたけど、アーカイブなんてあったのね。
ありがとう。

114:デフォルトの名無しさん
17/02/13 07:57:27.96 gZ/8QOyo.net
>>112 >>113
もう10年は前だとおもいますが、Webを整理して解消する際にCDが売り出され
ました。最近、この再版を求める動きがありますが難しいようです。
Ubuntuを含むDebian系Linuxには32ビット時代はKL1のパッケージが載って
いましたが、64ビットになってからはないようです。

115:デフォルトの名無しさん
17/02/13 08:06:53.18 dJZmi+77.net
10年前でも2007年。。。
90年代の遺産だと思っててごめんなさい。
そして、追加情報感謝です。

116:デフォルトの名無しさん
17/02/13 08:50:20.89 fjEEeyAB.net
Σプロジェクトは出来たものが恥ずかしいゴミ過ぎて
この手の資料公開は無かったみたいだね。
URLリンク(ja.m.wikipedia.org)Σプロジェクト

117:デフォルトの名無しさん
17/02/13 08:54:34.63 fjEEeyAB.net
これもオモロイ
シグマはどこへ消えた?
URLリンク(www.yamdas.org)

118:デフォルトの名無しさん
17/02/13 09:42:44.82 mcSza9v8.net
>>114
KL1は上田研究室が最後の砦ですね。
こういう時はInternet Archiveがありがたい。
並行論理プログラミング (KLIC version 3.01)
URLリンク(www.ueda.info.waseda.ac.jp)
けいえるわん
URLリンク(www.ueda.info.waseda.ac.jp)
並列論理型言語処理系 KLIC のページ
URLリンク(web.archive.org)
第五世代コンピュータ プロジェクト アーカイブ
URLリンク(web.archive.org)

119:デフォルトの名無しさん
17/02/13 10:33:26.43 9gMxi0s2.net
>>107
これだけなら演算子作れば関数型でも簡単に出来そうな気が
利点が良くわからない

120:デフォルトの名無しさん
17/02/13 11:00:52.83 gZ/8QOyo.net
>>119
それが論理型との違いでしょう。論理型は上の方の定義を書き終えたら
できたできた。「私は帰ります」からはこれ以上の情報はない。この後で、
「どこに帰るのか」「いま私はどこにいるのか」「私とはどんな私だ」と
いうような情報を引数に付加するかも知れないが、それは後の話です。

121:デフォルトの名無しさん
17/02/13 11:23:25.21 nSPUHPPd.net
>>120
耳に入ってくる言葉の端々を述語として書き並べることが論理プログラミングと
いうことですか?

122:120
17/02/13 12:16:38.41 gZ/8QOyo.net
>>121
基本的にそうだと思っています。構造は述語だけで、後は構造を持たずシンボル
をならべただけのものです。
ただ誤解がないように言うのですが、プログラミングの中心的な課題が思想を
解明することになるのは、それこそ自動車の無人自動運転が当然の時代となる
くらい先だと思います。ですから現時点でこの次世代言語スレで関数型言語が
不適格であるとは全然思っていません。

123:デフォルトの名無しさん
17/02/13 12:20:56.87 l1N3ICNN.net
クラスベースOO=C++もあるけど、もっとわかりやすく便利で理想的なやつ
関数型=Haskell以下同文
論理型=Prolog以下同文

124:デフォルトの名無しさん
17/02/13 13:19:41.96 9gMxi0s2.net
>>122
プログラミングというよりも、論理?の列挙に見えるんですけど
つまりそういう事を言ってるんですか?

125:デフォルトの名無しさん
17/02/13 13:23:43.98 9gMxi0s2.net
論理というか集合の要素?
演算はまた別になってしまうだろうし、よくわからない
こういう記述だけで圏より素朴に演算を定義できるとも思えないし

126:デフォルトの名無しさん
17/02/13 15:24:22.49 l1N3ICNN.net
適当に具体例を列挙してボトムアップする能力も評価されるべき
トップダウンとマウンティングは似ている

127:デフォルトの名無しさん
17/02/13 15:41:49.88 HSaRDCl9.net
オブジェクト指向なんてダッセーよなー、関数型のほうが面白いよなー

128:デフォルトの名無しさん
17/02/13 16:28:13.09 AmcZDedG.net
今までの歴史からして遠からずPythonすら置き換わる汎用言語も出るだろうけどどんなだろうな
まったく違うパラダイムだろうか

129:デフォルトの名無しさん
17/02/13 17:10:45.69 X/RmwKxM.net
関数だけを使う関数型言語っていうのは初めにあって、
次にそれをパワーアップさせてリストだけを使うリスト型言語が出来て
次にそれをパワーアップさせてオブジェクトだけを使うオブジェクト型言語
ができたんだからオブジェクト型が今のところ最先端だな。
次のパラダイムは何か新しい一つの物だけを使った言語だと思うな。

130:デフォルトの名無しさん
17/02/13 18:31:51.83 lgjAPN1q.net
>>129
マルチパラダイム言語ディスってんの?

131:デフォルトの名無しさん
17/02/13 19:18:42.74 HSaRDCl9.net
>>129
某ゲームメーカーの昔のCMネタで書き込んだだけなのに、こうやって釣れるんだよな。
ネットのOOP解説関連のHPも、頭悪い人間や旧世代を見下してるの多いし、
同じことを歴史を繰り返して関数型にやられてるだけじゃん。

132:デフォルトの名無しさん
17/02/13 19:26:15.09 l1N3ICNN.net
関数の中に関数を書くっていう関数型が初めにあったとすると
クラスの中に関数を書くっていうのは別にパワーアップしてない
粉飾パワー系

133:デフォルトの名無しさん
17/02/13 19:27:22.92 MQ2CnNxG.net
因果は巡るのじゃw

134:デフォルトの名無しさん
17/02/13 19:41:12.63 X/RmwKxM.net
>>132
オブジェクト型はオブジェクトの中にオブジェクトを書くんだよ。
メソッドはオブジェクトのインターフェイスでオブジェクトの一部として考えられる
オブジェクトのコアの中にオブジェクトが入って外部から遮断されてる。

135:デフォルトの名無しさん
17/02/13 19:51:42.41 zwnL86Oa.net
OOP言語のJavaで作られたものは数あれど、
関数型言語のHaskellで作られたものって何があるん?

136:デフォルトの名無しさん
17/02/13 20:02:53.28 l1N3ICNN.net
人間が作ったものは人間の手柄
それを巧妙なマウンティングで言語の手柄にされてしまう
更に言語の上にパラダイムが乗っかってパラダイムの手柄になる

137:デフォルトの名無しさん
17/02/13 20:06:34.96 SRrzQdIe.net
129はなんか間違ってるだろ。

138:デフォルトの名無しさん
17/02/13 20:12:19.53 SRrzQdIe.net
関数型とオブジェクト指向は共存できるだろし。
説明はできないが、別次元の概念だとおもうぞ。
進化するとか比較対象になるものではないだろ。
オブジェクト指向をベースにした純粋関数型言語って可能だろ?

139:デフォルトの名無しさん
17/02/13 20:17:27.40 l1N3ICNN.net
オブジェクト指向を入れると型推論のアルゴリズムが複雑
ゆえに現実主義者はダックタイピングでオブジェクト指向するか純粋関数型で型推論する

140:デフォルトの名無しさん
17/02/13 20:23:35.51 SRrzQdIe.net
ぐぐった、抜粋。

関数型言語のウソとホント - Qiita

?「関数型言語もいずれオブジェクト指向などのスタイルを取り入れたマルチパラダイムな言語になる」
関数型言語は関数というたったひとつの武器だけをひたすら研ぎ澄まして問題に立ち向かおうとする言語であり、それ以外の武器はかえって邪魔になります。
OCamlなんかはCamlという言語にオブジェクト指向的な機能を付け加えたObjective Camlが改名されたものだそうですが、OCamlが積極的にオブジェクト指向で設計されているようには見えないです。
Haskellに至ってはオブジェクト指向を取り入れる動きはほとんど皆無ですし、そうする必要がないです。
O'Haskellといってオブジェクト指向の概念を取り入れたHaskellが提案されたこともあったようですが、現在O'Haskellが使われているという話は聞いたことがありません。
最近では関数型以外の言語が関数型のスタイルを取り入れる動きがしばしば見られる一方で、関数型のほうから例えばオブジェクト指向を取り入れる動きはあまり積極的ではないようです。
しかし近年ではやはりScalaがオブジェクト指向と関数型の融合を目指したものとして台等しています。
URLリンク(qiita.com)

141:デフォルトの名無しさん
17/02/13 20:24:33.73 9ZqcI6aJ.net
>>139
純粋関数型にとって型推論とはそんなに重要なものなのですか?

142:デフォルトの名無しさん
17/02/13 20:54:36.75 3XLU4PQN.net
OCamlは型システムが柔軟で強力なら、大抵の場面でOOじゃない方が楽だってことを教えてくれる良い言語
わざわざオブジェクトにするのは、遅延結合が必要な所とヘテロジーニアスなオブジェクトを統一して扱う場合くらい
弊害として、過激なOO不要論者になる可能性がある

143:デフォルトの名無しさん
17/02/13 21:01:24.48 l1N3ICNN.net
>>141
個人的には、重要かどうかではなく本当に実現するのか騙されてるだけなのかを知りたい

144:デフォルトの名無しさん
17/02/13 22:01:47.07 tn7uWAuX.net
当たり前なのかもしれないけど
データと処理が強く結びついてるドメインにおいてはオブジェクト指向の恩恵のほうが大きいんじゃね
グラフィック系のツールで選択してるブラシによっていろんな動作が変わるやつとか
データと処理が一箇所にまとまっててその結びつきが強制されてることにどの程度の価値を見出すか
Strategyパターンみたいなもを例に考えるといい気がする

145:デフォルトの名無しさん
17/02/13 22:17:28.21 JsOR7Nm6.net
実践 Common Lisp とか読んでれば common lisp はだいぶ穏やかな言語だって
思うんだけどね。
あれもマクロマクロうるさい馬鹿のせいで偏見持たれてる気がする。

146:デフォルトの名無しさん
17/02/13 22:21:19.27 ut1LFOtS.net
>>145
わかる
そんなに尖った機能無いよな

147:デフォルトの名無しさん
17/02/13 22:22:45.43 GOtEVvRl.net
>>140
おはスケル
なんJ民かな

148:デフォルトの名無しさん
17/02/13 22:23:57.02 GOtEVvRl.net
Lispはかっこつけすぎ

149:デフォルトの名無しさん
17/02/13 22:56:11.66 HSaRDCl9.net
プログラミングは免許制にすればいいよ、
関数型プログラミングができるかどうかで。
馬鹿プログラマでも扱えるように色々と冗長にする
-> 冗長だから手番が増えてさらにプログラマが必要となる
-> 馬鹿プログラマが補給される
このコンボが決まって悪循環が続いている、と。
別に関数型プログラミングが全能とは思わないが、現時点でのひとつのリトマス試験紙にはなるかと。

150:デフォルトの名無しさん
17/02/13 22:56:44.30 g1s3e9Z7.net
((L)(((i)s)p)))

151:デフォルトの名無しさん
17/02/13 22:58:39.38 g1s3e9Z7.net
>>149
関数型の基礎になる数学知識があるかを問うたほうが良さげ

152:デフォルトの名無しさん
17/02/13 22:59:44.86 ut1LFOtS.net
マクロが自然に馴染む構文というと、結局S式しかないという気はする
IDEでマクロの構文まで面倒見てくれる言語ってなんかある?
あれば使ってみたい

153:デフォルトの名無しさん
17/02/13 23:44:14.31 HSaRDCl9.net
>>151
そうかもね。抽象化の最たるものだね、数学は。
>>152
emacsのLispモードについてんじゃないの?(適当)

154:デフォルトの名無しさん
17/02/13 23:50:25.63 ut1LFOtS.net
>>153
「S式(lisp)ならマクロに対する特別な支援は(殆んど)要らない」ってこと
Juliaでマクロ書いてて思ったのよ、インデント崩れたりとか

155:デフォルトの名無しさん
17/02/13 23:57:47.13 kQGSvZ2q.net
S式は括弧使って構文解析サボってるだけ。
逆ポーランドとかの怠け記法と同類。

156:デフォルトの名無しさん
17/02/13 23:58:31.38 HSaRDCl9.net
>>154
なる。Julia知らんけどemacsなら(ry

157:デフォルトの名無しさん
17/02/13 23:59:24.88 HSaRDCl9.net
>>155
emacsなら(ry

158:デフォルトの名無しさん
17/02/14 00:35:59.85 gfvqdCIF.net
数学知識より国語力高いやつのほうが欲しい

159:デフォルトの名無しさん
17/02/14 00:40:40.70 4G8SInJT.net
数学知識。まずは自分の国語力を見直そうか。

160:デフォルトの名無しさん
17/02/14 00:46:48.47 gfvqdCIF.net
それはごもっともだが>>151の引用だから

161:デフォルトの名無しさん
17/02/14 00:53:58.87 4G8SInJT.net
これは失礼。国語力も大事ですね。

162:デフォルトの名無しさん
17/02/14 02:34:10.88 4XLa6m2a.net
オブジェクト思考はそもそもの設計思想からミスってるというのが持論だけど、割とハードにちかいとこでのでーたのやりとりのラップにつかえんのかなってかんじ

163:デフォルトの名無しさん
17/02/14 07:08:37.44 izwS/hYI.net
LispやってるとなんでCでは中括弧を閉じるとき重ねずに一つ一つ改行していくんだろうと感じる

164:デフォルトの名無しさん
17/02/14 07:54:13.53 deUQRuVA.net
>>163
LISPは行エディタ時代の言語。Cは画面エディタ時代の言語。
カーソルを縦に下ろしていって、ブロックを確認するのに、
改行しておいた方が都合よかったからではないか。

165:デフォルトの名無しさん
17/02/14 08:15:42.74 uoklH2m8.net
実際に書いてみると、以下みたいなタイミングで改行を押すことになると思う
(define (fact n)[改行] (if (<= n 1)[改行]1[改行](* n (fact (sub1 n)))))
そうなると自然に閉括弧の中には改行が入らなくなるんじゃないかな
特にコーディングルールなんかを意識しなくても、閉括弧が密集するはず

166:デフォルトの名無しさん
17/02/14 08:19:39.83 uoklH2m8.net
Juliaってまだ次世代言語という認識も無い感じなのかな、ver1.0出ないし
それとも対象領域が狭いのか

167:デフォルトの名無しさん
17/02/14 08:41:27.92 ptdZF2Do.net
Juliaはすでにダメかと
放置ぎみ
これは言語に特色あるというより、LLVM用のスクリプト言語って位置づけだろ?
JavascriptをベースにしてLLVMを動かしてもいい。

168:122
17/02/14 08:44:44.67 deUQRuVA.net
>>124 >>125
どう答えればよいか考え倦ねていたのですが、
Prologの場合は、基本論理式であることは確かですから、論理かなと
言われればその通りなのでしょう。
>>107の「私は帰ります」から始まるスレッドで言いたかったのは、
受け取った文そのものが、シンボルで即ち述語となるということ。
それが我々が自然言語を扱う時、自然言語に接する時の作法に近い。
そのシンボルはやがて分解されて、詳細な述語が生まれる。そしてまた
それがDCG節で書いた二番目の定義、即ち、句構造への文法的な解析と
ほぼ同型になる。そういう主張です。

169:デフォルトの名無しさん
17/02/14 08:45:48.11 ptdZF2Do.net
開発されてた
GitHub - JuliaLang/julia: The Julia Language: A fresh approach to technical computing.
URLリンク(github.com)

170:デフォルトの名無しさん
17/02/14 09:38:35.37 OAj0rQR0.net
>>168
Prolog、面白そうですね。やってみます。
FPでの自然言語処理だと、全てを読んだ訳ではない上での感想と理解いただきたいですが、
Computational Semantics with Functional Programming
がFPらしい流儀で本格的なことやってるように見えました。
Draft版がpdfで読めます。

171:デフォルトの名無しさん
17/02/14 10:03:37.62 lPJlbUrB.net
Juliaはとりあえず永遠にStableにならなそうなふいんき()をなんとかしてくれ。
同じ事がNimやElmにも言えるが。

172:デフォルトの名無しさん
17/02/14 11:20:46.81 QO8CQqzs.net
俺数学大っ嫌い文系だけどオブジェクト指向言語より関数型言語のが好きなんだが異端なのか?

173:デフォルトの名無しさん
17/02/14 11:33:19.82 ptdZF2Do.net
手続き型は関数型を一般化したようなもので、関数型は手続き型を制限したようなもの。
手続き型ができれば、注意深くやれば関数型はかけるはず。
記法は別にしてほぼ一行でプログラムするようなこと。ハンターハンターでこんなのあるが。

制約と誓約についての詳しい考察 | キルアから見たHUNTER×HUNTER
念能力における概念の一つ。
自らの念能力に対し制約と誓約を課すことによってその威力と精度を著しく向上させることが出来る。
能力者のほとんどは「制約」のほうだけを自らの念能力に取り入れているケースが多く、
純粋に制約と誓約の両方を取り入れている能力者はクラピカくらいだと言える。
クラピカ
中指の鎖に対して「旅団以外には使わない」という制約と「旅団以外に使った場合は命を絶つ」という誓約を立てた。
作中では述べられていないが、恐らく制約のみを課すよりも制約と誓約の両方を課した方が能力がより向上するものと思われる。
URLリンク(kirua-hunterhunter.com)

174:デフォルトの名無しさん
17/02/14 12:28:22.89 PhsD9VtO.net
>>172
洗練ということに価値をみる人だと至極当たり前の方向だと思う。

175:デフォルトの名無しさん
17/02/14 12:33:23.61 OAj0rQR0.net
>>172
物事の抽象化という点では文理関係ないのでは?
受験数学だと抽象的でない暗記的な内容もあるでしょうし。例えば積分公式の暗記とか。
微分と積分が逆だとぼんやり理解するのが大事で、
ばっちり解析解(公式)が出るかはそりゃ出れば嬉しいけど、出ない方が多い。
そういう狭い領域が○×を判定しやすいという理由で試験にでているだけなのに、
それが数学の全てで、そういうテクニカルなことが嫌いだから数学も嫌いと思っている人は多いのではないでしょうか。

176:デフォルトの名無しさん
17/02/14 13:05:57.35 he6YB8dM.net
lim
ver->1.0 JULIA ver

177:デフォルトの名無しさん
17/02/14 15:41:28.41 90/NuRRw.net
Haskellからは関数型言語という制約を課しながら手続き型言語になりたい
という気持ちが伝わってくるからな。
結局、多様なオブジェクツからなる手続き型言語の理想世界を関数という
アトムで表すことが夢の最終目的なんだよな。


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