gildor changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 3.12.0 http://bit.ly/aNZBUp
elehack has joined #ocaml
iratsu has joined #ocaml
jamii has quit [Ping timeout: 258 seconds]
joewilliams_away is now known as joewilliams
jamii has joined #ocaml
othiym23 has joined #ocaml
othiym23 has quit [Client Quit]
othiym23 has joined #ocaml
jamii has quit [Ping timeout: 258 seconds]
jamii has joined #ocaml
elehack has quit [Quit: Farewell, programs.]
jamii has quit [Ping timeout: 258 seconds]
joewilliams is now known as joewilliams_away
jamii has joined #ocaml
jamii has quit [Ping timeout: 258 seconds]
jamii has joined #ocaml
dnolen_ has quit [Quit: dnolen_]
jamii has quit [Ping timeout: 258 seconds]
lopex has quit []
<NaCl> thelema: lulz
lamawithonel__ has quit [Ping timeout: 255 seconds]
dnolen_ has joined #ocaml
alexyk has quit [Quit: alexyk]
alexyk has joined #ocaml
Obfuscate has quit [Ping timeout: 246 seconds]
alexyk has quit [Quit: alexyk]
Obfuscate has joined #ocaml
alexyk has joined #ocaml
jamii has joined #ocaml
wormphlegm has joined #ocaml
ulfdoz has joined #ocaml
ankit9 has joined #ocaml
<adrien> thelema, rwmjones: my segfault may be solved with 3.12.1, waiting for the godi packages which should be ready soon :-)
dnolen_ has quit [Quit: dnolen_]
alexyk has quit [Quit: alexyk]
ulfdoz has quit [Ping timeout: 255 seconds]
othiym23 has quit [Quit: Linkinus - http://linkinus.com]
Obfuscate has quit [Quit: WeeChat 0.3.5]
Obfuscate has joined #ocaml
edwin has joined #ocaml
ankit9 has quit [Quit: Leaving]
Cyanure has joined #ocaml
wormphlegm has quit [Ping timeout: 276 seconds]
Cyanure has quit [Remote host closed the connection]
quiccker has joined #ocaml
ftrvxmtrx has quit [Quit: This computer has gone to sleep]
ankit9 has joined #ocaml
jamii has quit [Quit: Leaving]
Cyanure has joined #ocaml
Obfuscate has quit [Ping timeout: 246 seconds]
ikaros has joined #ocaml
Obfuscate has joined #ocaml
ftrvxmtrx has joined #ocaml
Anarchos has joined #ocaml
eye-scuzzy has quit [Quit: leaving]
Cyanure has quit [Ping timeout: 260 seconds]
mfp has quit [Ping timeout: 255 seconds]
Cyanure has joined #ocaml
mfp has joined #ocaml
ikaros has quit [Quit: Ex-Chat]
ankit9 has quit [Quit: Leaving]
ankit9 has joined #ocaml
larhat has joined #ocaml
<f[x]> thelema, re 80's, "no circular dependencies" is a feature
<f[x]> though I guess dynamic-typing crowd needs this to keep the invention rate of new kinds of runtime errors at usual level
Julien_T has quit [Ping timeout: 276 seconds]
<Anarchos> f[x] lol
Amorphous has quit [Ping timeout: 255 seconds]
lopex has joined #ocaml
Amorphous has joined #ocaml
Julien_T has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
alfa_y_omega has quit [Ping timeout: 276 seconds]
alfa_y_omega has joined #ocaml
alfa_y_omega has quit [Max SendQ exceeded]
alfa_y_omega has joined #ocaml
alfa_y_omega has quit [Excess Flood]
alfa_y_omega has joined #ocaml
_andre has joined #ocaml
ankit9 has quit [Quit: Leaving]
dnolen_ has joined #ocaml
ankit9 has joined #ocaml
alfa_y_omega has quit [Read error: Operation timed out]
alfa_y_omega has joined #ocaml
lamawithonel__ has joined #ocaml
avsm has joined #ocaml
_habnabit has quit [Quit: ZNC - http://znc.sourceforge.net]
<thelema> f[x]: how is no circular dependencies a feature? what bugs does it stop?
<f[x]> order of initialization
<flux> but the problem with ocaml is that even types cannot be defined in circular fashion across modules
<thelema> in some cases, initialization is a problem with circular dependencies, sure.
<flux> and types aren't initialized, so that's not an issue
<thelema> I imagine this is detectable in general, or at least over-detectable, and warnings/errors issued
<flux> obviously any solution for ocaml that would end up with uninitialized data would not be permittable
<f[x]> circular types can be unsound I guess
<thelema> sure.
<flux> for one piece of software I had one module that incorporated a big list of types used by various modules, so that the class interfaces could refer to each other without additional jumping through hoops
<f[x]> detectable -> whole program analysis
<thelema> sometimes I would really appreciate being able to have spiral inter-module dependencies - module A = abc, module B = xyz, dependencies z -> c -> y -> b -> x -> a
<f[x]> flux, looks like it a common approach, I've seen that often
_habnabit has joined #ocaml
<zorun> flux: I actually used the same trick for a project
<thelema> link-time analysis, and OCaml is already accused of whole-program analysis with its inliner
<zorun> which I find ugly and non-expressive
<flux> zorun, indeed
_habnabit has quit [Quit: ZNC - http://znc.sourceforge.net]
_habnabit has joined #ocaml
<thelema> f[x]: OCaml could do use its value/function detection that it does for weak polymorphism, and if there's a cycle with a value in it, raise an error. This would allow strict functions (with no initialization) to depend on each other.
<f[x]> between modules?
<f[x]> this means exposing more in cmi files (much more)
dnolen_ has quit [Quit: dnolen_]
<thelema> eventually, I hope.
<thelema> yes, inter-module dependencies of a value would be exposed
ftrvxmtrx has quit [Quit: This computer has gone to sleep]
<thelema> this just means the initialization order of values would be the result of dep-sorting in case of conflict
<f[x]> it will probably work in practice, but will it work in theory?
lopex has quit []
avsm has quit [Quit: Leaving.]
Snark has joined #ocaml
Anarchos has joined #ocaml
hyperboreean has quit [Ping timeout: 240 seconds]
impy has quit [Ping timeout: 240 seconds]
ankit9 has quit [Quit: Leaving]
joewilliams_away is now known as joewilliams
impy has joined #ocaml
<f[x]> it builds ok in native and bytecode, but not when building toplevel
<thelema> by "builds ok", you mean what?
<thelema> also, are you using an old version of Camomile?
hyperboreean has joined #ocaml
<f[x]> the code that uses both extlib and camomile links successfully in both bytecode and native
<thelema> both camomile and extlib provide a UChar module. newer camomile is packed to encapsulate this
<f[x]> but not when I try to build toplevel with it
<f[x]> camomile 0.8.3
<thelema> ok, maybe there's a bug in packing
joewilliams is now known as joewilliams_away
<flux> f[x], does that camomile come with uChar.cmi?
<f[x]> no uChar.cmi
<flux> I guess that part should be ok then..
<flux> because that bug used to be common at a day. packing modules into one, but providing multiple cmis.
<thelema> hmm, I get the same error on my computer loading both camomile (0.8.1) and extlib
<f[x]> somehow toplevel looks into packed module interfaces
<f[x]> or what
<thelema> toplevel/topdirs.ml calls Consistbl.check on the imported files... digging further
<thelema> ah, on loading a .cma, the library units inside are checked for global consistency with other lib_units of the same name
<thelema> packing apparently doesn't avoid this check
<thelema> just an edge case missed by whoever added packing.
<f[x]> hm, so it can be fixed?
<thelema> toplevel/topdirs.ml:load_file(@L115)
<thelema> I assume .cma files can be detected as packed, I'm not as sure about the format
<thelema> If the module is packed, only the toplevel compunit should be loaded? hmm.
<thelema> maybe it'll take more than just a trivial fix to make this work.
<f[x]> hah, see PR#4679
<thelema> I agree with -pack being an ugly hack
<f[x]> looks like I will have to live with that for some time
<thelema> extlib should have UChar cut from it
<thelema> or renamed to ExtUChar
* thelema wonders who's using OCamlDuce, and why
* NaCl wonders if he should try ocamlspotter
Cyanure has quit [Ping timeout: 240 seconds]
ftrvxmtrx has joined #ocaml
* thelema hasn't, although it might be nice to jump to value declarations
<thelema> I have highlight-symbol-next bound to F3, and -prev at S-F3, so I can go forward and backwards between the places I use an identifier
<thelema> no compiler patch needed, and works well enough
Cyanure has joined #ocaml
othiym23 has joined #ocaml
ankit9 has joined #ocaml
drunK has joined #ocaml
ankit9 has quit [Client Quit]
ankit9 has joined #ocaml
_habnabit has quit [Changing host]
_habnabit has joined #ocaml
<_habnabit> http://paste.pound-python.org/show/9186/ <- is there a way to do this? I'm not sure how much it relates to my last polymorphism question.
<thelema> _habnabit: records are a solution to this
<thelema> err, maybe not...
<thelema> when you get a folding function out of your list, and apply it to the list of integers, what type should the result be?
<thelema> despite you ignoring the result, it has to have a coherent type.
<_habnabit> ah, that's right.
<thelema> it gives you the error early because it knows you can't use the two folding functions interchangeably
<_habnabit> maybe I should just make each an object.
<_habnabit> then I could do this with mutation.
<thelema> what do you want to do with the result?
<_habnabit> well, this isn't a complete example; each should have a 'finalizer' function as well that's called after the fold.
ikaros has joined #ocaml
<thelema> type reducer = int list -> final_type
<_habnabit> ah, I suppose I could do it that way.
<thelema> let build_reducer init foldf finalize = fun lst -> List.fold_left foldf init lst |> finalize
<thelema> val build_reducer : 'a -> ('a -> 'b -> 'a) -> ('a -> 'c) -> 'b list -> 'c
Julien_T has quit [Read error: Operation timed out]
<_habnabit> hmm. that might work the best after all.
larhat has quit [Quit: Leaving.]
alexyk has joined #ocaml
alexyk has quit [Client Quit]
sepp2k has joined #ocaml
* NaCl eyes lwt annoyingly
ulfdoz has joined #ocaml
alexyk has joined #ocaml
alexyk has left #ocaml []
sepp2k has quit [Ping timeout: 255 seconds]
sepp2k has joined #ocaml
<_habnabit> I'm getting a 'stack overflow during evaluation' in the toplevel. is there a way to see what the last couple of frames were?
<_habnabit> not sure what part of what I'm doing isn't tail-recursive.
<thelema> it's probably something involving exception handling - `let rec f x = if x < 0 then () else try f (x-1) with _ -> ()` is not tail recursive
Julien_Tz has joined #ocaml
Julien_Tz is now known as Julien_T
<_habnabit> well, I should clarify: this is just a bunch of calling List.map, really. I replaced the ones I could with rev_map, but I'm still getting the error.
<thelema> _habnabit: use batteries - its List.map is tail recursive
<thelema> or compile and run - the backtrace will give you the infinite loop
<_habnabit> I guess I should figure out how to install that sometime. :(
<_habnabit> godi-batteries fails when I try to install it.
<_habnabit> let's see if it still happens.
<thelema> I assume you've not tried odb
<_habnabit> I don't know what that is, so probably not.
<thelema> `ocaml odb.ml batteries` should install batteries and all its deps, assuming you have findlib working
<_habnabit> ah, I see.
<_habnabit> and it'll cooperate with godi?
<thelema> (and you're running a non-crazy unix)
<thelema> it does normal ./configure && make && make install
<thelema> (or the _oasis equivalent for many packages)
<thelema> it'll work fine with godi
<adrien> if it uses findlib, it should work ok with godi
<_habnabit> okay.
<adrien> actually, even if it doesn't I think
* NaCl wonders if he should continue making rpms
<_habnabit> oh, I need to put thins on OCAMLPATH, I guess.
<thelema> _habnabit: if you use --sudo, it'll install as root
<_habnabit> it's a local godi install. not system-wide.
<_habnabit> ~/fhcrc/godi
<thelema> ok then, this will want to install to ~/.odb/lib
<thelema> I think I added an option to change this, but maybe not
<adrien> NaCl: you have most things done now
* thelema has to go to a meeting, back in maybe an hour
<NaCl> adrien: don't have ocamlnet, and many other libs
<_habnabit> okay, well, that seems to have installed batteries.
<_habnabit> and it seems to do something if I #require "batteries".
<NaCl> maybe I should make a package for that
<adrien> NaCl: how many libs do you currently have?
<NaCl> 22
<adrien> you're probably not going to use that many more by yourself ;-)
<NaCl> yup
<adrien> hadn't heard of http://thinkocaml.com/ until 20 seconds ago (but they have a nice camel picture)
anxt has joined #ocaml
<anxt> i have this build error for an ocaml program which i dont know how to solve. http://pastebin.com/Bm2QNNht
<NaCl> the Dynlink module isn't installed
<NaCl> for some reason
<adrien> which ocaml version?
<anxt> the latest 3.12.1 iirc
<adrien> how did you install it?
<anxt> make make install
<anxt> i do not have the privilege of a package manager
<adrien> you're not root on the machine?
<NaCl> The path to the ocaml modules is not set correctly
<anxt> i do have /usr/local/lib/ocaml/dynlink.*
<anxt> is that an environment variable?
<NaCl> yes. but I do not know what it is. and I may be completely wrong
<NaCl> adrien would know more. :P
<anxt> NaCl: ok
<anxt> it is a freebsd system, fwiw
willb has quit [Read error: Operation timed out]
<adrien> anxt: do you have a way to make "make" more verbose? and _your_ hand-compiled version is in /usr/local/?
<anxt> i have gnu make so i suppose i should be able to
<anxt> adrien: my hand compiled is under /usr/local, yes
mfp has quit [Ping timeout: 255 seconds]
<NaCl> adrien: time to make sed. :P
<anxt> the verbose make shows nothing new as far as debugging
<adrien> anxt: does it show the ocamlopt invocation?
zorun has quit [Ping timeout: 250 seconds]
zorun has joined #ocaml
<NaCl> it doesn't use ocamlfind? for shame
<adrien> does anyone know of a good interval tree implementation in ocaml?
mfp has joined #ocaml
* NaCl doesn't even know what an interval tree is
<NaCl> adrien: more fun with treeviews?
<adrien> selection
<adrien> (over listviews of course)
<adrien> I should think about _tree_views too, but I don't need them right away
zorun has quit [Ping timeout: 260 seconds]
<NaCl> treeviews are just lists of lists anyway
<adrien> I hope to rewrite a relatively big (and dirty) GUI into something much shorter by using these
zorun has joined #ocaml
<NaCl> adrien is ambitious
<adrien> making it fit into FRP should be trivial too
<NaCl> although, I may be insane mysef into thinking that I should make a new toplevel. :P
<adrien> NaCl: at least, it can't get more annoying to read
<adrien> plus it lacked some features
<adrien> heheh =)
<NaCl> heh. but, srsly. how hard is it to unload a module? xD
zorun has quit [Read error: Operation timed out]
<adrien> unload a module? it's close to impossible :P
<NaCl> wat
<NaCl> srsly?
jamii has joined #ocaml
zorun has joined #ocaml
<adrien> probably not but I remember there are limitations on what you'd like to do, be more precise and wait a bit, I'm pretty sure that some people here know better
<anxt> i didnt see an ocamlopt
<NaCl> adrien: time to read about algorithms. :P
<adrien> anxt: the command that failed mentionned ocamlopt, but if it's only "ocamlopt" and doesn't pass any argument to ocamlopt, then it's expected than it fails
<adrien> NaCl: which one?
<NaCl> adrien: the algorithms textbook. :P
<NaCl> CLRS
* adrien read that as CRLF, aka \r\n =/
<adrien> well, have fun ;-)
<NaCl> yeah. "fun"
* adrien -> bed
<NaCl> wut
<NaCl> that's early
* adrien hops he will find a godi package for 3.12.1 under the christmas tree when he wakes up tomorrow morning
<adrien> and someone should change /topic
<NaCl> like gildor
ulfdoz has quit [Ping timeout: 255 seconds]
<adrien> NaCl: yeah, but I'm not going to start any new code at this time of the day and I'm also waiting for the updated ocaml godi package ;-)
<NaCl> read a book or something
<adrien> ah, crap, I know: have to format a trivial patch to the linux kernel (the patch changes _one_ line and I have to read two pages on how to properly submit patches)
<anxt> can you just submit to a mailing list?
<anxt> i cant imagine trying to submit a patch to openbsd, you would probably need to sacrifice your firstborn or something
_andre has quit [Quit: leaving]
<adrien> gah
<adrien> mostly, I need to make sure I don't forget one point ;-)
<olasd> I'd stick to git, Documentation/SubmittingPatches, checkpatch.pl, et voilà
<adrien> oh, I use git already, but I expect it to take more than a few minutes when I'm already pretty tired =)
<thelema> adrien: interval tree = IMap/ISet in batteries
<adrien> thelema: =/ batterie is too big for yypkg
<adrien> actually, it's the descendant of AAA batteries now, hmmm
<thelema> if you get the version in the v2 branch of batteries, there's no external dependencies
<adrien> what about camlp4?
<thelema> and if you're worried about the binary size, you should copy the batteries.ml file to your source tree and comment out any parts you don't use - it doesn't *have* to link everything in
<adrien> that's optimization: I need to build it for/on windows
<thelema> camlp4 is completely optional for batteries. There's some syntax extensions for list comprehensions and lazy list matching and magic printing
<thelema> but I don't use them and they're not enabled by default, you have to ask for them.
<adrien> ok, will try to try during the weekend (KDE BBQ on sunday \o/ )
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
Snark has quit [Quit: Ex-Chat]
<adrien> btw, any ETA for v2?
<thelema> adrien: let me know how it goes. It doesn't even have any C stubs for anything - it's pure ocaml still.
<thelema> batteries v2... unknown. I was thinking I'd get it out this summer, but I just released 1.4.0, and there'd only be removals/renamings in v2
<adrien> not try on windows this week though
<thelema> it doesn't seem that urgent
<adrien> ok
Cyanure has quit [Remote host closed the connection]
<adrien> I think I'll probably have to wait for 3.12.1 to be fixed for mingw anyway (or hope that 3.11 doesn't have what seems to be a bug I have had with objects when trying my custom model for listviews in lablgtk)
<adrien> anyway, falling asleep now: good night
lopex has joined #ocaml
sheets has joined #ocaml
sheets has left #ocaml []
willb has joined #ocaml
<hcarty> _habnabit: odb has a --have-perms option which works well with a locally-installed GODI
<thelema> hcarty: ah, thanks.
<thelema> I remember adding that for you, I didn't realize that was what it was for.
<hcarty> thelema: Thank you for implementing it :-)
<hcarty> The only real gotcha I ran into was "make install" for programs would try to install to somewhere like /usr/local/bin/
<thelema> it was 2 new lines of code and 2 changed lines
<hcarty> That was fixable with a environment variable IIRC, but it was package-specific.
<thelema> oh, maybe I should still use --prefix on configure?
<thelema> or maybe there should be two options - one for having permissions to findlib install, and the other for executable install
<hcarty> thelema: Two options seems like a good idea
<thelema> now I just need names for these options
<hcarty> Or a "--local-godi" option which does both :-)
<thelema> I could do --godi
<hcarty> --have-perms-lib --have-perms-bin maybe?
<hcarty> --godi could turn on both, if it's worth having each separately.
<hcarty> Having both is probably a good idea
<thelema> actually, godi would only turn on --have-perms-lib
<hcarty> A user with a self-installed OCaml + findlib in ~/ may still want binaries like oasis in /usr/local/bin/ rather than ~/path/to/ocaml/bin/
<hcarty> If it's only an alias then I think the --have-perms-* options would be sufficient, along with a not somewhere on their GODI-relevance
lamawithonel__ has quit [Ping timeout: 255 seconds]
<thelema> "a not somewhere" ??
<thelema> ah, a note
<hcarty> thelema: Yes, sorry for the typo
<thelema> well, a --bindir and --libdir would also be useful for those people who have custom local installs
<thelema> although really this would be best in a config file, which I'm doing my best to avoid having
Julien_T has quit [Ping timeout: 255 seconds]
ztfw has joined #ocaml
dsheets has joined #ocaml
Anarchos has joined #ocaml
edwin has quit [Remote host closed the connection]
<thelema> gildor: thinking of ocamlforge when reading this: http://usersinhell.com/why-sourceforge-lost/
<dsheets> cpp is such a piece of trash
<dsheets> #define FOO some code // and a comment \n FOO; life=true
<dsheets> ends up commenting out life=true in the GNU cpp!
<_habnabit> so I'm using https://github.com/ocaml-batteries-team/batteries-included/blob/master/examples/benchmark/myocamlbuild.ml now in place of the myocamlbuild.ml file I used to have, but it's complaining when I reference the Str module.
<hcarty> _habnabit: Do you have pkg_str as one of the tags for your program in _tags?
<_habnabit> yes. getting the error; one moment.
<_habnabit> Error: Error while linking common_src/base.cmo:
<_habnabit> Reference to undefined global `Str'
ikaros has quit [Quit: Ex-Chat]
<hcarty> _habnabit: Sorry - have to run!
Julien_Tz has joined #ocaml
Julien_Tz is now known as Julien_T
<NaCl> _habnabit: last time I ended up having to use Str, I used ocamlfind with ocamlbuild
<_habnabit> used it how?
<NaCl> ocamlbuild -use-ocamlfind
<_habnabit> ah, I see.
<NaCl> for Str, then <file>: package(str) in _tags
<_habnabit> package(str) instead of pkg_str?
<NaCl> yeah.
<_habnabit> and do all of them have to be in that format, or just str?
<NaCl> don't know for sure, never tried mixing them
<NaCl> but I think they can be mixed
<_habnabit> eh, is that new in 3.12?
<NaCl> yes
<_habnabit> drat. still on 3.11.
<NaCl> oh, using godi, are we? :P
<_habnabit> not my setup; I took this job and then was told "oh, you'll be learning/using ocaml"
<_habnabit> so this is month 5 of it so far.
<NaCl> oh. that's nice.
* NaCl senses that there will be lots of C++ and .NET in his future
<_habnabit> this is just python/ocaml, fortunately.
<NaCl> mmm nice.
<_habnabit> ... odd. it just decided to work. not sure what I changed.
<NaCl> magic. :P
<_habnabit> oh, I see. I was doing something else.
<_habnabit> it's `ocamlbuild x.top` that fails.
<_habnabit> `ocamlbuild x.byte` succeeds.
<NaCl> I would check _tags to make sure what's being enabled in "x.top"
<_habnabit> for troubleshooting, I just have `true: pkg_str`
<NaCl> that still doesn't work with x.top?
iratsu has quit [Quit: Leaving.]
<NaCl> that may not be a target it knows how to deal with. But that's just a guess.
<_habnabit> right. that's what produces the error I had before.
<_habnabit> File "_none_", line 1, characters 0-1:
<_habnabit> Error: Error while linking common_src/base.cmo:
<_habnabit> Reference to undefined global `Str'
<NaCl> you could add <x.top>: pkg_str
<NaCl> to _tags
<NaCl> and that is really a guess. xD
<_habnabit> well, I already added pkg_str to `<**/*.top>`
<NaCl> in that case, I am idealess.
<_habnabit> it's producing `ocamlfind ocamlmktop ... -package str`
<_habnabit> but maybe it just can't find a package str.
<NaCl> it's in the standard library
<dsheets> common_src/base.cmo needs to depend on str?
<_habnabit> dsheets, as opposed to not using it, you mean?
<NaCl> I've got to run for a bit
<NaCl> bbl'
<dsheets> no, i mean, can you make a rule that makes common_src/base.cmo depend on package(str)
<dsheets> <common_src/*.*> : package(str)
<_habnabit> ah.
<_habnabit> no, same result. what is it that parses `package(str)` ?
<dsheets> you are using -use-ocamlfind?
<dsheets> if not, i think it has to be pkg_str or something
<_habnabit> as mentioned above, I'm on 3.11.
<dsheets> oops sorry
<dsheets> pkg_str then
<_habnabit> yeah, I already have `true: pkg_str`
<dsheets> i don't know the semantics of "true". does it descend dir hierarchy?
<_habnabit> AFAIK it means `every file has this tag.`
<dsheets> can you add -verbose to the ocamlfind command it produces?
<_habnabit> sure. one second.
<_habnabit> ocamlfind didn't seen to like the -verbose flag.
<dsheets> oops sorry put it after the subcommand
<_habnabit> hm, just running `ocamlfind list` on my own lists str.
<_habnabit> yeah, I tried that too. `ocamlfind list -verbose` isn't a thing, I guess.
<dsheets> use it with ocamlmktop
<dsheets> so it will tell us what commands it is running to link
<_habnabit> ah. okay.
<_habnabit> be right back.
<dsheets> so the actual ocamlmktop command does not have the directory with str included
anxt has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
<_habnabit> ah, apparently it doesn't.
<_habnabit> odd, considering `ocamlfind query str` shows the path to the std-lib directory.
<thelema> _habnabit: do you have a myocamlfind.ml file?
<_habnabit> I do not.
<thelema> err, myocamlbuild.ml
<thelema> what's the output of ocamlfind query str -l
<thelema> just the last three lines
<_habnabit> archive(s):
<_habnabit> linkopts:
<_habnabit> location: /Users/habnabit/fhcrc/godi/lib/ocaml/std-lib
<thelema> well, that looks the same as me, although I have the feeling that the archives should include str.cma
<_habnabit> yes, I was jut thinking that as well.
<thelema> ah, add -predicates byte
<_habnabit> to which? ocamlbuild?
<thelema> to the query line
<thelema> ocamlfind quest str -l -predicates byte
<thelema> err, query
<_habnabit> okay, then: archive(s): str.cma
<_habnabit> everything else is the same.
<thelema> it's possible there's a bug in ocamlfind that doesn't pass the right arguments to mktop
<_habnabit> well, I tried adding `-predicates byte` to the -ocamlmktop option, but that didn't change anything.
<thelema> actually, compare the location for `ocamlfind query str -l` with `ocamlfind query num -l`
<_habnabit> hmm. the latter one is in pkg-lib.
<thelema> well, you could edit your str META file to point to where the str.cmi is located
<_habnabit> hm, the str.cmi file is in /Users/habnabit/fhcrc/godi/lib/ocaml/std-lib
<_habnabit> should it be somewhere else? it seems like the META file is pointing to the right path.
<thelema> ah, you're missing -link-pkg on the ocamlfind command line?
<thelema> which is an error of our myocamlbuild.ml
<_habnabit> I guess?
<_habnabit> oh, I see.
<thelema> or is it -linkpkg
<thelema> I wonder what ocamlbuild tags are involved in ocamlmktop
<thelema> can I get a little more context from _build/_log on paste 9194?
<_habnabit> one sec.
<thelema> grr, time for me to go home...
<thelema> and I'm just reaching a good spot in my own work too
<_habnabit> that's the full log.
<thelema> add myocamlbuild.ml L57: flag ["ocaml"; "byte"; "toplevel"] & A"-linkpkg";
<_habnabit> hah, that did it.
<thelema> hmm, also with a "link" between byte and toplevel might help
* thelema learns more about ocamlbuild
<_habnabit> well, it compiled without the link.
<_habnabit> do you still want me to add it?
<thelema> probably safer if you do, but there's probably no compile for toplevel, so...
<_habnabit> okay, added.
<thelema> I'm patching the source file with "link"
<_habnabit> hooray, I'm finally using batteries.
Anarchos has quit [Quit: Vision[0.9.7-H-090423]: i've been blurred!]
lamawithonel__ has joined #ocaml
jamii has quit [Ping timeout: 252 seconds]
dnolen_ has joined #ocaml
dnolen_ has quit [Client Quit]
dnolen_ has joined #ocaml
lopex has quit [Ping timeout: 276 seconds]
lopex has joined #ocaml