mfp / oraft

Raft consensus algorithm implementation
Other
32 stars 5 forks source link

Batteries #3

Closed vbmithr closed 10 years ago

vbmithr commented 10 years ago

Batteries does not work (yet?) with OCaml 4.02.0.

I would like oraft not use any stdlib overlay if possible, such that it is possible to integrate it in a program that does not want to link batteries.

I'm trying to remove batteries in a branch.

mfp commented 10 years ago

On Sat, Sep 13, 2014 at 01:06:59AM -0700, Vincent Bernardoff wrote:

Batteries does not work (yet?) with OCaml 4.02.0.

I would like oraft not use any stdlib overlay if possible, such that it is possible to integrate it in a program that does not want to link batteries.

I'm trying to remove batteries in a branch.

Does Batteries represent too high a cost as far as executable size is concerned? I'm using

for the core lib: [1] BatArray BatHashtbl BatInt64 BatList BatMap BatOption BatQueue

for the dict example: BatString

for the DES tests: BatHeap BatBitSet

dict and the tests can be left as-is, for they don't affect the lib.

Fortunately, all the uses of Bat* stuff in the core lib should amount to trivial convenience functions (except for BatQueue), so if absolutely needed they can be replaced. Are you sure you want to do it, however? It'd be rather unfortunate to re-invent all this stuff now that we're beginning to have usable stdlibs... Do the modules used in the core lib [1] really weigh that much, especially when compared to all the Lwt machinery we're bringing in?

Also, Batteries' master branch already works on 4.02 and a release should be around the corner: https://github.com/ocaml-batteries-team/batteries-included/issues/572

Mauricio Fernández

vbmithr commented 10 years ago

On 17/09/2014 18:27, mfp wrote:

Are you sure you want to do it, however?

No, I was just thinking that replacement stdlibs should be used only on final programs are not on libraries, since they force a choice for the user. For example if I decide to build a program with oraft + Core, I'll bring in two standard libraries.

But, let's put it like that, I don't really care in the end. I'll reopen this is I run into an issue because of Batteries (Hope they'll release soon, though :).

Closing this.