Wishlist

new topic     » goto parent     » topic index » view thread      » older message » newer message

-------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---

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu