Over the years there have been many projects which seek to use advanced types to provide better static-guarantees in low level languages. There are many examples of this in the literature; here are just a few: Cyclone, perhaps the most-cited example of using types to protect memory in low-level settings. Habit, a proposed Haskell dialect [...]
All posts for the month May, 2010
Announcing Potential: x86-64 assembler as a Haskell EDSL
Posted by intoverflow on 21 May, 2010
http://intoverflow.wordpress.com/2010/05/21/announcing-potential-x86-64-assembler-as-a-haskell-edsl/
Optional class constraints in Haskell
Work on my Haskell EDSL is moving ever onward. Today I want to talk about a trick I found while working on it. (Along the way I’ll make some allusions to the EDSL, but I want to forestall announcing the EDSL for another week or so, in the interest of ensuring it’s fully baked.)
Posted by intoverflow on 18 May, 2010
http://intoverflow.wordpress.com/2010/05/18/optional-class-constraints-in-haskell/
Polymorphic first class labels
(This post uses GHC 6.12.1) The expression “first class labels” refers to the idea that, for record data types, one should be able to pass around the labels just as they would any other type. For instance, if I have a record like data Foo a b = { biz :: a, baz :: b [...]
Posted by intoverflow on 9 May, 2010
http://intoverflow.wordpress.com/2010/05/09/polymorphic-first-class-labels/
Some weird interactions between Monomorphism Restriction and Template Haskell
Today I’m going to look at a weird issue I encountered this past weekend while working on a DSL in Haskell. I’ll start with the code. As this example uses Template Haskell, we need to have the source broken up into two files: Testa.hs: {-# LANGUAGE TemplateHaskell #-} module Testa where import Language.Haskell.TH someth = [...]
Posted by intoverflow on 4 May, 2010
http://intoverflow.wordpress.com/2010/05/04/some-weird-interactions-between-monomorphism-restriction-and-template-haskell/



