companion_cube changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.05.0 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.05/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
copy_ has quit [Quit: Connection closed for inactivity]
ryanartecona has quit [Quit: ryanartecona]
keep_learning has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
keep_learning has joined #ocaml
enterprisey has quit [Remote host closed the connection]
malc_ has quit [Quit: ERC (IRC client for Emacs 25.0.50.2)]
ziyourenxiang has quit [Ping timeout: 260 seconds]
Orion3k has joined #ocaml
zwild has joined #ocaml
aantron_ has joined #ocaml
aantron_ has quit [Quit: leaving]
aantron_ has joined #ocaml
jlam__ has joined #ocaml
jlam_ has quit [Ping timeout: 260 seconds]
aantron_ has quit [Client Quit]
silver_ has quit [Read error: Connection reset by peer]
mfp__ has quit [Ping timeout: 248 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
mengu has quit [Quit: Leaving...]
ncthom91 has joined #ocaml
enterprisey has joined #ocaml
swalk has quit [Quit: swalk]
sh0t has quit [Remote host closed the connection]
ncthom91 has quit [Quit: Textual IRC Client: www.textualapp.com]
pierpa has quit [Quit: Page closed]
aantron_ has joined #ocaml
aantron_ has left #ocaml [#ocaml]
aantron_ has joined #ocaml
aantron_ has quit [Remote host closed the connection]
aantron_ has joined #ocaml
aantron_ has quit [Client Quit]
aantron_ has joined #ocaml
aantron_ has quit [Client Quit]
aantron_ has joined #ocaml
aantron_ has quit [Client Quit]
aantron_ has joined #ocaml
ryanartecona has joined #ocaml
jlam_ has joined #ocaml
rpcope has quit [Ping timeout: 255 seconds]
jlam__ has quit [Ping timeout: 248 seconds]
rpcope has joined #ocaml
aantron_ has quit [Quit: leaving]
ryanartecona has quit [Quit: ryanartecona]
samrat_ has joined #ocaml
lostman has joined #ocaml
ryanartecona has joined #ocaml
maxton__ has joined #ocaml
maxton__ has quit [Read error: Connection reset by peer]
maxton__ has joined #ocaml
ryanartecona has quit [Quit: ryanartecona]
ygrek has joined #ocaml
MercurialAlchemi has joined #ocaml
jao has quit [Ping timeout: 276 seconds]
maarhart has joined #ocaml
maarhart has quit [Remote host closed the connection]
M-ErkkiSeppl has joined #ocaml
spacebat_ has quit [Ping timeout: 258 seconds]
spacebat_ has joined #ocaml
ryanartecona has joined #ocaml
ostera has joined #ocaml
ryanartecona has quit [Quit: ryanartecona]
ostera has quit [Client Quit]
samrat[m] has joined #ocaml
Enamex has quit [Ping timeout: 260 seconds]
bsima has quit [Quit: Bye!]
MercurialAlchemi has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
zpe has joined #ocaml
dakk has quit [Ping timeout: 255 seconds]
peterpp has joined #ocaml
darktenaibre has quit [Ping timeout: 240 seconds]
darktenaibre has joined #ocaml
malina has joined #ocaml
ygrek has quit [Ping timeout: 248 seconds]
peterpp has quit [Ping timeout: 240 seconds]
samrat_ has quit [Ping timeout: 240 seconds]
enterprisey has quit [Read error: Connection reset by peer]
Orion3k has quit [Quit: Leaving]
samrat_ has joined #ocaml
zwild has quit [Quit: ERC (IRC client for Emacs 25.2.1)]
zpe_ has joined #ocaml
zpe has quit [Ping timeout: 246 seconds]
dakk has joined #ocaml
govg_ has quit [Quit: leaving]
zpe_ has quit [Remote host closed the connection]
mfp__ has joined #ocaml
samrat_ has quit [Ping timeout: 255 seconds]
samrat_ has joined #ocaml
argent_smith has joined #ocaml
<orbifx[m]> what differences spring to mind when comparing OCaml to SML?
<adrien> ttp://adam.chlipala.net/mlcomp/
<adrien> I don't understand how firefox can regularly lose this 'h' when double-clicking to select a URI from the address bar
<adrien> I don't agree with everything on that page though
kakadu has joined #ocaml
freusque has quit [Quit: WeeChat 1.9]
freusque has joined #ocaml
kakadu_ has joined #ocaml
kakadu has quit [Ping timeout: 255 seconds]
malina has quit [Ping timeout: 255 seconds]
freusque has quit [Ping timeout: 255 seconds]
zpe has joined #ocaml
slack1 has quit [Remote host closed the connection]
slack has joined #ocaml
jao has joined #ocaml
freusque has joined #ocaml
zwild has joined #ocaml
zwild has quit [Remote host closed the connection]
zwild has joined #ocaml
zwild has quit [Client Quit]
zwild has joined #ocaml
jlam_ has quit [Ping timeout: 246 seconds]
<orbifx[m]> I think I've seen this before adrien
<orbifx[m]> Thanks thought, had forgotten about it
zwild has quit [Remote host closed the connection]
zwild has joined #ocaml
zpe has quit [Ping timeout: 260 seconds]
samrat_ has quit [Ping timeout: 255 seconds]
maxton__ has quit [Ping timeout: 240 seconds]
ansiwen has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
malina has joined #ocaml
ansiwen has joined #ocaml
ansiwen has quit [Client Quit]
malina has quit [Remote host closed the connection]
sparkyy has joined #ocaml
swalk has joined #ocaml
<Drup> (that page is very very old, and hence partially wrong nowadays)
<rks`> (were module types required to start with a capital letter in the past?)
andreas_ has joined #ocaml
<_y> (is it not the case today?)
<zozozo> it seems destructive substitution is quite restrtictive, i.e I can't seem to with something like: (A : S with type clause := formula list), though it can be done with a simple "=", is there a profound reason ?
<zozozo> s/with/do
<rks`> _y: nope
sepp2k has joined #ocaml
mrvn has left #ocaml [#ocaml]
<zozozo> rks`: thx
<Leonidas> yeah, the comparison page is kinda weird and outdated
<Leonidas> at least on the ocaml side, but I suppose SML hasn't changed much
<Leonidas> also the example how semicolons match is not really relevant
dhil has joined #ocaml
* Leonidas kinda prefers to think of semicolon as (;) operator
dakk has quit [Ping timeout: 240 seconds]
swalk has quit [Quit: swalk]
zpe has joined #ocaml
zpe has quit [Ping timeout: 260 seconds]
_andre has joined #ocaml
rwmjones has quit [Ping timeout: 276 seconds]
rwmjones has joined #ocaml
swalk has joined #ocaml
voglerr has joined #ocaml
swalk has quit [Quit: swalk]
nightmared has quit [Ping timeout: 246 seconds]
nightmared has joined #ocaml
Enamex has joined #ocaml
dakk has joined #ocaml
voglerr has quit []
zpe has joined #ocaml
zpe has quit [Ping timeout: 260 seconds]
butts_butts has joined #ocaml
dakk has quit [Quit: Leaving]
dakk has joined #ocaml
sam____ has joined #ocaml
flo2 has joined #ocaml
sh0t has joined #ocaml
darktenaibre has quit [Ping timeout: 255 seconds]
darktenaibre has joined #ocaml
jlam_ has joined #ocaml
freusque has quit [Quit: WeeChat 1.9]
freusque has joined #ocaml
lapinot has joined #ocaml
dhil has quit [Ping timeout: 260 seconds]
samrat_ has joined #ocaml
cranmax has joined #ocaml
swalk has joined #ocaml
zpe has joined #ocaml
zwild has quit [Ping timeout: 240 seconds]
zpe has quit [Ping timeout: 240 seconds]
zwild has joined #ocaml
<flo2> regarding the skylake kaby lake hardware bug, what is the recommended solution for ocaml 4.03.0 versions
<flux> disable hyperthreading?
<flux> or apply microcode updates
<flo2> not a possibility
<theblatte> apply the intel microcode fix?
<xvilka> afair they provided u-code fixes
<flo2> i read about this tweak gcc options to try work around this bug pull request for ocaml 4.05
<flo2> setting fno-tree-vrp for gcc
<flux> I haven't read aboutt them, but personally I would avoid fixes that "might" workaround it, given the failure mode..
<flo2> this one
<flux> well, it seems it has been applied only to 4.05
sepp2k has quit [Read error: Connection reset by peer]
<flux> if you are not able to update, patching your local ocaml 4.03 doesn't seem bad. just guessing the ticket might be moving slower during the summer re. releases for 4.03 and 4.04..
<theblatte> so the goal is to fix ocaml while keeping a broken CPU?
sepp2k has joined #ocaml
<theblatte> OCaml may not be the only thing affected by the bug
<flo2> do i understand it correctly that just setting this fno-tree-vrp at configure time, fixes this issue?
<adrien> flo2: how is the µcode update not possible?
<flo2> adrien: you cant force everyone to do this code upgrade, unfourtnatly
jlam__ has joined #ocaml
zwild has quit [Ping timeout: 268 seconds]
<flux> a library to reliably detect the situation would be nice :)
jlam_ has quit [Ping timeout: 240 seconds]
<flo2> so what is the exact way to call configure?
dhil has joined #ocaml
<flo2> flux: is there some kind of roadmap for the patch releases for 4.03?
<adrien> flo2: depends on the setup
<adrien> on linux distributions, you could
<adrien> even on windows it could be OK
<flo2> adrien: but on windows it does not affect because it does not use gcc?
<adrien> you can use gcc on windows
<adrien> but I see
<flo2> adrien: we are using vc140
<adrien> so, ok
samrat_ has quit [Ping timeout: 248 seconds]
<flo2> adrien: but i am still uncertain what i should write as argument for the configure
butts_butts has quit [Remote host closed the connection]
aciniglio has joined #ocaml
zpe has joined #ocaml
jlam_ has joined #ocaml
jlam__ has quit [Ping timeout: 255 seconds]
zpe has quit [Ping timeout: 248 seconds]
<flo2> or would it be better to just wait for a new 4.03 release with that patch?
freusque has quit [Quit: WeeChat 1.9]
freusque has joined #ocaml
<adrien> is it planned to do that?
<freusque> hello everyone. What are the advantages of a source-level package manager? I'm trying to understand what is the rationale of having opam versus using external tools such as nix.
<theblatte> it would be great if opam shipped binaries too
govg has joined #ocaml
<octachron> adrien, flo2, afaik, there is no planned bug fixes release of 4.03
<flo2> octachron: thanks for that info, will that patch be applied to the next 4.04 release?
<octachron> flo2, note that the patch only decreases the probability of the hardware bug being trigered by OCaml GC
<octachron> without the corresponding μcode update, the bug can still be trigered by other sources
<flo2> octachron: only decrease? i thought that would make sure that ocaml can not trigger this issue?
<flo2> octachron: ok
<octachron> flo2, at the core, this is an hardward bug ; it just happened that one of the OCaml gc tight loop triggered it with a quite high probability. The patch fix this probability to go back to normal background probability
jlam_ has quit [Ping timeout: 246 seconds]
jlam_ has joined #ocaml
<def`> octachron: is that explained somewhere ?
maarhart has joined #ocaml
jlam__ has joined #ocaml
ryanartecona has joined #ocaml
Mercuria1Alchemi has joined #ocaml
maarhart has quit [Client Quit]
jlam_ has quit [Ping timeout: 240 seconds]
<gasche`> flo2: we don't know if -fno-tree-vrp avoids the issue entirely
<gasche`> we only know that it was not reproduced with the flag used, I think
jlam_ has joined #ocaml
<gasche`> (I don't know if backports of 4.03 or 4.04 with the fix are planned, but this can be discussed; could you tell a bit more about what your use-case is, how you install OCaml, and why moving to more recent versions is not an option?)
<def`> octachron: ahh I see, you were talking about ocaml patch, not microcode patch :P
<gasche`> (yeah I also just noticed that octachron already said all of the above, apologies)
<flo2> gasche: ocaml 4.05 will be released soon?
<octachron> `def: yes, and that was my tl;dr version of various dicussions on the subject, I am not sure if there is a synthetic source on the subject somewhere
<def`> octachron: yes that makes sense
jlam__ has quit [Ping timeout: 260 seconds]
<octachron> flo2, is one week ago soon enough?
enterprisey has joined #ocaml
ziyourenxiang has joined #ocaml
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 260 seconds]
<flo2> octachron: yes thats very good news :)
Guest11402 is now known as ousado
ousado has quit [Changing host]
ousado has joined #ocaml
zpe has joined #ocaml
<ousado> Hi - it seems that a repeated external function call (get_time) is being optimized away and the result is being replaced with the result of the first call, is there an annotation to prevent that?
<orbifx[m]> ousado: any snippets?
zpe has quit [Ping timeout: 276 seconds]
<ousado> it's in the haxe compiler: https://github.com/HaxeFoundation/haxe/blob/development/src/generators/gencpp.ml#L8256 - Common.timer uses an external function to get the elapsed time, the second call happens in line 8266
<def`> ousado: that seems impossible.
<def`> What makes you think that the call is removed?
<ousado> I verified that the result is being reused by adding mutliple calls interleaved with Unix.sleepf(..) calls
<ousado> because it returns the same value each time, even 30 seconds later
<ousado> this is the only place in the compiler where that happens, so it's indeed strange
<def`> you call get_time , sleepf, then get_time ?
<ousado> yes
<ousado> 3 times over
cranmax has quit [Quit: Connection closed for inactivity]
<def`> sleepf is not spending any time
<def`> so process times should not increase when you call sleepf
<ousado> oh, I just noticed it uses times
<ousado> right, I think that's it
<ousado> thanks
<Armael> /w 13
Mercuria1Alchemi has quit [Ping timeout: 255 seconds]
dakk has quit [Ping timeout: 260 seconds]
zpe has joined #ocaml
johnelse has joined #ocaml
zpe has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
Mercuria1Alchemi has joined #ocaml
Mercuria1Alchemi has quit [Ping timeout: 248 seconds]
malina has joined #ocaml
sam____ has quit [Ping timeout: 260 seconds]
Mercuria1Alchemi has joined #ocaml
sepp2k has quit [Quit: Leaving.]
average has joined #ocaml
ziyourenxiang has quit [Ping timeout: 248 seconds]
dakk has joined #ocaml
sepp2k has joined #ocaml
sam____ has joined #ocaml
Mercuria1Alchemi has quit [Ping timeout: 248 seconds]
copy_ has joined #ocaml
sam____ has quit [Ping timeout: 255 seconds]
handlex has joined #ocaml
ygrek has joined #ocaml
handlex has quit [Ping timeout: 240 seconds]
Enamex has quit [Ping timeout: 260 seconds]
andreas_ has quit [Quit: Connection closed for inactivity]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 255 seconds]
sam____ has joined #ocaml
sam____ has quit [Ping timeout: 240 seconds]
dejanr has quit [Quit: Textual IRC Client: www.textualapp.com]
sepp2k has quit [Ping timeout: 255 seconds]
dejanr has joined #ocaml
tane has joined #ocaml
malina has quit [Ping timeout: 260 seconds]
KeyJoo has joined #ocaml
dhil has quit [Ping timeout: 258 seconds]
mengu has joined #ocaml
TheLemonMan has joined #ocaml
ryanartecona has quit [Quit: ryanartecona]
MercurialAlchemi has quit [Ping timeout: 268 seconds]
MercurialAlchemi has joined #ocaml
tane has quit [Quit: Leaving]
TarVanimelde has joined #ocaml
jlam__ has joined #ocaml
jlam_ has quit [Ping timeout: 240 seconds]
ryanartecona has joined #ocaml
mengu has quit [Quit: Leaving...]
sam____ has joined #ocaml
aciniglio has quit [Ping timeout: 276 seconds]
sam____ has quit [Ping timeout: 268 seconds]
TarVanimelde has quit [Quit: TarVanimelde]
maxton has joined #ocaml
<maxton> Why is it that (exception) constructors don't support partial application?
infinity0_ has joined #ocaml
infinity0_ has quit [Changing host]
infinity0 has joined #ocaml
infinity0 has quit [Killed (verne.freenode.net (Nickname regained by services))]
<maxton> They seem to work like functions, but if I have `` exception Ex of string `` I can't pass Ex to a function, but instead have to use (fun x -> Ex x)
<zozozo> maxton: because constructors are *not* functions
<zozozo> they are treated differently and also have a different syntax
jlam_ has joined #ocaml
jlam__ has quit [Ping timeout: 248 seconds]
pierpa has joined #ocaml
rpcope has quit [Ping timeout: 246 seconds]
rpcope has joined #ocaml
sam____ has joined #ocaml
enterprisey has quit [Read error: Connection reset by peer]
sam____ has quit [Ping timeout: 276 seconds]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
argent_smith1 has joined #ocaml
argent_smith has quit [Ping timeout: 240 seconds]
ryanartecona has quit [Quit: ryanartecona]
argent_smith has joined #ocaml
<Leonidas> at least in OCaml. In SML and Caml Light they were like functions.
peterpp has joined #ocaml
argent_smith1 has quit [Ping timeout: 276 seconds]
rpcope has quit [Ping timeout: 268 seconds]
sh0t has quit [Remote host closed the connection]
argent_smith has quit [Ping timeout: 240 seconds]
<zozozo> Leonidas: well, actually, it seems like the function part of constructors was dropped specifically for Caml Light according to this archive of the mailing list http://caml.inria.fr/pub/ml-archives/caml-list/2001/08/47db53a4b42529708647c9e81183598b.en.html
peterpp has quit [Ping timeout: 240 seconds]
<Leonidas> zozozo: weird, I believe I compiled CL some time ago and constructors were like functions. Maybe I misremembered
rpcope has joined #ocaml
<zozozo> ^^
<Leonidas> at least Caml had this at one point in its history
<lapinot> imho this is consistant with the fact that constructors are not curryfied (although haskell takes the other path and has them curryfied and function like
<lapinot> i do prs
<lapinot> sry, on my phone... I do prefer the haskell way: there is one obvious way to assign a type to a constructor, and it's the type of a function, no matter how different it is from the compilers point of view
sh0t has joined #ocaml
cranmax has joined #ocaml
dakk has quit [Remote host closed the connection]
<_y> Leonidas, it was, syntax-wise
kakadu_ has quit [Remote host closed the connection]
dakk has joined #ocaml
KeyJoo has quit [Ping timeout: 248 seconds]
pierpa has quit [Quit: Page closed]