トップページtech
1001コメント285KB

関数型プログラミング言語Haskell Part22

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2013/03/23(土) 12:34:19.09
haskell.org
ttp://www.haskell.org/

日本語サイト
ttp://www.sampou.org/cgi-bin/haskell.cgi
ttp://www.shido.info/hs/

過去ログ
関数型プログラミング言語Haskell
Part1 ttp://pc.2ch.net/tech/kako/996/996131288.html
Part2 ttp://pc2.2ch.net/test/read.cgi/tech/1013846140/
Part3 ttp://pc8.2ch.net/test/read.cgi/tech/1076418993/
Part4 ttp://pc8.2ch.net/test/read.cgi/tech/1140717775/
Part5 ttp://pc8.2ch.net/test/read.cgi/tech/1149263630/
Part6 ttp://pc11.2ch.net/test/read.cgi/tech/1162902266/
Part7 ttp://pc11.2ch.net/test/read.cgi/tech/1174211797/
Part8 ttp://pc11.2ch.net/test/read.cgi/tech/1193743693/
Part9 ttp://pc11.2ch.net/test/read.cgi/tech/1211010089/
Part10 ttp://pc12.2ch.net/test/read.cgi/tech/1231861873/
Part11 ttp://pc12.2ch.net/test/read.cgi/tech/1252382593/
Part12 ttp://hibari.2ch.net/test/read.cgi/tech/1272536128/
Part13 ttp://hibari.2ch.net/test/read.cgi/tech/1286706874/
Part14 ttp://hibari.2ch.net/test/read.cgi/tech/1299385928/
Part15 ttp://hibari.2ch.net/test/read.cgi/tech/1310199414/
Part16 ttp://toro.2ch.net/test/read.cgi/tech/1317958045/
Part17 ttp://toro.2ch.net/test/read.cgi/tech/1325510368/
Part18 ttp://toro.2ch.net/test/read.cgi/tech/1331902463/
Part19 ttp://toro.2ch.net/test/read.cgi/tech/1340760070/
Part20 ttp://toro.2ch.net/test/read.cgi/tech/1350428908/
Part21 ttp://toro.2ch.net/test/read.cgi/tech/1358702176/
0951デフォルトの名無しさん2013/08/08(木) NY:AN:NY.AN
>>947
ナボナ知らない世代?
哀しいなぁ
0952デフォルトの名無しさん2013/08/08(木) NY:AN:NY.AN
最近いじり始めたんだけど
もう統合開発環境に慣れてるから
テキストエディタとコマンド辛い
0953デフォルトの名無しさん2013/08/08(木) NY:AN:NY.AN
また、そっちに話戻すのかよ!
0954デフォルトの名無しさん2013/08/08(木) NY:AN:NY.AN
>>952
大丈夫、エディタもすぐ慣れる

いつまでも慣れなければ歳のせいだから諦めろ
0955デフォルトの名無しさん2013/08/08(木) NY:AN:NY.AN
むしろ、IDEは、いちいちキーボードから手をはなしてマウスをさわるのが嫌になる
0956デフォルトの名無しさん2013/08/08(木) NY:AN:NY.AN
どんだけしょぼいIDE使ってるんだよ……
0957デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
早くハスケルでIDE創れよ
0958デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
Haskellでできたエディタとかあるの?
0959デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
cabal install yi
0960デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
emacs とターミナルで十分なのは俺だけか…
逆に、何を求めてIDEを使うのかが分からない
0961デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
haskellならsublimetextとvimで良い
0962デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
>>960
・コードと連動したウィジェットのペタ貼りによるGUIアプリの開発
・Cabal を用いたパッケージ化やテストなどの支援
・弱頭部正規化の様子やサンクなどコンパイラ内部の挙動も晒したデバッガ
・コード解析
・プロファイリングの支援

