adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.07.1 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.07/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml | Due to ongoing spam, you must register your nickname to talk on the channel
pie_ has quit [Ping timeout: 255 seconds]
dwarakuna has quit [Ping timeout: 250 seconds]
kakadu has quit [Remote host closed the connection]
AtumT has quit [Quit: AtumT]
pie_ has joined #ocaml
silver has quit [Quit: rakede]
amiloradovsky has joined #ocaml
sz0 has quit [Quit: Connection closed for inactivity]
pie_ has quit [Ping timeout: 245 seconds]
mfp has quit [Ping timeout: 246 seconds]
ziyourenxiang has quit [Remote host closed the connection]
ygrek has joined #ocaml
AnAverageHuman has joined #ocaml
tormen_ has joined #ocaml
tormen has quit [Ping timeout: 245 seconds]
ygrek has quit [Ping timeout: 244 seconds]
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
tormen has joined #ocaml
AnAverageHuman has quit [Ping timeout: 256 seconds]
tormen_ has quit [Ping timeout: 245 seconds]
gravicappa has joined #ocaml
amiloradovsky has quit [Remote host closed the connection]
amiloradovsky has joined #ocaml
ygrek has joined #ocaml
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
klntsky has quit [Ping timeout: 256 seconds]
klntsky has joined #ocaml
kvda has joined #ocaml
sagotch has joined #ocaml
ygrek has quit [Ping timeout: 245 seconds]
sagotch has quit [Read error: Connection timed out]
zolk3ri has joined #ocaml
kvda has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sagotch has joined #ocaml
sagotch has quit [Quit: Leaving.]
gareppa has joined #ocaml
Birdface has joined #ocaml
barockobamo has joined #ocaml
iovec has joined #ocaml
trochdewei has joined #ocaml
trochdewei has quit [Remote host closed the connection]
Haudegen has joined #ocaml
gareppa has quit [Quit: Leaving]
jaar has joined #ocaml
dhil has joined #ocaml
keep_learning_M has quit [Ping timeout: 245 seconds]
silver has joined #ocaml
keep_learning_M has joined #ocaml
themsay has joined #ocaml
mfp has joined #ocaml
pie_ has joined #ocaml
gahr has quit [Quit: leaving]
<wilfredh> what order are arguments evaluated in ocaml?
<wilfredh> this claims that implementations evaluate left-to-right, but the first example is showing right-to-left evaluation
<octachron> wilfredh, the evaluation order is unspecified.
<wilfredh> yep, gotcha
<wilfredh> "today all implementations of Objective CAML evaluate arguments from left to right"
<wilfredh> so this ^ is untrue?
<octachron> Well this "today" refers to the time of OCaml 2.04
<hannes> I'm struggling finding documentation about C calls from OCaml. I'm especially interested in whether string/bytes (passed from OCaml to C) are copied from the OCaml heap to the C heap, or not. Or rephrased: is it possible to pass string/byte to C without copying (fine with me if C function is [@noalloc] (and thus no GC can be run)) -- esp of interest: in C, bytes/strings are 0-terminated, how could this be done (in OCaml AFAIU the representation is <len>
<hannes> followed by data)?
<Drup> hannes: ocaml strings are also null terminated, specifically for C interop
<hannes> Drup: oh, thanks! so if I mark an external C with [@noalloc], strings passed in are not copied around?
<Drup> I don't think so, but I'm no FFI expert
freyr69 has joined #ocaml
troydm has quit [Ping timeout: 245 seconds]
themsay has quit [Read error: Connection reset by peer]
themsay has joined #ocaml
ziyourenxiang has joined #ocaml
sonologico has quit [Ping timeout: 246 seconds]
sonologico has joined #ocaml
troydm has joined #ocaml
Haudegen has quit [Read error: Connection reset by peer]
ygrek has joined #ocaml
sonologico has quit [Ping timeout: 250 seconds]
dhil has quit [Ping timeout: 245 seconds]
sonologico has joined #ocaml
gravicappa has quit [Ping timeout: 250 seconds]
gravicappa has joined #ocaml
<Khady> thanks for the insights Leonidas
<Leonidas> Khady: sure. Personally I think your suggestion to silence the warning in ppx_deriving_yojson is probably the way to go.
<Khady> I don't mind the new type names and the warnings. I just think that tools such as atdgen and ppx_deriving_yojson better stay compatible with as much of opam as possible
<Leonidas> it is a bit of a bad start for the community-mainenance of yojson to immediately break everything, which is a bit of a failure on my part
<Leonidas> we should've considered a revdep rebuild and seen how much stuff would break :|
<Khady> and that the choice to ban the combination of ppx_deriving_yojson and yojson >= 1.6 should be left to the end user rather than to be hardcoded in opam repo
<Leonidas> Khady: if ppx_deriving uses `t` then there is not much other choice if you want to have your code… compile :-)
<Khady> well you probably would have not seen much using revdep. As the old type is still available. And warnings are only a problem in dev mode
<Leonidas> True.
<Khady> yes there is other choice, I can decide to make the warning not fatal
<Leonidas> I can take a look at ppx_deriving_yojson, how easy or difficult it is to just silence the warning and continue to use `safe`
<Khady> but it is also true that many people don't know how to change warnings and would just be angry without the bounds in opam
<Leonidas> my time is a bit limited lately, which is also why the biniou-PR is not progressing
<Khady> it doesn't look like there is a hurry. Otherwise everyone would be yelling :)
<Drup> So, what's the story on configuration langage ? Is toml's ocaml implementation still a disaster ? I want configuration files such that the program can also write to it nicely, without breaking comments and stuff
<Leonidas> would be also cool to have ppx_deriving_yojson use ppxlib instead of ppx_deriving :D
<Khady> it might even worth to take the time to discuss how this kind of situation should be handled. And learn for the future. Rather than to rush with releases
<Khady> oh yes, definitely. I almost wanted to work on that
<Leonidas> I won't be mad if you beat me to it ;-)
<Leonidas> Drup: Dhall?
<Drup> Leonidas: my configurations are not complexe.
<Drup> (is there even an ocaml impl of that monstrosity ?)
<Leonidas> companion_cube should implement it :p
<Drup> bleh, no, it's turring complete
<Drup> if it weren't for the sad state of the toml impl, I wouldn't hesitate
<Leonidas> wasn't the entire point of dhall to not be turing complete?
<Drup> oh, you are right
<Drup> anyway, it's far too rich for what I need
gareppa has joined #ocaml
FreeBirdLjj has joined #ocaml
Haudegen has joined #ocaml
johnelse has quit [Quit: leaving]
kakadu_ has quit [Ping timeout: 250 seconds]
kakadu_ has joined #ocaml
johnelse has joined #ocaml
<companion_cube> no, I dislike dhall
<companion_cube> many bad choices, especially the baked in networking (!)
<Drup> outch
<Drup> yeah, that's such a huge no-no
<companion_cube> (I mean import from urls, but well)
gareppa has quit [Quit: Leaving]
<companion_cube> and also, no trailing commas
<companion_cube> (wtf)
johnelse has quit [Client Quit]
<Drup> companion_cube: so what's your choice ? toml ?
<Drup> The unfamous "json with comments" ?
dhil has joined #ocaml
<companion_cube> right now it's toml in the one project that uses config, but I think I'm going to switch to sexp at some point
<theblatte> json also doesn't have trailing commas :'(
<companion_cube> json5 would be ok
johnelse has joined #ocaml
<Armael> also why don't we have a .ini parser :-(
<Drup> Armael: we do
<Armael> do we?
<Drup> pretty sure, yeah
<companion_cube> .ini is a bit restricted though… if you don't write software for windows 98
<Drup> toml is basically a better ini
<Armael> companion_cube: for some purposes it's enough...
<Armael> if we had a decent toml library then indeed that would do
<Drup> companion_cube: does json5 exists already, or is it still futureware ?
<companion_cube> it's a spec, I think, but we don't have a lib
<companion_cube> yeah, the toml lib is sad :(
<Drup> I might finally have to serious take a shot a this thing
kakadu_ has quit [Ping timeout: 246 seconds]
<companion_cube> why not sexp, btw?
<Drup> companion_cube: I want normal people to be able to look at the conf files.
ygrek has quit [Ping timeout: 245 seconds]
<companion_cube> you mean non programmers? or non ocamlers?
<Drup> non ocamlers
<Drup> (does sexp even supports comments ?)
<companion_cube> of course it does
<companion_cube> sexplib-style sexps also support commenting a sexp, rather than a line
kakadu_ has joined #ocaml
<Armael> but, just "sexp" is not an answer, right?
<Armael> you also have to know what's accepted by your particular application
<Armael> and sexp seem less constrained than other formats, so you have more chances to mess up your parenthesis and nesting
<Drup> and nobody wants to write sexps
<Drup> I mean, yes, I agree, there are computer scientists like them, and I don't even disagree
<freyr69> Lwt_preemptive executes only blacking calls in parallel, not the OCaml code, right?
<Drup> but the ship has sailed, nobody likes them
<Drup> freyr69: correct
<Drup> huh, I can't english :(
<companion_cube> I don
<companion_cube> I don't know, I like dune's configuration
<companion_cube> Armael: that's true for any config format
<Armael> companion_cube: true, but I feel that's it worse with sexps
<Armael> you have fewer constructs, and you have to pick a convention on how to encode lists, records, etc in them
<companion_cube> yeah, I guess I'd do as in dune, really
<Armael> e.g. how dune switched from (libraries (foo bar)) to (libraries foo bar)
<Drup> companion_cube: doesn't the reason community want to provide another syntax for dune ? :)
<companion_cube> they do? I have no idea
<companion_cube> Armael: I'd use the second one, clearly :p
<companion_cube> I'm not following closely Reason programmers' ideas
<companion_cube> (I doubt their taste :p)
<companion_cube> anyway, with sexps at least it's easy to nest stuff, which is the biggest issue with toml
<companion_cube> (ugh, their nested tables are…)
<Drup> fortunately, I don't need that.
_habnabit has quit [Remote host closed the connection]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 264 seconds]
<companion_cube> what's it for? :)
<Drup> companion_cube: ssh, spoilers.
<companion_cube> :DD
<companion_cube> type driven discovery? :p
<Drup> no, nothing big
<Leonidas> companion_cube: commenting out a sexp was super nice in clojure. I wish I could comment out exprs in OCaml
<Drup> I would need quite a bit of time to make that one work.
<companion_cube> Leonidas: I haven't even used this style of comments in dune, but still, it's a neat idea
<Leonidas> companion_cube: does dune's sexpr implementation support that?
FreeBirdLjj has joined #ocaml
Jesin has quit [Quit: Leaving]
unyu has quit [Ping timeout: 258 seconds]
Jesin has joined #ocaml
<reynir> Drup: I think I remember talk about that, yes
<Drup> a talk about ... another syntax for dune ? That's talk worthy ? ^^'
<reynir> Not *a* talk, but like discussions
<companion_cube> Leonidas: I think so
<reynir> But it must have been some months ago because I haven't followed what's happening in the reason community in a while
amiloradovsky has quit [Ping timeout: 245 seconds]
unyu has joined #ocaml
ygrek has joined #ocaml
johnelse_ has joined #ocaml
johnelse has quit [Ping timeout: 245 seconds]
amiloradovsky has joined #ocaml
johnelse has joined #ocaml
johnelse_ has quit [Ping timeout: 255 seconds]
spew has joined #ocaml
dhil has quit [Ping timeout: 246 seconds]
assemblyman has joined #ocaml
dhil has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
amiloradovsky has quit [Ping timeout: 250 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 252 seconds]
q9929t has joined #ocaml
freyr69 has quit [Remote host closed the connection]
dhil has quit [Quit: Quit]
AtumT has joined #ocaml
Haudegen has quit [Remote host closed the connection]
luna_is_here has joined #ocaml
assemblyman has quit [Quit: ™]
q9929t has quit [Quit: q9929t]
unyu has quit [Ping timeout: 252 seconds]
jaar has quit [Quit: Leaving]
barockobamo has quit [Remote host closed the connection]
webshinra has quit [Remote host closed the connection]
ziyourenxiang has quit [Ping timeout: 245 seconds]
unyu has joined #ocaml
FreeBirdLjj has joined #ocaml
bernard22300 has joined #ocaml
omarramo has joined #ocaml
bernard22300 has left #ocaml [#ocaml]
<omarramo> hey guys, how do the Array.map functions work? do they mutate the original array or do they create a new one and leave the original untouched?
<companion_cube> it creates a new one
<companion_cube> (it has to, in case the result doesn't have the same type, anyway)
FreeBirdLjj has quit [Ping timeout: 264 seconds]
webshinra has joined #ocaml
assemblyman has joined #ocaml
Haudegen has joined #ocaml
iovec has quit []
omarramo has quit [Ping timeout: 246 seconds]
omarramo has joined #ocaml
<omarramo> makes sense, thanks
assemblyman has quit [Quit: ™]
ravenous_ has joined #ocaml
ravenous_ has quit [Client Quit]
assemblyman has joined #ocaml
rfv has quit [Ping timeout: 252 seconds]
mattg__ has quit [Ping timeout: 252 seconds]
strmpnk has quit [Ping timeout: 252 seconds]
bytesighs has quit [Ping timeout: 252 seconds]
jmct has quit [Ping timeout: 252 seconds]
jeroud has quit [Ping timeout: 252 seconds]
vinoski has quit [Ping timeout: 252 seconds]
stephe has quit [Ping timeout: 252 seconds]
lynn has quit [Ping timeout: 252 seconds]
vinoski has joined #ocaml
rjungemann has quit [Ping timeout: 252 seconds]
lynn has joined #ocaml
stephe has joined #ocaml
jmct has joined #ocaml
jeroud has joined #ocaml
rjungemann has joined #ocaml
bytesighs has joined #ocaml
mattg__ has joined #ocaml
rfv has joined #ocaml
strmpnk has joined #ocaml
pie_ has quit [Ping timeout: 272 seconds]
omarramo has quit [Ping timeout: 245 seconds]
omarramo has joined #ocaml
spew has quit [Quit: heading home]
luna_is_here has quit [Quit: Verlassend]
themsay has quit [Ping timeout: 258 seconds]
themsay has joined #ocaml
zolk3ri has quit [Remote host closed the connection]
kakadu has joined #ocaml
assemblyman has quit [Quit: ™]
assemblyman has joined #ocaml
gravicappa has quit [Ping timeout: 255 seconds]
pie_ has joined #ocaml
assemblyman has quit [Quit: ™]
spew has joined #ocaml
unyu has quit [Ping timeout: 252 seconds]
jnavila has joined #ocaml
ygrek has quit [Ping timeout: 255 seconds]
assemblyman has joined #ocaml
sonologico has quit [Ping timeout: 244 seconds]
jbrown has quit [Remote host closed the connection]
jbrown has joined #ocaml
sonologico has joined #ocaml
jbrown has quit [Ping timeout: 252 seconds]
jbrown has joined #ocaml
Haudegen has quit [Remote host closed the connection]
assemblyman has quit [Quit: ™]
bartholin has quit [Remote host closed the connection]
AnAverageHuman has joined #ocaml
bartholin has joined #ocaml
Birdface has quit [Ping timeout: 246 seconds]
sonologico has quit [Remote host closed the connection]
sonologico has joined #ocaml
Haudegen has joined #ocaml
omarramo has quit [Ping timeout: 255 seconds]
kakadu has quit [Remote host closed the connection]
pie_ has quit [Ping timeout: 245 seconds]
Jesin has quit [Quit: Leaving]
Jesin has joined #ocaml
spew has quit [Quit: quittin time]
pierpal has quit [Ping timeout: 250 seconds]
jnavila has quit [Remote host closed the connection]
profan_ has quit [Ping timeout: 250 seconds]
profan has joined #ocaml
AnAverageHuman has quit [Ping timeout: 256 seconds]
caltelt_ has joined #ocaml
AnAverageHuman has joined #ocaml
kvda has joined #ocaml
amiloradovsky has joined #ocaml
AtumT_ has joined #ocaml
AtumT has quit [Ping timeout: 246 seconds]
Haudegen has quit [Remote host closed the connection]
unyu has joined #ocaml