# Haskell ## Misc ### Syntax ```=hs func x = if [state] then [] else [] func x = if [state] then [] else [] ``` ### List add ``` [list1] ++ [list2] element : [list] ``` get element by index ``` list !! index ``` functions ``` head l: l[0] tail l: l[1:] last l: l[-1] init l: l[:-1] length null l: checks if l is empty reverse take a: [:a] drop a: [a:] maximum minimum sum product elem a list: if a in list cycle l: infinite list of repeat l repeat a: infinite list of a replicate a b: list of element b of a times ``` range ``` [1..3] = [1,2,3] ['a'..'c'] = ['a','b','c'] ``` list comprehension ``` example: [x | x <- [1..3]] [x | x <- [1..3], x > 2] [if x > 0 then "yee" else "nah" | x <- xs, odd x] [x * y | x <- [1..3], y <- [4..6]] ``` zip ### Operator ``` /= ``` ### Infix function ``` func arg1 arg2 arg1 `func` arg2 ```