Haskell/GHC のいくつかの機能はグーグル可能性が低いです。それらの一部は記号で構成されているため:)
このページはそれらの検索をサポートする参考資料集です。
のような関数記号を検索したい場合.
、 $
、 >>=
、 <*>
、 ...、次の検索エンジンを使用できます。
ハッピーハスケル!
!
: 「厳密性フラグ」[ Haskell 2010 言語レポート ]
data Vec = Vec ! Int
!
:「強打パターン」【GHCユーザーズガイド】
f1 ! x =
#
: 「マジックハッシュ」【GHCユーザーズガイド】
data Int = I # Int #
#
: "拡張リテラル"【GHCユーザーズガイド】
f x = case x of
123 # Int8 -> False
_ -> True
#
: 「オーバーロードされたラベル」【GHCユーザーズガイド】
example = # x ( Point 1 2 )
#
: C プリプロセッサのディレクティブ【GHCユーザーズガイド】
#include "MachDeps.h"
#
: hsc2hs コマンドの演算子【GHCユーザーズガイド】
flag = # const VER_MAJORVERSION
$( )
: テンプレート Haskell のスプライス構文【GHCユーザーズガイド】
two = $ (add1 1 )
$$( )
: 型付きテンプレート Haskell のスプライス構文【GHCユーザーズガイド】
two = $$ (add1 1 )
%1 ->
: "線形タイプ"【GHCユーザーズガイド】
f :: a % 1 -> a
'
: 識別子は、文字の後に 0 個以上の文字、数字、アンダースコア、一重引用符が続きます。[ Haskell 2010 言語レポート ]
xs' = f ys
'
: プロモートされたコンストラクターには接頭辞として目盛りが付きます '【GHCユーザーズガイド】
type * = TYPE 'LiftedRep
'
''
: テンプレート Haskell の引用構文【GHCユーザーズガイド】
makeLenses ''FooBar
()
: 「ユニットタイプ」[ Haskell 2010 言語レポート ] [ Haskell 2010 言語レポート ]
main :: IO ()
()
: 「単位式」[ Haskell 2010 言語レポート ] [ Haskell 2010 言語レポート ]
return ()
( )
: "セクション" - 部分適用に便利な構文[ Haskell 2010 言語レポート ]
add1 = ( 1 + )
(,)
: タプルのコンストラクター[ Haskell 2010 言語レポート ]
f x y = liftM2 (,) x y
(, xxx)
: "タプルセクション"【GHCユーザーズガイド】
f xs = fmap (, True ) xs
(# #)
: 「ボックス化されていないタプル」【GHCユーザーズガイド】
f x y = ( # x + 1 , y - 1 # )
(# | | #)
: "ボックス化されていない合計"【GHCユーザーズガイド】
f :: ( # Int | Bool | Char # ) -> Int
f ( # x | | # ) = 1
f ( # | True | # ) = 2
f _ = 3
(..)
: すべての名前をエクスポートします[ Haskell 2010 言語レポート ]
module GHC.Arr (
Ix ( .. ),
(..)
: すべての名前をインポートします[ Haskell 2010 言語レポート ]
import GHC.Types ( Bool ( .. ))
*
: 通常の型の種類 ( Type
およびTYPE `LiftedRep
の同義語)[ Haskell 2010 言語レポート ] [ GHC ユーザーガイド ]
ghci > : kind Int
Int :: *
->
: ケース式[ Haskell 2010 言語レポート ]
f x = case x of
Nothing -> False
Just _ -> True
->
: 「ビューパターン」【GHCユーザーズガイド】
size (view -> Unit ) = 1
size (view -> Arrow t1 t2) = size t1 + size t2
->
: 「関数の種類」[ Haskell 2010 言語レポート ]
id :: a -> a
.
: モジュール名はドットで区切られたシーケンスです[ Haskell 2010 言語レポート ]
import Data.Maybe
import qualified Text.Read.Lex as L
lexP = lift L. lex
.
: "オーバーロードされたレコードドット"【GHCユーザーズガイド】
getResult c = c . result
getResults = map ( . result)
.
: 「OverloadedRecordUpdate」 (実験的)【GHCユーザーズガイド】
setYearTaken c y = c{taken . year = y}
.
: 普遍的な定量化【GHCユーザーズガイド】
f :: forall a . a -> [ a ]
:
: 「リストコンストラクター」 (短所)[ Haskell 2010 言語レポート ] [ Haskell 2010 言語レポート ] [ Haskell 2010 言語レポート ]
f x xs = x : xs
:
: コロンで始まる演算子記号はコンストラクタです[ Haskell 2010 言語レポート ]
data NonEmpty a = a :| [a]
::
: 「タイプ署名」[ Haskell 2010 言語レポート ]
id :: a -> a
id x = x
::
: "expression type-signature" (型アノテーション)[ Haskell 2010 言語レポート ]
x = fromIntegral ( maxBound :: Int )
;
: レイアウトルールのセミコロン[ Haskell 2010 言語レポート ]
f x = let a = 1 ; b = 2
g y = exp2
in exp1
<-
: do 式のラムダバインド[ Haskell 2010 言語レポート ]
f = do
x <- getLine
putStrLn x
<-
: 「パターンガード」[ Haskell 2010 言語レポート ]
f x
| Just y <- g x =
=>
: コンテキスト (型クラス制約)[ Haskell 2010 言語レポート ]
subtract :: ( Num a ) => a -> a -> a
subtract x y = y - x
?
: "ImplicitParams"【GHCユーザーズガイド】
sort :: ( ? cmp :: a -> a -> Bool ) => [ a ] -> [ a ]
sort = sortBy ? cmp
@
: 「パターンとして」[ Haskell 2010 言語レポート ]
f s @ (x : xs) =
@
: 「アプリケーションを入力」【GHCユーザーズガイド】
f = read @ Int
@
: 「型の抽象化」【GHCユーザーズガイド】
class C @ k a where
[]
: 「空のリスト」(nil)[ Haskell 2010 言語レポート ] [ Haskell 2010 言語レポート ]
null [] = True
null _ = False
[ .. ]
: 「等差数列」[ Haskell 2010 言語レポート ]
xs = [ 1 .. 10 ]
[ | <- ]
: "リスト内包表記"[ Haskell 2010 言語レポート ]
xs = [x ^ 2 | x <- [ 1 .. 10 ]]
[| |]
、 [e| |]
、 [d| |]
、 [t| |]
、 [p| |]
: テンプレート Haskell の引用構文 (式、宣言、型、パターン)【GHCユーザーズガイド】
add1 x = [ | x + 1 | ]
[varid| |]
: テンプレート Haskell の準引用構文【GHCユーザーズガイド】
greet name = [ interpolate | Hello, #name! |]
[|| ||]
: 型付きテンプレート Haskell の引用構文【GHCユーザーズガイド】
add1 x = [ || x + 1 || ]
_
: 「ワイルドカード パターン」[ Haskell 2010 言語レポート ]
f Red =
f Blue =
f _ =
_
: アンダースコアで始まる未使用の識別子[ GHC ユーザーガイド ] [ Haskell 2010 言語レポート ]
_w = True -- No warning: _w starts with an underscore
_
: 「型付き穴」(式レベル)【GHCユーザーズガイド】
sum xs = foldr _ 0 xs
_
: "タイプ ワイルドカード" (タイプ レベル)【GHCユーザーズガイド】
not' :: Bool -> _
not' x = not x
_
: 「追加制約ワイルドカード」【GHCユーザーズガイド】
arbitCs :: _ => a -> String
_
: "数値アンダースコア"【GHCユーザーズガイド】
million = 1_000_000
->
: "ラムダ抽象化"[ Haskell 2010 言語レポート ]
add1 = x -> x + 1
case ->
: "LambdaCase"【GHCユーザーズガイド】
f = case
Red -> 2
Blue -> 1
_ -> 0
` `
: 「中置記法」 - 重アクセントで囲まれた識別子[ Haskell 2010 言語レポート ]
div10 x = x `div` 10
{ }
: レイアウトルールの中括弧[ Haskell 2010 言語レポート ]
f x = case x of { Nothing -> False ; Just _ -> True }
{ }
: 「レコード構文」(フィールドラベルを持つデータ型)[ Haskell 2010 言語レポート ]
data MyPoint = Point { x :: Int , y :: Int }
{..}
: 「ワイルドカードを記録」【GHCユーザーズガイド】
f Vec { .. } =
{-# #-}
: "コンパイラ プラグマ"[ Haskell 2010 言語レポート ] [ GHC ユーザーズガイド ] [ GHC ユーザーズガイド ]
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE GADTs #-}
{-# INLINE fmap #-}
|
: "ブールガード" (ガード)[ Haskell 2010 言語レポート ]
clip255 x
| x > 255 = 255
| otherwise = x
|
:「マルチウェイイフ」【GHCユーザーズガイド】
if | x == " :q " -> quit
| isError x -> errorExit x
| otherwise -> execCommand x
|
: 代数データ型宣言[ Haskell 2010 言語レポート ]
data Maybe a = Nothing | Just a
|
: 「関数の依存関係」【GHCユーザーズガイド】
class Foo a b c | a b -> c where
~
: 「反駁できないパターン」[ Haskell 2010 言語レポート ]
f1 ~ (as,bs) =
~
: Strict が有効な場合の遅延パターン【GHCユーザーズガイド】
{-# LANGUAGE Strict #-}
f ~ x =
~
: 怠惰フラグ【GHCユーザーズガイド】
data T = C ~ a
~
: 「等価制約」【GHCユーザーズガイド】
class ( F a ~ b ) => C a b where