[E-Lang] E Project, Documentation, and new programmers

steve jenson stevej@sieve.net
Thu, 12 Apr 2001 16:49:13 -0700


Quoting zooko@zooko.com (zooko@zooko.com):

> 
>  Tyler wrote:
> >
> > I think the best solution here is actually to deviate from the expression style
> > syntax and have an explicit "return" keyword. Then it would be perfectly safe
> > to have the default guard be ":any". I am not sure, but I think following this
> > path would also make it possible to have E loops terminate with a return rather
> > than throwing an exception.
> 
> 
> Please see my "proposal for lexically limited retvals in an expression
> language":
> 
> http://www.eros-os.org/pipermail/e-lang/2001-March/004772.html
> 
> 
> As far as I know it does exactly the right thing, and best of all it is
> perfectly backwards compatible with E v0.8.9 -- any program in E0.8.9 will run
> exactly the same way in a version of E that implements this proposal.
> 
> 
> I think that this is very important, after my experiences trying to upgrade
> echat.e, I've concluded that the default ":void" guard is a source of much
> frustration to programmers.  What happens is that you get null pointer
> exceptions in your code, and you have no idea why.  Even if you *do* clue in
> and guess that you must have left a default guard somewhere that you didn't
> mean to, it is still a hassle to track it down.
> 
> 
> BUT, since my proposal is so simple, orthogonal to other current issues, and
> backwards compatible, I am happy to prioritize other issues for now.

In my E code, I have yet to run into the default return value of :void
being an issue. I attribute this to the fact that MarkM took the time to
pound into my head how ValueGuards in E work. I don't personally find
it unintuitive at all, even given my lack of expression-based langauge
background (caveat: 6 months of smalltalk programming last year).

MarcS, I owe you some emails regarding EiaW, and I owe several emails
to this list but haven't found the time to get back to them. hopefully
this weekend.

MarcS, I really dig the new eBrowser, btw. very nice! 

steve

-- 
steve jenson <stevej@sieve.net> http://sieve.net/
PGP fingerprint: 79D0 4836 11E4 A43A 0179  FC97 3AE2 008E 1E57 6138