Personal tools

Yhc/Erlang/Proof of concept

From HaskellWiki

Jump to: navigation, search


1 Introduction

This Wiki page describes an experiment targeting execution of Haskell programs on top of the Erlang Virtual Machine (BEAM). Haskell source code is compiled to Yhc Core with York Haskell Compiler (Yhc), then the program further discussed converts Yhc Core to Core Erlang; finally Erlang Compiler (erlc) compiles Core Erlang to the BEAM file format which can be loaded and executed by the Erlang VM.

2 Goals

3 Implementation details

3.1 Erlang core overview

3.2 Haskell on BEAMs ;)

3.3 Lazy computations

3.4 Haskell objects

3.4.1 Thunks

3.4.2 Data constructors

3.4.3 Special cases

3.5 Haskell calling Erlang

3.5.1 General calling convention

3.5.2 Primitive calls

3.5.3 Hardcoded BIFs

3.6 Erlang calling Haskell

3.7 Typed processes

3.7.1 Spawning processes

3.7.2 Receiving messages

3.7.3 Sending messages

4 Examples

4.1 Factorial

4.2 Merging lists

4.3 Ping-pong