---------- Forwarded message ---------- From: "Nicolas Pouillard" <[EMAIL PROTECTED]> To: skaller <[EMAIL PROTECTED]> Date: Wed, 9 May 2007 10:01:02 +0200 Subject: Re: [Felix-language] using #\printable-char as a character literal On 5/9/07, skaller <[EMAIL PROTECTED]> wrote: > On Wed, 2007-05-09 at 08:48 +0200, Nicolas Pouillard wrote: > > > I totally disagree, having a single "end" keyword is not ambiguous at > > all since all construction are distinguished by the beginning and that > > end markers are not optionals. > > I once read a good book on programming .. actually it was about > how to be a good COBOL programmer .. but it introduced a fairly > radical new idea to me. It's the analogue of what physicists > call 'perturbation analysis', which is a study of satellite orbits. > [...] > > The point is the issue here isn't ambiguity of a correct > program .. but ambiguity of an *incorrect* program.
Ok, that's a good point, XML guys say that too. Having a program syntactically robust and stable is a good thing. That's the same thing with XML, I don't care that XML data gets generated, moved over the network and parsed at another point, but I don't want write it by hand. So having a robust form to a language is a good point, but please make it optional, non ambiguous and cheap in term of keywords. Example of proposition: match ... with ... end of match Sometimes, I think that programming languages should have a "sort" of normal form using XML or s-expression. Even in this case I would prefer s-expressions rather than the too heavy too close XML syntax. [...] > I actually like the idea used in Haskell and Python: > visual block structure (indent/undent). The problem > is it doesn't scale very well to great depths and long > bits of code .. you need to de-localise the code or > switch to free form (resp). Using indentation, is sometimes pretty cool, but having it optional (like in Haskell) is better. In fact I don't really like in programming languages, but in data languages I find it costless (YAML). > > Having "endmatch", "endif", ... is really too boring. > > It is a bit.. but Ocaml is worse, because when you do > need a specific close point, you have to edit the start > as well: > > match .. with ...... (* goes forever *) > > is rewritten as > > begin match .. with ... end > > which is quite painful. It's a mistake. In a future language it will be match ... with ... end > > IMHO the readability don't doesn't apply on these construct since they > > should be short sized in clean code. > > That's a reasonable position.. > > > It's more about closing classes, > > modules... And here I prefer comments: > > .. heh .. and in these cases Felix uses { } .. so actually > Felix has it backwards. The long constructions don't get terminated > with heavy terminators as they should, whereas the light ones do > when they shouldn't. Indeed that's funny. -- Nicolas Pouillard ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Felix-language mailing list Felix-language@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/felix-language