I wish I could spent fruitfully my entire day, not bothering with irrelevant issues — not so many days like this in real life. Today when uploading newer NLT package to Google Project Hosting site I was notified that starting on January 15, 2014 upload of binary packages will be disabled. This translates to picking up another server, finding and updating all the links… I am thrilled. Sure, it is their server, free of charge, but it would be at least decent to give a honest reason for such call, not some pathetic excuse of abusing upload feature by some users.
I am planning gentle switch — keeping both sites in parallel, and if Google does not cancel this new policy, eventually kill Google address. The problem is which hosting site choose as a replacement? I tried Bintray (complex, no tickets), CodePlex (ticket system is a disaster), LaunchPad, GitHub and BitBucket (all three have no support for binary packages). Visually much less appealing than GPH (no MarkDown) there are SourceForge and BerliOS — most likely one of these two will be my choice.
Let’s leave the story of killing a good product aside now — this weekend, as I intended I wrote resolver for function overloading. And also:
- I added extra syntax and logic for recursive function call,
- I introduced infinitive “
loop-end
” — no big deal, but writing “loop
” instead of “while true do
” is quicker and more elegant,
- I noticed Skila didn’t have boolean operators (
and
, or
, exor
), so I added them.
I also changed the concept of the function and procedure distinction. Now, it is only a function, the only difference is that by default the result of the function has to be read.
def square(x : Int) : @ Int = x*x;
The “@
” character before type indicates it is OK to drop the result. One keyword saved (proc
), and now syntax is a bit more consistent with existing sink variable. This will also help in introducing light-weight interfaces.
And to keep me busy — all those changes in syntax made NLT parser fail, so I had a reason and opportunity to improve it.
OK, it is Tuesday already, so I went way overboard with “weekend work” idea — see you next week then, I am going to add strict control of execution flow and rich strings.