トップ 最新

#3 [全文検索]

検索方法

並べ替え: 表示件数: 検索条件の書式:

[SIMILAR] WITH 29523 typeable WITH 15241 deriving WITH 7748 mktyconapp WITH 7748 mktycon WITH 7748 fglasgow WITH 5742 classes WITH 4042 instance WITH 2572 、da WITH 2569 haskell WITH 1437 data WITH 385 ンス WITH 307 タン WITH 284 必要 WITH 190 スタ WITH 126 イン WITH 1 [ WITH 1 ] WITH 1 clause WITH 1 for WITH 1 and WITH 1 のイ WITH 1 スに WITH 1 にす WITH 1 する WITH 1 るた WITH 1 ため WITH 1 めに WITH 1 に、 WITH 1 x WITH 1 = WITH 1 where WITH 1 typeof の検索結果 142 件中 1 - 10 件目 (0.11031316 秒)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 次へ

2006-09-12 [類似検索]

[Haskell] Deriving clause for classes Typeable and Data

Typeableのインスンスにするためにdata X = X instance Typeable X where typeOf _ = mkTyConApp (mkTyCon "X") [] のようなことをやっていたのですが、 data X = X deriving Typeable とできるのですね…(-fglasgow-extsが必要です)。 ...

#  (スコア:10000)

2009-09-17 [類似検索]

[Haskell] Maybeをfilterする

Maybeの中の値を元に、Maybe自体をNothingにしたいケースが結構あります。例えば、Maybe Stringで中の文字列が空の場合にはNothingにしたいケースなどです。 nonEmptyString :: Maybe String -> Maybe String nonEmptyString s = case s of Just s | s /= "" -> Just s _ -> Nothing これを少し一般化すると、こ ...

#  (スコア:4329)

2007-03-29 [類似検索]

[Haskell] 列挙型

data Color = RED | BLUE のような型があるときに、この値と整数をマッピングするにはEnumを使うのが楽です。 data Color = RED | BLUE deriving Enum intToColor = toEnum colorToInt = fromEnum ところが、intToColorに範囲外の整数を渡されると例外になってしまってうれしくありません。適当なデフォルト値に ...

#  (スコア:4208)

2010-09-15 [類似検索]

[Haskell] 設定ファイルのパースをTemplate Haskell

キーと値からなる設定ファイルをパースするとします。設定ファイルはこんな感じです。 name=Test value=5 マップなどで値を持つという方法もありますが、ちゃんと型付けするために専用の型を用意することにします。そうするとパースするコードはこんな感じでしょうか。 import Control.Monad import Data.Maybe ...

#  (スコア:2718)

2006-05-08 [類似検索]

[Haskell] Type Classes with Functional Dependencies

モナドのすべてを読んでいるとしばしば出てくる、「複数パラメータの型クラスとfunDepという標準のHaskell 98にはない言語拡張をつかっています」の意味がようやくわかりました。 ...

#  (スコア:1631)

2009-09-07 [類似検索]

[Haskell] Type Families (2)

上の例だと、GADTを使っても同じような事ができます。 {-# LANGUAGE GADTs #-} import qualified Data.Sequence as Seq data Vector a where BoolVector :: [Bool] -> Vector Bool IntVector :: Seq Int -> Vector Int add :: a -> Vector a -> Vector a add v (BoolVector l) = BoolVector $ v:l add v (IntVe ...

#  (スコア:1187)

2003-06-25 [類似検索]

[Q3] MAPIでふりがな (2)

IMAPITable::SetColumnsを呼んで取得するカラムを指定するのですが、ここにPR_ENTRYIDを含めておかないとSetColumnsが失敗します。PR_DISPLAY_NAMEとPR_EMAIL_ADDRESSだけ指定したらエラーになってしまいました。 ここにふりがなのカラムを含めれば良いのだとおもうのですが、ふりがな用のタグが定義されていな ...

#  (スコア:1100)

2009-09-08 [類似検索]

[Haskell] Type Families (4)

しかし、上のような例だと、Collectionを型クラスではなくて型構築子クラスにすれば、Synonym Familiesを使わなくても書けます。 class Collection c where empty :: c a add :: a -> c a -> c a instance Collection [] where empty = [] add = (:) instance Collection Seq where empty = Seq.empty add = (< ...

#  (スコア:1088)

2009-09-07 [類似検索]

[Haskell] Type Families

Invalid TextData Familiesは、型パラメータに依って実装を変えたいときに使えます。C++のテンプレートでの特殊化みたいなものでしょうか。 {-# LANGUAGE TypeFamilies #-} import qualified Data.Sequence as Seq data family Vector a -- BoolのVectorはリストで表現 data instance Vector Bool = BoolVector ...

#  (スコア:1088)

2009-09-09 [類似検索]

[Haskell] Type Familiesを使って型レベルで階乗を実装してみる

Type Familiesを使って型レベルで階乗を実装してみます。基本の考え方としては、dataで定義する型が型レベルの値で、type familyで定義する型属が型レベルの関数になります。 まずは、数の定義から。EmptyDataDecls拡張を使います。 {-# LANGUAGE TypeFamilies, EmptyDataDecls, UndecidableInstances, ScopedT ...

#  (スコア:1078)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 次へ