[SIMILAR] WITH 14647 多相 WITH 14647 相型 WITH 4541 integer WITH 2569 haskell WITH 1304 ト( WITH 1301 list WITH 549 リス WITH 258 スト WITH 1 [ WITH 1 ] WITH 1 型っ WITH 1 っぽ WITH 1 ぽい WITH 1 いリ WITH 1 ( WITH 1 2 WITH 1 ) WITH 1 ghc WITH 1 6 WITH 1 . WITH 1 から WITH 1 らは WITH 1 は、 WITH 1 、li WITH 1 :: WITH 1 forall WITH 1 a WITH 1 num WITH 1 => WITH 1 = WITH 1 1 WITH 1 int の検索結果 230 件中 1 - 10 件目 (0.213520134 秒)
GHC 6.6からは、 list :: [forall a. Num a => a] list = [1 :: Int, 1 :: Float, 1 :: Integer] のようにして多相型のリストをそのまま作ることができるようです。 ...
もっとも簡単そうな方法 data Animal1 = Dog1 String | Cat1 String Int call1 :: Animal1 -> String call1 (Dog1 name) = name call1 (Cat1 name whiskers) = name ++ " with " ++ show whiskers ++ " whiskers" test1 = mapM_ (putStrLn . call1) [Dog1 "pochi", Cat1 "tama" 12] 簡単だけれど、種類を増やす ...
# (スコア:9657)
GHC 6.12でDeprecatedになるらしいImpredicative Polymorphismをどうやって書き換えるのか考えてみました。 例えばこんなの。 {-# LANGUAGE ImpredicativeTypes, Rank2Types #-} f :: Maybe (forall a. [a] -> a) -> (Int, Char) f (Just g) = (g [1, 2, 3], g ['a', 'b']) f Nothing = (99, 'z') のように定義 ...
# (スコア:8568)
指定した年・月を以下のような感じでカレンダーっぽく表示。 | 1 2 3 | 4 5 6 7 8 9 10 | 11 12 13 14 15 16 17 | 18 19 20 21 22 23 24 | 25 26 27 28 29 30 31 なんとなく考えると、具体的な方法を考えなくても書けてしまうのが良い感じです。 import Data.List (dropWhile, intersperse, takeWhile, unfoldr ...
# (スコア:2117)
by Brent Yorgey <first initial last name at cis.upenn.edu> 標準Haskellライブラリには、代数や圏論に裏打ちされた数多くの型クラスが用意されています。流暢なHaskellハッカーになるためには、これら全てに根本的に慣れ親しんでいる必要がありますが、慣れ親しむためには、しばしば山ほどのチュートリアルや ...
# (スコア:1220)
手元のDebianだと、GHC 6.4.1のパッケージはないものの、Generic Linux with glibc 2.3を落としてきて、 ./configure make install でインストールできます。 ...
# (スコア:1203)
Haskellにはバイナリを読み書きする時に使えるBitSyntaxというライブラリがあります。rubyで言うところのpackとかunpackに近いでしょうか。パースする時には返り値の型が引数に依存するので、その部分のコードはTemplate Haskellになっています。例えば、tzfile形式のファイルをパースするならこんな感じになり ...
# (スコア:1197)
キーと値からなる設定ファイルをパースするとします。設定ファイルはこんな感じです。 name=Test value=5 マップなどで値を持つという方法もありますが、ちゃんと型付けするために専用の型を用意することにします。そうするとパースするコードはこんな感じでしょうか。 import Control.Monad import Data.Maybe ...
# (スコア:1197)
Haskell APIの検索ができます。関数名はもちろん型からも検索できるのが面白いです。 Ord a => [a] -> [a] と入れるとsortなどが出てきます。引数の順番が変わっていても認識するので、 [a] -> (a -> b) -> [b] でもmapが出てきます。 XML-RPCなどで呼び出せるようにして、エディタから引けるようにすると便利そ ...
# (スコア:1197)
SIGALRMシグナルを使っているライブラリをFFIで呼び出すと、コールバックのスタブの中でInterruptedというメッセージを出してプロセスが落ちてしまうことがあるので、テストコードを書いて調べてみました。 alarm.h void test(); alarm.c #include <signal.h> #include <string.h> #include <stdio.h> #include ...
# (スコア:1197)
# (スコア:10000)