Merge pull request #96 from jb55/haskell

Haskell snippets
This commit is contained in:
Honza Pokorny 2012-04-30 12:41:39 -07:00
commit e346e77c2f

75
snippets/haskell.snippets Normal file
View File

@ -0,0 +1,75 @@
snippet lang
{-# LANGUAGE ${1:OverloadedStrings} #-}
snippet info
-- |
-- Module : ${1:Module.Namespace}
-- Copyright : ${2:Author} ${3:2011-2012}
-- License : ${4:BSD3}
--
-- Maintainer : ${5:email@something.com}
-- Stability : ${6:experimental}
-- Portability : ${7:unknown}
--
-- ${8:Description}
--
snippet inst
instance ${1:Monoid} ${2:Type} where
${3}
snippet type
type ${1:Type} = ${2:Type}
snippet data
data ${1:Type} = ${2:$1} ${3:Int}
snippet newtype
newtype ${1:Type} = ${2:$1} ${3:Int}
snippet class
class ${1:Class} a where
${2}
snippet module
module ${1:Module} (
${2}
) where
snippet const
${1:name} :: ${2:a}
$1 = ${3:undefined}
snippet fn
${1:fn} :: ${2:a} -> ${3:a}
$1 ${4} = ${5:undefined}
snippet fn2
${1:fn} :: ${2:a} -> ${3:a} -> ${4:a}
$1 ${5} = ${6:undefined}
snippet ap
${1:map} ${2:fn} ${3:list}
snippet do
do
snippet λ
\${1:x} -> ${2}
snippet \
\${1:x} -> ${2}
snippet <-
${1:a} <- ${2:m a}
snippet ←
${1:a} <- ${2:m a}
snippet ->
${1:m a} -> ${2:a}
snippet →
${1:m a} -> ${2:a}
snippet tup
(${1:a}, ${2:b})
snippet tup2
(${1:a}, ${2:b}, ${3:c})
snippet tup3
(${1:a}, ${2:b}, ${3:c}, ${4:d})
snippet rec
${1:Record} { ${2:recFieldA} = ${3:undefined}
, ${4:recFieldB} = ${5:undefined}
}
snippet case
case ${1:something} of
${2} -> ${3}
snippet let
let ${1} = ${2}
in ${3}
snippet where
where
${1:fn} = ${2:undefined}