3

I'm looking around for a modern tool chain to help in developing a small programming language/DSL. I would like to explore Phoenix from MS Research, but it looks like a dead project. Is that the case, and should I be looking elsewhere?

I'd like to target CIL with Phoenix, but would definitely consider LLVM (or other) if that was the best tool chain to use.

IgorekPotworek
  • 1,317
  • 13
  • 33
Andrew Matthews
  • 3,006
  • 2
  • 29
  • 42

2 Answers2

2

To the best of my knowledge, Phoenix is dead. I am not a Microsoft employee though.

LLVM is being very actively developed, but it may be an overkill for a small DSL, especially if you want to target a managed runtime that has its own JIT compiler.

Dmitry Leskov
  • 3,233
  • 1
  • 20
  • 17
  • Thanks Dmitry, That's how it appears. Can you suggest a good compromise alternative? Preferable in the MS tech stack? – Andrew Matthews Feb 29 '12 at 04:21
  • for what it's worth, the DSL may morph into a general purpose language, and it's a recreational project anyway, so overkill is not a problem ;-). – Andrew Matthews Feb 29 '12 at 04:23
  • As we are a JVM vendor and our consulting business revolves around Java, C/C++, and (surprise!) Modula-2, I have to admit that I am almost totally ignorant of what is going on around CLR. That said, there is a handful of Mono-compatible compilers (http://www.mono-project.com/Languages) - perhaps you could fork one of those so as to not reinvent the wheel? – Dmitry Leskov Feb 29 '12 at 07:19
  • 1
    _To the best of my knowledge, Phoenix is dead._ It will reborn. – drowa Apr 30 '14 at 23:53
1

Irony is a development kit for implementing languages on the .NET platform. The Mono stack also has some tools to help writing out IL assemblies - I'm thinking of Cecil in particular.

Another approach would be to output C# from your DSL. That would give you a higher-level 'target' language for your DSL.

Govert
  • 16,387
  • 4
  • 60
  • 70