<whitequark>
I looked at it and it made me thoroughly sad
<Drup>
what's wrong with it ?
<Drup>
(I saw it too, but didn't look at it in detail)
<whitequark>
we can start at how it reimplements __POS_OF__ and __MODULE__, except it pulls the types from compiler-libs
<whitequark>
or how it tries to mimic the camlp4 extension in a very naive way
eikke has quit [Ping timeout: 245 seconds]
<whitequark>
or how it requires the buildsystem to pass the module name as a ppx argument (!)
<Drup>
:x
<whitequark>
I also looked inside
<whitequark>
it reimplements Longident.parse
<whitequark>
along with a few other things
<whitequark>
it goes without mentioning that there are combinators ~everywhere~ and it uses OMake, so, uh
<Drup>
:/
<Drup>
who did it ?
<whitequark>
camlspotter :D
<Drup>
Oh.
tnguyen has joined #ocaml
FatDarrel has quit [Ping timeout: 245 seconds]
gabemc has joined #ocaml
araujo has quit [Ping timeout: 260 seconds]
araujo has joined #ocaml
tnguyen has quit [Ping timeout: 260 seconds]
tnguyen has joined #ocaml
q66 has quit [Quit: Leaving]
taion809 has joined #ocaml
cesar has joined #ocaml
cesar is now known as Guest2727
<gabemc>
I'm going through the Kaleidoscope tutorial for the LLVM backend here http://llvm.org/docs/tutorial/OCamlLangImpl4.html and, after solving several other other API problems, I'm getting a very strange linker error that I don't know enough about to fix. Here's the output of the build I'm getting: http://pastebin.com/4KvymrNz . Does anybody have any ideas?
<whitequark>
gabemc: oh, you're not the first one with this error
tnguyen has quit [Ping timeout: 260 seconds]
<gabemc>
whitequark: It's nice to not be alone :)
<whitequark>
hrm. so. it's a mismatch between your LLVM version and bindings version. MergeLoadStoreMotionPass was committed in r213396, it's very recent
<whitequark>
what LLVM and bindings version do you have?
<whitequark>
well, the bindings you use are from opam, so I'll need that info too
<whitequark>
opam list llvm
<gabemc>
llvm 3.5 The official LLVM binding
huza has joined #ocaml
huza has quit [Client Quit]
huza has joined #ocaml
<whitequark>
yes, your libllvm3.5 is an outdated nightly build
<whitequark>
update it to the released 3.5.0
<gabemc>
Wow, I'm on the latest Ubuntu 14.04. That's unfortunate. I'll take it from here! Thanks so much!
tnguyen has joined #ocaml
ygrek has joined #ocaml
<whitequark>
llvm.org/apt
tnguyen has quit [Ping timeout: 272 seconds]
ontologiae has quit [Ping timeout: 250 seconds]
tnguyen has joined #ocaml
huza has quit [Ping timeout: 240 seconds]
huza has joined #ocaml
rwmjones has quit [Read error: Network is unreachable]
rwmjones has joined #ocaml
shinnya has quit [Ping timeout: 250 seconds]
gabemc has quit [Quit: Leaving.]
gabemc has joined #ocaml
tnguyen has quit [Ping timeout: 272 seconds]
huza has quit [Quit: WeeChat 0.3.8]
tnguyen has joined #ocaml
huza has joined #ocaml
gabemc has quit [Ping timeout: 258 seconds]
rossberg__ has quit [Ping timeout: 260 seconds]
huza has quit [Quit: WeeChat 0.3.8]
huza has joined #ocaml
rossberg__ has joined #ocaml
cesar has joined #ocaml
cesar is now known as Guest40785
bytbox has quit [Remote host closed the connection]
gabemc has joined #ocaml
tnguyen has quit [Ping timeout: 260 seconds]
tnguyen has joined #ocaml
iorivur has quit [Ping timeout: 244 seconds]
huza has quit [Quit: WeeChat 0.3.8]
taion809 has quit [Remote host closed the connection]
iorivur has joined #ocaml
iorivur_ has joined #ocaml
iorivur has quit [Ping timeout: 260 seconds]
rgrinberg has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
Guest40785 has quit [Remote host closed the connection]
boogie has joined #ocaml
gabemc has quit [Ping timeout: 245 seconds]
ebzzry has joined #ocaml
AltGr has joined #ocaml
Drup has quit [Remote host closed the connection]
philtom has joined #ocaml
iorivur_ has quit [Ping timeout: 260 seconds]
cesar has joined #ocaml
cesar is now known as Guest52145
Guest52145 has quit [Ping timeout: 245 seconds]
iorivur has joined #ocaml
iorivur has quit [Ping timeout: 260 seconds]
philtom has quit [Read error: Connection reset by peer]
axiles has joined #ocaml
ygrek has quit [Ping timeout: 260 seconds]
tnguyen has quit [Quit: tnguyen]
manizzle has joined #ocaml
boogie has quit [Remote host closed the connection]
WraithM has quit [Ping timeout: 240 seconds]
adrien_o1w has joined #ocaml
oscar_toro has joined #ocaml
adrien_oww has quit [Ping timeout: 240 seconds]
cyanure__ has joined #ocaml
cyanure__ has quit [Remote host closed the connection]
slash^ has joined #ocaml
hhugo has joined #ocaml
ygrek has joined #ocaml
cesar has joined #ocaml
cesar is now known as Guest75530
Guest75530 has quit [Ping timeout: 272 seconds]
AltGr has left #ocaml [#ocaml]
hhugo has quit [Quit: Leaving.]
zpe has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
hhugo has joined #ocaml
manizzle has quit [Ping timeout: 272 seconds]
simulacrum has joined #ocaml
iorivur has joined #ocaml
zpe has quit [Remote host closed the connection]
simulacrum has quit [Remote host closed the connection]
larhat has joined #ocaml
boogie has joined #ocaml
boogie has quit [Ping timeout: 258 seconds]
simulacrum has joined #ocaml
hhugo has quit [Quit: Leaving.]
cago has joined #ocaml
simulacrum has quit [Remote host closed the connection]
CaptainRant has joined #ocaml
tane has joined #ocaml
thomasga has joined #ocaml
CaptainRant has left #ocaml [#ocaml]
oscar_toro has quit [Ping timeout: 272 seconds]
Thooms has joined #ocaml
ddosia has quit [Ping timeout: 246 seconds]
kaustuv has joined #ocaml
iorivur has quit [Ping timeout: 272 seconds]
ddosia has joined #ocaml
thomasga has quit [Quit: Leaving.]
iorivur has joined #ocaml
zpe has joined #ocaml
Simn has joined #ocaml
burgobianco has quit [Remote host closed the connection]
eikke has joined #ocaml
burgobianco has joined #ocaml
oscar_toro has joined #ocaml
ollehar has joined #ocaml
simulacrum has joined #ocaml
boogie has joined #ocaml
boogie has quit [Ping timeout: 245 seconds]
thomasga has joined #ocaml
thomasga has quit [Client Quit]
cesar has joined #ocaml
cesar is now known as Guest81975
Guest81975 has quit [Ping timeout: 246 seconds]
ysz has joined #ocaml
ysz has quit [Client Quit]
ysz has joined #ocaml
yacks has quit [Read error: Connection reset by peer]
gabemc has joined #ocaml
oscar_toro has quit [Ping timeout: 272 seconds]
mawuli_ has quit [Remote host closed the connection]
avsm has joined #ocaml
dsheets has joined #ocaml
Kakadu has joined #ocaml
boogie has joined #ocaml
lordkryss has joined #ocaml
boogie has quit [Ping timeout: 260 seconds]
iorivur has quit [Ping timeout: 245 seconds]
rgrinberg has quit [Quit: Leaving.]
yacks has joined #ocaml
simulacrum has quit [Quit: No Ping reply in 180 seconds.]
simulacrum has joined #ocaml
simulacrum has quit [Remote host closed the connection]
yacks has quit [Remote host closed the connection]
iorivur has joined #ocaml
rand000 has joined #ocaml
Thooms has quit [Quit: WeeChat 0.4.3]
octachron has joined #ocaml
boogie has joined #ocaml
cesar has joined #ocaml
cesar is now known as Guest16064
boogie has quit [Ping timeout: 272 seconds]
Guest16064 has quit [Ping timeout: 246 seconds]
yacks has joined #ocaml
gabemc has quit [Ping timeout: 258 seconds]
BitPuffin has joined #ocaml
ontologiae has joined #ocaml
Hannibal_Smith has joined #ocaml
jonludlam has joined #ocaml
jao has quit [Ping timeout: 272 seconds]
tane has quit [Quit: Verlassend]
hyperboreean has quit [Ping timeout: 260 seconds]
_andre has joined #ocaml
<Pepe_>
opam is acting weird. it fails at downloading every single archive, although I can just take the link, wget it and move that into ~/.opam/archives and it works
<whitequark>
possibly it fails at verifying the https certificate
<Kakadu>
can you do the same with curl?
<Pepe_>
hmm, curl: (7) Failed to connect to opam.ocaml.org port 443: Connection refused
<Pepe_>
ah, curl probably uses ipv6
<Pepe_>
by default
<Pepe_>
yes, curl -4 works
<Pepe_>
maybe I should set OPAMCURL to "curl -4" for a while
ggole has joined #ocaml
<Pepe_>
nah it doesn't work, apparently it's not happy that "curl -4" contains a space (warning only though), and it fails with the same error
<Pepe_>
same error as well for wget
slash^ has joined #ocaml
<Pepe_>
Ah, ok it's normal for wget, opam passes some arguments it doesn't recognize :/
boogie has joined #ocaml
<Pepe_>
but I'm not sure why it fails with "curl -4"
boogie has quit [Ping timeout: 272 seconds]
<Pepe_>
I put a file with "#!/bin/bash\n\ncurl -4 $*" somewhere in my path and set OPAMCURL, now it works. It should probably be an error there instead of a warning
oscar_toro has joined #ocaml
avsm has quit [Quit: Leaving.]
bats0x has joined #ocaml
ygrek has quit [Remote host closed the connection]
_andre has quit [Quit: leaving]
_andre has joined #ocaml
tane has joined #ocaml
taion809 has joined #ocaml
cesar has joined #ocaml
cesar is now known as Guest76099
SethTIsue has joined #ocaml
Guest76099 has quit [Ping timeout: 245 seconds]
oscar_toro has quit [Ping timeout: 240 seconds]
boogie has joined #ocaml
oscar_toro has joined #ocaml
boogie has quit [Ping timeout: 272 seconds]
BitPuffin` has joined #ocaml
BitPuffin has quit [Quit: See you on the dark side of the moon!]
BitPuffin` is now known as BitPuffin
adrien_o1w is now known as adrien_oww
hyperboreean has joined #ocaml
badkins has joined #ocaml
darkf has quit [Quit: Leaving]
boogie has joined #ocaml
boogie has quit [Ping timeout: 258 seconds]
ontologiae has quit [Ping timeout: 260 seconds]
slash^ has quit [Read error: Connection reset by peer]
yomimono has joined #ocaml
boogie has joined #ocaml
pyon has quit [Ping timeout: 260 seconds]
slash^ has joined #ocaml
ontologiae has joined #ocaml
Druup has joined #ocaml
Druup is now known as Drup
<reynir>
Has anyone used ocamltter in opam?
ysz has quit [Quit: This computer has gone to sleep]
bats0x has quit [Remote host closed the connection]
morphles has joined #ocaml
boogie has quit [Remote host closed the connection]
boogie has joined #ocaml
topherB has joined #ocaml
simulacrum has joined #ocaml
<kaustuv>
someone should register @ocaml and run xavierbot on it using that
<dmbaturin>
xavierbot?
lordkryss has quit [Quit: Connection closed for inactivity]
cespinoza has joined #ocaml
shinnya has joined #ocaml
cago has left #ocaml [#ocaml]
<nicoo>
whitequark: What kind of work would be required to add another suported arch, assuming your LLVM backend gets merged?
<whitequark>
nicoo: that's ... a reeeeeally strong assumption
<whitequark>
it doesn't even work right now, much less discussed for merging
<whitequark>
but I can answer that nevertheless, you'll need to port byterun and asmrun.
ontologiae has quit [Ping timeout: 272 seconds]
George_ has joined #ocaml
<George_>
A question about Hashtbl in OCaml.
<George_>
Do keys have to be unique?
<companion_cube>
well, with Hashtbl.replace you have only one binding per key
<adrien>
George_: no
<companion_cube>
with Hashtbl.add it's a stack of bindings for each key
<adrien>
Previous
<adrien>
forming Hashtbl.remove tbl x , the previous binding for x , if any, is
<adrien>
restored. (Same behavior as with association lists.)
<adrien>
bindings for x are not removed, but simply hidden. That is, after per‐
<whitequark>
nicoo: frankly, adding two or three more backends is probably less work than merging in LLVM backend
<whitequark>
partly because the backend code needs to be murdered with a shovel^W^W^W^W heavily refactored
<George_>
That is what I wanted to ask: what will happen to replace
<adrien>
replace, well, replaces
<George_>
if we have a stack of bindings for a key?
<adrien>
you mean, if you use add several times and then replace?
paddymahoney has joined #ocaml
<George_>
true
<adrien>
no idea
<adrien>
in doubt I'd use a Stack.t as the elements and handle that myself
bytbox has joined #ocaml
<adrien>
(I guess you want to keep a stack of the elements stored)
simulacrum has quit [Remote host closed the connection]
morphles has quit [Ping timeout: 260 seconds]
cesar has joined #ocaml
<George_>
yes, but I thought Hashtbl.add builds that stack
cesar is now known as Guest35389
<George_>
the reason in, find_all for a key returns a list of values
<ggole>
Hashtbl.add just chucks everything in the bucket afaik
<ggole>
And .find_all will cons up a new list by walking what's in the bucket
<ggole>
Lemme just check that.
dsheets has quit [Ping timeout: 260 seconds]
<ggole>
Yeah
<George_>
so, what happens to that bucket if someone calls Hashtbl.replace?
<Drup>
George_: the question is "what is replace going to do if you have multiple bindings for a key ?"
<George_>
for the same key?
<George_>
yes, true
<Drup>
it's going to replace the visible one only, iirc
<Drup>
aka, the last one added
<Drup>
(it's quite trivial to test)
<ggole>
Yeah, that seems right
<George_>
ha, ok
<Drup>
yeah, I just tried.
<Drup>
it replaces the last one, don't touche the others
<Drup>
iirc, it's basically remove then add.
<ggole>
Mmm, replace does a fair amount of consing
<ggole>
I suppose I expected more of an in-place thing.
<George_>
so, remove has to do the same thing. Is that right?
<George_>
only removes the last one added?
<Drup>
of course
<ggole>
That's actually documented in the manual.
Guest35389 has quit [Remote host closed the connection]
<George_>
yes, I found it for the remove, but it wasn't clear for the replace
<ggole>
Actually I suppose the behaviour of replace is also documented, as it is explained in terms of remove
<ggole>
Right, not terribly explicit.
<George_>
right
<George_>
thanks guys by the way
boogie has quit [Remote host closed the connection]
<ggole>
No worries!
nlucaroni has joined #ocaml
ysz has joined #ocaml
ysz has quit [Client Quit]
yomimono has quit [Ping timeout: 272 seconds]
George_ has quit [Ping timeout: 246 seconds]
zpe has quit [Remote host closed the connection]
topherB has quit [Quit: topherB]
paddymahoney has quit [Ping timeout: 245 seconds]
rand000 has quit [Ping timeout: 260 seconds]
boogie has joined #ocaml
octachron has quit [Quit: Leaving]
bytbox has quit [Remote host closed the connection]
<madroach>
is it easily possible to teach ocp-index or merlin to locate identifiers in the stdlib?
<Drup>
it should do it by default
<madroach>
which? how?
<Drup>
oh, locate.
<Drup>
err
<Drup>
I don't know
<madroach>
yes in the mli
cespinoza has quit [Ping timeout: 250 seconds]
paddymahoney has joined #ocaml
<Drup>
(ask def`)
cespinoza has joined #ocaml
<ggole>
You need the stdlib to be built with .cmt files, and then to tell merlin where those are
PM` is now known as PM
<ggole>
I think it's the definition that will be jumped to, too
<madroach>
ok. I guess no one has done this yet.
Submarine_ has joined #ocaml
Submarine_ has joined #ocaml
Submarine_ has quit [Changing host]
taion809 has quit [Ping timeout: 272 seconds]
morphles has joined #ocaml
taion809 has joined #ocaml
yotam has joined #ocaml
taion809 has quit [Ping timeout: 246 seconds]
rgrinberg has joined #ocaml
shinnya has quit [Ping timeout: 272 seconds]
taion809 has joined #ocaml
q66 has joined #ocaml
<ggole>
Hmm, why was Array.create deprecated?
iorivur has quit [Quit: No Ping reply in 180 seconds.]
iorivur has joined #ocaml
<flux>
it allows to see uninitialized values?
<ggole>
No it doesn't?
<ggole>
(That's String.create.)
<ggole>
Unlike string contents, uninitialised data in an array would crash the GC.
<flux>
oh, right
<flux>
some sort of uniform naming then perhaps
<ggole>
Well, that's the thing: almost everything else is called .create
<ggole>
There's Queue.create and Hashtbl.create
Anarchos has joined #ocaml
<flux>
I'm out of excuses then :)
batz0x has joined #ocaml
demonimin has quit [Ping timeout: 260 seconds]
<ggole>
Well, it's more puzzling than anything. No big deal.
demonimin has joined #ocaml
jwatzman|work has joined #ocaml
Kakadu has quit [Quit: Page closed]
<adrien>
there's something behind it
<adrien>
like whether it's initialized or not iirc
eugene_klm has joined #ocaml
<ggole>
Oh, I see: it was deprecated *ages* ago and the warning is new.
<ggole>
There's no semantic issue, it's the same as Array.make
igstan has joined #ocaml
<gasche>
the change is that OCaml got a principled way to mark functions as deprecated only during 4.02+dev
<gasche>
this prompted Damien to use it on "marked deprecated in the API" function
<gasche>
rather liberally
jonludlam has quit [Ping timeout: 244 seconds]
<adrien>
the only things it breaks is warn-error so it's good
rgrinberg has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
<ggole>
Right. I take it this was prompted by the String/Bytes thing.
contempt has quit [Disconnected by services]
contempt has joined #ocaml
boogie has quit [Quit: Leaving...]
MercurialAlchemi has quit [Ping timeout: 245 seconds]
enquora has joined #ocaml
octachron has joined #ocaml
<_obad_>
hi. how stable is 4.02? you guys notice any breakage?
<Drup>
it's slower, but that's all, I think
<Drup>
(I'm talking about the compiler, not the generated code)
<Drup>
(it's a bug, and it's fixed in trunk)
<_obad_>
oh
<adrien>
4.02.1 will fix it and it's due out soon
<adrien>
try your code
<adrien>
report if it breaks for you
<_obad_>
I heard we have CSE now
<adrien>
if it does you'll get a version with a fix very soon
<Drup>
a little bit.
<_obad_>
so was that opam switch 4.02.0 and then recompile my stuff?
<Drup>
yes
WraithM has joined #ocaml
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
<_obad_>
should I try 4.02.0 or 4.02.0+trunk
<adrien>
isn't +trunk the dev version?
<Drup>
well, one is released, the other is the dev version =')
<adrien>
and not the one leading to .1?
<ggole>
_obad_: if you're worried about breakage, go with 4.02.0
<_obad_>
so I switched but it didn't keep my packages?
<ggole>
They're still there, under the old switch
<adrien>
remember ABI compat? :P
<_obad_>
so how do I recompile them for 4.02.0?
<ggole>
I've always just opam installed them again
<ggole>
Maybe there's a better way?
<_obad_>
I think opam list lacks an export option
batz0x has quit [Quit: Leaving]
<_obad_>
it underlines the things I explicitly requested but I can't grep that...
<ggole>
opam list -i, maybe?
<ggole>
Oh, --installed-roots
<_obad_>
ggole: nah it also lists the installed dependencies
<_obad_>
I could install all of them, but it's not as nice
<Drup>
_obad_: there is an export option
<Drup>
opam export
<_obad_>
opam: unknown command `export'
<_obad_>
I guess it's time to update opam
<ggole>
There is? O_o
<ggole>
I think --installed-roots and bit a of text editing would be easy enough.