ChanServ changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | http://www.ocaml.org | OCaml 4.01.0 announce at http://bit.ly/1851A3R | Logs at http://irclog.whitequark.org/ocaml
mcclurmc has quit [Remote host closed the connection]
jeregrine has joined #ocaml
ollehar has quit [Ping timeout: 240 seconds]
q66 has quit [Quit: Leaving]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
Smerdyakov has quit [Quit: Leaving]
studybot has quit [Remote host closed the connection]
jeregrine has quit [Ping timeout: 252 seconds]
eikke__ has quit [Ping timeout: 240 seconds]
pyon has joined #ocaml
eikke__ has joined #ocaml
jeregrine has joined #ocaml
eikke__ has quit [Ping timeout: 240 seconds]
tiglionabbit has quit [Quit: tiglionabbit]
jeregrine has quit [Ping timeout: 245 seconds]
lopex has quit [Quit: Connection closed for inactivity]
rgrinberg has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
studybot has joined #ocaml
tlockney_away is now known as tlockney
WraithM has joined #ocaml
tiglionabbit has joined #ocaml
tlockney is now known as tlockney_away
tiglionabbit has quit [Quit: tiglionabbit]
ashleyis has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
michael_lee has joined #ocaml
rgrinberg has joined #ocaml
jpdeplaix has quit [Ping timeout: 240 seconds]
jao has quit [Ping timeout: 252 seconds]
xitology_ has quit [Quit: Ex-Chat]
jpdeplaix has joined #ocaml
rz has joined #ocaml
martintrojer has quit [Ping timeout: 240 seconds]
martintrojer has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
philtor has quit [Ping timeout: 252 seconds]
f[x] has joined #ocaml
studybot has quit [Remote host closed the connection]
NoNNaN has quit [Remote host closed the connection]
studybot has joined #ocaml
huza has joined #ocaml
NoNNaN has joined #ocaml
rgrinberg has joined #ocaml
ashleyis has quit [Quit: WooChat 0.4.3]
dfarm has joined #ocaml
DaveS has joined #ocaml
philtor has joined #ocaml
dfarm has quit [Ping timeout: 245 seconds]
tlockney_away is now known as tlockney
philtor has quit [Ping timeout: 252 seconds]
huza has quit [Ping timeout: 258 seconds]
_JokerDoom has joined #ocaml
JokerDoom has quit [Ping timeout: 258 seconds]
strobegen has joined #ocaml
Puffin has joined #ocaml
BitPuffin has quit [Ping timeout: 252 seconds]
tlockney is now known as tlockney_away
alpounet has joined #ocaml
huza has joined #ocaml
huza has quit [Ping timeout: 245 seconds]
axiles has joined #ocaml
araujo has quit [Quit: Leaving]
huza has joined #ocaml
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
WraithM has quit [Ping timeout: 245 seconds]
rgrinberg has joined #ocaml
tiglionabbit has joined #ocaml
WraithM has joined #ocaml
yacks has joined #ocaml
yacks has quit [Quit: Leaving]
yacks has joined #ocaml
Shozan is now known as SHODAN
ggole has joined #ocaml
lopex has joined #ocaml
typedlambda has quit [Ping timeout: 252 seconds]
typedlambda has joined #ocaml
demonimin has quit [Remote host closed the connection]
demonimin has joined #ocaml
Kakadu has joined #ocaml
cago has joined #ocaml
f[x] has quit [Ping timeout: 252 seconds]
cago has quit [Ping timeout: 240 seconds]
<tiglionabbit> how come the tutorials are for eliom 4 but that isn’t available on opam?
ollehar has joined #ocaml
mort___ has joined #ocaml
AltGr has joined #ocaml
yacks has quit [Quit: Leaving]
manizzle has quit [Ping timeout: 276 seconds]
rgrinberg has quit [Quit: Leaving.]
ollehar1 has joined #ocaml
pgomes has joined #ocaml
<hnrgrgr> tiglionabbit: the release is in process...
<tiglionabbit> ok
<hnrgrgr> should be out soon.
baz_ has quit [Ping timeout: 240 seconds]
baz_ has joined #ocaml
tizoc has quit [Ping timeout: 276 seconds]
ikaros has joined #ocaml
<tiglionabbit> I’m reading through the tutorial. This is interesting. I haven’t used ocaml or ocsigen before
<tiglionabbit> I’m a little iffy on the idea of continuation-based web programming, because doesn’t that mean the server has to save that state? Or can it be pushed off to the client, in a signed cookie for example?
tizoc has joined #ocaml
manizzle has joined #ocaml
<gasche> By arbitrary, I mean that I want to implement e.g., 43 bits unsigned
<gasche> which seems to implement arbitrary precision in the sense that the
<gasche> arithmetic, and have the right overflow behaviors. I know of zarith
<gasche> hm
<gasche> obviously my "Paste" buffer was screwed, sorry for the noise
<gasche> (the random content of my Paste buffer suggests how interesting my web-browsing habit are...)
WraithM has quit [Ping timeout: 264 seconds]
<tiglionabbit> I guess a netsplit is ending?
<tiglionabbit> cuz i dunno what the conversation here was
<DaveS> isn't most web state stored in the DB anyway?
<tiglionabbit> In Flask, the default is to put it in a signed cookie
ikaros has quit [Quit: Ex-Chat]
yacks has joined #ocaml
ikaros has joined #ocaml
cago has joined #ocaml
f[x] has joined #ocaml
<adrien_oww> gasche: web?! does that mean you're using gmail and its webmail? ='(
octachron has joined #ocaml
arj has joined #ocaml
huza has quit [Ping timeout: 240 seconds]
remyzorg has joined #ocaml
<remyzorg> join #ocsigen
eikke__ has joined #ocaml
pgomes has quit [Quit: Page closed]
pgomes has joined #ocaml
tiglionabbit has quit [Quit: tiglionabbit]
WraithM has joined #ocaml
mehdid has joined #ocaml
<mehdid> Is there a way, using ocamlbuild, to specify exhaustive files to use during link?
<mehdid> s/files/list of &/
<mehdid> I have modules gathered into a .cma and want ocb to use it instead of taking individual modules from the lib directory
eikke__ has quit [Ping timeout: 252 seconds]
<ggole> -lib, maybe?
<ggole> I don't know which will take precedence to be honest.
<adrien_oww> you want to divert how it will see and find libs?
eikke__ has joined #ocaml
<mehdid> sort of, yeah
Puffin is now known as BitPuffin
<mehdid> -lib has no effect other than adding the specified library in the command line during link phase
<mehdid> building a binary, ideally, should not enforce direct usage of available modules :/
rossberg has joined #ocaml
<mehdid> an "undep" function might resolve this but 1) it is not available, and 2) it looks ugly
mort___ has quit [Quit: Leaving.]
<ggole> Sigh, build systems
<mehdid> "*sigh*, developers" is also valid ;)
<adrien_oww> I think you can do something with the .mllib files
<mehdid> or twisted minds, ...
<adrien_oww> but I only used that once :P
<mehdid> well, I have one
mort___ has joined #ocaml
<gasche> so you have
<gasche> foo.cmo bar.cmo
<gasche> a lib.cma with foo.cmo and bar.cmo
<mehdid> yup
<gasche> and you want the rest of your build to use lib.cma and *not* foo.cmo and bar.cmo
<mehdid> exactly
<gasche> is there a specific reason for this preference?
<gasche> (it's easier to let ocamlbuild infer dependencies in anyway it likes)
WraithM has quit [Ping timeout: 276 seconds]
<mehdid> sure, but from a software engineering pov, it is better to use the library that you're going to ship
<mehdid> (well, imho)
rand000 has joined #ocaml
<octachron> mehdid: In this case, couldn't you split the lib files and install the lib using a local opam repository?
<mehdid> at some point, I guess I can copy/install the library somewhere and use it from there but it is a pity it can't be done directly
<mehdid> octachron: modulo s/opam //, it is exactly what i just said :)
<mehdid> use of opam in this context is really not justified
<gasche> mehdid: so
<gasche> in your myocamlbuild.ml
<gasche> if you want the module Test to be built with lib.cma and not {foo,bar}.cmo
<gasche> you can use
<gasche> use_lib "test" "lib"
<gasche> (non_dependency is available but not what you want here)
<mehdid> gasche: isn't use_lib equivalent to -lib?
<mehdid> gasche: and btw, is ocamlbuild's plugin api published on ocaml's website?
<gasche> it appears it isn't
<gasche> look at signatures.mli
<gasche> so
<gasche> you can also use ocaml_lib
<gasche> (ocaml_lib "lib")
<gasche> this will create a tag use_lib
<gasche> which has the same effect (on the files on which it applies) as calling use_lib
<gasche> (I first tried with "true: use_lib" in my _tags but of course that fails with a circular dependency when building lib.cma; "<test.*>: use_lib" worked fine, though)
<mehdid> (right)
<gasche> to answer your question, -lib is intended to be used for *external* libraries
<mehdid> k, thx for your help. i'll test it later (got to go now) and will report back.
<mehdid> gasche: do you need a ticket about ocb's plugin api?
<gasche> to document it? probably not
<mehdid> to publish it
<gasche> I would be more interested in a pull request on https://github.com/gasche/manual-ocamlbuild
<mehdid> noted
<gasche> (or patches to flesh out the .mli comments that are not self-descriptive enough)
* mehdid &
avsm has joined #ocaml
<ggole> avsm: I noticed a minor editing error in RWO, are you to person to bother about that?
<avsm> ggole: an issue on https://github.com/realworldocaml/book/issues would be appreciated
manizzle has quit [Ping timeout: 252 seconds]
<ggole> avsm: done.
SHODAN has quit [Remote host closed the connection]
mort___ has quit [Quit: Leaving.]
SHODAN has joined #ocaml
BitPuffin has quit [Ping timeout: 264 seconds]
Kakadu has quit [Ping timeout: 240 seconds]
mort___ has joined #ocaml
mort___ has quit [Quit: Leaving.]
rz has quit [Quit: Ex-Chat]
rz has joined #ocaml
BitPuffin has joined #ocaml
f[x] has quit [Ping timeout: 276 seconds]
araujo has joined #ocaml
araujo has quit [Changing host]
araujo has joined #ocaml
ebzzry has quit [Remote host closed the connection]
ebzzry has joined #ocaml
mort___ has joined #ocaml
mort___ has quit [Client Quit]
_andre has joined #ocaml
mort___ has joined #ocaml
mort___ has quit [Client Quit]
<kaustuv> Is the volume unusually low on these OUPS videos or is it a problem with Firefox's support for WebM?
<adrien_oww> it's a bit low
f[x] has joined #ocaml
<kaustuv> I am amused by this definition: https://www.google.com/search?q=define%3Aephemeron
<kaustuv> but the talk was very intriguing
macron has quit [Quit: ZNC - http://znc.in]
macron has joined #ocaml
eizo has joined #ocaml
f[x] has quit [Ping timeout: 252 seconds]
avsm has quit [Quit: Leaving.]
q66 has joined #ocaml
q66 has joined #ocaml
q66 has quit [Changing host]
dsheets has quit [Ping timeout: 252 seconds]
huza has joined #ocaml
ontologiae has joined #ocaml
yacks has quit [Quit: Leaving]
richinkrakow has quit [Quit: Lost terminal]
<flux> just visited copenhagen on the weekend. considering if I should try it again for ocaml2014 :)
huza has quit [Ping timeout: 264 seconds]
studybot has quit [Remote host closed the connection]
nicferrier has quit [Ping timeout: 252 seconds]
mcclurmc has joined #ocaml
<gasche> flux: from Göteborg?
<flux> from Tampere Finland
<gasche> interesting
<flux> work related trip "team building seminar"
<gasche> at the time of ICFP, my sister will be in Turku, and I was considering visting her
<gasche> *visiting
<flux> (was the last weekend's trip)
divyanshu has joined #ocaml
eizo has quit [Ping timeout: 240 seconds]
divyanshu has quit [Client Quit]
mcclurmc has quit [Remote host closed the connection]
yacks has joined #ocaml
Kakadu has joined #ocaml
studybot has joined #ocaml
studybot_ has joined #ocaml
studybot has quit [Ping timeout: 272 seconds]
reventlov has joined #ocaml
<reventlov> Hello.
mcclurmc has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
darkf has quit [Quit: Leaving]
ustunozgur has joined #ocaml
arj has quit [Quit: Leaving.]
<kerneis> mehdid: btw, ocaml_lib can be used for external libs as well (and it is, I believe, the only way to specify a path outside of the root of the current project in ocamlbuild - you need ~external:true)
johnnydiabetic has joined #ocaml
<Drup> whitequark: new function request "IsConditionnal/Unconditionnal" and "getSuccessor"
mcclurmc has joined #ocaml
ustunozgur has quit [Remote host closed the connection]
ustunozgur has joined #ocaml
eikke__ has quit [Remote host closed the connection]
q66 has quit [Ping timeout: 252 seconds]
ustunozg_ has joined #ocaml
<gasche> reventlov: impressive bug report
<mehdid> kerneis: right, i just forgot about its existence but used to use it indeed.
ustunozgur has quit [Ping timeout: 276 seconds]
<reventlov> gasche: I should have put "always" in the Reproducibility field
<mehdid> gasche: do you know if http://brion.inria.fr/gallium/index.php/Ocamlbuild will be resurrectted one day?
ontologiae has quit [Ping timeout: 252 seconds]
mcclurmc has quit [Remote host closed the connection]
q66 has joined #ocaml
ollehar has quit [Ping timeout: 240 seconds]
mcclurmc has joined #ocaml
ontologiae has joined #ocaml
f[x] has joined #ocaml
<gasche> mehdid: no, but your request prompts me to ask again
<gasche> reventlov: if you want your full name to appear in the Changelog after the bug gets fixed, would you tell me what it is?
divyanshu has joined #ocaml
<reventlov> gasche: well, why not.
<gasche> (some people remained pseudonymous and that's also fine)
<mehdid> gasche: and my question earlier today was only about the *API* (ocamldoc generated), and not the general user's manual
<mehdid> it is not clear for me is that should be included in gasche/manual-ocamlbuild
<gasche> so you mean that the ocamldoc should be available online somewhere
<kerneis> it used to be, but an outdated copy, on brion
<kerneis> it was quite convenient
<gasche> ok
<gasche> mehdid is right in that the full API is probably not appropriate for manual-ocamlbuild
<gasche> I suppose we could ask Damien to put that alongside the stdlib's ocamldoc
<gasche> but on the other hand, if the people want ocamlbuild to be split, maybe a more flexible hosting place is better
<gasche> what about simply hosting the .mli as separate pages on manual-ocamlbuild, do you think that would be less convenient?
<gasche> that could be a way to encourage people to submit PR to the .mli documentation (which I would then forward to wherever the actual sources are)
<gasche> (of course the .mli are also easily available on hhugo's github, so I gather you are rather interested in an HTML rendering of it)
<mehdid> gasche: since the user's manual is already part of ocaml's manual, i think asking Damien to put it next to the stdlib's ocamldoc would be better
avsm has joined #ocaml
Hannibal_Smith has joined #ocaml
ollehar has joined #ocaml
ollehar has quit [Ping timeout: 240 seconds]
tnguyen has joined #ocaml
<whitequark> Drup: hmm, that's not in the C API
<whitequark> we need to decide whether we maintain feature parity with the C API
<whitequark> hm, actually, there's no question of it--you have to, since OCaml API can only use C API
<whitequark> so your getSuccessor function (at least) has to gain a C API function
<whitequark> that's ok, but it's a bit slower
<Drup> is there a workaround with getOperand ?
<whitequark> hm?
<whitequark> getOperand workaround is fine for your own LLVM-based code, but I wouldn't quite want to pull it into upstream
<whitequark> it should really be exposed in the C API, that'll benefit other bindings too (Haskell's LLVMGeneral comes to mind)
<Drup> sure, that would be for my own code, until there is a proper function
cago has left #ocaml [#ocaml]
<Drup> whitequark: where should I do the bug report ?
<whitequark> llvm.org/bugs
<whitequark> cc me
Hannibal_Smith has quit [Quit: Sto andando via]
<jpdeplaix> I hope my patches will be reviewed before 3.5 :/
studybot_ has quit [Remote host closed the connection]
<Drup> so many categories :I
octachron has quit [Ping timeout: 240 seconds]
eikke__ has joined #ocaml
<Drup> (how do you cc people wich bugzilla ?)
<Drup> (never used it before)
<Drup> with*
<whitequark> Drup: there's "CC List" field
<jpdeplaix> whitequark: is there a way to insert comment in the code with the api ?
<jpdeplaix> comments*
<whitequark> jpdeplaix: "the code" ?
<whitequark> oh, LLVM. no. the comments aren't present in AST and are thrown out when parsing, and you construct AST and not the textual IR
<whitequark> however, there's several things you could try
<whitequark> 1) naming the instructions in some way
<whitequark> 2) (ab)using the metadata facilities
tnguyen has quit [Quit: tnguyen]
rgrinberg has joined #ocaml
pyon has quit [Quit: brb]
tnguyen has joined #ocaml
pyon has joined #ocaml
_JokerDoom has quit [Quit: Leaving]
JokerDoom has joined #ocaml
avsm has quit [Quit: Leaving.]
alpounet has quit [Read error: Connection reset by peer]
alpounet has joined #ocaml
tobiasBora has joined #ocaml
<tobiasBora> Hello !
<tobiasBora> I've a problem with opam :
<tobiasBora> I try to do opam update, and the process never terminate...
<tobiasBora> When I do Ctrl-C I have
<tobiasBora> ^C[WARNING] '/usr/bin/aspcud $in $out $pref' failed with User interruption
<tobiasBora> 0 to install | 26 to reinstall | 0 to upgrade | 16 to downgrade | 1 to remove
<tobiasBora> You can now run 'opam upgrade' to upgrade your system.
testcocoon has quit [Quit: Coyote finally caught me]
Arthur_R` has joined #ocaml
Arthur_R` is now known as Arthur_Rainbow
<Arthur_Rainbow> Hi (salut ?)
<Arthur_Rainbow> I can't find anywhere in documentation how to do one thing
<Arthur_Rainbow> "module type M= Map.S with type key = t" so I would be able to use Map whose key are of type Formula.t
<Arthur_Rainbow> I have a type t in "formula.mli" and I would like to add something like
<tobiasBora> Hum... I deleted to test packages and now it works...
<tobiasBora> Arthur_Rainbow: I'm not sure to well understand, but you may look for "include <module name>"
pminten has joined #ocaml
<Drup> Arthur_Rainbow: what did you put in formula.ml for the Map ?
testcocoon has joined #ocaml
<Arthur_Rainbow> module Comp=
<Arthur_Rainbow> type t = s
<Arthur_Rainbow> struct
<Arthur_Rainbow> let compare {v=x} {v=y} = x-y
<Arthur_Rainbow> end
<Arthur_Rainbow> module M = Map.Make (Comp)
<Drup> Arthur_Rainbow: put in your .mli : "module M : Map.S with type key = t"
<Arthur_Rainbow> type s = t (*before all of this *)
<Arthur_Rainbow> else he tells me that the type is recursive
<Arthur_Rainbow> it *
<Arthur_Rainbow> Drup: wonderful, that's it !
<Arthur_Rainbow> thanks
tiglionabbit has joined #ocaml
ontologiae has quit [Ping timeout: 240 seconds]
pyon has quit [Quit: annoying emacs]
<ggole> I like to put the type alias inside the module, myself
ustunozg_ has quit [Remote host closed the connection]
tobiasBora has quit [Ping timeout: 265 seconds]
ikaros has quit [Quit: Ex-Chat]
<Arthur_Rainbow> I realize that I've got a trouble with this module.
<Arthur_Rainbow> So my structure has an association list from t to ints.
<Arthur_Rainbow> Before, I had : type t = { a: (t * int) list; id:int}
<Arthur_Rainbow> And I wanted to change the association list to a map from t to int
<Arthur_Rainbow> But, how could I do it, since I need the type to be defined before I could define the map module, which I need to define the type...
remyzorg has quit [Quit: WeeChat 0.4.3]
tnguyen has quit [Ping timeout: 245 seconds]
<Drup> you can use recursive module
<Drup> module rec Cmp : Map.OrderedType = struct type t = { a: (t * int) list; id:int} let compare = compare end and M : Map.S with type key = Cmp.t = Map.Make(Cmp) ;;
<Drup> that works
<Drup> urk
<Drup> module rec Cmp : Map.OrderedType = struct type t = { a: (t * int) M.t ; id:int} let compare = compare end and M : Map.S with type key = Cmp.t = Map.Make(Cmp) ;;
tnguyen has joined #ocaml
<Drup> (you need to give the type for each modules)
pyon has joined #ocaml
<Arthur_Rainbow> never heard of recursive module, thanks a lot
eikke__ has quit [Ping timeout: 240 seconds]
<Drup> funnily, the example given is basically the same as your use case, with Map replaced by Set :)
<Arthur_Rainbow> I'm not so much surprised, I reduced the problem with the minimum I needed
<Arthur_Rainbow> in fact, I've got a more complicated figure
<Drup> I would recommend to isolate the part with recursive modules
alpounet has quit [Read error: Connection reset by peer]
<Arthur_Rainbow> Yep, that what I intend to do. With a "type t = Cmp.t " at the end
alpounet has joined #ocaml
eikke__ has joined #ocaml
<ebzzry> Is omake still relevant, or should I use ocamlbuild? Is there a better (more ideal) solution, or am I comparing apples to oranges?
<Drup> omake is not maintained anymore
tiglionabbit has quit [Quit: tiglionabbit]
<Drup> it's still used a little bit
tane has joined #ocaml
<adrien> it's more work to get it running than ocamlbuild
ollehar has joined #ocaml
Muzer has quit [Excess Flood]
rgrinberg has quit [Quit: Leaving.]
Muzer has joined #ocaml
rgrinberg has joined #ocaml
ollehar has quit [Ping timeout: 240 seconds]
ollehar1 has quit [Ping timeout: 252 seconds]
johnnydiabetic has quit [Ping timeout: 265 seconds]
pminten has quit [Remote host closed the connection]
tiglionabbit has joined #ocaml
avsm has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
eikke__ has quit [Ping timeout: 258 seconds]
ustunozgur has joined #ocaml
Muzer has quit [Excess Flood]
<ebzzry> Drup: thanks
<ebzzry> adrien: thanks
<ebzzry> Is ocamlbuild currently the advised solution?
<Drup> whitequark: is there something specific to do to have the phi function in the representation ?
ustunozgur has quit [Ping timeout: 240 seconds]
Arsenik has joined #ocaml
Muzer has joined #ocaml
<whitequark> hm?
<whitequark> build_phi
<Drup> I have the représentation parser from some bitcode
<Drup> but there is no phi in it
<whitequark> I don't understand
<Drup> I have a bitcode. I parse it, which give me the llvm representation, I look at the intructions, and there is not a single phi instruction
<Drup> (there should be)à
<whitequark> are they in the llvm-dis output?
<Drup> no
<whitequark> then there are no phis
<whitequark> why do you think they should be there?
<ggole> Are there allocas?
<Drup> yes
<ggole> Might just have to run mem2reg on it then
<Drup> whitequark: because it doesn't make sens not to have any phi in this code
<Drup> ggole: what is mem2reg ?
<ggole> It's a pass that lifts allocas (local memory) into registers, introducing phis to keep SSA form
<Drup> oh, probably what I want indeed
tlockney_away is now known as tlockney
<ggole> One of the ways people use LLVM is by pretending that SSA doesn't exist, expressing their program as allocas + assignments, and using mem2reg to clean up the mess.
f[x] has quit [Ping timeout: 276 seconds]
<Drup> now, I need to figure out how to call that from ocaml
<whitequark> ggole: that's not really "pretending that SSA does not exist", it's "reuse LLVM's SSA transformation"
<whitequark> since your surface language most likely has mutable locals
<whitequark> Drup: Llvm_passmgr.add_mem2reg or something
BitPuffin has quit [Ping timeout: 240 seconds]
<whitequark> Llvm_scalar_opts.add_memory_to_register_promotion
<Drup> oh, thanks
<Drup> I was greping for mem2reg
<whitequark> yes, whoever did those names didn't do the best job
<Drup> that's true for the whole ocaml binding
<whitequark> I'm still not convinced it would be better with some obscure type-level magic sprinkled all over it
<whitequark> in my experience it just makes debugging far more lengthy and painful than figuring out segfaults.
<Drup> right now, I was not talking about that :p
<whitequark> oh? other names seem just fine to me
<Drup> I was talking about the fact that most names are not the same in the ocaml binding and the C++ api
<whitequark> I've cleaned up Llvm_target quite hard, but you aren't using it
<whitequark> oh
<Drup> lot's of names are very slightly different
<whitequark> right
<Drup> or (not very slightly)
<Drup> which make the learning a bit painful, sometime
<whitequark> true.
<Drup> how am I suppose to enable this pass ?
<whitequark> use Llvm.PassManager.create (), then add the pass, then Llvm.PassManager.run_module
Kakadu has quit [Ping timeout: 240 seconds]
<Drup> ok
sgnb has quit [Ping timeout: 255 seconds]
q66_ has joined #ocaml
q66_ has quit [Changing host]
q66_ has joined #ocaml
q66 has quit [Disconnected by services]
q66_ is now known as q66
<Drup> woot, I have phis \o/
<whitequark> actually, now that I think about it
<whitequark> wait, wtf, I think I have a rat in my house, brb
<Drup> x)
eikke__ has joined #ocaml
<ggole> Bloody pests
* ggole has pantry moths at the moment -_-
<whitequark> no. I wonder what was that sound. anyway, the thought was that you could model LLVM's AST with GADTs pretty nicely
<whitequark> it doesn't really have complex relationships that can't be expressed with GADTs
<Drup> I think GADTS would be overkill
<whitequark> why not? currently a large source of asserts is constructing instructions with wrong argument types
<Drup> oh, yes, GADT for the instructions, yes that too
<Drup> I agree
<whitequark> in fact wrong argument/type parameter types is probably the single most frequent assert source
<whitequark> but I'm not going to write such an API
<Drup> :D
<Drup> my first though would be more on the "inheritance relationshipt as subtyping"
<Drup> maybe because I'm still learning the API, and that's the main weird point right now, figuring out who is a subtype of who
<ggole> I've fiddled around with GADTified instruction types, and I found it sucked
<ggole> You can't do simple things like use lists or basic blocks sanely
<whitequark> actually ggole may be right, OCaml would really punish you for matching instructions if they're GADTs
<ggole> For this problem I'd actually like an in-between thing between GADTs and regular variants, in which you can express "this value can have any tag"
<ggole> It's quite annoying to know that the instruction type has a certain structure and not be able to express it :/
yacks has quit [Ping timeout: 265 seconds]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
johnnydiabetic has joined #ocaml
ustunozgur has joined #ocaml
ustunozgur has quit [Read error: No route to host]
WraithM has joined #ocaml
fraggle_laptop has joined #ocaml
JokerDoom has quit [Read error: Connection reset by peer]
JokerDoom has joined #ocaml
Kakadu has joined #ocaml
tobiasBora has joined #ocaml
JokerDoom has quit [Read error: Connection reset by peer]
JokerDoom has joined #ocaml
JokerDoom has quit [Read error: Connection reset by peer]
JokerDoom has joined #ocaml
JokerDoom has quit [Client Quit]
JokerDoom has joined #ocaml
rgrinberg has joined #ocaml
BitPuffin has joined #ocaml
eikke__ has quit [Ping timeout: 276 seconds]
avsm has quit [Quit: Leaving.]
eikke__ has joined #ocaml
Simn has joined #ocaml
eikke__ has quit [Ping timeout: 240 seconds]
divyanshu has quit [Quit: Textual IRC Client: www.textualapp.com]
Arsenik has quit [Ping timeout: 252 seconds]
WraithM has quit [Ping timeout: 245 seconds]
typedlambda has quit [Ping timeout: 252 seconds]
typedlambda has joined #ocaml
WraithM has joined #ocaml
Guest46448 has quit [Remote host closed the connection]
eikke__ has joined #ocaml
johnnydiabetic has quit [Ping timeout: 252 seconds]
AltGr has left #ocaml [#ocaml]
ggole has quit []
eikke__ has quit [Ping timeout: 255 seconds]
WraithM has quit [Ping timeout: 258 seconds]
Arsenik has joined #ocaml
michael_lee has quit [Remote host closed the connection]
philtor has joined #ocaml
ollehar has joined #ocaml
eikke__ has joined #ocaml
alpounet has quit []
_andre has quit [Quit: leaving]
ontologiae has joined #ocaml
axiles has quit [Remote host closed the connection]
avsm has joined #ocaml
ustunozgur has joined #ocaml
eikke__ has quit [Ping timeout: 258 seconds]
WraithM has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest18547
Arsenik has quit [Remote host closed the connection]
WraithM has quit [Ping timeout: 240 seconds]
fraggle_laptop has quit [Remote host closed the connection]
fraggle_laptop has joined #ocaml
manizzle has joined #ocaml
pitt has joined #ocaml
<pitt> Hi everybody
ontologiae has quit [Ping timeout: 276 seconds]
<pitt> :quit
rand000 has quit [Quit: leaving]
pitt has quit [Client Quit]
rand000 has joined #ocaml
WraithM has joined #ocaml
WraithM has quit [Ping timeout: 252 seconds]
ustunozgur has quit [Remote host closed the connection]
ustunozgur has joined #ocaml
strobegen has quit [Read error: Connection reset by peer]
strobegen has joined #ocaml
<Drup> rgrinberg: did you wrote rules for cppo for ocamlbuild ?
<rgrinberg> Drup: yep
<Drup> link pls ? :3
avsm has quit [Quit: Leaving.]
<Drup> a myocamlbuild.ml is not correct without some cursing. :p
<rgrinberg> indeed…
<rgrinberg> there should be a better way to share ocamlbuild plugins/rules
<Drup> well, you can do plugins now
<rgrinberg> yeah i hear you can include findlib packages in myocamlbuild
<Drup> we have that for js_of_ocaml and eliom
<rgrinberg> I would say that's just a pre-requesite. there should be a way to register plugins to ocamlbuild/list the rules they define etc.
<rgrinberg> etc.
<Drup> yeah
tane has quit [Quit: Verlassend]
<Drup> rgrinberg: hum, I will need to figure out a way to add a way to add -D stuff for cppo
tiglionabbit has quit [Quit: tiglionabbit]
rgrinberg has quit [Quit: Leaving.]
Simn has quit [Quit: Leaving]
rgrinberg has joined #ocaml
<rgrinberg> yeah I'm not using a general purpose rule
eikke__ has joined #ocaml
ustunozgur has quit [Remote host closed the connection]
jao has quit [Ping timeout: 258 seconds]
<Drup> where is the ocamldoc for ocamlbuild ?
<Drup> for the api
tiglionabbit has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
<jpdeplaix> (not up-to-date)
<rgrinberg> (also not up to date probably)
* Drup grmble.
<rgrinberg> could be a nice contribution to hhugo/ocamlbuild actually
<rgrinberg> put up some opamdocs
<Drup> rgrinberg: why did you add the -n flag ?
<Drup> for cppo
<Drup> I like the quality of the comments in this documentation
rgrinberg has quit [Quit: Leaving.]
johnnydiabetic has joined #ocaml
rgrinberg has joined #ocaml
NoNNaN has quit [Ping timeout: 272 seconds]
<rgrinberg> Drup: it's optional
<rgrinberg> for this purpose i don't think it makes a difference since the line directives are comments
<rgrinberg> Drup: which documentation?
<Drup> ocamlbuild's
<Drup> I was looking at hongbo's one
<Drup> and there is none.
<rgrinberg> oh yeah
<rgrinberg> p.s. hongbo did some decent work documenting it too: https://github.com/bobzhang/ocaml-book/blob/master/toolchain/ocamlbuild.org
<Drup> I don't find the tag equivalent to -I
<Drup> hum, it's just "include" but it doesn't tell when it's included
WraithM has joined #ocaml
johnnydiabetic has quit [Ping timeout: 240 seconds]
demonimin has quit [Ping timeout: 252 seconds]
<Drup> hhm, "include" implementation is hardcoded, I can't reuse it for cppo's -i
<rgrinberg> yeah you'll have to replace "lib" with your own source dir
<rgrinberg> root_dir should work though right?
<Drup> rgrinberg: I played lazy and added a pflag "include()"
<rgrinberg> :)
<rgrinberg> one thing that always bothered me about ocamlbuild is why maintain both _tags and myocamlbuild?
<rgrinberg> isn't having 1 file better
<rgrinberg> which i know is technically possible i don't understand why using _tags is recommended
<Drup> because it's simpler, I suppose
<Drup> you must agree that asking everyone to write a myocamlbuild is crazy
<Drup> actually, asking *anyone* to write a myocamlbuild is already crazy
<companion_cube> indeed
WraithM has quit [Ping timeout: 252 seconds]
NoNNaN has joined #ocaml
darkf has joined #ocaml
eikke__ has quit [Ping timeout: 252 seconds]
mort___ has joined #ocaml
mort___ has quit [Client Quit]
eikke__ has joined #ocaml
manizzle has quit [Ping timeout: 252 seconds]
madroach has quit [Ping timeout: 252 seconds]
WraithM has joined #ocaml
madroach has joined #ocaml
jeregrine has joined #ocaml
<Drup> rgrinberg: I made optional dependency work with oasis+ocamlbuild
<Drup> it's horribly hacky
<Drup> I'm very proud of it
<rgrinberg> Drup: congrats, now blog about it :D
NoNNaN has quit [Remote host closed the connection]
<rgrinberg> I'd be interested if oasis can be stripped from your approach too
<rgrinberg> for cohttp
<Drup> I would need a blog in order to blog about it x)
jeregrine has quit [Ping timeout: 255 seconds]
NoNNaN has joined #ocaml
<Drup> I'm going to make it review by my local ocamlbuild expert (/me looks at jpdeplaix) and then will write something, yeah
jeregrine has joined #ocaml
jeregrine has quit [Remote host closed the connection]
racycle_ has joined #ocaml
<Drup> rgrinberg: everything is pretty much condensed here : https://github.com/Drup/LILiS/blob/master/myocamlbuild.ml#L37
<rgrinberg> Drup: are you waiting for an eliom based blogging platform?
<Drup> hell, no
<Drup> I just don't have that much to write about
<Drup> hence never bothered to setup anything
jeregrine has joined #ocaml
jeregrine has quit [Remote host closed the connection]
<rgrinberg> i think you have plenty of valuable experiences to share
<rgrinberg> especially in this documentation starved ocaml world
eikke__ has quit [Ping timeout: 252 seconds]
<Drup> for documentation, I wouldn't put it in a blog
<Drup> anyway, sleeping time.