Personal tools

User:ConradParker/InstantInsanity

From HaskellWiki

< User:ConradParker(Difference between revisions)
Jump to: navigation, search
(initial text)
 
(add BibTex entry)
 
(8 intermediate revisions by one user not shown)
Line 1: Line 1:
  +
[[Category:Tutorials]]
  +
[[Category:Type-level_programming]]
  +
 
'''Type-Level Instant Insanity'''
 
'''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.
+
<blockquote>
Programming at this level is often considered an obscure art with little
+
We illuminate some of the techniques used to perform computations in the Haskell
practical value, but it need not be so.
+
Type System by presenting a complete type-level program. Programming at this
We introduce constructs equivalent to list comprehensions, maps and filters
+
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.
of conventional functional programming, and in so doing make clear the
+
</blockquote>
mechanical techniques required to construct programs in this manner.
+
Only after building an understanding of the syntactical oddities and
+
Familiarity with the syntax of the Haskell Type System is a prerequisite for
transformations involved in programming in The Haskell Type System do we consider the practical aspects of using these techniques in conventional Haskell programming.
+
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)
  +
  +
* [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>
  +
@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?

[edit] BibTex Entry

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