[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

final call: a replacement for <>{}



i have a release (tentatively called 0.82) of es waiting to go out the
door, with the only thing left for discussion being the ``what is the
replacement for <>{}'' question.  after the list has had this release
for a week, i want to announce es to the rest of the world.

anyway, i've been thinking about this a lot, and all proposals have
serious problems, but if we're going to stay with the ascii character
set, we have to pick something.

my preference at the moment is for using the construct ${ ... } for
return value/exit status of a command.  the braces are required.  this
usurps the current meaning of ${}, which is cute but not terribly
useful.  the non-orthogonality is a shame, but $# and $^ are already
overloadings on $ and nobody has seemed to complain.

if you really want the old meaning of ${cmd}, you can always do it
with $({cmd}) or even $'{cmd}'.  As a side note, ${cmd} in the current
es is less useful than most people think it is.  try using that form
when a lexical binding is in place, e.g.
	let (x = foo) echo ${a}

now, if anyone objects to this change, please send a note to the list
by thursday afternoon (california time) giving both
	+ a reason (other than the extra overloading of $ and the loss
	  of the current meaning for ${}) why you don't like it, and
	+ a suggestion which doesn't prevent someone from using
	  : or % as a command.

i really want to wrap this up soon.

thank you,
paul