I read all the docs and a lot of the library source code but havent downloaded played with it yet .. Havent got a working m/c it will run on
I was struck by a couple of things - theres a certain similarity to some cobra syntax concepts - var/local declarations name then type (without the leadin keywords ('as')
and a lot of good syntax simplicity/rationalisation wrt C.
Best of all its expressive and concise.
The channels idea looks interesting (developed from limbo) - turns the concurrency problem on its head - communicate shared state explicitly (migration of ownership)
rather than share state and limit access at particular time (locking).
Seems to aid expressiveness as well
I'm not really familiar or experienced with actors but it seems like the difference is focus on in-app process model vs in-app typed communication (piping).
I suspect communication is easier to grok than multiple message-passing lwp-like things
The lack of a traditional OOP model/constructs is interesting too - reading over it looked like the 'duck-interfacing' was an interesting ( and simplifying ) approach to take but it
looks like the addition of some of the syntax flattening with anonymous types in structs provides much of what you want for an OO design without the overhead/constraints ...
I havent internalised that yet - need to actually bang on it a bit
However the library code seems to reinforce this as a valid direction(gives equivalents of composition, mixins and extensions all with the same single concept)...
I quite like the use of typed multi var fn returns (allowing OOB error returns) and receiver syntax and simple visibility specification as well..
Still some directions to be determined wrt generics and exceptions and some experimental attitude wrt testing and integrity checking ( assertions etc) amongst other things
but overall it looks like a very creditable improvement on a C descendant systems programming Language
Skimming the forum postings it looks too like theres a strong perception here too that you cant have a language that doesnt have the supporting crutch of full IDE suport..
Also there too I get the impression that a lot of people-who-post have opinions about languages and features that are based purely on one mainstream language and an inability
to read docs and code