26 Oct 2003 02:52
Re: adoption of E
Date: Fri, 24 Oct 2003 09:20:42 -0700 To: e-lang@... From: "Mark S. Miller" <markm@...> Subject: Re: [e-lang] adoption of E (was: Proposed change to guard semantics) Everyone, if you're not yet using E, please take a moment and ask yourself why not. If you send your reactions either to e-lang or to me personally, that would be great, even if it's just to check some of the already mentioned reasons. This question is timely, since I'm just now trying to decide on a platform for a new project (2 people 3 months). For us the top reason not to use E is probably debugging: when something goes wrong, can I figure out what the problem is, by inspecting the control stack and lexical environments? And can I correct the problem (maybe by adding a method) without losing process state (e.g. TCP connections)? I know we've discussed this issue but I confess I don't keep up with the postings to this list and don't know where things stand right now with E and debugging. Educate me. This project has no security requirements, although as always security is a good thing, and I know you're aiming to make E useful as a general purpose language. Macros and familiarity are other desirable features. Our leading contenders right now are Common Lisp and jscheme, but E is on the list.(Continue reading)
, this is a fine modification to E. However, I
do wish to disagree with the above statement in case that makes a difference.
My sense of how I've been using "var" versus def since this separation was
introduced into the language is that the vast bulk of my uses of "var"
involve a lot of writing and only a little reading. Perhaps this is because
one of the cases that one thinks of using "var" for I now perform using
def/bind. Here are 2 common cases I have where I have used vars:
//Situation one: count to get a value that you use once
var count := 0
for each in collection {
if (meetCriteria(each)) {{ count += 1}
}
//now use the count once to make a decision
//situation 2: set a variable based on context and read many times
var hasProperty := false
if (condition) {hasProperty := true}
//now read the value many times
//Situation 2, as I now do it with def bind
def hasProperty
RSS Feed