[Haskell-cafe] Hack on the Delve core, with Delve and Haskell

spoon spoon at killersmurf.com
Tue Aug 11 09:57:28 EDT 2009

Delve is a new programming language intended to bring the benefits of
static type checking and functional programming to object-oriented
design and development.   It is an impure, eager language (Yes I can
hear the groans of woe and cries for sanity already!)

Currently Delve supports:

Higher-order functions/first class functions
Anonymous functions
Lexical closures
First class continuations
Tail-call optimization
A meta-object model (classes are objects)
S-Expression based syntax.
Embedded Haskell expressions within Delve.

What it doesn't have:
Lots and lots!
Basically what I have is an de-sugared, untyped core language.  An
analogy could be made with Haskell core files.
I'm going to be working on the type system for next little while (I have
a stack of paper and a pen right here!).  Once that is implemented we'll
see where to go.

Please see the TUTORIAL file included in the source for a brief outlook
on Delve's syntax, semantics and planned type system.

However!  If you're looking for a new project, and especially if you are
an undergraduate, then I think Delve would be a good choice for these

It's written in a hybrid of Haskell and itself.
It's currently undergoing active development (by me and some pals).
You're not going to be lonely!
It's quite powerful already, without too many lines of code (it's now
just about 5.5KLOC - it's no goliath! )
It's a programming language: name a compiler which isn't a cool piece of
tech!  Ok, maybe you can but still, it's a chance to work on something
non-trivial and interesting.
Quite honestly, I'm a bit of a fool - I am a math undergrad!  So don't
you feel foolish about getting involved if you're not a professorial
chap!  If you feel like it, get involved in the design, and push me the
patches :)

It does require lots of love though!  It was all hacked out rather
quickly :)

Executables which Delve provides:

edc -- The Elgin Delve Compiler

The Elgin Delve Compiler currently supports two backends - the first to
a bytecode format for execution on edvm, and the second is to a Haskell
source code representation of Delve bytecode.  This allows Haskell to be
embedded within Delve, for the express purpose of extending and building
edvm.  edc is written in Haskell (GHC).

edvm -- The Elgin Delve Virtual Machine
The Elgin Delve Virtual Machine executes Delve bytecode files (.dcode
format).  Since part of the VM is actually driven by Delve bytecode,
edvm can be considered a hybrid of Delve and Haskell (again GHC).

Delve continues the grand tradition of naming compilers after Scottish
Cities (no, Elgin does not have a university).

Delve is released under the terms of the GNU GPLv3.

For more information on Delve, check my blog at
http://killersmurf.blogspot.com/ and the Delve repository at

-- John

More information about the Haskell-Cafe mailing list