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
araujo has quit [Ping timeout: 265 seconds]
araujo has joined #ocaml
icicled has joined #ocaml
rgrinberg1 has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
<mcc> so i guess today is the day i learn to use ocamldebug
<mcc> is it good? like, at being a computer program
<mcc> also the claimed "time travel" feature in the docs is interesting, does that work even assuming mutation of structures?
<Drup> It's widly recognize as impossible to use
<Drup> sorry :(
AltGr has joined #ocaml
<mcc> hmm
<Drup> (and yes, time traverl works with mutations)
<mcc> let's say my situation is that i have a case in a match, match stack with frame :: {register=LineStart _; code=[]} :: moreFrames ->. And it is not matching. So apparently that pattern is not correct. But I do not know what the structure, at the moment i expect it to match, actually does look like.
<Drup> put a print just before the match
<mcc> Is there a way you would recommend to uncover a human-readable representation of the structure at that moment, other than writing a complex pretty-printer based on knowledge of the code?
<Drup> (with a judicious ppx_deriving.show)
<mcc> How would I go about printing a list of lists?
<mcc> oh
<mcc> now that seems helpful
<companion_cube> yes it does
mcclurmc has quit [Remote host closed the connection]
mcclurmc has joined #ocaml
BitPuffin has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
Simn has quit [Quit: Leaving]
<struktured> mcc: for external types you can also consider ppx_import
madroach has quit [Ping timeout: 250 seconds]
<rgrinberg> is there some sort of incompatibility between lwt and ounit?
madroach has joined #ocaml
<Drup> not afaik
<rgrinberg> yep
<rgrinberg> that's the error i get
<struktured> rgrinberg: you could try that run sequential work around then I guess
<mcc> ...okay, now i am confused. https://github.com/whitequark/ppx_deriving looking at the docs, placing [@@deriving show] after my type declaration creates… some… sort of magical "show" function in the namespace? named what? where do I find it?
<mcc> some of the exampels seem to imply show_type gets autogenerated, but show_executeState does not exist...
<Drup> it's name show_foo
NoNNaN has quit [Remote host closed the connection]
<Drup> for a type foo
Yoric has quit [Remote host closed the connection]
<Drup> you need to put it in your .mli too if you have one
NoNNaN has joined #ocaml
<Drup> (and it's not magic, just code generation :p)
<mcc> if it occurs out of my view it is magic...
<mcc> ok so i don't have an mli. I have… wait hold on
<struktured> mcc: side note.. if you type is "t" it will be literally called show
manud___ has joined #ocaml
<mcc> you mean if it is literally named "t"
manud___ has quit [Read error: Connection reset by peer]
<struktured> mcc: correct
<mcc> …oh, i see.
manud___ has joined #ocaml
<struktured> mcc: eg. module Foo = struct type t = int [@@deriving show] end , then you can do Foo.show 123
<mcc> right
thomasga has quit [Quit: Leaving.]
rand000 has quit [Quit: leaving]
<mcc> okay so ... walking through. I add the [@@deriving show]. nothing happens. i add the show_executeStack call. suddenly it complains there's no show_executeStack. i add ppx_deriving to my _tags. Suddenly things work, apparently it's just ignoring the @@deriving if you don't include the library. Okay.
<struktured> mcc: whats your build system? it should just be a regular build dependency
<mcc> Then things get odd. The type I want to @@derive includes a big tree of types. It complains it can't find some derived product for those sub-types. I run around my code adding @@deriving to each one. Then I hit this error:
<Drup> ah yeah
<Drup> that's ... normal
<mcc> struktured: ocamlbuild. and yes, it was a regular bild dependency. i just didn't add it at first.
<mcc> anyway, finally i come to a stop here: Error: Unbound value Hashtbl.pp
<Drup> it's a ""feature"" of @@ attributes
<mcc> so i guess... is this where ppx_import comes in?
<Drup> if they are not interpreted, the compiler just drop them
<struktured> mcc: yeah it is a recusive requirement. ppx_import can help
<mcc> what if i don't need to see inside the Hashtbl
thomasga has joined #ocaml
<mcc> like, it's enough for me to just be told "and then there's a black box here"
<Drup> if you don't, you can declare as opaque
<Drup> see the documentation
<mcc> oh that's what that was
<mcc> cool
<mcc> where... do i attach that? to the field? to the ppx_import?
<Drup> no ppx_import needed
<Drup> attach it to the field
thomasga has quit [Client Quit]
<mcc> cool, it is working
rgrinberg1 has joined #ocaml
rgrinberg has quit [Read error: Connection reset by peer]
<struktured> nice
hugomg has quit [Ping timeout: 272 seconds]
antinomy has quit [Ping timeout: 272 seconds]
antinomy has joined #ocaml
<mcc> although i think i will have some questions about the ppx_import thing in a moment :O
<struktured> mcc: make sure its listed before ppx anything else
rgrinberg1 has quit [Quit: Leaving.]
nicoo has quit [Remote host closed the connection]
nicoo has joined #ocaml
<mcc> i think that makes sense
kandu has quit [Ping timeout: 258 seconds]
kandu has joined #ocaml
kandu is now known as Guest75011
boogie has joined #ocaml
boogie has quit [Read error: Connection reset by peer]
boogie has joined #ocaml
<icicled> what's the proper usage of BatHashtbl.print ?
<icicled> i.e. how do I invoke it properly?
<Drup> you give it the print function for the value and the keys
<Drup> (grrr BatIO)
Guest75011 has quit [Ping timeout: 258 seconds]
kandu_ has joined #ocaml
<icicled> my k,v are strings > the type of print_string doesn't match what BatHashtbl.print is expecting
<Drup> yeah
<Drup> use BatString.print
kandu_ is now known as kandu
<icicled> BatHashtbl.print String.print String.print stdout request.headers;; did the trick
<icicled> so long >_>
<struktured> yeesh
ivan\ has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
<Drup> icicled: you can define a shorthand function for your specific hashtbl by partially applying the first two arguments
rgrinberg has joined #ocaml
`micro_ has left #ocaml [#ocaml]
manud___ has quit [Quit: Lingo: www.lingoirc.com]
manud has joined #ocaml
<icicled> someone should create a module called sparks with convenience methods for batteries
<Drup> Yeah, it's called containers
<Drup> =')
oscar_toro has quit [Ping timeout: 272 seconds]
antegallya has quit [Ping timeout: 260 seconds]
shinnya has quit [Ping timeout: 264 seconds]
<icicled> well, I am using Gen atm, & haven't tied myself much to batteries
<icicled> what's the consensus around containers v. batteries?
willy_ has joined #ocaml
<struktured> icicled: I shamelessly advocate containers
<Drup> There is no real consensus.
<Drup> There is a consensus about BatIO however :>
wwilly has quit [Ping timeout: 265 seconds]
<icicled> heh, and what's that?
<Drup> that it was a terrible idea
<icicled> ah ok
manud has quit [Quit: Be back later ...]
mcc has quit [Quit: This computer has gone to sleep]
manud has joined #ocaml
<rgrinberg> Drup: what's your opinion about cow?
<Drup> that it shouldn't exist x)
<rgrinberg> I see, so tyxml is the answer?
<Drup> for the html part, yeah
<Drup> the syntax extension for tyxml is quite crappy though, it will be rewritten at some point
<rgrinberg> Drup: rewritten? i thought you guys are purging p4
<Drup> there are two parts, that are very unfortunately conflated together: 1) an html2tyxml parser producing an OCaml ast 2) a syntax extension that allows to use that inside ocaml
<Drup> first step is to rewrite the part 1, using normal parsing stuff
<Drup> and then 2), with ppx
<Drup> but currently, the parser is directly written in camlp4, so it's not extractable
<whitequark> gasche: hmmmm, I will consider doing something with it
<Drup> (this part of tyxml makes me shiver everytime I look at it)
<whitequark> funny fact is, triaging in LLVM mostly works by giving maintainers links on IRC
<rgrinberg> Drup: i guess the rest of cow can be replaced with ppx_deriving then
<Drup> well, I never really saw the point of the rest of cow, so ...
nojb has joined #ocaml
<rgrinberg> yeah looking back,
<rgrinberg> i'm just considering to dump it for ppx_deriving
<rgrinberg> and yojson
q66 has quit [Quit: Leaving]
marynate has joined #ocaml
ivan\ has joined #ocaml
nojb has quit [Quit: nojb]
badon has quit [Quit: Leaving]
<icicled> is there something special one must do to enable the use of ppx_deriving in utop?
<Drup> "#require ppx_deriving.foo"
<Drup> (with the desired foo)
WraithM has joined #ocaml
<nicoo> rgrinberg: 503 Temporarily Unavailable on rgrinberg.com
<icicled> thanks
BitPuffin has quit [Ping timeout: 245 seconds]
<icicled> when I run: #require "ppx_deriving.show";; it crashes
<Drup> hum
<icicled> File "", line 1, characters 0-4: Error: Parse error: illegal begin of top_phrase
<Drup> do you load camlp4 ?
<icicled> yes, I have that in ~/.ocamlinit : #camlp4o
<icicled> I assume that's it?
<Drup> yes
<Drup> remove it.
<icicled> that worked
<icicled> no more sexplib in utop =\
<icicled> ah well
<Drup> you can't use ppx and camlp4 simultanously
<icicled> fwi remember, they're both allow extensions to the language correct?
<Drup> yeah
<Drup> sort of
darkf has joined #ocaml
<Drup> except camlp4 is buggy and currently crash on ppx syntax
bytbox has quit [Remote host closed the connection]
ontologiae_ has joined #ocaml
araujo has quit [Quit: Leaving]
<nicoo> rgrinberg: Fixed, thanks a lot
<rgrinberg> nicoo: what's fixed?
<rgrinberg> oh
<rgrinberg> didn't do anything :D
<nicoo> Ok. Must have been some pixie dust stuck in the fans.
<rgrinberg> nicoo: that blog runs on the cheapest possible digital ocean
<rgrinberg> 5$ a month
<rgrinberg> surprised it works sometimes :D
kido1412 has joined #ocaml
<kido1412> Is there any xlog parser library implemented in OCaml? I need to parse the xlog
<kido1412> After google, I found a library for java http://www.xes-standard.org/openxes/start
<Drup> doesn't seem like it
bytbox has joined #ocaml
lordkryss has quit [Quit: Connection closed for inactivity]
bytbox has quit [Ping timeout: 244 seconds]
icicled has quit [Ping timeout: 260 seconds]
bytbox has joined #ocaml
bytbox has quit [Remote host closed the connection]
koderok has joined #ocaml
koderok has quit [Remote host closed the connection]
mcclurmc has joined #ocaml
WraithM has quit [Quit: Lost terminal]
<rgrinberg> where does lwt_log log by default?
<whitequark> stdout (or stderr, I don't remember)
<rgrinberg> is there a default log level?
<rgrinberg> yep..
<rgrinberg> async's logging all returns unit by default
<rgrinberg> more convenient :/
<Drup> add _ign for unit
<rgrinberg> Drup: lies
<rgrinberg> ign_ prefix
<Drup> :<
manud has quit [Quit: Be back later ...]
bytbox has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
psy_ has joined #ocaml
larhat has quit [Quit: Leaving.]
rgrinberg has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
_5kg has quit [Ping timeout: 265 seconds]
badon has joined #ocaml
rwmjones has quit [Read error: Network is unreachable]
rwmjones has joined #ocaml
ggole has joined #ocaml
<struktured> how do I make this compile? https://gist.github.com/struktured/f62a23b77dd1b30f459d
<whitequark> the error message tells you how
<whitequark> module M : S = struct module rec Foo : sig type t end = struct type t end and Bar : sig type t end = struct type t end end;;
<struktured> what if I want them in separate files though..?
<whitequark> you can't
<struktured> hmm ok
ebzzry has quit [Remote host closed the connection]
<whitequark> write ppx_include :]
<ggole> The consensus seems to be that recursive modules shouldn't be used
<ggole> Which is annoying, because sometimes mutual recursion is exactly what you want.
<whitequark> it's not like anyone can stop you
<whitequark> #FightTheSystem
<ggole> True
ontologiae_ has quit [Ping timeout: 255 seconds]
ebzzry has joined #ocaml
<struktured> now I need to rethink my design
<struktured> it looked so pretty with mutual rec modules too..
<whitequark> or write ppx_include!
<ggole> You can use still use em in one file
<whitequark> [%%include "file.ml"];;
<ggole> (It gets a bit ugly though.)
<whitequark> it's trivial actually.
<struktured> I wnated to do the foo_intf.ml and foo.ml[i] pattern...
siddharthv has joined #ocaml
<whitequark> struktured: btw, your README in riakc_ppx is horrible
<whitequark> why are you using <hr> and <blockquote> for code?!
<struktured> whitequark: because I have no idea how to use md
<struktured> whitequark: how would your ppx_include thingy work?
<whitequark> parse the other file and replace [%%include] with its structure items
<whitequark> I can write it for you actually, I have a spare hour
<whitequark> struktured: holy crap, did you manually edit utop output?!
<struktured> I'll try using it if you do
<struktured> whitequark: yeah
<whitequark> reading the github markdown guide would have taken SO MUCH LESS time...
<struktured> whitequark: ok ok I will debrief myself on it
<struktured> and then improve the readme accordingly
<struktured> well that looks about a zillion times better
<whitequark> exactly
_5kg has joined #ocaml
nullcat has joined #ocaml
sdegutis has joined #ocaml
<sdegutis> Hi. Is OCaml basically the free version of Apple's Swift language but with weird syntax?
<struktured> haahaahaa
<sdegutis> Serious question.
Yoric has joined #ocaml
<ggole> ...
<sdegutis> Okay let me try again.
<kgzm> Swift looks more like Scala than OCaml.
<struktured> sdegutis: well, they do share strong typing, type inference, and generic programming, but it's not like its an ML dialect or anything
<sdegutis> I really like Swift a lot, it's super cool and I love the fact that it's wicked fast and has such amazing C interop. But it's Apple-only. So I'm looking for a non-Apple version, or the closest to it.
<sdegutis> struktured: yeah ML is what I meant by weird syntax
<nullcat> (´゚д゚`)
<sdegutis> Is that valid OCaml?
<struktured> sdegutis: eye of beholder I guess. I find objective c (and thus swift really) to have weird snytax.
<sdegutis> ObjC is admittedly ugly.
<whitequark> sdegutis: I would say that Swift is a paid version of OCaml with weird syntax, but essentially yes
<sdegutis> Swift is like Python and C++ had a baby and named it Fred.
<sdegutis> whitequark: awesome, thanks
<whitequark> Swift seems nice as a language, the implementation is somewhat botched though
<sdegutis> whitequark: how so?
<whitequark> it's slow
<whitequark> really slow
<sdegutis> I'll take slow with threading over fast without any day.
<sdegutis> Just kidding :)
<struktured> yeah I've read that its api needs to catch up speed wise
<whitequark> and people have been complaining about compiler bugs
<sdegutis> Yea it's got lots of bugs.
<struktured> and and new releases break alot of code, from what I hear too
Yoric has quit [Ping timeout: 255 seconds]
<whitequark> hi nullcat
<sdegutis> struktured: it's beta, comes with the territory
nullcat_ has joined #ocaml
<nullcat_> hi whitequark!
<struktured> sdegutis: of course, but one dev I know was like.."I know its beta...but man thats alot of changes"
<sdegutis> lol
<nullcat_> it's so good to see you guys at IRC!
<nullcat_> first time using IRC
nullcat has quit [Quit: Page closed]
<sdegutis> nullcat_: why does your nick familiar?
<nullcat_> idk... did you see this nick on Twitter
<sdegutis> maybe?
<nullcat_> by the way...any recommendation for IRC client?
<sdegutis> nullcat_: retweeted you
<sdegutis> nullcat_: osx?
<nullcat_> i see...
<nullcat_> thx
<sdegutis> nullcat_: you using osx?
<nullcat_> yes. I don't know Message.app support IRC
<sdegutis> nullcat_: idk I use limechat on OS X tbh fwiw ymmv
<struktured> whitequark: I'm going to keep my modules recursive for now. let me know when ppx_import is testable and I'll try it out
<sdegutis> nullcat_: also yolo for good measure
<sdegutis> So how am I fitting in so far?
<sdegutis> Am I communitying right?
<struktured> whitequark: sorry ppx_include
<whitequark> struktured: ok
mcclurmc has quit [Remote host closed the connection]
nullcat_ has quit [Quit: Textual IRC Client: www.textualapp.com]
chinglish has joined #ocaml
Yoric has joined #ocaml
nullcat has joined #ocaml
Submarine has quit [Quit: Leaving]
<rgrinberg> Drup: review the cohttp pr next
<nullcat> hi rbrinberg!
<sdegutis> whitequark: so what is your favorite programmer language?
<nullcat> so good to see so many familiar names here!
<sdegutis> nullcat: so strange that yours is familiar for no reason
<nullcat> too many cats on Internet nowadays. i understand
<rgrinberg> nullcat: hello
<rgrinberg> OCaml community is pretty small
<rgrinberg> you end knowing everyone pretty fast
<nullcat> yeah. before leaving to prepare final exams, may I know how did u guys do the mention as on Twitter?
<whitequark> sdegutis: ocaml
<sdegutis> whitequark: but I saw you in like so many channels over the years
<sdegutis> whitequark: I forget most of them.. #python and #ruby come to mind
<whitequark> I used to use ruby a lot
sdegutis has quit [Quit: Leaving...]
<whitequark> #python? I'm fairly sure I never ever logged into one
ggole has quit [Ping timeout: 256 seconds]
Submarine has joined #ocaml
siddharthv is now known as siddharthv_away
* nullcat leaving to prepare compiler course final exam =_=
<rgrinberg> whitequark: if you see a ruby programmer considering go
<rgrinberg> stuff a caml down their throat
<whitequark> rgrinberg: releavnt: https://i.imgur.com/ofdwU7h.png
ggole has joined #ocaml
<nicoo> rgrinberg: Now, I need a stuffed caml
MercurialAlchemi has joined #ocaml
dch has quit [Ping timeout: 260 seconds]
lu324 has quit [Remote host closed the connection]
hannes has quit [Read error: Connection reset by peer]
c74d is now known as Guest63825
hannes` has joined #ocaml
lu324_ has joined #ocaml
ousado_ has quit [Read error: Connection reset by peer]
_whitelogger has quit [Ping timeout: 260 seconds]
_whitelogger has joined #ocaml
mfp has joined #ocaml
dch has joined #ocaml
c74d3 has joined #ocaml
demonimin has joined #ocaml
demonimin has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
willy_ has left #ocaml ["Leaving"]
Yoric has quit [Remote host closed the connection]
<rgrinberg> Drup: any reason why this wasn't merged?
<rgrinberg> this too
manud has joined #ocaml
siddharthv_away is now known as siddharthv
chinglish has quit [Quit: Nettalk6 - www.ntalk.de]
martintrojer has quit [Max SendQ exceeded]
boogie has quit [Remote host closed the connection]
martintrojer has joined #ocaml
siddharthv has quit [Quit: leaving]
boogie has joined #ocaml
siddharthv has joined #ocaml
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
siddharthv has left #ocaml [#ocaml]
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
martintrojer has quit [Remote host closed the connection]
martintrojer has joined #ocaml
boogie has quit [Ping timeout: 272 seconds]
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
mcc has joined #ocaml
keen___________2 has joined #ocaml
keen___________1 has quit [Ping timeout: 255 seconds]
kapil__ has joined #ocaml
Yoric has joined #ocaml
manud has quit [Quit: Be back later ...]
manud has joined #ocaml
Yoric_ has joined #ocaml
<Leonidas> nullcat: preparing the exam questions or learning for the exam? :-)
<nullcat> Leonidas: learning for the exam. I am third-year Comp Sci student at UCLA :)
Yoric has quit [Ping timeout: 265 seconds]
<Leonidas> ok, wish you a lot of success.
<nullcat> thx
<Leonidas> that said, i should start learning for my exams myself
mcc has quit [Quit: This computer has gone to sleep]
Yoric_ has quit [Remote host closed the connection]
Yoric has joined #ocaml
<whitequark> struktured: this is... harder than I expected
rgrinberg has quit [Quit: Leaving.]
boogie has joined #ocaml
sh1ken_ has quit [Ping timeout: 250 seconds]
kakadu has joined #ocaml
<whitequark> the hell happened with docstrings?!
manud has quit [Quit: Be back later ...]
boogie has quit [Ping timeout: 255 seconds]
darkf has quit [Ping timeout: 258 seconds]
darkf has joined #ocaml
larhat has joined #ocaml
sh1ken has joined #ocaml
<whitequark> companion_cube: ffs, containers fail *again*: https://travis-ci.org/whitequark/opam-query/builds/44062224#L1580
<whitequark> same reason, too: docs
<whitequark> get yourself a CI already
jonludlam has quit [Quit: Coyote finally caught me]
Yoric has quit [Remote host closed the connection]
chambart has joined #ocaml
lordkryss has joined #ocaml
pyon has quit [Quit: Cultura es todo. Incluso Mastropiero.]
pyon has joined #ocaml
hannes` is now known as hannes
demonimin has quit [Ping timeout: 264 seconds]
<ggole> Does removing entries from a Hashtbl while iterating work, or do I need to fiddle around?
mcclurmc has joined #ocaml
<whitequark> I think it does.
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
Anarchos has quit [Ping timeout: 240 seconds]
_5kg has quit [Ping timeout: 255 seconds]
ollehar has joined #ocaml
mcclurmc has quit [Ping timeout: 240 seconds]
Simn has joined #ocaml
<ggole> remove doesn't resize in the implementation, so it should be ok
jjffjf has joined #ocaml
<ggole> Of course, there's no guarantee that will remain the case.
ousado_ is now known as ousado
ousado has quit [Changing host]
ousado has joined #ocaml
<flux> I guess it's not guaranteed if your remaining iteration will still include the removed element or not?
manud has joined #ocaml
jjffjf is now known as sol__
<def`> ggole: removing only the entry being processed is ok, removing other elements is undefined
<ggole> Yeah, it's the current element.
<ggole> Thanks.
oscar_toro has joined #ocaml
marynate has quit [Ping timeout: 258 seconds]
matason has joined #ocaml
boogie has joined #ocaml
milosn has quit [Ping timeout: 272 seconds]
Yoric has joined #ocaml
boogie has quit [Ping timeout: 258 seconds]
matason has quit [Quit: Leaving...]
matason has joined #ocaml
<companion_cube> whitequark: what is the problem with docs?
<companion_cube> looks like the problem is lwt.unix
milosn has joined #ocaml
bezirg has joined #ocaml
manud has quit [Quit: Be back later ...]
chambart has quit [Ping timeout: 240 seconds]
manud has joined #ocaml
dav_ has joined #ocaml
ontologiae_ has joined #ocaml
dav has quit [Ping timeout: 255 seconds]
antinomy has quit [Ping timeout: 244 seconds]
_5kg has joined #ocaml
kakadu has quit [Read error: No route to host]
kakadu has joined #ocaml
manud has quit [Quit: Be back later ...]
<companion_cube> whitequark: I have CI, just not for documentation. But I'm fixing it.
jonludlam has joined #ocaml
<whitequark> great
<companion_cube> (I removed the cruft in lwt/ that was responsible for the failure, too)
octachron has joined #ocaml
boogie has joined #ocaml
sgnb` has joined #ocaml
<companion_cube> whitequark: m17b looks impressive
<companion_cube> not that I will use it, but that might be a good proof-of-concept for the compiler team
sgnb has quit [Ping timeout: 264 seconds]
AltGr has left #ocaml [#ocaml]
boogie has quit [Ping timeout: 258 seconds]
igitoor has quit [Ping timeout: 244 seconds]
_andre has joined #ocaml
igitoor has joined #ocaml
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
igitoor has quit [Changing host]
igitoor has joined #ocaml
ingsoc has joined #ocaml
<johnelse> companion_cube: sorry, only just saw your message about irc-client
<johnelse> you might be right :)
<johnelse> were you thinking something along the lines of what the python library does?
<companion_cube> I don't know, but I certainly would like not to have to guess what received messages mean ;)
<companion_cube> I think a variant like type privmg = { from:string; to_:string; content:string} type event = PrivMsg of privmsg | Join of string * string | Part of string * string | ..... | Other of (* the raw representation *)
<johnelse> ok, makes sense :)
<companion_cube> and then, the listen handler would match on this
<johnelse> ah I see, so just a higher-level type for the message received
<johnelse> yeah that would be nice
<companion_cube> yes :)
<companion_cube> you need a "Other" constructor for server-specific messages and rare stuff, but common messages (privmsg/notice/join/part) should be easy to deal with
<companion_cube> do you want me to open an issue?
<johnelse> yeah sure
<johnelse> it'll give me something to hack on over Christmas :)
ygrek has joined #ocaml
kapil__ has quit [Quit: Connection closed for inactivity]
<companion_cube> johnelse: https://github.com/c-cube/tomato-chan/blob/master/src/tomato_chan.ml#L218 <--- I had to use something like this to parse messages :p
CissWit has joined #ocaml
jbrown has joined #ocaml
kapil__ has joined #ocaml
lordkryss has quit [Quit: Connection closed for inactivity]
<CissWit> Hi, i have a pattern matching that look like http://paste.debian.net/hidden/2467b2cb/ Is there a way to combine both patterns in order to avoid the repetition of "do_something" ?
<mrvn> yes
<mrvn> Or maybe not since you bind somevar1 and somevar2
axiles has quit [Quit: Quitte]
<mrvn> I think you can only combine cases that bind the same variables to the same types
<mrvn> CissWit: What does ocaml say when you remove the first "-> do_somethign"?
octachron has quit [Ping timeout: 265 seconds]
milosn has quit [Ping timeout: 250 seconds]
jao has quit [Ping timeout: 256 seconds]
chambart has joined #ocaml
<CissWit> "Variable somevar1 must occur on both sides of this | pattern"
ygrek has quit [Ping timeout: 255 seconds]
boogie has joined #ocaml
arj has joined #ocaml
chambart has quit [Ping timeout: 245 seconds]
boogie has quit [Ping timeout: 244 seconds]
axiles has joined #ocaml
Yoric has quit [Remote host closed the connection]
thomasga has joined #ocaml
Anarchos has joined #ocaml
antegallya has joined #ocaml
Submarine has quit [Quit: Leaving]
Thooms has joined #ocaml
arj has quit [Quit: Leaving.]
malc_ has joined #ocaml
<ggole> CissWit: make a useless binding there, I guess
Yoric has joined #ocaml
nojb has joined #ocaml
Yoric_ has joined #ocaml
Yoric has quit [Ping timeout: 244 seconds]
Yoric_ has quit [Remote host closed the connection]
<nojb> does merlin work with ppx ?
<companion_cube> there's a branch that does, yes
<nojb> thanks !
<companion_cube> don't thank me, thank merlin's developers
<nojb> I mean thanks for the link :)
boogie has joined #ocaml
octachron has joined #ocaml
boogie has quit [Ping timeout: 256 seconds]
octachron has quit [Read error: Connection reset by peer]
_5kg has quit [Ping timeout: 260 seconds]
Hannibal_Smith has joined #ocaml
lordkryss has joined #ocaml
<thomasga> That's very weird. Typing "let f (x: module S with type" in my emacs make the process *very* slow. Am I the only one? I'm using tuareg.2.0.8 and merlin.
<nojb> I have had random tuareg slow-down like that before …
<ggole> Yeah, I've seen that.
<ggole> Always around a colon for some reason.
<nojb> My guess is that parsing in tuareg is not very robust
<thomasga> gdb gives: frame #0: 0x00000001000b9186 emacs`re_match_2_internal + 2327
<whitequark> yay backtracking
kakadu has quit [Remote host closed the connection]
<CissWit> ggole: what do you mean ?
chambart has joined #ocaml
<ggole> Add the binding of that field to the part of the match without it
nojb has quit [Quit: nojb]
<ggole> It won't be used, but it should shut the type checker up
Yoric has joined #ocaml
mgzk has joined #ocaml
Yoric_ has joined #ocaml
Yoric has quit [Read error: Connection reset by peer]
_5kg has joined #ocaml
Thooms has quit [Quit: WeeChat 1.0.1]
_5kg has quit [Ping timeout: 245 seconds]
_5kg has joined #ocaml
boogie has joined #ocaml
boogie has quit [Ping timeout: 256 seconds]
oscar_toro has quit [Ping timeout: 265 seconds]
tane has joined #ocaml
araujo has joined #ocaml
ingsoc has quit [Quit: Leaving.]
rand000 has joined #ocaml
Yoric_ has quit [Remote host closed the connection]
BitPuffin has joined #ocaml
Yoric has joined #ocaml
Yoric has quit [Remote host closed the connection]
Yoric has joined #ocaml
_5kg has quit [Ping timeout: 265 seconds]
bezirg has quit [Ping timeout: 250 seconds]
boogie has joined #ocaml
myst|work has quit [Quit: leaving]
Thooms has joined #ocaml
<Drup> mfp: thanks for the historic precision ! :)
myst|work has joined #ocaml
<whitequark> ooooh
<whitequark> I just had the best idea for using GADTs ever
<whitequark> encoding ioctls.
icicled has joined #ocaml
<companion_cube> careful with that axe, whitequark
<adrien> it's impossible!
boogie has quit [Ping timeout: 250 seconds]
<adrien> that would mean you would get a usable API for ioctl()!
<adrien> the world would end
<whitequark> wow, it totally works
<mgzk> Tell us more.
<flux> so instead of having multiple ioctl functions with safe entry- and return-types, you could have one with a big GADT type, and this is then better?-)
<adrien> :)
<adrien> now, good luck listing them all :P
<whitequark> I only need hidraw ones
oscar_toro has joined #ocaml
struktured has quit [Ping timeout: 250 seconds]
badkins has joined #ocaml
badkins_ has joined #ocaml
badkins_ has quit [Client Quit]
badkins_ has joined #ocaml
tane has quit [Quit: Verlassend]
darkf has quit [Quit: Leaving]
badkins has quit [Ping timeout: 244 seconds]
oscar_toro has quit [Ping timeout: 245 seconds]
Yoric has quit [Remote host closed the connection]
icicled has quit [Ping timeout: 245 seconds]
Yoric has joined #ocaml
lordkryss has quit [Quit: Connection closed for inactivity]
bezirg has joined #ocaml
badkins_ is now known as badkins
mcclurmc has joined #ocaml
<vbmithr> Hi
_5kg has joined #ocaml
<vbmithr> Is there a library to deal with bigarray-as-strings outside Lwt or Core ?
<companion_cube> I don't know any
nojb has joined #ocaml
<Drup> whitequark: yay n_n
mcclurmc has quit [Remote host closed the connection]
mcclurmc has joined #ocaml
<whitequark> Drup: yay what?
nojb has quit [Quit: nojb]
<Drup> merging !
mcclurmc has quit [Remote host closed the connection]
nojb has joined #ocaml
boogie has joined #ocaml
octachron has joined #ocaml
patojo has joined #ocaml
icicled has joined #ocaml
boogie has quit [Read error: Connection reset by peer]
travisbrady has joined #ocaml
Yoric has quit [Remote host closed the connection]
Yoric has joined #ocaml
<vbmithr> cool
icicled has quit [Ping timeout: 255 seconds]
nojb has quit [Quit: nojb]
thomasga has quit [Quit: Leaving.]
thomasga has joined #ocaml
Thooms has quit [Quit: WeeChat 1.0.1]
shinnya has joined #ocaml
patojo has quit [Remote host closed the connection]
boogie has joined #ocaml
mcclurmc has joined #ocaml
kapil__ has quit [Quit: Connection closed for inactivity]
boogie has quit [Ping timeout: 256 seconds]
mcclurmc has quit [Remote host closed the connection]
larhat has quit [Quit: Leaving.]
thomasga has quit [Quit: Leaving.]
Yoric has quit [Remote host closed the connection]
mcclurmc has joined #ocaml
octachron has quit [Ping timeout: 260 seconds]
Yoric_ has joined #ocaml
thegameg has joined #ocaml
ygrek has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
lordkryss has joined #ocaml
mcclurmc has joined #ocaml
Thooms has joined #ocaml
travisbrady has quit [Quit: travisbrady]
travisbrady has joined #ocaml
anon_ has joined #ocaml
anon_ has quit [Client Quit]
olauzon has joined #ocaml
struk|work has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
ollehar has quit [Ping timeout: 245 seconds]
mcclurmc has joined #ocaml
Yoric_ has quit [Remote host closed the connection]
travisbrady has quit [Quit: travisbrady]
mcclurmc has quit [Read error: Connection reset by peer]
travisbrady has joined #ocaml
mcclurmc has joined #ocaml
bezirg has quit [Ping timeout: 240 seconds]
milosn has joined #ocaml
Yoric has joined #ocaml
nojb has joined #ocaml
oscar_toro has joined #ocaml
Yoric has quit [Remote host closed the connection]
Yoric has joined #ocaml
bezirg has joined #ocaml
icicled has joined #ocaml
Yoric has quit [Remote host closed the connection]
boogie has joined #ocaml
mgzk has quit [Ping timeout: 244 seconds]
Thooms has quit [Quit: WeeChat 1.0.1]
mcclurmc has quit [Remote host closed the connection]
Thooms has joined #ocaml
boogie has quit [Ping timeout: 256 seconds]
mcclurmc has joined #ocaml
ontologiae_ has quit [Ping timeout: 264 seconds]
WraithM has joined #ocaml
boogie has joined #ocaml
boogie has quit [Remote host closed the connection]
slash^ has joined #ocaml
travisbrady has quit [Quit: travisbrady]
<vbmithr> whitequark: When I do oasis setup in the lwt folder, it creates lots of files.
<Drup> you shouldn't have to do oasis setup
<Drup> iirc, it uses the dynamic setup
<vbmithr> Ok
<vbmithr> yeah, working
Anarchos has quit [Ping timeout: 264 seconds]
bezirg has quit [Read error: Connection reset by peer]
Thooms has quit [Quit: WeeChat 1.0.1]
bezirg has joined #ocaml
travisbrady has joined #ocaml
AlexRussia has quit [Ping timeout: 245 seconds]
rgrinberg has joined #ocaml
badkins has quit [Read error: Connection reset by peer]
jonludlam has quit [Quit: Coyote finally caught me]
thomasga has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
MrScout has joined #ocaml
seveneng has joined #ocaml
AlexRussia has joined #ocaml
psy_ has quit [Ping timeout: 245 seconds]
nuki has joined #ocaml
jwatzman|work has joined #ocaml
seveneng has left #ocaml [#ocaml]
WraithM has quit [Quit: leaving]
tharugrim has quit [Ping timeout: 265 seconds]
tharugrim has joined #ocaml
sheijk has joined #ocaml
<nojb> how do I get opam lwt to install the ppx extension ?
<Drup> it should be installed by default if you use an ocaml >= 4.02
<nojb> mmm
axiles has quit [Quit: Quitte]
AlexRussia has joined #ocaml
AlexRussia has quit [Changing host]
kakadu has joined #ocaml
antinomy has joined #ocaml
<vbmithr> I had nothing to doo
<nojb> is ppx present in 2.4.5 ?
<Drup> starting 2.4.6, iirc
<nojb> 2.4.6 cannot be installed on os x
<Drup> ah yeah
<Drup> fixed on master
<nojb> what’s the problem with 2.4.6 and os x ?
<Drup> Apple's ar is bugged and can't create empty archive
<nojb> pinned lwt to https://github.com/ocsigen/lwt and now it fails due to some missing symbols in lwt-unix (_lwt_unix_get_affinity, _lwt_unix_get_cpu, _lwt_unix_set_affinity) …
<Drup> O_o
<Drup> you might want to report that
<Drup> I have no idea.
<nojb> ok thanks
<Drup> ping whitequark
q66 has joined #ocaml
bezirg has quit [Ping timeout: 240 seconds]
hugomg has joined #ocaml
badkins has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
cespinoza has joined #ocaml
Thooms has joined #ocaml
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
rgrinberg has joined #ocaml
Dzyan has joined #ocaml
sol__ has quit [Quit: Leaving]
BitPuffin has quit [Ping timeout: 240 seconds]
cespinoza has quit [Quit: Saliendo]
Dzyan has quit [Client Quit]
Dzyan has joined #ocaml
Dzyan is now known as pachelo
psy_ has joined #ocaml
pachelo is now known as Dzyan
<Drup> rgrinberg: about lwt's PR: I don't understand what they do so I can't review, even less merge
Dzyan has quit [Client Quit]
Dzyan has joined #ocaml
<Drup> about cohttp's PR ... if dinosaure1 rebase and clean up the github, I will
<icicled> `opam show lwt` reports 2.4.6 is available but doing `opam install lwt` reports that it will install 2.4.5
<Drup> git log*
WraithM has joined #ocaml
<icicled> I just did a `opam switch 4.02.1` so nothing extra is installed
<nojb> icicled: os x ?
<icicled> nah on linux
<Drup> icicled: do you have aspcud installed ? :p
lordkryss has quit [Quit: Connection closed for inactivity]
Submarine has joined #ocaml
<icicled> um nope
travisbrady has quit [Quit: travisbrady]
<Leonidas> aspcud ahould fix the problem ^^
<Drup> install it if you can :)
<icicled> why does that matter?
<icicled> rather - why should it matter
<Drup> because aspcud is a much better dependency solver
<Leonidas> and massively faster
<icicled> ok, maybe opam should spit out a warning message :)
<Drup> it should ...
<icicled> never seen it =\
<icicled> thanks, that helped to install lwt 2.4.6
<Drup> no, I mean, it should, but it doesn't
<icicled> ah ok
SAHChandler has joined #ocaml
bjorkintosh has quit [Read error: Connection reset by peer]
travisbrady has joined #ocaml
chambart has quit [Ping timeout: 258 seconds]
tristero has quit [Ping timeout: 245 seconds]
nicoo has quit [Ping timeout: 250 seconds]
wwilly has joined #ocaml
boogie has joined #ocaml
boogie has quit [Remote host closed the connection]
patojo has joined #ocaml
nicoo has joined #ocaml
ygrek has quit [Ping timeout: 258 seconds]
srcerer has joined #ocaml
ggole has quit [Ping timeout: 258 seconds]
arj has joined #ocaml
milosn has quit [Ping timeout: 264 seconds]
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
mcclurmc has joined #ocaml
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
Anarchos has joined #ocaml
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
tristero has joined #ocaml
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
Anarchos has quit [Ping timeout: 256 seconds]
ggole has joined #ocaml
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
bjorkintosh has joined #ocaml
manizzle has joined #ocaml
axiles has joined #ocaml
olauzon has quit [Quit: olauzon]
larhat has joined #ocaml
pgomes has joined #ocaml
ontologiae_ has joined #ocaml
ingsoc has joined #ocaml
Guuf has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
arj1 has joined #ocaml
rgrinberg has joined #ocaml
arj has quit [Ping timeout: 256 seconds]
milosn has joined #ocaml
sdegutis has joined #ocaml
<sdegutis> whitequark: ah, I defected from Ruby to Lua. Such a pure and well-designed language.
<sdegutis> whitequark: so we both came from Ruby but went in other directions
<Guuf> Hi people. I am currently trying to write a union-find functor, but I want to be able to bind sets of other things to the sets in the union find. To do this, I need to instantiate a set module inside my functor. I am somewhat at a loss about how I should write signatures in my module type.
lordkryss has joined #ocaml
<Guuf> Can I just write module InfoSet = Set.Make(D) in my module Make-definition and then use that in my module type?
<Drup> yes
<Guuf> Oh wow. Okay.
<Drup> :functor magic:
<Guuf> :)
samrat has joined #ocaml
<def`> in module type it's more like
SAHChandler has quit [Quit: Be back later ...]
<def`> module InfoSet : Set.S with type elt = D.t
<Drup> you can put the equality too, can't you ?
<Drup> it's 4.02 only, though
<def`> uh, no
<def`> no module aliases with applicative paths
MrScout_ has joined #ocaml
<Drup> No ? oh ok
<def`> The dynamic semantics of applicative functors would be... ambiguous
manud has joined #ocaml
<Drup> hum, right
MrScout_ has quit [Read error: Connection reset by peer]
<ggole> Hmm, which part of union-find would you parameterize over?
MrScout_ has joined #ocaml
<Guuf> The keys.
<ggole> That can just be an argument.
<ggole> Eg, 'a DisjointSet.t
MrScout has quit [Ping timeout: 258 seconds]
<Guuf> So there is already something called DisjointSet?
MrScout_ has quit [Remote host closed the connection]
<ggole> Er, no. That's what you are implementing.
matason has quit [Quit: Later!]
<Guuf> Ah, right.
<ggole> I'm only suggesting that there is no need for a functor (as far as I can tell).
MrScout has joined #ocaml
<Guuf> Well, maybe not. I have probably been unclear in what I want.
<def`> that's fine to do with functors if it's for learning :)
<ggole> Module?
slash^ has quit [Read error: Connection reset by peer]
_andre has quit [Quit: Lost terminal]
<Guuf> I have a map. The keys to the map will be the elements of my set. The values can either be a pointing to another element OR, if it is a “top element” (I hope that is clear enough), it can be a set of stuff associated to the set that elements represents.
<Guuf> Thus, I created a functor (module?) that includes map. But inside it I want to create an instance of Set for a second type parameter.
<Guuf> If I join two sets, the sets with associated sets will be joined as well.
<ggole> Ah, so you're collecting sets of representatives instead of choosing one.
<Guuf> This is what I want, in Haskell: Map.Map a (Either a (Set.Set b))
samrat has quit [Quit: Computer has gone to sleep.]
<ggole> That's a strange variation on union-find. But now I understand the need for the functor.
<Guuf> Yes, it is a bit odd.
holomorph has joined #ocaml
<Guuf> Can I have multiple type arguments to my Make function? The compiler doesn’t like it...
<Drup> The syntax is "module Make (Foo:FOO) (Bar:BAR) = ..."
<Guuf> Aah
<Guuf> Do I call it that way too?
<Drup> yes
<Guuf> Thanks!
<Drup> well, "Make (Foo) (Bar)"
manizzle has quit [Remote host closed the connection]
manizzle has joined #ocaml
SAHChandler has joined #ocaml
BitPuffin has joined #ocaml
<holomorph> i'm trying to use merlin on a source file which uses lablgl. i'm getting unbound module GlArray, Raw, GlDraw, etc. and i'm not sure if this is because of the META file <http://sprunge.us/AgDd>, lablgl package contents <http://sprunge.us/EUdY>, or the .merlin file (PKG lablgl)
<Guuf> The compiler doesn’t seem to like the module definition:
<Guuf> module Make (O : Map.OrderedType)(D : Set.OrderedType) = struct
<Guuf> module InfoSet : Set.S with type elt = D.t
<Guuf> It gives me syntax error on the first blank spaces on the line after “module InfoSet..."
<Drup> the "with type.." should be put after "Set.OrderedType"
ggole has quit []
mcclurmc has quit [Remote host closed the connection]
<Drup> at least, if I understand what you are trying to do
<Drup> pastebin the whole source
tianon has quit [*.net *.split]
Ptival has quit [*.net *.split]
dbrumley has quit [*.net *.split]
Cypi has quit [*.net *.split]
osheeta has quit [*.net *.split]
Armael has quit [*.net *.split]
stux|away has quit [*.net *.split]
Antoine59 has quit [*.net *.split]
orbitz has quit [*.net *.split]
amiller has quit [*.net *.split]
WanderingGlitch has quit [*.net *.split]
CissWit has quit [*.net *.split]
npouillard has quit [*.net *.split]
pippijn has quit [*.net *.split]
nullcat_ has joined #ocaml
CissWit has joined #ocaml
tianon has joined #ocaml
dbrumley has joined #ocaml
Ptival has joined #ocaml
Cypi has joined #ocaml
osheeta has joined #ocaml
npouillard has joined #ocaml
orbitz has joined #ocaml
Antoine59 has joined #ocaml
WanderingGlitch has joined #ocaml
amiller has joined #ocaml
Armael has joined #ocaml
pippijn has joined #ocaml
stux has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
eyyub has joined #ocaml
<Drup> ah, ok
<Drup> yeah, that doesn't make sense, you try to put expressions that should be in signature inside a structure
<Drup> you should do Set.Make( ...)
<Guuf> Ah, ok. Thanks!
sheijk has quit [Ping timeout: 264 seconds]
mcclurmc has joined #ocaml
malc_ has quit [Quit: leaving]
hugomg has quit [Read error: Connection reset by peer]
<Guuf> Thanks Drup and ggole, now it compiles!
SAHChandler has left #ocaml ["(null)"]
badkins has quit []
<companion_cube> thomasga: so you merged your "no core_kernel" branch?
Yoric has joined #ocaml
rgrinberg has joined #ocaml
MrScout has quit [Remote host closed the connection]
<thomasga> companion_cube: yup, at least!
MrScout has joined #ocaml
<thomasga> not totally perfect yet, but starts to look good
<Drup> :)
<thomasga> need to test the command-line tool a bit more first, and then release!
<thomasga> and then, the mirage port (which is the interesting bits …)
MrScout has quit [Read error: Connection reset by peer]
MrScout_ has joined #ocaml
<thomasga> I want my unikernel to `git pull` its contents on startup!
<def`> holomorph: whats your editor? (and did you had a working merlin setup earlier or is this a fresh install?)
srcerer_ has joined #ocaml
martintrojer has quit [Ping timeout: 245 seconds]
srcerer has quit [Ping timeout: 245 seconds]
<holomorph> def`: emacs. it works on other ocaml stuff, there just seems to be an issue with lablgl
<def`> holomorph: did you try closing and reopening the file ?
<Drup> whitequark: you had an example of ctypes code gen with oasis ?
pyon has quit [Ping timeout: 245 seconds]
jave has quit [Ping timeout: 245 seconds]
Puffin has joined #ocaml
<holomorph> sure?
<holomorph> not sure what that would do
<def`> ok :)
<def`> restart merlin
BitPuffin has quit [Ping timeout: 245 seconds]
clog has quit [Ping timeout: 245 seconds]
<def`> (actually not really restarting, but at least rereading all files)
<holomorph> oh, indeed
ebzzry_ has joined #ocaml
ebzzry has quit [Ping timeout: 245 seconds]
companion_cube has quit [Ping timeout: 245 seconds]
hbar has quit [Ping timeout: 245 seconds]
<def`> holomorph: did it improve the situation?
martintrojer has joined #ocaml
<holomorph> no, because i haven't changed anything
companion_cube has joined #ocaml
patojo has quit [Quit: Leaving...]
jave has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
mcclurmc has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
<holomorph> def`: i don't know how to tell merlin about GlArray, Raw, etc. Perhaps something is needed in META, but I don't know what. META(5) isn't enlightening for me
pgomes has quit [Ping timeout: 264 seconds]
dav_ is now known as dav
hbar has joined #ocaml
<holomorph> i guess these things ought to be archives
<companion_cube> holomorph: do you have a .merlin file?
<holomorph> it contains PKG lablgl
<companion_cube> if lablgl is installed, it should complete then
<holomorph> it is, here are the contents of +lablgl http://sprunge.us/EUdY yet no completion
<thomasga> companion_cube: I'm looking forward for your OTP implementation in OCaml though :-)
<companion_cube> erf
<Drup> otp ?
<companion_cube> the erlang communication platform, which set the foundations of actor systems
<companion_cube> see also: Akka, in scala
<Drup> what are the initials ?
<companion_cube> "open telecom platform"
<companion_cube> it's about hierarchies of actors, linked together, resiliency to failures, etc;
<def`> holomorph: try M-x merlin-use lablgl from emacs to see if it fixes anything
arj1 has quit [Quit: Leaving.]
wwilly has left #ocaml ["Leaving"]
jonludlam has joined #ocaml
<holomorph> oh boy, errors in the merlin elisp
pgomes has joined #ocaml
Anarchos has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 250 seconds]
rgrinberg has joined #ocaml
chambart has joined #ocaml
pgomes has quit [Ping timeout: 250 seconds]
<def`> Uh, reloading merlin.el in the middle of a process is probably not a good idea
<def`> And did you check that your merlin.el was compatible with your ocamlmerlin binary?
ingsoc has quit [Quit: Leaving.]
ingsoc has joined #ocaml
ingsoc has quit [Quit: Leaving.]
<holomorph> seeing how they came from the same tarball, i'd be surprised if they weren't compatible. just built from git instead of 2.0, same problems.
<Anarchos> holomorph are you complex ?
<rgrinberg> unison is strange :/ why does it have its own copy of lwt
<holomorph> Anarchos: complex differentiable, i suppose
<Anarchos> holomorph i got never so far in math :/
mcclurmc has quit [Remote host closed the connection]
<Drup> rgrinberg: well, lwt originated from unisson
<Drup> I'm not really surprised it diverged
clog has joined #ocaml
MrScout has joined #ocaml
<rgrinberg> Drup: yeah but it's not a good omen
<rgrinberg> if you want to see a well maintained project
mcclurmc has joined #ocaml
MrScout_ has quit [Ping timeout: 258 seconds]
<rgrinberg> Drup: i was very surprised to find ocsigenserver for cgi
<rgrinberg> :D
<rgrinberg> what is the point exactly though?
MrScout has quit [Ping timeout: 258 seconds]
<Drup> no idea
jave has quit [Quit: ZNC - http://znc.in]
<rgrinberg> Drup: is there a reason why many modules in ocsigenserver copy the ocamldoc in the .ml files?
kakadu has quit [Read error: Connection reset by peer]
<Drup> why are you asking me, I'm not even working on ocsigen_server T__T
<rgrinberg> ha, well this is one doesn't require any specific knowledge of the code
<Drup> I mean, I barely know how the project's architecture, I never really looked at it and I have no real interest in webservers in general. I review dinosaure1's PRs because I'm the only who will do it >_>
<rgrinberg> still you guys have some organization wide coding styles/conventions
<companion_cube> but you're interested in ocsigen? WHich part exactly?
<Drup> (and on top of it: I was not there when it was code :D)
<rgrinberg> (i hope)
<Drup> companion_cube: eliom's client/server stuff
<rgrinberg> there's so much copy-paste from ocamlnet in ocsigenserver :O
<companion_cube> I wonder, do people still use ocamlnet those days?
<Drup> rgrinberg: sort of, but it evolved during time
mcclurmc has quit [Remote host closed the connection]
<rgrinberg> i'll help out reviewing dinosaure1's PR as well
<rgrinberg> except that there is no PR
<Drup> rgrinberg: and some part are quite old :/
<rgrinberg> any time i see "Copyright 2005" i quickly want to switch files
<rgrinberg> :D
<Drup> :)
<rgrinberg> there's some good stuff here though
<Drup> vincent's quality of code evolved too
<rgrinberg> the multipart support can be adopted to cohttp
<Drup> the code he right now is much better =')
<rgrinberg> there's definitely so much stuff
<rgrinberg> that i wonder EVER got used
<Drup> yeah ...
nuki has quit [Ping timeout: 264 seconds]
<Drup> and you're only looking at ocsigenserver
<rgrinberg> lol isn't that just an Lwt_stream.t?
<Drup> (I mean, eliom is twice bigger ...)
mcclurmc has joined #ocaml
<Drup> oh yeah, Ocsigen_stream
<Drup> I don't understand it.
amiller has left #ocaml ["Leaving"]
<rgrinberg> shitty how the constructors are exposed like that :/
<rgrinberg> oh it's "private"
<Drup> but I wonder if lwt_stream where here when it was wrote
<Drup> were*
<Drup> was* even :<
<rgrinberg> first version was written by gregoire henry almost 4 years ago
<Drup> no no
<Drup> that's the cut log you have
<Drup> the code was moved around a lot, changed repository at least once and changed CVS once too
<rgrinberg> :D
<Drup> I wouldn't trust the log past a few year :D
<Drup> this is sort of treu
<Drup> true*
<Drup> but I would really like to change, because this interface is a complete nonsense
<rgrinberg> yeah it's too bad how the interface leaks out as well
<rgrinberg> with exceptions and constructors :/
<rgrinberg> hard to refactor safely
<Drup> that doesn't leak too much
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
<Drup> apparently, it was rewritten in 2007
<Drup> some parts are last edited in 2006 even :D
* Drup feels like an archaeologist.
<rgrinberg> Drup: :/ i wonder how much code can just be deleted/replaced with off the shelf stuff now
NoNNaN has quit [Ping timeout: 250 seconds]
* companion_cube notices this also applies to batteries
<Drup> rgrinberg: well, it's not that simple
<Drup> there used to have some features in ocamlserver that we have to drop when transitioning to cohttp. Pipelining for example.
<Drup> (and dinosaure1 was forced to add *lot's* of thing to cohttp)
Guuf has quit [Quit: Guuf]
<rgrinberg> Drup: huh? cohttp pipelines
<Drup> arguably, these things should have been in independent libraries from the start
<Drup> but .. :x
<rgrinberg> i dont remember MANY changes to cohttp
Yoric has quit [Remote host closed the connection]
<rgrinberg> but i certainly think that more will be needed to accomodate everyhthing
<Drup> I don't know the details, I was following that from quite afar. You will have to ask dinosaure1 :p
<Drup> that's what I was told at least
<Drup> (as I already said, web server technology doesn't interest me :p)
oscar_toro has quit [Ping timeout: 264 seconds]
<rgrinberg> lol
<rgrinberg> functor tower
nuki has joined #ocaml
<Drup> peuh, that's only one functor
Simn has quit [Quit: Leaving]
<Drup> this one is funnier.
NoNNaN has joined #ocaml
<Drup> and the really funny functor stuff can be found here: https://github.com/ocsigen/eliom/blob/master/src/lib/eliom_content_core.client.ml
<Drup> it applies the tyxml functor 4 times, I think ? in various form and shapes of the underlying XML implementation
Arsenik has joined #ocaml
rgrinberg1 has joined #ocaml
<rgrinberg1> companion_cube: here's one thing that's preventing me from using containers. I don't think you have this: https://github.com/ocsigen/ocsigenserver/blob/master/src/baselib/polytables.mli#L32
rgrinberg has quit [Read error: Connection reset by peer]
<Drup> ah yes
<Drup> I discovered this gem while exploring ocsigen
Thooms has quit [Quit: WeeChat 1.0.1]
<Drup> I should extract it
<Drup> rgrinberg1: however, there is such thing in containers, iirc
<Drup> or at least something similar
<companion_cube> mosc/mixtbl
<companion_cube> misc/
<companion_cube> do you reallyu use this, rgrinberg1?
<rgrinberg1> mixtbl is mutable
<companion_cube> oh
<rgrinberg1> companion_cube: indeed I do use it.
<companion_cube> it looks like ocsigen's table is mutable too?
<rgrinberg1> that's how middleware serialize state in opium
nox has left #ocaml [#ocaml]
<companion_cube> hmm, this + marshall?
<rgrinberg1> nah no marshall it all dies at the end of the request/response cycle
<rgrinberg1> say i want to store an authenticated user object in a request
<rgrinberg1> strange that it's mutable it uses a map underneath: https://github.com/ocsigen/ocsigenserver/blob/master/src/baselib/polytables.ml#L25
<companion_cube> oh, you don't mean serializing to disk
<companion_cube> anyway, there"s mixtbl in containers
<def`> rgrinberg1: I'll check that tomorrow, I am going to sleep. bye
<companion_cube> it should move from misc/ to core/ though
<rgrinberg1> def`: np, thanks
jao has quit [Ping timeout: 255 seconds]
WraithM has quit [Ping timeout: 256 seconds]
nojb has quit [Quit: nojb]
Hannibal_Smith has quit [Quit: Leaving]
eyyub1 has joined #ocaml
Yoric has joined #ocaml
eyyub has quit [Ping timeout: 240 seconds]
<companion_cube> rgrinberg1: anything else you would direly miss? ;)
joncfoo has joined #ocaml
<rgrinberg1> companion_cube: honestly that's the only thing that isn't optional
<companion_cube> I need to think more seriously about serialization
<rgrinberg1> would be nice
Arsenik has quit [Remote host closed the connection]
<companion_cube> to complete the monad with more methods?
<rgrinberg1> yeah
<companion_cube> I see
<companion_cube> that could be nice, I guess
<companion_cube> interesting use of the poly variant
<rgrinberg1> here's what it makes
MrScout has joined #ocaml
jave has joined #ocaml
<companion_cube> noted
<rgrinberg1> here's another sweet functor from core
<rgrinberg1> note that S0, S1 distinction as well
<companion_cube> is it really necessary when you have iterators?
jonludlam has quit [Quit: Coyote finally caught me]
<rgrinberg1> actually you're right
<rgrinberg1> although i'm pretty sure iterators add overhead
<companion_cube> sequence is really fast. You do have an overhead when you fold (write barrier) but apart from that...
<Drup> (I confirm :D)
<Drup> the overhead is really thin
<rgrinberg1> check out something like the option module as well
<rgrinberg1> i'm pretty sure it has some nice stuff that batteries misses
jonludlam has joined #ocaml
<companion_cube> "val both : 'a t -> 'b t -> ('a * 'b) t" is nice
<companion_cube> that's neat, but it's the kind of stuff that can really easily be added to any stdlib extension
travisbrady has quit [Quit: travisbrady]
<companion_cube> anyway I should release containers one of those days, a major version awaits
<rgrinberg1> also, re needs a version
<rgrinberg1> just waiting for Drup's packaging fixes ;)
<companion_cube> ^^
<Drup> ahah
<Drup> ok, I'll do that in a moment :p
AlexRussia has quit [Ping timeout: 264 seconds]
<rgrinberg1> Drup: i wonder how long it would take you guys to purge the camlp4 lwt syntax from eliom/ocsigenserver :D
<Drup> I ... think it's not used in ocsigenserver
<rgrinberg1> oh! that's right
<rgrinberg1> no wonder it compiled so fast
<companion_cube> ook, now dot -Txlib has the ugliest font ever
kakadu has joined #ocaml
rgrinberg has joined #ocaml
rgrinberg1 has quit [Read error: Connection reset by peer]
Yoric has quit [Remote host closed the connection]
demonimin has joined #ocaml
myyst has quit [Ping timeout: 265 seconds]
<mfp> hohoho I thought I was going to miss lwt x = ... because of vim conceal's inability to use more than 1 replacement char
abbe_ has joined #ocaml
abbe has quit [Ping timeout: 260 seconds]
<mfp> but as it turns out, I can just conceal let% in let%lwt x =, leaving lwt x = !!!!
<Leonidas> hahaha
abbe_ is now known as abbe
<mfp> then :ab lwt let%lwt and we're about done
myyst has joined #ocaml
<mfp> only 1 issue left: how to indent that code
<rgrinberg> mfp: what happened to your blog?
seangrove has joined #ocaml
<mfp> abandoned ages ago
<rgrinberg> i still sometimes manage to come by to links to it
<rgrinberg> clicking them makes me sad
<mfp> thought about restarting a few months ago and even got a domain, but...
eyyub1 has quit [Ping timeout: 255 seconds]
<rgrinberg> mfp: is ocsiblog usable?
<rgrinberg> i'm shopping for an ocaml based blogging engine ;D
<mfp> I don't think it builds any longer right off the box
<mfp> it was no good anyway, its only redeeming quality was that it was trivially deployed (1 single static executable)
<mfp> would recommend any static generator instead
HrafnA has joined #ocaml
holomorph has quit [Quit: holomorph]