Re: Rob?

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

Robert Craig wrote:
> 
> I think you're getting a bit paranoid.
> I'm not ignoring you. It's just that I sometimes
> have to leave my computer to sleep, eat, or go out and buy food. smile
> I also have to serve many other customers. Customers who 
> disagree with you. Can all customers be right?

I don't think it so much a matter of them disagreeing with me as it is with you
disagreeing with them.
 
> I'm also working hard on the multitasking feature, which I've now
> completed except for packaging the files and uploading them.
> Both the interpreter and translator now work fine with multitasking
> on DOS (both Watcom and DJGPP), Windows (Watcom, Borland, Lcc),
> Linux and FreeBSD. I also have example programs that use multitasking
> on all platforms. I'm building the Linux executables on a newer
> version of Linux, so maybe some things will work better 
> for some people.

Great, the beer is on me. smile
 
> I'll grant you that you've answered 1 and 4, (though
> the only person you referred to in 1 found a workaround,
> and is "not demanding" a change to the language).
> However I don't think you've provided a solution that
> answers both 2 & 3.

Ok... I've thought about dir() some more and concluded that you can use that
instead?

Let me explain...

You could more or less do everything I mentioned with my second proposal, but
instead of checking and storing for file sizes, check and store results of
dir(f); where f means the current file name.

So now in order for two or more files to be percieved as the same, the results
of the current dir() and a stored dir() must be exactly the same.

Example:

{
  {
    {109,105,115,99,46,101}, -- file name
    {97},                    -- attribute
    7577,                    -- byte size
    2006,                    -- year
    1,                       -- month
    11,                      -- day
    15,                      -- hour
    18,                      -- minute
    4                        -- second
  }
}

So in order for Euphoria to quitely ignore an include statement: Two or more
different files will need to have the same exact names, attributes, and byte
sizes. But it would also need to been modified the same exact year, month, day,
hour, minute, and second! smile

Heres another simplifed example showing this idea in action:
include file.e

sequence a, b

a = dir("C:\\EUPHORIA\\include\\misc.e")
b = dir("C:\\EUPHORIA\\include\\machine.e")

if equal(a, b) then
    puts(1, "The two files are most likely the same.\n")
else
    puts(1, "Isn't that cute... but it's WROOONNNGGG!!\n")
end if

machine_proc(26, 0)


I think I like this one better than my 180 line solution.
What do you think?

This is just as simple as the file size solution but with an extremely higher
degree of accuracy.

> You've also mentioned that your 180-line solution
> adds 10% to load time. I find this hard to believe,
> but if it's true, I can't believe that you would want that.
> You've been complaining with great passion about the
> load time issue, but now you're willing to throw 10%
> out the window, as long as the time is spent in your
> code handling a possible problem that does not affect
> 99% of all programs?

Well 10% is virtually undetectable on anything less than the biggest Euphoria
programs. Like I said, the difference with the biggest program I've tested was
less than a half second. Check out my dir() idea above.

> Regards,
>    Rob Craig
>    Rapid Deployment Software
>    <a href="http://www.RapidEuphoria.com">http://www.RapidEuphoria.com</a>


Regards,
Vincent

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

Search



Quick Links

User menu

Not signed in.

Misc Menu