We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
GHC Language Extensions • Andrew McMiddlin • YOW! 2019
Explore the latest GHC language extensions, including syntactic sugar, type variables, and more, and learn how to use them to write more concise and expressive Haskell code.
- Syntactic sugar extension: allows for nicer syntax and abstraction in code
 - 
Type variables: can be scoped to lexical scope using 
scopepragmas - Generalize new type deriving: can derive instances for new types based on existing types
 - Flexible instances: allows for type classes with more than one parameter
 - Multi-way if: allows for more concise if-else statements
 - Type class instances: in Haskell 2010, instance types must have a type constructor
 - Functional dependencies: can express dependent relationships between type variables
 - Record wildcards: allows for pattern matching on record fields without specifying
 - Overloaded strings: allows for using string literals as any type that can be coerced to a string
 - Tuple sections: allows for partially applied tuple constructors
 - Roles: introduced to clarify which type of equality is being used in type class instances
 - Flexible contexts: allows for ambiguous instances, but can lead to inconsistent results
 - Ghci: a way to interact with the Haskell compiler and explore code without compiling it
 - Haskell 2010: defines the standard syntax and semantics of the Haskell language
 - Language pragmas: allow for enabling or disabling language extensions in specific parts of code