いざ、語ろうぞ。
スレタイ超過のため、一部省略。
その他もウェルカム。
前スレ
次世代言語議論スレ[Go Rust Kotlin Scala]第4世代
http://mevius.2ch.net/test/read.cgi/tech/1492631007/
次世代言語議論スレ[Go Rust Scala Haskell]第5世代 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/06/13(火) 08:54:07.99ID:O1HnBMDk
229デフォルトの名無しさん
2017/07/03(月) 22:20:39.13ID:wybralPC コイツのつまんない自己満ライブラリ連投がなきゃスレがにぎわんってなら
過疎って落ちる方がずっとマシ
過疎って落ちる方がずっとマシ
230デフォルトの名無しさん
2017/07/03(月) 22:32:40.33ID:r5yHurmA 一つにまとめてくれんかね
なんで言語乱発すんの
なんで言語乱発すんの
231デフォルトの名無しさん
2017/07/03(月) 22:40:55.36ID:hTTgnp+k >>224
んじゃ、課題な。
これ解決したらROMる。
>>84-85のコードで>>85だな。
mfptn,mfput,mfwriteに相当する汎用的な関数手続き型言語で書いてくれ。
Haskellより簡潔な形で。
表面的にはクロージャ渡してループの中の変数に渡せば良い。
問題は、オープンするには純粋なファイル名だが、表示する時ファイル名を青文字にしたいとかそう言うカスタマイズ可能なmfptnが書けるかだ。
書ければmfputもmfwriteもmfptn使って似た様なコード書かなくて済む様になる。
>>225
ありがとう。
これでも言語オタとして色んな言語渡り歩いて導き出した結論。
やっとプログラマのスタートラインに立てた実感からの発言。
マジレスってやつなんだ。
間違ってたら指摘も結構。
真摯に受け止める。
今はプログラミング用のコマンド作ってるのがメイン。
自分の為のツール作るのが一番モチベーション保てるね。
HaskellerならEmacsって思ってたけど、viが軽くて、実験的に書いた行を消したいだけとかに良いね。
(Emacs、編集したいだけなのに型検査だかコンパイルだかやってんじゃねーよボケ)
ただ、せっかくhjklで上下左右一文字移動なんだから、その上下段のyuioやbnm,で単語や行の移動しても良いじゃんよって思ったから作ろうと思ってる。
u/Uのアンドゥー/リドゥーは。。。CntlとAltかな。。。
んじゃ、課題な。
これ解決したらROMる。
>>84-85のコードで>>85だな。
mfptn,mfput,mfwriteに相当する汎用的な関数手続き型言語で書いてくれ。
Haskellより簡潔な形で。
表面的にはクロージャ渡してループの中の変数に渡せば良い。
問題は、オープンするには純粋なファイル名だが、表示する時ファイル名を青文字にしたいとかそう言うカスタマイズ可能なmfptnが書けるかだ。
書ければmfputもmfwriteもmfptn使って似た様なコード書かなくて済む様になる。
>>225
ありがとう。
これでも言語オタとして色んな言語渡り歩いて導き出した結論。
やっとプログラマのスタートラインに立てた実感からの発言。
マジレスってやつなんだ。
間違ってたら指摘も結構。
真摯に受け止める。
今はプログラミング用のコマンド作ってるのがメイン。
自分の為のツール作るのが一番モチベーション保てるね。
HaskellerならEmacsって思ってたけど、viが軽くて、実験的に書いた行を消したいだけとかに良いね。
(Emacs、編集したいだけなのに型検査だかコンパイルだかやってんじゃねーよボケ)
ただ、せっかくhjklで上下左右一文字移動なんだから、その上下段のyuioやbnm,で単語や行の移動しても良いじゃんよって思ったから作ろうと思ってる。
u/Uのアンドゥー/リドゥーは。。。CntlとAltかな。。。
232デフォルトの名無しさん
2017/07/03(月) 23:04:54.14ID:oRb6DKWl233デフォルトの名無しさん
2017/07/03(月) 23:08:44.96ID:hTTgnp+k >>226
小学生に算数って実は面白いかも?って思ってもらう本(電子書籍)書いてからね。
元々書きたいとは思ってるんよ。
Haskell入門以前って電子書籍は出してる。
以前って付くの一冊しか無いから一発。
普通の再帰が末尾再帰に自動変換の下りは嘘っぱちで、スタック消費を抑えただけだったみたいなんだけど、それ以外なら関数脳作る一助になると思う。
お金あるならプログラミング in OCamlのが関数脳作るのに良いと思うけど。
(これの著者がHaskell本書いてくれれば最高なのに)
小学生に算数って実は面白いかも?って思ってもらう本(電子書籍)書いてからね。
元々書きたいとは思ってるんよ。
Haskell入門以前って電子書籍は出してる。
以前って付くの一冊しか無いから一発。
普通の再帰が末尾再帰に自動変換の下りは嘘っぱちで、スタック消費を抑えただけだったみたいなんだけど、それ以外なら関数脳作る一助になると思う。
お金あるならプログラミング in OCamlのが関数脳作るのに良いと思うけど。
(これの著者がHaskell本書いてくれれば最高なのに)
234デフォルトの名無しさん
2017/07/03(月) 23:11:09.43ID:hTTgnp+k235デフォルトの名無しさん
2017/07/03(月) 23:16:44.69ID:lw0BfZsD >>233
2冊ww
2冊ww
236デフォルトの名無しさん
2017/07/03(月) 23:16:55.17ID:apAa5CHd ジョブズのように美しいデザインに異常にこだわるタイプが
もし表現の自由や基本的人権を美しくないと判断したら何が起きるか
既に何か起きてるか
もし表現の自由や基本的人権を美しくないと判断したら何が起きるか
既に何か起きてるか
237デフォルトの名無しさん
2017/07/03(月) 23:30:27.58ID:hTTgnp+k238デフォルトの名無しさん
2017/07/04(火) 00:13:38.28ID:ay5PiZ4N nl, tac, grepで全部事足りるんだが
239デフォルトの名無しさん
2017/07/04(火) 00:47:05.17ID:huKUW2nT nlなんて書いた覚えないが。。。
tacやgrepと言うコマンド名を知らなかった頃に書いたのを、リネームしただけだからね。
そう言う機能がないか調べるより書いちゃえって主義。
おいらの場合、そうでも無いとプログラミング力が付かない。
tacやgrepと言うコマンド名を知らなかった頃に書いたのを、リネームしただけだからね。
そう言う機能がないか調べるより書いちゃえって主義。
おいらの場合、そうでも無いとプログラミング力が付かない。
240デフォルトの名無しさん
2017/07/04(火) 04:24:48.11ID:LX4AtBOp241デフォルトの名無しさん
2017/07/04(火) 06:47:47.53ID:IVSy+wIs >>239
再利用性が大事なんじゃなかったのか?
再利用性が大事なんじゃなかったのか?
242デフォルトの名無しさん
2017/07/04(火) 12:23:37.78ID:FYa81knm Linux始めたばかりで探すより書いたほうが早かったから。
どっちが早いかの問題。
どっちが早いかの問題。
243デフォルトの名無しさん
2017/07/04(火) 12:25:05.34ID:FYa81knm244デフォルトの名無しさん
2017/07/04(火) 14:01:02.84ID:pyKR417/ やんくとアンドゥ潰すとか誰が使うんだよ
245デフォルトの名無しさん
2017/07/04(火) 14:09:58.01ID:pyKR417/ よく見たらinsertモードと改行insertも潰れるのかwww
もうそれvimでもなんでもねーやん
もうそれvimでもなんでもねーやん
246デフォルトの名無しさん
2017/07/04(火) 14:15:22.45ID:vfHvNnoh 勉強せずに自分で作るとか言ってるとヤンクアンドゥインサート改行インサート潰すガイジに成り下がるのか
やっぱり慣例の勉強って大切だわ
やっぱり慣例の勉強って大切だわ
247デフォルトの名無しさん
2017/07/04(火) 18:25:49.77ID:ZOpHOB0v 再利用性大事とか言いつつオレオレ仕様で車輪の再発明しちゃうアホンダラなんだなぁHaskellerって
机の上のお勉強はできるのかもわからんが、ギークとしてのセンスが皆無なんだな
机の上のお勉強はできるのかもわからんが、ギークとしてのセンスが皆無なんだな
248デフォルトの名無しさん
2017/07/04(火) 18:30:51.12ID:ZOpHOB0v 探す手間より書いた方が早いとか言うやつは、自分の書いたもの見せびらかしたいだけ
お勉強はできるからそこそこのものを作れるんだろうが
既存の枯れたものの仕様ガン無視で作るせいで結局作ったお前さんしか再利用できないオナニーの産物
お勉強はできるからそこそこのものを作れるんだろうが
既存の枯れたものの仕様ガン無視で作るせいで結局作ったお前さんしか再利用できないオナニーの産物
249デフォルトの名無しさん
2017/07/04(火) 18:35:07.55ID:ZOpHOB0v 別に言語の再利用性は机の上でのお勉強の得意なお前さんの言う通り
Haskellの方が高いんじゃねえの?しらんけど
でもお前さんがオレオレで作ったものの再利用性は低いよなあってお話
なんせ既にあるものガン無視でオレオレ仕様の再発明しかしてねえんだから
Haskellの方が高いんじゃねえの?しらんけど
でもお前さんがオレオレで作ったものの再利用性は低いよなあってお話
なんせ既にあるものガン無視でオレオレ仕様の再発明しかしてねえんだから
250デフォルトの名無しさん
2017/07/04(火) 19:11:10.26ID:pyKR417/ >>239
いくらなんでもgrepも知らないって調べるより書いちゃえも何も、
単純にエンジニア、ライブラリアンとしてものを知らなすぎだろ
ls, find, cat, grep, sed, awk, xargsくらいは、知ってないとわけわからんよ
プログラミング力どうこう以前の問題
Haskellプログラマが全員こんなに馬鹿だと思われるのはすごく悲しい
いくらなんでもgrepも知らないって調べるより書いちゃえも何も、
単純にエンジニア、ライブラリアンとしてものを知らなすぎだろ
ls, find, cat, grep, sed, awk, xargsくらいは、知ってないとわけわからんよ
プログラミング力どうこう以前の問題
Haskellプログラマが全員こんなに馬鹿だと思われるのはすごく悲しい
251デフォルトの名無しさん
2017/07/04(火) 19:26:44.78ID:Mgy1XtU/ cat より less
cat より vi
cat より vi
252デフォルトの名無しさん
2017/07/04(火) 19:32:55.21ID:bn9cQclE catよりdog
>>184
Haskell のクイックソートやマージソートは本質を失っている,重要なのはインプレイス性だが haskell にそれは望めない
Haskell のクイックソートやマージソートは本質を失っている,重要なのはインプレイス性だが haskell にそれは望めない
254デフォルトの名無しさん
2017/07/04(火) 20:35:49.53ID:KFTmH+Xw >>244-246
そうか、ヤンクも潰しちゃうねぇ。。。
あれか。
Ctrl+hjklとかAlt+hjklに移動は集約しちゃうか。
コーディングしたくて気が早って"("押したら移動しちゃうとかが不便で、そう言うの起きにくい仕様にしたいだけなのよね。
オレオレのオナニーで結構だとは思うんだけど、不便にしたいわけじゃない。
少なくともおいらにとっては便利じゃないと。
>>247
ずっとWinだったんでcdとcatとlsはとりあえず分かったけど、awkとsedは聞いた事あるだけで、どんな機能か未だ分からず。
時間見て調べる予定。
grep,findはそう言う機能はあるだろうなとは思ったけどfindは望む機能じゃなかった。
grepは鯖入門書読むまで知らなかった。
元々そう言う不便な環境に身を置けば欲しい機能は自分で書くしかなくなるから、プログラミング能力伸びるだろってのが目的なんで、ある意味目論見通り。
そうか、ヤンクも潰しちゃうねぇ。。。
あれか。
Ctrl+hjklとかAlt+hjklに移動は集約しちゃうか。
コーディングしたくて気が早って"("押したら移動しちゃうとかが不便で、そう言うの起きにくい仕様にしたいだけなのよね。
オレオレのオナニーで結構だとは思うんだけど、不便にしたいわけじゃない。
少なくともおいらにとっては便利じゃないと。
>>247
ずっとWinだったんでcdとcatとlsはとりあえず分かったけど、awkとsedは聞いた事あるだけで、どんな機能か未だ分からず。
時間見て調べる予定。
grep,findはそう言う機能はあるだろうなとは思ったけどfindは望む機能じゃなかった。
grepは鯖入門書読むまで知らなかった。
元々そう言う不便な環境に身を置けば欲しい機能は自分で書くしかなくなるから、プログラミング能力伸びるだろってのが目的なんで、ある意味目論見通り。
255デフォルトの名無しさん
2017/07/04(火) 20:37:38.04ID:KFTmH+Xw256デフォルトの名無しさん
2017/07/04(火) 22:34:12.67ID:otSZmZCY In-placeじゃね?
(ほとんど)メモリ追加せずにその場でソート
(ほとんど)メモリ追加せずにその場でソート
257デフォルトの名無しさん
2017/07/04(火) 23:18:10.83ID:KFTmH+Xw ああ、省メモリってことね。
そりゃそうだ。
おいらだって手続き型言語で書けばなるべく書き換えで済まそうとする。
手軽さ優先か性能優先かだよ。
でも、性能優先のコードしか提示されなかった頃はどう言う動きか読み取れなかった。
その時点でプログラマの才能無いんだろうけど。
Haskellのコード見て、手続き型言語で書くには?ってなったら自然と配列書き換えられるんだから、書き換えた方がメモリ少なくて済む(&配列追加の手間が無い)ってなる。
言語によって面倒くささが違うんよね。
例えば総当たりソートとクイックソートは手続き型言語じゃ難易度に大差あるけど、関数型言語は大差無かったり。
LLでも大差無いけど、おいらのmfptn関数みたいなのがLLって感じで、難しい言語でよく使うパターンを文法やライブラリにしましたってだけで、そこから外れると普通の手続き型言語。
そりゃそうだ。
おいらだって手続き型言語で書けばなるべく書き換えで済まそうとする。
手軽さ優先か性能優先かだよ。
でも、性能優先のコードしか提示されなかった頃はどう言う動きか読み取れなかった。
その時点でプログラマの才能無いんだろうけど。
Haskellのコード見て、手続き型言語で書くには?ってなったら自然と配列書き換えられるんだから、書き換えた方がメモリ少なくて済む(&配列追加の手間が無い)ってなる。
言語によって面倒くささが違うんよね。
例えば総当たりソートとクイックソートは手続き型言語じゃ難易度に大差あるけど、関数型言語は大差無かったり。
LLでも大差無いけど、おいらのmfptn関数みたいなのがLLって感じで、難しい言語でよく使うパターンを文法やライブラリにしましたってだけで、そこから外れると普通の手続き型言語。
>>256
データのコピーを極力少なくしてその場でソート
データのコピーを極力少なくしてその場でソート
259デフォルトの名無しさん
2017/07/05(水) 06:47:52.98ID:x40Yunw0260デフォルトの名無しさん
2017/07/05(水) 07:01:16.37ID:SG/9DEZV >>257
お前Haskellで書きにくいコードから逃げて、
書けるとこだけ書いてHaskell書きやすいって言ってるだけじゃねーか
お前はそのクソコードで満足なのかもしれんが、それを押し付けてくんな
違うっていうならin-placeのソート書いてから能書き垂れろ
お前Haskellで書きにくいコードから逃げて、
書けるとこだけ書いてHaskell書きやすいって言ってるだけじゃねーか
お前はそのクソコードで満足なのかもしれんが、それを押し付けてくんな
違うっていうならin-placeのソート書いてから能書き垂れろ
261デフォルトの名無しさん
2017/07/05(水) 07:27:05.94ID:+U8R7kGU それの何がいけないんだろうか。。。
速度欲しい時だけCで書けば良いってのはまさにそれだが。
Haskellでも書けないことはないんだろうけど、楽するための言語なんだから、そんな事するならCで書くよ。
おいらにとってはLL的な用途にはLLよりHaskellのが楽だった。
それだけの事。
速度欲しい時だけCで書けば良いってのはまさにそれだが。
Haskellでも書けないことはないんだろうけど、楽するための言語なんだから、そんな事するならCで書くよ。
おいらにとってはLL的な用途にはLLよりHaskellのが楽だった。
それだけの事。
262デフォルトの名無しさん
2017/07/05(水) 07:33:33.70ID:x40Yunw0 仕様書の常套手段か
書ける仕様だけ書いて残りは実装依存で逃げる
書ける仕様だけ書いて残りは実装依存で逃げる
263デフォルトの名無しさん
2017/07/05(水) 07:38:51.44ID:bh56GpK2 Haskellの再利用性に関する重大な課題は>>80-81で既に示されてるね
mfput君の意見がまだみたいだけど見解は?
mfput君の意見がまだみたいだけど見解は?
264デフォルトの名無しさん
2017/07/05(水) 07:51:17.76ID:0jzZYcN5 >>142も結局mfputしか再利用出来てないし
mfput君は今のところ肝心の再利用性の高さについてはほとんど立証できていないように見える
Haskell云々というより本人の設計センスの問題な気もするが
mfput君は今のところ肝心の再利用性の高さについてはほとんど立証できていないように見える
Haskell云々というより本人の設計センスの問題な気もするが
265デフォルトの名無しさん
2017/07/05(水) 08:10:24.97ID:SG/9DEZV お前の意見なんて「自分のような初心者にとってはHaskellは分かりやすかった、以上」だけで十分なんだよ
お前のクソ初心者臭いコードやポエムを読まされて
他者が得るものがあるとでも?
お前のクソ初心者臭いコードやポエムを読まされて
他者が得るものがあるとでも?
266デフォルトの名無しさん
2017/07/05(水) 08:28:35.89ID:+4iFZrIp 2chのレスに得るもの求めるとかガイジかよ………
Stack overflow 池
Stack overflow 池
267デフォルトの名無しさん
2017/07/05(水) 08:33:57.06ID:6kuRSSMe 俺は2chで煽り耐性を身に着けた
268デフォルトの名無しさん
2017/07/05(水) 10:00:37.58ID:tWLafY8Y このスレでガイジガイジ連呼してるやつマジ病気かよ
どんだけリアルで悲惨な人生だったらこうなるんだ
どんだけリアルで悲惨な人生だったらこうなるんだ
269デフォルトの名無しさん
2017/07/05(水) 10:24:17.91ID:x40Yunw0 漫画みたいにいつまでたっても話が終わらない
病気か才能かはわからんが
病気か才能かはわからんが
270デフォルトの名無しさん
2017/07/05(水) 12:26:16.42ID:+4iFZrIp Haskellの言ってることは一応一貫してる
そこに突っ込んでる人は一貫してる部分を読めていないとしか思えないツッコミばっかり
そんな的を外したらツッコミに逐一返信してるんだから永久に終わるわけがない
そこに突っ込んでる人は一貫してる部分を読めていないとしか思えないツッコミばっかり
そんな的を外したらツッコミに逐一返信してるんだから永久に終わるわけがない
271デフォルトの名無しさん
2017/07/05(水) 12:32:33.78ID:GeoIRJSP272デフォルトの名無しさん
2017/07/05(水) 12:38:33.21ID:GeoIRJSP273デフォルトの名無しさん
2017/07/05(水) 12:45:05.83ID:XfevCCY3 しんちゃんスレ
274デフォルトの名無しさん
2017/07/05(水) 12:53:14.41ID:PFivIsqu >>271
81が回答とかさすがにガチハスケラにぶん殴られるぞ
ハスケラはこういう突っ込みには
「呼び出し側も含めて設計を見直せ。状態を持たせるというのは本質的に重大な変更であるから影響が大きいのは当然である。」と答えるのがテンプレだ
覚えておけば役に立つよ
81が回答とかさすがにガチハスケラにぶん殴られるぞ
ハスケラはこういう突っ込みには
「呼び出し側も含めて設計を見直せ。状態を持たせるというのは本質的に重大な変更であるから影響が大きいのは当然である。」と答えるのがテンプレだ
覚えておけば役に立つよ
275デフォルトの名無しさん
2017/07/05(水) 13:23:50.44ID:x40Yunw0 Javaでもうっかりstatic変数を使うと設計を見直させられるパターンだろ
thisとかselfとかいう引数を追加するのが定石
これはHaskellでも簡単にできる
thisとかselfとかいう引数を追加するのが定石
これはHaskellでも簡単にできる
276デフォルトの名無しさん
2017/07/05(水) 13:59:00.37ID:PFivIsqu Javaの場合はインスタンスフィールドでいいだろ
Haskellだと直前の値を保持しているところまで遡って全部修正かな
Haskellだと直前の値を保持しているところまで遡って全部修正かな
277デフォルトの名無しさん
2017/07/05(水) 21:01:53.58ID:z3CI8qH6 >>274
STモナドとかで実現は出来るんだけどさ。
GUIならGUI、DBならDBに状態保持を任せちゃった方がスマートだとは思わないかい?
テンプレじゃ無く、あんたのハートに聞いてる。
ああそうそう、実はgrepは検索文字列が見つかった前後20文字表示にするか行表示にするか迷って、行表示の方が簡単だからたまたまgrepと同じ機能になっただけで、前後20文字の場合は別にファイルの内容丸ごと記憶しておく変数を引き回しても良かった。
どうせ遅延評価で必要になるまで読み込まれないから2ファイル同時でもたかが知れてるしね。
丸ごと記憶する方法も、見つかったら29文字以前をGCしやすいようにするのと1から検索させるのとあるけど、小説10-20冊を1ファイルに収めても問題無いんだから気にする事もない。
STモナドとかで実現は出来るんだけどさ。
GUIならGUI、DBならDBに状態保持を任せちゃった方がスマートだとは思わないかい?
テンプレじゃ無く、あんたのハートに聞いてる。
ああそうそう、実はgrepは検索文字列が見つかった前後20文字表示にするか行表示にするか迷って、行表示の方が簡単だからたまたまgrepと同じ機能になっただけで、前後20文字の場合は別にファイルの内容丸ごと記憶しておく変数を引き回しても良かった。
どうせ遅延評価で必要になるまで読み込まれないから2ファイル同時でもたかが知れてるしね。
丸ごと記憶する方法も、見つかったら29文字以前をGCしやすいようにするのと1から検索させるのとあるけど、小説10-20冊を1ファイルに収めても問題無いんだから気にする事もない。
278デフォルトの名無しさん
2017/07/05(水) 21:03:02.86ID:z3CI8qH6 x29
o20
o20
279デフォルトの名無しさん
2017/07/05(水) 21:21:41.45ID:HfOW3or9 いかにHaskellキチがお勉強できて正しいこと言ってようと
こいつがgrepを始めとしたツールを知らない無知で
オレオレ仕様で再発明してドヤ顔してるトンチキなのには変わりないんだよな
こいつがgrepを始めとしたツールを知らない無知で
オレオレ仕様で再発明してドヤ顔してるトンチキなのには変わりないんだよな
280デフォルトの名無しさん
2017/07/05(水) 21:23:14.50ID:HfOW3or9 Haskellが使える言語かどうかは知らんけどHaskellerがオタンコナスなことはまた一つ実例が出てきてしまった以上の情報はないね
281デフォルトの名無しさん
2017/07/05(水) 21:27:53.06ID:vgwSeoh2 このHaskellerってファイル読み込んで同じファイルに上書きするの出来ないとか言ってたはずだけど、
それでどうやってテキストエディタ作るんだろう?
まさか全部DBにデータ入れるのか?
テキストエディタのインストールの前にDBのインストールが必要ってことか?
それでどうやってテキストエディタ作るんだろう?
まさか全部DBにデータ入れるのか?
テキストエディタのインストールの前にDBのインストールが必要ってことか?
282デフォルトの名無しさん
2017/07/05(水) 21:39:14.16ID:HfOW3or9 >>281
一時ファイルに書き出してムープじゃね?
一時ファイルに書き出してムープじゃね?
283デフォルトの名無しさん
2017/07/05(水) 21:46:58.82ID:z3CI8qH6284デフォルトの名無しさん
2017/07/05(水) 21:50:19.56ID:z3CI8qH6 >>281
それはwriteFile関数の仕様。
readFaile幾つ読み込んでもいいし、下位の関数探ってれば複数ファイル書き込めるのもあるだろう。
安全の為の仕様だし、安全じゃないのを許容するのがあるはず。
最悪、Cで書いてFFIでHaskellから呼べば良い。
それはwriteFile関数の仕様。
readFaile幾つ読み込んでもいいし、下位の関数探ってれば複数ファイル書き込めるのもあるだろう。
安全の為の仕様だし、安全じゃないのを許容するのがあるはず。
最悪、Cで書いてFFIでHaskellから呼べば良い。
285デフォルトの名無しさん
2017/07/05(水) 22:04:05.82ID:fqeoBJ4G >>277
全く思わないな
なんで勝手にGUIやDBを前提にしてるんだ?
これまで状態を持たなかった関数を前後の値を考慮するように変更したいというのは
君の大好きな「LL的なタスク」であってもそれほど珍しい状況ではないように思うぞ?
全く思わないな
なんで勝手にGUIやDBを前提にしてるんだ?
これまで状態を持たなかった関数を前後の値を考慮するように変更したいというのは
君の大好きな「LL的なタスク」であってもそれほど珍しい状況ではないように思うぞ?
286デフォルトの名無しさん
2017/07/05(水) 22:42:05.37ID:+4iFZrIp >>281
よく知らんけどleksahって言うHaskell製IDEが実在しているのでこのHaskellの人が言ってることが間違ってるのは間違いない
よく知らんけどleksahって言うHaskell製IDEが実在しているのでこのHaskellの人が言ってることが間違ってるのは間違いない
287デフォルトの名無しさん
2017/07/05(水) 22:49:59.85ID:+4iFZrIp288デフォルトの名無しさん
2017/07/05(水) 23:03:23.20ID:bh56GpK2 だいたいDBやGUIに持たせるといってもどこからそのコンテキストを持ってくるんだ?
結局呼び出し階層を遡って大修正だろう
暗黙的に環境の状態にアクセスするような関数があればいいとか思ってるなら、冗談抜きで怖いハスケラに夜道で襲われるレベルの邪悪な思想だぞそれ
結局呼び出し階層を遡って大修正だろう
暗黙的に環境の状態にアクセスするような関数があればいいとか思ってるなら、冗談抜きで怖いハスケラに夜道で襲われるレベルの邪悪な思想だぞそれ
289デフォルトの名無しさん
2017/07/06(木) 00:04:57.61ID:CrSqEEHs 大きすぎて修正できないならさっさと諦めて逃げれば邪悪にはならないが
逃げるくらいなら邪悪な方がマシだと思うから邪悪になる
逃げるくらいなら邪悪な方がマシだと思うから邪悪になる
290デフォルトの名無しさん
2017/07/06(木) 01:50:43.47ID:9Gxa3EmF >>283
まーHaskell自体は決して使えん言語ではないのは知ってる
書くもんが大型化してくるとデフォ遅延評価のせいで副作用周りのデバッグが発狂難易度になるとか
ちょっと気を抜くと遅延サンクが膨れ上がって死ぬとか
色々あるからあんまりモノリシックにでかいものを複数人で書くのには向いてない言語だとも思うがね
そういう意味でHaskellはハードウェア記述言語に向いてると思うんだが、まだこれといったやつが出てきてないんだよな
まーHaskell自体は決して使えん言語ではないのは知ってる
書くもんが大型化してくるとデフォ遅延評価のせいで副作用周りのデバッグが発狂難易度になるとか
ちょっと気を抜くと遅延サンクが膨れ上がって死ぬとか
色々あるからあんまりモノリシックにでかいものを複数人で書くのには向いてない言語だとも思うがね
そういう意味でHaskellはハードウェア記述言語に向いてると思うんだが、まだこれといったやつが出てきてないんだよな
291デフォルトの名無しさん
2017/07/06(木) 02:15:34.43ID:pIo4ewrq そもそも関数型が解決しようとした問題は、副作用の連鎖による想定外のトラブルだろ
大規模な構造をどう記述するかということであって、もうそれはOOPが解決してしまった
大規模な構造をどう記述するかということであって、もうそれはOOPが解決してしまった
292デフォルトの名無しさん
2017/07/06(木) 08:32:49.91ID:KLsItAo2 つまり純粋関数型は使えないと?
293デフォルトの名無しさん
2017/07/06(木) 08:51:12.34ID:EB5tIDF+ その純粋ってのを保証してるのはコンパイル時の型チェックだな
それがなければ使える
それがなければ使える
294デフォルトの名無しさん
2017/07/06(木) 09:13:26.21ID:Xn+el2UL つまりscala最強ってことか
295デフォルトの名無しさん
2017/07/06(木) 09:24:44.24ID:4UTaW8nX オブジェクト指向プログラムで副作用は解決してないだろ。どうみても。
296デフォルトの名無しさん
2017/07/06(木) 09:46:24.49ID:EB5tIDF+ 288の言う「呼び出し階層を遡って大修正」は
副作用有り・無しのチェックだけじゃない
ヌルを許容する・しないのチェックで破綻するケースもある
副作用有り・無しのチェックだけじゃない
ヌルを許容する・しないのチェックで破綻するケースもある
297デフォルトの名無しさん
2017/07/06(木) 10:02:36.10ID:tNWdrmh7298デフォルトの名無しさん
2017/07/06(木) 17:43:28.35ID:FO8iZdOb299デフォルトの名無しさん
2017/07/06(木) 19:15:58.18ID:NwSzXY2t プログラムが現実と関係を持ちつつ社会の中で動いている以上副作用を無くすことはできない。
全体を停めることができず、部分単位でアップデートを繰り返すならなおさら。
そう言った意味で『関数型言語』は結局いつまでも実現することのない賽の河原の石積み。
全体を停めることができず、部分単位でアップデートを繰り返すならなおさら。
そう言った意味で『関数型言語』は結局いつまでも実現することのない賽の河原の石積み。
300デフォルトの名無しさん
2017/07/06(木) 20:11:21.34ID:lW8KZ3Ns まあ言語の機能によって副作用のないコードエリアを明示するってアイディアは
良いと思うんだけどね。
haskell は変な極論を推し進めてどうしようもなくなってるという印象が強い。
良いと思うんだけどね。
haskell は変な極論を推し進めてどうしようもなくなってるという印象が強い。
301デフォルトの名無しさん
2017/07/06(木) 20:13:21.99ID:dOY2yuiz302デフォルトの名無しさん
2017/07/06(木) 20:29:36.80ID:XEsudacO Haskellは副作用禁止の言語だと思ってる奴多いんか?
副作用と純粋関数に分けて書くってだけだぞ
副作用と純粋関数に分けて書くってだけだぞ
303デフォルトの名無しさん
2017/07/06(木) 20:35:22.98ID:td/2KdW6 >>301
Haskellは極論バカだから特にそこが問題になるんでしょ
オブジェクト指向では少々副作用があろうが汚かろうがクラスに閉じ込めて外からは「問題にならない」ようにすることができる
mfput(笑)みたいな小さな問題と違って、現実世界の問題を相手にすると常に最初から完璧な設計をするなんて不可能だしね
Haskellは極論バカだから特にそこが問題になるんでしょ
オブジェクト指向では少々副作用があろうが汚かろうがクラスに閉じ込めて外からは「問題にならない」ようにすることができる
mfput(笑)みたいな小さな問題と違って、現実世界の問題を相手にすると常に最初から完璧な設計をするなんて不可能だしね
304デフォルトの名無しさん
2017/07/06(木) 20:39:55.53ID:td/2KdW6305デフォルトの名無しさん
2017/07/06(木) 22:50:47.39ID:C7kBl0W7 そもそもプログラム自体が副作用そのものだし
306デフォルトの名無しさん
2017/07/06(木) 23:11:16.25ID:4UTaW8nX Javascriptのこのクイックソートは副作用なし
// QuickSort
QS=X=>X.length<=1?X:[
...QS(X.filter((x,i)=>i>0&&x<X[0])),X[0],
...QS(X.filter((x,i)=>i>0&&x>=X[0]))];
//main
var x=1, X=[...Array(20)].map(()=>x=(7+37*x)%100);
console.log("in: "+X + "\nout: "+QS(X));
http://ideone.com/wnQXXE
// QuickSort
QS=X=>X.length<=1?X:[
...QS(X.filter((x,i)=>i>0&&x<X[0])),X[0],
...QS(X.filter((x,i)=>i>0&&x>=X[0]))];
//main
var x=1, X=[...Array(20)].map(()=>x=(7+37*x)%100);
console.log("in: "+X + "\nout: "+QS(X));
http://ideone.com/wnQXXE
307デフォルトの名無しさん
2017/07/07(金) 06:18:59.39ID:1OiH67XQ >>290
ハードウェア記述言語向きってのは使った事ないけど、分かる気がする。
おいらもHaskellでGUIから何から書き下すのは出来なくはないけどそれOOPで良いよねって思ってて、
でもある意味CUIよりGUIの方がメッセージやイベントに答えるコード書けば良いだけなんだから、
むしろGUIをHTMLやXAMLで記述するようになった今だからこそHaskellは環境さえ整えばGUIも向いてると思うんだよね。
その環境が絶望的に揃ってないだけで。
なんつーかな。
あんたと思ってんのは基本同じだな。
全部Haskellで書こうとするから無理が出る。
上手に副作用部分を外部ツールなり、他の言語に任せて連携させればこれ程シンプルかつ堅牢に作れる言語もなかろうって思う。
ハードウェア記述言語向きってのは使った事ないけど、分かる気がする。
おいらもHaskellでGUIから何から書き下すのは出来なくはないけどそれOOPで良いよねって思ってて、
でもある意味CUIよりGUIの方がメッセージやイベントに答えるコード書けば良いだけなんだから、
むしろGUIをHTMLやXAMLで記述するようになった今だからこそHaskellは環境さえ整えばGUIも向いてると思うんだよね。
その環境が絶望的に揃ってないだけで。
なんつーかな。
あんたと思ってんのは基本同じだな。
全部Haskellで書こうとするから無理が出る。
上手に副作用部分を外部ツールなり、他の言語に任せて連携させればこれ程シンプルかつ堅牢に作れる言語もなかろうって思う。
308デフォルトの名無しさん
2017/07/07(金) 09:21:04.24ID:Od+E3Jwj つまりhaskellではなくOOPと関数とマルチパラダイムが答えということか
あ、Scalaやね
あ、Scalaやね
309デフォルトの名無しさん
2017/07/07(金) 09:44:10.95ID:SZnapx63 今だとGoogleのお墨付きを貰ったKotlinだろう
mfput君のレベルだと全く不足ないことは上で実証済みだし
mfput君のレベルだと全く不足ないことは上で実証済みだし
310デフォルトの名無しさん
2017/07/07(金) 10:33:52.64ID:U3HkjAD4 Kotlinよさげ
型クラスもしくは高階型って使える?
型クラスもしくは高階型って使える?
311デフォルトの名無しさん
2017/07/07(金) 10:37:23.83ID:NO/da/cw312デフォルトの名無しさん
2017/07/07(金) 12:01:01.33ID:GpMOtbcc313デフォルトの名無しさん
2017/07/07(金) 12:31:39.94ID:qM4KnfoJ GUIで書きたいのはただの副作用ではなく非同期な副作用
非同期とXMLを流行らせたJSの手柄をOOPの手柄にするのはアクロバティック過ぎる
非同期とXMLを流行らせたJSの手柄をOOPの手柄にするのはアクロバティック過ぎる
314デフォルトの名無しさん
2017/07/07(金) 12:34:56.69ID:xvg52mfm え、逆だろ?
HTMLやXAMLは副作用の排出口。
だからそれらに書き込むような表層部分に副作用部分を集める。
むしろ今だからこそHaskellがGUIで活きる可能性が出て来た。
例えばエディタ作るとして、CUIだと文字入力監視用のループがある。
GUIだと文字入力されたってイベントに対応すれば良いから、HaskellだとGUIのがエディタ書きやすいと予想してる。
んで、そっからは文字列処理得意なHaskellの独壇場。
普通のアプリなら文字列処理をロジックと読み替えて良い。
まあ実はHaskellだけでGUI書いてもJavaやC#みたいにIDEが整備されてる言語には劣るけど、整備されてない言語とならどっこいどっこいで、特にGUI苦手ってわけでも無いんだけども。
Haskellっぽくなくていやんな見た目なだけで。
HTMLやXAMLは副作用の排出口。
だからそれらに書き込むような表層部分に副作用部分を集める。
むしろ今だからこそHaskellがGUIで活きる可能性が出て来た。
例えばエディタ作るとして、CUIだと文字入力監視用のループがある。
GUIだと文字入力されたってイベントに対応すれば良いから、HaskellだとGUIのがエディタ書きやすいと予想してる。
んで、そっからは文字列処理得意なHaskellの独壇場。
普通のアプリなら文字列処理をロジックと読み替えて良い。
まあ実はHaskellだけでGUI書いてもJavaやC#みたいにIDEが整備されてる言語には劣るけど、整備されてない言語とならどっこいどっこいで、特にGUI苦手ってわけでも無いんだけども。
Haskellっぽくなくていやんな見た目なだけで。
315デフォルトの名無しさん
2017/07/07(金) 13:09:15.86ID:24WGQrlF316デフォルトの名無しさん
2017/07/07(金) 13:14:54.40ID:SZnapx63 >>314
そこまで構想(妄想?)ができたならもうそろそろいいだろ
続きはgithubで語れ
mfput(笑)みたいなサンプルじゃなく、ちゃんと実用性のあるGUI&DBアプリを作ってくれよ
期待してるぞ
そこまで構想(妄想?)ができたならもうそろそろいいだろ
続きはgithubで語れ
mfput(笑)みたいなサンプルじゃなく、ちゃんと実用性のあるGUI&DBアプリを作ってくれよ
期待してるぞ
317デフォルトの名無しさん
2017/07/07(金) 13:39:25.73ID:kkdCXGBc >>314
GUIアプリを画面を入力すると画面を出力するプロセスの集合体と見做すのはCOBOL時代には主流だった発想だよ(今でもWebには色濃く残っている)
自分でやってみりゃわかるけど、確かにスケールはさせやすいんだがくだらん単純作業とコピペを延々繰り返すような開発になるし
大きな手戻りが生じるともう悲惨
GUIアプリを画面を入力すると画面を出力するプロセスの集合体と見做すのはCOBOL時代には主流だった発想だよ(今でもWebには色濃く残っている)
自分でやってみりゃわかるけど、確かにスケールはさせやすいんだがくだらん単純作業とコピペを延々繰り返すような開発になるし
大きな手戻りが生じるともう悲惨
318デフォルトの名無しさん
2017/07/07(金) 14:05:26.16ID:C9MPrnMO うい。
作れたら出してみる。
作れたら出してみる。
319デフォルトの名無しさん
2017/07/07(金) 21:35:56.42ID:0YPYv3Ek 出すまで帰って来るなよ
320あ
2017/07/07(金) 22:07:41.70ID:TSmGX11I ダム端の画面エンジン面倒見たことあるわ。
文字入力監視のループと、GUIのイベントのdispatchループがどう違うかわからんな。
WinMainとGetMessageとか、XlibのXNextEventからGUIアプリ作ったこと無くて知らないだけじゃねえの?
副作用の出口ではないような。
WM_PAINTの処理中に描画以外やるべきで無いのと同じように、画面周りは出力に徹しないと話がまとまらん。
入力の処理なんか、フォーカス持ってるやつにメッセージ投げるだけだろ。
文字入力監視のループと、GUIのイベントのdispatchループがどう違うかわからんな。
WinMainとGetMessageとか、XlibのXNextEventからGUIアプリ作ったこと無くて知らないだけじゃねえの?
副作用の出口ではないような。
WM_PAINTの処理中に描画以外やるべきで無いのと同じように、画面周りは出力に徹しないと話がまとまらん。
入力の処理なんか、フォーカス持ってるやつにメッセージ投げるだけだろ。
321デフォルトの名無しさん
2017/07/09(日) 05:20:26.84ID:iVqKXTPM 昨今の話題にのせられてKotlinの入門編読んでみたけど、なんかイマイチだった・・・
関数の引数は型推論してくれんの?カリー化して部分適用とか力ずくでやらんといかんの?パイプライン演算子は・・・
今のところ不安しか感じてない、次世代言語の劣化版でバカチョン言語ってのがKotlinの実像かな?
関数の引数は型推論してくれんの?カリー化して部分適用とか力ずくでやらんといかんの?パイプライン演算子は・・・
今のところ不安しか感じてない、次世代言語の劣化版でバカチョン言語ってのがKotlinの実像かな?
322デフォルトの名無しさん
2017/07/09(日) 07:39:05.73ID:nT4jFya6323デフォルトの名無しさん
2017/07/09(日) 09:40:04.24ID:15PsL+fn 括弧を省略しないカリー化はゴミクソだし
中置演算子を使わないのと括弧を省略しないのはLispとJavaの伝統じゃないか
中置演算子を使わないのと括弧を省略しないのはLispとJavaの伝統じゃないか
324デフォルトの名無しさん
2017/07/09(日) 09:45:29.15ID:zwxu6ZoN なんだかんだカリー化は微妙だと思うなあ
部分適用の文法はClojureとかMathematicaがいい感じ
パイプライン演算子はLL的に使うときは便利やね
部分適用の文法はClojureとかMathematicaがいい感じ
パイプライン演算子はLL的に使うときは便利やね
325デフォルトの名無しさん
2017/07/10(月) 01:34:13.11ID:VQ9sifwz >>322
HaskellがクソなのはDynamicBindingが言語的に駄目扱いされてる点だぞ
あとstatic初期化にunsafePerformIOが必要な点もクソ
デフォルトで静的型なカリー化とかあったほうが明らかに使いやすいだろ知ったか野郎
HaskellがクソなのはDynamicBindingが言語的に駄目扱いされてる点だぞ
あとstatic初期化にunsafePerformIOが必要な点もクソ
デフォルトで静的型なカリー化とかあったほうが明らかに使いやすいだろ知ったか野郎
326デフォルトの名無しさん
2017/07/10(月) 11:47:13.63ID:oyNYkVXL そんなものは言語オタクが喜ぶだけで生産性と何の関係もない
327デフォルトの名無しさん
2017/07/10(月) 12:33:52.51ID:NQXPB1lU 生産性(低産階級労働者にも扱えること)
328デフォルトの名無しさん
2017/07/10(月) 17:50:59.58ID:LYSrTSKk Rustが実用言語になったぞ
DockerをオラクルがRustで実装した
DockerをオラクルがRustで実装した
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- ヨッシー、ヘイホー、テレサ ←こいつらwwwwwwwww
- 【悲報】高市早苗の擬人化がXで大バズりwwwwwwwwwwww [455031798]
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- くそしてかがやけ
- 一人暮らしだからケツ出してみてるけど
