[過去ログ] 関数型プログラミング言語Haskell Part16 (978レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
22: デフォルトの名無しさん [sage] 2011/10/08(土) 10:03:29.06 AAS
1989年ごろ
302
(2): デフォルトの名無しさん [sage] 2011/10/28(金) 03:18:36.06 AAS
>>301
301(6): デフォルトの名無しさん [sage] 2011/10/28(金) 02:56:26.22 AAS
Haskellでプロトタイピングをするとき、ここから作ってく、こうやって作っておけば後からの変更に強い、
みたいな作法って持ってます?

ある組成式を受けとったら、その分子の平均質量とかマススペクトルとかを返してくれるような
プログラムを書いてみようかと思ったんだけど、まず基本となる原子のデータ型から作っていって、
data Atom = Atom { abbr::Char, abundance::Distributions }
type Distributions = [(Int,Double)]
とか定義しておいて、average :: Atom -> Doubleやspectrum :: Atom -> (Int -> Double)
みたいな関数を作り、組成式はtype Molecule = [(Atom,Int)]としてみようか、と考えています。

で、Atomを拡張してname::Stringみたいな値も格納しておこうか、と思いついたとき、
Atom型の値の中身をパターンマッチで分解している部分は全て書き直さなければならなくなります。
変更に弱いから、手探りでコーディングをしているときはパターンマッチによる分解は使うべきじゃない、ということで良いのでしょうか。
とりあえず、その個別の問題に対しては、

data T1 = T1 { c :: Char }
data T2 = T2 { d :: Char, s :: String}

f T1{c = 'a' } = "c is 'a'"
f T1{c = c } = "c is not 'a': " ++ show c

g T2{d = 'a' } = "d is 'a'"
g T2{d = d } = "d is not 'a': " ++ show d

以上のパターンを用いることによって対処できる

さらに、

h t2@T2{d = 'b' } = t2{d = 'c', s ="foo" }

のようにasパターンと組み合わせることものできるから、かなりの柔軟性が確保できるはず。
343: デフォルトの名無しさん [sage] 2011/11/01(火) 11:26:20.06 AAS
NodeNinja...
563: デフォルトの名無しさん [sage] 2011/11/15(火) 21:36:19.06 AAS
厳しい親元なら、たいてい娘に浪人するなら結婚しろという時代もあった。
その前は大学には行かさんか。
569: デフォルトの名無しさん [sage] 2011/11/17(木) 18:07:51.06 AAS
天は自らHaskellものを助く
589: デフォルトの名無しさん [sage] 2011/11/18(金) 13:49:38.06 AAS
>>577
577(4): デフォルトの名無しさん [] 2011/11/18(金) 10:27:44.65 AAS
>>574
ねえ?なんでHaskellやるの?!!!?!?!?!
int a(x)
{
return x-1;
}
ねえ?!!?!!?!?!?これでできるじゃん
あほかよ
何でHaskell使ってそんなくだらない低レベルなことやってるの?
早く死ね中途半端
天才Haskell研究者でもないゴミ お前はただのヘラクレス本あがめてるニワカ
社内でHaskell Haskell!とかほざいて共感意識あげてる 底辺の馴れ合い
国論やってろよゴミ
お前がやってることはただの低レベルな意味がないこと
ただHaskellを触って 「本物のプログラマはHaskellを使う」という記事に自分を当てはめて優越感
にひたってるごみ?!?!?!?!?!
なんでって、haskellスレだからに決まってるだろ。
706
(3): デフォルトの名無しさん [] 2011/12/18(日) 00:09:00.06 AAS
ゲーム会社はぱねぇと思う

Haskell使いと違って
何がHaskellだよ
小さい黒い画面に計算結果表示させて俺ハッカーってドヤ顔してるレベル

ゲームとHaskellプログラムじゃ驚きも違う
見てビジュアル的
Haskellは何がぱねぇの? 意味がわからない 素人には見てて苦痛にしか思えない

どう凄いか素人たちにも教えてくれ!!
ぱねすぎる
何であんなにぱねぇんだろう
ぱねぇ
ぱねぇよ!?!?!?!!!!!!!!!!!!!!!!!!!!!!!!!
ぱねぇい!!!!!!!!!!!!!!!!!!!!!!!!!!!!

ゲーム会社のやつはぱねぇと思う
あんな人間離れした

3Dグラフィック+C++プログラミング+サウンド

すべてを束ねるコンピューター技術者最強

最強だよ

そうおもわないかい?
768: デフォルトの名無しさん [sage] 2011/12/20(火) 22:49:41.06 AAS
こんな感じ?
filter (flip all listB . (/=)) listA
832: デフォルトの名無しさん [] 2011/12/24(土) 13:21:02.06 AAS
>>824
824(1): デフォルトの名無しさん [sage] 2011/12/24(土) 00:21:37.64 AAS
つまらない物だということにして安心したいんだよ
そうすれば理解する努力しなくていいから
>>825
825(1): デフォルトの名無しさん [sage] 2011/12/24(土) 00:50:28.05 AAS
理解できない自分の頭を嘆く必要もなくなるし。
理解するとか理解できるとか言ってる時点でダメなんよ。
880: デフォルトの名無しさん [] 2011/12/26(月) 10:31:03.06 AAS
>>879
879(2): デフォルトの名無しさん [] 2011/12/26(月) 10:20:49.85 AAS
>> 878
>モナドとモナド変換子を使ってプログラミング言語の意味を表現しておけば
>そこからその言語のインタプリタを自動生成してくれる
そりゃできるに決まってるよ、と思うのだが、そう思うのってあまりにdetailに
鈍感ってことかなあ?
ところで、このときモナドが本質的(モナドだからできる)ってことでもない
と思うのだが、どうですか?
構文と意味を分離するのだから、モナドが相当本質的ではないの?
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.039s