Re: [Haskell-cafe] Erlang VM in Haskell

2007-08-16 Thread Neil Bartlett
Joel,

This sounds like an extremely interesting (but very ambitious!)
project, which I would like to get involved with if I have the time.

However, wouldn't it be rather difficult, given that there doesn't
seem to be a publicly available specification for the Erlang VM or the
BEAM file format -- according to this email thread on the
erlang-questions list:

http://www.nabble.com/VM---BEAM-Specs-t4215515.html

Perhaps it would be interesting to look at a slightly more constrained
problem: can Erlang's message passing model (including distributed
messaging across a network) and process monitoring facilities be
replicated in Haskell? In other words, can we build OTP in Haskell?

Regards,
Neil



On 8/16/07, Joel Reymont [EMAIL PROTECTED] wrote:
 Folks,

 I would like to write an Erlang VM in Haskell. I first thought of
 OCaml but Haskell has SMP and lazy evaluation may come in handy.
 Plus, I'll need help in this project like in no other and support
 from the Haskell community has always been outstanding.

 I'm doing this to learn more about the Erlang internals and to
 acquire some skills in the process. I'm also hoping to be at least as
 fast as the existing Erlang VM (written in C) and to be able to
 extend the VM in a functional language.

 With C you can implement a threaded VM using GCC labels or switch-
 style [1]. What is the most efficient approach in Haskell?

 I'm thinking using CPS and building up a chain of closures. Would
 this work well? Any other suggestions?

 The Haskell repo for the initial HEM (Haskell Erlang Machine) is at
 http://darcs.haskell.org/hem. A much improved HAW implementation will
 follow in the not so near future.

 Thanks, Joel

 [1] http://www.complang.tuwien.ac.at/forth/threaded-code.html

 --
 http://wagerlabs.com





 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Erlang VM in Haskell

2007-08-16 Thread Joel Reymont


On Aug 16, 2007, at 1:36 PM, Neil Bartlett wrote:


However, wouldn't it be rather difficult, given that there doesn't
seem to be a publicly available specification for the Erlang VM or the
BEAM file format


Very difficult, correct. I use Erlang daily, in fact Erlang is what  
brings bread to my table. I want to learn more about the Erlang  
insides so I'll simply dig in.



Perhaps it would be interesting to look at a slightly more constrained
problem: can Erlang's message passing model (including distributed
messaging across a network) and process monitoring facilities be
replicated in Haskell?


My ultimate goal is to have a version of the Erlang VM that's  
suitable for running trading systems, i.e. one that allows high-speed  
numerics. I don't have much interest in replicating OTP in Haskell  
and Haskell may ultimately not be the right choice for what I envision.


Thanks, Joel

--
http://wagerlabs.com





___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Erlang VM in Haskell

2007-08-16 Thread Lennart Augustsson
I think Haskell is the right language to nail down the semantics of Erlang
and to prototype an implementation.
For performance, I think Haskell is probably not the right language, because
you need high performing low level code.
This isn't impossible in Haskell, but the implementations are not geared
towards that.

On 8/16/07, Joel Reymont [EMAIL PROTECTED] wrote:


 On Aug 16, 2007, at 1:36 PM, Neil Bartlett wrote:

  However, wouldn't it be rather difficult, given that there doesn't
  seem to be a publicly available specification for the Erlang VM or the
  BEAM file format

 Very difficult, correct. I use Erlang daily, in fact Erlang is what
 brings bread to my table. I want to learn more about the Erlang
 insides so I'll simply dig in.

  Perhaps it would be interesting to look at a slightly more constrained
  problem: can Erlang's message passing model (including distributed
  messaging across a network) and process monitoring facilities be
  replicated in Haskell?

 My ultimate goal is to have a version of the Erlang VM that's
 suitable for running trading systems, i.e. one that allows high-speed
 numerics. I don't have much interest in replicating OTP in Haskell
 and Haskell may ultimately not be the right choice for what I envision.

 Thanks, Joel

 --
 http://wagerlabs.com





 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Erlang VM in Haskell

2007-08-15 Thread Joel Reymont

Folks,

I would like to write an Erlang VM in Haskell. I first thought of  
OCaml but Haskell has SMP and lazy evaluation may come in handy.  
Plus, I'll need help in this project like in no other and support  
from the Haskell community has always been outstanding.


I'm doing this to learn more about the Erlang internals and to  
acquire some skills in the process. I'm also hoping to be at least as  
fast as the existing Erlang VM (written in C) and to be able to  
extend the VM in a functional language.


With C you can implement a threaded VM using GCC labels or switch- 
style [1]. What is the most efficient approach in Haskell?


I'm thinking using CPS and building up a chain of closures. Would  
this work well? Any other suggestions?


The Haskell repo for the initial HEM (Haskell Erlang Machine) is at  
http://darcs.haskell.org/hem. A much improved HAW implementation will  
follow in the not so near future.


Thanks, Joel

[1] http://www.complang.tuwien.ac.at/forth/threaded-code.html

--
http://wagerlabs.com





___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Erlang VM in Haskell

2007-08-15 Thread Chaddaï Fouché
2007/8/16, Joel Reymont [EMAIL PROTECTED]:
 I'm doing this to learn more about the Erlang internals and to
 acquire some skills in the process. I'm also hoping to be at least as
 fast as the existing Erlang VM (written in C)

That don't seem too realistic since the Erlang development team is big
with much backing and very competent hacker behind it and C _is_
faster than Haskell if used properly (I guess you could make the
difference with better algorithms and data structures but that's where
the competence and size of the Erlang team makes it less likely).

But still it seems like a _very_ interesting project and it would be
awesome to have a fast (enough) VM for Erlang in Haskell ! ^^
Good luck !

-- 
Jedaï
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe