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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
2: a36 ◆K0BqlCB3.k [sage] 2011/10/07(金) 12:28:54.57 AAS
関連書籍
・Introduction to Functional Programming Using Haskell (2nd ed.)
 外部リンク:www.amazon.co.jp

・Haskell: The Craft of Functional Programming
 外部リンク:www.amazon.co.jp

・The Fun of Programming
 外部リンク:www.amazon.co.jp

・The Haskell School of Expression: Learning Functional Programming Through Multimedia
 外部リンク:www.amazon.co.jp

・入門Haskell
 外部リンク:www.amazon.co.jp

・ふつうのHaskellプログラミング
 外部リンク:item.rakuten.co.jp

・Programming in Haskell
 外部リンク:www.amazon.co.jp

・Real World Haskell
 外部リンク:www.amazon.co.jp

・関数プログラミングの楽しみ
 外部リンク:www.amazon.co.jp
40
(2): デフォルトの名無しさん [sage] 2011/10/08(土) 14:49:12.57 AAS
FFI の質問です

C 言語で書かれた、FILE 構造体のポインタを引数として取る関数を
Haskell 側から使いたい場合、Haskell の openBinaryFile 関数などで得た
Handle 型の値は使えないのでしょうか(Handle 型を CFile 型に変換するなど)

もしかして、C 言語の open 関数も import して使う必要がありますか
52: デフォルトの名無しさん [sage] 2011/10/08(土) 17:02:11.57 AAS
アプリを読んだ記憶がない
ライブラリならGHC.IO、Grapefruitとか
118
(1): デフォルトの名無しさん [sage] 2011/10/14(金) 10:51:18.57 AAS
>>116
116(1): デフォルトの名無しさん [sage] 2011/10/14(金) 07:42:48.61 AAS
モジュール内の全ての関数と、import した地のモジュール M を全て公開したいのですが、
その場合は module モジュール名 (***) where の *** の部分に、
関数全てと module M を明示的に記入しないといけないのでしょうか

全ての関数だけなら、 (***) を省略することで全て公開しますが、
import したモジュールもとなると省略記法がわかりません
自分の環境で確認していないんだけどHaskell Reportによれば、自分自身のモジュール名も参照してエクスポートリストに入れられる:

A module can name its own local definitions in its export list using its own name in the “module M”
syntax, because a local declaration brings into scope both a qualified and unqualified name (Section
5.5.1). For example:

  module Mod1( module Mod1, module Mod2 ) where
  import Mod2
  import Mod3

Here module Mod1 exports all local definitions as well as those imported from Mod2 but not those
imported from Mod3.

外部リンク[pdf]:www.cse.iitk.ac.in
の64ページ
129: デフォルトの名無しさん [sage] 2011/10/15(土) 09:55:07.57 AAS
言語に依存しない抽象というものがわからないおまえが残念
145
(2): デフォルトの名無しさん [sage] 2011/10/15(土) 14:33:22.57 AAS
変数名スレで訊こうか迷いましたが、こちらで訊きます

リストのそれぞれ隣同士の2要素を使って新たな値のリストを作る関数

f :: (a -> a -> b) -> [a] -> [b]
f g (x1:x2:xs) = g x1 x2 : f g (x2 : xs)
f _ [_] = []
f _ [] = []

このような関数 f は、どのような名前が適当でしょうか
239
(1): デフォルトの名無しさん [sage] 2011/10/22(土) 23:25:42.57 AAS
>>238
238(1): デフォルトの名無しさん [sage] 2011/10/22(土) 23:15:23.45 AAS
last [1..3] くらいならコンパイル時に展開してもいい気がするけど
それでじゃあ、この最適化があれば実装の出来がいいかって言われると
うーん
うん?
ghciの話じゃないのか

ghcにO2オプション付ければ積極的に最適化されるから、

last [1..3] = 3

みたいに最適化されてんじゃないの?
309
(1): デフォルトの名無しさん [sage] 2011/10/28(金) 18:25:33.57 AAS
ようやく少しモナドの感覚がつかめた。あれって世界を分けてて、その世界の中
で作業をしていくための工夫という感じだな。ってね。安全な作業をするには必
要なんだってのもようやくわかった。

同時に感覚的なイメージでモナドを上手に例えて伝えるようなものがあまりない
のかもとも思ったかな。水中で普通のデジカメで撮影をするには防水ケースの中
に入れて使うけど、あの防水ケースっぽい働きなんだなってね。そんなアナロジー
を想像してしまったかな。
334: デフォルトの名無しさん [sage] 2011/10/31(月) 18:00:29.57 AAS
もう11月になるんすけど
リリース予定どうなってんすか?
354
(1): デフォルトの名無しさん [sage] 2011/11/04(金) 07:15:35.57 AAS
アメリカの宝石デザイナーのMiriam Haskellは、
日本ではミリアム・ハスケルで通ってるみたい。
イギリスとアメリカじゃ読みが違うのか?
387: デフォルトの名無しさん [sage] 2011/11/06(日) 22:02:11.57 AAS
>>385
385(1): デフォルトの名無しさん [sage] 2011/11/06(日) 20:50:27.44 AAS
いいじゃん
HaskellはLispの飼い猫なんだし
飼い猫ちゃう
Haskellは汎用関数型決戦兵器や
Lispは・・・深海型やな
422: デフォルトの名無しさん [sage] 2011/11/09(水) 12:41:11.57 AAS
酔っ払いが吐き戻した……言い得て妙だな。
関数型というパラダイムに酔っ払った人間が自己満足のために腹の中身そのまま捻り出した言語だよなこれ。
大学の自由演習で使ったがただの自己満足コードにしかならない。
423: デフォルトの名無しさん [sage] 2011/11/09(水) 12:48:49.57 AAS
そんな意味の無いことここで発言するなよ

