NoNNaN has quit [Remote host closed the connection]
NoNNaN has joined #ocaml
maattdd has joined #ocaml
tidren has joined #ocaml
maattdd has quit [Ping timeout: 252 seconds]
tlockney is now known as tlockney_away
philtor has quit [Ping timeout: 265 seconds]
racycle__ has quit [Quit: ZZZzzz…]
nikki93 has joined #ocaml
dsheets has quit [Ping timeout: 252 seconds]
ollehar has quit [Ping timeout: 252 seconds]
rgrinberg has joined #ocaml
dsheets has joined #ocaml
watermind has quit [Quit: Konversation terminated!]
watermind has joined #ocaml
jao has quit [Remote host closed the connection]
NoNNaN has quit [Remote host closed the connection]
NoNNaN has joined #ocaml
nikki93 has quit [Remote host closed the connection]
maattdd has joined #ocaml
puzza007____ has joined #ocaml
puzza007____ is now known as puzza007
maattdd has quit [Ping timeout: 264 seconds]
michael_lee has joined #ocaml
racycle__ has joined #ocaml
watermind has quit [Read error: Connection reset by peer]
watermind has joined #ocaml
tlockney_away is now known as tlockney
lostcuaz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
lostcuaz has joined #ocaml
lostcuaz has quit [Client Quit]
nikki93 has joined #ocaml
lostcuaz has joined #ocaml
maattdd has joined #ocaml
nikki93 has quit [Remote host closed the connection]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
maattdd has quit [Ping timeout: 265 seconds]
watermind has quit [Ping timeout: 245 seconds]
rz has quit [Ping timeout: 265 seconds]
rz has joined #ocaml
tidren has quit [Remote host closed the connection]
Guest93974 is now known as amiller
amiller has quit [Changing host]
amiller has joined #ocaml
nikki93 has joined #ocaml
q66 has quit [Quit: Leaving]
araujo has quit [Quit: Leaving]
tidren has joined #ocaml
jpdeplaix has quit [Ping timeout: 276 seconds]
tlockney is now known as tlockney_away
jpdeplaix has joined #ocaml
maattdd has joined #ocaml
tlockney_away is now known as tlockney
maattdd has quit [Ping timeout: 264 seconds]
NoNNaN has quit [Remote host closed the connection]
nikki93 has quit [Remote host closed the connection]
NoNNaN has joined #ocaml
lostcuaz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
NoNNaN has quit [Remote host closed the connection]
NoNNaN has joined #ocaml
maattdd has joined #ocaml
tautologico has quit [Ping timeout: 252 seconds]
dant3 has quit [Ping timeout: 252 seconds]
teiresias has quit [Ping timeout: 252 seconds]
mdenes has quit [Ping timeout: 252 seconds]
mdenes has joined #ocaml
nikki93 has joined #ocaml
maattdd has quit [Ping timeout: 264 seconds]
teiresias has joined #ocaml
tautologico has joined #ocaml
racycle__ has quit [Quit: ZZZzzz…]
dant3 has joined #ocaml
jao has quit [Remote host closed the connection]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
gasche has joined #ocaml
maattdd has joined #ocaml
maattdd has quit [Ping timeout: 240 seconds]
jao has quit [Ping timeout: 245 seconds]
gasche has quit [Ping timeout: 250 seconds]
michael_lee has quit [Quit: Ex-Chat]
yacks has joined #ocaml
yacks has quit [Max SendQ exceeded]
yacks has joined #ocaml
yacks has quit [Max SendQ exceeded]
yacks has joined #ocaml
yacks has quit [Max SendQ exceeded]
yacks has joined #ocaml
studybot_ has quit [Read error: Connection reset by peer]
yacks has quit [Max SendQ exceeded]
Zerker has joined #ocaml
tlockney is now known as tlockney_away
Zerker has quit [Quit: Colloquy for iPad - Timeout (10 minutes)]
yacks has joined #ocaml
yacks has quit [Max SendQ exceeded]
Cyanure has joined #ocaml
yacks has joined #ocaml
rgrinberg1 has joined #ocaml
yacks has quit [Ping timeout: 255 seconds]
rgrinberg has quit [Ping timeout: 245 seconds]
rgrinberg1 has quit [Client Quit]
dsheets has quit [Ping timeout: 264 seconds]
gasche has joined #ocaml
rgrinberg has joined #ocaml
ikaros has joined #ocaml
tidren has quit [Remote host closed the connection]
maattdd has joined #ocaml
tautologico has quit [Quit: Connection closed for inactivity]
tidren has joined #ocaml
zpe has joined #ocaml
maattdd has quit [Ping timeout: 245 seconds]
ustunozgur has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
AltGr has joined #ocaml
Cyanure has quit [Disconnected by services]
<mrvn>
why does 'Printf.printf "%0.6d" 0' call strotl("0.6d") but not strtol("6d")?
Arsenik has joined #ocaml
<gasche>
mrvn, why should it?
<gasche>
my understanding is that printf/scanf delegate to C formats as often as possible (~ it more or less respect the intended semantics, which was designed to be compatible with C anyway)
<gasche>
note that "%6d" and "%06d" have different semantics, the first uses space-padding and the second 0-padding
<gasche>
. makes no sense for integers and should result in a warning/error
<gasche>
(in fact integer printers do interpret . as 0-padding, but it's unclear whether that's intentional or a side-effect of a permissive implementation)
<mrvn>
according to "man 3 printf" .6 gives "This gives the minimum number of digits to appear for d, i, o, u, x, and X conversions"
wwilly has quit [Remote host closed the connection]
<gasche>
mrvn, if I understand correctly, that corresponds to the current OCaml semantics
<gasche>
your question seems to imply that you think there is a mismatch between the behavior and the specification, but I don't see it; could you elaborate?
<mrvn>
"%06d" calls strtol("06d"), which returns 6 and then the string isn't zeron padded here
<gasche>
ah
<gasche>
so that would be a bug
<mrvn>
My original question was why %0.6d calls strtol for the width but not the precision.
<gasche>
(I guess my strtol function correctly pads; which system are you using?)
<gasche>
(I'm interested because I'm deep in the print/scanf code right now, if there is some bug to fix alongside I'd be happy to help)
<mrvn>
arm with my own strtol
ustunozgur has quit [Remote host closed the connection]
<gasche>
I think I hate format much more than previously now that I've reviewed Benoît's work (which was in fact mostly independent from how printing delegates to C)
<gasche>
these things are just ugly
adrien_o1w is now known as adrien_oww
maattdd has joined #ocaml
<avsm>
odd, how is (* {| *) an illegal string literal now?
<companion_cube>
I'd guess it's because comments are parsed, but {| is a new string literal
<companion_cube>
it's like (* " *)
pminten has joined #ocaml
gustav__ is now known as gustav___
<avsm>
oh yeah, extension points
<gasche>
avsm, Damien did an experiment on OPAM and found related failures; if you were among the recipients you'll find a list of projects affected by this problem
Kakadu has joined #ocaml
<avsm>
yes, I was just confused by the error message
<avsm>
I thought Alain said he'd improve it to not just be "string literal" during the extension points review
<avsm>
it's not really obvious that {| |} refers to a string literal
<gasche>
of course, we can improve the error message
<avsm>
argh, camlp4 trunk broken again
* avsm
watches his nightly bulk build descend into chaos
<gasche>
we're busy as hell with the feature freeze right now, would you ping the relevant PR so that I remember to see that fixed later?
<flux>
caml seems to have this big influx of language features nowadays, I wonder if it's going to grow into a big complicated language :-o. but I suppose, for example this feature, is just making something builtin to the language something the user can define him self, so it's not orthogonal
<gasche>
what do you mean "it's not orthogonal"?
<gasche>
but yes, death by thousands cuts of complexity is a possibility
<gasche>
hm
<flux>
it goes along with the other features. for example, someone might say objects are orthogonal?
<gasche>
if I understand correctly you mean that this feature extends an extisting feature, so it's not just strictly more surface area
<flux>
yes
<gasche>
the confusing part for me was that usually, in language design, "orthogonal" is a very positive word
<gasche>
it means that you don't interact with apparently-unrelated features in a bad way
<gasche>
(typical example: mutable references and polymorphism)
<gasche>
there is definitely a point to be made, that has in fact been made long ago, that we have too many ways to define sums and products
ustunozgur has joined #ocaml
<gasche>
adding open extensible types makes thing worse in this regard
<gasche>
but on the other hand, it's a feature that has its use-case (distinct from polymorphic variants for example)
<flux>
so would you say this feature is then orthogonal? I'm perfectly willing to accept that I'm using the concept wrong :).
<gasche>
no I think you were correct, I was just surprised
<gasche>
(also from my point of view the fact that it probably consists of the only type-system feature that was not (co-)developped by the current type-system maintainer make it a positive result about openness of the project to the wider community)
<gasche>
(not that I think that we'll find two other aliens beside Jeremy and Leo in a reasonable future)
chambart has quit [Ping timeout: 265 seconds]
<gasche>
more directly: I felt bad for this feature not being included because it means so much work from Leo
<gasche>
(admittedly that's not a rational design argument)
<whitequark>
oh, open types were merged, great!
<flux>
so, do people have nice use cases for those?
<whitequark>
gasche: do you think the record-constructors branch will make it into 4.02?
<flux>
I suppose one use would be encoding (say) messages into a struct in a way that allows to extend the list easily
<flux>
more easily than with polymorphic variants
<flux>
record-constructors branch?
<whitequark>
A of { b: int; c: float; }
<gasche>
whitequark, I'm pretty confident record-constructors won't get included
<flux>
oh
<whitequark>
gasche: in 4.02 or at all?
<gasche>
in 4.02
chambart has joined #ocaml
<flux>
what happens with match A { b: 42 } with A x -> x? x has an anoynomous type?
<whitequark>
ok. I see.
<gasche>
(unsure about "at all")
<whitequark>
flux: it has a type t.A
<gasche>
flux, there are some hacks we previously did abusing the exception type
maattdd has quit [Read error: No route to host]
<gasche>
for universal injections from any type to a decentralized existential
<gasche>
that can now be done much more cleanly with open extensible types
<gasche>
there was a recent discussion about such an use-case on caml-list
<gasche>
"Obj.magic for polymorphic identifiers"
<flux>
gasche, does the code really get quite different?
<flux>
gasche, yeah, that's where I read about it being merged :)
<gasche>
well this particular example you can't do safely with exceptions
<flux>
I guess I should reread the thread..
<gasche>
(because you need a type parameter)
<gasche>
well
<gasche>
you're also free to remember that it's helpful for arcane powerful stuff that's best hidden in some library somewhere
<gasche>
and then never think of it again in your next five happy years of OCaml programming
<flux>
:)
<whitequark>
open-types seems to not have a big cost, too
<gasche>
there was also a theoretical need of extensible sum-types in François Pottier defunctionalisation paper
<gasche>
(they can make defunctionalization more modular)
ollehar has joined #ocaml
maattdd has joined #ocaml
lordkryss_ has joined #ocaml
watermind has joined #ocaml
nikki93 has quit [Remote host closed the connection]
nikki93_ has joined #ocaml
nikki93_ has quit [Remote host closed the connection]
avsm has quit [Quit: Leaving.]
robink has quit [Ping timeout: 246 seconds]
lordkryss_ is now known as lordkryss
robink has joined #ocaml
gasche has quit [Quit: Leaving]
gasche_ is now known as gasche
<mrvn>
anyone know if ocamlopt on arm keeps the minor heap limit in a register so that signal delivery gets delayed?
ygrek has joined #ocaml
watermind has quit [Quit: Konversation terminated!]
watermind has joined #ocaml
watermind has quit [Read error: Connection reset by peer]
<eikke__>
we're experiencing something strange on Travis. Builds fail all of a sudden, opam says "Aborting, as the following packages have a cyclic dependency:", and the nothing, although when looking at the opam sourcecode this should (as expected) be followed by a list of packages
avsm has quit [Ping timeout: 276 seconds]
<Drup>
eikke__: yes, I think it's related to lwt
<eikke__>
ah
<Drup>
lwt as a depopts to itself
<thomasga>
Drup: did you try `make` after `make lib-ext` ?
<Drup>
thomasga: both, yes
<eikke__>
Drup: interesting
avsm has joined #ocaml
<eikke__>
Drup: would you know whether that's reported somewhere?
<thomasga>
Drup eikke__ I I'm fixing the lwt is a depopt to itself
<Drup>
thomasga, AltGr : also, in my current opam (which is slightly outdated trunk) opam refuses to install anything, it justs stop after "Installing packages" without doing anything
<eikke__>
thomasga, Drup: thanks!
<avsm>
Drup: trunk is somewhat known-broken at the moment
watermind has quit [Read error: Connection reset by peer]
<Drup>
yeah, I know
watermind has joined #ocaml
<Drup>
but it was "not too broken" and then transformed into "really broken" suddendly, hence my concerns :D
watermind has quit [Client Quit]
watermind has joined #ocaml
watermind has quit [Client Quit]
pminten has quit [Quit: Leaving]
ustunozgur has joined #ocaml
eikke__ has quit [Ping timeout: 252 seconds]
ustunozgur has quit [Client Quit]
Hannibal_Smith has joined #ocaml
ustunozgur has joined #ocaml
eikke__ has joined #ocaml
<Drup>
avsm, thomasga : is there a delay for the opam repository to be updated, after a merge/push ?
<thomasga>
there a cron job which runs every hour on the server
<avsm>
Drup: cronjob to rebuild
<Drup>
ok
<avsm>
thomasga: we ought to hook that in as a webhook at some point
<avsm>
i think dsheets already has code for this in ocaml-github
<thomasga>
yup, now that opam2web goes fast again, we should do that
ygrek has quit [Ping timeout: 240 seconds]
ddosia has quit [Ping timeout: 240 seconds]
maattdd has quit [Ping timeout: 252 seconds]
<AltGr>
Drup: small bug in the repo, badly handled by opam, and it's the same problem on trunk except the error even goes silent :(
<AltGr>
I'm fixing the handling of aforementionned error atm
<Drup>
AltGr: oh, so that's the conflict issue
<Drup>
it just do not report it on trunk, ok
<Drup>
(and it removes the state export backup on it's way, because it wouldn't be fun otherwise :D)
lostcuaz has joined #ocaml
<AltGr>
(of course -- it's only kept in case of error ;))
maattdd has joined #ocaml
q66 has joined #ocaml
q66 has quit [Changing host]
q66 has joined #ocaml
_whitelogger has joined #ocaml
avsm has quit [Read error: Connection reset by peer]
<companion_cube>
gasche: btw, our discussion about "fueled language" is actually used in Erlang, I think
<companion_cube>
in which evaluation is fueled to achieve fairness of the scheduler
<eikke__>
you mean counting the number of reductions?
<companion_cube>
something like this, yes
dnm has quit [Ping timeout: 252 seconds]
<AeroNotix>
a process in Erlang has 1000 "reductions", certain operations reduce this number
<AeroNotix>
when it reaches 0, it gets switched out
<companion_cube>
this is a really interesting idea
<eikke__>
it's that what makes them claim they support a 'soft-realtime' execution model (next to per-process GC)
lostcuaz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<gasche>
companion_cube: note that some implementations of fold_right in OCaml use fuel as well to be efficient and tail-recursive
<gasche>
(in fact not tail-recursive but non-stack-blowing)
<companion_cube>
yes, I understood
avsm has joined #ocaml
ontologiae has quit [Ping timeout: 252 seconds]
arj has joined #ocaml
ddosia has joined #ocaml
elfring has joined #ocaml
divyanshu has joined #ocaml
ontologiae has joined #ocaml
thomasga has quit [Quit: Leaving.]
Hannibal_Smith has quit [Quit: Sto andando via]
thomasga has joined #ocaml
ontologiae has quit [Ping timeout: 264 seconds]
darkf has quit [Quit: Leaving]
zpe has joined #ocaml
avsm has quit [Quit: Leaving.]
divyanshu has quit [Quit: Computer has gone to sleep.]
saml has joined #ocaml
avsm has joined #ocaml
divyanshu has joined #ocaml
maattdd has quit [Quit: WeeChat 0.4.3]
studybot has joined #ocaml
roppongininja has joined #ocaml
<whitequark>
gah, camlp4 is broken again
<whitequark>
why did I try to recompile everything -_-'
<roppongininja>
hello guys, I'm comming from a Java backgroud, is ocaml a good choice as a first functional language?
ggole has joined #ocaml
<companion_cube>
roppongininja: sure, unless you really want to stick to the jvm
<AeroNotix>
Trying to use ocp-build and I get: Error: Error while linking /home/xeno/.opam/system/lib/core/core.cma(Core):
<AeroNotix>
Reference to undefined global `Condition'
maattdd has joined #ocaml
<AeroNotix>
any ideas?
<flux>
I don't exactly know how ocp-build works, but that error comes because you're not linking using the -thread switch
<AeroNotix>
ok
ustunozg_ has joined #ocaml
metasyntax has joined #ocaml
alex_nx has quit [Ping timeout: 240 seconds]
ustunozgur has quit [Ping timeout: 276 seconds]
tlockney_away has quit [Ping timeout: 276 seconds]
olauzon has joined #ocaml
<thomasga>
AeroNotix: guess you are missing a "thread" or "threads" in requires
<AeroNotix>
thomasga: Yeah, that fixed it. But in a way I don't understand.
<AeroNotix>
That error is a million miles away from "require "thread""
<thomasga>
indeed ...
tlockney_away has joined #ocaml
alex_nx has joined #ocaml
tlockney_away is now known as tlockney
<thomasga>
AeroNotix: the thread library exports the Condition module
<AeroNotix>
thomasga: I gather that, but why doesn't the error make this clearer?
<Drup>
because the compiler doesn't now it :/
<Drup>
it's the issue when you have separated compilation unit
<AeroNotix>
Drup: gotcha, so it's like a #define
<AeroNotix>
or referencing code *in* a #define
<Drup>
well, it's a bit more than that
<AeroNotix>
ok
<Drup>
because #define is purely syntactic
<AeroNotix>
ok
<mrvn>
#define is hardly better than sed s/foo/bar/g
<AeroNotix>
sure
tautologico has joined #ocaml
tane has joined #ocaml
<Drup>
whitequark: I updated the pr to the correct address (and to the fact that you changed oasis setup mode)
zpe has quit [Remote host closed the connection]
divyanshu has quit [Quit: Computer has gone to sleep.]
tlockney is now known as tlockney_away
tlockney_away is now known as tlockney
studybot has quit [Read error: Connection reset by peer]
saml has left #ocaml ["Leaving"]
tlockney is now known as tlockney_away
tlockney_away is now known as tlockney
divyanshu has joined #ocaml
studybot has joined #ocaml
thomasga has quit [Quit: Leaving.]
studybot_ has joined #ocaml
studybot has quit [Ping timeout: 240 seconds]
thomasga has joined #ocaml
johnf has joined #ocaml
lostcuaz has joined #ocaml
lostcuaz_ has joined #ocaml
struktured has quit [Ping timeout: 250 seconds]
thomasga has quit [Quit: Leaving.]
lostcuaz has quit [Ping timeout: 276 seconds]
roppongininja has quit [Remote host closed the connection]
roppongininja has joined #ocaml
Arsenik has quit [Remote host closed the connection]
roppongininja has quit [Ping timeout: 240 seconds]
thomasga has joined #ocaml
Arsenik has joined #ocaml
jao has joined #ocaml
rgrinberg has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
tidren has joined #ocaml
<whitequark>
Drup: merged
struktured has joined #ocaml
watermind has joined #ocaml
arj has quit [Quit: Leaving.]
thomasga has quit [Quit: Leaving.]
jwatzman|work has joined #ocaml
tidren has quit [Remote host closed the connection]
Hannibal_Smith has joined #ocaml
lordkryss has quit [Quit: Connection closed for inactivity]
<_obad_>
is there an Lwt function that takes a path and returns a channel (as in Pervasives.open_in{,_bin}), or do I have to go through Lwt_unix.open etc.?
michael_lee has joined #ocaml
<_obad_>
seems to me that there should be one function that makes sure you pass the right unix open flags
avsm has quit [Quit: Leaving.]
maattdd has quit [Ping timeout: 265 seconds]
avsm has joined #ocaml
racycle has joined #ocaml
watermind has quit [Quit: Konversation terminated!]
maattdd has joined #ocaml
racycle has quit [Quit: ZZZzzz…]
nikki93 has joined #ocaml
thomasga has joined #ocaml
nikki93 has quit [Remote host closed the connection]
eizo has quit [Quit: Page closed]
roppongininja has joined #ocaml
racycle has joined #ocaml
nikki93 has joined #ocaml
struktured has quit [Ping timeout: 264 seconds]
nikki93 has quit [Remote host closed the connection]
malo has joined #ocaml
rand000 has joined #ocaml
sari_e has joined #ocaml
sari_e has quit [Client Quit]
Eyyub has joined #ocaml
Thooms has quit [Quit: WeeChat 0.3.8]
nikki93 has joined #ocaml
ustunozg_ has quit [Remote host closed the connection]
ustunozgur has joined #ocaml
Eyyub has quit [Ping timeout: 252 seconds]
Kakadu has quit [Ping timeout: 240 seconds]
ustunozgur has quit [Ping timeout: 250 seconds]
ikaros has quit [Quit: Ex-Chat]
racycle has quit [Read error: No route to host]
nikki93 has quit [Remote host closed the connection]