text: define('ace/snippets/haskell', ['require', 'exports', 'module' ], function(require, exports, module) {
  
  
  exports.snippetText = "snippet lang\n\
  	{-# LANGUAGE ${1:OverloadedStrings} #-}\n\
  snippet info\n\
  	-- |\n\
  	-- Module      :  ${1:Module.Namespace}\n\
  	-- Copyright   :  ${2:Author} ${3:2011-2012}\n\
  	-- License     :  ${4:BSD3}\n\
  	--\n\
  	-- Maintainer  :  ${5:email@something.com}\n\
  	-- Stability   :  ${6:experimental}\n\
  	-- Portability :  ${7:unknown}\n\
  	--\n\
  	-- ${8:Description}\n\
  	--\n\
  snippet import\n\
  	import           ${1:Data.Text}\n\
  snippet import2\n\
  	import           ${1:Data.Text} (${2:head})\n\
  snippet importq\n\
  	import qualified ${1:Data.Text} as ${2:T}\n\
  snippet inst\n\
  	instance ${1:Monoid} ${2:Type} where\n\
  		${3}\n\
  snippet type\n\
  	type ${1:Type} = ${2:Type}\n\
  snippet data\n\
  	data ${1:Type} = ${2:$1} ${3:Int}\n\
  snippet newtype\n\
  	newtype ${1:Type} = ${2:$1} ${3:Int}\n\
  snippet class\n\
  	class ${1:Class} a where\n\
  		${2}\n\
  snippet module\n\
  	module `substitute(substitute(expand('%:r'), '[/\\\\]','.','g'),'^\\%(\\l*\\.\\)\\?','','')` (\n\
  	)	where\n\
  	`expand('%') =~ 'Main' ? \"\\n\\nmain = do\\n  print \\\"hello world\\\"\" : \"\"`\n\
  \n\
  snippet const\n\
  	${1:name} :: ${2:a}\n\
  	$1 = ${3:undefined}\n\
  snippet fn\n\
  	${1:fn} :: ${2:a} -> ${3:a}\n\
  	$1 ${4} = ${5:undefined}\n\
  snippet fn2\n\
  	${1:fn} :: ${2:a} -> ${3:a} -> ${4:a}\n\
  	$1 ${5} = ${6:undefined}\n\
  snippet ap\n\
  	${1:map} ${2:fn} ${3:list}\n\
  snippet do\n\
  	do\n\
  		\n\
  snippet λ\n\
  	\\${1:x} -> ${2}\n\
  snippet \\\n\
  	\\${1:x} -> ${2}\n\
  snippet <-\n\
  	${1:a} <- ${2:m a}\n\
  snippet ←\n\
  	${1:a} <- ${2:m a}\n\
  snippet ->\n\
  	${1:m a} -> ${2:a}\n\
  snippet →\n\
  	${1:m a} -> ${2:a}\n\
  snippet tup\n\
  	(${1:a}, ${2:b})\n\
  snippet tup2\n\
  	(${1:a}, ${2:b}, ${3:c})\n\
  snippet tup3\n\
  	(${1:a}, ${2:b}, ${3:c}, ${4:d})\n\
  snippet rec\n\
  	${1:Record} { ${2:recFieldA} = ${3:undefined}\n\
  				, ${4:recFieldB} = ${5:undefined}\n\
  				}\n\
  snippet case\n\
  	case ${1:something} of\n\
  		${2} -> ${3}\n\
  snippet let\n\
  	let ${1} = ${2}\n\
  	in ${3}\n\
  snippet where\n\
  	where\n\
  		${1:fn} = ${2:undefined}\n\
  ";
  exports.scope = "haskell";
  
  });
  