Difference between revisions of "Yhc/Erlang/Proof of concept"

From HaskellWiki
< Yhc
Jump to navigation Jump to search
(TOC)
 
(intro-1)
Line 2: Line 2:
   
 
==Introduction==
 
==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.
  +
 
==Goals==
 
==Goals==
 
==Implementation details==
 
==Implementation details==

Revision as of 02:27, 15 May 2008

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.

Goals

Implementation details

Erlang core overview

Haskell on BEAMs ;)

Lazy computations

Haskell objects

Thunks

Data constructors

Special cases

Haskell calling Erlang

General calling convention

Primitive calls

Hardcoded BIFs

Erlang calling Haskell

Typed processes

Spawning processes

Receiving messages

Sending messages

Examples

Factorial

Merging lists

Ping-pong