# Haskell-RL

From FSL

(under construction)

## Information

Haskell-RL is the result of thesis work done by Andrew Bennett, and demonstrates the use of Maude to specify a lazy evaluation language like Haskell.

Presented to the FSL group during weekly meeting: File:Hrl-group-presentation.pdf

## Distributions

Haskell-RL: An Equational Specification of Haskell in Maude

Paper and Maude implementation can be found on the above link

## Examples

eval( 'fib n |=(==(n,0),0) |=(==(n,1),1) |=(>(n,1), (+('fib (+(n,-2)), ('fib (+(n,-1)))))) , 'fib 14 ) .

eval*( data 'List = dt('Cons, (T,T)) || dt('Nil,()) ; 'fold (f n dt('Cons, (x,l))) = f x ('fold f n l) ; 'fold (f n x) = n ; f 0 = dt('Nil, ()) ; f x = dt('Cons, (x,(f (+(-1,x))))) , Tuple('fold (\ x -> \ y -> +(x,y)) 0 (f 20), 'fold (\ x -> \ y -> *(x,y)) 1 (f 20)) ) .