トップ 最新

#3 [全文検索]

検索方法

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

[SIMILAR] WITH 65975 boolvector WITH 65975 intvector WITH 49481 vectorelem WITH 34345 vector WITH 24256 instance WITH 21016 seq WITH 17684 bool WITH 16493 families WITH 16493 現da WITH 13055 where WITH 8718 first WITH 8246 textdata WITH 8246 typefamilies WITH 7323 型パ WITH 7159 qualified WITH 7055 殊化 WITH 7055 言内 WITH 5749 data WITH 5415 sequence WITH 4158 add WITH 3519 int WITH 3338 class WITH 2985 のve WITH 2843 宣言 WITH 2569 haskell WITH 2528 language WITH 1926 family WITH 1914 head WITH 1491 関数 WITH 1285 特殊 WITH 1281 表現 WITH 1155 で表 の検索結果 169 件中 1 - 10 件目 (0.060136368 秒)

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

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

#  (スコア:10000)

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

#  (スコア:9261)

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

#  (スコア:5380)

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

#  (スコア:3033)

2003-06-17 [類似検索]

[Q3] eVC4でコンパイル

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

#  (スコア:2808)

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例外を投げ、呼 ...

#  (スコア:2808)

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

#  (スコア:2760)

2009-09-09 [類似検索]

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

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

#  (スコア:2603)

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

#  (スコア:2494)

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

#  (スコア:2462)

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