Haskell
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/04/25 23:17 UTC 版)
- ^ 出典URL: https://mail.haskell.org/pipermail/haskell/2009-November/021750.html, 閲覧日: 2023年1月11日, 題名: [Haskell] Announcing Haskell 2010, 出版日: 2009年11月24日
- ^ かつては Goffin と呼ばれていた。
- ^ a b c “Preface”. Haskell 98 Language and Libraries: The Revised Report (2002年12月). 2009年6月23日閲覧。
- ^ “The History of Haskell”. 2009年6月23日閲覧。
- ^ Simon Peyton Jones (編) (2002年12月). “Haskell 98 Language and Libraries: The Revised Report”. 2009年6月23日閲覧。
- ^ “Future development of Haskell”. 2009年6月23日閲覧。
- ^ “Welcome to Haskell'”. The Haskell' Wiki. 2009年6月23日閲覧。
- ^ 英: language-pragma-syntax-extension
- ^ 「変数」は実際にはその値を動的に変更することはできないなど、C言語など手続き型言語の変数とは明らかに異なるものである。
- ^ ここでは説明のため単に Float としているが、標準ライブラリで定義されている円周率
pi
は浮動小数点数型の抽象的な型クラスであるFloating a
で定義されており、Float
のみならず 倍精度浮動小数点数型Double
の値としても取得できる。 - ^ Haskell はカリー化によりすべての関数を 1 引数の関数として表現できるが、これにしたがって
->
は右結合であるとして読むこともできる。上記の関数の型の定義は、括弧を明示した次の定義と同等である。gcd :: Int -> (Int -> Int)
関数を引数にとる関数は、引数の型を括弧で囲んで -> 記号の優先順位を指定すればよい。次は関数を二つとり、その合成関数を返す演算子 . の定義である。
(.) :: (b -> c) -> (a -> b) -> a -> c
- ^ 式の外で演算子の型を指定するときは、演算子を括弧で囲めばよい。以下の関数と演算子の相互変換を参照のこと。
- ^ これは、C++ や Java のような言語では次のようなコードに相当する。
Hashtable<String,Int> hashtable;
- ^ 当然ながら、リストの要素としてリストを持つこともできる。例えば、文字リスト(文字列)のリストの型は
[[Char]]
となるであろう。 - ^ ユニットはC言語や Java などでいう
void
のような使われ方をする。 - ^ 言い換えれば、単純な型名に見えても何か複雑な別の型の別名である可能性がある。
- ^ 実際に標準ライブラリでは
String
は[Char]
の別名であり、String
にはあらゆるリストの操作が可能である。 - ^ type values are built from type constructors. haskell2010
- ^ Char, Int, Integer, Float, Double and Bool are type constants with kind ∗. haskell2010
- ^ Maybe and IO are unary type constructors, and treated as types with kind ∗→∗. haskell2010
- ^ 除算する演算子
/
は存在するが、これはFloat
などを除算する演算子であり整数ではない。他の言語のように自動的に値を変換する(int → float など)ような動作は Haskell では意図的に排除されている。 - ^ Haskell の型システムにおける汎用型が実体化されたもの。オブジェクト指向におけるインスタンスとは異なる。
- ^ ただし、型を明示することは可読性を向上したり問題の発見に役立つため、常に省略するのがよいとは限らない。
- ^
java.lang.Integer.parseInt
、java.lang.Double.parseDouble
など - ^ 英: algebraic data type
- ^ データ型名とデータコンストラクタ名は同じでも構わない。このような単純な代数的データ型であれば型名とデータコンストラクタ名を同じにすることも多い。
- ^ 英: section
- ^ 英: type class
- ^ 英: action
- ^ GHC には
System.IO.Unsafe
モジュールにunsafePerformIO
という関数があり、副作用を持ちながらアクションでない型を返すことができる。これは参照透過性に対するバックドアであり、Haskell の参照透過性を破壊する恐れがあるので、注意深く使わなければならない。 - ^ 英: corecursion
- ^ Haskellの神話 - あどけない話
- ^ attoparsec: Fast combinator parsing for bytestrings and text
- ^ trifecta: A modern parser combinator library with convenient diagnostics
- ^ Home — The Glasgow Haskell Compiler
- ^ 英: good for equational reasoning
- ^ http://www.cs.chalmers.se/~augustss/hbc/hbc.html (リンク切れ)
- ^ http://foswiki.cs.uu.nl/foswiki/Helium
- ^ Hugs 98
- ^ jhc
- ^ nhc98
- ^ Yhc - HaskellWiki
固有名詞の分類
Weblioに収録されているすべての辞書からHaskellを検索する場合は、下記のリンクをクリックしてください。
全ての辞書からHaskellを検索
- Haskellのページへのリンク