この辺りを一つに統合した、見た目や操作がシンプルな IDE を求む。
0963デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
>>962
コードと連動したウィジェットの
というところで既にわからん(笑)
0964デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
ん、俺はGUIだけは欲しいと思ったな
他は統合されてなくてもいい
0965デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
>>963
どこが面白かったのかよく分からんが、要するにWIZIWIGなGUI開発ツールだ。
(WIZIWIG ももう死語かもしれんが)

ここでいうウィジェットというのは、Win32APIでいうところのウィンドウクラスが定義されたパーツだ。
wxやGTKなどではほぼ同じものをウィジェットと呼んでいる。
それらをWIZIWIGなGUI開発ツール上で仮想的なウィンドウにペタペタ貼っていくことで、
各ウィジェットのウィンドウ上の位置やサイズ、挙動などを直感的に定義していく。
これがよくあるIDEの機能の一つだ。

コードと連動したというのは、WIZIWIGなGUI開発ツール上でウィジェットを貼った際に、
実行時にそのウィジェットが表示されるようにプログラムコードも自動的に変更される機能だ。
逆、つまりコードを改変することでGUI開発ツール上のウィジェットが変更される機能もある。
VisualStudioのC#用にはそんな機能もあったはず(他の言語はしらん、あるかもしれん)。
ウィジェットの主だった定義をプログラムコードではなくXMLなどのファイルに分離させる場合は、
もちろんそのXMLファイルも連動する。

そのような機能を持ったGUI開発ツールがHaskell用のIDEに統合されているといいな、という話だ。


既に分からんということは、その先も分からんのか?
だったら面倒だが説明してやるぞ。
0966デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
まずライブラリのリンク機能を用意しなくっちゃね
0967デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
>>965
WYSIWYGな
0968デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
>>967
そうだったけ

まぁいいや
0969デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
>>965
> 既に分からんということは、その先も分からんのか?
> だったら面倒だが説明してやるぞ。

ふつーは自分で調べろってながれかと思えば
説明してくれるとはありがたい。

963ではないけれど説明してくれると幸いです。

Visual Studio とXCodeとEmacsの補完してくれるやつ(AC?)
使ったことあるんだけれど、選択候補が現れるたびに、
メニューが開いたり、(上下)キーを奪われたりでいまいちいらっとした。

なんかのWebページ見たんだけど、IntelliSenseがあると
ドキュメントを見なくて済むそうな。
でも、そんなの危なっかしくない ?
0970デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
>968
What You See Is What You Get のアクロニムなんだから
まぁいいやはいかんでしょ
0971デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
>>969
よし、至極面倒だが説明しよう。

・Cabal を用いたパッケージ化やテストなどの支援
HackageDBにアップ時に Cabal でパッケージ化したり、
Cabal で自動テストを書く際に *.cabal ファイルを書かなきゃならんが、
http://itpro.nikkeibp.co.jp/article/COLUMN/20121106/435201/?ST=ittrend
http://itpro.nikkeibp.co.jp/article/COLUMN/20121205/442042/?ST=ittrend
これをみると分かるように、手書きでこれをするのはちょっと死ねる。
GUIでダイアグラムやプロパティシートをちょちょっといじって設定できると便利。

・弱頭部正規形の様子やサンクなどコンパイラ内部の挙動も晒したデバッガ
>>962 では正規化と書いたが正規形の間違いだ)
トレースしたり、printf デバッグをして変数の値を調べても、
「なんでこんな値になってんだよ」と思うことはしばしばある。
GHC が関数を評価(弱頭部正規形にまで簡約)している様子や、
その瞬間のサンク(未評価の関数)が何かわかると超便利だ。
たとえば、本当にメモ化されているのか、わざわざ処理時間を測らなくても分かるわけだ。
ガベージコレクトの様子も分かると尚良い、スペースリークの原因が容易に分かるかもしれん。

・コード解析
コードの静的な解析だ。

・プロファイリングの支援
複数のプロファイリング結果(普通のコード、最適化を施したコード、もっと最適化を施したコードなど)
を比較検討するための支援があるといい。
計算効率が改善されたのはこのコードのこの部分のおかげだという事をコードにメモ書きできたり、
そこにプロファイリング結果のグラフを貼り付けたりできると便利だろ。

