Re: Fair Criticism, etc
- Posted by Kat <gertie at PELL.NET> Aug 13, 2001
- 481 views
Speaking of Lua, has anyone compared the Eu interpreters coded in Eu to the Lua ability to exec commands stored in strings? Are they as fast? Less able? What about nested procedures and functions, and lengths of the strings? If Eu has a line length limit, is a string that exceeds this limit non- executeable in the interpreters? So i cannot pass a 1/2 megabyte file to the doubley interpreted Eu, right? I accept that the interpreted languages are slower than compiled languages, but is the doubly-interpreted Eu still as fast as the Lua in a dostring()? Re Igor's method of storing the Eu interpreter in a ramdrive, i had mentioned that ages ago, and i used that to store a copy of command.com to do dos shells with pascal. Sharing can be done with Eu this way because one can always shuffle the data back and forth between instances using files in the same ramdrive, or dde, or socks (be careful with socks if you are online and not behind a firewall), or win_msgs, or fixed reserved memory elsewhere, or have it print out on paper and the paper fall on the scanner which then scans it back in to an OCR app, or etc etc.... About the "goto" from Igor: that doesn't clean up the example from another email which i have already deleted, where someone had a *huge* pile of nested-nested-nested if-then-elsif. Never mind that i would have used a nested sequence to hold the data, and it was a windoxe app which i have no talent in, that whole procedure could have been made infinitely clearer with 4 simple logical tests and a "goto eoprocedurename". The same way a case statement would look cleaner and clearer. But in terms of the work to add new keywords to the language, "goto" would give us enough of the "case" command that the "case" and "exit(lots_of_parms)" wouldn't be needed. Besides, "goto" would give us "repeat" and a really loaded way to do "while", simply. Re: > I go away for 2 days and comeback to 102 emails??? I think you've beat 'fair > critisizm' to death. The only thing that matters is am I having fun programming > with EU and is Rob having fun writing it... I am and I think He does... are > you?? if so nothing else matters!! Well, i think a real world application that gets work done is more important than mental mas,, err,, nevermind. But it's not all fun. Re: > > So structures would > > not be a mere tweak of sequences. They would > > have to be treated as a distinct data type. > > If you want typechecking of the elements, yes. > Otherwise, nothing you have mentioned so far requires anything > more than a little syntactic sugar. One of the huge draws of an interpreter, that places an interpreter heads and tails above a compiled language, is flexability. Exception processing. The good ole "if-then"-else go on and do it like we have always done it. This would almost be trivial to add, to the interpreter at least, altho i don't know about the translator, cause it's not on my mind at the moment. Internally, the interpreter simply refers to the table as a nested *normal* sequence. If additional restrictions need be imposed, that's extra code and processing time, but do-able. I vote for no restriction added for the keyword "table" in native code that Rob writes, but expanded typecheck abilities, code that we can write. Added abilities includes altering the contents of the variable in question, and re-typing it. Then anywhere the table is used, you can check it for length, contents, etc, as the coder wishes, the same as we can do now. This is a little like the "with-do" command. It's not really needed, if you can do this: global procedure getnetstats(atom netnum) sequence ircnet ircnet = serverlist[netnum] -- get the global vars for this net sock = ircnet[1] etc etc I do that for *reading* from a huge nested-nested sequence (serverlist), but if we could also allowed to do the same to *write* to it, the new code would not break anything, and not need an added keyword,, just transparently added code internal to the interpreter. Kat