Re: [Haskell-cafe] Erlang VM in Haskell
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
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
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
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/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