adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.02.2 announced http://ocaml.org/releases/4.02.html | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
rgrinberg has quit [Ping timeout: 252 seconds]
ontologiae has quit [Ping timeout: 240 seconds]
rgrinberg has joined #ocaml
nullcatxxx_ has joined #ocaml
nullcatxxx_ has quit [Client Quit]
ollehar has quit [Remote host closed the connection]
nullcatxxx_ has joined #ocaml
nyon-zero-pyon is now known as nyon-acceptable
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
lolisa has quit [Quit: meow]
johnf_ has quit [Read error: Connection reset by peer]
lolisa has joined #ocaml
nyon-acceptable is now known as nyon-terminating
tnguyen has quit [Quit: tnguyen]
tnguyen has joined #ocaml
WhiteRose has left #ocaml ["再见"]
jao has quit [Ping timeout: 246 seconds]
tnguyen has quit [Quit: tnguyen]
johnf_ has joined #ocaml
ob__ has joined #ocaml
ob__ has left #ocaml [#ocaml]
yaewa has joined #ocaml
johnf_ has quit [Read error: Connection reset by peer]
moei has quit [Ping timeout: 264 seconds]
demonimin has quit [Ping timeout: 246 seconds]
nyon-terminating is now known as pyon
darkf has joined #ocaml
samrat has joined #ocaml
shinnya has quit [Ping timeout: 268 seconds]
mea-culpa has joined #ocaml
johnf_ has joined #ocaml
rgrinberg has quit [Ping timeout: 240 seconds]
BitPuffin|osx has quit [Ping timeout: 250 seconds]
johnf_ has quit [Read error: Connection reset by peer]
mea-culpa has quit [Remote host closed the connection]
samrat has quit [Ping timeout: 252 seconds]
mac10688 has quit [Ping timeout: 246 seconds]
tnguyen has joined #ocaml
tnguyen has quit [Client Quit]
tnguyen has joined #ocaml
samrat has joined #ocaml
tmtwd has joined #ocaml
tnguyen has quit [Quit: tnguyen]
tnguyen has joined #ocaml
psy_ has joined #ocaml
demonimin has joined #ocaml
MercurialAlchemi has joined #ocaml
slash^ has joined #ocaml
tmtwd has quit [Ping timeout: 240 seconds]
pyon has quit [Quit: F...ix you, Emacs.]
nyon has joined #ocaml
Snark has quit [Quit: leaving]
Snark has joined #ocaml
nzyuzin has joined #ocaml
samrat has quit [Ping timeout: 250 seconds]
<meiji11> es
<meiji11> es
meiji11 has left #ocaml ["ERC Version 5.3 (IRC client for Emacs)"]
Simn has joined #ocaml
oscar_toro has joined #ocaml
ontologiae has joined #ocaml
ontologiae has quit [Ping timeout: 255 seconds]
ontologiae has joined #ocaml
oscar_toro has quit [Read error: Connection reset by peer]
oscar_toro has joined #ocaml
oscar_toro has left #ocaml [#ocaml]
yaewa has quit [Quit: Leaving...]
moei has joined #ocaml
rand__ has joined #ocaml
zol1 is now known as zol
ontologiae has quit [Ping timeout: 240 seconds]
zpe has joined #ocaml
lolisa has quit [Quit: meow]
sh0t has joined #ocaml
ely-se has joined #ocaml
<flux> fast-forwarded through the state of ocaml 2015 representation, sadly no state of multicore mentioned
antkong has joined #ocaml
Hetu has joined #ocaml
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
<adrien> has anyone here paid attention to the cross-compilation issue where ocaml currently tries to dlopen() the C libraries it links against in bytecode in order to ensure that all the symbols are available?
<adrien> and has looked at ld's --no-undefined option
LnL has joined #ocaml
Haudegen has quit [Ping timeout: 255 seconds]
ely-se has quit [Quit: Leaving]
Haudegen has joined #ocaml
rgrinberg has joined #ocaml
ggole has joined #ocaml
antkong has quit [Quit: antkong]
rgrinberg has quit [Ping timeout: 264 seconds]
antkong_ has joined #ocaml
ely-se has joined #ocaml
jbrown has quit [Ping timeout: 250 seconds]
jbrown has joined #ocaml
jbrown has quit [Ping timeout: 260 seconds]
obadz has quit [Ping timeout: 240 seconds]
jbrown has joined #ocaml
obadz has joined #ocaml
jbrown has quit [Ping timeout: 265 seconds]
jbrown has joined #ocaml
antkong_ has quit [Quit: antkong_]
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 268 seconds]
Simn has quit [Ping timeout: 252 seconds]
Hetu has quit [Ping timeout: 246 seconds]
nullcatxxx_ has joined #ocaml
BitPuffin|osx has joined #ocaml
rand__ has quit [Quit: leaving]
sepp2k has joined #ocaml
zpe has quit [Remote host closed the connection]
jbrown has quit [Ping timeout: 246 seconds]
jbrown has joined #ocaml
rgrinberg has joined #ocaml
rgrinberg has quit [Ping timeout: 260 seconds]
tnguyen has quit [Read error: Connection reset by peer]
tnguyen has joined #ocaml
jbrown has quit [Ping timeout: 264 seconds]
jbrown has joined #ocaml
tmtwd has joined #ocaml
JuggleTux has joined #ocaml
ibor has joined #ocaml
Simn has joined #ocaml
dhil has joined #ocaml
dhil has quit [Quit: Leaving]
dhil has joined #ocaml
poulpeux has joined #ocaml
mac10688 has joined #ocaml
poulpeux has quit [Client Quit]
keen_ has joined #ocaml
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
shinnya has joined #ocaml
mac10688 has quit [Ping timeout: 255 seconds]
Hrorek has joined #ocaml
<Hrorek> why does 800/80/8 evaluate to 1
<ely-se> because 800 / 80 is 10, and 10 / 8 is 1.25, which is truncated to 1 because that's how integer division works
<Hrorek> how do I perform a float division
<ely-se> convert the arguments to floats first
<Hrorek> the repl gives an error when I do 800.0/80.0
<ely-se> and also use the float division operator
<ely-se> 100.0 /. 80.0 /. 8.0
<Hrorek> ah, gotcha
<ely-se> integer and floating point arithmetic use different operators
<ely-se> the floating point ones are suffixed with a period; +., -., *. and /..
octachron has joined #ocaml
nullcatxxx_ has joined #ocaml
Hrorek has quit [Read error: Connection reset by peer]
cthuluh has quit [Ping timeout: 246 seconds]
cthuluh has joined #ocaml
Kakadu has joined #ocaml
Tekilla has joined #ocaml
Haudegen has quit [Ping timeout: 250 seconds]
travisbrady has joined #ocaml
ely-se has quit [Quit: Leaving]
cthuluh has quit [Ping timeout: 260 seconds]
cthuluh has joined #ocaml
Haudegen has joined #ocaml
ely-se has joined #ocaml
larhat1 has joined #ocaml
nullcatxxx_ has quit [Ping timeout: 250 seconds]
nullcatxxx_ has joined #ocaml
rgrinberg has joined #ocaml
snyp has joined #ocaml
ibor has quit [Ping timeout: 256 seconds]
nullcatx_ has joined #ocaml
nullcatxxx_ has quit [Ping timeout: 252 seconds]
ril has joined #ocaml
tane has joined #ocaml
nullcatx_ has quit [Quit: gone...]
Tekilla has quit [Read error: Connection reset by peer]
octachron has quit [Quit: Leaving]
poulpeux has joined #ocaml
mcclurmc has joined #ocaml
sh0t has quit [Read error: No route to host]
mort___ has joined #ocaml
sh0t has joined #ocaml
<poulpeux> Hello, is there a way to save caml values from garbage collection in C side ? I have heard of CAMLparam and CAMLlocal, but I would like a caml value to live much longer. Should I treat it as a global variable, and use caml_register_global_root ?
ibor has joined #ocaml
JuggleTux has quit [Ping timeout: 240 seconds]
mcclurmc has quit [Remote host closed the connection]
mcclurmc has joined #ocaml
larhat1 has quit [Quit: Leaving.]
sh0t has quit [Read error: Connection reset by peer]
sh0t has joined #ocaml
<Kakadu> I think caml_register_global_root is OK
travisbrady has quit [Quit: travisbrady]
swgillespie has joined #ocaml
swgillespie has left #ocaml [#ocaml]
<poulpeux> Thank you.
mcclurmc has quit [Remote host closed the connection]
zol has quit [Disconnected by services]
JuggleTux has joined #ocaml
zol1 has joined #ocaml
sh0t has quit [Read error: Connection reset by peer]
sh0t has joined #ocaml
sh0t has quit [Client Quit]
ril has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
zpe has joined #ocaml
travisbrady has joined #ocaml
Algebr has joined #ocaml
xet7_ has joined #ocaml
travisbrady has quit [Quit: travisbrady]
sh0t has joined #ocaml
travisbrady has joined #ocaml
dhil has quit [Remote host closed the connection]
johnf_ has joined #ocaml
travisbrady has quit [Quit: travisbrady]
Topher_ has joined #ocaml
larhat1 has joined #ocaml
Haudegen has quit [Ping timeout: 256 seconds]
rgrinberg has quit [Ping timeout: 250 seconds]
Topher_ has quit [Quit: This computer has gone to sleep]
Haudegen has joined #ocaml
mcclurmc has joined #ocaml
Hetu has joined #ocaml
snyp has quit [Quit: WeeChat 1.3]
snyp has joined #ocaml
obadz has quit [Ping timeout: 250 seconds]
obadz has joined #ocaml
Hetu has quit [Remote host closed the connection]
darkf has quit [Quit: Leaving]
johnf_ has quit [Read error: Connection reset by peer]
JuggleTux has quit [Ping timeout: 240 seconds]
mcclurmc has quit [Remote host closed the connection]
mcclurmc has joined #ocaml
poulpeux has quit [Quit: Leaving]
mcclurmc has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
empyrean has joined #ocaml
johnf_ has joined #ocaml
zpe has quit [Remote host closed the connection]
rand__ has joined #ocaml
Simn has quit [Quit: Leaving]
yomimono has joined #ocaml
JuggleTux has joined #ocaml
tnguyen has quit [Quit: tnguyen]
tnguyen has joined #ocaml
malc_ has joined #ocaml
tnguyen has quit [Client Quit]
rgrinberg has quit [Ping timeout: 246 seconds]
mcclurmc has joined #ocaml
travisbrady has joined #ocaml
rgrinberg has joined #ocaml
snyp has quit [Quit: WeeChat 1.3]
mcclurmc has quit [Remote host closed the connection]
mcclurmc has joined #ocaml
shinnya has quit [Ping timeout: 240 seconds]
mcclurmc has quit [Remote host closed the connection]
mort___ has quit [Quit: Leaving.]
ibor has quit [Ping timeout: 252 seconds]
ibor has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
ygrek has joined #ocaml
ibor has quit [Ping timeout: 252 seconds]
empyrean has quit [Remote host closed the connection]
ollehar has joined #ocaml
ggole has quit []
travisbrady has quit [Quit: travisbrady]
tnguyen has joined #ocaml
LnL has quit [Ping timeout: 260 seconds]
tane has quit [Quit: Verlassend]
ibor has joined #ocaml
travisbrady has joined #ocaml
<orbitz> companion_cube: does containers hav ea clear end state?
<companion_cube> you mean, will it freeze at some point?
<orbitz> LIke is there a feature complete
travisbrady has quit [Quit: travisbrady]
<companion_cube> hmm, no ^^
<companion_cube> maybe at some point it will be perfect, but I doubt it :)
MercurialAlchemi has quit [Ping timeout: 265 seconds]
<orbitz> I don't mean liek no changes but more like, will it grow to infinity like Core
ygrek has quit [Ping timeout: 244 seconds]
<companion_cube> no, the core is meant to be quite small, and it will certainly not grow interdependencies like core
<companion_cube> the core of containers*
<companion_cube> otoh containers.data contains a decent amount of stuff now :)
<companion_cube> theoretically if you use 1 module out of 10, you only link to this one
<orbitz> Is there any cost in Ocaml to overlaying a function? Like if I do let x ~f l = List.filter f l, is that free?
<companion_cube> I don't k now, that depends on the inliner :/
<companion_cube> do you miss labels that much?
<orbitz> yes :)
<orbitz> It makes code much more readable IMO
<ely-se> whoo, my COBOL compiler can now compile calls with BY REFERENCE arguments :P
<Kakadu> Hey, folks. Do you ever think about embedding something from relational languages to OCaml or seen any papers about it?
<orbitz> fold, for example, I can never remember the order of params
yomimono has quit [Quit: Leaving]
<companion_cube> orbitz: that's less of a hassle for me with merlin now
<companion_cube> kakadu: there is mini kanren, if that's what you are referring to
<orbitz> taht is nice for writing code, but I like to be able to easily read code without depedning on mye ditor
<companion_cube> right
<companion_cube> remind me, if a function has labels and is applied without labels, does it work?
<orbitz> no, i don't think so
<Kakadu> companion_cube: What do you think about it?
<companion_cube> nothing
<companion_cube> oh it works
<orbitz> Oh wait
<orbitz> I lied
<orbitz> i does
<orbitz> :)
<orbitz> whoops, just tested
<companion_cube> are you on containers-users?
<orbitz> Yes, afaik I'm the second person to post on it ;)
malc_ has left #ocaml [#ocaml]
<companion_cube> oh, was that you?
<orbitz> Yep
<companion_cube> :)
<orbitz> I wouldn't mind giving up Core. My biggest problem right now is Async
<ely-se> get stackful coroutines to work, no more need for asynchronity since you can turn async and sync into one another cheaply
<orbitz> indeed
<Algebr> I keep trying to use result types but it always ends up a hassle, core/async made it easy to use result types
<orbitz> any update on that?
<companion_cube> you prefer Async to Lwt, or is it just the cost of moving?
<orbitz> I like the Async error model more than Lwt
<companion_cube> I don't use futures a lot, but when I do I tend to use explicit errors (`Ok | `Error)
<orbitz> Async also integrates well with Core, which I'm using. So patially it's just the cost of omving
<Algebr> orbitz: yea, async's error model was well though out.
<orbitz> I have a faira mount of code in Core
<Algebr> thought*
<orbitz> But looking at async code now, they don't support kqueue, which will be a showstopper for me.
<orbitz> I'd like something that just wraps libev
<Algebr> I thought there already was a libev library
<orbitz> I think lwt uses kqueue
<orbitz> Algebr: Async does no use libev as far as I can tell
<Algebr> I meant opam search libev
<orbitz> yes, it's caleld conf-libev
<orbitz> companion_cube: do you know what hte plan is for Lwt once this multicore stuff comes out? Will Lwt be less meaningful?
ontologiae has joined #ocaml
<companion_cube> I don't know
<companion_cube> I suppose Lwt will use the effect mechanism
<companion_cube> (if it is included in multicore)
<companion_cube> so 'a Lwt.t will still indicate blocking, but will work differently underneath
<Drup> lwt cares about concurency, multicore cares about paralelism
<Drup> so there are still uses for lwt
<companion_cube> I suppose Lwt_preemptive will e more useful
JuggleTux has quit [Ping timeout: 256 seconds]
<Drup> yeah
JuggleTux has joined #ocaml
<companion_cube> Drup: what do you think about labels in containers?
mort___ has joined #ocaml
<Drup> I like labels
<companion_cube> I didn't think much about it before, but since it's possible to add them without breaking compat...
<companion_cube> (you didn't register to containers-users yet, did you?)
<Drup> hum ? no it's not ...
<Drup> except if you add a new interface, ListLabels, that nobody is going to use because the module name is far too long
<ely-se> what are labels?
<ely-se> in C they're targets for gotos eek :[
travisbrady has joined #ocaml
<orbitz> companion_cube: see email for where backwards compat might break
<ely-se> ok :3
<ely-se> ooooh
<ely-se> yes that I remember
<Drup> companion_cube: link to the mailing list already ? :D
<Drup> Ah, you finally got one there, good
<companion_cube> hmm, it breaks at partial calls, I suppose?
<companion_cube> yes
<Drup> so no, I was not subsribed to that one
<companion_cube> look at the archive to see what you missed (not much)
<companion_cube> aww shit, indeed, those combinators do appear partially applied -_-
<Drup> companion_cube: first, there is that
<Drup> and second, labels break high order usages
<Drup> this is why you have to be very careful where you use them
<companion_cube> I know, but do you often pass List.map as an argument?
<companion_cube> the |> use case is much more problematic
<Drup> it happens ...
<Drup> not often, but it does
<Drup> You asked about back compat, I answer :)
<Drup> Adding labels does break compat in many ways
<companion_cube> yep
<companion_cube> so... FooLabels? :/
<orbitz> Drup: is the ListLabel solution free?
<Drup> it's free and crap
<orbitz> I was actuallyt hinking of containers.labels
<companion_cube> that leaves little solutions
<orbitz> Just a lirbary that overlays on contaienrs
<Drup> orbitz: that would work better
<orbitz> so containers.labels.data etc
<companion_cube> that looks quite painful to paintain
<companion_cube> maintain
<orbitz> yep, definitnely
<orbitz> but maintains backwars compat
<Drup> :/
travisbrady has quit [Quit: travisbrady]
<orbitz> Possibly you could use travis or soemthing to ensure some testing for it
shinnya has joined #ocaml
<companion_cube> I know it's stupid, but could I duplicate some functions (map -> map', say) with labels, and deprecate the old ones?
<orbitz> So we'd use map' ~f?
<companion_cube> yeah, no, it's ugly
<orbitz> What if somethign along th eliens of you deprecetd containers and all new work went into containers.labels
<orbitz> Lame, I kow, but it keeps containers stuck in time but allows moving forward
<orbitz> maybe it's named something better than contaienrs.labels
<companion_cube> I'd rather use git branches
<companion_cube> (and two releases with different names)
<companion_cube> let me write this in a mail
<orbitz> ok
<orbitz> By branches do yo umean you'd keep both live?
<orbitz> I'm suggesting freezing containers as-is and, in the same release, just moving forward with containers.labels (or containers.next, or containers.spiffytitle) :)
<companion_cube> I'd keep a bleeding edge branch and a mostly-backward-compatible branch, I think
rgrinberg has quit [Ping timeout: 246 seconds]
<Drup> companion_cube: please don't add map'
<companion_cube> I know, it's stupid
<orbitz> companion_cube: that seems like a lot of work, to me, and confusing.
<orbitz> does bleeding edge eventually go into mostly-backwars-compat and break backwards-compat?
<companion_cube> yes, I think so
<companion_cube> but a few versions later
<companion_cube> if you really don't want to move, you can use old versions?
<orbitz> Hrm, maybe. I dunno, I've always been bitten by the 'bleeding edge' release in the past.
<orbitz> like Core_extended was basically that and it just sucked because you were always scrambling to keep up.
<orbitz> Perhaps you have a less painful way to do it in mind
<orbitz> Anyways, got to sleep! THanks for consiering labels.
<companion_cube> well I'd like them too, that's why ;)
nullcatxxx_ has joined #ocaml
travisbrady has joined #ocaml
Algebr has quit [Ping timeout: 240 seconds]
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Algebr has joined #ocaml
Algebr has quit [Remote host closed the connection]
Algebr has joined #ocaml
yomimono has joined #ocaml
travisbrady has quit [Quit: travisbrady]
travisbrady has joined #ocaml
mort___ has quit [Quit: Leaving.]
travisbrady has quit [Quit: travisbrady]
larhat1 has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
JuggleTux has quit [Quit: leaving]
rgrinberg has quit [Ping timeout: 256 seconds]
swgillespie has joined #ocaml
sh0t has quit [Remote host closed the connection]
travisbrady has joined #ocaml
mac10688 has joined #ocaml
rand__ has quit [Quit: leaving]
travisbrady has quit [Quit: travisbrady]
mcclurmc has joined #ocaml
ontologiae has quit [Ping timeout: 250 seconds]
Kakadu has quit [Remote host closed the connection]
mcclurmc has quit [Remote host closed the connection]
ely-se has quit [Quit: Leaving]
<ollehar> ok, if whitequark didn't get llvm to work with ocaml gc then there's absolutely no way in hell that I will.
mcclurmc has joined #ocaml
mcclurmc has quit [Ping timeout: 240 seconds]
rgrinberg has joined #ocaml
yomimono has quit [Quit: Leaving]
psy_ has quit [Ping timeout: 250 seconds]
rgrinberg has quit [Ping timeout: 250 seconds]
ollehar has quit [Quit: ollehar]
browncodes has joined #ocaml
Algebr has quit [Remote host closed the connection]
antkong_ has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
mcclurmc has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
swgillespie has left #ocaml ["Textual IRC Client: www.textualapp.com"]
browncodes has quit [Remote host closed the connection]
jimt has quit [Ping timeout: 260 seconds]