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
thomasga has quit [Ping timeout: 258 seconds]
tobiasBora has quit [Quit: Konversation terminated!]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
ollehar has joined #ocaml
ollehar has quit [Ping timeout: 240 seconds]
jeregrine has joined #ocaml
smiler has joined #ocaml
john3213 has joined #ocaml
ontologiae has joined #ocaml
john3213 has left #ocaml [#ocaml]
nikki93 has joined #ocaml
boogie has quit [Remote host closed the connection]
alpounet has joined #ocaml
johnnydiabetic has quit [Quit: Leaving]
alpounet has quit [Ping timeout: 240 seconds]
S11001001 has joined #ocaml
S11001001 has quit [Changing host]
S11001001 has joined #ocaml
racycle has quit [Quit: ZZZzzz…]
jwatzman|work has quit [Quit: jwatzman|work]
fraggle_laptop has quit [Remote host closed the connection]
squiggnet has quit [Ping timeout: 240 seconds]
q66 has quit [Quit: Leaving]
SHODAN has quit [Ping timeout: 252 seconds]
jeregrine has quit [Ping timeout: 265 seconds]
studybot has quit [Remote host closed the connection]
ontologiae has quit [Ping timeout: 258 seconds]
BitPuffin has quit [Ping timeout: 240 seconds]
johnf has quit [Remote host closed the connection]
ontologiae has joined #ocaml
Eyyub has quit [Ping timeout: 264 seconds]
Eyyub has joined #ocaml
ustunozgur has joined #ocaml
SHODAN has joined #ocaml
manizzle has quit [Ping timeout: 265 seconds]
tlockney_away has joined #ocaml
tlockney_away is now known as tlockney
ustunozgur has quit [Ping timeout: 252 seconds]
ontologiae has quit [Ping timeout: 240 seconds]
S11001001 has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
malo has quit [Quit: Leaving]
squiggnet has joined #ocaml
rgrinberg1 has quit [Quit: Leaving.]
esoto has quit [Quit: leaving]
jpeeters has quit [Ping timeout: 245 seconds]
jpeeters_ has joined #ocaml
jpeeters_ is now known as jpeeters
tlockney is now known as tlockney_away
rgrinberg has joined #ocaml
nikki93 has quit []
studybot has joined #ocaml
Eyyub has quit [Ping timeout: 258 seconds]
ousado_ has joined #ocaml
studybot has quit [Remote host closed the connection]
ousado has quit [Ping timeout: 276 seconds]
manizzle has joined #ocaml
ustunozgur has joined #ocaml
alpounet has joined #ocaml
jeregrine has joined #ocaml
ustunozgur has quit [Ping timeout: 240 seconds]
alpounet has quit [Ping timeout: 240 seconds]
boogie has joined #ocaml
Eyyub has joined #ocaml
boogie has quit [Read error: Connection reset by peer]
boogie has joined #ocaml
squiggnet_ has joined #ocaml
gustav__1 has joined #ocaml
rgrinberg1 has joined #ocaml
Shozan has joined #ocaml
diginux_ has joined #ocaml
alinab has joined #ocaml
ddosia has joined #ocaml
Eyyub has quit [Ping timeout: 252 seconds]
|jbrown| has joined #ocaml
dinosaure1 has joined #ocaml
jave_ has joined #ocaml
ddosia1 has quit [Ping timeout: 258 seconds]
shalicke has quit [Ping timeout: 258 seconds]
gustav___ has quit [Ping timeout: 258 seconds]
seliopou has quit [Ping timeout: 258 seconds]
squiggnet has quit [Ping timeout: 258 seconds]
manizzle has quit [Ping timeout: 258 seconds]
tlockney_away has quit [Ping timeout: 258 seconds]
metasyntax has quit [Ping timeout: 258 seconds]
diginux has quit [Ping timeout: 258 seconds]
cdidd_ has quit [Ping timeout: 258 seconds]
willb1 has quit [Ping timeout: 258 seconds]
jave has quit [Ping timeout: 258 seconds]
seliopou has joined #ocaml
thomasga has joined #ocaml
alinab_ has quit [Ping timeout: 258 seconds]
dinosaure has quit [Ping timeout: 258 seconds]
jbrown has quit [Ping timeout: 258 seconds]
penryu has quit [Ping timeout: 258 seconds]
baz_ has quit [Ping timeout: 258 seconds]
seliopou has quit [*.net *.split]
thomasga has quit [*.net *.split]
seliopou has joined #ocaml
thomasga has joined #ocaml
metasyntax has joined #ocaml
jeregrine has quit [Ping timeout: 276 seconds]
baz_ has joined #ocaml
manizzle has joined #ocaml
tlockney_away has joined #ocaml
tlockney_away is now known as tlockney
cdidd_ has joined #ocaml
shalicke has joined #ocaml
thomasga has quit [Ping timeout: 258 seconds]
snaky- has joined #ocaml
xenocons has joined #ocaml
willb1 has joined #ocaml
snaky has quit [Ping timeout: 252 seconds]
ohama has quit [Ping timeout: 252 seconds]
tnguyen has quit [Quit: tnguyen]
penryu has joined #ocaml
rgrinberg has quit [*.net *.split]
SHODAN has quit [*.net *.split]
racycle__ has joined #ocaml
ohama has joined #ocaml
ohama has quit [Max SendQ exceeded]
Averell has quit [*.net *.split]
zebr has quit [*.net *.split]
hbar has quit [*.net *.split]
ohama has joined #ocaml
NoNNaN has quit [Remote host closed the connection]
NoNNaN has joined #ocaml
Eyyub has joined #ocaml
BitPuffin has joined #ocaml
boogie has quit [Remote host closed the connection]
Averell has joined #ocaml
hbar has joined #ocaml
Averell has quit [Max SendQ exceeded]
Averell has joined #ocaml
studybot has joined #ocaml
yacks has joined #ocaml
studybot has quit [Remote host closed the connection]
racycle__ has quit [Quit: ZZZzzz…]
studybot has joined #ocaml
Averell has quit [Excess Flood]
Averell has joined #ocaml
Averell has quit [Excess Flood]
Eyyub has quit [Ping timeout: 265 seconds]
Averell has joined #ocaml
tlockney is now known as tlockney_away
zebr has joined #ocaml
studybot has quit [Remote host closed the connection]
boogie has joined #ocaml
boogie has quit [Remote host closed the connection]
boogie has joined #ocaml
studybot has joined #ocaml
studybot_ has joined #ocaml
studybot has quit [Ping timeout: 272 seconds]
jao has quit [Ping timeout: 252 seconds]
WraithM has quit [Ping timeout: 264 seconds]
studybot_ has quit [Remote host closed the connection]
thomasga has joined #ocaml
zebr has quit [*.net *.split]
Averell has quit [*.net *.split]
hbar has quit [*.net *.split]
thomasga has quit [Ping timeout: 252 seconds]
WraithM has joined #ocaml
studybot has joined #ocaml
rgrinberg1 has quit [Quit: Leaving.]
WraithM has quit [Ping timeout: 240 seconds]
rgrinberg has joined #ocaml
studybot has quit [Remote host closed the connection]
pyon has quit [Ping timeout: 240 seconds]
philtor has quit [Ping timeout: 240 seconds]
ustunozgur has joined #ocaml
ustunozgur has quit [Ping timeout: 252 seconds]
ggole has joined #ocaml
WraithM has joined #ocaml
ontologiae has joined #ocaml
probado has quit [Remote host closed the connection]
ontologiae has quit [Ping timeout: 265 seconds]
mcclurmc has quit [Ping timeout: 276 seconds]
studybot has joined #ocaml
eikke__ has joined #ocaml
eikke__ has quit [Ping timeout: 276 seconds]
pgomes has joined #ocaml
<pgomes> hello all!
pgomes has quit [Quit: Page closed]
NoNNaN has quit [Remote host closed the connection]
NoNNaN has joined #ocaml
boogie has quit [Remote host closed the connection]
boogie has joined #ocaml
Simn has joined #ocaml
clog has quit [Ping timeout: 245 seconds]
rgrinberg has quit [Quit: Leaving.]
remyzorg has joined #ocaml
eikke__ has joined #ocaml
boogie has quit [Remote host closed the connection]
remyzorg has quit [Ping timeout: 258 seconds]
ustunozgur has joined #ocaml
Kakadu has joined #ocaml
Averell has joined #ocaml
zebr has joined #ocaml
hbar has joined #ocaml
probado has joined #ocaml
thomasga has joined #ocaml
Averell has quit [Max SendQ exceeded]
Averell has joined #ocaml
thomasga has quit [Ping timeout: 240 seconds]
ontologiae has joined #ocaml
ontologiae has quit [Ping timeout: 252 seconds]
Nahra has quit [Remote host closed the connection]
Nahra has joined #ocaml
mcclurmc has joined #ocaml
manizzle has quit [Remote host closed the connection]
manizzle has joined #ocaml
thomasga has joined #ocaml
ninegrid has quit [Quit: leaving]
eizo has joined #ocaml
Thooms has joined #ocaml
alpounet has joined #ocaml
axiles has joined #ocaml
maattdd has joined #ocaml
clog has joined #ocaml
avsm has joined #ocaml
Rikkol has joined #ocaml
Rikkol has left #ocaml [#ocaml]
<jpdeplaix> gasche: https://github.com/ocaml/opam-repository/issues/2113 Maybe you can answer to this :)
probado has quit [Ping timeout: 252 seconds]
<adrien_oww> jpdeplaix: burn the people running without ocamlfind
<adrien_oww> problem solved
<whitequark> adrien_oww++
<gasche> it's very hard to make a decision on this
<gasche> people are unhappy either way
<adrien_oww> as far as I'm concerned, I'd revert for 4.02 and state that the separate ocamlbuild will depend on ocamlfind
kmicinski has quit [Ping timeout: 240 seconds]
<whitequark> it's not clear whether separate ocamlbuild will ever happen...
<adrien_oww> bootstrapping was the reason why ocamlbuild didn't depend on it; if it's moved outside of the compiler, this reason disappears
<jpdeplaix> I agree with adrien_oww
<whitequark> though that argument makes sense
<avsm> depending on ocamlfind out of the box from a core compiler package is just weird.
<adrien_oww> whitequark: being able to depend on ocamlfind is one more reason to move it outside ;-)
<gasche> we reverted from 4.01 already and applied it only on trunk
<gasche> the reasoning being that a full release cycle would give us time to see how the ecosystem adapts
<gasche> but for various reason that didn't work: we're finding out just now ("badly") when we don't have much time left
<gasche> adrien_oww's proposal makes sense
ontologiae has joined #ocaml
<gasche> another solution would be to have a phony ocamlbuild package that depends on ocamlfind
<gasche> (this would also put the packaging in place for a future splitting-out)
<gasche> have phony packages already been used in OPAM?
<whitequark> base-bigarray ?
<whitequark> camlp4? conf-whatever?
<gasche> then that seems a sensible solution
<avsm> they have, but not before an alternative is available. Won't put one in just in case
<avsm> It causes a mass of recompilation
<avsm> i put in camlp4 only after the blessed fork was available
<gasche> but if we do it for 4.02, it's compilation rather than recompilation
<avsm> the fake package goes in everywhere; that's sort of the point of it
<avsm> it's a dummy package in < 4.03, and a real one in 4.03
<avsm> see camlp4
<gasche> and you also change the dependency info of already-released OPAM packages?
<gasche> I think we could/should move the discussion on -use-ocamlfind to mantis/github, which place would be best?
<avsm> mantis
<gasche> avsm: when we had the -use-ocamlfind discussion last year
<gasche> my impression that you wanted to preserve a first-class status for an OCaml (sub-)ecosystem that would *not* use ocamlfind at all
<gasche> impression *was
<avsm> i dont think anything's changed much since that discussion. i think adrien's plan of making the split-out ocamlbuild depending on ocamlfind makes much more sense
<avsm> having a core compiler package depend on something external by default is just odd
<gasche> that (living without ocamlfind) is still a plan?
<avsm> for a bunch of embedded stuff, yes.
<adrien_oww> I know Jacques is reluctant to have to install ocamlfind to test stuff
<adrien_oww> the idea being that the less stuff to install, the easier it's to test lablgtk
<adrien_oww> but this really only works when you have at most one dependency
ggole has quit [Ping timeout: 240 seconds]
<gasche> I posted a comment on http://caml.inria.fr/mantis/view.php?id=5547
<gasche> I haven't yet developped my opinion on this
ontologiae has quit [Ping timeout: 265 seconds]
<gasche> I will do that, but only after lunch
<gasche> s/developped/posted/
ollehar has joined #ocaml
<whitequark> why is -use-ocamlfind switch ever needed?
<whitequark> detect ocamlfind, use it if it exists
dsheets has joined #ocaml
ggole has joined #ocaml
<avsm> it rewrites all the rules to prepend ocamlfind to the command line
<avsm> what I don't understand is why something based on a dynamic dataflow graph can't rewrite the rule discovery rather than need a command line flag
<whitequark> well, it *does* check for ocamlfind anyway
<whitequark> why not just autodetect it?
<avsm> you can't just run everything through ocamlfind if it's present. that would just slow down builds for people that don't use ocamlfind
<avsm> and really, you should only call ocamlfind *once*, not on every compiler call
<whitequark> is the usecase for no ocamlfind even important?
ontologiae has joined #ocaml
<avsm> yes, for large codebases
<avsm> or even small ones where you want decent compilation speed
<avsm> as I said: the repeated calls to ocamlfind are unnecessary. It should be probed at configure time
Nuki has joined #ocaml
ollehar1 has joined #ocaml
spip has joined #ocaml
spip has quit [Quit: Konversation terminated!]
Thooms has quit [Quit: WeeChat 0.3.8]
avsm has quit [Quit: Leaving.]
ustunozgur has quit [Remote host closed the connection]
<jpdeplaix> whitequark: for instance, if you have a tag in an ocamlbuild plugin which adds some options, let's say -ppx for example, it breaks the build if you use ocamlfind
<jpdeplaix> because without ocamlfind the resulting command would looks like: ocamlc … -ppx thing …
<whitequark> but ocamlfind passes unknown options to ocamlc directly
<jpdeplaix> oh yes, I just saw that :D
<jpdeplaix> nevermind then
ontologiae has quit [Ping timeout: 276 seconds]
thomasga has quit [Quit: Leaving.]
Averell is now known as Averell
Hannibal_Smith has joined #ocaml
_andre has joined #ocaml
pyon has joined #ocaml
thomasga has joined #ocaml
rand000 has joined #ocaml
tobiasBora has joined #ocaml
<tobiasBora> Hello,
<Kakadu> salut
<tobiasBora> Kakadu: Tu parles français maintenant ? :-P
<Kakadu> Everybody know some french words
avsm has joined #ocaml
<tobiasBora> I need to perform some operations on files (copy all files in an other folder...) and the library Unix seems to be the one to use.
* tobiasBora is checking something
ustunozgur has joined #ocaml
<tobiasBora> Hovewer it's only a little script which must be run during a compilation (with PostInstallCommand: ocaml myfile.ml in Oasis) and I would like to know what is the best way to be sure there won't be any linking problem with the unix library
<adrien_oww> prefork ocamlfind, pipe build commands to it and let if fork the compiler as wanted :P
<tobiasBora> adrien_oww: Is it a message for me ? What is a prefork ?
<adrien_oww> no, not for you
<adrien_oww> prefork is when you spawn a process which main use will be to then create other process; on linux it lets you save time and memory
ddosia has quit [Ping timeout: 252 seconds]
<tobiasBora> Uhm ok thank you. But why does it save memory ? Time I can understand because the prefork works in parallele from the main program but memory ?
<whitequark> well, if you run 1 process instead of 4 processes in parallel, there's some saving
<whitequark> but it's at best marginal and doesn't really matter
avsm has quit [Quit: Leaving.]
_andre has quit [Ping timeout: 252 seconds]
<adrien_oww> it's mostly that they share part of their parent's memory
<adrien_oww> most useful when the prefork binary and the ones that it will run are the same
<tobiasBora> But the prefork will create others process no ? So at the end the number of process will be the same no ? (maybe the prefork version will even have one more process which is the prefork process)
_andre has joined #ocaml
<whitequark> adrien_oww: independent processes will still share some memory, if less
<whitequark> and I'm not sure that given a copying garbage collector, the benefit from sharing is either significant or long
<adrien_oww> true, it depends
<adrien_oww> there are other reasons to do that though
<adrien_oww> say your process will grow to 1GB memory
<adrien_oww> if you fork when it's that large, the new process will be the same size and that can make the fork fail actually
ggole has quit [Ping timeout: 240 seconds]
<whitequark> it depends on the overcommit setting
<adrien_oww> so you'd prepare a separate process early on and use it to handle your forks
<adrien_oww> (and knives)
<tobiasBora> Oh... You mean that a fork copy it's parent... I though that a fork was just the creation of a new (empty) process
ddosia has joined #ocaml
<whitequark> no such thing as an empty process in unix
WraithM has quit [Ping timeout: 265 seconds]
<tobiasBora> Hum ok... Well thank you !
<tobiasBora> Is #load "unix.cma" (with this extension) is always available or is it better to use #use "topfind";; #require "Unix" ?
<whitequark> the former doesn't require findlib, otherwise they're equivalent
<tobiasBora> Ok thank you. So the best way to run an ocaml script (I don't want to compile it) is to use something like "ocaml unix.cma test.ml " ?
<whitequark> sounds fine
<Drup> (why don't you want to compile it ?!)
<tobiasBora> Ok thank you
<flux> there is 'ocamlscript' that is for running "script" like ocaml programs
<whitequark> flux: it's not really the case for ocamlscript.
<flux> with ocamlscript you can embed the list of required module inside the file
<flux> whitequark, why not?
<whitequark> flux: because it's a one-time job and making it simpler > making it marginally faster
<tobiasBora> Drup: I don't want to compile it because it's an init program that I need to use in Oasis whose goal is to copy some files in the Data folder
Thooms has joined #ocaml
<flux> whitequark, you mean compiling is better or what?
<whitequark> flux: I mean running it with "ocaml" is just fine
<Drup> tobiasBora: just do a shell script for that :D
<flux> whitequark, ah yes, that's true, but you need to know beforehand the foo.ml requires unix.cma then
ggole has joined #ocaml
<whitequark> well you probably know it already if you wrote it..
<tobiasBora> Drup: Problem with shell script is that it's quite OS dependent.
<Drup> not really
<tobiasBora> Drup: But it's quite complicated to do it in Ocaml, so I may through windows by the windows for the moment ^^
<whitequark> did cp start working on windows?
<flux> whitequark, well, I write perl scripts and I don't remember what modules they might use.
<whitequark> tobiasBora: you could depend on fileutils
<whitequark> so... #use "topfind";; #require "fileutils";; FileUtils.cp ~recursive:true src dest
<whitequark> I would do it like that
<adrien_oww> flux: that's because perl has damaged your brain
<whitequark> lol
<tobiasBora> flux: ocamlscript auto detect modules ? That's nice ^^ (but it may be complicated some times when a same module name has two libraries attached no ?)
<flux> tobiasbora, it doesn't, but the information is embedded inside the file
<tobiasBora> flux: With code like #use... ?
<flux> perhaps, I don't remember, it's been a long time since I've used it
<tobiasBora> whitequark: I don't know this library, is it installed by default ?
ontologiae has joined #ocaml
<tobiasBora> It doesn't seems to be
<whitequark> tobiasBora: it's not
<whitequark> opam install fileutils
<tobiasBora> That's a pretty amazing library O_o
thomasga has quit [Quit: Leaving.]
<adrien_oww> does a lot of nice things
<adrien_oww> (which annoyingly enough are often what is needed in ocamlbuild)
<tobiasBora> And why doesn't ocamlbuild use it ?
<whitequark> it's a part of the compiler and can't depend on external stuff
<tobiasBora> Oh... And it's not possible to write it in ocamlbuild (like this it's not external anymore ^^) ?
<whitequark> bad style
<whitequark> ugh. ounit2 is really horrible.
<flux> ocamlbuild, hmm, it's going to be detached from the compiler isn't it?
<whitequark> the output is completely unusable, the useful data is dwarfed by useless junk it prints
<whitequark> also it writes even more useless "logs" for some crappy reason, and those logs are all over strace
<flux> but I suppose it'd be slightly troublesome if fileutils uses ocamlbuild to build :)
<whitequark> also it tries to execute tests in parallel by forking and that breaks lwt
<whitequark> also -only-test can't match using glob
<whitequark> to summarize, it does a lot of things no one needs and doesn't do any of the things everyone needs
Kakadu has quit [Ping timeout: 240 seconds]
<whitequark> why does a test runner have 26 (twenty six) command line options, is beyond me
<whitequark> -log-encoding str Encoding of the log. (default: utf-8)
<whitequark> wtf
<whitequark> it's a case study on antipatterns
<whitequark> I should burn it down someday
<tobiasBora> flux: Maybe yes ^^ But I see only two dependencies : unix and sys, it should be easy to avoid using ocamlbuild ^^
kaustuv has joined #ocaml
<tobiasBora> (And yes it would be just great to add this library by default...)
<kaustuv> Who/what is "reseau-loops"?
Simn has quit [Ping timeout: 265 seconds]
<gasche> kaustuv: Maxence guesdon
<kaustuv> Ah.
<kaustuv> By the way, have you or Benoit compared the performance of the new Format vs. the old one?
<gasche> kaustuv: Jonathan is writing the "Related Works" of his thesis and asked me about linear focusing with first-order quantifiers
<gasche> (yes)
<gasche> do you have a canonical recommendation?
Simn has joined #ocaml
<gasche> also, I would be interested in a link to some work that does after-the-fact instantiation of metavariables, I remember I discussed this with Dale
<kaustuv> How soon does he need it? The first chapter of my HDR gives a tutorial for focusing for lots of logics, first-order linear logic included
<gasche> (Jonathan uses that, of course, but he only thought of mentioning that as an implementation detail against a "find the witness first" specification)
<kaustuv> But I would say that it is "not hard". Maybe Frank Pfenning has notes on this in his linear logic course?
<kaustuv> (checking)
studybot has quit [Remote host closed the connection]
<gasche> I think he may need both clear explanations for himself, and source-y references for credit-giving citations
<gasche> (re. formats: there is no overhead with Printf whatsoever anymore, and there is a much-smaller-than-before overhead with Format; didn't check Scanf)
<whitequark> overhead?
<gasche> (at some point Alain Frisch moved the -annot code from Printf to non-formats to gain performances, I checked that reverting this commit didn't change anything anymore)
<gasche> whitequark: Printf used to be slower than calling the print_* functions directly in some scenarios
<kaustuv> gasche: in terms of giving credit, I think the earliest published account of focusing for first-order linear logic is probably Jakob Howe's Ph.D. thesis.
<kaustuv> But it is very hard to find and I left my own copy of it back in the States
BitPuffin has quit [Ping timeout: 276 seconds]
<kaustuv> I would of course recommend chapter 6 of my own Ph.D. thesis as a general reference, but I don't claim that I came up with the system there.
SethTisue has joined #ocaml
<gasche> the "inverse method" aspect won't be relevant, but I'll have a look
<gasche> I will also look for work on kripke indices / labelled calculi to validate instantiations a posteriori
<kaustuv> Yeah, I don't know much about metavariable instantiations, sorry. You might try reading some papers of Konstantin Korovin (author of iprover)
<eikke__> is there any reason why line 11 in https://gist.github.com/NicolasT/6492085b2939cc07917a is not allowed?!
<Drup> what is the error ?
<flux> dunno, looks like a bug to me..
<eikke__> Only type constructors with identical parameters can be substituted
<flux> Error: Only type constructors with identical parameters can be substituted.
<whitequark> ah, another victim of this quirk
<flux> works fine if you have type intlist = int list and use that
maattdd has quit [Ping timeout: 252 seconds]
syntropy has joined #ocaml
remyzorg has joined #ocaml
darkf has quit [Quit: Leaving]
thomasga has joined #ocaml
Kakadu has joined #ocaml
<hcarty> whitequark: I may have something of a fix for the lwt-zmq build errors in opam's Travis. In short, my hope is that using a PPA to install zeromq rather than building it from source will fix the linking issues.
ikaros has joined #ocaml
<eikke__> flux: that's... rather stupid, but ok, thanks ;)
<eikke__> I mean, strange it's required to work around that way
<Drup> whitequark: for the fonction request in llvm api, do you want something formal in order not to forget it ?
ontologiae has quit [Ping timeout: 252 seconds]
vbmithr has joined #ocaml
Thooms has quit [Ping timeout: 264 seconds]
<whitequark> hcarty: sounds ok
<whitequark> Drup: a pull request? :]
<Drup> a bug report, you mean ? Or do you want me to try to find my way in the C interface ? x)
<whitequark> well, your feature will find its way into upstream *way* faster if it's a patch
<whitequark> I mean, I can at least review it within hours rather than weeks, as it used to happen on llvm-review
<whitequark> llvm-commits*
<whitequark> what was it, remind me?
<Drup> float_of_const and fcmp_predicate
<whitequark> that should be fairly straightforward, especially the latter
<whitequark> I believe in you :)
<whitequark> look at int_of_const and icmp_predicate respectively, it'll be an almost verbatim copy
<Drup> I suppose
<Drup> (you don't realize what my C skills are, I think)
<flux> I was thinking how did the conversation turn to networking..
<whitequark> Drup: what are they?
<Drup> whitequark: absent.
<whitequark> well
* whitequark sighs
<Drup> whitequark: will look at it later ;)
<whitequark> it's not the trivial patch itself that I dislike, it's the context switch
<whitequark> costly.
<Drup> oh, right, indeed
<jpdeplaix> whitequark: oh by the way, my commits has not been reviewed yet :/
<whitequark> jpdeplaix: I know
* whitequark poked chapuni just now
maattdd has joined #ocaml
thomasga has quit [Quit: Leaving.]
shinnya has joined #ocaml
tnguyen1 has joined #ocaml
arj has joined #ocaml
pyon has left #ocaml ["ERC Version 5.3 (IRC client for Emacs)"]
ollehar has quit [Ping timeout: 240 seconds]
studybot has joined #ocaml
thomasga has joined #ocaml
jeregrine has joined #ocaml
thomasga has quit [Ping timeout: 264 seconds]
demonimin has quit [Ping timeout: 240 seconds]
demonimin has joined #ocaml
<gasche> whitequark: I just added blit_string and extend to https://github.com/gasche/bytes-compat
<gasche> so it should be "in synch with 4.02" again
Hannibal_Smith has quit [Quit: Sto andando via]
demonimin has quit [Read error: Connection reset by peer]
<whitequark> gasche: great!
kmicinski has joined #ocaml
ollehar has joined #ocaml
<gasche> for the record, I did an implementation of 'extend' completely independent from the upstream (because I thought it would be fun)
<gasche> and then I looked at the upstream implem, which I hadn't read, and hand-proven that they were equivalent (which is not obvious)
olauzon has joined #ocaml
<whitequark> um
<whitequark> I think I accidentally made a time machine
<whitequark> because otherwise there is no way to explain the behavior I am seeing
<whitequark> basically: assert ((Lwt_unix.state fd) = Lwt_unix.Opened);() works
<whitequark> assert ((Lwt_unix.state fd) = Lwt_unix.Opened);Lwt.ignore_result (Lwt_unix.close fd) crashes
<whitequark> it crashes *with Assert_failed*
<whitequark> the rest of the code is absolutely identical
demonimin has joined #ocaml
<whitequark> oh, it's my ppx_lwt, it's crap
<gasche> the more code you write, the more bugs are yours
tane has joined #ocaml
<adrien_oww> :D
shinnya has quit [Ping timeout: 240 seconds]
lopex has quit [Quit: Connection closed for inactivity]
ygrek has joined #ocaml
Cypi_ is now known as Cypi
ustunozgur has quit [Remote host closed the connection]
__|--|__ has joined #ocaml
__|--|__ has quit [Client Quit]
kaustuv has left #ocaml ["ERC Version 5.3 (IRC client for Emacs)"]
kmicinski has quit [Ping timeout: 240 seconds]
tlockney_away is now known as tlockney
<whitequark> I've a ton of functions which look like this: https://gist.github.com/whitequark/fbd246a89973209d1ff0
jeregrine has quit [Ping timeout: 240 seconds]
BitPuffin has joined #ocaml
<whitequark> is there any way to make it | err -> handle_error err ?
<Drup> type err = [`Not_found | `Unavailable | `Malformed | `Not_supported | `Not_empty]
<Drup> #err as err -> handle_error err
<Drup> (if I got the issue correctly)
philtor has joined #ocaml
<jpdeplaix> whitequark: I'm curious, what is (>:=) ?
<Drup> (from now on, in my mind, it's the angry whitequark face)
tnguyen1 has quit [Quit: tnguyen1]
<flux> jpdeplaix, probably his own operator
<flux> well, I mean the only other possibility would be a camlp4 language extension
tnguyen1 has joined #ocaml
<flux> some kind of custom monad-like bind operator :)
jeregrine has joined #ocaml
<jpdeplaix> flux: Yes of course it is. But I'd like to know the use case of this
divyanshu has joined #ocaml
divyanshu has quit [Client Quit]
tane has quit [Quit: Verlassend]
boogie has joined #ocaml
<whitequark> Drup: the issue is that handle_error doesn't accept `Ok
<Drup> whitequark: hence the #err ;)
<whitequark> so I've to manually subtype the variant
<whitequark> hm
<whitequark> well, it wouldn't really work, because handle_error is kind of a kitchen sink
<whitequark> e.g. some of the matches only will ever see `Not_found | `Unavailable
<Drup> #[< err] may work
<Drup> not sure
<whitequark> hmm
<whitequark> it's a monadic bind for my error_or, essentially
Hannibal_Smith has joined #ocaml
<whitequark> I know that it looks like an angry face and I like it.
<flux> whitequark, so I take it would matching 'other' be a bad thing?
<flux> -would
<Drup> typeclasses something monad something bind something
<whitequark> flux: in what context?
<flux> whitequark, just match .. | other -> handle_error other
<whitequark> flux: it doesn't work
<whitequark> handle_error is basically match err with `Not_found -> ... | `Unavailable -> ...
<whitequark> and it can't handle `Ok case, but it's present in the type
<jpdeplaix> whitequark: ok, I see
<flux> hmm, I had actually thought the type would get subtracted the cases that have been handled
<whitequark> flux: same
<whitequark> but it is not
<flux> maybe in 4.03 ;-)
ygrek has quit [Ping timeout: 245 seconds]
<flux> but sadly it might be a breaking change..
companion_square is now known as companion_cube
<Drup> it's ... complicated
<Drup> flux: you're asking for row polymorphism without knowing it
<Drup> companion_cube: I don't find the tweet you send to jacque garrigue about that
pminten has joined #ocaml
eizo has quit [Ping timeout: 240 seconds]
racycle has joined #ocaml
remyzorg has quit [Ping timeout: 252 seconds]
divyanshu has joined #ocaml
kmicinski has joined #ocaml
syntropy has quit [Quit: Page closed]
maattdd has quit [Ping timeout: 252 seconds]
<nicoo> Drup: +s
kmicinski has quit [Ping timeout: 252 seconds]
ustunozgur has joined #ocaml
eikke__ has quit [Ping timeout: 276 seconds]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
<philtor> whitequark: remember a week or two ago I was trying to get the ocaml 4.02 REPL going so I could try ppx and it would just hang? You mentioned that you might know who broke it. Do you know if it's fixed now?
boogie has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
maattdd has joined #ocaml
boogie has joined #ocaml
WraithM has joined #ocaml
jwatzman|work has joined #ocaml
boogie has quit [Remote host closed the connection]
<whitequark> philtor: hrm, I think I reinstalled it since and it just worked
<whitequark> can you try on 4.02+trunk?
BitPuffin has quit [Ping timeout: 265 seconds]
ollehar1 has quit [Ping timeout: 240 seconds]
ustunozgur has quit [Remote host closed the connection]
ustunozgur has joined #ocaml
ollehar has quit [Ping timeout: 240 seconds]
BitPuffin has joined #ocaml
ustunozg_ has joined #ocaml
<Kakadu> What is right way to fix Warning 3: deprecated feature: StdLabels.String.set ?
<Kakadu> in 4.02
<whitequark> StdLabels.Bytes.set
<whitequark> I wonder if gasche's compat package has that
boogie has joined #ocaml
ustunozgur has quit [Ping timeout: 276 seconds]
boogie has quit [Remote host closed the connection]
boogie has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
ustunozg_ has quit [Remote host closed the connection]
<ggole> StdLabels is the obsolete bit afaik
<ggole> Replace it with StringLabels.set
kmicinski has joined #ocaml
jeregrine has quit [Ping timeout: 240 seconds]
ustunozgur has joined #ocaml
kmicinski has quit [Ping timeout: 252 seconds]
q66 has joined #ocaml
tobiasBora has quit [Ping timeout: 265 seconds]
Submarine has joined #ocaml
Submarine has joined #ocaml
Submarine has quit [Changing host]
pminten has quit [Remote host closed the connection]
jeregrine has joined #ocaml
malo has joined #ocaml
maattdd has quit [Ping timeout: 240 seconds]
manizzle has quit [Ping timeout: 252 seconds]
<whitequark> whoa, ppx_tools broke
<whitequark> and I thought 4.02 was in feature freeze!
<Drup> whitequark: what is returned if I ask "classify_type @@ type_of v" with v a basic block ?
<whitequark> um, try it?
<Drup> I was afraid you were going to say that x)
<whitequark> Label
<Drup> oh, ok
<Drup> is there a way to get the label "name" from a basic block ? "value_name" returns an empty string
<whitequark> then there's no name
<Drup> I'm talking about the %n
<whitequark> if you see it with a number, like 10:, then there's still no name
<whitequark> the IR writer basically increments the number each time it encounters a new value
<whitequark> try, say, swapping %2 and %3 in IR and feeding it to LLVM
<whitequark> it will complain
<whitequark> I mean, swapping %2 and %3 on lhs
<Drup> that still doesn't tell me how to retrieve the number :p
maattdd has joined #ocaml
<whitequark> no way
<whitequark> it's not stored anywhere
<whitequark> you can do the same thing as the IR writer does, and linearly traverse the function
<Drup> huum
<whitequark> what do you need it for?
<whitequark> oh, you can also do string_of_value or something like that, I believe I patched it in
<whitequark> if you just want to display the value for debug
<Drup> let me try that
kmicinski has joined #ocaml
<whitequark> wtf, did Alain even test his code? this can't work at all
* whitequark is puzzled
<whitequark> [this#list List.map fun x -> let (x0,x1) = x in
<whitequark> I sense missing parentheses
<whitequark> this#list List.map fun x -> let (x0,x1) = x in
<whitequark> errr
<whitequark> Error: Syntax error: operator expected.
<whitequark> at "fun"
<Drup> (what is the # ?)
<whitequark> OO
<whitequark> seems to be a bug in Pprintast
<whitequark> ok, I'm not going to tackle it
<rks_> :D
boogie has quit [Remote host closed the connection]
tane has joined #ocaml
ustunozg_ has joined #ocaml
<whitequark> gah, and it can't be fixed by rolling back ppx_tools
<whitequark> fuck it all, I'm going to tidy up my room instead
ustunozg_ has quit [Remote host closed the connection]
ustunozg_ has joined #ocaml
ustunozgur has quit [Ping timeout: 240 seconds]
Kakadu has quit [Ping timeout: 240 seconds]
boogie has joined #ocaml
boogie has quit [Remote host closed the connection]
metasyntax has quit [Quit: Leaving]
philtor has quit [Ping timeout: 264 seconds]
tobiasBora has joined #ocaml
jeregrine has quit [Ping timeout: 240 seconds]
tobiasBora has quit [Client Quit]
tobiasBora has joined #ocaml
ousado_ is now known as ousado
ousado has quit [Changing host]
ousado has joined #ocaml
maattdd has quit [Ping timeout: 245 seconds]
labichn has joined #ocaml
dsheets has quit [Ping timeout: 264 seconds]
ustunozg_ has quit [Read error: Connection reset by peer]
ustunozgur has joined #ocaml
ustunozgur has quit [Remote host closed the connection]
<labichn> Hello! Does anyone happen to know if there is supposed to be a difference between using the -pp flag as a part of ocamlc, rather than using the same preprocessor first and compiling the output?
<labichn> ocamlc -pp camlp4o test.ml
<labichn> vs
<labichn> camlp4o test.ml > pp_test.ml; ocamlc pp_test.ml
<Drup> it's the same
<labichn> So if I've found a compilation error when doing the first rather than the second, I should submit a bug?
<Drup> what is the bug/compilation error ?
kmicinski has quit [Ping timeout: 240 seconds]
ustunozg_ has joined #ocaml
<labichn> Error: This pattern matches values of type [< `Num of 'a ] but a pattern was expected which matches values of type expr The first variant type does not allow tag(s) ` True
<labichn> There seems to be a space inserted between "`" and "True"
<labichn> but only using the -pp flag
<Drup> ahaha
<Drup> you're using ocaml 3.12
<Drup> it's solved in next versions.
<labichn> This was from compiling the 4.02 tag in the git repo
<Drup> camlp4 is not provided in ocaml 4.02
<Drup> which camlp4 did you use ?
<labichn> Let me double-check
<Drup> (the laughing was because I had to debug the exact same issue very recently)
<Drup> (and it was showing up only with camlp4 3.12)
ustunozg_ has quit [Remote host closed the connection]
<labichn> Gotcha. I've just recompiled master, is there a reason the camlp4o that is sitting in the local build dir (using prefix) would point to the camlp4 in /usr/local?
<labichn> I'm still running into the same issue with master
<Drup> I don't know you're install, so no idea
<Drup> your*
<labichn> Fair enough
<Drup> what are you trying to do, btw ?
<Drup> because it sounds like you would benefit greatly from using opam switchs
<labichn> Just compiling some of the code from Garrigue's APLAS '06 private row paper
<Drup> why are you trying to use 4.02 for that ? :D
<Drup> seems a bit bleeding edgy if it's just for code in a research paper :p
<labichn> I was hoping it was a 3.12.1 issue
<Drup> well, it is
Kakadu has joined #ocaml
<Drup> but don't use 4.02, it's still in beta, and so on
boogie has joined #ocaml
<labichn> Gotcha, is 4.01.0 the latest stable?
<Drup> yes
<labichn> I'll see if I can replicate with that
WraithM has quit [Ping timeout: 240 seconds]
Hannibal_Smith has quit [Ping timeout: 265 seconds]
maattdd has joined #ocaml
ustunozgur has joined #ocaml
ustunozgur has quit [Remote host closed the connection]
ustunozgur has joined #ocaml
boogie has quit [Remote host closed the connection]
maattdd has quit [Ping timeout: 265 seconds]
boogie has joined #ocaml
<labichn> Hmm, I'm running into the very same issue with 4.01.0
<labichn> But separate pp and c work just fine
<labichn> Though the space is no longer present in the error message
Hannibal_Smith has joined #ocaml
<Drup> pastebin for all of it ?
<Drup> (with appropriate "which" invocation for all the participants)
ustunozgur has quit [Remote host closed the connection]
<labichn> I used fully qualified paths into the git repo for ocamlc and camlp4o
<labichn> It's interesting, the issue only pops up with constructors that take no arguments
dsheets has joined #ocaml
<Drup> ok, I can reproduce, so there is indeed an issue
<labichn> :) glad I'm not making a silly mistake
<smondet> labichn: why are you using camlp4 at all?
<labichn> This is a cut down example
<labichn> My larger code base uses the pp fairly heavily
<Drup> actually
<smondet> ok
<Drup> the issue still show up with "camlp4o foo.ml > foobar.ml && ocamlc foobar.ml"
<Drup> (there is still a bug in camlp4)
<labichn> Gotcha. I'm still new to the ocaml world, should I try to submit a bug report, send an e-mail in one of the user lists, or are you one of the devs?
<Drup> submit a bug report
<labichn> Cool. Thanks for confirming the issue, Drup
<Drup> (not sure where you should send the bug report though, since camlp4 has split)
<Drup> (ocaml mantis should be safe)
<labichn> Gotcha. I'll submit one there, if they bounce it I'll try somewhere else
<Drup> (and in general, I advise you to use opam for multiple compiler experiments :p)
<labichn> Will do, I haven't explored the toolset much, I figured I should start at the bottom so I didn't hurt myself too badly. Little did I know ...
<Drup> the toolset is the more important to get started :)
jeregrine has joined #ocaml
jwatzman|work has joined #ocaml
divyanshu has quit [Quit: Textual IRC Client: www.textualapp.com]
syntropy has joined #ocaml
syntropy has quit [Client Quit]
ustunozgur has joined #ocaml
ikaros has quit [Quit: Ex-Chat]
jwatzman|work has quit [Quit: jwatzman|work]
boogie has quit [Remote host closed the connection]
ollehar has joined #ocaml
kmicinski has joined #ocaml
<labichn> My work is done for the day, haha
yacks has quit [Ping timeout: 252 seconds]
avsm has joined #ocaml
jwatzman|work has joined #ocaml
WraithM has joined #ocaml
WraithM has quit [Client Quit]
maattdd has joined #ocaml
Igrsrolqak has joined #ocaml
WraithM has joined #ocaml
maattdd has quit [Ping timeout: 276 seconds]
Igrsrolqak has left #ocaml [#ocaml]
tobiasBora has quit [Quit: Konversation terminated!]
tobiasBora_ has joined #ocaml
labichn has quit [Quit: Page closed]
ustunozg_ has joined #ocaml
Submarine has quit [Remote host closed the connection]
tobiasBora_ has quit [Ping timeout: 265 seconds]
ustunozgur has quit [Ping timeout: 240 seconds]
boogie has joined #ocaml
tlockney is now known as tlockney_away
tane has quit [Quit: Verlassend]
eikke__ has joined #ocaml
ustunozg_ has quit [Remote host closed the connection]
huf31 has joined #ocaml
maattdd has joined #ocaml
probado has joined #ocaml
philtor has joined #ocaml
huf31 has quit [Quit: Quitte]
boogie has quit [Remote host closed the connection]
manizzle has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
boogie has joined #ocaml
jeregrine has quit [Ping timeout: 240 seconds]
boogie has quit [Remote host closed the connection]
_andre has quit [Quit: leaving]
boogie has joined #ocaml
ggole has quit [Ping timeout: 252 seconds]
maattdd has quit [Ping timeout: 258 seconds]
avsm has quit [Quit: Leaving.]
jeregrine has joined #ocaml
rgrinberg has joined #ocaml
alpounet has quit []
avsm has joined #ocaml
ustunozgur has joined #ocaml
tlockney_away is now known as tlockney
ollehar has quit [Ping timeout: 240 seconds]
ollehar has joined #ocaml
<companion_cube> gasche: were your slides in markdown? or in some evil emacs format (orgmode)?
Simn has quit [Quit: Leaving]
ustunozgur has quit [Remote host closed the connection]
<rks_> companion_cube: last time he used pandoc.
ustunozgur has joined #ocaml
maattdd has joined #ocaml
philtor has quit [Remote host closed the connection]
maattdd has quit [Ping timeout: 252 seconds]
boogie has quit [Remote host closed the connection]
NoNNaN has quit [Ping timeout: 272 seconds]
NoNNaN has joined #ocaml
shinnya has joined #ocaml
probado has quit [Remote host closed the connection]
SethTisue has quit [Quit: SethTisue]
<adrien> companion_cube: btw, I'm disappointed: chrome and html5, bad, bad
<adrien> ergh
<adrien> gasche: ^
<adrien> gasche: and btw, I'm making my best to make yypkg small; currently it is 570KB for Windows
<adrien> (upx is love)
olauzon has quit [Quit: olauzon]
dblhelix has joined #ocaml
<dblhelix> can someone shed some light on why this travis build failed? https://travis-ci.org/ocaml/ocaml/builds/25821746 The reported issue seems completely unrelated to the patch.
maattdd has joined #ocaml
Hannibal_Smith has quit [Quit: Sto andando via]
maattdd has quit [Ping timeout: 265 seconds]
<adrien> (not loading here, might be because of the amount of js I disable)
ollehar1 has joined #ocaml
shalicke has quit [Ping timeout: 258 seconds]
shalicke has joined #ocaml
jao has quit [Ping timeout: 252 seconds]
boogie has joined #ocaml
axiles has quit [Remote host closed the connection]
boogie has quit [Remote host closed the connection]
BiDOrD_ has quit [Ping timeout: 264 seconds]
jeregrine has quit [Ping timeout: 240 seconds]
BiDOrD has joined #ocaml
maattdd has joined #ocaml
dblhelix has quit [Quit: dblhelix]
boogie has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
boogie has quit [Ping timeout: 240 seconds]
probado has joined #ocaml
jeregrine has joined #ocaml
Kakadu has quit [Quit: Konversation terminated!]
<Drup> gasche: http://arxiv.org/pdf/1301.2903v1.pdf just read this, very helpful for trying to unfuck my gadt + subtyping interface for z3, thanks.
<Drup> (my conclusion was "just get rid of gadt, though)
boogie has joined #ocaml
boogie has quit [Remote host closed the connection]
boogie has joined #ocaml
lopex has joined #ocaml
ollehar1 has quit [Ping timeout: 240 seconds]
jeregrine has quit [Ping timeout: 252 seconds]
ollehar has quit [Quit: ollehar]
jeregrine has joined #ocaml
dsheets has quit [Ping timeout: 240 seconds]
eikke__ has quit [Ping timeout: 252 seconds]
eikke__ has joined #ocaml
boogie has quit [Remote host closed the connection]
probado has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
<nicoo> Drup, gasche : Now, I will read that instead of sleeping :o
eikke__ has quit [Ping timeout: 265 seconds]
jeregrine has quit [Ping timeout: 240 seconds]
eikke__ has joined #ocaml
darkf has joined #ocaml
madroach has quit [Ping timeout: 252 seconds]
madroach has joined #ocaml
ollehar has joined #ocaml
NoNNaN has quit [Remote host closed the connection]
NoNNaN has joined #ocaml
ustunozgur has quit [Remote host closed the connection]
jeregrine has joined #ocaml
avsm has quit [Quit: Leaving.]
maattdd has quit [Ping timeout: 264 seconds]