Various questions

Ivan Čukić ivan.cukic at kde.org
Fri Jul 25 09:50:15 UTC 2014


Hi Aaron,

> Variables are single-assignment (you can't assign a different value to a
> variable once it is set) and typing is inferred (but not dynamic, due in

One of the things you always mentioned is that one of the most important parts 
of the project statement is 'what this is *not*'. So, I guess we should 
discuss it for this project as well.

BTW, is funq going to have an introductory page somewhere?


And now, a set of completely unrelated questions:

0. The desired features should be separated into the core language features, 
and those provided by libraries. That way, we are not going to end up with a 
language that is good only for one thing.

1. What is the type definition syntax going to be like

2. Algebraic types definition and support (basic structures like {string, 
string} only go so far)

3. This one could have gone into the syntax discussion
 Why is the receiver of a message on the right side? I do get that it can be 
considered as a more natural way, but since most existing systems are the 
other way round (erlang, akka, haskell-distributed), I'd advise to follow the 
established practices.

4. In order to have a simpler parser (and not 3-passes-or-more like khm++), I 
think it would be wise to prefix function definitions with a keyword, the same 
for 'variables' and such.

5. I'm spoiled by \x -> body (haskell) and (arguments) -> body (like in 
coffeescript) something for lambda definitions. fun(...) { } seems like an 
javascript-inspired overkill.



Cheerio,
Ivan


KDE, ivan.cukic at kde.org, http://ivan.fomentgroup.org/ 
gpg key id: 850B6F76, keyserver.pgp.com


More information about the Funq-devel mailing list