From 696dc6cff70debe545ec29f402077198d40a0c49 Mon Sep 17 00:00:00 2001 From: Bill Casarin Date: Mon, 30 Apr 2012 15:24:30 -0400 Subject: [PATCH] Haskell snippets --- snippets/haskell.snippets | 75 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 snippets/haskell.snippets diff --git a/snippets/haskell.snippets b/snippets/haskell.snippets new file mode 100644 index 0000000..51cd4e8 --- /dev/null +++ b/snippets/haskell.snippets @@ -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}