🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.lang.functional
5 messages
5 total messages Started by Dimitry Golubovsky Sun, 08 Jun 2003 20:56
Haskell Virtual Machine?
#1129
Author: Dimitry Golubovsky
Date: Sun, 08 Jun 2003 20:56
31 lines
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?
#1130
Author: Bernard James POPE
Date: Mon, 09 Jun 2003 02:49
36 lines
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?
#1131
Author: Steffen Haugk
Date: Mon, 09 Jun 2003 07:54
45 lines
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?
#1132
Author: Peter Simons
Date: Mon, 09 Jun 2003 16:09
8 lines
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?
#1133
Author: Hans Aberg
Date: Mon, 09 Jun 2003 21:09
16 lines
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