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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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型の値の中身をパターンマッチで分解している部分は全て書き直さなければならなくなります。
変更に弱いから、手探りでコーディングをしているときはパターンマッチによる分解は使うべきじゃない、ということで良いのでしょうか。
313
(1): デフォルトの名無しさん [sage] 2011/10/28(金) 21:06:31.22 AAS
do内の世界はdoの流儀に従ってる。だけど、do外の世界はdo内のことには
結果を渡される以外無関係ってと事だろう?
339: デフォルトの名無しさん [sage] 2011/11/01(火) 01:39:44.22 AAS
>>335
335(1): デフォルトの名無しさん [sage] 2011/10/31(月) 18:33:23.55 AAS
11月の感謝祭にリリースするってさっき白石さんがつぶやいてた

>>333
基本liftAというか<$>を使うけどControl.MonadをimportしているようなモジュールならliftMでいいんじゃないかなぁってぐらい
ありがとう
参考にさせてもらいます。:-)
363: デフォルトの名無しさん [sage] 2011/11/04(金) 17:15:28.22 AAS
あなたは運についてしってますか???」
645: デフォルトの名無しさん [sage] 2011/12/02(金) 19:01:57.22 AAS
前 Haskell で物理シミュやった時に、
初めは処理は遅いわ、メモリは食うわでとてもシミュできなかった

ボトルネックを探したら、行列演算の部分がヤバイ感じだったから、
その部分だけ hmatrix(つまり LPACK)に変えた
そしたら、笑っちゃうほど速くなって、メモリ使用量も適正になった

知識が増えた今なら、All Haskell の行列演算ももう少し速くできそうだが、
それでも、やはりそういう部分は素直に他言語用ライブラリを使った方が良い

特に、Haskell(関数型)らしい適切なラッパーが用意されているのなら、
迷わず使うべきだよ
652
(1): ◆QZaw55cn4c [sage] 2011/12/03(土) 10:16:56.22 AAS
>>650
650(2): 日系アメリカ人 ◆japYJPNx6A [] 2011/12/03(土) 09:23:15.48 AAS
お前が早いプログラム書いてもそれが意味がない
自分で動作チェックする程度のプログラムだから別にいい

意味がわからない
なぜHaskellをやるのか

早く死ねよ??・!?!お願い死んで
こっちでいろいろ煽ってくださいよー
2chスレ:tech
710: デフォルトの名無しさん [sage] 2011/12/18(日) 00:45:37.22 AAS
「わからないことをわからないままにしたくないが、勉強も調べ物も一切したくない」
「自分の漠然とした感情は正しく、その合理的な理由は必ずどこかにあるはずだ」
「情報や知識は口を開けて待っていれば勝手に入ってくる」
この3つが揃うと、出所不明のデマは信じるわりに他人の話を聞かなくなる感じ。
894: デフォルトの名無しさん [sage] 2011/12/27(火) 12:44:32.22 AAS
>>886
886(2): デフォルトの名無しさん [sage] 2011/12/26(月) 20:04:44.07 AAS
>>884
問1. HaskellのタプルとLispのconsの共通点は何?
問2. その共通点は本質的なものか?
>>884
884(2): デフォルトの名無しさん [sage] 2011/12/26(月) 15:54:03.41 AAS
もうひとつ感じたことh,HaskellのタプルはLispのconsみたいなもんなんだな。ってね。consとtupleは違う点ももちろん明確なんだけど。
ではないけど、横レスしてみる

Lispのような動的型付け言語の場合、2つの要素から構成されるタプルと
リスト構成子である cons は同一であり、互いに置き換えることができる

Haskellのような静的型付け言語の場合、
タプルは直積構造であるから各要素のデータ型は互いに異なっていてもかまわないが、
リストにおいては各要素のデータ型は同一でなければならない
したがって、2要素のタプルとリスト構成子との間に互換性はない
896
(10): デフォルトの名無しさん [sage] 2011/12/27(火) 19:54:07.22 AAS
cabal で stm をインストールしようとしたら、

Control\Concurrent\STM.hs:0:4: lexical error (UTF-8 decoding error)

というエラーで止まってしまい、インストールできません

そもそも cabal の lexical error というのはどういう時に起こるのでしょうか

[環境]
GHC 7.2.2
cabal-install 0.10.2
Cabal library 1.10.2.0
966: デフォルトの名無しさん [sage] 2012/01/02(月) 15:37:53.22 AAS
>>965
965(1): デフォルトの名無しさん [] 2012/01/02(月) 15:26:49.59 AAS
>964
縦に長くならなくても、
do {x <- getLine; putStr $ "> " ++ x}
のxも、関数型からすれば嫌だろ。
では構文的な構造が似ている

let x = 3 in f x

これも「関数型からすれば嫌」なのか?
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.036s