Nimrod: The Return of Pascal(steved-imaginaryreal.blogspot.co.uk)
steved-imaginaryreal.blogspot.co.uk
Nimrod: The Return of Pascal
http://steved-imaginaryreal.blogspot.co.uk/2013/09/nimrod-return-of-pascal.html
9 comments
Possibly the best compile to C language. Easy to setup, fast, feature rich, works nice with C and best part: configurable GC.
One thing i don't like tho: Case insensitivity. I write many in many languages, all but Nimrod are case sensitive. Lot's of 'already defined' errors. There is nice discussion about it here: https://github.com/Araq/Nimrod/issues/521
One thing i don't like tho: Case insensitivity. I write many in many languages, all but Nimrod are case sensitive. Lot's of 'already defined' errors. There is nice discussion about it here: https://github.com/Araq/Nimrod/issues/521
Ada (Pascal-inspired) was designed to be a language that's safe against (mediocre) programmers. And it's case-insensitive. Note that Ada is especially made for reliable systems and they really look for error sources. Case sensitivity didn't show up as a problem, so they didn't have to change it in any later version (Ada 2012 now).
In my experience case insensitivity is very rarely a problem. It's convenient once you get used to it.
> Lot's of 'already defined' errors.
That's false, or at least an exaggeration.
> Lot's of 'already defined' errors.
That's false, or at least an exaggeration.
I'm not sure that Thompson and Ritchie really did the world a favor with case-sensitive identifiers. I write a fair bit of PL/SQL, and don't mind the narrower range.
A recent discussion which includes Nimrod benchmark, for those who are interested: https://news.ycombinator.com/item?id=6263173
Pascal was (is?) a great language, never had trouble hacking and figuring out Pascal/Delphi code, even code clearly written by below-average programmers. I don't think many languages pass this litmus test.
Also interesting is looking at old Pascal code and seeing how it stood the test of time. I had a lot of fun reading the Photoshop v1 source [1]
[1] http://computerhistory.org/atchm/adobe-photoshop-source-code...
Also interesting is looking at old Pascal code and seeing how it stood the test of time. I had a lot of fun reading the Photoshop v1 source [1]
[1] http://computerhistory.org/atchm/adobe-photoshop-source-code...
How come nobody comments about this feature of Nimrod:
> a powerful (AST based, hygienic) macro system
...and I can't find any easy to digest example of it? I know, macros are "evil" and shouldn't be overused and this is not Lisp and all, but it actually seems like a potential killer feature for a language targeting the C/Rust/Go niche.
> a powerful (AST based, hygienic) macro system
...and I can't find any easy to digest example of it? I know, macros are "evil" and shouldn't be overused and this is not Lisp and all, but it actually seems like a potential killer feature for a language targeting the C/Rust/Go niche.
Easy enough if you go to the Nimrod site and look at the documentation:
http://nimrod-code.org/tut2.html#macros
http://nimrod-code.org/manual.html#macros
Note that Nimrod also has templates, which also uses AST-based macro expansion.
http://nimrod-code.org/tut2.html#macros
http://nimrod-code.org/manual.html#macros
Note that Nimrod also has templates, which also uses AST-based macro expansion.
Hygienic AST-based macros are starting to surface in quite a few non-sexpr languages. Rust has them, and IIRC Elixir does too. It's an exciting trend.
Looks like Algol68 with some OOP.
Looks like Golang but cleaned up and with generics added in.
Maybe it's a bird, maybe it's a plane, maybe it's Superman.
Maybe it's a bird, maybe it's a plane, maybe it's Superman.
In other words, Python
Looks like a nice language. The warning of "Caution: This section is already outdated! XXX" in the language manual makes me wonder though whether it's ready to use.
I used to frequent a bookstore whose owner loved Pascal. He didn't like it when people pronounced it the way it looks.
Nimrod is quite close, though probably not exactly there (yet).
Anyway, there are two kinds of programmers: those who build compilers and those who start writing ones but never finish.