Re: ESL Master Include File
- Posted by D. Newhall <derek_newhall at yahoo.com> Jul 25, 2005
- 537 views
Gordon Webster wrote: > > > How about this ... the booleans 'true' and 'false' in 'types.e' are the > kind of thing that almost all ESL modules might need and I'm pretty sure > there will be other 'universal features' as well, as we go along. > > I would propose a 'master' include file for all esl modules, which would > make it easier for all coders to work within some common infrastructure. > This would also make it possible to have global constants and types that > are associated generally with the ESL, such as ESL_VERSION_NUMBER and > ESL_VERSION_DATE and later, even things related to documentation and error > handling that might also need to be common to all ESL modules. > > Even if, for example, we decided at some point to introduce a > sophisticated error handling system, this could still be coded as a > separate module 'error.e' but 'included' in 'esl.e'. This would cut > down on the number of modules that coders would have to remember to > include for the basic features of the ESL that will be common to almost > all modules. > > Gordon > An ESL master file could be very useful but I don't see anything more than ESL_VERSION being in the file and even then how useful would they be? TRUE and FALSE should *not* be in the file simply because in some applications the programmer might want to make FALSE = -1 (I've done this in a few programs I've written). Typically, unless they absolutely need to, Library coders should not include other Library files into theirs. Some cases like, say, 3d_math.e including math.e could be permissible but since it's easy in Euphoria to create namespace clashes this could make more problems for the programmer using the Library as well as others maintaining it. Another issue is if a Library file gets changed and it breaks another file that was using it (ex. math.e gets an efficiency overhaul and 3d_math.e no longer works).