Version française
Home     About     Download     Resources     Contact us    
Browse thread
[ANN] OCaml Reins 0.1 - Persistent Data Structure Library
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: skaller <skaller@u...>
Subject: Re: Cherry-picking modules (was Re: [Caml-list] [ANN] OCaml Reins 0.1 - Persistent Data Structure Library)
On Wed, 2007-09-26 at 13:53 -0400, Mike Furr wrote:
> skaller wrote:
> 
> > This is true .. but you're missing something, which is slightly
> > surprising considering you're the maintainer and DD manager
> > of the Debian package for Felix ..
> 
> I believe the main point here is that you are bending what I consider
> best practice for felix because it is still in development and you want
> to speed its adoption.  I do understand that.

Actually no: IMHO 'best practice' is that programs are *source code*
and that is the only way they should be distributed. Binaries
should never be installed or distributed: they're just a 'cache'
and should be invisible.

Felix is designed to work that way: you execute script directly,
the same as Perl and Python.

Other systems, such as C, are so utterly plagued by design
faults and portability issues that systems like Debian were
designed to do this caching in a reliable way and distribute
the binaries .. but this is simply a consequence of the poor
engineering of C.

> You should no more expect them to build the reins library then for the
> gcc authors should expect you to build all of the dependencies of
> gcc/g++ (of which there appear to be >40 in the debian/control file for
> that package). 

But that's because it is written in C. For Ocaml code
I expect .. and indeed demand .. to build from source.
That is possible because of the superior design of the
Ocaml programming language. 

That is how Godi manages things -- and there's a good argument
Debian Ocaml 'binary' packages should ACTUALLY contain source
code which is built on demand: it would be a whole lot more
portable and easier to maintain, since upgrades to Ocaml require
modifying ALL the dang binary libraries, but very rarely
any change to sources.

Binary distros suck because user code not part of the distro
isn't handled. 'Execute source' is the way to go, because
it rebuilds everything, including user code, automatically
as required. IMHO of course :)

>  When you distribute the felix binary, all of its ocaml
> libraries are statically linked in, so they don't have to download
> anything outside of your binary (which is the downside of your choice to
> do source releases).

Yes, this is true, however I don't own a compile farm to build
all the binaries.


-- 
John Skaller <skaller at users dot sf dot net>
Felix, successor to C++: http://felix.sf.net