On 22/01/2013, at 5:19 AM, srean wrote: > As long as it did not clash with what is meant by C++ "concept" it would be > fine.
There are only a limited number of words describing some idea. Inevitably, in a programming language you pick one, and someone complains it doesn't agree with the natural language interpretation, or it doesn't agree with some other language's abuse of the term. There are also decisions not to use multiple words when patterns can discriminate (overloading) for example "fun" in Felix means both "function" and "macro". "const" are not actually const, and the meaning is unrelated to "const" in C++ or "constant" as a concept in any other language. [The term in Felix simply means there are no arguments] "functor" is a common term in the C++ community which doesn't care that this is a total abuse of a word in a closely related and vastly more important domain with a serious negative impact on anyone trying to discuss language technology. [This is much worse than "vector" which of course isn't really a vector] I personally find "class" in Felix appropriate: it achieves what a class in OO purports to achieve, only Felix does it right. Class is a way to obtain classification and abstraction. That a class is a type in OO languages is a proven design error. It is at the core of why OO does not work. Relating multiple types instead of just one not only fixes this design fault, it is the Holy Grail of failed attempts to make OO work correctly: multi-methods. That you lose state when going to multi-methods is a derivable consequence. So actually in Felix "class" is what it should have been if Meyer et al had not stuffed up their science. It satisfies the original goals such as open/closed principle, information hiding, explicit coupling, etc etc. OO implementations of classes do not. So we're stuck between a rock and hard place: we either use the term in its correct use and ignore mispractice, or we kow-tow to the great unwashed masses and avoid confusing them by using another term, which then becomes hard to understand because it has no context. Technically, in maths a class is an object of a partition. However in Biology class is just one level of the taxonomy. In OO, a class is none of these. The issues here have been driven home to me by a FB post of Shayne pointing at a blog which basically explains: success = dream + skill + market I have some of the first two but market is wanting. I do not believe anymore that C++ programmers want a better C++. They will not trade the lemming community away for anything. So probably Python or Ocaml or even Haskell programmers are a more likely market: people who want a good language and will trade away some of the quality in favour of something that is industrially capable: the C++ binding technology in Felix allows you to write Ocaml like code yet work in a C++ environment. People in that market do not need much language documentation, they already know what variant types and closures are. They do need a fast and effective way to learn the library though: libraries, not languages, are the biggest obstacle to working with a new programming language: I know Java but don't ask me to write any Java code because I don't know what's in the libraries. Felix libraries are now capable of being self-documenting. -- john skaller skal...@users.sourceforge.net http://felix-lang.org ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122412 _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language