On Jul 3, 2013, at 5:13 PM, B B <blackbox.dev...@gmail.com> wrote:
>> >> I think GHCJS should be able to compile all Haskell code in GHC, but we >> haven't tested this yet. The tricky bit is probably getting foreign code >> work, and creating a working installation that includes all other things, >> like libraries and a package database. Usually, GHCi loads object files for >> the libraries when running Haskell code. Obviously you can't run machine >> code with JavaScript, so you'd have to find a way around it. GHCJS includes >> an IO layer, which can be used to set up a virtual filesystem [2], but the >> API is far from finished. > Nice to hear that - we are concidering using GHCJS heavly in our project. We > dont have many people and this is free-time "driven" project for now, but we > would love to cooperate with you - help with GHCJS development and work > together to make it suitable for the project we are working on. > > >> Ah it's much easier if the code can be compiled on the server. This is more >> or less what Daniil Frumin is doing for his Google Summer of Code project >> [3]. We are using GHC on the server for non-interactive things, and GHCJS to >> compile interactive code that is run on the client. Our main goal is to get >> interactive graphics with the diagrams [4] library working. >> Currently he is working on building a good sandbox for the compiler on the >> server (With SELinux, rlimits and cgroups) so that we can compile code, and >> run Template Haskell safely. I'm working on improving the GHCJS linker, so >> that we can support incremental code loading more easily (so users can >> download just the code for the new function they wrote, instead of the whole >> program every time) > > That's very interesting. We want to use GHCJS EXACTLY for this - we want to > compile the code on the server and run it in the users browesr BUT we dont > want to load the whole program everytime a function is changed - only this > particular function. > Additional (which is NOT the same) - while writing a function - we want to > interactively execute it's "body" on the client side - but this requires > something like interpreter on the user client (please see below for > explanation). But we are thinking right now about it and its architecture, so > we will be in touch in this topic with you :) > > >> I have a very crude example of this type here: >> >> http://hdiff.luite.com/reduce/ > > This is not exactly the kind of thing I'm talking about. > Think about something like matlab simulink or labview - functions are > representaed by "nodes" (rectangles) connected with other functions by lines. > Lines are "sending data" between these nodes. > So user is connecting these blocks - each block is like a function > application on data - so adding a block is like adding a new line in Haskell > .hs file. We want user to be able to interactively add such nodes (apply > further functions on already processed and cached data - every "node" caches > processed data) and process the data further - If I didn't explained this > simple enought, I will try harder. Such thing needs something like client > side interpreter I think ... > >> When we have the SELinux sandbox working, I plan to work on this again, so >> that users can enter/compile their own code. > > When do you plan roughtly to release it? We are strongly interested in > testing and using it :) As Luite has pointed out we plan on releasing the first public beta within a month and we are hoping to ship full-featured easily extensible documented version by the end of the summer. > _______________________________________________ > 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