Wishlist
- Posted by kbochert at ix.netcom.com Jun 27, 2001
- 542 views
-------Phoenix-Boundary-07081998- MY WISHLIST: 1-- Variable initialization: integer x =3D 5 ... function foo () sequence s =3D "" ... 2-- continue statement: goes to start of for or while loop 3-- Pass-by-reference: procedure foo (reference p1) ... integer x foo (&x) -- x may be changed 4-- Enhanced '=3F' If a sequence contains all ascii characters, output it as string. 5-- Enhanced standard library(s), possibly built-in string functions regular expressions isAscii () etc. containers 6-- slicing shorthands: seq[2..] =3D> seq[2..length(seq)] seq[i..-3] =3D> seq[i..length(seq-3)] seq =3D [2..] =3D> seq =3D seq[2..length(seq)] seq +=3D "a" =3D> seq =3D append (seq, "a") 7-- File-local definitions should override globals 8-- Common utilities: boolean FALSE TRUE STDERR STDIN STDOUT 9-- function indexing s =3D command_line()[2] 10- Namespaces include get.e as G x =3D G:get () 11- pathlists command line and/or .cfg file gives search paths for include files like: ".;c:\mylibs" SO that executing 'exw prog args' would cause Euphoria to check 'prog.cfg' for pssible include paths. 12- flags command line and/or .cfg file gives flags exw test warn=3D3 -- run and set 'warn' to 3 test.cfg: warn =3D 6 -- default 'warn' srcpth =3D ".;c:\temp" ... 13- def replaces function or procedure 14- structures a sequence with named and typed indexes. struct X { integer a, sequence b } struct X a =3D> sequence a a =3D {0,""} a.b =3D "=3F" =3D> a[2] =3D "=3F" s =3D append(s, X) =3D> s=3D append(s,{0,""}) 15- Block comments 16- Exceptions throw () causes returns until caught much like Java 'unchecked' exceptions. function x () throw (type, arg) ... function y () ... return 0 catch (type) ... end 17- Automatic 'Result' Have each function automatically declare the object 'Result' which is returned by default. (Much like Eiffel). Then the following is legal function pi () Result =3D 3.14 end function Karl Bochert -------Phoenix-Boundary-07081998---