Re: Standardized Euphoria
- Posted by Chris Bensler <bensler at nt.net> Dec 23, 2006
- 693 views
Robert Craig wrote: > > Chris Bensler wrote: > > I'm working on designing new standard libraries for Euphoria to replace the > > RDS libs that are shipped with the distro. > > > > I have a few questions. > > > > 1. Besides additional functionality, I would prefer to redesign/reorganize > > the > > existing libs. Would this be acceptable to people? > > Now that Euphoria is open source and free, I think it will be > much easier to add to the existing standard libraries. In the past > I was reluctant to start adding all sorts of user contributed > files to the official download package. The reasons are fairly > obvious: > * I was the only one making money from the package, > so it seemed unfair to mix in the work of others. > > * Someone might try to sue me over a copyright > misunderstanding. > > * I might get stuck maintaining other peoples code > after they leave. > > I think the idea of adding to euphoria\include is good, > and creating subdirectories makes sense, especially if > there are eventually going to be lots of include files. > I don't think you should change the existing standard .e > files in a way that will cause existing programs to break. I hope not. My preference is to progress not compatability, but I do have to be realistic. The most sophisticated invention in the world is useless if nobody will use it. I have a way to avoid breaking compatability, although it would be desirable to deprecate and eliminate the existing setup eventually. I actually have a prototype laid out already. I've been reluctant to upload it for evaluation because I'm not satisfied with the subfolder structure yet, but I think I will anyways, so people can see where I'm at. > You can add lots of new files, some in the main euphoria\include > directory and collections of related files in subdirectories. > I know that a language designer frequently wishes he could > start over and do things perfectly in the name of beauty > and elegance, but the users will not appreciate your sense > of beauty when they try to upgrade and discover that > lots of existing programs are now bombing out. It's just not > worth the hassle. Agreed, I'd like to make any required transition as seamless as possible. Again, personally I'm not of a mind to adhere to backward compatability if breaking it can be justified. Being that the community is still small at this point, it would be wise to do it now before Eu does manage to get too big, rather than suffer with comprimises. I saw a good quote a while ago: (paraphrased) "Progress is the person who advances on the road to success. Sometimes one finds themself on the wrong road and then they must turn back to where they deviated from the road to success. Thus the most progressive person is the one who turns back first." Being rational though, I know that I can't force everyone to see my perspective or force them to use my work and I don't want it to be in vain. In any case, I think it may have been a mistake to mention compatability in regards to the file organization, since I don't think that will be a problem. I mentioned about my 'batch include' concept in another thread. This concept would be utilized to provide a compatability layer for the existing libs. The real issue with compatability is when new functionality is added. Such as the famous TRUE and FALSE constants. These types of things will inevitably create conflicts with legacy code that can't be avoided. > One source of new include files could be things that > are already being used by many people. Perhaps cleaned up > a bit. Yes. When I have established a structure for the libs, I will be calling on the community to nominate functions and files to be considered. > People like to have standard libraries because they > know that other people are using those libraries > and the code is probably well supported and debugged. Quite right. I've been using my Empire libs with Eu2.3 for several years now, unfortunately all of my code is incompatible with everyone elses. It really defeats the purpose of advancement if it isolates you from all available resources. > It's of course necessary, but a bit risky, > to invent new libraries. Perhaps few people will use them, > but the few that do will demand that they be well maintained > and documented ... forever. > > Good luck in exploring this area. Uh oh, the 'D' word! LA LA LA! I can't hear you! LA LA LA! :P Writing documentation for me is like trying to explain what blue looks like to a blind person :< And I'm colorblind! :S I can only hope that someone will be willing to chip in on that aspect or the docs will undoubtedly be substandard. Chris Bensler ~ The difference between ordinary and extraordinary is that little extra ~ http://empire.iwireweb.com - Empire for Euphoria