こういうことが、Emacs から個々の機能を呼び出して個別にインタラクトするのではなく、
IDE として統合されていて、全ての機能が情報を共有していて有機的に機能すれば素晴らしい。
0972デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
個別にインタラクト以上に何が必要なのか全くわからんのだが
0973デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
そもそもEmacsから呼べる必要性すら感じない機能ばっかりなんだけど……
0974デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
効率がまったく違うんだけど
給料泥棒すぎる
0975デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
ああ、説明できないのね。理解した
0976デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
理解早いな
0977デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
ソースの編集だけはemacsでやりたい
0978デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
IDEの利点って、コード解析と補完を統合したIntelliSenceとか、コード解析と編集を統合したリファクタリング機能とかじゃないの
>>971は何と何を統合してどんな機能を実現したいんだ?
0979デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
IDEの利点は、たとえどんなに使いにくくて効率が悪くても、同じ方法同じスクリーンショットで開発手順を教育できるという点です
0980デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
使い分けりゃいいだけなのに
無能はすぐ否定するんだから
0981デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
IDE厨は低能揃いだなぁ
0982デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
機能詰め込めば解決すると思ってるからな
IDE使ってない人間は単に個々の機能使い分けてるだけなのに
0983デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
IDE使わない人は関数の呼び出し階層どうやって調査してるの?
0984デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
ん?遥か昔からtagジャンプと呼ばれてるアレ?
0985デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
統合環境を馬鹿にしてる奴は、つまり自分のことしか考えていない。
統合環境を使いたくない奴は使わなければいいだけのこと。
haskellが広く普及するためには避けられないことだ。
0986デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
Haskellなんて趣味でしか使わんからw
0987デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
大規模システムに使われている例はすでにある。
一年ほど前の日経コンピュータ?に載ってる。

つまり、趣味でしか使わんからと言ってる奴は、ただの世間知らず。

haskellがもっと広く普及するためには統合環境は不可欠。
使いたくない奴は使わなければいいだけのこと。
0988デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
>>984
タグジャンプじゃなくて目的の関数を呼び出してる関数を再帰的に全部列挙する機能
もちろん列挙した関数へジャンプできる
この機能がないと中規模以上のプロジェクトでは仕事にならない気がする
市場トラブルで即日対応が求められるような場合もちんたらemacsとかやってるのかっていう素朴な疑問
0989デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
統合環境を馬鹿にしてるんじゃなくて
統合環境がないと不便だなんて言ってる似非プログラマを馬鹿にしている
0990デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
日経コンピュータw
まあそれでなくては困るなw
0991デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
便利なツールを使わない玄人思考の似非プログラマっているよね…
趣味ならテクニックに溺れるのは勝手だけど人生は短いよ?
0992デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
統合環境を馬鹿にしてないのに、ないと不便だと言ったら似非?
統合環境のどこに価値を見出してるのか意味不明
0993デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
使い分けだって言ってるのにまだ理解できてないんだな
自分の希望を自分で叶えず長文で垂れ流すだけの奴に言っても無駄かな
0994デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
まあ関数の呼び出し機能でタグジャンプなんて出てくる時点で
化石みたいな環境から改善する努力を怠ってる人間だと言うのは想像できる
0995デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
それ具体的にどう使い分けてんのか言わないと説得力ないで
まあ挙げられんだろうが
0996デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
>>995
具体的に使う頻度が高いのはGUIデザイナとリファクタぐらい
設計は今のところ単体のが効率いいから触ってないし
どうだ?統合環境だから何もかも便利とは限らないだろう
0997デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
一行消えてたぜ
エディタは使ってない奴多いんじゃないかなと書いた
0998デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
おまいら次スレがですね
0999デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
そろそろ消え
1000デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
>>985
Haskellが広く普及なんて永遠にしないのに、なんでそんなこと気にするんだ?
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。