esl change log first version 29.01.2005 07.11.2007 - There is an alternative way to start esl, using gmesl instead of guesl. If esl ist started with gmesl, a rudimentary pattern match control contrcut will be available. Use ? patternmatch; when esl is running. gml will only work if slib is available. 16.02.2005 - Alternatively to the help macro the prefix operator ? can now be used (? overview or ?overview). The ? should be considered as "help" or "show". New "show" points: ?config and ?help (the latter means: help on help). In plot and sketch: The graphics primitive line can now process an arbitrary (even) number of coordinates: line(0,1,2,5,3,5.6) generates code for a line from point 0,1 to 2,5 and further to 3,5.6. 07.02.2005 - The pretty-print feature of guile is now support when the scheme translation of input esl code is displayed on screen (switched on by parseon). To activate pretty-print, use prettyprinton() to deactivate this feature, use prettyprintoff() The prettyprint-setting has no effect when output of parsed code is deactivated (this is the default). - The scheme code generator of esl has been modified. A useless (begin ...) construnct for the "for" control statement is no longer generated. 06.02.2005 - The path finding logic of esl's load and scheme's loadesl has been changed. The commands by default look for the file to be loaded in the current directory. In scheme, you can use (loadesl [filename] 'sys) to load file from the esl system directory (usually /usr/local/esl). In esl, you can use loadsys [filename] to load a file from the esl system directory. 05.02.2005 esl Version 0.06 - Hitting the return key twice can be made equivalent to a semicolon. The lexical analyser is now able to watch for two consecutive newlines (return key hits) and to translate this to a "returnreturn"-token. This token has the same effect as a semicolon, i.e. it forces esl to evaluate the last piece of code. This feature may be turned on or off, using returnreturnon() returnreturnoff() respectively. Default is off. In any case, double-newlines are ignored when reading from a file. Consider this an experimental feature. It is meant to make interactive input easier. Hitting the return key twice is easier then hitting a semicolon and then hitting the return key once. - help is now a macro (not a procedure). Therefore, you can use an unqouted symbol as operand. The old syntax (with strings as operands) still works. help overview is equivalent to help "overview" However, invoking help without topic in the form !help does not work anymore (the prefix ! does not work for macros). The form help() still works. - A change in the generation of scheme expressions for esl function definitions removes an useless (begin ... ) construct. esl 01.02.2005 Version 0.05, patchlevel 16 - A problem with ew() fixed. File commands within the editor work file should now work as if they were typed in directly. This was not the case due to a problem with $path. - Help file "operators.eh" improved (but it is still far from being complete). esl 29.01.2005 Version 0.05, patchlevel 15 - ! (exclamation mark) can be used as prefix operator !proc ==> proc() The operand of ! must be a procedure that can be invoked with zero arguments. If this is the case !proc means proc() ! can still be used as postfix operator (meaning factorial) 4! ==> 24 The right binding power of prefix ! is high (209), although this binding power does not mean much for the intended use of prefix !. Note that prefix ! can only be applied to procedure, not to macros. - procedure rand, zero or one argument rand() ==> a pseude random number from an uniform distribution on the intervall [0, 1] rand(n) ==> an integer pseudo random number in the range 0, 1, ..., n-1. All numbers have equal propability. - procedure randnormal randnormal() ==> a pseudo random number from a normal distribution with mean 0 and standard deviation 1. - some help files added - the help procedure can now be invoked without parameters. help(); or !help; is equivalent to help "overview"; - procedure sket and xsket are part of plot module (file plot.e) plot(a,b,lis) a is width and b is height of the eps image to be generated, lis is a list of grafics primitives (the same primitives that can be used in the extra argument (fourth argument) of the plot procedure). plot and xplot save the generated plot in the file .tempplot.eps xplot invokes gv to view this file. In any case, the file can be viewed with viewplot(), saved with saveplot("filename") und edited with editplot();