How to get started with a new backend?
marlowsd at gmail.com
Mon Jan 28 17:36:04 CET 2013
On 28/01/13 06:35, Christopher Done wrote:
>> The trac claims that ghc can compile itself to C so that only standard gnu C tools are needed to build an unregistered compiler.
> Wait, it can? Where's that?
It used to be able to. Nowadays we cross-compile.
> On 28 January 2013 02:15, Jason Dagit <dagitj at gmail.com> wrote:
>> I would like to explore making a backend for .NET. I've done a lot of
>> background reading about previous .NET and JVM attempts for Haskell. It
>> seems like several folks have made significant progress in the past and,
>> with the exception of UHC, I can't find any code around the internet from
>> the previous efforts. I realize that in total it's a huge undertaking and
>> codegen is only one of several significant hurdles to success.
>> I would like to get a very, very, very simple translation working inside
>> GHC. If all I can compile and run is fibonacci, then I would be quite happy.
>> For my first attempt, proof of concept is sufficient.
>> I found a lot of good documentation on the ghc trac for how the compilation
>> phases work and what happens in the different parts of the backend. The
>> documentation is excellent, especially compared to other compilers I've
>> looked at.
>> When I started looking at how to write the code, I started to wonder about
>> the "least effort" path to getting something (anything?) working. Here are
>> some questions:
>> * Haskell.NET seems to be dead. Does anyone know where their code went?
>> * Did lambdavm also disappear? (JVM I know, but close enough to be useful)
>> * Would it make sense to copy&modify the -fvia-C backend to generate C#?
>> The trac claims that ghc can compile itself to C so that only standard gnu C
>> tools are needed to build an unregistered compiler. Could I use this trick
>> to translate programs to C#?
>> * What stage in the pipeline should I translate from? Core? STG? Cmm?
>> * Which directories/source files should I look at to get familiar with the
>> code gen? I've heard the LLVM codegen is relatively simple.
>> * Any other advice?
>> Thank you in advance!
>> Glasgow-haskell-users mailing list
>> Glasgow-haskell-users at haskell.org
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users at haskell.org
More information about the Glasgow-haskell-users