Haskell/GHC 的几个功能在谷歌搜索中的搜索率较低。因为有些是由符号组成的:)
本页是一个参考集合,支持它们的搜索。
如果您想搜索类似 的函数符号.
、 $
、 >>=
、 <*>
、 ...,您可以使用以下搜索引擎:
哈斯克尔快乐!
!
:“严格标志”[ Haskell 2010 语言报告 ]
data Vec = Vec ! Int
!
:“刘海图案”[ GHC 用户指南 ]
f1 ! x =
#
: “MagicHash”[ 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
'
:标识符由一个字母后跟零个或多个字母、数字、下划线和单引号组成[ Haskell 2010 语言报告 ]
xs' = f ys
'
: 提升的构造函数以勾号为前缀 '[ GHC 用户指南 ]
type * = TYPE 'LiftedRep
'
''
: 模板 Haskell 的引用语法[ GHC 用户指南 ]
makeLenses ''FooBar
()
: “单位类型”[ Haskell 2010 语言报告 ] [ Haskell 2010 语言报告 ]
main :: IO ()
()
: “单位表达式”[ Haskell 2010 语言报告 ] [ Haskell 2010 语言报告 ]
return ()
( )
: “section” - 部分应用的便捷语法[ Haskell 2010 语言报告 ]
add1 = ( 1 + )
(,)
:元组的构造函数[ Haskell 2010 语言报告 ]
f x y = liftM2 (,) x y
(, xxx)
: “TupleSections”[ 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
::
: “表达式类型签名”(类型注释)[ Haskell 2010 语言报告 ]
x = fromIntegral ( maxBound :: Int )
;
: 布局规则中的分号[ Haskell 2010 语言报告 ]
f x = let a = 1 ; b = 2
g y = exp2
in exp1
<-
:do 表达式中的 lambda 绑定[ 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
?
:“隐式参数”[ 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
->
: “lambda 抽象”[ 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