

Getting started with JetBrains Nitra - bleakgadfly
http://timjones.tw/blog/archive/2014/11/24/getting-started-with-jetbrains-nitra

======
skrebbel
If you're interested in stuff like this, be sure to also check out Rascal:

[http://www.rascal-mpl.org](http://www.rascal-mpl.org)

The focus is slightly different: Rascal focuses more on automated code
transformations and less on being a syntax highlighting service for editors.
But Rascal is remarkably powerful and surprisingly accessible.

Basically, Rascal allows you to build Lispy macros in any language. Or to
easily parse-and-transform new languages. Or to design entirely new languages
and transpile them into something existing. To drive the point home,
CoffeeScript, Nimrod and Sass could've easily been built with Rascal.

~~~
Araq
As the primary author of Nimrod I disagree. ;-) And to be blunt: I know the
person has no idea of what he talks about when he uses the word "transpile".

~~~
skrebbel
Ha! Honoured to have you reply to my comment, sir :-)

I wonder, what is the primary reason you believe a tool like Rascal couldn't
be the engine behind the Nimrod compiler?

(btw, I didn't mean to imply that making the Nimrod compiler is easy in any
language - I guess the "easy" word applies more to CoffeeScript and Sass in my
previous comment)

Regarding the word "transpile" \- that was long the common name given to e.g.
the CoffeeScript compiler and only recently got out of fashion for obvious
reasons. Mind that not everyone who uses an outdated term is entirely
clueless. :-)

------
sqs
Interesting. It looks like it doesn't support type information yet, but it's
coming in milestone 2. I started an open-source project called srclib that's
creating toolchains to type-analyze and dependency-analyze source code in
multiple languages: [https://srclib.org/](https://srclib.org/). It might be of
interest to folks working with or using Nitra.

~~~
MrBuddyCasino
Nice! It went a little unnoticed in all the noise, but Facebook's Flow project
might be of interest here. Its not "just" an advanced type-checker, but it
seems it was intended for IDE tooling as well, but I suspect FB wants to keep
that internal for now. There is a project on Github, someone created a VIM
plugin based on Flow.

------
Robadob
Given it's ability to integrate with visual studio, it will be worth watching
to see whether someone's able to use it to fix the CUDA integration
highlighting/intellisense faults which appeared somewhere after visual studio
2008.

------
CmonDev
Lack of PCL support makes it's applicability quite limited in today's multi-
platform world. Hope they will fix this flaw before releasing.

Awesome project nevertheless.

~~~
tgjones
I meant to mention that in the blog post - great point. I really hope PCL
support is added. (You could add your support to this issue:
[https://github.com/JetBrains/Nitra/issues/7](https://github.com/JetBrains/Nitra/issues/7))

Whether it happens or not probably depends on how JetBrains themselves plan to
use Nitra; hopefully they intend to use it in their cross-platform products.

------
jimmcslim
I've pondered whether this could be used to build better navigation and
refactoring tools for Delphi than the official Embarcadero ones, which are
frankly dire.

------
mataug
Downloaded without realising this was a c# project, and requires visual
studio. I'm on linux dammit.

~~~
tgjones
Yeah, sorry. I should mention that in the readme. Of course, if Nitra gets
cross platform support, that would be even better.

~~~
Igglyboo
Any idea if it works with Mono?

------
SNvD7vEJ
How does Nitra compare to Xtext?

