tmtwd has quit [Remote host closed the connection]
mfp has joined #ocaml
rgrinberg1 has quit [Ping timeout: 240 seconds]
AltGr has joined #ocaml
jabesed has quit [Ping timeout: 246 seconds]
jabesed has joined #ocaml
tmtwd has joined #ocaml
antkong_ has joined #ocaml
tmtwd has quit [Remote host closed the connection]
mrvn has quit [Ping timeout: 240 seconds]
mrvn has joined #ocaml
antkong_ has quit [Client Quit]
jabesed has quit [Quit: Konversation terminated!]
raphaelss has quit [Ping timeout: 250 seconds]
antkong has joined #ocaml
mfp has quit [Ping timeout: 264 seconds]
toomuchtvrotsurb has quit [Remote host closed the connection]
mfp has joined #ocaml
swgillespie has joined #ocaml
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rgrinberg1 has joined #ocaml
rgrinberg1 has quit [Ping timeout: 250 seconds]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
tmtwd has joined #ocaml
tmtwd has quit [Remote host closed the connection]
swgillespie has joined #ocaml
oriba has quit [Quit: WeeChat 1.3]
deavid has quit [Ping timeout: 265 seconds]
rgrinberg1 has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
swgillespie has joined #ocaml
tmtwd has joined #ocaml
tmtwd has quit [Remote host closed the connection]
rgrinberg1 has quit [Ping timeout: 250 seconds]
tmtwd has joined #ocaml
tmtwd has quit [Remote host closed the connection]
psy_ has quit [Ping timeout: 268 seconds]
deavid has joined #ocaml
manuel__ has joined #ocaml
rgrinberg1 has joined #ocaml
psy has joined #ocaml
<manuel__>
hi! i'm new to ocaml, and i'm using tuareg-mode in emacs, and i've got two things that are incredibly annoying. per default, the cursor jumps to the middle of the line until electric-indent kicks in or i TAB
psy has quit [Max SendQ exceeded]
<manuel__>
and the other is that tuareg-mode breaks down on mly and mll files, and I'm not sure it is supposed to work that way or not
<manuel__>
just wondering if this is normal or if something is off with my tuareg-mode
psy has joined #ocaml
<smondet>
manuel__: try to ause ocp-indent instead of Tuareg for indentation
<manuel__>
thx
<manuel__>
will do
<smondet>
there is a ocp-indent mode for emacs
<manuel__>
i'm sorry to ask such questions, i wonder if there is a page about like "you're a fairly seasoned developer, here's some stuff to get you up", like this great one about haskell: http://dev.stephendiehl.com/hask/
<manuel__>
i'm working through real world ocaml and it's pretty great
<smondet>
papy_: if you can compile but not link (← your error message) it is very often that ocamlfind option `-linkpkg` is missing
<smondet>
manuel__: don't be sorry, the ecosystem is somewhat complicated
<manuel__>
alright ocp-indent fixes that very frustrating annoyance, thanks for the hint
<manuel__>
my goal is to work through the modern compiler construction in ML by appel, which i did 10 years back in ML
<manuel__>
i originally wanted to do it in haskell but i just don't really click with haskell, and the laziness throws me off
<larhat1>
Hi folks, we'r using lwt and cohttp client in simple producer/consumer program: cohttp client issues long-polling get and then pushes values down via Lwt_stream. We were wondering, whether we should explicitly cancel the producer thread or we can just "forget" about the stream value and let it (and the producer thread) be collected by gc. But we ran into another problem when trying to check our expectation — when we stop producer thread, Cohhtp client does
orbifx has joined #ocaml
iZsh_ has joined #ocaml
rgrinberg1 has joined #ocaml
DanielRi1hman has joined #ocaml
bernardo1pc has joined #ocaml
yannis has joined #ocaml
profan_ has joined #ocaml
Lasher`_ has joined #ocaml
ski____ has joined #ocaml
gargawel_ has joined #ocaml
mattrepl has quit [Ping timeout: 250 seconds]
iZsh has quit [Ping timeout: 250 seconds]
bernardofpc has quit [Ping timeout: 250 seconds]
tg has quit [Ping timeout: 250 seconds]
gargawel has quit [Ping timeout: 250 seconds]
Lasher` has quit [Ping timeout: 250 seconds]
DanielRichman has quit [Ping timeout: 250 seconds]
diethyl has quit [Ping timeout: 250 seconds]
ski has quit [Ping timeout: 250 seconds]
zol has quit [Ping timeout: 250 seconds]
profan has quit [Ping timeout: 250 seconds]
zol has joined #ocaml
rgrinberg1 has quit [Ping timeout: 264 seconds]
mattrepl has joined #ocaml
<mort___>
morning all (in my timezone anyway :) quick oasis question— what does the error "E: Cannot find buildable internal library …" mean?
tg has joined #ocaml
ely-se has quit [Quit: lunch]
<mort___>
(it arises from check_tools in setup.ml but i'm trying to work out why; the library in question is installed as far as ocamlfind is concerned)
jonludlam has quit [Ping timeout: 272 seconds]
ely-se has joined #ocaml
sh0t has quit [Remote host closed the connection]
qrvpzvb has quit [Ping timeout: 250 seconds]
ski____ is now known as ski
fluter has quit [Ping timeout: 252 seconds]
antkong_ has joined #ocaml
rgrinberg1 has joined #ocaml
Guest79716 has joined #ocaml
rgrinberg1 has quit [Ping timeout: 244 seconds]
vpm has quit [Ping timeout: 264 seconds]
AltGr has left #ocaml [#ocaml]
__uu__ has joined #ocaml
<orbifx>
mort___: I think most people are afk now
<papy_>
I'm seeing something surprising with the Netnumber library (from ocamlnet) -- but maybe I misunderstand.
<papy_>
Is it normal for Netnumber to tell me that n > m (as uint4), for any n,m with n >= 2^31 and m > n ?
<orbifx>
papy_: does the uint4 wrap at 2^31 ?
<orbifx>
although at first sight this doesnt seem right, no
<papy_>
orbifx: don't know, but I would expect the full 2^32 to be available
<orbifx>
papy_: I'm generally willing, but new my self to ocaml
<papy_>
lyxia: thanks for taking a look though :)
__uu__ has quit [Ping timeout: 255 seconds]
<papy_>
orbifx: OK :) Just "opam install ocamlnet", then for file test.ml, "ocamlbuild -use-ocamlfind -pkgs netstring test.native && ./test.native"
<orbifx>
ok sec
__uu___ has quit [Remote host closed the connection]
<papy_>
orbifx: also, are you on a 64bit platform?
<orbifx>
yes
<orbifx>
you?
__uu__ has joined #ocaml
<papy_>
orbifx: yes
<orbifx>
doing yaourt opam.. hadn't installed on this machine yet.
jimt has quit [Ping timeout: 268 seconds]
Haudegen has quit [Ping timeout: 260 seconds]
<orbifx>
installing ocamlnet now papy_
_andre has joined #ocaml
<papy_>
orbifx: OK :)
sh0t has joined #ocaml
__uu__ has quit []
Kakadu has joined #ocaml
Haudegen has joined #ocaml
keen___________2 has joined #ocaml
qrvpzvb has joined #ocaml
<Drup>
mort___: link to the _oasis file ?
<Drup>
(usually, it means some naming is screwed up)
keen___________1 has quit [Ping timeout: 255 seconds]
<ely-se>
tonight I'm going to attempt using OCaml on Windows :L
<orbifx>
papy_: do you know if your package was compiled with WORDSIZE_64?
<papy_>
orbifx: no. I'm assuming it but maybe I shouldn't
<papy_>
orbifx: what results do you get?
dsheets has joined #ocaml
toomuchtvrotsurb has joined #ocaml
<orbifx>
papy_: pasted in a query window
<papy_>
orbifx: I think the comparison function in netnumber.ml is incorrect. converting to uint4 wraps to the other end, but comparison assume wrapping start at -1.
<papy_>
orbifx: thanks!
<orbifx>
papy_: seems it's wrapping yes
<papy_>
orbifx: the problem seems to be that conversion and comparison don't agree on where the wrapping starts :p
nopf has quit [Remote host closed the connection]
<orbifx>
papy_: trying to see if it's an easy to spot issue
<orbifx>
but frankly, best raise that issue to the devs
<papy_>
orbifx: yes, sending an email now. thanks!
sh0t has quit [Quit: Leaving]
<orbifx>
papy_: all the best
rgrinberg1 has joined #ocaml
toomuchtvrotsurb has quit [Ping timeout: 255 seconds]
rgrinberg1 has quit [Ping timeout: 264 seconds]
nopf has joined #ocaml
AlexRussia has joined #ocaml
toomuchtvrotsurb has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
ely-se has quit [Quit: leaving]
ely-se has joined #ocaml
<orbifx>
Any comments on Core vs Batteries?
<companion_cube>
depends on what you want to do
<companion_cube>
other people use raw stdlib, or other extensions
<companion_cube>
I use containers (since I wrote it)
<orbifx>
I want to invest in the library that ought to be the standard :P
<orbifx>
im leaning towards batteries cause it's community based.
<orbifx>
But I wanted to know if it lacks severely in any way.
<bz>
are there any functions that compile to bit rotation primitives?
<bz>
i see stuff for shifts in pervasives but not rotation
rgrinberg1 has joined #ocaml
<ggole>
bz: I don't think so
rgrinberg1 has quit [Ping timeout: 240 seconds]
manuel__ has joined #ocaml
ely-se has quit [Quit: leaving]
jonludlam has joined #ocaml
<companion_cube>
bz: asr is a kind of rotation, isn't it?
<orbifx>
I was going to suggest that, came across it today in Netnumber.
<ggole>
asr is arithmetic shift right.
<bz>
that's arith shiftr, right?
<bz>
yeah i'm not seeing how that's a rotation
<bz>
anyway, is ocamlc intelligent enough to rewrite `(n lsr bits) lor (n lsl (width n - bits))`?
<ggole>
Doubtful.
<bz>
meh
jonludlam has quit [Ping timeout: 260 seconds]
Guest79716 has quit [Quit: WeeChat 1.2]
fluter has joined #ocaml
<bz>
is it possible to execute inline assembly without ffi overhead?
<Drup>
(hint: that PR is probably not going to be merged)
jonludlam has joined #ocaml
ely-se has joined #ocaml
<bz>
oh well, who needs bit rotations anyway
<Drup>
bz: benchmark first, optimizer later :p
<qrvpzvb>
But he may actually need bit rotation
sepp2k has joined #ocaml
dsheets has joined #ocaml
<Drup>
bz: note that rotation on the regular ocaml int would be weird, to say the least
<ely-se>
bz: the Malbolge VM I wrote recently needed to do trit rotations
<ely-se>
bit rotations are for binary savages. ternary all the way baby!
<bz>
Drup: why would it be weird?
<bz>
if rot is weird, then lsl would be weird too
fluter has quit [Quit: WeeChat 1.2]
<bz>
i'll rephrase: why would rotr/l be more weird than lsl? yes i'm aware of the lsb being a tag
fluter has joined #ocaml
<Drup>
bz: you would do the rotation only over the 31 first bits ? why not
vpm has joined #ocaml
Haudegen has quit [Remote host closed the connection]
rgrinberg1 has joined #ocaml
toomuchtvrotsurb has quit [Remote host closed the connection]
<seliopou>
Drup: been seeing your pr/commits but been busy and won't be around until Monday. tyxml support should happen tho
jimt has joined #ocaml
rgrinberg1 has quit [Ping timeout: 264 seconds]
<Drup>
seliopou: no hurry, I should enter into paper writing mode for the next two weeks anyway
<seliopou>
:+1:
<Drup>
The design space is a bit big, we will need to think about the right abstraction
<ely-se>
Drup: how much experience do you have with OCaml?
<Drup>
huuuh, in which unit do you count experience ?
<Drup>
I'm lvl 5 !
OnkV has joined #ocaml
<ely-se>
on a scale from incredible noob to incredible expert :p
<Drup>
enough to know that I know little
<ely-se>
ah, post-Dunning-Kruger, nice
<Drup>
(alternatively: not enough not to use ocaml's complicated features :p)
OnkV has quit [Ping timeout: 255 seconds]
rgrinberg1 has joined #ocaml
<ely-se>
does OCaml feature a compacting GC?
<ely-se>
because I read somewhere that allocation merely increments a pointer and does a check
stormogulen has joined #ocaml
<adrien_znc>
yes
manuel__ has quit [Quit: manuel__]
<ely-se>
absolutely fascinating
raphaelss has joined #ocaml
<ggole>
That's the fast path
<ggole>
The slow path does all kinds of stuff
ely-se has quit [Quit: leaving]
ely-se has joined #ocaml
scriptdevil has joined #ocaml
octachron has joined #ocaml
qdwang has joined #ocaml
qdwang has quit [Client Quit]
yaewa has joined #ocaml
moei has quit [Ping timeout: 265 seconds]
igoroliveira has joined #ocaml
oriba has joined #ocaml
stormogulen has quit [Ping timeout: 264 seconds]
rgrinberg1 has quit [Ping timeout: 260 seconds]
rgrinberg1 has joined #ocaml
toomuchtvrotsurb has joined #ocaml
<companion_cube>
orbifx: I don't think batteries has severe issues
<companion_cube>
it is a bit monolithic and requires Unix, but apart from that it's fine
<orbifx>
requiring unix makes sense
<orbifx>
:P
<orbifx>
the only true system.
scriptdevil has quit [Ping timeout: 264 seconds]
<companion_cube>
I meant the 'unix' module
<orbifx>
by monolithic you mean it's very dependent on other parts of the library?
<Drup>
orbifx: except that ocaml compiles very well to javascript and that's nice to have
<ely-se>
monolithium battery
<orbifx>
ely-se: lol
<orbifx>
Drup: it's a fun distraction :P
<orbifx>
I think they should call it "decompile to javascript" :P
<ely-se>
Emscripten!
<orbifx>
you are on a roll today
toomuchtvrotsurb has quit [Remote host closed the connection]
<ely-se>
I did eat a sausage roll today.
<companion_cube>
deconstructive logic
raphaelss has quit [Ping timeout: 250 seconds]
<ely-se>
Gonna start on another compiler project tonight.
raphaelss has joined #ocaml
deavid has quit [Ping timeout: 240 seconds]
<orbifx>
ely-se: make a polymorphic compiler
<ely-se>
What is that? :(
raphaelss has quit [Ping timeout: 268 seconds]
<orbifx>
A compiler which can compile anything to anything.
<orbifx>
Like a polymorphic function.
_andre has quit [Quit: Lost terminal]
<ely-se>
cat
<Drup>
(note that it will be ad-hoc polymorphism, A parametric polymorphic compiler would not be very useful)
<Drup>
(:D)
<ely-se>
reminds me of the COBOL ISO standard
<ely-se>
which confuses ad-hoc and parametric polymorphism all over the place
<ely-se>
"Parametric polymorphism (also known as overloading) ..."
<orbifx>
lol
<oriba>
tried to use a polymorphic type together with ocamlyacc some days ago .... and got error message...
<ely-se>
I should learn about polymorphic variants.
_andre has joined #ocaml
darkf has quit [Quit: Leaving]
deavid has joined #ocaml
scriptdevil has joined #ocaml
<flux>
oriba, I don't remember if there should be a problem, or if it even makes sense ;), but you should look if menhir does that what you want. it's a more featureful superset of ocamlyacc.
<oriba>
no, it was not polymorphoic, it was parametric type, where ocamlyacc mourned about.
<ely-se>
do polymorphic variants cause type inference issues?
qdwang has joined #ocaml
<Drup>
not really
<Drup>
on the contrary, you should almost never annotates types when using polymorphic variants
<ely-se>
then why does it tend to be a problem to combine type inference with subtyping?
<Drup>
poly variant is not subtyping
<Drup>
it's row polymorphism
<Drup>
the different is rather important :p
<oriba>
Drup: "Drup | on the contrary, you should almost never annotates types when using polymorphic variants" => why?
<ely-se>
I never understood the difference between row polymorphism and subtyping.
<ely-se>
I should read more.
<Drup>
because the annotator is human, and humans are very bad at type inference
<Drup>
so they get the type annotation wrong all the time
<oriba>
hmhhh
<Drup>
It's especially true with structural types and row polymorphism
bacam has quit [Ping timeout: 252 seconds]
jeffmo has joined #ocaml
<oriba>
Drup, you meant type-annotation directly at functions and values? I had in mind defining a type with "type".
<ely-se>
why do not all object types have row variables?
<ely-se>
oh, I suppose that won't work well with return types
ely-se has quit [Quit: leaving]
klj has joined #ocaml
<bz>
i don't get how anyone could ever consider hijacking the lsb to be a good idea
<bz>
christ
bz has left #ocaml ["WeeChat 1.3-dev"]
bacam has joined #ocaml
sz0 has joined #ocaml
octachron has quit [Quit: Leaving]
qdwang has quit [Remote host closed the connection]
Denommus has joined #ocaml
scriptdevil has quit [Ping timeout: 264 seconds]
sepp2k has quit [Quit: Leaving.]
<flux>
hijacking lsb?
<ggole>
The tagging thing
<flux>
ah
<flux>
dunno, I think it's quite ingenious. particularly the part where it's indeed the lsb, not msb.
<flux>
but it is a shame that it limits integer range. less of an issue with 64-bit platforms, though.
<ggole>
The complaint is a bit hollow - it's a standard technique
<flux>
apparently one can do without, though. does haskell lose something about not using it?
<Drup>
flux: compiler simplicity
cball has quit [Read error: Connection reset by peer]
<flux>
can the complexity be pushed away or does it seep everywhere?
<ggole>
And overhead for things like rotations is not the best reason to complain
<Drup>
flux: well, it boils down to having a good inliner/unboxer, doesn't it ?
<ggole>
You can certainly remove tagging if you care enough
<Drup>
and unboxed data structure
<ggole>
There were so-called type-passing compilers for SML that didn't use tags
<Drup>
(and unboxed data structure imply a kind system)
orbifx has quit [Quit: WeeChat 1.3]
<ggole>
And Java et al are GCed but don't use tagging
<flux>
maybe if flambda is super uber best someone can rewrite the IR so that tags are no longer required ;)
<ggole>
Tags are for the runtime, IR doesn't change that
<companion_cube>
wow, he ragequit on that
yaewa has quit [Quit: Leaving...]
moei has joined #ocaml
OnkV has joined #ocaml
MercurialAlchemi has joined #ocaml
nullcatxxx_ has joined #ocaml
ely-se has joined #ocaml
toomuchtvrotsurb has joined #ocaml
scriptdevil has joined #ocaml
yannis has quit [Quit: WeeChat 1.1]
troydm has quit [Ping timeout: 264 seconds]
<ely-se>
ooh I finally understand how classes work in OCaml
iZsh_ is now known as iZsh
nullcatxxx_ has quit [Ping timeout: 272 seconds]
jwatzman|work has joined #ocaml
raphaelss has joined #ocaml
kushal has joined #ocaml
ygrek_ has joined #ocaml
ely-se has quit [Quit: Leaving]
jonludlam has quit [Ping timeout: 250 seconds]
obadz- has joined #ocaml
obadz has quit [Ping timeout: 240 seconds]
mort___ has quit [Ping timeout: 240 seconds]
ollehar has joined #ocaml
qrvpzvb has quit [Ping timeout: 268 seconds]
nullcatxxx_ has joined #ocaml
nullcatx_ has joined #ocaml
larhat has joined #ocaml
nullcatxxx_ has quit [Ping timeout: 256 seconds]
libertas has quit [Ping timeout: 256 seconds]
ely-se has joined #ocaml
Denommus has quit [Quit: rebooting]
raphaelss has quit [Read error: Connection reset by peer]
oriba has quit [Quit: WeeChat 1.3]
CissWit is now known as Johann
Johann is now known as j0x
j0x is now known as Johann
slash^ has joined #ocaml
lmaocaml has joined #ocaml
orbifx has joined #ocaml
<lmaocaml>
any frama-c users here?
<lmaocaml>
anyone know if i can create standalone analysis binaries using frama-c as library?
<orbifx>
I've just heard of it..
<ely-se>
I read that as "pharma-c"
<lmaocaml>
Nice channel XD
dsheets has quit [Ping timeout: 265 seconds]
troydm has joined #ocaml
shinnya has joined #ocaml
<orbifx>
it's mental
<orbifx>
specially if ely-se has had his sausage with egg.
<lmaocaml>
it's quite possible that ely-se is under-age :)
<orbifx>
dunno
<orbifx>
we are all a nickname here
<orbifx>
ok an a hostname.. behind an IP
<orbifx>
heck if you are google you probably know a lot more..
<ely-se>
orbifx: her' :p
<ely-se>
lmaocaml: I'm 20 :(
<flux>
I think in general the likelyhood of an underage person studing ocaml are quite small
<nullcatx_>
21
<flux>
but on the other hand, it would be quite awesome for someone to discover ocaml at such young age ;)
<Drup>
flux: actually, no, since it's taugh just after high school in france, so it can happen
<lmaocaml>
flux: especially Java being the primary language taught at schools :D
<nullcatx_>
also taught in most universities in U.S
<nullcatx_>
but people don't like it
<nullcatx_>
in programming language course
<nullcatx_>
not like in France
<lmaocaml>
nullcatx_: i am unawware of java being taught at as a teaching tool for programming languages
<Drup>
people don't like it in france either, mostly because it's actually caml light, not ocaml, which is a terrible idea
<nullcatx_>
no i mean ocaml
<lmaocaml>
mostly it's some scheme language
<ely-se>
I started learning Haskell when I was 16.
<lmaocaml>
or ML like
<nullcatx_>
ocaml is taught as functional paradigm in most U.S programming language course
<flux>
drup, at least I guess they need to skip much fewer things of the language :)
octachron has joined #ocaml
<ely-se>
our first programming homework for IT was making a program in a language of choice
<Drup>
flux including embarassing things, like a decent IDE, a decent REPL and a community
<ely-se>
I made one in Haskell
<lmaocaml>
ely-se: omg ecks-dee
<flux>
nullcatx_, is that quite common? I'm a bit surprised it doesn't have larger following in that case. or, there don't seem to be that many folks asking home work questions here.. ;)
<ely-se>
it is also good for the economy, because it creates jobs
<lmaocaml>
C++ is awesome because template is turing complete lmao ecks-dee
<lmaocaml>
have fun writing code in brainfuck
<lmaocaml>
:)
<slash^>
lol
<slash^>
Try D then!
ely-se has quit [Quit: Leaving]
ely-se has joined #ocaml
<orbifx>
ely-se: C++ is decent, given what they had to work with and what the intend was
<orbifx>
intent
OnkV has quit [Ping timeout: 250 seconds]
<orbifx>
lmaocaml: just need to take it easy with the templates
<orbifx>
the problem is how verbose the language gets once you want to do the high level stuff
Kakadu has quit [Quit: Page closed]
octachron has quit [Quit: Leaving]
lobo has joined #ocaml
dsturb has joined #ocaml
Haudegen has joined #ocaml
lmaocaml has quit [Quit: Page closed]
raphaelss has joined #ocaml
ollehar has quit [Ping timeout: 256 seconds]
xificurC has joined #ocaml
deavid has quit [Ping timeout: 244 seconds]
nullcatx_ has quit [Ping timeout: 260 seconds]
<companion_cube>
schoppenhauer: lazy arrays?
<mrvn>
orbifx: Just wait till you get a 200k error message.
<schoppenhauer>
companion_cube: why lazy arrays?
<Drup>
mrvn: you can get those with ocaml too
<Drup>
(arguably, you have to look for it)
<Drup>
(but I can do it one line)
<companion_cube>
you meant lazy lists?
<schoppenhauer>
yes.
<schoppenhauer>
but currently this is not an option.
<companion_cube>
why so?
<schoppenhauer>
i proved stuff for lazy lists, and not for arrays.
<mrvn>
Drup: but ocaml at least adds linebreaks
<schoppenhauer>
companion_cube: the plan is to do this in the future. but ... future.
<Drup>
mrvn: clang doesn't ?
<mrvn>
Drup: g++ doesn't
<ely-se>
clang can format type names as trees when you pass it a flag
<Drup>
Why would you use g++ when clang exists ?
<ely-se>
and highlight differences between types
<ely-se>
Drup: clang has bugs that GCC doesn't and vice versa
ysangkok has joined #ocaml
<Drup>
(I find this reason highly amusing)
ggole has quit []
<ysangkok>
i get "ocamlfind: Package `lwt.syntax' not found" when compiling 0install... i used --enable-ppx and --enable-camlp4 for lwt... is that not sufficient?
<ely-se>
also GCC has language extensions that clang lacks, so you can't use clang if you have code that depends on said extensions
obadz has quit [Ping timeout: 246 seconds]
<ely-se>
I generally use clang, because of the diagnostics. However, sometimes clang's diagnostics are incredibly cryptic, and I temporarily switch to GCC until I fixed them :P
Kakadu has joined #ocaml
obadz has joined #ocaml
deavid has joined #ocaml
manuel__ has joined #ocaml
antkong_ has quit [Quit: antkong_]
DanielRi1hman is now known as DanielRichman
swgillespie has joined #ocaml
nullcatxxx_ has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
jwatzman|work has quit [Quit: jwatzman|work]
nullcatx_ has joined #ocaml
nullcatxxx_ has quit [Ping timeout: 272 seconds]
<habs>
I'm trying to re-implement the "==" function correctly for int refs in ocaml. Here is what I have so far: http://sprunge.us/hfca But it doesn't work because r1.contents is always incremented by 1 at the end; why is that?
<habs>
I thought that r1.contents would be the same because I am incrementing and decrementing it in the same function.
<smondet>
habs: (at least) if r1.contents = r2.contents the 2nd part of the `&&` doesn't get executed
shinnya has quit [Ping timeout: 255 seconds]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Lasher`_ is now known as Lasher`
<habs>
smondet: Why is that? I can understand for ||, but in the case of && don't both need to be true so both sides need to be checked?
<habs>
Oh wait, I think I understand, my problem is only if the LHS is false so I need to check that before
<smondet>
habs: yes, I meant `<>` sorry
<habs>
smondet: OK, so I changed it to be this http://sprunge.us/ZEIc But I'm still getting the same problem?
_andre has quit [Quit: leaving]
<smondet>
habs: the problem can be the same, the `&&` can stop evaluating at `false` (which is for inital values of r1, r2 for `r1 + 1 <> r2`)
ollehar has joined #ocaml
<habs>
smondet: Ah I see. So if I store the values in a tuple first like this: http://sprunge.us/VSFP Does the language guarantee that won't be short-circuited no matter the compiler?
<smondet>
habs: the order of evaluation of tuples is not defined, so this looks risky
<smondet>
my attempt looks like: let eqphy r1 r2 = if !r1 <> !r2 then false else (incr r1; let after_incr = !r1 = !r2 in decr r1; after_incr)
<smondet>
but I need coffee...
nullcatx_ has quit [Ping timeout: 255 seconds]
<_habnabit>
uh oh i guess i have to turn off my highlight on 'habs'
<habs>
smondet: OK, but I think the order doesn't matter anyways here, because either we inc then dec or dec then inc, same result?
<smondet>
related to Montreal?
<habs>
smondet: Haha no, I'm familiar with the habs but my nick doesn't have to do with them
ollehar has quit [Ping timeout: 256 seconds]
<smondet>
ok :)
Simn has quit [Ping timeout: 252 seconds]
dsturb has quit [Remote host closed the connection]
ygrek_ has quit [Ping timeout: 246 seconds]
arjunguha has joined #ocaml
jeffmo has quit [Ping timeout: 240 seconds]
nullcatxxx_ has joined #ocaml
nullcatx_ has joined #ocaml
nullcatxxx_ has quit [Ping timeout: 256 seconds]
scriptdevil has quit [Ping timeout: 256 seconds]
ollehar has joined #ocaml
mac10688 has joined #ocaml
jwatzman|work has joined #ocaml
deavid has quit [Ping timeout: 255 seconds]
Denommus has joined #ocaml
<companion_cube>
Format is really cool, in fact
<companion_cube>
I might end up thinking it's one of the best parts of the stdlib
<Drup>
I wouldn't go *that* far
<Drup>
the API is still cataclysmicaly bad.
<companion_cube>
ok, it's designed to be opened, and the names are ugly
<companion_cube>
I mostly use fprintf and pp_print_string anyway
<companion_cube>
but at least I can write pretty nice printers very easily
<Drup>
I agree, cf Fmt :D
enquora has joined #ocaml
<companion_cube>
well, I don't write stuff that rquires Fmt (yet?)
ygrek_ has joined #ocaml
<Drup>
no reason not too :p
<companion_cube>
all the magic is in format strings
<Drup>
No, all the magic is in %a
<companion_cube>
yep
<companion_cube>
and @[ @]
ollehar has quit [Ping timeout: 256 seconds]
ollehar has joined #ocaml
enquora has quit [Quit: enquora]
<papy_>
Is there a recommended message queue library? I've been looking for e.g. NSQ or AMQP libraries, but they are either non-existent or out of date.
ceryo has joined #ocaml
rgrinberg1 has quit [Ping timeout: 246 seconds]
ceryo has quit [Client Quit]
ceryo has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 256 seconds]