<Leonidas>
hath: I guess you need to describe your issue w/ more detail
<hath>
ocaml setup.ml -configure --enable-tests
<hath>
then make test
<Leonidas>
hath: oh, I see
<hath>
do I need to add the package to the test executable buildDepends?
<Leonidas>
hath: I think the issues is, you never build a Library Phonedb
<hath>
oh
<Leonidas>
*issue is
<ollehar>
one question about gc: if you have an explicit stack, you don't have to tag values, right? also, you could do escape analysis to allocate some memory on stack instead of heap.
<ollehar>
does that mean that ocaml never does stack allocation? as java.
<Leonidas>
I was lazy so I removed all the conditionals.
rgrinberg has quit [Ping timeout: 260 seconds]
<Leonidas>
it still does not compile, but that's due to a type-error in the code :-)
MercurialAlchemi has quit [Ping timeout: 240 seconds]
<hath>
that's a lot better than not importing it though, thanks!
<Leonidas>
hath: you're welcome!
<Leonidas>
you might also have a look at quickcheck, which is kinda cooler than unit testing.
<Leonidas>
*want to have a look
<hath>
That is exactly what I planned to do
<Leonidas>
oh, carry on then :)
<hath>
I figured that I would start with just trying to get a unit test working. I figured I would run into the exact issue of getting things importing.
<Leonidas>
TDD = Type Driven Development, after all ;-)
<hath>
out of curiosity, what does make install versus make build do in oasis?
<hath>
is make install required to place the Library package in some global package space or is it local to the project?
<Leonidas>
hath: I guess install tries to install it into the proper paths, while build oncy creates the files.
* Leonidas
always uses ocaml setup.ml -build
<Leonidas>
no makefile
<Leonidas>
hath: you don't need install for getting your binary out
<Leonidas>
-build correctly creates and links your executable, then you can call it directly
Mercuria1Alchemi has quit [Ping timeout: 260 seconds]
<hath>
cool
Kakadu has quit [Remote host closed the connection]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
madroach has quit [Ping timeout: 260 seconds]
madroach has joined #ocaml
swgillespie has joined #ocaml
hath has quit [Ping timeout: 246 seconds]
ril has joined #ocaml
ceryo has joined #ocaml
rgrinberg has joined #ocaml
ceryo has quit [Ping timeout: 252 seconds]
rgrinberg has quit [Read error: Connection reset by peer]
rgrinberg has joined #ocaml
djellemah_ has joined #ocaml
djellemah has quit [Ping timeout: 260 seconds]
Guest38 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
toolslive has joined #ocaml
low-prof1 has quit [Ping timeout: 244 seconds]
low-prof1 has joined #ocaml
teiresias has quit [Ping timeout: 260 seconds]
RichN has quit [Ping timeout: 260 seconds]
RichN has joined #ocaml
teiresias has joined #ocaml
ygrek has joined #ocaml
f[x] has quit [Ping timeout: 265 seconds]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
netrobyatmobile has joined #ocaml
sepp2k has quit [Quit: Leaving.]
ollehar has quit [Quit: ollehar]
echo-area has quit [Remote host closed the connection]
hath has joined #ocaml
teknozulu has joined #ocaml
ygrek_ has joined #ocaml
<teknozulu>
Hello. Where could I find information pertaining to the organization of OCaml bytecode executable files (something analogous to the PE file format specification)?
<teknozulu>
Specifically I'm looking to develop something for loading modules at runtime
<coody>
Last time I checked, I couldn't find more either
<coody>
Had to read some code
igoroliveira has quit [Quit: Connection closed for inactivity]
<teknozulu>
Oh, dynlink will probably provide enough foundation for what I want to achieve
<dmbaturin>
teknozulu: What do you want to add that dynlink can't do?
<teknozulu>
well, i just came across dynlink, so the answer is probably not much. Just gonna build some stuff around it for user friendly pluggability
<dmbaturin>
In other news, I've got a permission from John Harrison to translate the Introduction to Functional Programming from CAML Light.
rgrinberg has quit [Ping timeout: 244 seconds]
tokenrove has quit [Ping timeout: 272 seconds]
ril has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
swgillespie has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
teknozulu has quit [Ping timeout: 255 seconds]
jimt has quit [Quit: leaving]
tokik has quit [Ping timeout: 244 seconds]
tokik has joined #ocaml
Algebr has joined #ocaml
tokenrove has joined #ocaml
jimt has joined #ocaml
Tekilla has joined #ocaml
FreeBirdLjj has joined #ocaml
ygrek_ has quit [Ping timeout: 260 seconds]
darkf has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
shinnya has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
emaphis has quit [Ping timeout: 272 seconds]
ril has joined #ocaml
pierpa has quit [Ping timeout: 244 seconds]
swgillespie has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
mac10688 has quit [Ping timeout: 250 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
echo-area has joined #ocaml
lmaocaml has joined #ocaml
<lmaocaml>
Hello, i am trying to use Hashable.Make from core_kernel, but the key needs to have sexp_of_t, t_of_sexp fun.
<lmaocaml>
how do i generate them?
<lmaocaml>
i am writing a functor which takes a module with only hash and compare functions
<python476>
dmbaturin: thumbs up
<dmbaturin>
lmaocaml: I'm not sure why is this, but I seem to recall there are syntax extensions for generating sexp (de)serializers. Maybe even for ppx_deriving.
<dmbaturin>
I don't use either Core or sexp, so that's all I can say for now. :)
<lmaocaml>
but with sexp doesn't work for abstract types
ril has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
slash^ has joined #ocaml
<def`>
lmaocaml: you have to make your functor takes a type with sexp functions
<def`>
or provide default one just failing...
<lmaocaml>
def`: yeah it sucks
<lmaocaml>
i am going to use stdlib
<lmaocaml>
fuck core
<def`>
maybe :)
<lmaocaml>
i mean like why the fuck it has sexp_of_t in the key sig :/
<def`>
to dump content of the table
<dmbaturin>
lmaocaml: If you want an alternative library, you may also want into Batteries (comprehensive) or Containers (datastructure focused).
<lmaocaml>
def`: that should n't be part of sig
<def`>
if you don't want this feature, go for a dummy implementation not printing anything useful
<def`>
lmaocaml: why?!
<lmaocaml>
dump has nothing to do with a hashtable
<lmaocaml>
def`: i can't go for dummy implementation of t_of_sexp
<def`>
the content is usually dumped when the process got into an erroneous situation
<def`>
most of the time, unexpected by the developer. Then you want to be able to dump without external informations
<def`>
lmaocaml: let t_of_sexp _ = invalid_arg "MyFunctor.t_of_sexp"
<lmaocaml>
def`: then the functor should take that as a separate module param
<lmaocaml>
def`: i don't want to pass a module for sexp
<def`>
What would be the benefits?
<def`>
Core just try to enforce some practices which proved useful in production.
<lmaocaml>
the benefit is if somebody don't want to dump it; he shouldn't care about sexp
<def`>
That's highly subjective (I don't use Core), but still sensible.
<def`>
WTF
<lmaocaml>
?
<def`>
If somebody don't want to dump it go for the implementation I suggested: stubs
<def`>
If you pass the argument as a separate parameter, it's even worse
<def`>
You get strictly nothing (e.g you can provide isomorphisms between the unary and binary functors), just more verbosity
<dmbaturin>
I would make it provide specifically a dump function rather than a serializer.
<lmaocaml>
and clutter the functor sig with useless info
<def`>
dmbaturin: that I agree !
<dmbaturin>
But yeah, libraries and their design decisions are a frequent topic of heated debates. ;)
<lmaocaml>
every fucking functor arg requires sexpable shit XD
octachron has joined #ocaml
<def`>
as I said, in case of failure it is much better to be able to introspect the process state
<def`>
You can also write a wrapper adding dummy sexps to implementation
<lmaocaml>
writing wrappers for a library not feasible since i don't know the concrete type
<lmaocaml>
anyways
Snark has quit [Ping timeout: 260 seconds]
rgrinberg has quit [Ping timeout: 260 seconds]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
swgillespie has joined #ocaml
orbifx has joined #ocaml
orbifx has quit [Client Quit]
octachron has quit [Quit: Leaving]
MercurialAlchemi has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
johnelse has quit [Ping timeout: 246 seconds]
rgrinberg has joined #ocaml
xificurC has quit [Ping timeout: 240 seconds]
johnelse has joined #ocaml
johnelse is now known as Guest83352
rgrinberg has quit [Ping timeout: 255 seconds]
FreeBirdLjj has quit [Ping timeout: 250 seconds]
FreeBirdLjj has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 240 seconds]
<orbifx>
lobo: yeah, that's what I'm seeing. Had a look at the others and they are standalone implementations but incomplete. Also dunno how much I'd trust a rare library compared to libssh which has probably had plenty of reviewing.
sepp2k has joined #ocaml
lobo has quit [Quit: leaving]
tvaalen has joined #ocaml
jonludlam has quit [Quit: Leaving]
swgillespie is now known as swgillespie[GT]
mort___ has quit [Quit: Leaving.]
MercurialAlchemi has quit [Ping timeout: 240 seconds]
lobo has joined #ocaml
<ollehar>
hm, can two ocaml ref point to another ref?
^elyse^ has quit [Quit: Leaving]
<ollehar>
hm, ok, no problem ^^
^elyse^ has joined #ocaml
rgrinberg has joined #ocaml
<orbifx>
which package provides try_finalize?
Guest58 has quit [Ping timeout: 272 seconds]
Kakadu has quit [Remote host closed the connection]