Twitter にでも書いとけ
438: デフォルトの名無しさん [sage] 2011/11/09(水) 22:57:12.57 AAS
>>434
434(1): デフォルトの名無しさん [sage] 2011/11/09(水) 20:43:09.66 AAS
知らないうちにInteger使っててパフォーマンスがやばい、
みたいなのを回避したいんじゃね、知らんけど
外部リンク[html]:www.kotha.net
-fwarn-type-defaults:
数値型に対するデフォルト化機構が発動したときに警告・通知する。
これは、あるデフォルトを前提としたコードを別のデフォルトの下のコードに変換するときに便利である。
例えば、1という値に特に制約がないとき、Haskell 1.4の「デフォルトのデフォルト」は型Intを与えるが、
Haskell 98以降ではこれはIntegerである。
これは実行時性能と挙動に影響を与える可能性があるので、通知されると便利である。
って書いてあるからまさにその通りだと思う
パフォーマンスをカリカリに追求する場合にはこの警告が必要なんだろう
俺はそんなコード書いたこと無いけど
459: デフォルトの名無しさん [sage] 2011/11/10(木) 23:32:16.57 AAS
>>458
458(1): デフォルトの名無しさん [sage] 2011/11/10(木) 23:20:16.10 AAS
何が防げてるの?
遅いIntegerやNum aを使うのを防げてるだろ

だあ、もう

beki1 a = a ^ 2

beki2 :: Int -> Int
beki2 a = a ^ 2

beki3::Int -> Int
beki3 a = a ^ 2::Int

下に行くほど、遅い型を使うの防げてる

以上
728: デフォルトの名無しさん [sage] 2011/12/18(日) 18:36:55.57 AAS
>>727
727(1): デフォルトの名無しさん [sage] 2011/12/18(日) 18:24:30.32 AAS
VBにも劣るわけかw
関数型じゃなくても、大抵の言語はGUIに関してはVBやC#、Delphi・C++(Bilder)に劣る
MS(または円馬鹿出ろ)に気に入られるかどうかの問題
801: デフォルトの名無しさん [] 2011/12/23(金) 18:26:57.57 AAS
>>797
797(2): デフォルトの名無しさん [sage] 2011/12/23(金) 18:16:45.13 AAS
>>795
Control.Monadにあるようなものは抽象化できるし、
(Monad m) =>で書けなさそうなものは抽象化できない
言葉で言われて分かる類の問題じゃないから具体例を見たり書いたりして慣れるしかないよ

>モナドで抽象する前と後とで何が変わるの?
関数の型が変わって任意のモナドに対して使えるようになる。たとえば、
foreach :: [a] -> (a -> IO ()) -> IO () -- foreach xs f はxsの各要素に対してfを実行
をモナドに関して抽象化すれば、
forM_ :: (Monad m) => [a] -> (a -> m b) -> m ()
になって、IO以外でも使えるようになる
サンクス
820
(1): デフォルトの名無しさん [sage] 2011/12/23(金) 22:43:16.57 AAS
>>819
819(1): デフォルトの名無しさん [] 2011/12/23(金) 22:31:42.28 AAS
>>815
あのGoFのデザインパターンがその代表だが。
>>813
そうか。そうならデザインパターンと同じくつまらんものだ。
長くは続かん。
>>816 >>818
もっと乾いた理解をしないといかんのじゃないか?
> そうか。そうならデザインパターンと同じくつまらんものだ。
> 長くは続かん。

2ch で質問して、たった1個のレスでそんなに早く結論を得た気になるなんて
ほんと馬鹿としか言いようがない

このまま行くと、お前は一生その考えなんだろうなぁ
878
(2): デフォルトの名無しさん [sage] 2011/12/26(月) 01:50:40.57 AAS
>>867
867(3): デフォルトの名無しさん [] 2011/12/25(日) 20:21:39.10 AAS
>>858 >>864
ああ、また見捨てられてしもた。いっつもこうや。わしに学がないばっかりに。
ふつうのプログラムはやってるから、あのIOやエラーは知ってるし、
Maybeなんちゅうのがあるらしいのも知ってるけど、そんなんじゃ
話がわからんちゅうこっちゃろな。
Monad入門ってどこにあるんですか?
今日は冷えるわ。
じゃないけど>>876
876(1): デフォルトの名無しさん [sage] 2011/12/25(日) 23:39:17.99 AAS
ちゃんと教えてあげなよ。
>>867
Schemeになるが、Semantic Lego
外部リンク[2885]:citeseer.ist.psu.edu
面白いな
モナドとモナド変換子を使ってプログラミング言語の意味を表現しておけば
そこからその言語のインタプリタを自動生成してくれるのか
923: デフォルトの名無しさん [sage] 2011/12/31(土) 23:24:55.57 AAS
よいHaskellを!
来Haskellは更に良いHaskellになるよう祈ってます。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.052s