1. Structure Pre-Processor
- Posted by Pete Eberlein <xseal at HARBORSIDE.COM> Feb 18, 1999
- 433 views
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime at docserver.cac.washington.edu for more info. ---1556868092-1574810173-919340648=:10049 Hello structure fans, Here's a little something I cooked up this morning to hack structures into Euphoria. See program comments for details. Enjoy! _______ ______ _______ ______ [ _ \[ _ ][ _ _ ][ _ ] [/| [_] |[/| [_\][/ | | \][/| [_\] | ___/ | _] | | | _] [\| [/] [\| [_/] [\| |/] [\| [_/] [_____] [______] [_____] [______] xseal at harborside.com ICQ:13466657 http://www.harborside.com/home/x/xseal/euphoria/ ---1556868092-1574810173-919340648=:10049
2. Re: Structure Pre-Processor
- Posted by Ralf Nieuwenhuijsen <nieuwen at XS4ALL.NL> Feb 18, 1999
- 457 views
>Hello structure fans, > >Here's a little something I cooked up this morning to hack structures >into Euphoria. See program comments for details. Enjoy! Interesting approach. This way we do have the speed benefit, that comes with structures. You say 'scope not enforced', but the scope is already enforced by Euphoria. The only real 'issue' that I can find is that we are not able to express the whole structure or parts of it. But this can be solved as well, I think. I see three options: 1) When we use the whole structure, just built it up: { my_structure_item1, my_structure_item2 } Note: WHen we assign something to it, we would need to use some dummy variable. However, this is *slow* 2) Always keep the decleration of a variable (using a structure) global. And have a little function to retrieve and set the structure. 3) Use at least one level of slicing. That is, structures in structures, etc. are automatically resolved, only the first-top-level of the structure is a sequence. Maybe a little database managed by an external library. Faster than the above options. Esspecially since the slicing could be partly 'optimized' away, by efficiently lookup and store values in the sequence, only when needed. Oh, and why cant we use structures in a routine ? I mean, without passing it around, we should be able to use them in a routine, or am I missing something here ? Anyways... nice work. Ralf
3. Re: Structure Pre-Processor
- Posted by Bernie Ryan <bwryan at PCOM.NET> Feb 18, 1999
- 429 views
PETE What are all of the characters at end of your e-mail on listserver ?? I presume they are some sort of attachment. How Do you decode them ?? I use EUDORA for my e-mail .
4. Re: Structure Pre-Processor
- Posted by Pete Eberlein <xseal at HARBORSIDE.COM> Feb 18, 1999
- 444 views
Bernie wrote: > PETE > > What are all of the characters at end of your e-mail on listserver ?? > > I presume they are some sort of attachment. How Do you decode them ?? > > I use EUDORA for my e-mail . Sorry. I forgot that Pine sometimes encodes attachments that get mangled on the way through the listserver. It was supposed to be type TEXT-PLAIN. I've posted the file to my webpage if you still want it. Ralf wrote: > Interesting approach. This way we do have the speed benefit, that comes > with structures. > You say 'scope not enforced', but the scope is already enforced by > Euphoria. Yeah, I guess Euphoria does catch some of the errors, but spp still thinks all structure variables are non-local to routines... somestruc a function b() anotherstruc a .... end function a.whatever -- the preprocessor assumes the type of "a" to be -- "anotherstruc", not "somestruc" as expected. But it -- only displays useless warnings, and will still translate -- it to something usable. > The only real 'issue' that I can find is that we are not able to express > the whole structure or parts of it. > But this can be solved as well, I think. I see three options: Yeah, I'd like to be able to express a structure as a whole as well... > 1) When we use the whole structure, just built it up: > { my_structure_item1, my_structure_item2 } > Note: WHen we assign something to it, we would need to use some > dummy variable. > However, this is *slow* something like: structure rgb integer red, green, blue end structure rgb color color = {100,150,200} should translate to: color_red = 100 color_green = 150 color_blue = 200 or in the case of not having a bracketed sequence, color = somefunction() to: junk = somefunction() color_red = junk[1] color_green = junk[2] color_blue = junk[3] Reading a whole structure could be pretty easily translated: ? color to: ? {color_red, color_green, color_blue} > 2) Always keep the decleration of a variable (using a structure) > global. And have a little function to retrieve and set the structure. This could get messy... I wouldn't want to try it. > 3) Use at least one level of slicing. That is, structures in > structures, etc. are automatically resolved, only the > first-top-level of the structure is a sequence. Maybe a little database > managed by an external library. This sounds overly complex. > Faster than the above options. Esspecially since the slicing > could be partly 'optimized' away, by efficiently lookup and > store values in the sequence, only when needed. Slicing a structure? I don't get it. > Oh, and why cant we use structures in a routine ? I mean, without > passing it around, we should be able to use them in a > routine, or am I missing something here ? What I mean is, you can have them in the arguments in a routine... structure test integer i,j,k end structure procedure funky(test monkey) test goober goober.i = monkey.i goober.j = monkey.j goober.k = monkey.k end procedure will translate to: procedure funky(integer monkey_i, monkey_j, monkey_k ) integer goober_i, goober_j, goober_k goober_i = monkey_i goober_j = monkey_j goober_k = monkey_k end procedure The local variable goober is ok, but the variable monkey will cause problems. I would have to up the intelligence of the processor to handle those kinds of variables. > Anyways... nice work. Thanks > Ralf _______ ______ _______ ______ [ _ \[ _ ][ _ _ ][ _ ] [/| [_] |[/| [_\][/ | | \][/| [_\] | ___/ | _] | | | _] [\| [/] [\| [_/] [\| |/] [\| [_/] [_____] [______] [_____] [______] xseal at harborside.com ICQ:13466657 http://www.harborside.com/home/x/xseal/euphoria/
5. Re: Structure Pre-Processor
- Posted by MilesDaniel <handmade at CITILINK.COM> Feb 18, 1999
- 427 views
I use eudora. Go to tools/options and you can specify the attachment directory. The attached files will be downloaded to this directory. I think you must consider the transfer option, mime, binary. Maybe not. -somebody- At 09:38 AM 2/18/99 -0500, you wrote: >PETE > >What are all of the characters at end of your e-mail on listserver ?? > >I presume they are some sort of attachment. How Do you decode them ?? > >I use EUDORA for my e-mail . > >