Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The The Nimrod Programming Language (force7.de)
59 points by dpapathanasiou on May 13, 2009 | hide | past | favorite | 15 comments


In that code sample the variable "matches" seems to be magically set by the =~ assignment. That would not be very clean. Or am I missing something?


http://force7.de/nimrod/regexprs.html

You're correct. It seems to work using a template, which is a simple macro. I wonder if those are hygienic... In any case, it seems you could use the macro facility to instead have explicit bindings for match groups.


It looks very much like Pascal to me.


I think it takes bits and pieces from various languages.

Python's influence is obvious: iterators, whitespace, and default values for arguments. Pascal's main influence seems to be type declarations and the way things are named. C-esque enumerations, strings ending in null and pointers.

It does have lists/sequences, sets and tuples, but associative arrays/dictionaries seem like a major oversight.


It looks a lot like python to me, but with native compilation and function overloading. Which is a good thing. I'll keep an eye on it...


The compiler is written in Pascal.


I'd say it tastes like chicken. :-)

Seems like {perl|ruby|etc}-light.

I don't get it. The scripting languaguages in common use are quite similar; what distinguishes Nimrod?



OK, that is Lispy (or Perl 6y). I do count Scheme as a scripting language today.

Perl 5 has had source filters for a long time. It isn't unique, afaik.

Still neat, I guess.


It's compiled and statically typed, amongst other things.

Did you not bother to read it?


Lots of lisp and Basic variants are compiled and typed. Still tastes like chicken.

But if it is really fast, then I'd say it is like some spicy indian chicken and consider using it -- if there also is an interpreted version.


We get it. Now stop overusing this chicken metaphor.


I was curious about "Nimrod produces small executables without dependencies for easy redistribution." does this mean that it packages any third party libs in the executable? wouldnt there be licensing issues?


Are functions first class objects in Nimrod, because I couldn't find function type in manual(pointers to function isn't what I mean :)).


This seems pretty nice, I might start learning this actually.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: