flux changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml MOOC http://1149.fr/ocaml-mooc | OCaml 4.03.0 announced http://ocaml.org/releases/4.03.html | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
tmtwd has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 240 seconds]
badon has joined #ocaml
struk|desk has quit [Remote host closed the connection]
martinkl_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
struk|desk has joined #ocaml
pierpa has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
ChristopheT has joined #ocaml
nicoo has quit [Ping timeout: 240 seconds]
lpaste has quit [Ping timeout: 264 seconds]
nopf has quit [Ping timeout: 244 seconds]
Leonidas has quit [Ping timeout: 264 seconds]
Leonidas has joined #ocaml
hnrgrgr has quit [Ping timeout: 244 seconds]
nopf has joined #ocaml
hnrgrgr has joined #ocaml
ChristopheT has left #ocaml ["ERC (IRC client for Emacs 24.5.1)"]
nicoo has joined #ocaml
lpaste has joined #ocaml
cat5e has quit [Read error: Connection reset by peer]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 276 seconds]
sh0t has quit [Ping timeout: 252 seconds]
Soni has joined #ocaml
struktured has joined #ocaml
mistermetaphor has quit [Remote host closed the connection]
hcarty has joined #ocaml
mengu has joined #ocaml
FreeBirdLjj has joined #ocaml
mengu has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
nicholasf has quit [Ping timeout: 260 seconds]
walter|r has joined #ocaml
darkf has joined #ocaml
dsheets has joined #ocaml
sh0t has joined #ocaml
nicholasf has joined #ocaml
dsheets has quit [Ping timeout: 246 seconds]
struktured has quit [Ping timeout: 244 seconds]
tennix has quit [Ping timeout: 276 seconds]
struktured has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 260 seconds]
struktured has quit [Ping timeout: 260 seconds]
nicholasf has quit [Read error: Connection reset by peer]
scarygelatin has quit [Quit: Leaving]
yegods has joined #ocaml
walter|r has quit [Remote host closed the connection]
Soni is now known as cat5e
d0nn1e has quit [Ping timeout: 250 seconds]
d0nn1e has joined #ocaml
dsheets has joined #ocaml
sh0t has quit [Ping timeout: 250 seconds]
dsheets has quit [Ping timeout: 265 seconds]
hcarty has quit [Ping timeout: 265 seconds]
sh0t has joined #ocaml
johnelse has quit [Ping timeout: 276 seconds]
tennix has joined #ocaml
johnelse has joined #ocaml
yegods has quit []
nicholasf has joined #ocaml
MercurialAlchemi has joined #ocaml
tmtwd has quit [Ping timeout: 260 seconds]
Algebr has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 276 seconds]
tmtwd has joined #ocaml
sh0t has quit [Remote host closed the connection]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 250 seconds]
copy` has quit [Quit: Connection closed for inactivity]
rgrinberg has quit [Ping timeout: 244 seconds]
A1977494 has joined #ocaml
MercurialAlchemi has joined #ocaml
mistermetaphor has joined #ocaml
slash^ has joined #ocaml
tokik_ has quit [Quit: leaving]
tokik has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 276 seconds]
mengu has joined #ocaml
mengu has joined #ocaml
mengu has quit [Changing host]
mistermetaphor has quit [Remote host closed the connection]
tmtwd has quit [Ping timeout: 276 seconds]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 244 seconds]
mengu has quit [Remote host closed the connection]
nicholasf has quit [Ping timeout: 246 seconds]
tmtwd has joined #ocaml
solrize has quit [Ping timeout: 250 seconds]
solrize has joined #ocaml
nicholasf has joined #ocaml
nicholasf has quit [Client Quit]
dhil has joined #ocaml
tmtwd has quit [Ping timeout: 246 seconds]
silver has joined #ocaml
ggole has joined #ocaml
dsheets has joined #ocaml
mengu has joined #ocaml
mengu has quit [Changing host]
mengu has joined #ocaml
mengu has quit [Remote host closed the connection]
lopex_ has joined #ocaml
mengu has joined #ocaml
lopex has quit [Ping timeout: 244 seconds]
lopex_ is now known as lopex
mengu has quit [Remote host closed the connection]
emmanueloga_ has joined #ocaml
emmanueloga has quit [Ping timeout: 244 seconds]
emmanueloga_ is now known as emmanueloga
larhat has joined #ocaml
martinkl_ has joined #ocaml
slash^1 has joined #ocaml
kushal has joined #ocaml
martinkl_ has quit [Client Quit]
martinkl_ has joined #ocaml
manizzle has quit [Ping timeout: 246 seconds]
thibm has joined #ocaml
amnn has joined #ocaml
dsheets has quit [Read error: Connection reset by peer]
thibm has left #ocaml [#ocaml]
wolfcore has quit [Ping timeout: 240 seconds]
dsheets has joined #ocaml
wolfcore has joined #ocaml
slash^1 has quit [Quit: Leaving.]
mengu has joined #ocaml
mengu has quit [Remote host closed the connection]
mengu has joined #ocaml
dsheets has quit [Remote host closed the connection]
dsheets has joined #ocaml
thibm has joined #ocaml
darkf_ has joined #ocaml
thibm has quit [Client Quit]
darkf has quit [Ping timeout: 276 seconds]
thibm has joined #ocaml
thibm has left #ocaml [#ocaml]
john51 has quit [Remote host closed the connection]
martinkl_ has quit [Ping timeout: 252 seconds]
jwatzman|work has joined #ocaml
john51 has joined #ocaml
pierpa has joined #ocaml
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
jwatzman|work has quit [Quit: jwatzman|work]
mengu has quit [Remote host closed the connection]
octachron has joined #ocaml
martinkl_ has joined #ocaml
dsheets has quit [Read error: Connection reset by peer]
kakadu has joined #ocaml
dsheets has joined #ocaml
jwatzman|work has joined #ocaml
dhil has quit [Ping timeout: 240 seconds]
mengu has joined #ocaml
boegel has quit [Remote host closed the connection]
boegel has joined #ocaml
mengu has quit [Ping timeout: 246 seconds]
bba has joined #ocaml
bba has quit [Client Quit]
seangrove has joined #ocaml
bba has joined #ocaml
bba has quit [Client Quit]
<maker> this json parsing part is really annoying…
<companion_cube> what's the deal?
<maker> I just have to validate a json input
<maker> so it's like try to load json, otherwise fail
<maker> try to load a member, otherwise fail
dsheets has quit [Remote host closed the connection]
<maker> try to load the string inside that member as another json, otherwise fail
<maker> try to load a member inside that string inside the other json, otherwise fail
<_y> yeah
<companion_cube> ah, yeah, you can try several things: 1/ manually, write combinators for this 2/ use ppx_deriving_yojson if you map json to OCaml types 3/ use atdgen with a schema
<maker> manually is what I'm doing now, but it's boring and doesn't look very clean
<maker> how about the other solution
kushal has quit [Quit: Leaving]
<companion_cube> if you're trying to map json data to your own data, the deriving/atdgen solutions might help
<maker> they don't use weird language extensions like camlp4 do they?
<theblatte> no
<companion_cube> ppx_deriivng_yojson uses ppx; atdgen uses an external generator
dhil has joined #ocaml
<reynir> I believe atdgen is more flexible, but ppx_deriving_yojson is quicker to get started with
darkf_ is now known as darkf
mengu has joined #ocaml
boegel has quit [Read error: Connection reset by peer]
boegel has joined #ocaml
<dmbaturin> companion_cube: What schema syntax does atdgen use?
<dmbaturin> maker: ppx_deriving_yojson gives fairly generic errors for malformed JSON, but the rest you can validate by hand. Might not be the worst option. Don't get me wrong, I love software that tells me in detail what is wrong, but as long as what is right is documented, I'm ok with using or writing software that produces generic messages for large classes of errors. :)
<companion_cube> dmbaturin: a specific syntax
bba has joined #ocaml
<dmbaturin> Not long ago I've had a debate about precise nature of an ML error that was trivial to fix, but we couldn't figure out how exactly it was parsed to cause the compiler spit exact that message.
bba has quit [Client Quit]
kushal has joined #ocaml
<dmbaturin> companion_cube: Oh. I should look into it, I'd sure like exact format of JSON files documented in some way, while with ppx_deriving_yojson quite a few checks only appear in the code.
dsheets has joined #ocaml
<companion_cube> I suppose ppx_deriving_yojson could also be modified to emit a (accurate) validation functoin
<mrvn> I miss the times when all I ever got from ocaml was "syntax error" and "type error"
<companion_cube> :D
<maker> mm, also: is the creator of Yojson around here?
<companion_cube> not on the chan, I don't think so
<maker> oh okay, I'll file an issue. I need to have custom separators to implement rfc7515 and python's json.dumps has a handy optional "separator" argument
dsheets has quit [Ping timeout: 240 seconds]
<reynir> custom separators in json? :o
<maker> jws is this crazy thing for having signed jsons
<maker> so you need to have common inputs
<maker> so they say to remove spaces and order items lexicographically
<maker> crazy
<reynir> Oh
<reynir> maker: Ah, so what you want is to output json without spaces?
<maker> yes, but I just realized I want it also to be lex. sorted.
<maker> the cool thing about json was specifically not having to deal with this
<maker> :(
<reynir> heh
FreeBird_ has joined #ocaml
FreeBird_ has quit [Remote host closed the connection]
dsheets has joined #ocaml
FreeBirdLjj has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #ocaml
seangrove has quit [Remote host closed the connection]
seangrove has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
dhil has quit [Ping timeout: 260 seconds]
dsheets has quit [Remote host closed the connection]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
iZsh has quit [Quit: ZNC - http://znc.in]
iZsh has joined #ocaml
w1gz has quit [Quit: WeeChat 1.3]
dsheets has joined #ocaml
rgrinberg has joined #ocaml
kushal has quit [Quit: Leaving]
iZsh has quit [Remote host closed the connection]
iZsh has joined #ocaml
iZsh has quit [Client Quit]
iZsh has joined #ocaml
kushal has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
mengu has quit [Remote host closed the connection]
mengu has joined #ocaml
mengu has quit [Changing host]
mengu has joined #ocaml
mengu has quit [Remote host closed the connection]
FreeBird_ has joined #ocaml
jimt is now known as WikiEducatorBot
WikiEducatorBot is now known as jimt
jimt is now known as Jim7J1AJH
martinkl_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Jim7J1AJH is now known as jimt
BitPuffin has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 240 seconds]
dsheets_ has joined #ocaml
dsheets has quit [Ping timeout: 276 seconds]
FreeBird_ has quit [Remote host closed the connection]
mengu has joined #ocaml
w1gz has joined #ocaml
jeffmo has joined #ocaml
dhil has joined #ocaml
sh0t has joined #ocaml
tennix has quit [Ping timeout: 240 seconds]
MercurialAlchemi has quit [Ping timeout: 240 seconds]
martinkl_ has joined #ocaml
mistermetaphor has joined #ocaml
mengu has quit [Remote host closed the connection]
mengu has joined #ocaml
mengu has quit [Changing host]
mengu has joined #ocaml
darkf has quit [Quit: Leaving]
kushal has quit [Quit: Leaving]
mistermetaphor has quit [Remote host closed the connection]
dhil has quit [Remote host closed the connection]
hcarty has joined #ocaml
struktured has joined #ocaml
struktured has quit [Ping timeout: 260 seconds]
MercurialAlchemi has joined #ocaml
gasche has quit [Remote host closed the connection]
<seangrove> Algebr: Algebr` ping
<seangrove> You can't be too against proprietary software when the open alternative means I have to ping separate identities and expect that in either case the message will probably be lost by the time it gets to you...
adrien has quit [Quit: leaving]
mistermetaphor has joined #ocaml
adrien has joined #ocaml
BitPuffin has quit [Remote host closed the connection]
struktured has joined #ocaml
dsheets_ has quit [Remote host closed the connection]
seangrove has quit [Ping timeout: 265 seconds]
dsheets has joined #ocaml
mengu has quit [Remote host closed the connection]
<Algebr> no I got it
tennix has joined #ocaml
struktured has quit [Ping timeout: 276 seconds]
larhat has quit [Read error: Connection reset by peer]
larhat has joined #ocaml
<apache2> maker: check out atdgen
amnn has quit [Read error: No route to host]
amnn has joined #ocaml
amnn has quit [Read error: Connection reset by peer]
amnn has joined #ocaml
sgnb has joined #ocaml
dexterph has joined #ocaml
mengu has joined #ocaml
amnn_ has joined #ocaml
Algebr has quit [Read error: Connection reset by peer]
dexterph has quit [Remote host closed the connection]
dhil has joined #ocaml
Algebr has joined #ocaml
dexterph has joined #ocaml
amnn has quit [Ping timeout: 260 seconds]
mengu has quit []
dexterph has quit [Remote host closed the connection]
lokien_ has joined #ocaml
kushal has joined #ocaml
silver has quit [Read error: Connection reset by peer]
octachron has quit [Ping timeout: 276 seconds]
axiles has quit [Ping timeout: 276 seconds]
scarygelatin has joined #ocaml
dsheets has quit [Read error: Connection reset by peer]
<companion_cube> awwwwww, a setup.ml file is 7,200 lines
dsheets has joined #ocaml
copy` has joined #ocaml
<Drup> Nice
<companion_cube> (I gave up on the idea of removing all codegen; now I just want it to be short and simple)
<Algebr> companion_cube: are you scaling back your ambitions?
<companion_cube> a bit
dsheets_ has joined #ocaml
<companion_cube> but I still want to: 1/ change the parser 2/ remove all camlp4/ODN 3/ cleanup a bit
<Algebr> what is advanced about the code gen
<companion_cube> 1 and 3 are in progress
<companion_cube> well, oasis embeds its own modules in myocamlbuild.ml and setup.ml, along with some deeply nested serialization of the parsed _oasis
kyo9142 has quit [Read error: Connection reset by peer]
<companion_cube> it's not exactly codegen, actually; more like copying modules of oasis + adding a data structured serialized as a big OCaml expression
dsheets has quit [Ping timeout: 250 seconds]
axiles has joined #ocaml
alpen has quit [Ping timeout: 264 seconds]
dexterph has joined #ocaml
dch has quit [Read error: Connection reset by peer]
dsheets_ has quit [Read error: Connection reset by peer]
dsheets has joined #ocaml
slash^ has joined #ocaml
henrytill has quit [Ping timeout: 264 seconds]
ggole has quit [Ping timeout: 250 seconds]
vishesh has quit [Ping timeout: 250 seconds]
dch has joined #ocaml
alpen has joined #ocaml
henrytill has joined #ocaml
<companion_cube> ok, so setup.ml is huge because it has to do a lot of things, including AB files, setup, installation, doc gen
dexterph has quit [Remote host closed the connection]
jwatzman|work has quit [Quit: jwatzman|work]
dexterph has joined #ocaml
<companion_cube> is there actually a real difference between depending on oasis, or copying half its code in one's project
dsheets has quit [Ping timeout: 252 seconds]
nzyuzin has quit [Ping timeout: 276 seconds]
dexterph has quit [Remote host closed the connection]
nzyuzin has joined #ocaml
dexterph has joined #ocaml
dexterph has quit [Remote host closed the connection]
dexterph has joined #ocaml
dsheets has joined #ocaml
ggole has joined #ocaml
vishesh has joined #ocaml
dexterph has quit [Remote host closed the connection]
dexterph has joined #ocaml
dsheets has quit [Read error: Connection reset by peer]
dsheets has joined #ocaml
dsheets has quit [Read error: Connection reset by peer]
nzyuzin has quit [Ping timeout: 240 seconds]
nzyuzin has joined #ocaml
dsheets has joined #ocaml
nzyuzin has quit [Ping timeout: 250 seconds]
nzyuzin has joined #ocaml
kushal has quit [Read error: Connection reset by peer]
martinkl_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
dexterph has quit [Remote host closed the connection]
dsheets_ has joined #ocaml
dexterph has joined #ocaml
tobast has quit [Ping timeout: 240 seconds]
lupine has quit [Ping timeout: 250 seconds]
anoisz has joined #ocaml
mj12`_ has quit [Ping timeout: 276 seconds]
dsheets has quit [Ping timeout: 260 seconds]
kushal has joined #ocaml
dsheets_ has quit [Remote host closed the connection]
thibm has joined #ocaml
<edwin> if you depend on oasis you'll also need to build all its dependencies
dsheets has joined #ocaml
<edwin> also a new release of oasis would cause large parts of opam to be rebuilt
<edwin> (or maybe the build tag helps against that?)
Denommus has quit [Remote host closed the connection]
thibm has left #ocaml [#ocaml]
dsheets has quit [Ping timeout: 244 seconds]
Algebr has quit [Ping timeout: 276 seconds]
tobast has joined #ocaml
mj12` has joined #ocaml
amnn_ has quit [Ping timeout: 252 seconds]
amnn has joined #ocaml
d0nn1e has quit [Ping timeout: 250 seconds]
lupine_ has joined #ocaml
lupine_ has quit [Client Quit]
d0nn1e has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 276 seconds]
<hcarty> edwin: The {build} tag should help with that
<apache2> is it possible to define something like `module type Foo = functor (A : module type of B64) -> sig type t end`
<apache2> and then a function that takes a Foo.t as an argument?
dsheets has joined #ocaml
sh0t has quit [Ping timeout: 276 seconds]
hcarty1 has joined #ocaml
<apache2> or do I need to put that function inside another functor that takes a Foo and A/B64 also?
hcarty has quit [Ping timeout: 244 seconds]
dsheets has quit [Ping timeout: 276 seconds]
gasche has joined #ocaml
tane has joined #ocaml
<apache2> also, is there a way to refer to the record type of a "module type Bar = sig type x { ... } end" ?
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 240 seconds]
lokien_ has quit [Quit: Connection closed for inactivity]
<gasche> apache2: type t = { ... } module type Bar = sig type x = t end ?
<gasche> note that, with generativity, two modules M, N with signature Bar may have incompatible types M.x, N.x
tennix has quit [Ping timeout: 265 seconds]
<apache2> gasche: that was what I hoped for
<apache2> (incompatible types, to prevent confusing them)
kakadu has quit [Quit: Page closed]
anoisz has quit [Quit: Leaving]
mrm1 has joined #ocaml
dexterph has quit [Remote host closed the connection]
dhil has quit [Remote host closed the connection]
dsheets has joined #ocaml
gasche has quit [Remote host closed the connection]
dsheets has quit [Ping timeout: 265 seconds]
sgnb has quit [Remote host closed the connection]
sgnb has joined #ocaml
dsheets has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
dsheets has quit [Ping timeout: 250 seconds]
lokien_ has joined #ocaml
TheLemonMan has joined #ocaml
kakadu has joined #ocaml
dsheets has joined #ocaml
silver has joined #ocaml
amnn has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
l1x_ has joined #ocaml
dsheets has quit [Ping timeout: 240 seconds]
l1x has quit [Ping timeout: 244 seconds]
l1x_ is now known as l1x
ggole has quit []
rom1504 has quit [Ping timeout: 250 seconds]
MercurialAlchemi has quit [Quit: Lost terminal]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 246 seconds]
rom1504 has joined #ocaml
rgrinberg has quit [Ping timeout: 240 seconds]
sh0t has joined #ocaml
rand__ has joined #ocaml
MercurialAlchemi has joined #ocaml
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 276 seconds]
kushal has quit [Quit: Leaving]
wolfcore has quit [Ping timeout: 252 seconds]
wolfcore has joined #ocaml
rgrinberg has joined #ocaml
dexterph has joined #ocaml
<dexterph> is there any way to tell merlin to use a local ppx extension, one that isn't in its own package?
rgrinberg has quit [Ping timeout: 252 seconds]
A1977494 has quit [Read error: Connection reset by peer]
A1977494 has joined #ocaml
rgrinberg has joined #ocaml
octachron has joined #ocaml
A1977494 has quit [Quit: Leaving.]
tane has quit [Quit: Verlassend]
jeffmo has quit [Quit: jeffmo]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 265 seconds]
Denommus has joined #ocaml
lokien_ has quit [Quit: Connection closed for inactivity]
rgrinberg has quit [Ping timeout: 240 seconds]
sh0t has quit [Ping timeout: 276 seconds]
walter|r has joined #ocaml
pelchats has joined #ocaml
dexterph has quit [Ping timeout: 250 seconds]
sh0t has joined #ocaml
pelchats has quit [Quit: Page closed]
walter|r has quit [Remote host closed the connection]
amnn has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 252 seconds]
sh0t has quit [Ping timeout: 240 seconds]
dkg has joined #ocaml
<dkg> is there a canonical way to convert a byteslabel to a hexadecimal string in ocaml?
silver has quit [Quit: rakede]
<Algebr`> whats a byteslabel
octachron has quit [Quit: Leaving]
hcarty1 has quit [Ping timeout: 252 seconds]
<Algebr`> ah, plain bytes
<Algebr`> there's a hex opam package
rgrinberg has joined #ocaml
<dkg> ok, thanks.
dkg has left #ocaml [#ocaml]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 240 seconds]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 265 seconds]
dsheets has joined #ocaml
dsheets has quit [Ping timeout: 244 seconds]
dsheets has joined #ocaml
madroach has quit [Ping timeout: 244 seconds]
madroach has joined #ocaml
dsheets has quit [Ping timeout: 250 seconds]
martinkl_ has joined #ocaml
<Algebr`> reading on objects: 3.13 Functional objects wat
mistermetaphor has quit [Remote host closed the connection]
dsheets has joined #ocaml
mistermetaphor has joined #ocaml
kakadu has quit [Remote host closed the connection]
martinkl_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
pierpa has quit [Ping timeout: 246 seconds]
dsheets has quit [Ping timeout: 252 seconds]