[過去ログ] 関数型プログラミング言語Haskell Part16 (978レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
このスレッドは過去ログ倉庫に格納されているため、キャッシュを表示しています。過去ログメニュー
84: デフォルトの名無しさん [sage] 2011/10/10(月) 15:08:15.53 AAS
大抵の言語で解ける様な、単純か又はアルゴリズムが判ってる問題は、速読重視、読み易さ重視、なんでも好きなのを選べば良い。
そうじゃない領域の問題は、言語を選ぶ必要があるが、全てを唯一つの言語で無理矢理カバーする必要も無い。
IBMのSシリーズブロトタイプ開発にAPLを使った例とかもある。
93: デフォルトの名無しさん [sage] 2011/10/10(月) 20:11:54.53 AAS
incanterも少しは期待できる。といってもあれは現代のxlispstatだけどな。
183(1): デフォルトの名無しさん [sage] 2011/10/20(木) 11:39:21.53 AAS
質問なのですが、windows上でGHCでコンパイルして、出来上がったhello.exeファイルをダブルクリックで実行するには、どうすればよいですか?
コマンドプロンプトから、ファイル名を入力したら、実行はできます。
222(1): デフォルトの名無しさん [sage] 2011/10/22(土) 18:02:28.53 AAS
今更気付きましたが、Win7のx64環境です
だからダメと言う事は在るのでしょうか?
ghcにあわせてwin32版を落として設定して失敗してます
241(1): デフォルトの名無しさん [sage] 2011/10/22(土) 23:47:33.53 AAS
>>186186(10): デフォルトの名無しさん [sage] 2011/10/20(木) 22:49:20.89 AAS
FizzBuzzを剰余使って書くのはすぐ思いつくけど、以下のは新鮮だった。
どうやったらこんな発想が出来る様になるんだろ。
fizz = cycle ["","","Fizz"]
buzz = cycle ["","","","","Buzz"]
f s n
| s == "" = show n
| otherwise = s
main = print $ zipWith f (zipWith (++) fizz buzz) [1..100]
が楽しいって感覚は分からないな
Haskellや関数型プログラミングらしくなくて、むしろ気持ち悪いくらいなんだけど
435(1): デフォルトの名無しさん [sage] 2011/11/09(水) 21:55:59.53 AAS
代数データ型のラベルの名前って、みなさんどうしてますか?
(ラベルでなくともアクセス関数を自作しても本質的には同じ事です)
例えばの話でブロック崩しを作ってるとして、
ボールの状態を表すための情報が要りますよね
まぁざっと、位置ベクトル、速度ベクトル、あとはボールの半径を盛り込むとしましょう
data Ball = Ball
{ ballPos :: Vector2
, ballVel :: Vector2
, ballRad :: Double }
私はこうやって、位置を表す Pos や速度を表す Vel などに、接頭辞として
必ずそのデータ型の型構築子(値構築子ではなく)の名前を付けるようにしています
と言うのも、ではボールの他にバーやブロックの情報はどうなるかと言えば、
こちらも位置を表す情報は必要で、他にも重なる部分がいくつか出てきます
同じ pos という関数名を使い回すことが文法上できないので、
上記の方法でやるなら名前の中で何らかの区別をしなければならず、
であるなら変に省略文字で区別するよりは、もうフルネームで区別した方がマシだろ
という判断です
このように、複数のデータ型で同じ意味の情報を扱う場合のラベル名(アクセス関数名)は、
みなさんどうしてるのでしょうか
共通の情報は型クラスに追いやって、インスタンス化してるのでしょうか
その場合は、その関数の引数として対象のデータ型の値が要りますね
552: デフォルトの名無しさん [さげ] 2011/11/14(月) 22:58:13.53 AAS
>>539-544
窓ガラスぶち壊してくれてありがとう
汚れたスレになったから書き込みやすくなったよ
またよろしく
625: デフォルトの名無しさん [sage] 2011/11/30(水) 08:54:00.53 AAS
(ε><3) にしたほうが 謎
675: デフォルトの名無しさん [sage] 2011/12/09(金) 20:56:28.53 AAS
>>670670(1): デフォルトの名無しさん [sage] 2011/12/09(金) 18:31:27.74 AAS
質問です。
[3,1,4, ...] のような任意の整数のリストを受け取って、
各要素の階乗のリストを、同じ階乗の計算を繰り返さずに計算する方法はありますか?
つまり、3!を計算した後で4!を計算する場合では
前回計算した3!の答えを使って4*3!=4*6=24
と計算するコード。
階乗特有の性質を利用するのではなく、一般的に解決する方法のひとつとして
メモ化 memoization という方法もある
関数の一度計算した戻り値とその引数とを紐付けして記憶させておき、
次回同じ引数に同じ関数を適用した時、再計算する代わりに、
記憶しておいた戻り値を即座に返すメカニズム
正格的な方法、非正格的な方法、いろいろある
もし興味があるなら調べてみると良い
900(1): デフォルトの名無しさん [sage] 2011/12/28(水) 07:16:43.53 AAS
馬鹿には無理
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 4.316s