<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
<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__>
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)"]
<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
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>
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 :)