Boriss Mejias wrote:
Raphael Collet wrote:
Tomasz Primke wrote:
[...]
For example: from the introduction I learned, that "The full Oz language can be regarded as syntactic sugar to a small kernel language.". But there's one problem with that: I have no idea, what syntactic sugar (kernel language, etc.) is. And I definitely don't want to learn about it: all I need is the knowledge, that will allow me to write programs, that will solve my problems. I have written many programs in Pascal, Object Pascal, C, C++, Java, Prolog, Python and Bash - without any knowledge about syntactic sugars and kernel languages. As anyone can see, that knowledge isn't needed for writing programs.

Here you're wrong.  You have used this knowledge without noticing.

Well, actually that is what Tomasz is saying. He hasn't needed the knowledge to write his programs. He has just learned how to use it... and that's the whole point of syntactic sugar. If mozart would have only provide procedures, programmers would complain that they also want to use functions... ok, you create functions just as syntactic sugar, but you don't tell that. As David said, that part goes to the reference manual.

Well, I do think this knowledge is fundamental if you care about understanding why your programs work in the way they do. For instance, it is hard to explain why Append is tail recursive without translating it into its kernel version:

fun {Append Xs Ys}
   case Xs of nil then Ys
   [] X|Xr then X|{Append Xr Ys}
   end
end


Luis

_________________________________________________________________________________
mozart-users mailing list                               
mozart-users@ps.uni-sb.de
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to