Difference between revisions of "User:ConradParker/InstantInsanity"

From HaskellWiki
Jump to navigation Jump to search
(add link to darcs repo)
(add BibTex entry)
 
(7 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 The Haskell Type System by presenting a complete type-level program.
+
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.
 
  +
Familiarity with the syntax of the Haskell Type System is a prerequisite for
Only after building an understanding of the syntactical oddities and
 
  +
understanding the details of general Haskell programming. What better way to
transformations involved in programming in The Haskell Type System do we consider the practical aspects of using these techniques in conventional Haskell programming.
 
  +
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)
  +
  +
* [http://sneezy.cs.nott.ac.uk/darcs/TMR/Issue8/instant-insanity.lhs Literate Haskell source]
  +
  +
* [[User_talk:ConradParker/InstantInsanity|Wiki talk page for discussion]]
   
  +
=== BibTex Entry ===
   
  +
<pre>
* darcs get http://seq.kfish.org/instant-insanity/
 
  +
@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?

BibTex Entry

@article{parker:tlii,
	Author = {Conrad Parker},
	Journal = {The Monad.Reader},
	Month = {September},
	Title = {{Type-Level Instant Insanity}},
	Volume = {Issue Eight},
	Year = {2007}
}