Re: [ANN] version.e
- Posted by CChris <christian.cuvier at agriculture.gouv.fr> Feb 16, 2007
- 490 views
Vincent wrote: > > CChris wrote: > > > > > > I just submitted a small version.e include file, which is supposed to > > enable to find the current interpreter version whenever it is relevant. > > > > If some people with old versions of Eu still installed could tell me whether > > > > the method I'm using is reliable enough, and how tostrengthen it if needed, > > that would certainly help. > > > > Also, I have no Linux box, so I have no idea whether there is any specufuc > > issue on Linux/FreeBSD oplatforms. > > > > Any feedback appreciated. > > TIA > > CChris > > I've already submitted a solution for that. It works by comparing the exact > byte-count of each interpreter executable against a long list of EU version > conditional match statements. The library currently supports Euphoria v1.0 > thru > v2.5. > > I also included a program that allows anyone to add support for newer Euphoria > releases (3.0 onwards), simply by answering a few questions. > > <a > href="http://www.rapideuphoria.com/versionlib.zip">http://www.rapideuphoria.com/versionlib.zip</a> > > > Regards, > Vincent I was aware of that, but the specs are slightly different. The problem I wanted to solve is: how to have a library that may execute with different versions of the interpreter avoiding code that would crash on a given machine, no questions asked. So I wanted something that doesn't rely on updating a knowledge base (size of executable for instance) and doesn't require any interaction from the end user, who might ignore it is there at all. This is wht, if the method I use fails on say pre v1.4 Eu, I wish to document it, but, unless the fix is trivial, not correct it. The kind of questions answered is: will task_yield() crash? Is the $ construct available? And the answers must come without any outside assistance and minimal overhead. And I thought I might not be the only one to have some use for the tool, so I submitted it. No disregard for your code, Vincent, just a bit different operational specs. CChris