トップ 最新

#3 [全文検索]

検索方法

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

[SIMILAR] WITH 41234 boolvector WITH 41234 intvector WITH 32987 families WITH 24978 vector WITH 24740 vectorelem WITH 15497 gadt WITH 14010 seq WITH 11789 bool WITH 11698 empty WITH 8085 instance WITH 7159 qualified WITH 6527 where WITH 5749 data WITH 5572 い型 WITH 5415 sequence WITH 5341 型ク WITH 2982 関数 WITH 2827 、ga WITH 2572 、da WITH 2569 haskell WITH 2528 language WITH 2079 add WITH 1829 引数 WITH 1759 int WITH 1692 モジ WITH 1674 実装 WITH 1408 タコ WITH 1336 場合 WITH 1171 適用 WITH 1067 定義 WITH 1056 数は WITH 814 パタ の検索結果 243 件中 1 - 10 件目 (0.082218831 秒)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 次へ

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 ...

#  (スコア:10000)

2009-09-07 [類似検索]

[Haskell] Type Families

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

#  (スコア:9145)

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 = (< ...

#  (スコア:6719)

2009-09-08 [類似検索]

[Haskell] Type Families (3)

Invalid Text次はSynonym Families引数の型によって関連づけられた型を変えたいときに使います。C++でいうところの、特殊化されたテンプレートの中のtypedefとでも言えるでしょうか。 ありがちな例としては、コレクションクラスがあります。 class Collection a where type Elem a empty :: a add :: Elem a ...

#  (スコア:4106)

2009-09-08 [類似検索]

[Haskell] Type Families (5)

Synonym Familiesの別の良くある例はこんな感じのもの。 class Mul a b where type Result a b (*) :: a -> b -> Result a b instance Mul Int Int where type Result Int Int = Int (*) = (Prelude.*) instance Mul Int Double where type Result Int Double = Double (*) x y = fromIntegral Prelude.* y これ ...

#  (スコア:3879)

2002-02-20 [類似検索]

Windows CEでSTL

Windows CEでSTLを使うという話は結構あって、<a href="http://www.stlport.org/>STLportとか、STL for eMbedded Visual C++ - Windows CEとかがある。 ところが、これらのものはそのままでは特別な状況でもない限り使い物にならない。というのは、 1. STL(特にコンテナ)はC++例外に全面的に依存している 2. ...

#  (スコア:3034)

2003-06-17 [類似検索]

[Q3] eVC4でコンパイル

以前書いたように、evc4でビルドするとmips版がINTERNAL COMPILER ERRORになってしまっていたのですが、どうやらvector<bool>が原因だったようで、vector<int>にしたところその部分は通るようになりました。 ...

#  (スコア:3033)

2002-02-20 [類似検索]

std::vector<int> d..

std::vector<int> dst; dst.resize(src.size()); std::copy(src.begin(), src.end(), dst.begin()); のようにして明示的にコピーする(ただし、resize()は例外を投げる可能性があるため、後述する処理が必要)。 やる必要があるのは、mallocが失敗したときに、::RaiseExceptionを使って適当なSEH例外を投げ、呼 ...

#  (スコア:3033)

2009-09-09 [類似検索]

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

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

#  (スコア:2754)

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 これを少し一般化すると、こ ...

#  (スコア:1698)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 次へ