Varias características de Haskell/GHC tienen baja capacidad de búsqueda en Google. Porque algunos de ellos están compuestos de símbolos :)
Esta página es una colección de referencia para apoyar la búsqueda de ellos.
Si desea buscar símbolos de funciones como .
, $
, >>=
, <*>
, ..., puedes utilizar los siguientes buscadores:
¡Feliz Haskelling!
!
: "bandera de rigor"[Informe lingüístico de Haskell 2010]
data Vec = Vec ! Int
!
: "patrón de explosión"[Guía del usuario de GHC]
f1 ! x =
#
: "MagicHash"[Guía del usuario de GHC]
data Int = I # Int #
#
: "Literales extendidos"[Guía del usuario de GHC]
f x = case x of
123 # Int8 -> False
_ -> True
#
: "Etiquetas sobrecargadas"[Guía del usuario de GHC]
example = # x ( Point 1 2 )
#
: directiva del preprocesador C[Guía del usuario de GHC]
#include "MachDeps.h"
#
: operador del comando hsc2hs[Guía del usuario de GHC]
flag = # const VER_MAJORVERSION
$( )
: plantilla de sintaxis de empalme de Haskell[Guía del usuario de GHC]
two = $ (add1 1 )
$$( )
: Sintaxis de empalme de Haskell de plantilla mecanografiada[Guía del usuario de GHC]
two = $$ (add1 1 )
%1 ->
: "Tipos lineales"[Guía del usuario de GHC]
f :: a % 1 -> a
'
: un identificador consta de una letra seguida de cero o más letras, dígitos, guiones bajos y comillas simples.[Informe lingüístico de Haskell 2010]
xs' = f ys
'
: los constructores promocionados tienen el prefijo de una marca '[Guía del usuario de GHC]
type * = TYPE 'LiftedRep
'
''
: Sintaxis de cotización de la plantilla Haskell[Guía del usuario de GHC]
makeLenses ''FooBar
()
: "tipo de unidad"[ Informe lingüístico de Haskell 2010 ] [ Informe lingüístico de Haskell 2010 ]
main :: IO ()
()
: "expresión unitaria"[ Informe lingüístico de Haskell 2010 ] [ Informe lingüístico de Haskell 2010 ]
return ()
( )
: "sección": una sintaxis conveniente para aplicaciones parciales[Informe lingüístico de Haskell 2010]
add1 = ( 1 + )
(,)
: el constructor de una tupla[Informe lingüístico de Haskell 2010]
f x y = liftM2 (,) x y
(, xxx)
: "TuplaSecciones"[Guía del usuario de GHC]
f xs = fmap (, True ) xs
(# #)
: "tupla sin caja"[Guía del usuario de GHC]
f x y = ( # x + 1 , y - 1 # )
(# | | #)
: "suma sin caja"[Guía del usuario de GHC]
f :: ( # Int | Bool | Char # ) -> Int
f ( # x | | # ) = 1
f ( # | True | # ) = 2
f _ = 3
(..)
: exportar todos sus nombres[Informe lingüístico de Haskell 2010]
module GHC.Arr (
Ix ( .. ),
(..)
: importa todos sus nombres[Informe lingüístico de Haskell 2010]
import GHC.Types ( Bool ( .. ))
*
: el tipo de tipos ordinarios (sinónimo de Type
y TYPE `LiftedRep
)[ Informe de idioma de Haskell 2010 ] [ Guía del usuario de GHC ]
ghci > : kind Int
Int :: *
->
: expresión de caso[Informe lingüístico de Haskell 2010]
f x = case x of
Nothing -> False
Just _ -> True
->
: "ver patrón"[Guía del usuario de GHC]
size (view -> Unit ) = 1
size (view -> Arrow t1 t2) = size t1 + size t2
->
: "tipo de función"[Informe lingüístico de Haskell 2010]
id :: a -> a
.
: los nombres de los módulos son una secuencia separada por puntos[Informe lingüístico de Haskell 2010]
import Data.Maybe
import qualified Text.Read.Lex as L
lexP = lift L. lex
.
: "RecordDot sobrecargado"[Guía del usuario de GHC]
getResult c = c . result
getResults = map ( . result)
.
: "OverloadedRecordUpdate" (experimental)[Guía del usuario de GHC]
setYearTaken c y = c{taken . year = y}
.
: cuantificación universal[Guía del usuario de GHC]
f :: forall a . a -> [ a ]
:
"constructor de listas" (contras)[ Informe lingüístico de Haskell 2010 ] [ Informe lingüístico de Haskell 2010 ] [ Informe lingüístico de Haskell 2010 ]
f x xs = x : xs
:
un símbolo de operador que comienza con dos puntos es un constructor[Informe lingüístico de Haskell 2010]
data NonEmpty a = a :| [a]
::
: "escribir firma"[Informe lingüístico de Haskell 2010]
id :: a -> a
id x = x
::
: "expresión tipo-firma" (anotación de tipo)[Informe lingüístico de Haskell 2010]
x = fromIntegral ( maxBound :: Int )
;
: punto y coma en la regla de diseño[Informe lingüístico de Haskell 2010]
f x = let a = 1 ; b = 2
g y = exp2
in exp1
<-
: enlazado a lambda en la expresión do[Informe lingüístico de Haskell 2010]
f = do
x <- getLine
putStrLn x
<-
: "guardia de patrón"[Informe lingüístico de Haskell 2010]
f x
| Just y <- g x =
=>
: contexto (restricción de clase de tipo)[Informe lingüístico de Haskell 2010]
subtract :: ( Num a ) => a -> a -> a
subtract x y = y - x
?
: "Parámetros implícitos"[Guía del usuario de GHC]
sort :: ( ? cmp :: a -> a -> Bool ) => [ a ] -> [ a ]
sort = sortBy ? cmp
@
: "como patrón"[Informe lingüístico de Haskell 2010]
f s @ (x : xs) =
@
: "escribir solicitud"[Guía del usuario de GHC]
f = read @ Int
@
: "tipo abstracción"[Guía del usuario de GHC]
class C @ k a where
[]
: "lista vacía" (nula)[ Informe lingüístico de Haskell 2010 ] [ Informe lingüístico de Haskell 2010 ]
null [] = True
null _ = False
[ .. ]
: "secuencia aritmética"[Informe lingüístico de Haskell 2010]
xs = [ 1 .. 10 ]
[ | <- ]
: "lista de comprensión"[Informe lingüístico de Haskell 2010]
xs = [x ^ 2 | x <- [ 1 .. 10 ]]
[| |]
, [e| |]
, [d| |]
, [t| |]
, [p| |]
: Sintaxis de cotización de la plantilla Haskell (expresión, declaración, tipo y patrón)[Guía del usuario de GHC]
add1 x = [ | x + 1 | ]
[varid| |]
: Plantilla de sintaxis de cuasicomillas de Haskell[Guía del usuario de GHC]
greet name = [ interpolate | Hello, #name! |]
[|| ||]
: Sintaxis de cotización de Haskell de plantilla mecanografiada[Guía del usuario de GHC]
add1 x = [ || x + 1 || ]
_
: "patrón comodín"[Informe lingüístico de Haskell 2010]
f Red =
f Blue =
f _ =
_
: identificadores no utilizados que comienzan con guión bajo[Guía del usuario de GHC] [Informe de idioma de Haskell 2010]
_w = True -- No warning: _w starts with an underscore
_
: "agujero escrito" (nivel de expresión)[Guía del usuario de GHC]
sum xs = foldr _ 0 xs
_
: "tipo comodín" (nivel de tipo)[Guía del usuario de GHC]
not' :: Bool -> _
not' x = not x
_
: "comodín de restricciones adicionales"[Guía del usuario de GHC]
arbitCs :: _ => a -> String
_
: "Guiones bajos numéricos"[Guía del usuario de GHC]
million = 1_000_000
->
: "abstracción lambda"[Informe lingüístico de Haskell 2010]
add1 = x -> x + 1
case ->
: "LambdaCase"[Guía del usuario de GHC]
f = case
Red -> 2
Blue -> 1
_ -> 0
` `
: "notación infija" - un identificador encerrado entre acentos graves[Informe lingüístico de Haskell 2010]
div10 x = x `div` 10
{ }
: llave en la regla de diseño[Informe lingüístico de Haskell 2010]
f x = case x of { Nothing -> False ; Just _ -> True }
{ }
: "sintaxis de registro" (tipos de datos con etiquetas de campo)[Informe lingüístico de Haskell 2010]
data MyPoint = Point { x :: Int , y :: Int }
{..}
: "comodín de registro"[Guía del usuario de GHC]
f Vec { .. } =
{-# #-}
: "pragma del compilador"[ Informe de idioma de Haskell 2010 ] [ Guía del usuario de GHC ] [ Guía del usuario de GHC ]
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE GADTs #-}
{-# INLINE fmap #-}
|
: "guardia booleana" (guardia)[Informe lingüístico de Haskell 2010]
clip255 x
| x > 255 = 255
| otherwise = x
|
: "MultiWayIf"[Guía del usuario de GHC]
if | x == " :q " -> quit
| isError x -> errorExit x
| otherwise -> execCommand x
|
: declaración de tipo de datos algebraico[Informe lingüístico de Haskell 2010]
data Maybe a = Nothing | Just a
|
: "dependencia funcional"[Guía del usuario de GHC]
class Foo a b c | a b -> c where
~
: "patrón irrefutable"[Informe lingüístico de Haskell 2010]
f1 ~ (as,bs) =
~
: patrón perezoso cuando Estricto está habilitado[Guía del usuario de GHC]
{-# LANGUAGE Strict #-}
f ~ x =
~
: bandera de pereza[Guía del usuario de GHC]
data T = C ~ a
~
: "restricción de igualdad"[Guía del usuario de GHC]
class ( F a ~ b ) => C a b where