Re: ex bloatware?

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

Andy Kurnia requests a bunch of things:
I'm paraphrasing a bit ...

> make a stripped down ex.exe for binding.

I once estimated I might save 20K or so by eliminating
the debug/trace code in bound executables. I don't think
it's worth it. It makes life more complicated for me and
users. It means extra testing, extra possibilities of bugs
etc. It would mean a larger EUPHOR20.ZIP file. I'd have
to build and test at least 6
different versions of Euphoria for each release:
ex PD, ex Complete, ex Stripped Down, plus 3 more
for Windows, and 3 more for any new platform. No thanks.

> trace/profile no longer work when bound/shrouded

That's right. It's there for added security of shrouded/scrambled
programs, so you can't snoop through someone's code as easily.

> && ||

I've written a lot of code in C, and I like the
"short-circuit" evaluation of AND/OR conditions.
For this reason I recently spent a lot of time
investigating how to add this to Euphoria.
My conclusion:
    * it's rather difficult to add to the current Euphoria parser
    * if I change AND and OR to operate in the short-circuit
       manner, existing programs will break. I had no trouble
       finding at least 3 programs on the Euphoria Web site
       that would break if short-circuit were used (since function
       calls might be skipped).
    * I don't really want to introduce 2 new keywords that
      have almost the same meaning as AND and OR.
      This is supposed to be a simple language.
    * Euphoria  is not like C. Euphoria has boolean expressions
      where the result can be an atom *or a sequence*, and you
      can't tell which unless you execute the second part of the
      condition. You could get around this by defining "false" to
      be atom 0 as it is now, or a *sequence* where every element
      is false. Then:
               0 and expression
      would always be "false" and
               1 or expression
      would always be "true", regardless of what
      expression evaluates to (atom or sequence).
      But what about:
             x = 1 or expression
      You'd have to evaluate it fully. The evaluation of boolean
      expressions would have to depend on the context (condition vs.
      assignment or other expression.). That makes me
      uncomfortable.

Bottom line: I'm not planning to proceed with this.

> add various functions to ex.exe

For a function to be added to ex.exe, it should be used
a lot, or be critical to performance. It's extremely unlikely
that checking the size of a file fits either category.
Reading N bytes from a file, I considered at one time,
but I haven't done it, because I think people more often
want to read up to some delimitter, rather than simply
a number of bytes. I've tried to make getc() as fast as
possible. I've heard vague statements that Euphoria's
file I/O is not very fast, but I've never been presented with any
concrete measurements, time profiles, or examples of
code where I/O is a major bottleneck.

Regards,
     Rob Craig
     Rapid Deployment Software

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

Search



Quick Links

User menu

Not signed in.

Misc Menu