[過去ログ] 関数型プログラミング言語Haskell Part16 (978レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
417: デフォルトの名無しさん [sage] 2011/11/08(火) 20:05:54.64 AAS
Yampa を色々弄ってるんですけど、意味がよく分からない関数が多いです

とりあえずゲームを作ってみたいので、[The Yampa Arcade] とか
[The University of New South Wales School of Computer Science and Engineering]
なんかの論文や Haskell Wiki を読んだりして試してます

ただ、も少しまとまった情報はないものでしょうか
簡単なものでいいので関数を解説した一覧表なんかあると良いのですが
418
(1): デフォルトの名無しさん [sage] 2011/11/08(火) 20:46:15.86 AAS
オリジナルのYampaのドキュメント意味分からんよな
AnimasっていうYampaのfork版だともう少しまともなドキュメントになってたけどやっぱりよくわからん
俺はelereaとかreactive-bananaとかの方が遥かに使いやすいと思ったわ
実行効率もいいしな
419
(1): デフォルトの名無しさん [sage] 2011/11/08(火) 23:20:26.24 AAS
>>403
403(1): デフォルトの名無しさん [sage] 2011/11/07(月) 22:31:25.21 AAS
.cabalに:set -Wall
ただし相当うざいから覚悟すべし
ありがとう。ただcabalの設定ファイルだと俺の環境ではうまく行かなかった
それを手がかりに調べて、ホーム\AppData\Roaming\ghc\ghci.confに書いたらうまくいった
-Wall付けたら警告いっぱい出て、パターンマッチが網羅されてないとか役立つのもあったけど
ただ数値のデフォルト化の警告?ってのがよく分からん
警告なんだから良くないコードなんだろうけど
 
書く環境はやっぱりemacsが多いのか
今まであまり使ってなくて不慣れだけど頑張ってみるよ
420: デフォルトの名無しさん [sage] 2011/11/09(水) 08:05:42.63 AAS
お前らがどんなにピーピーギャーギャー言ったって
強がろうが俺をバカにしようが

このウンコ言語が大失敗超不人気のLL以下の汚物

だって事実は変わらないの
わかった?負けず嫌いの小学生みたいな負け惜しみ見てると滑稽だよwwww
可哀想になってくるわほんとに
まあお前らも最初は被害者だったんだよな、妄想と大風呂敷に踊らされてよ
でもな、もっと早くに気づいたたゆらはいっぱいいるだろ?
いまでもこんな酔っ払いが吐き戻したゲロみたいな言語を一生懸命庇ってさ
本当の事を指摘している俺がおかしいみたいな感覚になってるんだぞお前ら?www
粋がっちゃったけど結果大失敗でものすごい負け犬感味わってるんだろうから気持ちは解るけどよ
いいかげん現実見つめろや?wwwwな?wwww

実際、今どうなのか言ってみろよ?wwwおい?wwwwww
このゲロみたいなくっせえHaskellっていう言語は使われてるの?
流行ってるの?ヒットしてるの?
発表時みたいな状況になってんのかよ?wwwwwwwww
俺Haskellやってるんだぜ!って人前で言えんのお前ら?wwwwああん?wwwwwwwww
Haskellやってます とかいってやってることはコマンドラインのへなちょこゴミコードwww
421: デフォルトの名無しさん [sage] 2011/11/09(水) 08:57:34.07 AAS
せやなプロコンの為の言語としても競合相手のpythonよか圧倒的にシェア狭いし
Haskellでプロトタイプ書く人でも最後は結局c++だし・・・
422: デフォルトの名無しさん [sage] 2011/11/09(水) 12:41:11.57 AAS
酔っ払いが吐き戻した……言い得て妙だな。
関数型というパラダイムに酔っ払った人間が自己満足のために腹の中身そのまま捻り出した言語だよなこれ。
大学の自由演習で使ったがただの自己満足コードにしかならない。
423: デフォルトの名無しさん [sage] 2011/11/09(水) 12:48:49.57 AAS
そんな意味の無いことここで発言するなよ

Twitter にでも書いとけ
424: デフォルトの名無しさん [sage] 2011/11/09(水) 12:56:40.73 AAS
日記は、こんなタイトルで書くといいと思うよ。
なぜ次に使う言語が関数型でまずいのか
外部リンク:d.hatena.ne.jp
425: デフォルトの名無しさん [sage] 2011/11/09(水) 12:58:41.97 AAS
それは実際に関数型言語で仕事している人向けのタイトルだな
中の人から批判が一番こたえる
426: デフォルトの名無しさん [sage] 2011/11/09(水) 13:02:05.30 AAS
釣られ過ぎだろ
427: デフォルトの名無しさん [sage] 2011/11/09(水) 13:24:57.11 AAS
そのタイトルで、リンク先の記事に反例をあげるだけの簡単なお仕事。
428: デフォルトの名無しさん [sage] 2011/11/09(水) 19:31:37.01 AAS
総じてお前らは我慢のレベルが低いよな。
所詮は烏合の衆だな(w
429
(1): デフォルトの名無しさん [sage] 2011/11/09(水) 20:05:25.66 AAS
さて、我慢して無視を決め込んだhaskellerは何人居るでしょうw
(一応、私も含む)
430
(1): デフォルトの名無しさん [sage] 2011/11/09(水) 20:13:01.58 AAS
>>429
無視してると言いながら、書いちゃったらダメだよ。次からは何も言わないようにね♪
431: デフォルトの名無しさん [sage] 2011/11/09(水) 20:16:28.69 AAS
>>430
と言いつつも書いてるヤシ
432: デフォルトの名無しさん [sage] 2011/11/09(水) 20:17:49.21 AAS
外部リンク:ja.wikipedia.org
にならないかなってね。
433: デフォルトの名無しさん [sage] 2011/11/09(水) 20:28:11.17 AAS
>>419
-Wallは要らないんじゃね?うざいし
型のデフォルト化ってのは
外部リンク[html]:www.kotha.net
の最後に書いてあるやつ
ただなんでこれで警告対象なのかは分からない、誰か詳しい人居る?
型のデフォルト化は標準で警告出すほどではないけどオススメできないことなんだろうか
434
(1): デフォルトの名無しさん [sage] 2011/11/09(水) 20:43:09.66 AAS
知らないうちにInteger使っててパフォーマンスがやばい、
みたいなのを回避したいんじゃね、知らんけど
435
(1): デフォルトの名無しさん [sage] 2011/11/09(水) 21:55:59.53 AAS
代数データ型のラベルの名前って、みなさんどうしてますか?
(ラベルでなくともアクセス関数を自作しても本質的には同じ事です)

例えばの話でブロック崩しを作ってるとして、
ボールの状態を表すための情報が要りますよね
まぁざっと、位置ベクトル、速度ベクトル、あとはボールの半径を盛り込むとしましょう

data Ball = Ball
      { ballPos :: Vector2
      , ballVel :: Vector2
      , ballRad :: Double }

私はこうやって、位置を表す Pos や速度を表す Vel などに、接頭辞として
必ずそのデータ型の型構築子(値構築子ではなく)の名前を付けるようにしています

と言うのも、ではボールの他にバーやブロックの情報はどうなるかと言えば、
こちらも位置を表す情報は必要で、他にも重なる部分がいくつか出てきます
同じ pos という関数名を使い回すことが文法上できないので、
上記の方法でやるなら名前の中で何らかの区別をしなければならず、
であるなら変に省略文字で区別するよりは、もうフルネームで区別した方がマシだろ
という判断です

このように、複数のデータ型で同じ意味の情報を扱う場合のラベル名(アクセス関数名)は、
みなさんどうしてるのでしょうか

共通の情報は型クラスに追いやって、インスタンス化してるのでしょうか
その場合は、その関数の引数として対象のデータ型の値が要りますね
436
(1): デフォルトの名無しさん [sage] 2011/11/09(水) 22:01:28.32 AAS
俺も型名やその省略形を接頭辞にする
437
(1): デフォルトの名無しさん [sage] 2011/11/09(水) 22:54:34.31 AAS
ぽこぽこサブモジュールを作る。
438: デフォルトの名無しさん [sage] 2011/11/09(水) 22:57:12.57 AAS
>>434
外部リンク[html]:www.kotha.net
-fwarn-type-defaults:
数値型に対するデフォルト化機構が発動したときに警告・通知する。
これは、あるデフォルトを前提としたコードを別のデフォルトの下のコードに変換するときに便利である。
例えば、1という値に特に制約がないとき、Haskell 1.4の「デフォルトのデフォルト」は型Intを与えるが、
Haskell 98以降ではこれはIntegerである。
これは実行時性能と挙動に影響を与える可能性があるので、通知されると便利である。
って書いてあるからまさにその通りだと思う
パフォーマンスをカリカリに追求する場合にはこの警告が必要なんだろう
俺はそんなコード書いたこと無いけど
439
(1): デフォルトの名無しさん [sage] 2011/11/09(水) 23:04:27.78 AAS
>>435
> その場合は、その関数の引数として対象のデータ型の値が要りますね
これはデータ型に直接ラベルを定義しても同じ事でした、すいません

>>436
やはり、そうしますか

>>437
サブモジュールをどのように作って、どのようにアクセスさせているのでしょうか

モジュールを分けても、データ型のその情報にアクセスする為には関数が必要で、
当然その関数は各モジュールからエクスポートさせるのですよね

ボールの位置、バーの位置、ブロックの位置などの情報に対するアクセス関数の
名前のバッティングはどうしてるのでしょうか

もしかして、各モジュールをインポートする時に as で別名を与えてるのでしょうか
440: デフォルトの名無しさん [sage] 2011/11/09(水) 23:15:13.56 AAS
>>439
うん。asで適当に別名付けてる。
441
(2): デフォルトの名無しさん [sage] 2011/11/10(木) 17:18:49.29 AAS
確かに(a^2)と書いただけで(2::Integer)と推論されて
重いIntegerの(^)が呼ばれるのは嫌なことがある(aはDoubleとして)
1-
あと 537 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.023s