Hi Tim, When you say "multi-stage programming language" do you have a specific calculus in mind? I think this can mean lots of different things to different people.
This is a topic I have been interested in recently. Cheers, Matt On Fri, Nov 17, 2017 at 6:05 PM, Tim Sheard <[email protected]> wrote: > After many years of hoping someone else would do this, I would like to > make GHC into a true multi-stage programming language. Here is how I > thought I might approach this. > > 1) Use the GHC as a library module. > 2) Use the LLVM backend. > > I have no experience with either of these tools. > Lets start simple, How would I write functions like > > compile :: String -> IO PtrToLLVMCode -- where the string is a small > Haskell program. > llvmCompile :: PtrToLLVMCode -> IO PtrToMachineCode > jumpTo:: PtrToMachineCode -> IO ans -- where ans is the "type" of the > string. > > > Any thoughts on how to get started? What papers to read, examples to look > at? > > I'd love to move to some more disciplined input type, a sort of (mono) typed > program > representation (with similar complexity) to Template Haskell Exp type. > > where (Exp t) is a data structure representing a Haskell program of type t. > > All offers of advice accepted. I'm trying to get started soon, and good > advice > about what to avoid is especially welcome. If any one wanted to help with > this, > that would be great. > > Tim Sheard > > _______________________________________________ > ghc-devs mailing list > [email protected] > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs _______________________________________________ ghc-devs mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
