Live data from Hacker News

Nimrod: C + Macros + GC

nimrod-code.org

31–40 of 116 posts

Re: Nimrod: C + Macros + GC

#31
What's really amazing about this language is that until only recently it has been developed solely by one person in his spare time no less. It is competing with the likes of Rust and Go which have pretty big companies behind them.

Re: Nimrod: C + Macros + GC

#32

I've been tempted by this one several times. I may have to play around with it and SDL2. One thing that gets me, though, is the var keyword in a statically typed language. Why say "var thing: string" instead of "string thing"? I think that consistent, explicit declaration of types is much cleaner and easier to read than this recurring mixture of type inference and annotation.

Well, Nimrod is built around type-infernce. Most of the time you should just say "var thing = somethingStringy()".

Re: Nimrod: C + Macros + GC

#33

I wonder what other wonderful languages I've never heard of. Really, please share!

Kitten, a statically typed, globally type-inferred, GC-less functional stack language, with opt-in layout-based syntax and an effect system to separate pure and impure operations.

Disclaimer: I wrote this; it’s nowhere near complete, but not bad to play around with. We’re working toward a release in a few weeks, to include some missing language features and a new x86_64 runtime.

https://github.com/evincarofautumn/kitten

http://kittenlang.org/

Re: Nimrod: C + Macros + GC

#34
post #20

Can someone explain why is this so much better than c++?

Nobody can explain to a dedicated C++ programmer why a new language is better than C++. I have tried for more than a decade many times and all I have ever gotten across has apparently been a "wah wah wah" noise like the adults in Peanuts. Because C++ is multi-paradigm, all paradigms are possible within it (although they may not be syntactically easy or have reasonable error messages, etc etc). Therefore, either C++ i…

I love this comment.

Re: Nimrod: C + Macros + GC

#36
post #19

This reminds me a lot of D. It's low-level, GCed, essentially intended as a nicer C/C++. But I think it suffers from the same fatal flaw that D does: you have to semi-manually translate C headers that you want to use. Like D, it provides an automated tool to help, but the translated headers will inevitably lag their original counterparts. As another commenter below noted, the var and proc thing is also redundant and…

Is "fatal flaw" the right term? I do not see any way to fix this. Even including a full C parser and preprocessor into the D/Nimrod compiler would not solve the problem.

Re: Nimrod: C + Macros + GC

#37
post #20

Can someone explain why is this so much better than c++?

Nobody can explain to a dedicated C++ programmer why a new language is better than C++. I have tried for more than a decade many times and all I have ever gotten across has apparently been a "wah wah wah" noise like the adults in Peanuts. Because C++ is multi-paradigm, all paradigms are possible within it (although they may not be syntactically easy or have reasonable error messages, etc etc). Therefore, either C++ i…

  std::cout 
If you're using namespace std then it's obvious (note that this is considered bad practice), assuming you haven't overridden <<, but otherwise it depends on endl's type and value. Maybe you meant std::endl?

Re: Nimrod: C + Macros + GC

#38
post #18

What would be really killer is if it could have bindings to Java. Then one could take advantage of the JVM being present everywhere w/o having to do a separate compilation for every platform.

Note that nimrod compiles to C, and your JVM may be implemented in C or C++. So for the measly gain of not having to run a command on the destination platform (nimrod c name.nim) you are bringing in the runtime performance drawbacks of the whole JVM and requiring a further layer of abstraction.

Plus bytecode doesn't mean a program will run at all, look at all the java programs which run on android without modification, oh, wait...

Re: Nimrod: C + Macros + GC

#39
post #19

This reminds me a lot of D. It's low-level, GCed, essentially intended as a nicer C/C++. But I think it suffers from the same fatal flaw that D does: you have to semi-manually translate C headers that you want to use. Like D, it provides an automated tool to help, but the translated headers will inevitably lag their original counterparts. As another commenter below noted, the var and proc thing is also redundant and…

> But I think it suffers from the same fatal flaw that D does: you have to semi-manually translate C headers that you want to use. Like D, it provides an automated tool to help, but the translated headers will inevitably lag their original counterparts.

I can't think of a better alternative. Can you suggest one? The fact that Nimrod compiles to C already is a huge plus, it makes wrapping C code very easy.

Re: Nimrod: C + Macros + GC

#40
post #23
post #22

Earlier quoted context omitted.

Hey, guy behind Jester here (The web framework being benchmarked). Please don't let these results deter you from Nimrod. Not only is Jester alpha-grade software, but when I submitted these benchmarks I did not have much time to properly utilize Nimrod's concurrency features (I was in the middle of exams). My first submission was not parallel at all and I quickly corrected it so that multiple processes were simply spa…

Hi dom96. Thanks again for contributing the Jester tests! I hope you get some time to continue your work on Jester. We'd like to have Nimrod represented properly in the results. Are there other Nimrod web frameworks (and importantly, domain experts with those frameworks) that could be contributed for Round 7?

No problem! Thanks for accepting my contributions! I hope so too, but maybe with Nimrod's recent surge in popularity someone can give me a hand :)

Sadly, I am not aware of any other web frameworks. Speaking of Round 7, do you have an ETA for it?

Post reply on HN