Sorry for not congratulating you earlier--thanks for putting the  
search-path system up.  You have done a good job with it: 'locate'  
also works on OS X.  I'll try to answer the rest of the questions  
tomorrow, I guess.  (Long day).

-Pete

On Aug 31, 2006, at 9:45 PM, skaller wrote:

>> Why not add these things as ./configure flags?
>
> Why not? :)
>
> You might want:
>
>       --with-paths=pathfile.paths
>
> i.e. to make a file with all the directories to search, and just
> name the file. This would be more 'persistent' than having
> to type the name of the directories every time you run configure.

In that case set priorities: --with-paths=pathfile.paths should be  
searched second, after the user-entered config paths (--with-gmp=/usr/ 
local), on the assumption that a user would not add a ./configure  
flag contrary to a (possibly old) path file without cause (they  
wanted to override the path file without modifying it); last should  
come the standard search paths.

> On Unix you could even default to
>
>       /etc/felix/pathfile.paths
>
> if it exists. The Felix compiler flxg already searches -I directories,
> so using paths is logical .. the problem is really:
>
>       "Arggg .. there are so many ways to do this, which
>       one do we pick?"

(1) follow set priorities (search each)
(2) if all fail, issue error (these are user-defined parameters, they  
deserve a chance to correct their error)
(3) allow user to quit error (if they decide they don't want to build  
with the third-party library)

> With hundreds of configuration parameters of unbounded
> number due to extensibility, and with frequent changes
> to the build system .. this made developers life a nightmare.
>
> In principle, if the config was stable this wouldn't affect
> end users .. but the config has not only changed by extending
> fields with successive releases .. the structure has changed
> each time too.

This will all stabilise at some point; possibly faster if you  
determine a goal to converge towards.

>>> (c) modifyable -- the user can change it
>>
>> Put flx_config.fpc in the user's home directory, under .felix (on
>> Posix); in the registry on Windows.
>
> Can't: Debian autobuilder etc. Some Unix users will be ordinary,
> some will be group admins, some will be the sys admins, and
> some will be the actual system, some will even be networked.

I mentioned user-space as a standard path

> What you suggest makes sense IF there were also a parameterised
> modular extensible install system, so we could distinguish
> installation classes and build models for them.
>
>>> (e) changeable -- new versions use different layouts
>>
>> This requirement seems to kill all the others,
>
> Yeah. That's the problem.
>
>> particularly (a),
>> since it implies the configuration system *must* clobber any
>> persistent header.
>
> Well, the way to think about this is by analogy.
>
> Software engineering faces this problem all the time.
> The requirement is the Open/Closed principle.
>
> Programs usually change representations with conversion
> functions -- you just stamp the config with a version number,
> detect it, and convert if an old format is found.
>
> In theory .. it's not that hard. But this is a LOT of
> work for a system without a stable user base.

At least it isn't Ruby on Rails:

Error message
"Rails does not work with Ruby version 1.8.3 Please upgrade to  
version 1.8.4 or downgrade to version 1.8.2."

> We've already put too much work into packaging and
> the build system, IMHO, compared to actually writing
> libraries.

I think the system is great so far.  Just writing libraries and  
letting the language evolve through use would be fine.

> If Ocaml supported Ocaml dynamic loading with native code
> Felix might not exist at all -- I'd be using Ocaml and telling
> everyone else to as well.

LOL :)  This way you are coming up with a better language at the same  
time.  (By the way, I don't hate OCaml, I really like how snappy it  
is and how everything just works; it just has some features I can't  
use without a big hassle.)

>>  Why is that?  Can't the system follow symbolic links?
>
> Sure, but Windows doesn't have symbolic links.
> And you really don't want to symlink all 150+ test
> examples do you? Symlinking the directory of
> course doesn't help.

Shadow-link the directory using lndir --it'll do everything for you.   
I am not exactly sure about Windows but there should be some way to  
do it.

-Pete

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to