Yes, I used the GHCJS code as a starting point for Remote GHCi - the
implementation of TH in Remote GHCi is very similar to GHCJS. Luite and
I have chatted about this in person, and I believe he intends to try to
merge them at some point.
Remote GHCi should make it possible to do TH with a cross-compiler,
though you still need to be able to run code on the target platform at
compile-time, like GHCJS does with nodejs.
Cheers,
Simon
On 08/01/2016 07:18, Moritz Angermann wrote:
I’m not sure how much I can actually contribute to this, but I’ll just add a
few pointers to nothing gets lost. I’m not very familiar with remote ghci, but
I
think that there is some overlap between remote ghci and out of process template
haskell compilation[1][2]. Most of ghcjs’s TH code is in src/Gen2/TH.hs.
To be honest, I haven’t had much time last year to do anything for the out of
process th stuff. I’m planing to get back at oopth, once we got
shaking-up-ghc[3]
to build cross compilers properly. From the looks of it, that could be soon :)
I only know about the ghcjs repl[4] through twitter. I’m certain luite can
share a
lot more here.
With respect to remote ghci, I haven’t had much time to look into it. The main
focus
of out of process th (for me) was getting TH to work for cross compiler, which
means
shipping code to a remote process through some kind of channel that the remote
allows*.
Hope this might help in some way.
Cheers,
Moritz
[1]: https://github.com/ghcjs/ghcjs/wiki/Porting-GHCJS-Template-Haskell-to-GHC
[2]: https://github.com/angerman/oopth
[3]: https://github.com/snowleopard/shaking-up-ghc
[4]: https://twitter.com/acid2/status/614076905990582272/photo/1
[*]: E.g. getting this to work for iOS.
On Jan 8, 2016, at 2:01 PM, Edward Z. Yang <[email protected]> wrote:
I was reviewing some history here, and I realized
that the GHCJS folks had previous implemented this:
https://mail.haskell.org/pipermail/ghc-devs/2015-November/010478.html
What ever happened to this line of work? Does remote GHCi
subsume it?
Edward
Excerpts from Simon Marlow's message of 2015-11-17 02:10:55 -0800:
Hi folks - I've been thinking about changing the way we run interpreted
code so that it would be run in a separate process. It turns out this
has quite a few benefits, and would let us kill some of the really
awkward hacks we have in GHC to work around problems that arise because
we're running interpreted code and the compiler on the same runtime.
I summarised the idea here: https://ghc.haskell.org/trac/ghc/wiki/RemoteGHCi
I'd be interested to hear if anyone has any thoughts around this,
particularly if doing this would make your life difficult in some way.
Are people relying on dynCompileExpr for anything?
Cheers,
Simon
_______________________________________________
ghc-devs mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs