adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org and http://caml.inria.fr | http://ocaml.org/releases/4.02.0.html | Public channel logs at http://irclog.whitequark.org/ocaml
arj has quit [Ping timeout: 255 seconds]
badkins has quit [Remote host closed the connection]
struk has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
chambart has quit [Ping timeout: 258 seconds]
arj has joined #ocaml
sivoais has joined #ocaml
mcclurmc_ has quit [Ping timeout: 244 seconds]
mcclurmc has joined #ocaml
<struk> pedantic question...what is preferred convention for repo/project names, in regards to delimiters. foo-bar or foo_bar? I've seen both. I noticed the practice of doing ocaml-foo-bar if foo-bar already exists in a different language, which is nice.
arj has quit [Ping timeout: 240 seconds]
<whitequark> there is none
<Drup> there is no convention, everyone is doing whatever they want x)
<struk> opam/ocamlfind doesn't really care right?
<Drup> oasis care and is very annoying about it
sivoais_ has joined #ocaml
<Drup> struk: the only real convention is to drop the "ocaml_" in opam, since everyone now we are in ocaml :>
<Drup> there are one or two exceptions, and they are really annoying.
<struk> that makes sense, seen that
<struk> I sort of thought that the rationale for foo_bar is that Foo_bar can be a module, whereas Foo-bar can't be
madroach has quit [Ping timeout: 250 seconds]
madroach has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest36265
NoNNaN has quit [Remote host closed the connection]
NoNNaN has joined #ocaml
Guest36265 has quit [Ping timeout: 255 seconds]
travisbrady has joined #ocaml
arj has joined #ocaml
travisbrady has quit [Quit: travisbrady]
arj has quit [Ping timeout: 264 seconds]
yomimono has joined #ocaml
oriba has joined #ocaml
manizzle has quit [Ping timeout: 255 seconds]
hugomg has quit [Ping timeout: 256 seconds]
mcclurmc has quit [Remote host closed the connection]
darkf has joined #ocaml
oriba has quit [Quit: oriba]
oriba has joined #ocaml
arj has joined #ocaml
arj has quit [Ping timeout: 244 seconds]
struk has quit [Ping timeout: 258 seconds]
marcux has joined #ocaml
oriba has quit [Quit: oriba]
struk has joined #ocaml
samuel02 has quit [Ping timeout: 245 seconds]
jwatzman|work has quit [Quit: jwatzman|work]
sivoais_ has quit [Quit: leaving]
arj has joined #ocaml
waneck has quit [Read error: No route to host]
marcux has quit [Quit: marcux]
arj has quit [Ping timeout: 265 seconds]
travisbrady has joined #ocaml
girrig has quit [*.net *.split]
Snark has quit [*.net *.split]
asmanur has quit [*.net *.split]
segmond has quit [*.net *.split]
tristero has quit [*.net *.split]
Reventlov has quit [*.net *.split]
acieroid has quit [*.net *.split]
englishm has quit [*.net *.split]
Khady has quit [*.net *.split]
engil has quit [*.net *.split]
teiresias has quit [*.net *.split]
Intensity has quit [*.net *.split]
martintrojer has quit [*.net *.split]
MrScout has quit [*.net *.split]
jbalnit has quit [*.net *.split]
struktured_ has quit [*.net *.split]
claudiuc has quit [*.net *.split]
mawuli has quit [*.net *.split]
zapu has quit [*.net *.split]
\q has quit [*.net *.split]
mearnsh has quit [*.net *.split]
nox has quit [*.net *.split]
dch has quit [*.net *.split]
vincom2 has quit [*.net *.split]
hcarty has quit [*.net *.split]
_habnabit has quit [*.net *.split]
seliopou has quit [*.net *.split]
yomimono has quit [*.net *.split]
pyon has quit [*.net *.split]
btrace has quit [*.net *.split]
AlexRussia has quit [*.net *.split]
iZsh has quit [*.net *.split]
j0sh has quit [*.net *.split]
bernardofpc has quit [*.net *.split]
arj has joined #ocaml
travisbrady has quit [Quit: travisbrady]
srcerer has quit [Ping timeout: 272 seconds]
MrScout has joined #ocaml
martintrojer has joined #ocaml
arj has quit [Ping timeout: 255 seconds]
MrScout has quit [Ping timeout: 264 seconds]
travisbrady has joined #ocaml
ygrek has joined #ocaml
natrium1970 has joined #ocaml
<natrium1970> I have functions that take records as parameters, but I want to be able to refer to the fields using specific names because it’s simpler and because my variables will match variable names used in published formulas. To be specific: http://pastebin.com/nMTJt8yQ
<Drup> let { num = a ; denom = b } = r1 in let { num = c ; denom = d } = r2 in ...
<Drup> or shorten the name of your fields
<natrium1970> Drup: The formulas in some of my references are written in terms of a, b, c, d, so it’s kind of convient.
<natrium1970> I noticed that f1 and f3 produce nearly identical code, but f2 produces a huge amount of code.
<Drup> I would tend to say that a b c d is not really nice, but ... :)
<Drup> let f2 { num = a ; denom = b } { num = c ; denom = d } = a*d + b*c
<Drup> let f*
<Drup> this is probably the shortest
<Drup> (with rebinding, I mean)
<natrium1970> Do the semantics of Ocaml require the huge amount of code that my “f2” generates, or is that just something the compiler doens’t optimize for?
<Drup> do you mean, the assembly code or ... ?
eridu has joined #ocaml
pyon has joined #ocaml
cesar_ has joined #ocaml
travisbrady has quit [Quit: travisbrady]
<eridu> Unhammer: hey, did you ever figure out how to link sedlex and menhir?
cesar_ is now known as Guest51705
<natrium1970> Would it be possible for the compiler to produce the same code for my “f2” as it does for “f1”, since it seems to be a simple renaming in this particular case.
<Drup> eridu: I linked some code a bit later
<natrium1970> Drup: Interesting that you last suggest produces identical asm code to my first f1. Thank you.
arj has joined #ocaml
<Drup> I'm surprised the 3 versions are not exactly the same :O
<eridu> Drup: I don't see it?
<natrium1970> Drup: I have a comparison: http://pastebin.com/DDG4jX88
manizzle has joined #ocaml
<eridu> ironically, I am the maintainer of a project Unhammer linked to in their search for menhir+sedlex, but development has been stymied by my continued nonunderstanding of linking menhir+sedlex
<natrium1970> I put f1 and f3 first since they’re short and easy to compare. Even though they are similar in length and operations, they are not identical. And f2 is so bizarre.
<eridu> Drup: thanks!
<Drup> natrium1970: which version of OCaml ?
<natrium1970> 4.02.1
<Drup> interesting.
<Drup> you might want to bug report that
AlexRussia has joined #ocaml
iZsh has joined #ocaml
jbalnit has joined #ocaml
seliopou has joined #ocaml
mearnsh has joined #ocaml
dch has joined #ocaml
zapu has joined #ocaml
_habnabit has joined #ocaml
claudiuc has joined #ocaml
7GHAAO58J has joined #ocaml
vincom2 has joined #ocaml
j0sh has joined #ocaml
nox has joined #ocaml
hcarty has joined #ocaml
\q has joined #ocaml
struktured_ has joined #ocaml
mawuli has joined #ocaml
bernardofpc has joined #ocaml
yomimono has joined #ocaml
btrace has joined #ocaml
yomimono has quit [*.net *.split]
7GHAAO58J has quit [*.net *.split]
btrace has quit [*.net *.split]
AlexRussia has quit [*.net *.split]
iZsh has quit [*.net *.split]
j0sh has quit [*.net *.split]
bernardofpc has quit [*.net *.split]
girrig has joined #ocaml
Snark has joined #ocaml
asmanur has joined #ocaml
segmond has joined #ocaml
tristero has joined #ocaml
englishm has joined #ocaml
Khady has joined #ocaml
Reventlov has joined #ocaml
acieroid has joined #ocaml
engil has joined #ocaml
teiresias has joined #ocaml
Intensity has joined #ocaml
Guest51705 has quit [Ping timeout: 240 seconds]
<Drup> f2 and f3 should really be identical
arj has quit [Ping timeout: 245 seconds]
<natrium1970> Okay, but I always hate it when grumpy devels put “not a bug” on my bug reports, so I’m reluctant sometimes.
c74d has quit [Remote host closed the connection]
<Drup> well, OCaml is not know for heavy optimisation, but it's known for predictable performances and f2 and f3 should *really* be the same.
<natrium1970> OCaml seems awfully competitive with languages that are known for high performance.
<Drup> (well, maybe a compiler expert will tell you that there is a good reason for f2 not being optimized, but it seems weird)
travisbrady has joined #ocaml
<natrium1970> I don’t know who is who around here at this point. I would like to learn more about why it’s happening.
c74d has joined #ocaml
<natrium1970> The /topic lists 4.02.0 as the latest, by the way.
girrig has quit [*.net *.split]
Snark has quit [*.net *.split]
asmanur has quit [*.net *.split]
segmond has quit [*.net *.split]
tristero has quit [*.net *.split]
Reventlov has quit [*.net *.split]
acieroid has quit [*.net *.split]
englishm has quit [*.net *.split]
Khady has quit [*.net *.split]
engil has quit [*.net *.split]
teiresias has quit [*.net *.split]
Intensity has quit [*.net *.split]
<Drup> ping adrien ^
yomimono has joined #ocaml
btrace has joined #ocaml
AlexRussia has joined #ocaml
bernardofpc has joined #ocaml
iZsh has joined #ocaml
j0sh has joined #ocaml
yomimono has quit [Ping timeout: 255 seconds]
eridu has quit [Ping timeout: 250 seconds]
lordkryss has quit [Quit: Connection closed for inactivity]
<Drup> natrium1970: the compiler team doesn't hang around here all that much. :)
Simn has quit [Quit: Leaving]
girrig has joined #ocaml
Reventlov has joined #ocaml
Intensity has joined #ocaml
englishm has joined #ocaml
asmanur has joined #ocaml
teiresias has joined #ocaml
Snark has joined #ocaml
engil has joined #ocaml
Khady has joined #ocaml
segmond has joined #ocaml
tristero has joined #ocaml
acieroid has joined #ocaml
BitPuffin has quit [Ping timeout: 244 seconds]
<Drup> hum, the lambda code is not the same, apparently f2 allocates a tuple and then access the 4 parts of the tuple, while f3 is doing the equivalent of "let a = r1.num in .... "
<natrium1970> What do you mean by lambda code, in this context?
<Drup> it's one of the internal representation of the compiler
<Drup> it's basically where the "high level" optimizations happen (the few of them we have :D).
<Drup> you can see it with the argument -dlambda
pyon has quit [Ping timeout: 272 seconds]
arj has joined #ocaml
<natrium1970> The parameter naming does not look very pretty with “{ num = a ; denom = b } { num = c ; denom = d }”, no offense.
<Drup> no, it's not
<natrium1970> The interesting thing to me was that the version using “match” produced decent code.
pyon has joined #ocaml
<Drup> tbh, except if your function is ridiculously small, you don't care
arj has quit [Ping timeout: 264 seconds]
<Drup> and if your funtion is ridiculously small, you can use the qualified names as in f1.
<natrium1970> The functions won’t be huge, but they won’t be trivial.
<natrium1970> The “real” math code is a/b * c/d = p/q, where p = a/gcd(a,d) * c/gcd(b,c), and q = b/gcd(b,c) * d/gcd(a,d).
<natrium1970> So, I’m having think, “now b, that’s the denominator of the first one, so it’s r1.denom, etc.”
<natrium1970> But I wanted to find out more for future reference, too.
<Drup> for future reference, just use zarith anyway x)
<natrium1970> I can’t depend on Big_int.
<Drup> zarith≠Big_int
<Drup> (and why ?)
<natrium1970> Okay, it’s not Big_int that’s the problem. It’s the dependence on GMP. I want to be able to use js_of_ocaml.
<Drup> oh, right
<Drup> you can use big_int/num then
<natrium1970> I thought the code for Big_int and Num for js_of_ocaml was just stubs and didn’t actually work yet.
<Drup> afaik, it works.
thomasga has joined #ocaml
<Drup> (we wouldn't have anything special for it if it was just stubs, those are autogenerated when js_of_ocaml can't find the external anyway)
arj has joined #ocaml
thomasga has quit [Client Quit]
rfk has joined #ocaml
<natrium1970> If Num works, that would be fine, I guess.
<natrium1970> Although I was enjoying working on this.
<Drup> Do a zarith.jsoo instead :]
<natrium1970> I hate JS. I don’t even want to look at it. I just want to use it as an intermediate language.
<Drup> I can't argue with that =')
arj has quit [Ping timeout: 272 seconds]
<Drup> (maybe we could compile gmp to js with emscripten and use the result as stubs for zarith :D)
<natrium1970> I saw that someone wanted a pure OCaml Big_int.
travisbrady has quit [Quit: travisbrady]
samuel02 has joined #ocaml
samuel02 has quit [Ping timeout: 272 seconds]
mcclurmc has joined #ocaml
ca__ has joined #ocaml
<ca__> xcc
ca__ has quit [Client Quit]
struk has quit [Ping timeout: 256 seconds]
<natrium1970> optcomp seems to be incompatible with ocaml 4.02.1
rfk has quit [Quit: leaving]
arj has joined #ocaml
<whitequark> that's not the case
araujo has quit [Quit: Leaving]
arj has quit [Ping timeout: 265 seconds]
badkins has joined #ocaml
travisbrady has joined #ocaml
psy_ has quit [Ping timeout: 240 seconds]
struk has joined #ocaml
psy_ has joined #ocaml
ggole has joined #ocaml
samrat has joined #ocaml
<natrium1970> opam fails trying to install it.
<natrium1970> whitequark: http://pastebin.com/yP7etMDD
cesar_ has joined #ocaml
cesar_ is now known as Guest652
<whitequark> don't use system compiler if you want camlp4
travisbrady has quit [Quit: travisbrady]
ivan\ has joined #ocaml
yomimono has joined #ocaml
<natrium1970> I was just wanting to install the “deriving” package, which depends on optcomp. I can do without the deriving package, I guess.
<whitequark> use ppx_deriving :]
<natrium1970> I was just following the directions on the js_of_ocaml page. This camlp4 and ppx is so confusing.
<whitequark> oh, js_of_ocaml.
<vanila> how is js_of_ocaml done?
badon has quit [Ping timeout: 250 seconds]
arj has joined #ocaml
<natrium1970> I can print “hello” and print a number with it. Yea!
<natrium1970> I didn’t intent to imply that that’s the only thing it’s capable of. I just meant that I don’t know much about JS, and I was able to get it to do something, at least.
badkins has quit [Remote host closed the connection]
arj has quit [Ping timeout: 245 seconds]
arj has joined #ocaml
tianon has quit [Ping timeout: 265 seconds]
tianon has joined #ocaml
travisbrady has joined #ocaml
arj has quit [Ping timeout: 250 seconds]
<natrium1970> I think I would have designed Ratio differently than what I’m seeing. And there isn’t enough documentation in the .ml or .mli files to explain certain things.
travisbrady has quit [Client Quit]
q66 has quit [Quit: Leaving]
arj has joined #ocaml
<natrium1970> In case anyone wants to know (and goes searching through the channel logs), js_of_ocaml seems to be able to deal with rational numbers using Num, Ratio, and Big_int.
<whitequark> yes
<natrium1970> It was a learning exercise. I still don’t like the API for Num and Ratio, though.
arj has quit [Ping timeout: 272 seconds]
<whitequark> well, it's horrible
<natrium1970> Pesonally, I don’t need to use Big_int for numerator and denominator, and even with a simple program, I have conversions between int and Big_int all over the place. It would be nice if maybe there were a way to parameterize the underlying numeric type.
<ggole> Use Num.num?
arj has joined #ocaml
arj has quit [Ping timeout: 265 seconds]
darkf_ has joined #ocaml
darkf has quit [Ping timeout: 244 seconds]
darkf_ has quit [Ping timeout: 240 seconds]
darkf has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
badon has joined #ocaml
arj has joined #ocaml
darkf_ has joined #ocaml
darkf has quit [Ping timeout: 258 seconds]
arj has quit [Ping timeout: 240 seconds]
arj has joined #ocaml
badon has quit [Remote host closed the connection]
arj has quit [Ping timeout: 240 seconds]
darkf_ is now known as darkf
badon has joined #ocaml
natrium1970 has quit [Quit: natrium1970]
arj has joined #ocaml
arj has quit [Ping timeout: 264 seconds]
shinnya has quit [Ping timeout: 255 seconds]
slash^ has joined #ocaml
emery has quit [Remote host closed the connection]
samrat has quit [Quit: Computer has gone to sleep.]
emery has joined #ocaml
Guest652 has quit [Read error: Connection reset by peer]
cesar_ has joined #ocaml
cesar_ is now known as Guest16852
yomimono has quit [Ping timeout: 245 seconds]
arj has joined #ocaml
darkf_ has joined #ocaml
darkf has quit [Ping timeout: 265 seconds]
arj has quit [Ping timeout: 256 seconds]
<struk> well, I upgraded lwt-async to latest lwt, I think, but not sure if I will even end up using it. was an interesting exercise at least.
arj has joined #ocaml
darkf has joined #ocaml
darkf_ has quit [Ping timeout: 265 seconds]
arj has quit [Ping timeout: 265 seconds]
vanila has quit [Quit: Leaving]
samuel02 has joined #ocaml
samuel02 has quit [Ping timeout: 264 seconds]
shinnya has joined #ocaml
darkf_ has joined #ocaml
arj has joined #ocaml
darkf has quit [Ping timeout: 272 seconds]
govg has joined #ocaml
arj has quit [Ping timeout: 255 seconds]
tane has joined #ocaml
troydm has quit [Ping timeout: 250 seconds]
samrat has joined #ocaml
arj has joined #ocaml
ygrek has quit [Ping timeout: 264 seconds]
arj has quit [Ping timeout: 258 seconds]
manizzle has quit [Ping timeout: 256 seconds]
darkf has joined #ocaml
darkf_ has quit [Ping timeout: 265 seconds]
manizzle has joined #ocaml
samrat has quit [Quit: Computer has gone to sleep.]
arj has joined #ocaml
arj has quit [Ping timeout: 264 seconds]
ebzzry_ has quit [Remote host closed the connection]
arj has joined #ocaml
mcclurmc has joined #ocaml
arj has quit [Ping timeout: 272 seconds]
mcclurmc has quit [Ping timeout: 240 seconds]
arj has joined #ocaml
ebzzry has joined #ocaml
arj has quit [Ping timeout: 272 seconds]
zwer has quit [Remote host closed the connection]
nojb has joined #ocaml
arj has joined #ocaml
samuel02 has joined #ocaml
arj has quit [Ping timeout: 245 seconds]
samuel02 has quit [Ping timeout: 240 seconds]
nojb has quit [Quit: nojb]
AlexRussia has quit [Ping timeout: 255 seconds]
govg has quit [Quit: leaving]
darkf_ has joined #ocaml
darkf has quit [Ping timeout: 258 seconds]
arj has joined #ocaml
darkf has joined #ocaml
typedlambda has quit [Ping timeout: 250 seconds]
darkf_ has quit [Ping timeout: 265 seconds]
Hannibal_Smith has joined #ocaml
arj has quit [Ping timeout: 256 seconds]
Simn has joined #ocaml
samrat has joined #ocaml
typedlambda has joined #ocaml
chambart has joined #ocaml
samuel02 has joined #ocaml
arj has joined #ocaml
<companion_cube> so, apparently no good way to make yojson and lwt interact properly :(
typedlambda has quit [Ping timeout: 250 seconds]
arj has quit [Ping timeout: 255 seconds]
pierpa has quit [Ping timeout: 265 seconds]
typedlambda has joined #ocaml
pierpa` has quit [Ping timeout: 265 seconds]
chambart has quit [Ping timeout: 255 seconds]
bezirg has joined #ocaml
cthuluh has quit [Ping timeout: 245 seconds]
cthuluh has joined #ocaml
tane has quit [Quit: Verlassend]
arj has joined #ocaml
arj has quit [Ping timeout: 255 seconds]
govg_ has joined #ocaml
claudiuc has quit [Ping timeout: 258 seconds]
arj has joined #ocaml
arj has quit [Ping timeout: 255 seconds]
chambart has joined #ocaml
psy_ has quit [Quit: Leaving]
typedlambda has quit [Ping timeout: 250 seconds]
darkf_ has joined #ocaml
darkf has quit [Ping timeout: 265 seconds]
darkf_ is now known as darkf
chambart has quit [Ping timeout: 265 seconds]
typedlambda has joined #ocaml
typedlambda has quit [Ping timeout: 250 seconds]
arj has joined #ocaml
typedlambda_ has joined #ocaml
typedlambda_ is now known as typedlambda
samrat has quit [Quit: Computer has gone to sleep.]
arj has quit [Ping timeout: 264 seconds]
<adrien> argh
<adrien> qmake is such a piece of crap, down to its design
koderok has joined #ocaml
koderok has quit [Remote host closed the connection]
arj has joined #ocaml
samrat has joined #ocaml
arj has quit [Ping timeout: 255 seconds]
thomasga has joined #ocaml
struk has quit [*.net *.split]
jbalnit has quit [*.net *.split]
struktured_ has quit [*.net *.split]
mawuli has quit [*.net *.split]
zapu has quit [*.net *.split]
\q has quit [*.net *.split]
mearnsh has quit [*.net *.split]
nox has quit [*.net *.split]
dch has quit [*.net *.split]
vincom2 has quit [*.net *.split]
hcarty has quit [*.net *.split]
_habnabit has quit [*.net *.split]
seliopou has quit [*.net *.split]
michipili has joined #ocaml
struk has joined #ocaml
jbalnit has joined #ocaml
struktured_ has joined #ocaml
mawuli has joined #ocaml
zapu has joined #ocaml
\q has joined #ocaml
mearnsh has joined #ocaml
nox has joined #ocaml
dch has joined #ocaml
vincom2 has joined #ocaml
hcarty has joined #ocaml
_habnabit has joined #ocaml
seliopou has joined #ocaml
c74d has quit [Remote host closed the connection]
girrig has quit [*.net *.split]
Snark has quit [*.net *.split]
asmanur has quit [*.net *.split]
segmond has quit [*.net *.split]
tristero has quit [*.net *.split]
Reventlov has quit [*.net *.split]
acieroid has quit [*.net *.split]
englishm has quit [*.net *.split]
Khady has quit [*.net *.split]
engil has quit [*.net *.split]
teiresias has quit [*.net *.split]
Intensity has quit [*.net *.split]
girrig has joined #ocaml
Snark has joined #ocaml
asmanur has joined #ocaml
segmond has joined #ocaml
tristero has joined #ocaml
Reventlov has joined #ocaml
acieroid has joined #ocaml
englishm has joined #ocaml
engil has joined #ocaml
Khady has joined #ocaml
teiresias has joined #ocaml
Intensity has joined #ocaml
c74d has joined #ocaml
typedlambda has quit [Ping timeout: 250 seconds]
thomasga has quit [Quit: Leaving.]
typedlambda has joined #ocaml
marcux has joined #ocaml
arj has joined #ocaml
c74d has quit [Remote host closed the connection]
ygrek has joined #ocaml
bezirg has quit [Ping timeout: 272 seconds]
c74d has joined #ocaml
rand000 has joined #ocaml
BitPuffin has joined #ocaml
arj has quit [Ping timeout: 272 seconds]
c74d has quit [Remote host closed the connection]
samrat has quit [Quit: Computer has gone to sleep.]
c74d has joined #ocaml
bezirg has joined #ocaml
chambart has joined #ocaml
c74d has quit [Remote host closed the connection]
c74d has joined #ocaml
arj has joined #ocaml
arj has quit [Ping timeout: 250 seconds]
arj has joined #ocaml
samuel02 has quit [Remote host closed the connection]
arj has quit [Ping timeout: 264 seconds]
chambart has quit [Ping timeout: 255 seconds]
arj has joined #ocaml
rand000 has quit [Ping timeout: 250 seconds]
choeger_tu has joined #ocaml
arj has quit [Ping timeout: 255 seconds]
oscar_toro has joined #ocaml
rossberg has quit [Ping timeout: 272 seconds]
<marvin-hh> Just out of interest, but is anyone using OCaml here for company purposes instead of a dynamically typed language to make sure that certain undesired program behaviour is not possible to begin with?
<marvin-hh> That is, in a sense to protect against human stupidity and in turn which would allow you to hire *cheaper* developers.
<adrien> you can still write 1+1 when you meant 1+2
<adrien> you're not going to save costs on people that way
<marvin-hh> adrien: yes, but you cannot return void and a Process from the same function.
<adrien> you'll only get more ingenious issues
<mrvn> marvin-hh: people who know ocaml cost more
rossberg has joined #ocaml
<adrien> you could always teach it
<ggole> The type hackery you need to avoid bugs is tricky enough that you'll need more expensive people to wrangle it, unfortunately.
<ggole> *nonobvious bugs
<adrien> where is saves money is on dev speed and the number of bugs
<mrvn> adrien: at which point they then go and take a better paying job
fraggle_ has quit [Remote host closed the connection]
<adrien> the job market for ocaml isn't sufficiently developped for that imho
<ggole> It might save on refactoring time though
<mrvn> FXI: There recently was an article on /. about how code quality relates to programming language used.
<mrvn> FYI
Arsenik has joined #ocaml
<marvin-hh> I write in dynamic programming languages the same as I would do in a static programming language; in fact, it would probably be very easy to translate it to OCaml/Haskell.
<mrvn> I think you use ocaml when a type error will cost you millions, not so you can hire cheaper labor.
<marvin-hh> The reason my programs work, is because I think about what I write.
<adrien> s/millions/thousands/
<adrien> (i.e. two days)
<adrien> (of dev time only)
<marvin-hh> Thinking is a skill which many of our applicants do not have.
<ggole> It's nice to be able to think hard and write down something (like an accurate variant definition) that will save you time later
<ggole> I don't think anything will let you skip the think hard step.
<adrien> not thinking is cross-lanuage unfortunately
<mrvn> marvin-hh: I'm using python at work and I waste so much time on testing and fixing bugs later that ocaml would all find at compile time it is sad.
samrat has joined #ocaml
<mrvn> marvin-hh: esspecially when you change code later.
<marvin-hh> I do wonder what exactly the problem is; our standards, the education system, or the people themselves.
ollehar has joined #ocaml
ollehar has quit [Client Quit]
<mrvn> marvin-hh: education system? Where do you learn coding?
<marvin-hh> Or our limited distribution of people we see.
<marvin-hh> We have seen people from about 15 education institutions some with quite a lot of work experience, some with somewhat less.
samuel02 has joined #ocaml
<marvin-hh> educational*
<marvin-hh> Thusfar, we have been unable to hire anyone above the junior level.
<mrvn> marvin-hh: Do they teach about system programming, maintainability, security, api as a contract?
<marvin-hh> mrvn: I don't know whether all the candidates have followed those courses, but yes, they should all offer courses in those.
arj has joined #ocaml
<mrvn> marvin-hh: That's the problem. Those are usualy somewhere in some optional course and people pick one or two if you're lucky.
<marvin-hh> mrvn: I did all of that, btw.
<marvin-hh> mrvn: it used to be the case that all of those courses were non-optional.
jbalnit has quit [Remote host closed the connection]
psy has joined #ocaml
arj has quit [Ping timeout: 244 seconds]
<marvin-hh> mrvn: one thing we see is that people do their courses and then immediately forget about it; they don't connect the dots between the various courses.
jbalnit has joined #ocaml
<marvin-hh> mrvn: so, all they become are Wikipedia's, without the ability to reason about the connections between the facts.
<mrvn> ack
<marvin-hh> And, yet, when there is a lack of technical knowledge when someone is doing something related to technology, the business does suffer.
samrat has quit [Quit: Computer has gone to sleep.]
<mrvn> I had a course "Conecpts of programming languages" which I found verry helpfull. Gave a nice overview and taste of all the different things out there. What they are, how to use them, why to use them.
<marvin-hh> Sometimes, they aren't even aware that there was a problem in the first place.
<mrvn> marvin-hh: They used Java for 3 weeks and they put down they know Java.
fraggle_ has joined #ocaml
<marvin-hh> mrvn: well, if you know a Turing complete subset of Java, you should be able to program Java.
<marvin-hh> mrvn: but... in practice it is sort of useful to understand that you don't need to reinvent all wheels.
<marvin-hh> mrvn: and it's sort of useful to understand the generics in Java.
<mrvn> marvin-hh: exactly.
<marvin-hh> mrvn: and... to have done remote debugging of a pile of threads on a running system.
<marvin-hh> mrvn: and the list goes on forever.
<marvin-hh> mrvn: having said that, we don't care in which environment people have done similar things for senior roles.
<mrvn> There are things you can teach quickly and things that take years but are transferable. You have to look for people that have the later.
<marvin-hh> Perhaps I am just betraying the global economy that I didn't already move to the US to collect $$$ ;)
chambart has joined #ocaml
arj has joined #ocaml
samrat has joined #ocaml
arj has quit [Ping timeout: 264 seconds]
arj has joined #ocaml
arj has quit [Ping timeout: 240 seconds]
q66 has joined #ocaml
michipili has left #ocaml [#ocaml]
samrat has quit [Ping timeout: 245 seconds]
Hannibal_Smith has quit [Quit: Sto andando via]
samrat has joined #ocaml
AlexRussia has joined #ocaml
shinnya has quit [Ping timeout: 240 seconds]
arj has joined #ocaml
oscar_toro has quit [Ping timeout: 255 seconds]
darkf_ has joined #ocaml
darkf has quit [Ping timeout: 264 seconds]
shinnya has joined #ocaml
arj has quit [Ping timeout: 250 seconds]
axiles has joined #ocaml
thomasga has joined #ocaml
darkf_ has quit [Ping timeout: 264 seconds]
arj has joined #ocaml
arj has quit [Ping timeout: 250 seconds]
marcux has quit [Quit: marcux]
marcux has joined #ocaml
choeger_tu has quit [Quit: choeger_tu]
badkins has joined #ocaml
<ggole> Hmm, doesn't def waste time here any more?
<adrien> he's probably hiding from the implicits-fanatics crowd
* adrien looks at companion_cube
samrat has quit [Ping timeout: 272 seconds]
Guuf has joined #ocaml
<Guuf> Hello people! Mind if I ask a question?
rand000 has joined #ocaml
samrat has joined #ocaml
<Guuf> So, I have installed containers, https://github.com/c-cube/ocaml-containers, from opam. I have managed to get the ocaml repl to load the containers.cma file, but I can not run, say, open CCMap;; without getting the error message “unbound module: CCMap”.
<ggole> You probably want to use #require instead of loading the .cma
<ggole> (I'm not actually sure whether that is your problem though.)
<adrien> probably .cmi not found
<adrien> solution: use topfind/#require :)
<Guuf> Yeah, right, I have used require.
<Guuf> I added this to ~/.ocamlinit:#use "topfind"
<Guuf> #require "containers";;
<Guuf> So when I start ocaml it says:
<Guuf> <myhomefolder>.opam/4.02.1/lib/containers: added to search path
<Guuf> <myhomefolder>.opam/4.02.1/lib/containers/containers.cma: loaded
<ggole> OK, that sounds good
<Guuf> But it doesn’t say anything about a .cmi, is that bad?
<ggole> Sec, I'll try installing it
<ggole> It'll make cube happy, why not :3
<ggole> Works fine here.
<Guuf> Hmm, ok.
<Guuf> Could my installation be broken somehow?
<ggole> I did: opam install containers, ocaml, #use "topfind";;, #require "containers";;, #show CCMap;;
<ggole> (Same version, too - 4.02.1)
<ggole> Um, I guess it's possible?
<Guuf> #show CCMap;; gives “unknown element” for me.
psy has quit [Ping timeout: 240 seconds]
<ggole> Hrm.
<ggole> I dunno.
arj has joined #ocaml
<Guuf> Okay, thank you for you help then. :)
samrat has quit [Ping timeout: 264 seconds]
<ggole> Does ocamlfind list show containers?
<ggole> And are you doing this in a terminal or a program like emacs?
<Guuf> In a terminal, and ocamlfind list show containers, yes.
<Guuf> I am trying to reinstall it now.
<adrien> can you check there's a .cmi next to the .cma?
samrat has joined #ocaml
<Guuf> Hmm, no, there doesn’t seem to be a containers.cmi.
<Guuf> Lots of other .cmi though.
<ggole> There should be a bunch like CCMap.cmi
<Guuf> There actually isn’t any CCMap.cmi.
travisbrady has joined #ocaml
<Guuf> Which is quite odd, since there is one for everything else...
<ggole> Huh, ls ~/.opam/4.02.1/lib/containers/CCMap.cmi shows a file for me
<adrien> also, can you try to use any other module?
<ggole> Sounds like you might have found your problem.
<adrien> like CCNIH (I just made that name up)
<Guuf> open CCMultiMap;; works
arj has quit [Ping timeout: 255 seconds]
<ggole> Broken package? Did you opam update and/or opam upgrade?
<Guuf> Not since before I installed containers.
<ggole> Might try that, then - or inquire with the opam people.
<ggole> It sure sounds like a (partly) broken package.
<Guuf> But it worked for you, so I must have done something wrong.
psy has joined #ocaml
<ggole> let pack_fake_location ~fake t = with_bag_of_holding t (Fake_location fake)
<ggole> ^ actual merlin code
q66[lap] has quit [Read error: Connection reset by peer]
q66[lap] has joined #ocaml
samrat has quit [Ping timeout: 255 seconds]
claudiuc has joined #ocaml
samrat has joined #ocaml
emery has quit [Remote host closed the connection]
hugomg has joined #ocaml
marcux has quit [Quit: marcux]
emery has joined #ocaml
tane has joined #ocaml
arj has joined #ocaml
samuel02 has quit [Remote host closed the connection]
arj has quit [Ping timeout: 255 seconds]
chambart has quit [Ping timeout: 256 seconds]
rand000 has quit [Ping timeout: 240 seconds]
<flux> boh? yeah, that's the CS 101 datastructure.
slash^ has quit [Read error: Connection reset by peer]
BitPuffin has quit [Remote host closed the connection]
BitPuffin has joined #ocaml
<ggole> It's full of Obj.
<ggole> Somebody had a bit of fun with that.
marcux has joined #ocaml
chambart has joined #ocaml
arj has joined #ocaml
travisbrady has quit [Quit: travisbrady]
yomimono has joined #ocaml
arj has quit [Ping timeout: 256 seconds]
bytbox has joined #ocaml
arj has joined #ocaml
chambart has quit [Ping timeout: 255 seconds]
arj has quit [Ping timeout: 264 seconds]
leowzukw has joined #ocaml
bytbox has quit [Remote host closed the connection]
ebzzry_ has joined #ocaml
ebzzry has quit [Ping timeout: 272 seconds]
arj has joined #ocaml
nojb has joined #ocaml
ebzzry_ has quit [Ping timeout: 264 seconds]
malc_ has joined #ocaml
arj has quit [Ping timeout: 264 seconds]
ebzzry_ has joined #ocaml
ebzzry_ has quit [Ping timeout: 255 seconds]
ebzzry__ has joined #ocaml
struk has quit [Ping timeout: 258 seconds]
samuel02 has joined #ocaml
travisbrady has joined #ocaml
struk has joined #ocaml
arj has joined #ocaml
rand000 has joined #ocaml
marcux has quit [Quit: marcux]
fosap__ has joined #ocaml
arj has quit [Ping timeout: 264 seconds]
<fosap__> hi. Can sombody spot the syntax error here? http://pastebin.com/ZzifekFP On line 7, at the "," there is a error, but I don't see any.
<nojb> (x, y)
<nojb> parenthesis are needed
<fosap__> Thanks.
yomimono has quit [Ping timeout: 264 seconds]
nojb has quit [Quit: nojb]
kakadu has joined #ocaml
arj has joined #ocaml
travisbrady has quit [Quit: travisbrady]
ollehar has joined #ocaml
arj has quit [Ping timeout: 264 seconds]
ollehar has quit [Ping timeout: 245 seconds]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
Thooms has joined #ocaml
<struk> is ppx deriving iter a reasonable approach to using different collections with the same algorithm? is there a more common way? using containers btw
<jao> /query NickServ
mcclurmc has joined #ocaml
travisbrady has joined #ocaml
travisbrady has quit [Client Quit]
<Drup> how is ppx_deriving helping you ?
<struk> Drup: derive iter, use iterable contract to not care what type of module is backing the collection?
lordkryss has joined #ocaml
<Drup> and if someone else want to use another collection ?
<Drup> you merely abstracted the collection you use, but didn't make it really parametrized.
badkins has quit [Remote host closed the connection]
<Drup> parametrization by copy pasting is not parametrisation :]
<Drup> (even if Go's people seem to be convinced of the contrarary *cough*)
govg_ has quit [Ping timeout: 245 seconds]
<Drup> if you *really* want parametrization, use a functor.
<struk> Drup: well I was thinking of making a functor for it where the parameter is the iterable contract. its not really for external users either, just so I can have some shraed code among two implementations of something.
<Drup> functor is the way. The fact that the functor takes as input a signature that corresponds to ppx_deriving's generated iter functions is more a convenience thing :)
<struk> Drup: yeah, I meant ppx + functors, basically. sorry
govg has joined #ocaml
<Drup> no problem :p
<Drup> the ppx helps you implement the functions, but it's not really essential in the parametrization. Someone could give the functions by hand :p
<struk> Drup: well aware . I do that often enough just to make merlin stop complaining, then I rip out the definitions after the code compiles.
arj has joined #ocaml
pierpa has joined #ocaml
pierpa` has joined #ocaml
axiles has quit [Quit: Quitte]
arj has quit [Ping timeout: 255 seconds]
marcux has joined #ocaml
NoNNaN has quit [Ping timeout: 250 seconds]
govg has quit [Ping timeout: 264 seconds]
NoNNaN has joined #ocaml
ebzzry__ has quit [Ping timeout: 255 seconds]
govg has joined #ocaml
<Unhammer> eridu https://github.com/unhammer/ocaml_cg_streamparse/commit/8690098377a639c6a992d390570765af662b55ff though I ended up just using a much more succinct thing with plain pcre (my problem doesn't actually require a CFG; I just wanted to try out what a real lex/yacc solution felt like)
<Unhammer> oh, too late
ebzzry has joined #ocaml
<Drup> pcre :<
arj has joined #ocaml
q66[lap] has quit [Read error: Connection reset by peer]
<fosap__> Can I create a statical liked binary with ocaml? It does use plenty of c libraries and I'd like it to be easily distributable.
<fosap__> On Linux
<companion_cube> I'm also interested
q66[lap] has joined #ocaml
waneck has joined #ocaml
ygrek has quit [Ping timeout: 240 seconds]
arj has quit [Ping timeout: 264 seconds]
samrat has quit [Quit: Computer has gone to sleep.]
ebzzry has quit [Read error: Connection reset by peer]
ebzzry has joined #ocaml
malc_ has quit [Quit: leaving]
<Unhammer> Drup, what's the better alternative?
<Unhammer> (the reason I got started with pcre was that it was apt-gettable; I try to be conservative if there's any chance I have to make my boss compile anything =P)
<Drup> anything else than pcre =')
larhat has joined #ocaml
<Drup> isn't menhir apt-gettable too ?
q66[lap]_ has joined #ocaml
thomasga has quit [Quit: Leaving.]
arj has joined #ocaml
q66[lap] has quit [Read error: Connection timed out]
struk has quit [Ping timeout: 240 seconds]
larhat has quit [Ping timeout: 240 seconds]
tokenrov1 is now known as tokenrove
arj has quit [Ping timeout: 265 seconds]
leowzukw has quit [Ping timeout: 264 seconds]
<tokenrove> is there an ocaml regex library that supports a syntax like SRE (Scheme Regular Expressions)? (instead of just posix/pcre strings)
leowzukw has joined #ocaml
<Drup> is SRE like emacs' one ?
nojb has joined #ocaml
<gasche> fosap__ , companion_cube : see the -custom discussion in http://caml.inria.fr/pub/docs/manual-ocaml-400/manual033.html#staticlink-c-code
<tokenrove> drup: not the usual emacs regexps, at least, which are pretty close to posix. SRE is structured rather than being just a string; figured someone would have implemented something like that already since it's a good fit with ml.
<tokenrove> SRE is described here: http://srfi.schemers.org/srfi-115/srfi-115.html
<fosap__> gasche: thanks
<gasche> tokenrove: ocaml-re ( https://github.com/ocaml/ocaml-re ) exposes a datatype of regexps that you can build programmatically, along with parsers for several regex syntaxes into those
<gasche> hm
<gasche> ( in fact there is no concrete datatypes, the constructors are combinators )
<tokenrove> gasche: ah, cool. that's basically what i was looking for.
<tokenrove> thanks.
struk has joined #ocaml
fosap__ has quit [Ping timeout: 265 seconds]
slash^ has joined #ocaml
arj has joined #ocaml
fosap__ has joined #ocaml
arj has quit [Ping timeout: 264 seconds]
ggole has quit []
samuel02 has quit [Remote host closed the connection]
bytbox has joined #ocaml
arj has joined #ocaml
<Unhammer> oh I see https://github.com/ocaml/ocaml-re is apt-gettable :) maybe I should try that
<adrien> Str ftw!
<adrien> only acceptable regex library
arj has quit [Ping timeout: 244 seconds]
Thooms has quit [Quit: WeeChat 1.0.1]
seanmcl has joined #ocaml
chris2 has quit [Ping timeout: 265 seconds]
Anarchos has joined #ocaml
Guest16852 has quit [Remote host closed the connection]
kdef has joined #ocaml
arj has joined #ocaml
hugomg has quit [Ping timeout: 265 seconds]
larhat has joined #ocaml
arj has quit [Ping timeout: 264 seconds]
oscar_toro has joined #ocaml
chris2 has joined #ocaml
larhat has joined #ocaml
cesar_ has joined #ocaml
cesar_ has quit [Remote host closed the connection]
samuel02 has joined #ocaml
choeger_tu has joined #ocaml
arj has joined #ocaml
choeger_tu has quit [Client Quit]
jao has quit [Ping timeout: 258 seconds]
arj has quit [Ping timeout: 245 seconds]
gdsfh has joined #ocaml
gdsfh1 has quit [Ping timeout: 245 seconds]
travisbrady has joined #ocaml
larhat has quit [Quit: Leaving.]
slash^ has quit [Read error: Connection reset by peer]
choeger_tu has joined #ocaml
choeger_tu has quit [Client Quit]
leowzukw_ has joined #ocaml
leowzukw has quit [Ping timeout: 255 seconds]
samuel02 has quit [Remote host closed the connection]
oscar_toro has quit [Ping timeout: 256 seconds]
emery has quit [Ping timeout: 250 seconds]
emery has joined #ocaml
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
leowzukw_ has quit [Quit: leaving]
arj has joined #ocaml
Anarchos has joined #ocaml
arj has quit [Ping timeout: 240 seconds]
bytbox has quit [Ping timeout: 255 seconds]
travisbrady has quit [Quit: travisbrady]
ollehar has joined #ocaml
travisbrady has joined #ocaml
oriba has joined #ocaml
oriba has quit [Remote host closed the connection]
samuel02 has joined #ocaml
kdef has quit [Quit: peace]
q66[lap]_ has quit [Read error: Connection reset by peer]
q66[lap] has joined #ocaml
arj has joined #ocaml
arj has quit [Ping timeout: 264 seconds]
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
samuel02 has quit [Ping timeout: 256 seconds]
fosap_ has joined #ocaml
thomasga has joined #ocaml
fosap__ has quit [Ping timeout: 258 seconds]
oscar_toro has joined #ocaml
q66[lap] has quit [Read error: Connection reset by peer]
q66[lap] has joined #ocaml
cthuluh has quit [Ping timeout: 240 seconds]
thomasga has quit [Quit: Leaving.]
ollehar has quit [Quit: ollehar]
cthuluh has joined #ocaml
arj has joined #ocaml
arj has quit [Ping timeout: 240 seconds]
arj has joined #ocaml
tane has quit [Quit: Verlassend]
arj has quit [Ping timeout: 258 seconds]
bezirg has quit [Ping timeout: 264 seconds]
badon has quit [Remote host closed the connection]
badon has joined #ocaml
nojb has quit [Quit: nojb]
manizzle has quit [Remote host closed the connection]
manizzle has joined #ocaml
<whitequark> /kickban adrien
<Drup> adrien: update the topic to 4.02.1 instead of saying stupidities :)
<adrien> Drup: and which link am I supposed to use?
MercurialAlchemi has quit [Ping timeout: 264 seconds]
arj has joined #ocaml
<adrien> urgh
<adrien> oh, I had read about it but then completely forgot it had been released
<adrien> earlier today I was actually wondering why it was taking so long to release...
<adrien> the URI is fairly bad though
<Drup> not sure if joking or ...
<adrien> it's completely inconsistent
travisbrady has quit [Quit: travisbrady]
troydm has joined #ocaml
travisbrady has joined #ocaml
travisbrady has quit [Client Quit]
<Drup> Tbh, nobody cares.
<Drup> it's a link to the last version, period.
<adrien> then it's bad too
arj has quit [Ping timeout: 272 seconds]
<Drup> don't be picky, just update the topic instead of letting an outdated one.
emery has quit [Remote host closed the connection]
emery has joined #ocaml
<adrien> can you imagine that right now I'm busy?
<Drup> well, no, since you are being picky on irc :D
<adrien> takes much less thinking that changing topics
<Drup> :]
<adrien> write the topic
<Drup> You're kidding ? it's already written, you only have to remove .0 at the end of one of the url.
<adrien> sigh
<adrien> you must really suck at writing
<whitequark> /topic Discussions about the OCaml programming language | http://www.ocaml.org and http://caml.inria.fr | http://ocaml.org/releases/4.02.0.html | Public channel logs at http://irclog.whitequark.org/ocaml
<whitequark> er. /topic Discussions about the OCaml programming language | http://www.ocaml.org and http://caml.inria.fr | http://ocaml.org/releases/4.02.html | Public channel logs at http://irclog.whitequark.org/ocaml
<whitequark> here, I did it for you
<Drup> whitequark: you are really to good, to make copy pastes for him..
vanila has joined #ocaml
<adrien> Drup: go ask gl, go battle #freenode and get +o yourself
<Drup> adrien: then don't ask to "write the topic" when you mean "get mod rights" :)
<whitequark> I like it how adrien still didn't copy-paste the /topic I wrote for him
arj has joined #ocaml
<adrien> idiots
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
<adrien> so
<adrien> it's been more than a month and you feel the urge to harass me into doing it?
<whitequark> yes?
<whitequark> it's a matter of principle now.
<adrien> you think I'm in front of the computer waiting idly on IRC and not doing anything else?
<whitequark> yes!
<Drup> adrien: in fact, I pinged you at least two times about it.
<adrien> next
<adrien> how long have you been on freenode for?
<adrien> learn how to use the services!
<adrien> send that to chanserv: access #ocaml list
arj has quit [Ping timeout: 272 seconds]
<adrien> and for the record, the channel has a weird mode that cannot be changed because of freenode's stupid policies and prevents ops from +o'ing others
kakadu has quit [Quit: Konversation terminated!]
Arsenik has quit [Remote host closed the connection]
<vanila> wHO IS ADRIEN
<adrien> press "caps lock" first
jave has quit [Quit: ZNC - http://znc.in]
<adrien> woohooo, freenode is putting back its groups \o/
<vanila> ???
jave has joined #ocaml
<vanila> Is ocaml bytecode interpreted?
<Drup> that's kinda the principle of bytecode. ;)
<adrien> on freenode, channels which name start with a single '#' must be backed by a "group" but #ocaml has existed for longer and doesn't have an associated group; this has lead to various more or less funny situations
<vanila> interesting
<vanila> ##ocaml has 3 people in it
tobleronegordon has joined #ocaml
<vanila> what is the purpose of compiling ocaml (to bytecode) if ytou just interpret that?
<adrien> compilation checks the code and the bytecode output is quite fast
<Drup> vanila: what is the purpose to compile java to jvm code if you interpret that ?
<mrvn> and compact
<vanila> wouldn't it be fsater to interpret an abstract syntax tree, than bytecode?
<Drup> clearly not
<mrvn> vanila: what is the purpose to compile python to byte code if you interpret that ?
<mrvn> does ocaml bytecode do inlining and the other simple optimizations?
<Drup> bytecode is after lambda, iirc, so, it does some stuff.
<adrien> it even does optimizations
<vanila> I'm not an expert on java and python
<adrien> it gets you some generic optimizations and most importantly, checking and warnings
<cojy> is the bytecode interpreter written in ocaml or C?
<vanila> I was learning about difference between compiled and interpreterd languages
<vanila> but it seems like ocaml is both at once
enitiz has quit [Quit: Leaving]
keen___________7 has joined #ocaml
araujo has joined #ocaml
<adrien> Drup: I change the topic and you fix the "http://ocaml.org/releases/4.02.html" so that it's with 4.02.1 instead (but don't break the current links)
keen___________6 has quit [Ping timeout: 240 seconds]
ChanServ changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.02.1 announcement at http://ocaml.org/releases/4.02.html | Public channel logs at http://irclog.whitequark.org/ocaml
<Drup> I fix ?
<adrien> git commit
<Drup> ah, you want me to do a bugreport on github because you can't, right :D
<adrien> no
<adrien> because I'm going to bed and the current stuff is bad
<adrien> something bigger than removing ".1" has changed in the title
<Drup> why did you removed the official manual ?
<adrien> "manual"?
<Drup> website*
<Drup> well, it's not like it was useful, so why not.
<adrien> because I now consider ocaml.org to be better and extensive enough to replace caml.inria.fr except for very specific things which will be found by other ways anyway
<adrien> except for that "4.02"
<vanila> Ocaml
<vanila> or OCaml?
<adrien> and I made room because long topics are bad
<adrien> "OCaml"
<whitequark> vanila: second
<Drup> adrien: and hum, what do you want me to do exactly ?
arj has joined #ocaml
<adrien> Drup: the link on http://ocaml.org/releases/ should be to "4.02.1.html" and not "4.02.html"
<adrien> so, rename page, update links, provide redirection (or symlink) for people who will still hit the old URI
<Drup> I think we should go the opposite way and have a /latest bug ...
<Drup> but*
<adrien> and I'm being so anal about it because either ocaml.org should have one page per major release, either it should have one per release but not a mix of the two and having links such as "4.02.0" -> "4.02" -> "4.02.2" really sucks (and especially you can't easily naviguate)
<Drup> I don't disagree with that.
<adrien> /latest should be nothing more than a symlink
<vanila> what other languages are good than OCaml and SML?
<Drup> vanila: that's a very vague question.
<adrien> btw, I have contributions on the website already
<adrien> and now I'm going to bed because I'm really exhausted: flu, fixing qt, updating and fixing gtk+, using netbeans and clion, ...
<adrien> (nota bene: netbeans doesn't really run on windows, it half-runs on cygwin)
arj has quit [Ping timeout: 244 seconds]
<whitequark> there is a thing called Xilinx ISE WebPack
<whitequark> on Windows, half of it runs on Cygwin
<whitequark> on Unix, half of it runs on libwine
<vanila> beautiful harmony
<adrien> hahaha
<whitequark> indeed
<cojy> how do the new open types compare to polymorphic variants? can you 'drop' members from an open type or have scoped copies of it or something to get that effect?
<whitequark> polymorphic variants are structural, open types are nominal
<cojy> ok i get that part but what about the rest?
<whitequark> no, you can't drop members or have scoped copies of it
<whitequark> only the constructors that are in scope are accessible
<cojy> do you know of any good way to have an open union of types that can be subtracted from?
<Drup> I would tend to say objects, but I would need a concrete example of a use case.
Simn has quit [Quit: Leaving]
<cojy> Drup: it would be for something like http://okmij.org/ftp/Haskell/extensible/
<Drup> ah right
<Drup> didn't read it yet.
fosap_ has quit [Remote host closed the connection]
arj has joined #ocaml