Recent Changes - Search:

Software

Wiki Docs

NestedVMIntegration

This is probably a way off. But I'd like to integrate LambdaVM and NestedVM sometime. Unfortunately (due to how incredibly easy it is to use C from Haskell) a lot of Haskell libraries depend on C code so this would actually be useful (in addition to being a neat hack).

The basic idea is Addr# (and therefor Ptr and FunPtr) is an int pointing to an address in the NestedVM memory space. readOffAddr# and friends (and therefor peek/poke) would read and write to the arrays that represent NestedVM's memory. foreign imports with the ccall calling convention would turn into org.ibex.nestedvm.Runtime.call(). Foreign exports would generate a stub .c file (that would need to be compiled with nestedvm) that uses the calljava system call to invoke Haskell.

Oddly enough all those functions that were written in C for performance reasons would now probably be slower than the equivalent Haskell code since they'd be executed under NestedVM but at least things would work without rewriting.

Edit - History - Print - Recent Changes - Search
Page last modified on October 30, 2007, at 04:51 PM EDT