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

Reply via email to