Thread View: comp.lang.functional
5 messages
5 total messages
Started by Dimitry Golubovsky
Sun, 08 Jun 2003 20:56
Haskell Virtual Machine?
Author: Dimitry Golubovsky
Date: Sun, 08 Jun 2003 20:56
Date: Sun, 08 Jun 2003 20:56
31 lines
2503 bytes
2503 bytes
Hi All, I am looking into development of "Haskell virtual machine". Current Haskell implementtaions usually compile Haskell source into some code in C (containing description of the graph to reduce), and then it is passed through a regular C compiler, combined with runtime and then a pretty big executable is produced. What I am looking into: to strip the runtime into a shared chunk of code (like Java virtual machine is the same executable for every Java program), and store the pieces of graph (functions) as something like loadable Java classes (binary files also shared between different programs) with possibility of loading on demand (so these files might be primary output from the compiler). I haven't looked into details of each Haskell runtime implementation; maybe there exist some papers decribing their internals. I also hope that developers of Haskell implementations read these newsgroups, so maybe some of them might suggest better ways of conversion of their existing runtime into a virtual machine (or totally discourage me from doing that). What might be helpful: information how to understand the structure of the C code generated to describe a graph. I tried to search Google for "Haskell virtual machine", but results were mostly related to bridging of Java VM and Haskell what is not I am looking for. Has anyone tried to do such a conversion? Maybe such a project already exists? I will appreciate any input. PS If you want to contact me via e-mail please write to dimitry at golubovsky dot org: the address found in this message's header is indeed a spam trap.
Re: Haskell Virtual Machine?
Author: Bernard James POPE
Date: Mon, 09 Jun 2003 02:49
Date: Mon, 09 Jun 2003 02:49
36 lines
1983 bytes
1983 bytes
golubovsky@mail.ru (Dimitry Golubovsky) writes: >Hi All, >I haven't looked into details of each Haskell runtime >implementation; maybe there exist some papers decribing their >internals. Yes, especially the "G machine" and the "STG machine". Google for these terms and you will find some information. This paper is worth reading: "Implementing lazy functional languages on stock hardware: the Spineless Tagless G-machine ", by Simon Peyton Jones Also there are links to some papers from the GHC website: http://haskell.cs.yale.edu/ghc/ look under documentation. >Has anyone tried to do such a conversion? Maybe such a project already >exists? There is also the "Lazy Virtual Machine", which might do a lot of what you are interested in. See: www.cs.uu.nl/~daan/papers/lvm.pdf Helium (a language like Haskell) uses it: http://www.cs.uu.nl/helium/ Cheers, Bernie.
Re: Haskell Virtual Machine?
Author: Steffen Haugk
Date: Mon, 09 Jun 2003 07:54
Date: Mon, 09 Jun 2003 07:54
45 lines
3146 bytes
3146 bytes
I know it is not a virtual Haskell machine, but have a look at Peyton Jones' baby C--, a portable assembly language. http://www.cminusminus.org/ hth, Steffen On 8 Jun 2003 13:56:33 -0700, golubovsky@mail.ru (Dimitry Golubovsky) wrote: >Hi All, > >I am looking into development of "Haskell virtual machine". Current >Haskell implementtaions usually compile Haskell source into some code >in C (containing description of the graph to reduce), and then it is >passed through a regular C compiler, combined with runtime and then a >pretty big executable is produced. What I am looking into: to strip >the runtime into a shared chunk of code (like Java virtual machine is >the same executable for every Java program), and store the pieces of >graph (functions) as something like loadable Java classes (binary >files also shared between different programs) with possibility of >loading on demand (so these files might be primary output from the >compiler). I haven't looked into details of each Haskell runtime >implementation; maybe there exist some papers decribing their >internals. I also hope that developers of Haskell implementations read >these newsgroups, so maybe some of them might suggest better ways of >conversion of their existing runtime into a virtual machine (or >totally discourage me from doing that). > >What might be helpful: information how to understand the structure of >the C code generated to describe a graph. > >I tried to search Google for "Haskell virtual machine", but results >were mostly related to bridging of Java VM and Haskell what is not I >am looking for. >Has anyone tried to do such a conversion? Maybe such a project already >exists? >I will appreciate any input. >PS If you want to contact me via e-mail please write to dimitry at >golubovsky dot org: the address found in this message's header is >indeed a spam trap.
Re: Haskell Virtual Machine?
Author: Peter Simons
Date: Mon, 09 Jun 2003 16:09
Date: Mon, 09 Jun 2003 16:09
8 lines
1348 bytes
1348 bytes
Dimitry Golubovsky writes: > I am looking into development of "Haskell virtual machine". You are aware of <http://haskell.org/hugs/>, right? It may not be exactly a "virtual machine", but IMHO it's pretty close to one. Peter
Re: Haskell Virtual Machine?
Author: Hans Aberg
Date: Mon, 09 Jun 2003 21:09
Date: Mon, 09 Jun 2003 21:09
16 lines
1822 bytes
1822 bytes
In article <f45cab03.0306081256.169d5a74@posting.google.com>,
golubovsky@mail.ru (Dimitry Golubovsky) wrote:
>I am looking into development of "Haskell virtual machine".
As hinted by the other posts, I have a vague memory that Hugs
http://haskell.org/hugs already works like that. One limitation is that it
cannot execute parallel threads, though. There are some other limitations.
I suggest you inquire in the Haskell and Hugs mailing lists, see
http://haskell.org/.
Hans Aberg * Anti-spam: remove "remove." from email address.
* Email: Hans Aberg <remove.haberg@member.ams.org>
* Home Page: <http://www.math.su.se/~haberg/>
* AMS member listing: <http://www.ams.org/cml/>
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads