Difference between revisions of "User:ConradParker/InstantInsanity"
Jump to navigation
Jump to search
ConradParker (talk | contribs) m (add link to wiki talk page) |
ConradParker (talk | contribs) (add BibTex entry) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | [[Category:Tutorials]] |
||
+ | [[Category:Type-level_programming]] |
||
+ | |||
'''Type-Level Instant Insanity''' |
'''Type-Level Instant Insanity''' |
||
+ | <blockquote> |
||
− | We illuminate some of the techniques used to perform computations in |
+ | We illuminate some of the techniques used to perform computations in the Haskell |
− | Programming at this level is often considered an obscure art with little |
||
+ | Type System by presenting a complete type-level program. Programming at this |
||
− | practical value, but it need not be so. |
||
+ | level is often considered an obscure art with little practical value, but it need not be so. We tame this magic for the purpose of practical Haskell programming. |
||
− | We introduce constructs equivalent to list comprehensions, maps and filters |
||
+ | </blockquote> |
||
− | of conventional functional programming, and in so doing make clear the |
||
− | mechanical techniques required to construct programs in this manner. |
||
− | Only after building an understanding of the syntactical oddities and |
||
− | transformations involved in programming in The Haskell Type System do we consider the practical aspects of using these techniques in conventional Haskell programming. |
||
+ | Familiarity with the syntax of the Haskell Type System is a prerequisite for |
||
+ | understanding the details of general Haskell programming. What better way to |
||
+ | build familiarity with something than to hack it to bits? |
||
+ | * This tutorial was published in [[Media:TMR-Issue8.pdf#page=21|The Monad.Reader Issue 8]] (PDF) |
||
− | * darcs get http://seq.kfish.org/instant-insanity/ |
||
+ | |||
+ | * [http://sneezy.cs.nott.ac.uk/darcs/TMR/Issue8/instant-insanity.lhs Literate Haskell source] |
||
* [[User_talk:ConradParker/InstantInsanity|Wiki talk page for discussion]] |
* [[User_talk:ConradParker/InstantInsanity|Wiki talk page for discussion]] |
||
+ | |||
+ | === BibTex Entry === |
||
+ | |||
+ | <pre> |
||
+ | @article{parker:tlii, |
||
+ | Author = {Conrad Parker}, |
||
+ | Journal = {The Monad.Reader}, |
||
+ | Month = {September}, |
||
+ | Title = {{Type-Level Instant Insanity}}, |
||
+ | Volume = {Issue Eight}, |
||
+ | Year = {2007} |
||
+ | } |
||
+ | </pre> |
Latest revision as of 10:26, 7 November 2007
Type-Level Instant Insanity
We illuminate some of the techniques used to perform computations in the Haskell Type System by presenting a complete type-level program. Programming at this level is often considered an obscure art with little practical value, but it need not be so. We tame this magic for the purpose of practical Haskell programming.
Familiarity with the syntax of the Haskell Type System is a prerequisite for understanding the details of general Haskell programming. What better way to build familiarity with something than to hack it to bits?
- This tutorial was published in The Monad.Reader Issue 8 (PDF)
BibTex Entry
@article{parker:tlii, Author = {Conrad Parker}, Journal = {The Monad.Reader}, Month = {September}, Title = {{Type-Level Instant Insanity}}, Volume = {Issue Eight}, Year = {2007} }