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
rgrinberg has joined #ocaml
dsheets has quit [Ping timeout: 255 seconds]
Intensity has joined #ocaml
AltGr has joined #ocaml
waneck has quit [Ping timeout: 252 seconds]
tnguyen has quit [Quit: tnguyen]
MrScout has joined #ocaml
MrScout_ has quit [Ping timeout: 250 seconds]
toolslive has quit [Ping timeout: 252 seconds]
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
<affinehat> what would be the ocaml cannonical way to determine if an integer is odd or even?
<thizanne> x mod 2 = 0 ?
MrScout has quit [Remote host closed the connection]
ghostpl_ has joined #ocaml
MrScout has joined #ocaml
waneck has joined #ocaml
MrScout has quit [Read error: Connection reset by peer]
MrScout has joined #ocaml
ghostpl_ has quit [Ping timeout: 264 seconds]
yminsky has joined #ocaml
thomasga has quit [Quit: Leaving.]
<struktured> affinehat: here's a sillier recursive pattern matching example (only for non-negative x) : let rec even x = match x with 0 -> true | 1 -> false | x -> even (x-2)
swgillespie has joined #ocaml
jao has quit [Ping timeout: 240 seconds]
ptc has joined #ocaml
ptc is now known as Guest8129
ontologiae_ has quit [Ping timeout: 252 seconds]
Guest8129 has quit [Ping timeout: 246 seconds]
fraggle-boate_ has joined #ocaml
jcloud has quit [Quit: Connection closed for inactivity]
shinnya has quit [Ping timeout: 245 seconds]
ptc_ has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
fraggle-boate has quit [Ping timeout: 265 seconds]
AlexRussia has joined #ocaml
claudiuc has quit [Remote host closed the connection]
ygrek has joined #ocaml
darkf has joined #ocaml
darkf has quit [Changing host]
darkf has joined #ocaml
ygrek has quit [Ping timeout: 252 seconds]
ptc_ has quit [Read error: Connection reset by peer]
tnguyen has joined #ocaml
tnguyen has quit [Client Quit]
sdegutis has joined #ocaml
<sdegutis> In only the senses that OCaml is a statically typed language, can compile down to machine code, has a garbage collector, and does not dynamically dispatch functions, can it be considered similar to Go?
jabesed has quit [Quit: Konversation terminated!]
affinehat has quit [Quit: WeeChat 0.3.8]
oriba has quit [Quit: Verlassend]
ygrek has joined #ocaml
yminsky has quit [Quit: yminsky]
ptc has joined #ocaml
yminsky has joined #ocaml
ptc is now known as Guest67768
q66 has quit [Quit: Leaving]
<dmbaturin> sdegutis: Similar for what purpose? Convincing someone to give up on Go? :)
yminsky has quit [Client Quit]
<sdegutis> dmbaturin: good question
ghostpl_ has joined #ocaml
<struktured> sdegutis: the object oriented functionality in ocaml is "dynamic dispatching", or do you mean something else?
<sdegutis> struktured: I had no idea how OCaml's dynamic dispatch works
<sdegutis> struktured: there's Objective-C style method calls which are dispatched at runtime, and there's Go-style method calls which are turned into pure function calls and have no additional runtime overhead -- which type is OCaml?
<struktured> sdegutis: http://caml.inria.fr/pub/docs/oreilly-book/html/book-ora142.html see "Object Representation and Message Dispatch"
<struktured> sdegutis: disregarding dynamic dispatch, being statically typed, compiling to machine code, and having a GC is hardly a unique trio
ghostpl_ has quit [Ping timeout: 245 seconds]
<dmbaturin> Otherwise there are more differences than similatiries I think.
<sdegutis> struktured: not even a trio in fact
<dmbaturin> * similarities
<sdegutis> dmbaturin: sure
travisbrady has joined #ocaml
<struktured> sdegutis: disregarding as in not considering it in my analysis (as ocaml does have it anyhow)
<sdegutis> ok
<dmbaturin> If we are talking flamewar, if Swift is bad ML, Go can be described as bad Ada. :)
<sdegutis> lol
<sdegutis> Runtime stuff bothers me so much.
Guest67768 has quit [Ping timeout: 252 seconds]
<sdegutis> I'd prefer everything to be static if possible.
<dmbaturin> A strange thing I noticed about myself is that static languages make me think about performance and runtime vs compile time more than dynamic ones.
ptc_ has joined #ocaml
<dmbaturin> Python: "list append is O(n)? Ok". ML: "this uses O(n) list append, OMG, I should use cons instead".
<sdegutis> dmbaturin: how is that strange?
<sdegutis> dmbaturin: yeah i notice that in me also
yminsky has joined #ocaml
hilquias has quit [Remote host closed the connection]
psy_ has quit [Ping timeout: 255 seconds]
<dmbaturin> sdegutis: A possible explanation is that runtime performance penalty of dynamic languages will make your code performance suck at least to some extent no matter what you do.
<sdegutis> lol
<sdegutis> yeah
<sdegutis> we just kind of admit it and stop caring
rgrinberg has quit [Quit: Leaving.]
<smondet> Drup: whitequark I'm not talking about a raspberry pi or whatever, I'm taing about a VPS server that I use for www, git, irc, development, testing, etc. everything is fine with 256 MB of RAM (even emacs!!), it would be stupid to pay 4 times more just to be able to compile code that I don't use :)
MooseAndCaml has joined #ocaml
psy_ has joined #ocaml
<MooseAndCaml> Does a 'switch' operator make sense when working with pipes? for example: let ($) = (fun x _ -> x) list |> (foo ary) |> (bar ary) |> ($ ary) |> meow
<MooseAndCaml> do i need these parenthesis? list |> foo ary |> bar ary |> $ ary |> meow
rgrinberg has joined #ocaml
<dmbaturin> MooseAndCaml: That should work without parens (apart from those around fun). Operator partial applications won't work without parens around the operator though.
<MooseAndCaml> So the switch would have to be ($ ary) ?
<MooseAndCaml> doh ($) i get it
travisbrady has quit [Quit: travisbrady]
matason has joined #ocaml
<dmbaturin> Also, you use $ inside the let ($) = but don't declare it recursive, that's strange.
<dmbaturin> And I'm not sure what the whole thing is supposed to do. :)
<MooseAndCaml> I'm iterating over lists to fill an array, which is then converted back to a list and transformed further. My is normally you need to run the list transformations filling the array followed by semi-colon and then ary |> ... this just allows injecting a new input midstream
<MooseAndCaml> this is all to do with being unfamiliar and uneasy with array and iterative processes and when they are performed - is there any aspect that is lazy similar to haskell?
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
travisbrady has joined #ocaml
ptc_ has quit [Read error: Connection reset by peer]
<MooseAndCaml> I'm also fond of these |> chains flowing down my screen and |> ($) seems like a way to stay in that workflow. I don't know if there is an overhead though
lordkryss has quit [Quit: Connection closed for inactivity]
reem has quit [Remote host closed the connection]
ebzzry has quit [Ping timeout: 245 seconds]
<sdegutis> Does OCaml have anything like Haskell's "sections" feature?
Riviera_ has quit [Ping timeout: 276 seconds]
ebzzry has joined #ocaml
<dmbaturin> sdegutis: You mean infix operator sections?
<sdegutis> kind of
<sdegutis> I mean where (2-) is (fun x -> 2 - x) etc
<sdegutis> it's a nice short-hand
<sdegutis> dmbaturin: in other words, it's short-hand for partial application (which allows for putting values on either side of an infix operator)
<dmbaturin> List.map ((-) 2 ) [1;2;3]
<dmbaturin> No shortcut for right section though.
<sdegutis> aww
<sdegutis> that may be the Haskell feature I miss the most
<sdegutis> can I just add it to OCaml's compiler?
<sdegutis> and it'll get merged?
swgillespie has joined #ocaml
Jefffrey has joined #ocaml
a12rk has joined #ocaml
<a12rk> Hello, does anyone see any problem in my function?
<a12rk> let path g n m =
<a12rk> let rec exists_path g n m_path =
<a12rk> if (List.hd m_path = n) then true
<a12rk> else (let predecessors = (pred g (List.hd m_path)) in
<a12rk> let unexplored = (List.filter (fun x -> List.mem x m_path <> true) predecessors) in
<a12rk> (if unexplored = [] then false else
<a12rk> List.fold_left (fun acc x -> acc || exists_path g n x::m_path) false unexplored)) in
<a12rk> exists_path g n [m];;
<dmbaturin> sdegutis: You can emulate it with something like let (~><) f x y = f y x ;; List.map (~>< (/) 3) [9;6;3]
<sdegutis> dmbaturin: neat
<sdegutis> thanks
<dmbaturin> a12rk: You should better use http://bpaste.net or similar for pasting code.
<a12rk> I'm trying to find if there is a path from n to m in a graph but am getting that exists_path g n x::m_path returns a' list when it should return a bool
<a12rk> dmbaturin: Sorry, here is the code in a paste https://bpaste.net/show/1ca742e4d262
govg has quit [Quit: leaving]
c74d has quit [Read error: Connection reset by peer]
<struktured> a12rk: what is pred? it is by default int -> int
<a12rk> struktured: it is another function I defined that gets predecessors in the graph it has sig 'a graph -> 'a -> 'a list
sdegutis has quit [Quit: Leaving...]
c74d has joined #ocaml
<struktured> a12rk: you are totally overdoing the parentices lol
<destrius> silly type theory question: what's the term for a type that contains no free type variables?
ghostpl_ has joined #ocaml
<a12rk> struktured: yeah I just wanted to make sure I eliminate any possible source of problems before I asked
<struktured> a12rk: ok I see one problem for sure. you need to put parens the cons in your fold function, "(x::m_path)" instead of (x::m_path)"
<struktured> *parens around the cons
<struktured> a12rk: argh I meant to omit the parens in the 2nd part of that sentence. anyway just put parentices around that expression, it will fix one issue.
<a12rk> struktured: thanks that made it compile now... is that the only issue with it?
<struktured> a12rk: I guess its fine but I didn't really study it semantically.
<struktured> a12rk: you really should remove the parens though, makes it hard to read. something like this: https://gist.github.com/struktured/b814a4308f3a47f83c16
<a12rk> Ok, thanks a lot
travisbrady has quit [Quit: travisbrady]
ghostpl_ has quit [Ping timeout: 265 seconds]
c74d has quit [Read error: Connection reset by peer]
yminsky has quit [Quit: yminsky]
MrScout has quit [Ping timeout: 250 seconds]
c74d has joined #ocaml
reem has joined #ocaml
c74d is now known as Guest81674
Guest81674 has quit [Read error: Connection reset by peer]
enitiz has joined #ocaml
reem has quit [Ping timeout: 252 seconds]
a12rk has quit [Quit: WeeChat 0.3.8]
c74d has joined #ocaml
c74d has quit [Read error: Connection reset by peer]
hilquias has joined #ocaml
c74d has joined #ocaml
enitiz has quit [Quit: Leaving]
c74d has quit [Read error: Connection reset by peer]
c74d has joined #ocaml
MrScout has joined #ocaml
Gal3rielol has joined #ocaml
<Gal3rielol> hi, i'm fresh new to ocaml, is emacs+tuareg the best way to interact with ocaml?
Gal3rielol has quit [Quit: Textual IRC Client: www.textualapp.com]
c74d has quit [Ping timeout: 252 seconds]
MrScout has quit [Remote host closed the connection]
c74d has joined #ocaml
reem has joined #ocaml
eyyub1 has quit [Ping timeout: 264 seconds]
reem has quit [Ping timeout: 250 seconds]
MrScout has joined #ocaml
vanila has joined #ocaml
ghostpl_ has joined #ocaml
MrScout has quit [Read error: Connection reset by peer]
MrScout has joined #ocaml
c74d has quit [Read error: Connection reset by peer]
ghostpl_ has quit [Ping timeout: 250 seconds]
c74d has joined #ocaml
ygrek has quit [Ping timeout: 245 seconds]
reem has joined #ocaml
keen__________68 has joined #ocaml
keen__________67 has quit [Ping timeout: 240 seconds]
MercurialAlchemi has joined #ocaml
reem has quit [Remote host closed the connection]
iorivur has joined #ocaml
reem has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 245 seconds]
badkins has quit []
iorivur has quit [Ping timeout: 250 seconds]
hilquias has quit [Remote host closed the connection]
MrScout has quit [Read error: Connection reset by peer]
MooseAndCaml has quit [Ping timeout: 246 seconds]
matason has quit [Ping timeout: 240 seconds]
SHODAN has quit [Remote host closed the connection]
toolslive has joined #ocaml
SHODAN has joined #ocaml
<flux> emacs+merlin+tuareg
<flux> ..definitely merlin
Jefffrey has quit [Remote host closed the connection]
<flux> oh, he had left :-)
rgrinberg has quit [Quit: Leaving.]
Haudegen has quit [Ping timeout: 256 seconds]
rgrinberg has joined #ocaml
domsj has joined #ocaml
psy_ has quit [Quit: Leaving]
ygrek has joined #ocaml
Haudegen has joined #ocaml
MercurialAlchemi has joined #ocaml
Simn has joined #ocaml
c74d has quit [Read error: Connection reset by peer]
<whitequark> smondet: add some swap then
c74d has joined #ocaml
yomimono has joined #ocaml
<adrien_znc> going to be a bit slow probably :)
ghostpl_ has joined #ocaml
<flux> I wonder how it uses that 500 MB
<flux> if it's not going all around it, it could be tolerable
<flux> maybe zswap would work well :), I assume there's a lot of redundancy in that data
ghostpl_ has quit [Ping timeout: 250 seconds]
<flux> or actaully zram, that comes with at least debian unstable default kernel
rgrinberg has quit [Quit: Leaving.]
nullcat has joined #ocaml
<whitequark> adrien_znc: nah
<whitequark> I've built LLVM on a machine with 1G of RAM and 8G of swap
<whitequark> sure, it takes like 30 minutes more
c74d is now known as Guest26173
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Guest26173 has quit [Read error: Connection reset by peer]
tane has joined #ocaml
c74d has joined #ocaml
ygrek has quit [Remote host closed the connection]
ygrek has joined #ocaml
Oz_Lyfe has joined #ocaml
c74d has quit [Read error: Connection reset by peer]
ski has joined #ocaml
srcerer_ has joined #ocaml
SuperNoeMan has quit [Ping timeout: 246 seconds]
srcerer has quit [Ping timeout: 265 seconds]
c74d has joined #ocaml
SuperNoeMan has joined #ocaml
c74d has quit [Read error: Connection reset by peer]
badon has quit [Quit: Leaving]
c74d has joined #ocaml
ygrek has quit [Remote host closed the connection]
ygrek has joined #ocaml
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rand000 has joined #ocaml
matason has joined #ocaml
Kakadu has joined #ocaml
mort___ has joined #ocaml
ghostpl_ has joined #ocaml
reem has quit [Remote host closed the connection]
ghostpl_ has quit [Ping timeout: 246 seconds]
thomasga has joined #ocaml
ontologiae_ has joined #ocaml
ygrek has quit [Ping timeout: 246 seconds]
c74d has quit [Remote host closed the connection]
reem has joined #ocaml
AltGr has left #ocaml [#ocaml]
c74d has joined #ocaml
Jefffrey has joined #ocaml
Jefffrey has quit [Ping timeout: 255 seconds]
c74d has quit [Ping timeout: 250 seconds]
<MercurialAlchemi> am I right in thinking that the right way to have a curried function with named and optional arguments is to have it take () as the last parameter ?
snikkers has quit [Ping timeout: 246 seconds]
<Drup> any non-named parameter, in fact
zpe has joined #ocaml
iorivur has joined #ocaml
dario_ has joined #ocaml
psy_ has joined #ocaml
psy_ has quit [Max SendQ exceeded]
psy_ has joined #ocaml
<MercurialAlchemi> still beats the builder pattern :)
lordkryss has joined #ocaml
c74d has joined #ocaml
c74d has quit [Remote host closed the connection]
badon has joined #ocaml
Hannibal_Smith has joined #ocaml
tane has quit [Quit: Verlassend]
mort___ has quit [Quit: Leaving.]
larhat has joined #ocaml
thomasga has quit [Quit: Leaving.]
c74d has joined #ocaml
Oz_Lyfe has quit [Ping timeout: 246 seconds]
yomimono has quit [Ping timeout: 245 seconds]
agam has quit [Ping timeout: 264 seconds]
agam has joined #ocaml
yomimono has joined #ocaml
captain_furious has joined #ocaml
c74d has quit [Ping timeout: 252 seconds]
yomimono has quit [Ping timeout: 256 seconds]
octachron has joined #ocaml
c74d has joined #ocaml
yomimono has joined #ocaml
thomasga has joined #ocaml
<toolslive> there was a discussion here lately on labels and somebody didn't like them, but I consider them a gentle force towards consistent naming and a better solution to currying in multiple directions than haskell's flip
c74d is now known as Guest50332
Guest50332 has quit [Read error: Connection reset by peer]
<MercurialAlchemi> labels are fantastic
<MercurialAlchemi> besides, how else would you have abstracted, large-ish business objects?
<MercurialAlchemi> (if you would want a constructor function that was readable, that is - functions with 10+ unlabelled arguments are not maintainable)
<MercurialAlchemi> it can also help prevent mistakes, when your function takes, say, three strings
c74d3 has joined #ocaml
aubergines has joined #ocaml
thomasga has quit [Quit: Leaving.]
ygrek has joined #ocaml
<Drup> MercurialAlchemi: people in other languages use objects
<Drup> (or records)
<Drup> (it's the same anyway)
<Drup> of course you loose partial application if your language don't have a special construct for it.
<def`> I would like a dual mechanism for naming results
<Drup> def`: or, equivalently, well optimized anonymous object with a less verbose syntax
<def`> 'well optimized' is less predictible
<Drup> yeah
c74d3 has quit [Ping timeout: 265 seconds]
ghostpl_ has joined #ocaml
thomasga has joined #ocaml
c74d has joined #ocaml
<companion_cube> Drup: is there an equivalent to Lwt.finally with lwt.ppx ?
<whitequark> [@lwt.finally], surprisingly
<companion_cube> try%let foo [@lwt.finally bar] ?
thomasga has quit [Client Quit]
<companion_cube> try%lwt*
thomasga has joined #ocaml
<whitequark> yes
ghostpl_ has quit [Ping timeout: 246 seconds]
<companion_cube> ok, thanks
<companion_cube> I'm moving some code to lwt.ppx, very nice indeed
<companion_cube> I'm only lacking an equivalent of foo >>= function ....
paradoja has joined #ocaml
vanila has quit [Quit: Leaving]
ollehar has quit [Quit: ollehar]
<whitequark> >>= is not syntax
thomasga has quit [Quit: Leaving.]
<companion_cube> Drup: did you consider function%lwt ... ?
<whitequark> it's just an operator
<companion_cube> yes, I know
<whitequark> so what prevents you from keeping to use it?..
<def`> not abusing of syntax extensions would be less cool
<companion_cube> I think foo >>= function .... can be replaced by match%lwt foo ....
<companion_cube> best thing: try%lwt
dsheets has joined #ocaml
badon has quit [Ping timeout: 245 seconds]
Jefffrey has joined #ocaml
ollehar has joined #ocaml
ygrek has quit [Ping timeout: 250 seconds]
contempt has quit [Ping timeout: 255 seconds]
contempt has joined #ocaml
<whitequark> match%lwt works yeah
<whitequark> you can't quite chain it
Jefffrey has quit [Ping timeout: 240 seconds]
c74d has quit [Remote host closed the connection]
mort___ has joined #ocaml
reem has quit [Remote host closed the connection]
Haudegen has quit [Ping timeout: 245 seconds]
c74d has joined #ocaml
psy_ has quit [Remote host closed the connection]
mbac has joined #ocaml
Haudegen has joined #ocaml
c74d is now known as Guest60144
Guest60144 has quit [Ping timeout: 250 seconds]
mort___ has quit [Quit: Leaving.]
Haudegen has quit [Ping timeout: 252 seconds]
c74d has joined #ocaml
Haudegen has joined #ocaml
fedjo has quit [Ping timeout: 246 seconds]
mort___ has joined #ocaml
fedjo has joined #ocaml
keen__________68 has quit [Read error: Connection reset by peer]
mort___ has quit [Read error: Connection reset by peer]
mort___1 has joined #ocaml
keen__________68 has joined #ocaml
c74d has quit [Read error: Connection reset by peer]
c74d has joined #ocaml
c74d has quit [Read error: Connection reset by peer]
Jefffrey has joined #ocaml
mort___ has joined #ocaml
mort___1 has quit [Read error: Connection reset by peer]
mort___1 has joined #ocaml
c74d has joined #ocaml
yminsky has joined #ocaml
<dario_> Is there a lib out there for pretty-printing the runtime representation of a value?
<dario_> (Something that would use the Obj module to traverse the value)
mort___ has quit [Ping timeout: 250 seconds]
<dario_> It's not hard to write a such a lib, but I suspect it's already out there...
mort___ has joined #ocaml
mort___1 has quit [Ping timeout: 250 seconds]
rand000 has quit [Ping timeout: 255 seconds]
c74d has quit [Read error: Connection reset by peer]
<gargawel> Hi, I've got this warning using oasis + ocamlbuild when I enable the "tests" flag:
<gargawel> Warning: the tag "tests" is not used in any flag declaration, so it will have no effect; it may be a typo. Otherwise use `mark_tag_used` in your myocamlbuild.ml to disable this warning.
<dario_> Never mind, I just wrote a quick and dirty one...
mort___ has quit [Read error: Connection reset by peer]
mort___1 has joined #ocaml
<gargawel> However, enabling the tests flag DOES work, so I'm a bit confused ; is there a way to get rid of this annoying warning ?
<flux> dario_, Batteries has Std.dump
<gargawel> (Of course, I'd like to avoid tweaking the myocamlbuild.ml generated by oasis...)
<dario_> flux: that's exactly what I was looking for, thanks!
mort___1 has quit [Read error: Connection reset by peer]
mort___ has joined #ocaml
leowzukw has joined #ocaml
c74d has joined #ocaml
mort___1 has joined #ocaml
mort___ has quit [Read error: Connection reset by peer]
ghostpl_ has joined #ocaml
mort___1 has quit [Ping timeout: 245 seconds]
<Drup> gargawel: new feature of ocamlbuild, no real way except hacking in oasis, which nobody really wants to do
yminsky has quit [Quit: yminsky]
<MercurialAlchemi> Drup: how are objects a replacement for named arguments?
ghostpl_ has quit [Ping timeout: 246 seconds]
<flux> mercurialalchemi, well, in the same way records are
<Drup> return an object, it's structurally typed
<MercurialAlchemi> say your object has five string fields
<gargawel> Drup: ok -_-
<MercurialAlchemi> new Object("a","b","c","d","e")
<MercurialAlchemi> same problem
<Drup> MercurialAlchemi: ocaml objects
<flux> mercurialalchemi, nope. object method a = "hello" method b = "hiyuo" method age = 42 end
<MercurialAlchemi> ah
<mrvn> object inherit default_args method a = "hello" method b = "hiyuo" method age = 42 end?
<MercurialAlchemi> I thought we were talking about "other languages"
<Drup> MercurialAlchemi: javascript mostly has the same objects as ocaml
<MercurialAlchemi> this certainly wouldn't be an improvement over named arguments
<Drup> just dynamic typing, but it's still prototype based
<flux> mrvn, hey, my original content was copyrighted!1!
snikkers has joined #ocaml
<MercurialAlchemi> Drup: I must admit my lack of familiarity with OCaml's object system, apart from the fact that row polymorphism could be useful sometimes
<flux> but in js you can 'inherit' from prototypes (ie. values), not so ocaml. at times I wish that, though.
<mrvn> MercurialAlchemi: in this use case the object is just like a record
<MercurialAlchemi> mrvn: yes, I see that
<MercurialAlchemi> much like you'd juste a plain hash in JS
<flux> maybe objects would be more popular in ocaml if there was a more succinct built-in syntax for constructing them?-)
<Drup> probably
<flux> I suggest: {> a = 42 <} !
<flux> most annoying braces ever
<mrvn> like [| |]?
<MercurialAlchemi> (: a = 42 :)
<Drup> flux: {< ... >}
<MercurialAlchemi> the smiley brackets
<Drup> it's already used for objects
<flux> drup, wasn't that what streams used..
<Drup> better reused that
<flux> ah right
<mrvn> Lets make it interesting and use ): method a = 17 :(
<flux> forgot about that :)
<MercurialAlchemi> mrvn: that's the sad version
c74d has quit [Ping timeout: 252 seconds]
<flux> drup, but how would the complete syntax be as in not to break existing code?
avsm has joined #ocaml
<mrvn> :) method a = 17 (:
<mrvn> # object method a = 17 end;;
<mrvn> - : < a : int > = <obj>
<mrvn> so maybe it should just be < ... > to construct too?
<flux> probably annoying to parse
<flux> a < b = d > c
<mrvn> flux: missing method
<flux> you mean missing method-keyword?
<mrvn> yes
<flux> but I thought the point was to get rid of that as well.
<mrvn> oh?
<flux> < method a = 42 >
<flux> still not quite the succinctness of { a = 42 }
<flux> though I think it could still be annoying to parse
<mrvn> flux: what about val mutable x = 0?
<flux> well, you cannot access it really, can you?
<flux> you would be constructing a 'real' object if you wanted to do that
<flux> and you could then just use the 'object end'..
<mrvn> Wouldn't you cut out the "val" same as "method"?
<flux> I would support only 'method' for the short syntax
<flux> for example, example of 100% useless code: object val a = 42 end
c74d has joined #ocaml
<mrvn> flux: obejct val mutable x = 0 method get = x method set n = x <- n end
<MercurialAlchemi> < meth a = 42 >
<flux> yes. I don't mind using the long form in that case.
<mrvn> < meth amphetamine = 0 >
<flux> it's the case when you have let get_record x = {> name = x; age = 42 <}
<MercurialAlchemi> mrvn: I was thinking of having an easter egg < crystal a = 42 >
<mrvn> flux: one could always write: let x = ref 0 in < get = x ??? set n = x <- n >
<mrvn> WHat do you use to seperate methods?
<flux> mrvn, yes
<flux> mrvn, just like records ;-): ;
<mrvn> < foo = Printf.printf "doing foo\n"; something () >
<mrvn> can't use ;
<flux> { foo = Printf.printf "doing foo\n"; something } - cannot use ; ?
<flux> or maybe you can use parens..
<mrvn> Use of ; would require begin/end or () too often
<flux> 'too often', not really, because it would be used for 'value objects'
<flux> ..exactly the same as records ;-)
<mrvn> sucks there too
<mrvn> but you have a point
c74d has quit [Read error: Connection reset by peer]
<flux> I suppose someone could just write a ppx for this, even if the syntax would be slightly longer.
c74d has joined #ocaml
c74d has quit [Ping timeout: 250 seconds]
ebzzry has quit [Remote host closed the connection]
mort___ has joined #ocaml
c74d3 has joined #ocaml
c74d3 has quit [Remote host closed the connection]
rand000 has joined #ocaml
thomasga has joined #ocaml
Jefffrey has quit [Quit: Leaving...]
psy_ has joined #ocaml
c74d has joined #ocaml
bobry has joined #ocaml
thomasga has quit [Ping timeout: 246 seconds]
thomasga has joined #ocaml
octachron has quit [Ping timeout: 245 seconds]
c74d has quit [Ping timeout: 265 seconds]
ggole has joined #ocaml
travisbrady has joined #ocaml
kcking has joined #ocaml
thomasga has quit [Quit: Leaving.]
c74d has joined #ocaml
shinnya has joined #ocaml
c74d has quit [Ping timeout: 265 seconds]
octachron has joined #ocaml
kcking has quit [Quit: kcking]
reem has joined #ocaml
ghostpl_ has joined #ocaml
reem has quit [Ping timeout: 240 seconds]
ghostpl_ has quit [Ping timeout: 256 seconds]
larhat1 has joined #ocaml
c74d has joined #ocaml
larhat has quit [Ping timeout: 246 seconds]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
fraggle-boate_ is now known as fraggle-boate
c74d is now known as Guest87025
Guest87025 has quit [Read error: Connection reset by peer]
c74d has joined #ocaml
struktured has quit [Ping timeout: 250 seconds]
badkins has joined #ocaml
struktured has joined #ocaml
struktured has quit [Read error: Connection reset by peer]
c74d is now known as Guest47372
Guest47372 has quit [Ping timeout: 252 seconds]
struktured has joined #ocaml
c74d has joined #ocaml
fraggle_ has quit [Ping timeout: 276 seconds]
rand000 has quit [Ping timeout: 246 seconds]
c74d is now known as Guest82831
Guest82831 has quit [Read error: Connection reset by peer]
thomasga has joined #ocaml
c74d has joined #ocaml
struktured has quit [Ping timeout: 246 seconds]
darkf has quit [Quit: Leaving]
shinnya has quit [Ping timeout: 246 seconds]
ptc has joined #ocaml
ptc is now known as Guest93138
octachron has quit [Ping timeout: 264 seconds]
panini has joined #ocaml
Guest93138 has quit [Read error: Connection reset by peer]
ghostpl_ has joined #ocaml
ptc_ has joined #ocaml
ghostpl_ has quit [Ping timeout: 264 seconds]
iorivur has quit [Quit: No Ping reply in 180 seconds.]
travisbrady has quit [Quit: travisbrady]
iorivur has joined #ocaml
bobry has quit [Quit: Connection closed for inactivity]
c74d has quit [Ping timeout: 265 seconds]
panini has quit [Quit: Leaving]
struktured has joined #ocaml
kcking has joined #ocaml
c74d has joined #ocaml
WraithM has joined #ocaml
kcking has quit [Ping timeout: 246 seconds]
slash^ has joined #ocaml
zpe has quit [Remote host closed the connection]
_whitelogger has joined #ocaml
travisbrady has joined #ocaml
kcking has joined #ocaml
Sim_n has joined #ocaml
Simn has quit [Ping timeout: 252 seconds]
psy_ has quit [Ping timeout: 244 seconds]
rgrinberg has joined #ocaml
c74d has quit [Read error: Connection reset by peer]
c74d has joined #ocaml
vanila has joined #ocaml
c74d has quit [Read error: Connection reset by peer]
Thooms has joined #ocaml
c74d has joined #ocaml
jo` has joined #ocaml
travisbrady has quit [Quit: travisbrady]
snikkers has quit [Ping timeout: 252 seconds]
dario_ has quit [Remote host closed the connection]
oriba has joined #ocaml
c74d is now known as Guest43455
Guest43455 has quit [Ping timeout: 265 seconds]
uris77 has joined #ocaml
ebzzry has joined #ocaml
psy_ has joined #ocaml
psy_ has quit [Max SendQ exceeded]
psy_ has joined #ocaml
psy_ has quit [Max SendQ exceeded]
psy_ has joined #ocaml
psy_ has quit [Max SendQ exceeded]
psy_ has joined #ocaml
psy_ has quit [Max SendQ exceeded]
c74d has joined #ocaml
psy_ has joined #ocaml
psy_ has quit [Read error: Connection reset by peer]
psy_ has joined #ocaml
domsj has quit [Ping timeout: 256 seconds]
rand000 has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
c74d has quit [Read error: Connection reset by peer]
ptc_ has quit [Read error: Connection reset by peer]
c74d has joined #ocaml
Thooms has quit [Ping timeout: 250 seconds]
Thooms has joined #ocaml
paradoja has quit [Ping timeout: 240 seconds]
ghostpl_ has joined #ocaml
zpe has joined #ocaml
kcking has quit [Quit: kcking]
fedjo has quit [Ping timeout: 246 seconds]
jwatzman|work has joined #ocaml
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
ghostpl_ has quit [Ping timeout: 250 seconds]
olauzon has joined #ocaml
snikkers has joined #ocaml
rgrinberg has joined #ocaml
c74d has quit [Read error: Connection reset by peer]
fedjo has joined #ocaml
q66 has joined #ocaml
c74d has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
srcerer_ is now known as srcerer
matason has quit [Ping timeout: 252 seconds]
rgrinberg has joined #ocaml
WraithM has quit [Quit: leaving]
ptc has joined #ocaml
ptc is now known as Guest37568
astocko has joined #ocaml
chives has joined #ocaml
chives has left #ocaml ["Leaving"]
MrScout has joined #ocaml
AlexRussia has quit [Ping timeout: 265 seconds]
fraggle_ has joined #ocaml
AlexRussia has joined #ocaml
<smondet> whitequark: I actually had tried that, it turns out many VPS providers forbid creating swap files (some switch at the hypervisor level). But anyway that was just one of the many reasons not to use core_kernel.
<whitequark> huh
<whitequark> i've used linode
<whitequark> and selectel
<whitequark> neither cares
Submarine has joined #ocaml
Submarine has joined #ocaml
waneck has quit [Ping timeout: 246 seconds]
nullcat has joined #ocaml
Kakadu has quit [Quit: Page closed]
jo` has quit [Ping timeout: 256 seconds]
Sim_n is now known as Simn
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ghostpl_ has joined #ocaml
oriba has quit [Quit: Verlassend]
ghostpl_ has quit [Ping timeout: 246 seconds]
MercurialAlchemi has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
fraggle_ has quit [Remote host closed the connection]
Rebelion has joined #ocaml
ggole has quit []
<flux> I wonder what they care how a virtual server uses its IO - except money, or if they're just providing containers
zpe_ has joined #ocaml
zpe has quit [Ping timeout: 265 seconds]
Haudegen has quit [Ping timeout: 264 seconds]
yomimono has quit [Ping timeout: 250 seconds]
snikkers has quit [Quit: Lost terminal]
larhat1 has quit [Quit: Leaving.]
Hannibal_Smith has quit [Remote host closed the connection]
Kakadu has joined #ocaml
Haudegen has joined #ocaml
captain_furious has quit [Quit: Leaving.]
captain_furious has joined #ocaml
captain_furious has quit [Client Quit]
pyon is now known as pyon-lunch
mort___ has quit [Ping timeout: 265 seconds]
avsm1 has joined #ocaml
avsm has quit [Read error: Connection reset by peer]
pyon-lunch is now known as not-not-pyon
uris77 has quit [Quit: leaving]
travisbrady has joined #ocaml
ygrek has joined #ocaml
nickmeha1ry has joined #ocaml
nickmeharry has quit [Ping timeout: 245 seconds]
leowzukw has quit [Quit: Lost terminal]
mfp has quit [Ping timeout: 245 seconds]
mfp has joined #ocaml
zpe_ has quit [Remote host closed the connection]
shinnya has joined #ocaml
Haudegen has quit [Ping timeout: 245 seconds]
ygrek has quit [Ping timeout: 256 seconds]
<struktured> companion_cube: perhaps I'm being stupid but I can't execute the test suite in containers. the directions don't work for me from the gitub page.
rgrinberg has quit [Quit: Leaving.]
AlexRussia has quit [Ping timeout: 240 seconds]
mort___ has joined #ocaml
Haudegen has joined #ocaml
swgillespie has joined #ocaml
not-not-pyon is now known as implicit-pyon
mort___ has quit [Read error: Connection reset by peer]
swgillespie has quit [Client Quit]
mort___ has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
ghostpl_ has joined #ocaml
captain_furious has joined #ocaml
rgrinberg has joined #ocaml
ghostpl_ has quit [Ping timeout: 246 seconds]
<whitequark> is there really any platform where ocaml still runs but Unix does not?
thomasga has quit [Ping timeout: 265 seconds]
<rom1504> all of them ? (does unix still exist ?)
captain_furious has quit [Quit: Leaving.]
<ousado> Unix is a std lib module :)
<MercurialAlchemi> whitequark: windows?
<flux> nope, there is Unix-module for Windows
<MercurialAlchemi> ocaml turns windows into unix?
<MercurialAlchemi> awesome
<whitequark> ousado: it's not built with ocaml itself
<whitequark> or rather, it's built optionally
<ousado> ok, my bad, an almost std lib modeule then
<ousado> *module
<ousado> but back to the question: perhaps parts of openmirage?
<whitequark> oh, right
<whitequark> but besides that?
<flux> ocapic folks?-)
<whitequark> they're not building a cross-compiler
<whitequark> js_of_ocaml too
reem has joined #ocaml
vanila has quit [Quit: Leaving]
implicit-pyon is now known as idem-pyon-tent
bytbox has quit [Remote host closed the connection]
claudiuc has joined #ocaml
jabesed has joined #ocaml
zpe has joined #ocaml
Submarine has quit [Remote host closed the connection]
toolslive has quit [Ping timeout: 252 seconds]
aubergines has quit [Remote host closed the connection]
<ousado> avsm1: I've just been watching "My Other Internet is a Mirage", way too impressive
<ousado> is there a page that describes the features & compatibility of your DNS server?
rand000 has quit [Quit: leaving]
mort___ has quit [Quit: Leaving.]
bytbox has joined #ocaml
zpe has quit [Remote host closed the connection]
trystero has joined #ocaml
toolslive has joined #ocaml
Riviera_ has joined #ocaml
tristero has quit [Ping timeout: 264 seconds]
ghostpl_ has joined #ocaml
tg has quit [Ping timeout: 265 seconds]
yomimono has joined #ocaml
avsm1 has quit [Quit: Leaving.]
ghostpl_ has quit [Ping timeout: 255 seconds]
ontologiae_ has quit [Ping timeout: 255 seconds]
zpe has joined #ocaml
zpe has quit [Remote host closed the connection]
reem has quit [Remote host closed the connection]
reem has joined #ocaml
reem has quit [Remote host closed the connection]
hilquias has joined #ocaml
reem has joined #ocaml
uris77 has joined #ocaml
jo` has joined #ocaml
Kakadu has quit [Remote host closed the connection]
MrScout_ has joined #ocaml
yomimono has quit [Ping timeout: 240 seconds]
MrScout has quit [Ping timeout: 265 seconds]
skinkitten has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 245 seconds]
reem has quit [Remote host closed the connection]
swgillespie has joined #ocaml
MrScout_ has quit [Read error: Connection reset by peer]
MrScout has joined #ocaml
MrScout has quit [Remote host closed the connection]
MrScout has joined #ocaml
reem has joined #ocaml
<nicoo> whitequark: jsoo is probably unhappy about Unix
rgrinberg has quit [Quit: Leaving.]
<nicoo> Ah, already quoted
<adrien> 21:05 whitequark : is there really any platform where ocaml still runs but Unix does not?
yomimono has joined #ocaml
<adrien> why are you asking btw?
Guest37568 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<companion_cube> struktured: you need to enable several switches in ./configure
ghostpl_ has joined #ocaml
axiles has quit [Ping timeout: 264 seconds]
<whitequark> adrien: internet argument
<companion_cube> well, JS is such a platform, for sure
<adrien> whitequark: heh :)
<adrien> I was asking roughly the same not long ago
<companion_cube> struktured: also, "make test" should launch every test (including qtest)
<whitequark> adrien: so what's the answeR?
ghostpl_ has quit [Ping timeout: 244 seconds]
<adrien> I don't have it either :P
<adrien> but in the absence of answer I won't care about ocamlbuild without Unix
enitiz has joined #ocaml
<adrien> and if someone doesn't have it, this someone will have to speak up
ptc has joined #ocaml
ptc is now known as Guest31614
olauzon has quit [Quit: olauzon]
jwatzman|work has quit [Quit: jwatzman|work]
antkong has joined #ocaml
oriba has joined #ocaml
<Drup> it's actually not completely true for js ....
<Drup> some calls are emulated.
bytbox has quit [Remote host closed the connection]
milosn has quit [Read error: Connection reset by peer]
travisbrady has quit [Quit: travisbrady]
<Drup> toolslive: I went and check the Lwt_log
<Drup> why is "load_rules" not sufficient ?
enitiz has quit [Ping timeout: 250 seconds]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<Drup> it also resets the rules (and allows you to give yours immediately)
milosn has joined #ocaml
swgillespie has joined #ocaml
reem has quit [Remote host closed the connection]
uris77 has quit [Quit: leaving]
<toolslive> Drup: you're forcing me into a detour: create text that you can parse iso allowing me to add the rules immediately ?
<Drup> HUM
<Drup> that's quite true
<Drup> I'm just wondering if not reloading the content of the env variable is really what we want
<toolslive> in general, putting a whole config in an environment var seems over the top.
idem-pyon-tent is now known as pyon
<toolslive> but that's an opinion.
Drup has left #ocaml [#ocaml]
Drup has joined #ocaml
<Drup> but if someone using your software put things in the env variable, and your program doesn't behave accordingly, it's rather bad
<toolslive> hm, I never tried to set that env var in combination with this server. you say it will influence my logconfig ?
<Drup> yes
<Drup> look at lwt_log_core line 108-132
travisbrady has joined #ocaml
<Drup> it basically read the content of the LWT_LOG env variable and apply add_rule on it.
MrScout_ has joined #ocaml
yomimono has quit [Ping timeout: 244 seconds]
<toolslive> right. a global let _ = .... side effect. ....
<Drup> yep
<toolslive> who's idea was that?
MrScout has quit [Ping timeout: 265 seconds]
<toolslive> my main problem is that we already use a config file to configure everything else for our server. It's not nice to force a user to configure parts using a config file and then other things via an env var, it's even worse to have accidental things happening.
<Drup> fair enough
<Drup> someone who want to reset to the env variable can use Lwt_log.load_rules anyway
<Drup> toolslive: but I'm pretty sure you do need to add " Section.recompute_levels ()" ;)
<toolslive> ok. I will do so.
<Drup> I must say, this new invargent tools sounds quite fantastic.
mort___ has joined #ocaml
<toolslive> off to bed. have fun!
toolslive has quit [Quit: Leaving]
reem has joined #ocaml
antkong has quit [Quit: antkong]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
mort___ has quit [Quit: Leaving.]
Thooms has quit [Quit: WeeChat 1.0.1]
swgillespie has joined #ocaml