1. quick summary
- Posted by kobi May 06, 2012
- 1349 views
Hi everyone!
since euphoria exists since.. uh, 1993
I thought it would be wiser to just ask for a quick summary.
for example,
where is the standard library, and where are all the data structures?
how do you do networking, io, ...
for building more complex apps, usually alot of code/functions were already factored out for reuse, over the years.
Is that available?
I also heard there was an object oriented version, though it doesn't match the current open euphoria.
Actually, I don't mind the combination of enums, types, and sequences - it feels more fun and flexible.
I haven't seen overloading, but there are namespaces, so maybe that can serve a similar purpose.
oh, and is there an 'async' library, or co-routines over mailboxes? (erlang style concurrency)
or events - slots and signals? I wouldn't want to reimplement the wheel.. :)
what is the roadmap for significant features or integrating certain concepts?
sorry, didn't mean to make this post so long
Thank you all for the replies and support for beginners
2. Re: quick summary
- Posted by mattlewis (admin) May 06, 2012
- 1346 views
where is the standard library, and where are all the data structures?
The standard library comes with euphoria, though its location depends on how you downloaded / installed euphoria. If you downloaded either the Windows installer or a simple zip/gzipped tarball, the standard library will be in include/std (the legacy, pre-4.0 std library is in include).
If you use the debian package to install, then the std library gets installed to /usr/share/euphoria/include/std.
If you build from source and do a normal "make install," then it will go to /usr/local/share/euphoria/include.
Note that in either case, your eu.cfg should point to that base include directory, and the proper way to include something from the standard library is to use include std/... (i.e., prefix the file you want with std/.
There are some user defined types in various libraries. std/map.e implements a map/dictionary type of data structure. std/stack.e implements a simple stack. std/datetime.e implements a datetime type. I think those are the main data structures that are implemented in the standard library. Was there something else that you were interested in?
The documentation of the standard library is here.
how do you do networking, io, ...
for building more complex apps, usually alot of code/functions were already factored out for reuse, over the years.
Is that available?
There are some networking libraries included in the standard library:
std/socket.e std/net/dns.e std/net/http.e std/net/url.eThose are documented in the link above. That area is not my specialty, but if you have other questions, I'm sure someone can help you to answer them.
I also heard there was an object oriented version, though it doesn't match the current open euphoria.
Actually, I don't mind the combination of enums, types, and sequences - it feels more fun and flexible.
Over the years, some users have written libraries that implement OO for euphoria. At some point, we've talked about extending euphoria to support OO as well as the current procedural style.
I haven't seen overloading, but there are namespaces, so maybe that can serve a similar purpose.
oh, and is there an 'async' library, or co-routines over mailboxes? (erlang style concurrency)
or events - slots and signals? I wouldn't want to reimplement the wheel.. :)
There is no overloading in euphoria with respect to routine signature. Namespaces can be used to work with multiple routines with the same name.
Euphoria doesn't currently support any sort of concurrent programming. That's definitely on the list of future work, and there is an experimental branch in the repository that's looking into supporting multi-threaded coding.
There has also been talk of adding co-routines, independent of concurrency.
Euphoria does support cooperative multitasking (see std/task.e))
what is the roadmap for significant features or integrating certain concepts?
There are a couple of wiki pages:
There isn't a terribly formal process. The development team is pretty small and 100% volunteer. I can tell you that work on supporting C structs in RAM is pretty far along, though I think it may get bumped to 4.2 in order to get 4.1 out sooner.
Matt
3. Re: quick summary
- Posted by kobi May 07, 2012
- 1196 views
cool, thank you for all the information.
I quite like euphoria so far, if I continue with it to build some applications,
I may donate the general functions. Are contributions welcomed?
Is there a procedure to follow to have generally useful functions added to the stdlib?
Is someone already organizing this?
see you, kobi
4. Re: quick summary
- Posted by DerekParnell (admin) May 07, 2012
- 1264 views
I quite like euphoria so far, if I continue with it to build some applications,
I may donate the general functions. Are contributions welcomed?
Is there a procedure to follow to have generally useful functions added to the stdlib?
Is someone already organizing this?
You can add it to the User Contributions on the Wiki.
5. Re: quick summary
- Posted by mattlewis (admin) May 07, 2012
- 1295 views
I quite like euphoria so far, if I continue with it to build some applications,
I may donate the general functions. Are contributions welcomed?
Is there a procedure to follow to have generally useful functions added to the stdlib?
Is someone already organizing this?
You can add it to the User Contributions on the Wiki.
I'd just like to further add that, yes, we are definitely interested in user submissions (did I mention we're a small team ). The wiki or the forum are a good place.
We also have a mailing list that focuses on euphoria development. You can find it at our project page at Sourceforge (which seems to be having issues right now ).
Matt