############################################################################### ############################################################################### ############################################################################### #group extensions ############################################################################### ############################################################################### ############################################################################### ############################################################################### ## MultiWayIf #test multiwayif 1 {-# LANGUAGE MultiWayIf #-} func = if | cond1 -> loooooooooooooooooooooooooooooong expr1 | cond2 -> loooooooooooooooooooooooooooooong expr2 #test multiwayif 2 {-# LANGUAGE MultiWayIf #-} func = do foo bar $ if | cond1 -> loooooooooooooooooooooooooooooong expr1 | cond2 -> loooooooooooooooooooooooooooooong expr2 ############################################################################### ## LambdaCase #test lambdacase 1 {-# LANGUAGE LambdaCase #-} func = \case FooBar -> x Baz -> y ############################################################################### ## ImplicitParams #test ImplicitParams 1 {-# LANGUAGE ImplicitParams #-} func :: (?asd::Int) -> () #test ImplicitParams 2 {-# LANGUAGE ImplicitParams #-} func :: ( ?asd :: lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd -> lkasdlkjalsdjlakjsdlkjasldkjalskdjlkajsd ) -> () ############################################################################### ## RecursiveDo #test recursivedo 1 {-# LANGUAGE RecursiveDo #-} foo = do rec a <- f b b <- g a return (a, b) #test recursivedo 2 {-# LANGUAGE RecursiveDo #-} foo = do rec -- comment a <- f b b <- g a return (a, b)