1. Data structures in the next release

Hi

I would like to know if data structures are still a priority for the next release, and when this is likely going to happen.

Thanks

GreenEuphorian

new topic     » topic index » view message » categorize

2. Re: Data structures in the next release

GreenEuphorian said...

Hi

I would like to know if data structures are still a priority for the next release, and when this is likely going to happen.

Thanks

GreenEuphorian

if you mean 4.1, then no. you can help the process along by checking out the structs branch, submit bug reports and suggestions on syntax for missing features here or on the dev list.

it is very usable right now and Matt has kept it up to date with the default 4.1. missing I think are unions? bit fields maybe? more unittests? coverage?

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

3. Re: Data structures in the next release

GreenEuphorian said...

Hi

I would like to know if data structures are still a priority for the next release, and when this is likely going to happen.

Thanks

GreenEuphorian

From my point of view. Euphoria is dead and outdated. You better do not await something new.

So structs are nothing to wait for.

It's a toy language, you can play with it and then go on to something real.

I still like it (becouse i'am just playing) but i do not await real progress.

It's nice for text processing but does not offer something you can't do in any other language. Its just easy to learn.

So i think data structures are never likely to be happen... (becouse there are not easy to learn and do not fit into the simple Euphoria typesystem).

Just my point of view
Andreas

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

4. Re: Data structures in the next release

ne1uno said...
GreenEuphorian said...

Hi

I would like to know if data structures are still a priority for the next release, and when this is likely going to happen.

Thanks

GreenEuphorian

if you mean 4.1, then no. you can help the process along by checking out the structs branch, submit bug reports and suggestions on syntax for missing features here or on the dev list.

it is very usable right now and Matt has kept it up to date with the default 4.1. missing I think are unions? bit fields maybe? more unittests? coverage?

I was thinking it over, actually. Considering the long delay in getting 4.1 out, maybe it is ok to include new features like structs after all...

andi49 said...

So i think data structures are never likely to be happen... (becouse there are not easy to learn and do not fit into the simple Euphoria typesystem).

So structs are nothing to wait for.

Like ne1uno said, we already have them.

andi49 said...

It's a toy language, you can play with it and then go on to something real.

I think this is less true since 4.0 came out (it was more true of say, version 2.3). Besides, Linux (the kernel) started out the same way (as a toy kernel), but with time grew into something bigger.

andi49 said...

I still like it (becouse i'am just playing) but i do not await real progress.

Define progress. Does 64bit support, multi-thread support, and data structure support count?

andi49 said...

It's nice for text processing

Ironic, as it's not really intended to specialize in text processing, unlike languages like Perl or awk.

andi49 said...

Its just easy to learn.

That's a huge benefit regardless of any other faults.

andi49 said...

but does not offer something you can't do in any other language.

I think this is an unreasonable requirement. All procedural computer languages are equivalent. At the end of the day, the code is turned into machine code that a computer understands. It's not possible to add features or abilities on top that can't be written in that machine code.

andi49 said...

From my point of view. Euphoria is dead and outdated. You better do not await something new.

From my point of view, Euphoria is more-or-less missing only two features - native multithread support and generators. (I'm still working on the first but not making a lot of progress yet.) Otherwise, it mostly has everything you'd expect from another language.

Development has been sluggish lately, but I assume that's because all-volunteer team is busy in real life. You get what you pay for ... or, if you really want to see things speed up, you can join the team and start playing around with the source code of the language itself (and not necessarily in that order)!

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

5. Re: Data structures in the next release

I have come to the idea that native Euphoria structs are possible already:

enum  
  TM_SEC, 
  TM_MIN, 
  TM_HOUR 

We ought to provide library routines for this kind of thing:

sequence s = struct_assign(TM_HOUR, 5, TM_MIN, 30, TM_SEC, 0) -- sets to 5:30:00 
-- s is {0,30,5} 
s[TM_SEC] is 0.  s[TM_HOUR] is 5. 
 
s[TM_MIN] = 45 
-- s is {0,45,5} 

I have already written these two routines. If anyone would like them, I wrote these some time ago, and they are tight and tested and they don't require 4.1 (probably would work on 3.1)

I know C style structs are much safer than this. It seems to me, if you could bind the indices to the enumerated list somehow so it is only valid in sequences that contain some special syntax you would get the big type safe advantage of C without all of the c types. But then you might end up with something that is so much like C and you would lose the flexibility of EUPHORIA.

I do not use EUPHORIA except for developing it and for writing short little scripts to do some kind of text processing task. For myself the problem is extrinsic to EUPHORIA: A new cool library comes out for AI and it will be written in C++ or Python or Java. Then you have to write a wrapper for it in order to start using it. Because EUPHORIA is consistently pass by value (virtually) the syntax will be different. So, the wrapper ought to be documented.

If someone writes a wrapper they often neglect the documentation and if it is a thick wrapper the lack of documentation makes the wrapper useless. Sometimes the documentation is incomplete, or wrong. This is only made worse by those who change things but are not prepared to look at all of the pages of the documentation and see what needs to be changed and fix that.

In the end, it is analogous to a natural language. It is useful if people speak it. People speak it if it is useful. Lately I have had no time for Euphoria development. Other activities in my life have grown and there is only so much time in a week.

S Pringle

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

6. Re: Data structures in the next release

jimcbrown said...

I was thinking it over, actually. Considering the long delay in getting 4.1 out, maybe it is ok to include new features like structs after all...

andi49 said...

So i think data structures are never likely to be happen... (becouse there are not easy to learn and do not fit into the simple Euphoria typesystem).

So structs are nothing to wait for.

Like ne1uno said, we already have them.

No, Euphoria allready has memstructs (and yes, there are great and really important for wrappers and for porting to 64bit).
But memstructs are only pointers to memory areas and are only useful for interacting with C (or C Style) Librarys. I do not think you want Euphoria Programers to work with Pointers all the time?!
and last but not least there are not even in the default branch. So if i count the time (nearly 2 years for a bugfix release for 4.0.5) I think there is still some time to wait for a 4.1 with memstructs

But Euphoria still lacks structs (or Records) for Euphoria DataTypes.

andi49 said...

It's a toy language, you can play with it and then go on to something real.

jimcbrown said...

I think this is less true since 4.0 came out (it was more true of say, version 2.3). Besides, Linux (the kernel) started out the same way (as a toy kernel), but with time grew into something bigger.

Sure, you are right. But Euphoria and Linux are in the same age. So Linux (Kernel) evolved a little bit faster and is not comparable....

andi49 said...

I still like it (becouse i'am just playing) but i do not await real progress.

jimcbrown said...

Define progress. Does 64bit support, multi-thread support, and data structure support count?

64bit support is a really progress, but from my point of view it is only really powerfull togheter with memstructs.
Writing a wrapper with countless 'ifdef BITS64' is a pain in the ass...
multi-thread support? Where?
data structure support? See above...

andi49 said...

It's nice for text processing

jimcbrown said...

Ironic, as it's not really intended to specialize in text processing, unlike languages like Perl or awk.

No, it's not ironic, that's (from my point of view) one of Euphorias strong sides.

andi49 said...

Its just easy to learn.

jimcbrown said...

That's a huge benefit regardless of any other faults.

Easy to learn does not mean easy to use...

andi49 said...

but does not offer something you can't do in any other language.

jimcbrown said...

I think this is an unreasonable requirement. All procedural computer languages are equivalent. At the end of the day, the code is turned into machine code that a computer understands. It's not possible to add features or abilities on top that can't be written in that machine code.

This is a very reasonable requirement (again, from my point of view). Becouse why should anyone choose Euphoria over any other language if there is no difference? Why do you think people choose a highlevel language over assembler if the result is the same?

andi49 said...

From my point of view. Euphoria is dead and outdated. You better do not await something new.

jimcbrown said...

From my point of view, Euphoria is more-or-less missing only two features - native multithread support and generators. (I'm still working on the first but not making a lot of progress yet.) Otherwise, it mostly has everything you'd expect from another language.

Development has been sluggish lately, but I assume that's because all-volunteer team is busy in real life. You get what you pay for ... or, if you really want to see things speed up, you can join the team and start playing around with the source code of the language itself (and not necessarily in that order)!

I do not have the knowledge to work on the language itself, i do not even have enough knowledge to work on a wrapper (even my tinewg was build on the hope that someone jumps in and tell me that I'am doing it wrong).
I know i get what i pay for ... but what i miss is 'Tue Gutes und rede darueber.' translate to 'Do good and tell people about it!'

I miss 'the progress in OpenEuphoria pushed to the public', i'am sure not every Euphoriaprogramer likes to install gcc and msys and hg to just have the most recent Interpreter.
I'am really sure they want them on the downloadpage. Including some information.
Maybe things like Multiassign (easy to use and really fast) or deprecated support or 64bit support or reduced parsing time or smaller dll's or fixed memory leaks ....

Andreas

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

7. Re: Data structures in the next release

jimcbrown said...

I was thinking it over, actually. Considering the long delay in getting 4.1 out, maybe it is ok to include new features like structs after all...

andi49 said...

So i think data structures are never likely to be happen... (becouse there are not easy to learn and do not fit into the simple Euphoria typesystem).

So structs are nothing to wait for.

jimcbrown said...

Like ne1uno said, we already have them.

andi49 said...

No, Euphoria allready has memstructs (and yes, there are great and really important for wrappers and for porting to 64bit).
But memstructs are only pointers to memory areas and are only useful for interacting with C (or C Style) Librarys. I do not think you want Euphoria Programers to work with Pointers all the time?!

That's a good point. memstructs is for interfacing with C (when you have no choice but to use pointers).

andi49 said...

and last but not least there are not even in the default branch. So if i count the time (nearly 2 years for a bugfix release for 4.0.5) I think there is still some time to wait for a 4.1 with memstructs

Conceded.

andi49 said...

But Euphoria still lacks structs (or Records) for Euphoria DataTypes.

I agree with SDPringle here, we more-or-less already have them: http://openeuphoria.org/forum/m/124818.wc

It'd be nice to see struct_assign() in the stdlib though, and maybe even some syntax sugar for it.

andi49 said...

It's a toy language, you can play with it and then go on to something real.

jimcbrown said...

I think this is less true since 4.0 came out (it was more true of say, version 2.3). Besides, Linux (the kernel) started out the same way (as a toy kernel), but with time grew into something bigger.

andi49 said...

Sure, you are right. But Euphoria and Linux are in the same age.

Agreed, Euphoria is slightly older actually (it started in the mid 80s, Linux kernel was 1991 or 1992 iirc).

andi49 said...

So Linux (Kernel) evolved a little bit faster and is not comparable....

The big difference IMVHO is that Euphoria wasn't open source until just a few years ago.

andi49 said...

I still like it (becouse i'am just playing) but i do not await real progress.

jimcbrown said...

Define progress. Does 64bit support, multi-thread support, and data structure support count?

andi49 said...

64bit support is a really progress,

And I can assure you that more progress is in the works.

andi49 said...

multi-thread support? Where?

Phix had it first: http://openeuphoria.org/forum/120729.wc#120729 (I consider Phix part of the Euphoria family of languages...)

There's also an OpenEuphoria version that's in-progress (but highly experimental)...

andi49 said...

data structure support? See above...

Ditto.

andi49 said...

It's nice for text processing

jimcbrown said...

Ironic, as it's not really intended to specialize in text processing, unlike languages like Perl or awk.

andi49 said...

No, it's not ironic, that's (from my point of view) one of Euphorias strong sides.

Conceded.

andi49 said...

Its just easy to learn.

jimcbrown said...

That's a huge benefit regardless of any other faults.

andi49 said...

Easy to learn does not mean easy to use...

But being easy to learn is a huge benefit regardless. Being easy to use would be an additional huge benefit.

andi49 said...

but does not offer something you can't do in any other language.

jimcbrown said...

I think this is an unreasonable requirement. All procedural computer languages are equivalent. At the end of the day, the code is turned into machine code that a computer understands. It's not possible to add features or abilities on top that can't be written in that machine code.

andi49 said...

This is a very reasonable requirement (again, from my point of view). Becouse why should anyone choose Euphoria over any other language if there is no difference?

Why not?

Even if we had huge differences (I'm thinking Java vs Ocaml/Effiel/Erlang/C-- here), I'm not sure it'd make much difference in terms of usage. Ray Smith had it down IMVHO - the biggest, most popular languages tend to have the biggest commercial backing. Short of having all of that, we just simply can't compete in terms of marketing, advertising, etc.

andi49 said...

Why do you think people choose a highlevel language over assembler if the result is the same?

The result isn't the same, because assembler is hard to learn and hard to use (relatively speaking), and it's not portable. There's no single assembler language, but a bunch of them (roughly one per cpu architecture), and you more or less have to relearn everything from scratch when you move to another arch.

andi49 said...

From my point of view. Euphoria is dead and outdated. You better do not await something new.

jimcbrown said...

From my point of view, Euphoria is more-or-less missing only two features - native multithread support and generators. (I'm still working on the first but not making a lot of progress yet.) Otherwise, it mostly has everything you'd expect from another language.

Development has been sluggish lately, but I assume that's because all-volunteer team is busy in real life. You get what you pay for ... or, if you really want to see things speed up, you can join the team and start playing around with the source code of the language itself (and not necessarily in that order)!

andi49 said...

I do not have the knowledge to work on the language itself,

If you really wanted to, I suspect you could catch up really quickly. A lot of the work in adding new features to Euphoria can be written in Euphoria itself. I've seen your past work in the language and rated it highly.

andi49 said...

i do not even have enough knowledge to work on a wrapper (even my tinewg was build on the hope that someone jumps in and tell me that I'am doing it wrong).

I've used tinewg and I think you sell yourself short here. I find it a great product.

andi49 said...

I know i get what i pay for ... but what i miss is 'Tue Gutes und rede darueber.' translate to 'Do good and tell people about it!'

Agreed. But, well, real-life and all that ... what's a person to do?

andi49 said...

I miss 'the progress in OpenEuphoria pushed to the public', i'am sure not every Euphoriaprogramer likes to install gcc and msys and hg to just have the most recent Interpreter.

You mean the eubins? Getting those back up is definitely a priority.

andi49 said...

I'am really sure they want them on the downloadpage. Including some information.
Maybe things like Multiassign (easy to use and really fast) or deprecated support or 64bit support or reduced parsing time or smaller dll's or fixed memory leaks ....

You mean eubins for all of these branches? 64bit support has been up there for a while. I think Matt has put up binaries for his branches, like memstructs, from time to time as well.

Or do you mean info on the download pages explaining what's happening with each update (i.e. what's changed) ? I'm not sure it makes sense to have all that information in the download page however. That's available from the hg logs (which you can browse online) and from the release notes (also available online).

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

8. Re: Data structures in the next release

I have had structures in my code since 2005.

They are called records.

http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie

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

9. Re: Data structures in the next release

I would hope that data structures will make it into the next release. They would come in handy.

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

10. Re: Data structures in the next release

[...]

jimcbrown said...

I've used tinewg and I think you sell yourself short here. I find it a great product.

Thank you for this kind words... Maybe you are the one who likes to be the first person, who is adventurous enough to test Jiri Bobors Sudoko as a 64bit program ...?!

andi49 said...

I know i get what i pay for ... but what i miss is 'Tue Gutes und rede darueber.' translate to 'Do good and tell people about it!'

jimcbrown said...

Agreed. But, well, real-life and all that ... what's a person to do?

Make it public available... In a usable form ;) In form of binarys (working programs and anounce it).
Example : Maybe if someone ask for memstructs you can just point him to the download page ...

andi49 said...

I miss 'the progress in OpenEuphoria pushed to the public', i'am sure not every Euphoriaprogramer likes to install gcc and msys and hg to just have the most recent Interpreter.

jimcbrown said...

You mean the eubins? Getting those back up is definitely a priority.

Not only the eubins, but yes, they would be a good start (togehther with a simple changelog textfile).

andi49 said...

I'am really sure they want them on the downloadpage. Including some information.
Maybe things like Multiassign (easy to use and really fast) or deprecated support or 64bit support or reduced parsing time or smaller dll's or fixed memory leaks ....

jimcbrown said...

You mean eubins for all of these branches? 64bit support has been up there for a while. I think Matt has put up binaries for his branches, like memstructs, from time to time as well.

Or do you mean info on the download pages explaining what's happening with each update (i.e. what's changed) ? I'm not sure it makes sense to have all that information in the download page however. That's available from the hg logs (which you can browse online) and from the release notes (also available online).

No not with each update, but a simple binary release (not even a full setup, maybe just a zip with a change log).

As example, for the main release (Eu 4.0.x) a zip file and a simple changelog.txt every 6 month. Just to keep people informed thats something going on.

This would be great.

That's what i 'wish'. (Not what i 'want') ;)

Don't forget : Most people just visit a webpage in a few seconds, they do not browse hg logs or something like this, they look for downloads ...

Andreas

(and please forgive my bad english)

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

11. Re: Data structures in the next release

andi49 said...

I know i get what i pay for ... but what i miss is 'Tue Gutes und rede darueber.' translate to 'Do good and tell people about it!'

jimcbrown said...

Agreed. But, well, real-life and all that ... what's a person to do?

andi49 said...

Make it public available... In a usable form ;) In form of binarys (working programs and anounce it).
Example : Maybe if someone ask for memstructs you can just point him to the download page ...

Wait... Aren't we already doing that?

andi49 said...

I miss 'the progress in OpenEuphoria pushed to the public', i'am sure not every Euphoriaprogramer likes to install gcc and msys and hg to just have the most recent Interpreter.

jimcbrown said...

You mean the eubins? Getting those back up is definitely a priority.

andi49 said...

Not only the eubins,

Then what else?

andi49 said...

but yes, they would be a good start (togehther with a simple changelog textfile).

The changelog will not change too much between hg commits. I'm not sure of the utility of this.

andi49 said...

No not with each update, but a simple binary release (not even a full setup, maybe just a zip with a change log).

If it's per release ... then we are already doing this.

andi49 said...

As example, for the main release (Eu 4.0.x) a zip file and a simple changelog.txt every 6 month. Just to keep people informed thats something going on.

This would be great.

This is not possible. There have been no new releases in the past 6 months.

andi49 said...

Don't forget : Most people just visit a webpage in a few seconds, they do not browse hg logs or something like this, they look for downloads ...

I think including the full hg logs, or even the full changelog (the release notes) on the downloads page is not practical. They'd just be too large and take up too much space.

A short summary would probably work though. Since the downloads page is a wiki page editable by any logged in user, this means that any person with the spare time can go ahead and do this.

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

12. Re: Data structures in the next release

Hi
thank you for your reply

I think you are completely correct.

Would you just point me to a download where i can find a recent 4.0.x (not the old 4.0.5 from 2012)?

And also to the place where i can find a release from the struct branch (no, i do not like to use hg and compile it myself)?

(i just ask for the struct branch becouse you said we allready have structs).

Andreas

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

13. Re: Data structures in the next release

andi49 said...

Hi
thank you for your reply

I think you are completely correct.

Would you just point me to a download where i can find a recent 4.0.x (not the old 4.0.5 from 2012)?

4.0.5 is the most recent 4.0.x release, so I can not point you to a newer release.

Some newer eubins are available however, e.g. http://openeuphoria.org/eubins/windows/4.0.5/eubins-watcom-20131210-e79275ac5d37.zip from http://openeuphoria.org/eubins/windows/4.0.5/

(Based on the hg log, that's the newest eubin required. Any additional changes to the 4.0 branch since then have occured either in documentation, tests, or the stdlib, and do not require any recompiling to be used with the latest eubin.)

andi49 said...

And also to the place where i can find a release from the struct branch (no, i do not like to use hg and compile it myself)?

(i just ask for the struct branch becouse you said we allready have structs).

Andreas

There are no official releases for the structs branch yet. However, some precompiled eubins are available here:

http://openeuphoria.org/eubins/struct/

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

14. Re: Data structures in the next release

Thank you

Andreas

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

Search



Quick Links

User menu

Not signed in.

Misc Menu