flux changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 4.01.0 http://bit.ly/1851A3R | http://www.ocaml.org | Public logs at http://tunes.org/~nef/logs/ocaml/
kyrylo has quit [Ping timeout: 272 seconds]
chambart has quit [Ping timeout: 252 seconds]
boogie has quit [Remote host closed the connection]
hellome has joined #ocaml
baz_ has joined #ocaml
Drup1 has joined #ocaml
Drup has quit [Read error: Connection reset by peer]
zpe has joined #ocaml
strobegen has joined #ocaml
baz_ has quit [Remote host closed the connection]
zpe has quit [Ping timeout: 245 seconds]
avsm has quit [Quit: Leaving.]
morolin_ has quit [Ping timeout: 264 seconds]
talzeus has joined #ocaml
morolin_ has joined #ocaml
avsm has joined #ocaml
mj__ has joined #ocaml
<mj__> I have a module A that has a Make functor, and a module B. I want to define module C = Make(A), but there is no natural place to put it.
<mj__> Sorry, I want to define module C = A.Make(B)
<mj__> The best I can think of is an B_utils module that contains module C = A.Make(B)
<mj__> Is there a common idiom for this?
<Drup1> I'm not sure to get the issue
Drup1 is now known as Drup
<mj__> I can't define C inside B because that would make a recursive dependency
<mj__> but it would be a natural place to put it
<Drup> yeah, sure
<Drup> why ?
<Drup> it sounds pretty recursive to me.
<mj__> it's a B-specific module
<mj__> it's for dealing with B stuff
<Drup> then put aside the necessary signature for A.Make in a B' module inside B
avsm has quit [Quit: Leaving.]
<Drup> and use "include A.Make(B')" inside B
<Drup> (or "module C = ...", if you don't want to include)
mfp has quit [Ping timeout: 272 seconds]
<mj__> Thanks. I'll consider the options
mfp has joined #ocaml
Drup has quit [Quit: Leaving.]
Drup1 has joined #ocaml
avsm has joined #ocaml
Drup1 has quit [Client Quit]
Drup has joined #ocaml
Xenasis has quit [Remote host closed the connection]
avsm has quit [Client Quit]
ng_ has joined #ocaml
yacks has quit [Read error: Connection reset by peer]
ng_ has quit [Quit: Leaving]
boogie has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest12644
nikki93 has joined #ocaml
Drup has quit [Quit: Leaving.]
Guest12644 has quit [Remote host closed the connection]
platypine has joined #ocaml
platypine has quit [Changing host]
platypine has joined #ocaml
avsm has joined #ocaml
boogie has quit [Remote host closed the connection]
boogie has joined #ocaml
gabemc has joined #ocaml
<gabemc> Hello! I'm working through Okasaki's Data Structures book, and I'm a beginner in OCaml. Pehaps someone can explain to me what's I'm not doing correctly in this gist: https://gist.github.com/gabemc/7495950
<gabemc> I feel like there's some functor magic I'm not making happen, but I'm stumped as to how to fix it.
avsm has quit [Quit: Leaving.]
<gabemc> Nevermind, I'm an idiot.
<gabemc> Sorry.
ygrek has joined #ocaml
wolfnn has quit [Ping timeout: 260 seconds]
nikki93 has quit [Remote host closed the connection]
klltkr has joined #ocaml
klltkr has quit [Client Quit]
shinnya has quit [Ping timeout: 260 seconds]
nikki93 has joined #ocaml
ygrek has quit [Ping timeout: 245 seconds]
csakatoku has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest86988
Guest86988 has quit [Ping timeout: 245 seconds]
Neros has quit [Ping timeout: 246 seconds]
gabemc has quit [Quit: gabemc]
csakatoku has quit [Remote host closed the connection]
csakatoku has joined #ocaml
esden has quit [Ping timeout: 264 seconds]
esden has joined #ocaml
csakatoku has quit [Remote host closed the connection]
nikki93 has quit [Remote host closed the connection]
csakatoku has joined #ocaml
csakatoku has quit [Remote host closed the connection]
csakatoku has joined #ocaml
nikki93 has joined #ocaml
csakatoku has quit [Remote host closed the connection]
csakatoku has joined #ocaml
mj__ has quit [Ping timeout: 245 seconds]
ygrek has joined #ocaml
csakatoku has quit [Remote host closed the connection]
csakatoku has joined #ocaml
lopex has quit [Ping timeout: 245 seconds]
platypine has quit [Ping timeout: 245 seconds]
cesar_ has joined #ocaml
cesar_ is now known as Guest4174
lopex has joined #ocaml
Guest4174 has quit [Ping timeout: 245 seconds]
gour has joined #ocaml
csakatoku has quit [Remote host closed the connection]
ygrek has quit [Ping timeout: 245 seconds]
csakatoku has joined #ocaml
ollehar has joined #ocaml
nikki93 has quit [Remote host closed the connection]
nikki93 has joined #ocaml
csakatoku has quit [Remote host closed the connection]
csakatoku has joined #ocaml
boogie has quit [Remote host closed the connection]
Kakadu has joined #ocaml
boogie has joined #ocaml
csakatoku has quit [Remote host closed the connection]
nikki93 has quit [Remote host closed the connection]
boogie has quit [Ping timeout: 248 seconds]
gabemc has joined #ocaml
nikki93 has joined #ocaml
nikki93 has quit [Remote host closed the connection]
gour has quit [Quit: WeeChat 0.4.2]
gour has joined #ocaml
csakatoku has joined #ocaml
kyrylo has joined #ocaml
gabemc has quit [Quit: gabemc]
yacks has joined #ocaml
baz_ has joined #ocaml
csakatoku has quit [Remote host closed the connection]
csakatoku has joined #ocaml
csakatoku has quit [Remote host closed the connection]
ygrek has joined #ocaml
Kakadu has quit [Read error: Operation timed out]
Kakadu has joined #ocaml
ollehar has quit [Ping timeout: 260 seconds]
cesar_ has joined #ocaml
cesar_ is now known as Guest38780
Guest38780 has quit [Ping timeout: 245 seconds]
aa47f8 has joined #ocaml
zpe has joined #ocaml
gabemc has joined #ocaml
Simn has joined #ocaml
mfp has quit [Ping timeout: 268 seconds]
aa47f8 has quit [Quit: aa47f8]
thomasga has joined #ocaml
aa47f8 has joined #ocaml
testcocoon has quit [Quit: Coyote finally caught me]
mfp has joined #ocaml
testcocoon has joined #ocaml
gabemc has quit [Quit: gabemc]
tulloch has joined #ocaml
eikke has joined #ocaml
cricri has joined #ocaml
cricri_ has quit [Ping timeout: 268 seconds]
Anarchos has joined #ocaml
thomasga has quit [Quit: Leaving.]
thomasga has joined #ocaml
thomasga has quit [Client Quit]
cricri_ has joined #ocaml
cricri has quit [Ping timeout: 252 seconds]
cesar_ has joined #ocaml
rand000 has joined #ocaml
cesar_ is now known as Guest66859
Guest66859 has quit [Ping timeout: 245 seconds]
nikki93 has joined #ocaml
Arsenik has joined #ocaml
nze has joined #ocaml
rks` has quit [Quit: leaving]
shinnya has joined #ocaml
wolfnn has joined #ocaml
Neros has joined #ocaml
eikke has quit [Remote host closed the connection]
nikki93 has quit [Remote host closed the connection]
Nahra has quit [Ping timeout: 246 seconds]
Nahra has joined #ocaml
BitPuffin has joined #ocaml
Anarchos has quit [Ping timeout: 253 seconds]
Nahra has quit [Remote host closed the connection]
Nahra has joined #ocaml
Nahra has quit [Ping timeout: 252 seconds]
cesar_ has joined #ocaml
cesar_ is now known as Guest9405
Guest9405 has quit [Ping timeout: 264 seconds]
Nahra has joined #ocaml
nikki93 has joined #ocaml
Nahra has quit [Ping timeout: 268 seconds]
nikki93 has quit [Ping timeout: 268 seconds]
Nahra has joined #ocaml
Nahra has quit [Ping timeout: 272 seconds]
ggole has joined #ocaml
tulloch has quit [Ping timeout: 265 seconds]
platypine has joined #ocaml
klltkr has joined #ocaml
platypine has quit [Ping timeout: 245 seconds]
passiveobserver has joined #ocaml
hnrgrgr has quit [Remote host closed the connection]
NoNNaN has quit [Ping timeout: 240 seconds]
NoNNaN has joined #ocaml
Nahra has joined #ocaml
Nahra has quit [Changing host]
Nahra has joined #ocaml
tulloch has joined #ocaml
darkf has quit [Quit: Leaving]
klltkr has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Xenasis has joined #ocaml
Drup has joined #ocaml
talzeus has quit [Remote host closed the connection]
tane has joined #ocaml
TDJACR has quit [Ping timeout: 245 seconds]
tulloch has quit [Ping timeout: 268 seconds]
cesar_ has joined #ocaml
cesar_ is now known as Guest51090
TDJACR has joined #ocaml
Drup has quit [Ping timeout: 265 seconds]
Drup has joined #ocaml
Guest51090 has quit [Ping timeout: 252 seconds]
tulloch has joined #ocaml
TDJACR has quit [Remote host closed the connection]
TDJACR has joined #ocaml
kyrylo has quit [Ping timeout: 252 seconds]
BitPuffin has quit [Ping timeout: 245 seconds]
chambart has joined #ocaml
testcocoon has quit [Quit: Coyote finally caught me]
rand000 has quit [Quit: leaving]
testcocoon has joined #ocaml
baz_ has quit [Remote host closed the connection]
yminsky has joined #ocaml
testcocoon has quit [Quit: Coyote finally caught me]
testcocoon has joined #ocaml
yacks has quit [Ping timeout: 268 seconds]
gour has quit [Disconnected by services]
gour_ has joined #ocaml
yacks has joined #ocaml
gour_ is now known as gour
BitPuffin has joined #ocaml
testcocoon has quit [Quit: Coyote finally caught me]
testcocoon has joined #ocaml
chambart has quit [Ping timeout: 252 seconds]
shinnya has quit [Ping timeout: 245 seconds]
cesar_ has joined #ocaml
cesar_ is now known as Guest46094
<passiveobserver> I'm trying to compile c interoperability example from section 19.8 of http://caml.inria.fr/pub/docs/manual-ocaml-4.01/intfc.html under cygwin, and I get: mod.a(unix.o):unix.c:(.text+0x45d): undefined reference to `flexdll_dlopen'...
<passiveobserver> should I ask this on stackoverflow or here is enough?
<gasche> FlexDLL is a wrapper around the Windows static linker that improves its expressivity
<gasche> it's used to enable dynamic linking for OCaml programs on Windows (whose native static linker alone is not useful enough for that)
Guest46094 has quit [Ping timeout: 245 seconds]
ygrek has quit [Ping timeout: 268 seconds]
<gasche> I don't know anything about ocaml-on-windows ( adrien_oww may know ), but I can at least point you to the tool homepage: http://alain.frisch.fr/flexdll.html
<gasche> a reasonable guess would be that installing flexdll runtime library could make the problem go away
<gasche> but then maybe you don't need flexdll at all (I don't know) and there is a change in your compilation options that will avoid this error from the start
<gasche> passiveobserver: how did you install OCaml on windows?
<passiveobserver> I try to also link with freshly compiled flexdll.c and I get (.text+0x6db): undefined reference to `static_symtable' - can you help me out?
<gasche> I'm afraid I cannot
<gasche> but providing information about how you installed OCaml may help peole that can
<passiveobserver> gache: through regular cygwin installation
<gasche> you mean the cygwin package manager?
<passiveobserver> chose ocaml under cygwin setup.exe
<passiveobserver> gache: yep
<gasche> because the "regular" way to install OCaml would rather be to use the official windows-installer
<gasche> I think it uses a bit of Cygwin's toolchain for some things, but the executables it produces don't depend on a Cygwin environment being present
<passiveobserver> cygwin already has the 4.01.00
<passiveobserver> gasche: whatever I just want to compile the example.
<gasche> did you have similar issues with the official installer for 4.00?
<passiveobserver> gache: even with cygwin dependencies idk
<passiveobserver> ... for now
<gasche> (if the answer is "no", then you should probably stay with 4.00.1, which is not an old version by any standards)
ollehar has joined #ocaml
<gasche> passiveobserver: in your SO post, please indicate how you installed OCaml
tulloch has quit [Ping timeout: 248 seconds]
chambart has joined #ocaml
tulloch has joined #ocaml
testcocoon has quit [Quit: Coyote finally caught me]
testcocoon has joined #ocaml
<passiveobserver> gache: ok I did that.
<passiveobserver> gasche *
tulloch has quit [Ping timeout: 248 seconds]
kyrylo has joined #ocaml
morolin_ has quit [Quit: Leaving]
tobiasBora has joined #ocaml
<tobiasBora> Hello !
<tobiasBora> I've a little problem with int : I must add numbers, and sometimes it goes after the int size, so I have negative numbers ^^
<Drup> two solutions
<Drup> 1) arange your operation in order that it doesn't happen
<Drup> 2) use BigInt
<gasche> Drup: use Zarith
<gasche> (is what we should say for (2))
<Drup> or use Zarith, if you don't mind the additional dependency :p
<gasche> if you're quickly hacking something, though, you can just use floats and pray for things to fit the space where floats have precision at least 1
<gasche> (that's often enough for, say, Euler Problems)
<mrvn> Split the numbers into positive and negative numbers. Then recursively if you accumulator is positive add a negative number else a positive.
<gasche> ah, this is only about adding
<mrvn> gasche: floats have less precision than int64 or int on 64bit systems.
<gasche> we should have this add_avoid_overflow in Batteries
<gasche> mrvn: my int overflow issues where always on 32bits machines
<gasche> but that's a good point
<tobiasBora> Drup: I can't do 1) because I'm counting objets and the number goes over maxint.
<Drup> tobiasBora: then 2 or 2'
<mrvn> you have more than maxint objects?
<mrvn> 3) use int64
<tobiasBora> mrvn: In a 32 bits system yes. And in 64 i'm not sure it can happens, I'll check
<Drup> oh, 32 bit systems ... blaa ~_~
<mrvn> tobiasBora: I doubt you have more than 2^62 objects
<Drup> use 3, yes
<tobiasBora> mrvn: int64 are usable on a 32 system ?
<Drup> yes
<tobiasBora> Without additive dependencies ?
<Drup> with a performance penality, obviously
<Drup> yes
<mrvn> tobiasBora: yes. they are a pointer to a block containing a 64bit integer.
<mrvn> so they are slow
<tobiasBora> Ok. I've I'm lucky I can apply this method only on one operation which append not often. Is it possible to translate int32 --> int64 ?
<Drup> yes
<mrvn> # Int64.of_int32;;
<mrvn> - : int32 -> int64 = <fun>
<mrvn> but don't you mean int -> int64?
rks` has joined #ocaml
<Drup> at this point, insted of keep saying yes, I will just link this : http://caml.inria.fr/pub/docs/manual-ocaml/libref/Int64.html :D
<gasche> note that for constants there is a shorthand syntax: 12L
<tobiasBora> mrvn: Yes I mean int -> int64. So it's different
cdidd has quit [Ping timeout: 252 seconds]
<yminsky> Core's Int63 is a nice way of dealing with this problem.
<yminsky> They're implemented as Int64's on a 32-bit system, and as Nativeint's on a 64-bit system.
<yminsky> So you can get a reasonably sized integer with code that is fast on 64-bit systems, and still reasonable on 32-bit systems.
<mrvn> nativeint? That would be the same as int64.
<mrvn> Should be plain int.
<yminsky> Yes, so an Int63.t is at least 63 bits.
<mrvn> nativeint is 64bit.
<yminsky> As I said, on a 64-bit platform, it's equal to int.
<mrvn> yminsky: no you didn't. int != nativeint
<yminsky> On a 32-bit platform, it's equal to Int32.t.
<yminsky> (Sorry, Int64.t)
<yminsky> Blech. You are correct. I meant the native int type for that platform, not nativeint.
<mrvn> ocaml has too many integer types
<mrvn> :)
<mrvn> des core have an Uint64?
<mrvn> or UInt63
<yminsky> It does not.
<yminsky> Sounds like you think OCaml has too few integer types.
<mrvn> yminsky: that too.
<Drup> yminsky: that's interesting, when do we have a simple document that gives an overview of core and that isn't a book then ?
<ggole> Int16 doesn't seem like it would be too useful...
<yminsky> We're working on improving the generation of API docs for Core.
<yminsky> Part of that will be to have a landing page that gives an overview of the library.
<Drup> revolution ! ;)
<yminsky> Part of the work is being done by OCaml Labs (to make a better ocamldoc generator)
<Drup> sorry, but the issue is not the generator
<yminsky> and some is being done at Jane Street (Jeremie Dimino is working on adjusting our doc generator to have a landing page)
<tobiasBora> yminsky: Int63 is only available with Core ? I won't be able to use it because my code must be runnable on windows, and I think it's really painfull to do it...
<Drup> when there is no text, the generator can't help
<yminsky> They're both issues.
<yminsky> core_kernel should run on windows in a couple of weeks
<yminsky> and core_kernel has int32.
<yminsky> Actually, core_kernel should build on windows now!
<yminsky> (in a couple of weeks, it should build on javascript)
<tobiasBora> Javascript ? O_o
<rks`> yminsky: related to http://caml.inria.fr/mantis/view.php?id=6139 or not at all?
<yminsky> Yeah. Right now, core_kernel depends on Num, by way of sexplib.
<yminsky> Num doesn't have a nice javascript equivalent.
* chris2 wants uint8,16,32,64 too :|
<Drup> chris2: what kind of use you would have for that ?
<chris2> crypto, stuff over finite fields
<chris2> porting c cod
<Drup> ok
<chris2> possibly efficient arrays
<mrvn> 8/16 fits in ints
<yminsky> Drup: we're working on improving the text too. But the tools need improvement as well. They don't do well with interface includes right now.
<chris2> and then you need to do the overflow manually. sucks
<tobiasBora> I've never heard a link between Ocaml and Javascript... What's the idea ?
<Drup> tobiasBora: js_of_ocaml
<mrvn> tobiasBora: running ocaml in browsers
<chris2> or write unsigned multiplication
<yminsky> tobiasBora: take a look at this: http://try.ocamlpro.com/
<Drup> mrvn: that's not true.
<yminsky> That's an OCaml top-level compiled into javascript, and running inside your browser.
<Drup> mrvn: you don't run ocaml in a browser :p
<yminsky> js_of_ocaml is the magic that gets you there.
<yminsky> It compiles OCaml byte code down into javascript.
<tobiasBora> And thank you for everybody for you help !
<ggole> uint8 arrays can be done with strings easily enough
<yminsky> And then you can run the result in the browser (typically after running something like the closure compiler on it)
<yminsky> Bigarrays can also be useful for this.
<mrvn> ggole: all sizes can be done with bigarraY
<yminsky> (by this, I mean, various kinds of clever array layouts)
<chris2> ggole: char doesnt have + and * tho?
<Drup> yminsky: I agree that ocamldoc have several limits that needs to be work around and I will be quite happy to have a better tool. I just disagree that it's a good excuse for the state of core documentation.
<tobiasBora> OMG... It's amazing ! So now if I wan't I can "compile" a program in javascript ?
<yminsky> tobiasBora: indeed.
<ggole> You can write them easily using Char.code
<chris2> i wonder how efficient that is
<ggole> It's %identity, so it should be free or very close
<chris2> ah, good
<tobiasBora> So funny :-) And what kind of library are available ? For example can I use the Unix library ?
<ggole> And Char.unsafe_chr is also %identity
<mrvn> the problematic one is int16 since you have to manually mask int to 16bit everywhere.
<gasche> Drup: I think it's right that Core's design decisions make it hit particularly hard by some of ocamldoc's choices
<mrvn> speed wise
<Drup> tobiasBora: no Unix, for obvious reasons
<chris2> i implemented rabin-karp fingerprinting recently
<yminsky> Drup: well, part of the reason core's ocamldocs are so bad is that we don't use it internally, because it doesn't work reliably.
<chris2> was a bit tricky
<tobiasBora> Ok ^^ So I think I can't use sockets too
<gasche> Core has a lot of includes for example, enough to motivate a change in how they're handled by the documentation generator
<Drup> you can use other js stuff
<tobiasBora> It's possible to include JS code instead of ocaml ?
<yminsky> And there are just outright bugs. Look at this page: https://ocaml.janestreet.com/ocaml-core/latest/doc/core_kernel/Flat_queue.html
<Drup> yes
<ggole> yminsky: what do you use internally?
<yminsky> ggole: we read mlis.
<yminsky> Which from my perspective is usually better than using a web-browser anyway.
<ggole> Ah
<ggole> Because it's right there in the editor
<Drup> yminsky, gasche : all of that doesn't prevent to have an overview document
<ggole> Can jump to it with jump-to-def, etc
<gasche> Drup: you're right
<ggole> That makes sense, but it would still be good to fix ocamldoc
<Drup> and a module description
<tobiasBora> I find it really funny ! I will give it a try I think !
nikki93 has joined #ocaml
<yminsky> Drup: No, there's no good reason not to have overview documents. We're working on that.
<gasche> I don't know whether this particular Flat_queue+ocamldoc bug has been reported
<rks`> btw, we should document it but using merlin-switch-to-mli (or ":MLI" from vim) with a module name (even from a library) does work quite well
<rks`> (even with core)
<gasche> it may in fact be a camlp4 issue
<gasche> (I'm not sure whether ocamldoc relies on correctness of location information)
<yminsky> I think that Leo White knows about it and is working on it for the new ocamldoc generation he's doing.
<yminsky> It will be easier for us to iterate on improving the docs once the generators actually work.
mcclurmc has joined #ocaml
<gasche> an upstream fix for ocamldoc would still be nice
BitPuffin has quit [Read error: Connection reset by peer]
<yminsky> I believe Leo is planning on upstreaming his work.
<gasche> hm
<gasche> that's not a criticism on my part, but a lot of what I've seen looked like a radically new documentation-generation tool, rather than something meant for integration in ocamldoc
<yminsky> The module docs aren't all terrible, FWIW. For example: https://ocaml.janestreet.com/ocaml-core/latest/doc/core_kernel/Core_stack.html
<yminsky> The more recent ones tend to be better.
<yminsky> And we're cleaning up old ones as we go.
BitPuffin has joined #ocaml
<yminsky> gasche: To be honest, I'm not following the technical aspects of Leo's work terribly closely. I do agree that we need an effective OCamldoc that works out of the box. Whatever work is being done on this should surely be shared.
nikki93 has quit [Ping timeout: 260 seconds]
<gasche> I think if Leo releases an external tool and it's good, people interested can switch to it
<Drup> does Leo's work will be compatible with the current ocamldoc weird syntax ?
<gasche> I'd guess yes
<gasche> well
<gasche> I know, yes
<yminsky> It surely works on ocamldocs that exist now, so yes.
<Drup> ok
<Drup> It would be interesting to have a choice, on this aspect
<yminsky> The ocamldoc syntax is nasty and confusing, so probably it should eventually be replaced by something with more explicit attachment of documentation to syntactic units.
<yminsky> I think there's been some rumbling about maybe doing this alongside the extension-points work.
<Drup> yeah, I agree with that :/
<yminsky> The thing I'm most looking forward to, though, with 4.2, is module aliases.
<yminsky> Which I'm hopeful will get in in some form.
<yminsky> (sorry, 4.02)
<ggole> Module aliases?
<passiveobserver> with ocaml windows install - do I have to install cygwin If I already have it?
<passiveobserver> and have it in PATH
<yminsky> It's a somewhat technical change. Now, when you say "module N = M", you essentially get a copy of the module. With this patch, it will just be an alias. This is important in part because it should allow us to unwind most of the problems with packed modules.
<yminsky> Which should lead to: faster compilation times and smaller executables.
<def-lkb> yminsky: do you have plan to solve collisions on global module names ?
<ggole> Hmm, I see
mj__ has joined #ocaml
<ggole> I guess that would be attractive if you use modules heavily
<yminsky> def-lkb: I don't think it's quite settled, but there are some ideas. The main one is to provide some disambiguating marker at build time, probably generated as part of the build system.
<yminsky> (i.e., the build system will choose the marker. Probably based on the package name)
<def-lkb> yminsky: ok, it's nice to see this problem also being tackled
<yminsky> I think untangling those issues, and figuring out how to tweak ocamldep to make it handle this case well, is one of the major sticking points.
<yminsky> But in the end, we should be able to actually have packages that can reuse module names without nearly so much trouble as we have now.
<yminsky> It's the most lightweight solution to the "namespace" problem yet proposed, I think.
<yminsky> There are probably more ambitious namespace proposals that should eventually be tackled, but this seems like it may solve the major current problems quite handily.
<def-lkb> It feels less disruptive and still satisfying… I really like this solution.
<yminsky> Me too. I'll be very happy if this makes it into 4.02.
<yminsky> Has anyone tried out Pierre's flambda branch? I've tried to build it on my home computer and failed.
osa1 has joined #ocaml
<Drup> ping chambart
<yminsky> (speaking of other OCaml improvements I'm excitedly looking forward to...)
<Drup> yminsky: I didn't, but he may answer eventually if you ask him
<yminsky> chambart: Are you around? I'm not sure how to give you better feedback on where that segfault is coming from...
tulloch has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest79011
<Drup> on the same topic, do anyone have news on Luca's work ? I didn't heard of it for a bit of time.
<chambart> yminsky, I'm not sure either...
<yminsky> Do you really not have a mac at your disposal to test? Surely we can get you a remote login on some mac....
<chambart> The only thing I see is to git clone the branch modify the second line of the makefile to add -g and run make world; make world.opt
<chambart> Benjamin has a mac with osx 10.9 and it worked correctly there...
<yminsky> I can surely git clone the branch and do the -g.
<chambart> so I don't know what is the difference between both configurations...
<yminsky> Did he do it from OPAM?
<chambart> yes
<yminsky> I wonder if the OPAM setup is somehow messed up...
<yminsky> Which branch should I get?
<chambart> flambda_patch
<yminsky> What's the URL for the repo again?
<yminsky> Which is the line I should modify?
<yminsky> The literal second line is all comments.
Guest79011 has quit [Remote host closed the connection]
<chambart> "CAMLOPT=$(CAMLOPT_BIN) -nostdlib -I stdlib -I otherlibs/dynlink"
<yminsky> So just change that to: CAMLOPT=$(CAMLOPT_BIN) -g -nostdlib -I stdlib -I otherlibs/dynlink
<yminsky> ?
<chambart> yes
boogie has joined #ocaml
<chambart> by the way I found a bug yesterday not fixed yet. It don't seam to appear in the compiler, so it shouldn't be the reason but if some strange things appear it can come from there.
<yminsky> yminsky: understood.
<passiveobserver> gasche: I have the same error with windows install of ocaml.4.01 (non-cygwin)
<tobiasBora> I've a problem, I can't manage to find the name of the package of Big_int.
<passiveobserver> anyone knows how to compile flexdll?
<tobiasBora> I tried to use -package big_int with ocamlfind but I've an error (cannot find it)
<yminsky> chambart: I just emailed you the log of the failing build. It again failed with a segfault.
<chambart> yminsky, could you run the last command in gdb (or the mac debugger) and get a stacktrace ?
<yminsky> (though I do think Zarith pretty much dominates Num)
<yminsky> chambart: sure thing.
<yminsky> chambart: just sent you something. Tell me if it has what you want.
<tobiasBora> Drup: Thank you. But it's not possible to link it as a standart package in ocamlfind ? Because usually I use the -package option and here it doesn't work, and I can't find how to add .cma with ocamlfind
baz_ has joined #ocaml
<Drup> the package is "num"
<tobiasBora> Oh... I'm so stupid, I though that num doesn't contain it because when I add it I add an error about Bit_int not recognized... Big_int is better ^^ Thank you !
<tobiasBora> s/add/have
tulloch_ has joined #ocaml
<chambart> yminsky, it seems to be in the middle of malloc.
<yminsky> chambart: it does look that way...
<chambart> could you go a bit up in the stack and see what are the registers before calling it ?
<yminsky> You're taxing my lldb-foo, but I'll give it a try...
boogie has quit [Remote host closed the connection]
<yminsky> Which frame number do you want?
tulloch has quit [Ping timeout: 245 seconds]
nze has quit [Read error: Connection reset by peer]
<chambart> frame #4
<chambart> the command to print register is "info registers"
<chambart> oups in fact not... this is for gdb
<chambart> lldb is "register read"
<yminsky> "register read" seems to do it.
<yminsky> I just sent you frame 4.
<yminsky> (which I picked at random, amusingly enough)
kyrylo has quit [Quit: WeeChat 0.4.2]
<yminsky> chambart: Pierre, I just got some pretty strong reasons to think the bug is not in your patch!
<yminsky> I just tried to do a built of 4.02dev+trunk via OPAM, and I get a very similar segfault.
anderse has joined #ocaml
<chambart> yminsky, hum that seems to be quite a hint...
mcclurmc has quit [Remote host closed the connection]
<chambart> according to the malloc parameters, I see no reason to fail inside it.
<chambart> I would think something that is not related to OCaml
<mrvn> looks like you lost a few during construction if you started with 15
mcclurmc has joined #ocaml
<mrvn> ups
<yminsky> Hmm. I was able to build older compilers without incident...
mcclurmc has quit [Ping timeout: 272 seconds]
<yminsky> Let me try to build an older compiler and see if it works.
tulloch_ has quit [Ping timeout: 265 seconds]
mcclurmc has joined #ocaml
<yminsky> chambart: 4.00.1 built without incident. I suspect this is a new bug in trunk.
<yminsky> Is there a good place to report this?
<mrvn> mantis
mcclurmc has quit [Remote host closed the connection]
mcclurmc has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
<chambart> yminsky, I imagine that mantis is effectively the rigth place to post this.
<yminsky> mrvn: well, the mantis form tries to discourage this. No slot for anything newer than 4.01.0
<yminsky> (in the product tag)
<chambart> There are mac users reading mantis, so if you can get a core dump it could be of some use
<chambart> a cross post to caml-devel can be useful too
<yminsky> OK. Mantis it is.
yminsky has quit [Quit: yminsky]
cesar_ has joined #ocaml
cesar_ is now known as Guest48119
mcclurmc has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
Guest48119 has quit [Remote host closed the connection]
mcclurmc has joined #ocaml
mcclurmc has quit [Read error: Connection reset by peer]
mcclurmc_ has joined #ocaml
Anarchos has joined #ocaml
mcclurmc_ has quit [Ping timeout: 240 seconds]
contempt has joined #ocaml
tulloch has joined #ocaml
klltkr has joined #ocaml
tane has quit [Quit: Verlassend]
ScriptDevil has joined #ocaml
ggole has quit []
yminsky has joined #ocaml
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
gabemc has joined #ocaml
yminsky has quit [Quit: yminsky]
nikki93 has joined #ocaml
cricri has joined #ocaml
cricri_ has quit [Ping timeout: 272 seconds]
boogie has joined #ocaml
klltkr has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
avsm has joined #ocaml
boogie has quit [Remote host closed the connection]
boogie has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-280704]: i've been blurred!]
boogie has quit [Remote host closed the connection]
baz_ has quit [Remote host closed the connection]
derek_c has joined #ocaml
yminsky has joined #ocaml
yminsky has quit [Ping timeout: 245 seconds]
ScriptDevil has quit [Ping timeout: 245 seconds]
ScriptDevil has joined #ocaml
nikki93 has quit [Remote host closed the connection]
yminsky has joined #ocaml
rand000 has joined #ocaml
* gour just read very nice RWO review @Amazon!!
nikki93 has joined #ocaml
boogie has joined #ocaml
Kakadu has quit []
yminsky has quit [Quit: yminsky]
<gour> ocaml opam
mildfate has joined #ocaml
<gour> ahh
<mildfate> Is there a way to pattern match on integers? For example, if my input is "x", I want to be able to match it with "y+1" so that y=x-1
zpe has quit [Remote host closed the connection]
<mrvn> let y = x + 1
<mrvn> s/+/-/
zpe has joined #ocaml
<mrvn> match x with y when y = x - 1 ->
ulfdoz has joined #ocaml
<mrvn> but I think that doesn't work
chambart has quit [Ping timeout: 252 seconds]
boogie has quit [Remote host closed the connection]
yminsky has joined #ocaml
chambart has joined #ocaml
gour has quit [Quit: WeeChat 0.4.2]
ScriptDevil has quit [Ping timeout: 245 seconds]
yminsky has quit [Quit: yminsky]
yminsky has joined #ocaml
_5kg has quit [Ping timeout: 246 seconds]
tobiasBora has quit [Read error: Connection reset by peer]
_5kg has joined #ocaml
<mildfate> Is it possible to name a function "K_<"?
<Drup> no
<mildfate> is there any way to use the operator < in a function name?
<Drup> no
<mildfate> or is it just reserved?
<Drup> it's reserved for operators
<mrvn> infix opreators bind stronger than idents
<mrvn> or in other words: the tokenizer splits them
<mildfate> ok
<Drup> mildfate: regular identifier names are only alphanumeric + "_", starting by a small leter
<Drup> and that's all.
platypine has joined #ocaml
<def-lkb> Drup: + '
hyperboreean has quit [Ping timeout: 240 seconds]
<Drup> def-lkb: indeed, I knew I was forgetting something :/
hyperboreean has joined #ocaml
mildfate has quit [Quit: Leaving.]
tobiasBora has joined #ocaml
tane has joined #ocaml
nikki93 has quit [Remote host closed the connection]
tobiasBora has quit [Read error: Connection reset by peer]
nk0 has quit [Read error: Connection reset by peer]
skchrko has joined #ocaml
ScriptDevil has joined #ocaml
darkf has joined #ocaml
strobegen has quit [Quit: Leaving.]
ScriptDevil has quit [Quit: leaving]
chambart has quit [Ping timeout: 252 seconds]
yminsky has quit [Quit: yminsky]
yminsky has joined #ocaml
nikki93 has joined #ocaml
aa47f8 has quit [Quit: aa47f8]
ollehar has quit [Ping timeout: 240 seconds]
gabemc has quit [Quit: gabemc]
yminsky has quit [Quit: yminsky]
nikki93 has quit [Remote host closed the connection]
nikki93 has joined #ocaml
mcclurmc has joined #ocaml
ahill-89 has joined #ocaml
mcclurmc has quit [Ping timeout: 248 seconds]
nikki93 has quit [Remote host closed the connection]
Arsenik has quit [Ping timeout: 272 seconds]
boogie has joined #ocaml
yminsky has joined #ocaml
boogie has quit [Remote host closed the connection]
gereedy has quit [Ping timeout: 264 seconds]
gereedy has joined #ocaml
gabemc has joined #ocaml
tulloch has quit [Ping timeout: 272 seconds]
ahill-89 has quit [Quit: leaving]
rand000 has quit [Quit: leaving]
derek_c has quit [Read error: Operation timed out]
mcclurmc has joined #ocaml
mcclurmc has quit [Ping timeout: 260 seconds]
klltkr has joined #ocaml
shinnya has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
nikki93 has joined #ocaml
wolfnn has quit [Ping timeout: 272 seconds]
nikki93 has quit [Remote host closed the connection]
NoNNaN has quit [Remote host closed the connection]
nikki93 has joined #ocaml