1. Trace functionality, or lack thereof. (refers to String thread also)

I'd never programmed using VC++ until I started at my new company. The trace 
functionality just blows me away compared to Euphoria's limited DOS window.

Rob, I know you've touted the trace functionality as being an advantage of 
Euphoria, but compared to the tracing this has, it doesn't even come close.

Problems I have with the trace system in Euphoria:

1. No way to see subscripts of sequences. "? myseq" works, but "? myseq[1]" 
does not.
2. No recursive references: "? myseq[i]"
3. No real way to keep particular variables in view.
4. No way to format sequences in a particular manner.
5. No way to see function return values unless explicitly assigned to a 
variable.
6. Outdated DOS interface (Minor, but aesthetically ugly, and difficult to 
use.
7. Limited flow control (No way to "run until this point")
8. (minor) Setting breakpoints "trace(1)" requires changing the source code, 
and cannot be done in the trace window, or without messing up line numbers. 
Perhaps offer an alternative method of having an external file .trc? which 
could be generated by the tracer, or hand-written.

Now, a fully-featured GUI debugger would be a very nice thing. Rob, I can 
understand you're hard pressed keeping the Euphoria language regularly 
updated, and don't really have the time to devote to a big project like 
that. However, how about exposing the trace interface from the interpreter 
to an external program? Keeping public edition and complete edition separate 
would still work, that interface could stop functioning if the program was 
over the 300 statement size. Having an interface would allow us - your loyal 
Euphoria community - to make a valuable addition to the language's appeal. 
Perhaps the original trace program could be rewritten to use this same 
interface if there are a few to whom it appeals.


MrTrick

new topic     » topic index » view message » categorize

2. Re: Trace functionality, or lack thereof. (refers to String thread also)

My hope is that v2.6 is going to focus on the trace and other 
quality assurance mechanisms (assert, design-by-contract features,
unit tests, versioned modules, ...) 

-- 
Derek Parnell
Melbourne, Australia

new topic     » goto parent     » topic index » view message » categorize

3. Re: Trace functionality, or lack thereof. (refers to String thread also)

Patrick Barnes wrote:

> Problems I have with the trace system in Euphoria:
> 
> 1. No way to see subscripts of sequences. "? myseq" works, but "? myseq[1]" 
> does not.
> 2. No recursive references: "? myseq[i]"
> 3. No real way to keep particular variables in view.
> 4. No way to format sequences in a particular manner.
> 5. No way to see function return values unless explicitly assigned to a 
> variable.
> 6. Outdated DOS interface (Minor, but aesthetically ugly, and difficult to 
> use.
> 7. Limited flow control (No way to "run until this point")
> 8. (minor) Setting breakpoints "trace(1)" requires changing the source code, 
> and cannot be done in the trace window, or without messing up line numbers. 
> Perhaps offer an alternative method of having an external file .trc? which 
> could be generated by the tracer, or hand-written.
> 
> Now, a fully-featured GUI debugger would be a very nice thing. Rob, I can 
> understand you're hard pressed keeping the Euphoria language regularly 
> updated, and don't really have the time to devote to a big project like 
> that. However, how about exposing the trace interface from the interpreter 
> to an external program?

Bravo!
These are all valid criticisms, and I especially like the idea of publishing 
the trace interface so someone other than RDS can write a fancy IDE/debugger.

Sadly, I don't think it's likely to happen.

Irv

new topic     » goto parent     » topic index » view message » categorize

4. Re: Trace functionality, or lack thereof. (refers to String thread also)

Patrick Barnes wrote:
> I'd never programmed using VC++ until I started at my new company. The trace 
> functionality just blows me away compared to Euphoria's limited DOS window.

Visual C++ is so complex, and has so little run-time error checking
(pointers and subscripts out of bounds, uninitialized variables, ...) 
that you need a really good debugger or you're in deep trouble.
How much did your company pay for it?

> Rob, I know you've touted the trace functionality as being an advantage of 
> Euphoria, but compared to the tracing this has, it doesn't even come close.
> 
> Problems I have with the trace system in Euphoria:
> 
> 1. No way to see subscripts of sequences. "? myseq" works, but "? myseq[1]" 
> does not.
> 2. No recursive references: "? myseq[i]"
> 3. No real way to keep particular variables in view.
> 4. No way to format sequences in a particular manner.
> 5. No way to see function return values unless explicitly assigned to a 
> variable.
> 6. Outdated DOS interface (Minor, but aesthetically ugly, and difficult to 
> use.
> 7. Limited flow control (No way to "run until this point")
> 8. (minor) Setting breakpoints "trace(1)" requires changing the source code, 
> and cannot be done in the trace window, or without messing up line numbers. 
> Perhaps offer an alternative method of having an external file .trc? which 
> could be generated by the tracer, or hand-written.

Thanks, I'll add this to my suggestions folder.
Several of these points have come up before.

> Now, a fully-featured GUI debugger would be a very nice thing. Rob, I can 
> understand you're hard pressed keeping the Euphoria language regularly 
> updated, and don't really have the time to devote to a big project like 
> that. However, how about exposing the trace interface from the interpreter 
> to an external program? Keeping public edition and complete edition separate 
> would still work, that interface could stop functioning if the program was 
> over the 300 statement size. Having an interface would allow us - your loyal 
> Euphoria community - to make a valuable addition to the language's appeal. 
> Perhaps the original trace program could be rewritten to use this same 
> interface if there are a few to whom it appeals.

I'll do even better than that.
I'm planning to make the version of the 2.5 Euphoria interpreter,
that's written 100% in Euphoria, free and open source
(license details to be decided).
It's fully compatible with the official 
(Euphoria front-end, C backend) RDS interpreter
though it's quite a bit slower. Even if you translate it
to C, it will still be significantly slower, 
but will execute any Euphoria program on any platform.

This means that anyone will be able to add or modify
any feature that they like (even add a spiffy GUI debugger),
and they'll be able to code it in Euphoria. 
No C required. If I like a feature, and I probably won't smile,
I will be able to add it to the official fast 
(Euphoria/C) interpreter in a straightforward way. 

RDS will continue to sell the binding
capability for the official fast interpreter, 
plus the translator, and the fast C backend source.
(With a few restrictions to be decided.)

Many versions of Euphoria might emerge, but
I'm confident that the vast majority of users will stay
with RDS Euphoria.

The details of all this are subject to change.

Regards,
   Rob Craig
   Rapid Deployment Software
   http://www.RapidEuphoria.com

new topic     » goto parent     » topic index » view message » categorize

5. Re: Trace functionality, or lack thereof. (refers to String thread also)

Rob wrote:

[snip]

> I'm planning to make the version of the 2.5 Euphoria interpreter,
> that's written 100% in Euphoria, free and open source
> (license details to be decided).
> It's fully compatible with the official
> (Euphoria front-end, C backend) RDS interpreter
> though it's quite a bit slower. Even if you translate it
> to C, it will still be significantly slower,
> but will execute any Euphoria program on any platform.

[snip]

Great!!!
What else can I say? smile

Regards,
   Juergen

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu