I followed the recommended installation instructions from http://nimrod-lang.org/download.html. However this line:
bin/nimrod c koch
fails as there is no "nimrod" executable in bin but there is a "nim" executable. Trying that I get the errors posted at the end of this message.
Any help will be appreciated. Thanks.
[shiv@zygmund Nimrod]$ ./bin/nim c koch config/nimrod.cfg(38, 2) Hint: added path: '/home/shiv/.babel/pkgs/' [Path] Hint: used config file '/home/shiv/Nimrod/config/nimrod.cfg' [Conf] Hint: used config file 'koch.nimrod.cfg' [Conf] Hint: system [Processing] lib/system/hti.nim(10, 12) Warning: undeclared conditional symbol; use --symbol to declare it: NimString [User] lib/system.nim(2054, 16) Warning: undeclared conditional symbol; use --symbol to declare it: sysFatal [User] lib/system.nim(2106, 18) Warning: undeclared conditional symbol; use --symbol to declare it: setStackBottom [User] lib/system/ansi_c.nim(42, 16) Warning: undeclared conditional symbol; use --symbol to declare it: SIGINT [User] lib/system/ansi_c.nim(135, 18) Warning: undeclared conditional symbol; use --symbol to declare it: errno [User] lib/system/atomics.nim(204, 12) Warning: undeclared conditional symbol; use --symbol to declare it: intelc [User] lib/system/atomics.nim(211, 16) Warning: undeclared conditional symbol; use --symbol to declare it: fence [User] lib/system.nim(2379, 14) Warning: undeclared conditional symbol; use --symbol to declare it: initAllocator [User] lib/system/excpt.nim(314, 19) Info: instantiation from here lib/system/excpt.nim(303, 22) Warning: undeclared conditional symbol; use --symbol to declare it: SIGPIPE [User] lib/system/excpt.nim(332, 16) Warning: undeclared conditional symbol; use --symbol to declare it: SIGPIPE [User] lib/system/arithm.nim(244, 16) Warning: undeclared conditional symbol; use --symbol to declare it: addInt [User] lib/system/arithm.nim(251, 16) Warning: undeclared conditional symbol; use --symbol to declare it: subInt [User] lib/system/arithm.nim(258, 16) Warning: undeclared conditional symbol; use --symbol to declare it: negInt [User] lib/system/arithm.nim(263, 16) Warning: undeclared conditional symbol; use --symbol to declare it: divInt [User] lib/system/arithm.nim(271, 16) Warning: undeclared conditional symbol; use --symbol to declare it: modInt [User] lib/system/arithm.nim(277, 16) Warning: undeclared conditional symbol; use --symbol to declare it: mulInt [User] lib/system/gc.nim(33, 33) Warning: undeclared conditional symbol; use --symbol to declare it: getTicks [User] lib/system/gc.nim(416, 14) Warning: undeclared conditional symbol; use --symbol to declare it: markForDebug [User] lib/system/sysstr.nim(35, 12) Warning: undeclared conditional symbol; use --symbol to declare it: allocAtomic [User] lib/system/sysstr.nim(88, 16) Warning: undeclared conditional symbol; use --symbol to declare it: newObjRC1 [User] lib/system/repr.nim(124, 16) Warning: undeclared conditional symbol; use --symbol to declare it: TCellSet [User] lib/system/repr.nim(133, 55) Warning: undeclared conditional symbol; use --symbol to declare it: heapLock [User] lib/system/repr.nim(135, 16) Warning: undeclared conditional symbol; use --symbol to declare it: TCellSet [User] lib/system/repr.nim(141, 16) Warning: undeclared conditional symbol; use --symbol to declare it: TCellSet [User] lib/system/repr.nim(142, 55) Warning: undeclared conditional symbol; use --symbol to declare it: heapLock [User] lib/system/repr.nim(204, 16) Warning: undeclared conditional symbol; use --symbol to declare it: TCellSet [User] Error: system module needs 'TNimType'
This is a matter of bad timing, unfortunately. At the moment, the developers are making a large number of breaking changes (in the BigBreak branch). This required csources to be regenerated. Among the changes is the fact that Nimrod is being renamed to Nim, hence the name change.
If you really want to use a development version, I recommend just downloading one of the stable binaries from the website, placing the nimrod executable into the 'bin' directory of the repository, and bootstrapping that way. If, for some reason, the stable build doesn't work, build.nimrod-lang.org has links to the binaries generated by the builders (click the commit number for the appropriate platform in the first table on the page).
You should be able to compile and run greetings.nim now.
Any ideas when this will get fixed? It's troubling that the web instructions for building don't work and haven't for almost a week. Why did breaking changes get merged to master? Isn't it one of the whole points of revision control systems with branching that this doesn't happen?
Is there some site to look at to keep apprised of all of the planned changes? The Roadmap is over three months old, and doesn't mention the name change to 'Nim' (when did that happen?) or the fact that the language is now case sensitive, but apparently still underscore insensitive.
Any ideas when this will get fixed?
Well here in the "nobody pays for this" open source land, most work is done at the weekends and it will be fixed soon (or is already).
Why did breaking changes get merged to master?
Because unfortunately we had no branching model for the csources repository.
Is there some site to look at to keep apprised of all of the planned changes? The Roadmap is over three months old, and doesn't mention the name change to 'Nim' (when did that happen?) or the fact that the language is now case sensitive, but apparently still underscore insensitive.
Well you know what they say ... "you plan ahead so that you recognize when you depart from that plan"... ;-) That said, everything on the roadmap is still valid, already implemented or will be implemented.
Indeed the name change and changing the default to --cs:partial are big changes not to be found on the roadmap but both have been discussed for months now. Note that most action happens via IRC and not on the forum.
Well here in the "nobody pays for this" open source land, most work is done at the weekends and it will be fixed soon (or is already).
Of course. I don't want to seem ungrateful. Perhaps I'll even join up with the volunteers and help one day. In any case, we have tools to prevent this kind of thing from happening.
Well you know what they say ... "you plan ahead so that you recognize when you depart from that plan"...
Helmuth von Moltke the Elder: "No battle plan survives first contact with the enemy"
Perhaps you can render it in German; regrettably, I am not capable.
Robert Burns: "The best-laid schemes o' mice an' men gang aft agley,"
Well, the Scots do speak a different sort of English ;-)
That said, everything on the roadmap is still valid, already implemented or will be implemented.
That's good to know. I'd like for Nimrod, sorry Nim, to be a 'success'. By success, I mean, "could be useful for professional (paid) programmers for many tasks". Broken installs make it a bit tougher for me to evangelize.
Note that most action happens via IRC and not on the forum.
I'm not much of an IRC user, but I guess I'll need to change...
PS: I was fine with Nimrod. I'm a native USA English speaker and I grew up with Bugs Bunny, so I'm familiar with its pejorative sense. The name change is gratuitous, IMO.
Indeed the name change ... [has] been discussed for months now.
I haven't spent much time in the IRC chat (read: barely any at all), mind giving a short overview of why you decided on the name change?
The name Nimrod was picked for several reasons, but ultimately doesn't work since nobody understands it.
I named it after the first king of mankind, because it is the language that should rule them all. ;-) That Nimrod also built the tower of Babel is a very nice side effect. The Babel reference both applies to the fact that there way too many programming languages out there, creating a mess and to the fact that Nimrod's macro system can be used in ways that people do not understand each other's code anymore.
However, people either do not get the scriptural reference or misinterpret it completey ("do you want to insult God?"). That it means "idiot" in the US and the word seems more common than I thought doesn't help either.
csources should be fixed by now - I've created/rewound branches in the csources repository to match the major branches in the Nimrod repository . Any branches in the Nimrod repository that don't have a directly corresponding branch in the csources repository should use the branch closest in source/history.
Pull requests to improve the readme in the csources repository are welcome!