adrien 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.02.3 announced http://ocaml.org/releases/4.02.html | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
foolishmonkey has joined #ocaml
Reshi has joined #ocaml
hunteriam has joined #ocaml
sh0t has quit [Ping timeout: 250 seconds]
theblatte has quit [Ping timeout: 276 seconds]
theblatte has joined #ocaml
Kakadu has quit []
<aantron> you know that you do too much FP when.. you read "twiiter moments" as "twitter monads" and do a double take
<aantron> twitter damn it.
<Algebr`> aantron: you mean burritos?
darkf has joined #ocaml
<aantron> i like burritos, but not following :p
<Algebr`> its a monad joke, people try explaining monads and somehow someone tried to explain them in terms of burritos
<Algebr`> internet meme
<aantron> ah. will have to look
<aantron> gotta run now though
<Drup> and to completely and definitely nail the subject: http://chrisdone.com/posts/monads-are-burritos
<Algebr`> well the last two are new to me, I feel smarter already
<Algebr`> someone showed me this today: http://pbs.twimg.com/media/CcCYUV0XIAUqSmJ.jpg possibily NSFW
<Drup> nullcatxxx_: this is the moment where you post your ocaml with obj.magic picture
badon has joined #ocaml
Reshi has quit [Ping timeout: 260 seconds]
Reshi has joined #ocaml
darkf_ has joined #ocaml
darkf has quit [Ping timeout: 276 seconds]
shinnya has quit [Ping timeout: 252 seconds]
darkf_ is now known as darkf
tennix has quit [Ping timeout: 248 seconds]
Guest38 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<Algebr`> I wonder, do lisp macros provide any speed benefit over writing the same functionality as a function
arquebus has joined #ocaml
arquebus has quit [Client Quit]
jeffmo has quit [Quit: jeffmo]
sillyotter has joined #ocaml
sillyotter has quit [Client Quit]
apache2 has joined #ocaml
apache2_ has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
hxegon has quit [Ping timeout: 276 seconds]
hxegon has joined #ocaml
hxegon has quit [Quit: BRB]
hunteriam has quit [Quit: Connection closed for inactivity]
JacobEdelman_ has joined #ocaml
struk|desk|away is now known as struk|desk
c-c has quit [Ping timeout: 240 seconds]
Algebr` has quit [Remote host closed the connection]
Algebr has joined #ocaml
Algebr has quit [Remote host closed the connection]
tennix has joined #ocaml
antkong has quit [Ping timeout: 252 seconds]
<pierpa> algebr: which lisp? if Common Lisp, then no. provided you have a decent compiler
<pierpa> or unless you are doing a lot of partial evaluation at compile time :)
<pierpa> ach, they're gone away
struk|desk is now known as struk|desk|away
keep_learning has joined #ocaml
teknozulu has joined #ocaml
yunxing has quit [Remote host closed the connection]
keep_learning has quit [Ping timeout: 276 seconds]
keep_learning has joined #ocaml
struk|desk|away is now known as struk|desk
yunxing has joined #ocaml
yunxing has quit [Remote host closed the connection]
yunxing has joined #ocaml
yunxing has quit [Ping timeout: 250 seconds]
sh0t has joined #ocaml
sh0t has quit [Remote host closed the connection]
darkf_ has joined #ocaml
darkf has quit [Ping timeout: 276 seconds]
seangrov` has quit [Ping timeout: 276 seconds]
darkf_ is now known as darkf
JacobEdelman_ has quit [Quit: Connection closed for inactivity]
Ravana has quit [Ping timeout: 260 seconds]
Ravana has joined #ocaml
nichola__ has joined #ocaml
nicholasf has quit [Read error: Connection reset by peer]
_berke_ has joined #ocaml
badon has quit [Ping timeout: 276 seconds]
maverous has quit [Quit: WeeChat 1.3]
Mercuria1Alchemi has joined #ocaml
shinnya has joined #ocaml
malc_ has joined #ocaml
seangrove has joined #ocaml
ygrek has quit [Ping timeout: 276 seconds]
kushal has joined #ocaml
badon has joined #ocaml
Mercuria1Alchemi has quit [Ping timeout: 248 seconds]
ldg has quit [Ping timeout: 276 seconds]
Reshi has quit [Ping timeout: 252 seconds]
AlexRussia has quit [Ping timeout: 246 seconds]
ygrek has joined #ocaml
Reshi has joined #ocaml
_berke_ has quit [Ping timeout: 246 seconds]
<seangrove> Can merlin rename symbols?
yunxing has joined #ocaml
<seangrove> Also, merlin doesn't seem to pickup on any of the file in a subdir. I have `SRC liquid/` and `SRC liquid` added to .merlin, I have two files in here I'm trying to reference, liquid/liquid.ml and liquid/test.ml, and merlin complains: Error: Unbound module Liquid. The project builds just fine though.
nichola__ has quit [Ping timeout: 252 seconds]
struk|desk is now known as struk|desk|away
<flux> seangrove, where do you put the resulting files from compilation?
<flux> seangrove, you should add B to that directory
<seangrove> flux: Interesting, that was it. I had `B _build` already, but looks like I had to manually add `B _build/liquid` (which mirrors the src structure). Bit annoying, that
<seangrove> Thank you!
<seangrove> Back down to 0 warnings, I can rely on merlin again
<flux> :)
<def`> seangrove: B _build/**
<flux> ..would B ** just work?
<def`> maybe yes, maybe no, it depends on your build setup
<def`> seangrove: merlin can rename some symbols, what is your editor?
Reshi has quit [Ping timeout: 250 seconds]
malc_ has quit [Remote host closed the connection]
<seangrove> def`: emacs
<seangrove> There used to be a video of it, but the site seems to be down now
pyon-kan has quit [Quit: Loops are hard, let's GOTO shopping!]
<def`> seangrove: there is iedit integration but not very stable.
<def`> install iedit plugin
<def`> then (require 'merlin-iedit) should do it
<seangrove> Very nice! Thank you def`
<def`> you should setup keybindings if you want this to be efficient to use
axiles has quit [Ping timeout: 268 seconds]
<seangrove> def`: Yeah, considering it
<seangrove> Any you recommend?
aantron has quit [Quit: Leaving...]
<def`> I use evil mode
<seangrove> Ah, thanks for the warning ;)
nicholasf has joined #ocaml
<def`> what worked well was a single binding:
teknozulu has quit [Ping timeout: 252 seconds]
<def`> (if iedit-mode (iedit-mode) (merlin-iedit-occurrences))
<def`> disable if already editing, start fresh otherwise
Algebr`` has joined #ocaml
<Algebr``> I'm trying to get a simple query working with postgresql but the connection string it wants is so finicky, does anyone have a scratch example they can share
<Algebr``> ping rgrinberg, i know you said you use pgocaml, but postgresql works as well?
<flux> cool, last time I tried the merlin-iedit didn't work for me but now it does. I guess restarting emacs between upgrading versions helped :)
teknozulu has joined #ocaml
<flux> I use iedit all the time with C and C++ as well. sadly I don't think rtags provides this functionality :)
<flux> oh, never mind, it doesn't work, I was using plain iedit.. :)
<flux> it marks the identifiers fine, but I cannot exit the mode
axiles has joined #ocaml
<flux> so running merlin-iedit-occurrences again does nothing and iedit-mode does "Wrong type argument: stringp, nil"
<Algebr``> (setq debug-on-error t)
badon_ has joined #ocaml
badon has quit [Disconnected by services]
badon_ is now known as badon
copy` has quit [Quit: Connection closed for inactivity]
Reshi has joined #ocaml
Haudegen has quit [Ping timeout: 252 seconds]
nicholasf has quit [Remote host closed the connection]
Reshi has quit [Ping timeout: 248 seconds]
seangrove has quit [Ping timeout: 246 seconds]
nicholasf has joined #ocaml
apache2_ has joined #ocaml
apache2 has quit [Ping timeout: 252 seconds]
larhat has quit [Quit: Leaving.]
butts_butts has joined #ocaml
Haudegen has joined #ocaml
FreeBird_ has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 252 seconds]
butts_butts has quit [Ping timeout: 252 seconds]
yunxing has quit [Ping timeout: 250 seconds]
Simn has joined #ocaml
kushal has quit [Quit: Leaving]
Algebr`` has quit [Remote host closed the connection]
seangrove has joined #ocaml
seangrove has quit [Ping timeout: 260 seconds]
malc_ has joined #ocaml
<sspi> if I want to serialize objects and send it from C to OCaml and vice versa - what would be the fastest way to do this?
octachron has joined #ocaml
SIGILL has joined #ocaml
<malc_> sspi: printf/scanf?
<pierpa> json?
<pierpa> sexps?
<sspi> it's from and to OCaml types
<sspi> how it looks in C is less important
<malc_> so? what's wrong with printfing it on the C side and scanfing it on ocaml?
<sspi> malc_: no idea, not familiar with that solution - so need to check it out :)
<malc_> sspi: been using it for eleven years, works like a charm
<pierpa> usually one wants to read more complex structures than what scanf can scan
<malc_> usually one overthinks things
<pierpa> we don't know what he needs exactly. But since he asked, I assume it's not a trivial problem that can be solved by printf/scanf
<sspi> malc_: so if I have a record type that is nested - would that be easily serialized with printf/scanf?
<malc_> printf ("tag %d %f %s\n", p->a, p->r->c, p->r->d)
<malc_> what can be simpler?
Reshi has joined #ocaml
<sspi> malc_: alright thanks, will try it out :)
sepp2k has joined #ocaml
ygrek has quit [Ping timeout: 248 seconds]
Reshi has quit [Ping timeout: 260 seconds]
Reshi has joined #ocaml
Kakadu has joined #ocaml
seangrove has joined #ocaml
jwatzman|work has joined #ocaml
freehck has joined #ocaml
silver has joined #ocaml
seangrove has quit [Ping timeout: 248 seconds]
teknozulu has quit [Ping timeout: 252 seconds]
nicholasf has quit [Remote host closed the connection]
nicholasf has joined #ocaml
nicholasf has quit [Client Quit]
malc_` has joined #ocaml
malc_ has quit [Ping timeout: 250 seconds]
AlexRussia has joined #ocaml
shinnya has quit [Quit: ZNC - http://znc.in]
shinnya has joined #ocaml
maker has quit [Quit: = ""]
maker has joined #ocaml
antkong_ has joined #ocaml
AlexRussia has quit [Ping timeout: 248 seconds]
Reshi has quit [Ping timeout: 248 seconds]
malc_` has quit [Remote host closed the connection]
Reshi has joined #ocaml
Haudegen has quit [Ping timeout: 252 seconds]
deko-pyon has joined #ocaml
sz0 has joined #ocaml
seangrove has joined #ocaml
seangrove has quit [Ping timeout: 248 seconds]
Haudegen has joined #ocaml
antkong_ has quit [Quit: antkong_]
M-Illandan has quit [Quit: node-irc says goodbye]
larhat has joined #ocaml
kushal has joined #ocaml
kaustuv has left #ocaml ["ERC Version 5.3 (IRC client for Emacs)"]
pierpa has quit [Ping timeout: 260 seconds]
kansi has joined #ocaml
rcabaco has joined #ocaml
TheLemonMan has joined #ocaml
AlexRussia has joined #ocaml
ggole has joined #ocaml
rcabaco has quit [Ping timeout: 252 seconds]
malc_ has joined #ocaml
dhil has joined #ocaml
tennix has quit [Ping timeout: 248 seconds]
struk|desk|away is now known as struk|desk
antkong has joined #ocaml
lostman_ has joined #ocaml
<lostman_> hi folks. I run into some trouble with js_of_ocaml ppx extension. I'm trying to create a literal object that corresponds to {this: "foo"} but this is a reserved keyword. is it possible to have the property called `this_` that will map to js object property `this`?
Reshi has quit [Quit: WeeChat 1.4]
jwatzman|work has quit [Quit: jwatzman|work]
_andre has joined #ocaml
_andre has quit [Client Quit]
sh0t has joined #ocaml
_andre has joined #ocaml
nojb has joined #ocaml
andrejbauer has joined #ocaml
<Drup> lostman_: but this object is not really representable in javascript ...
<ggole> Sure it is, you just have to use o["this"] instead of {} notation
nojb has left #ocaml [#ocaml]
<andrejbauer> Does sexplib still require camlp4 or is there a ppx-based version of it?
<ggole> (It isn't really a great idea though.)
<companion_cube> sexplib doesn't depend on either one, now
<companion_cube> and there is a ppx version of type_conv
<lostman_> sorry, instead of `this` I've meant `type`
<andrejbauer> is there documentation other than irc on how to use this?
<Drup> lostman_: Oh
<Drup> andrejbauer: last announcement of core
<Drup> lostman_: have you tried using type_ ?
<Drup> I don't remember if I added this hack or not
<lostman_> Drup: let me try quickly
<flux> 4.03.0+beta1! oh it's old news ;-((
<Kakadu> andrejbauer: Are you asking how to switch from camlp4 based sexplib to ppx-based one?
malc_ has left #ocaml ["ERC (IRC client for Emacs 25.0.50.2)"]
<lostman_> Drup: nope, that serializes to {type_: ...}
mettekou has joined #ocaml
<johnelse> lostman_: try _type
<lostman_> _type goes to {_type: ...}
<lostman_> I think having [@name "type"] annotation would be quite useful
struk|desk is now known as struk|desk|away
<johnelse> ah sorry, I haven't used the ppx - _type definitely works with plain js_of_ocaml
<Drup> Hum
<Drup> I should change it to accept type_ and _type
des__ has joined #ocaml
<Drup> (Since it's accepted for method names)
<Drup> foo#type_
<Drup> foo##type_
MercurialAlchemi has quit [Ping timeout: 260 seconds]
tristero has joined #ocaml
jwatzman|work has joined #ocaml
<Drup> lostman_: please open a ticket about it
<lostman_> sure
struk|desk|away is now known as struk|desk
<des__> kind folks: is there a (pointer to a) simple explanation why OCaml can provide polymorphic Hashtbl.create, but has to use Map.make(aModuleWithCompare)? Is it because Hashtbl uses internal representation details without depending on any sig? [I did not have much luck through Google]
<j0sh> Des__: probably because maps can be ordered, and hashtables aren't, so hashtables can use the built-in polymorphic compare function
<andrejbauer> I am asking: if I start using sexplib today, what should I use (for isntance which will be the relevant opam packages)?
<companion_cube> Des__: in theory, map could be polymorphic too
<companion_cube> using Pervasives.compare
seangrove has joined #ocaml
<andrejbauer> Presumably the ppx_sexp_* opam packages are the relevant ones, yes?
antkong_ has joined #ocaml
antkong has quit [Ping timeout: 252 seconds]
<Enjolras> it woudln't work well.
<des__> Thank you, kind folks!
<Enjolras> Only when you have string or int keys
<companion_cube> Enjolras: same as Hashtbl
<companion_cube> also works for tuples, lists, arrays...
<companion_cube> assuming type arguments are themselves comparable
<Enjolras> companion_cube: i don't know. In practice i think equality is more pervasivly defined unambiguously than ordering
antkong_ has quit [Ping timeout: 248 seconds]
<ggole> Core's Map has a module for polymorphic maps iirc
ontologiae has joined #ocaml
<companion_cube> Enjolras: I don't think so
<companion_cube> they are almost the same in most contexts
<ggole> Hash tables and ordered maps have all the same benefits and downsides as using polymorphic equality/ordering on values directly, really
<ggole> Polymorphic tables and maps, I mean
<Drup> Well, that's why there is Hashtbl.Make
<Drup> (which I tend to use all the time, instead of Hashtbl.t)
<companion_cube> same for me
hxegon has joined #ocaml
<ggole> Mmm.
<ggole> I like polymorphic hashing though
<Drup> I don't mind polymorphic hashing, but I do mind it's basically impossible not to use it in ocaml
andrejbauer has quit [Ping timeout: 252 seconds]
<ggole> Well, you really need a solid derivation scheme to solve that one without tag-dispatching
<companion_cube> yeah, and good hash combinators
<companion_cube> that are currently not provided :(
<ggole> Ideally it would be a simple matter to say "hash on these fields", and it really isn't simple to do that at all
<ggole> Yeah, that kind of thing is familiar
dhil has quit [Ping timeout: 248 seconds]
<companion_cube> this is sad :/
<companion_cube> I have the same kind of things (even worse because of lists, etc.)
<seangrove> Drup: Any suggestion for env-specific configuration? I want to bind to port e.g. 3000 in dev and no SSL, but want port 80/443 in production https://github.com/sgrove/riseos/blob/master/dispatch.ml#L255
tane has joined #ocaml
<Drup> Use a key.
antkong_ has joined #ocaml
antkong_ has quit [Client Quit]
<Drup> (or several)
<Kakadu> Folks, when compiler prints error messages with types it wraps everyting using about 80 characters width. Any way to configure that?
tennix has joined #ocaml
tristero has quit [Ping timeout: 260 seconds]
tristero has joined #ocaml
<seangrove> Drup: At configure-time?
<seangrove> S'pose that makes sense - thanks
<Drup> seangrove: or runtime, whichever you want
<Drup> although "ssl or not" is a configure time decision.
<Drup> But the port can be changed by a runtime key too
FreeBirdLjj has joined #ocaml
dhil has joined #ocaml
<ggole> Kakadu: doesn't here? Are you sure that's the compiler?
<seangrove> Drup: But binding to the port is done in dispatch right now, which triggers a sudo, etc. So I just want to disable that, no problem.
<Drup> I don't understand why your sentence starts with a "but" ^^'
FreeBirdLjj has quit [Remote host closed the connection]
<Kakadu> Yep, I'm sure
<seangrove> Drup: Is Key.arg.info coming from mirage or from functoria?
<seangrove> Must be mirage...
FreeBird_ has quit [Ping timeout: 248 seconds]
<Drup> Consider that everything comes from mirage
* seangrove sighs
<seangrove> I really dislike this. I can use merlin to get a type signature for e.g. Key.Arg.info, but it's so hard to find out more info. I'm not sure where it's coming from inside Mirage (or if it's even mirage, usually), it's ungoogleable, and if I do ever find the repo, there probably isn't much documentation on it
<Drup> functoria is documented ! :<
<Drup> (I tried)
<seangrove> Drup: Heh, thank you - it's kind of the exception if that's the case though. I'm still searching for my fucntion
<seangrove> Drup: How did you get there? I only saw a reference to Arg in Functoria_key
<Drup> I clicked on Arg ?
<Drup> Ah, well, I know where things come from >_>
<seangrove> Ah, didn't know it was clickable
<seangrove> Drup: Certainly a huge thanks to you for your stuff, and it is indeed documented.
<Drup> The main issue is that the only "manual" is the blog post
<Drup> and it doesn't really cover all of it
<Drup> (and the examples are "mirage.ml and mirage-skeleton", which is a bit annoying)
vpm has quit [Quit: co'o]
struk|desk is now known as struk|desk|away
vpm has joined #ocaml
mettekou has quit [Read error: Connection reset by peer]
mettekou has joined #ocaml
copy` has joined #ocaml
des__ has quit [Ping timeout: 252 seconds]
JacobEdelman_ has joined #ocaml
uris77 has joined #ocaml
<Drup> :)
larhat has quit [Quit: Leaving.]
<seangrove> Time to setup ocp-indent, I think
IbnFirnas has joined #ocaml
darkf_ has joined #ocaml
darkf has quit [Disconnected by services]
darkf_ is now known as darkf
mettekou has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
MercurialAlchemi has joined #ocaml
ygrek has joined #ocaml
<seangrove> Is there a way to have ocamlfin/ocamlc/ocamlbuild output the build artifacts to a different directory? I have two separate copmilation chains (main app, and jsoo client), and the client outputs client.cmo/cmi, then trying to make mirage complains that it can't work with leftover files
<seangrove> I can just run _build/sanitize.sh, but I'd liek to have a deterministic script
<Drup> can't you just use ocamlbuild for both ?
<seangrove> Will that not have the same problem?
<seangrove> I guess I could try adding an entry to Makefile.user
hcarty has joined #ocaml
shinnya has quit [Ping timeout: 276 seconds]
mettekou has joined #ocaml
aantron has joined #ocaml
ygrek has quit [Ping timeout: 246 seconds]
<Drup> Today for the first time, I used the -open flag. I'm half disgusted and half proud "I can do this hack and it'll totally work!"
sepp2k has quit [Quit: Leaving.]
Guest38 has joined #ocaml
<seangrove> Drup: What's the flag for?
<aantron> its as if you wrote open Foo at the top of your file
<aantron> -open Foo becomes "open Foo"
sepp2k has joined #ocaml
freehck has quit [Remote host closed the connection]
darkf has quit [Quit: Leaving]
uris77 has quit [Ping timeout: 248 seconds]
uris77 has joined #ocaml
<seangrove> Ah, interesting :)
<hcarty> companion_cube: It's worth adding https://github.com/def-lkb/ocp-indent-vim if you're going to try ocp-indent again
<hcarty> Are there any OCamlPro folks about? With information on plans for tool compatibility with 4.03.
<hcarty> ocp-build has several breakages on 4.03, which unfortunately prevents ocp-indent from being usable on 4.03.
ontologiae has quit [Ping timeout: 276 seconds]
slash^ has joined #ocaml
<rks`> hcarty: just use your 4.02 built ocp-indent with your 4.03 code
<rks`> (until they fix it)
<hcarty> rks`: Ah, good point. Thanks!
<hcarty> I got ocp-build to build but I'm not sure how safe my changes are.
kushal has quit [Quit: Leaving]
<seangrove> Bah, can't get this to work: ocamlbuild -use-ocamlfind -plugin-tag "package(js_of_ocaml.ocamlbuild)" client.js -> "Warning: option -plugin-tag(s) has no effect in absence of plugin file "myocamlbuild.ml", Solver failed: Ocamlbuild knows of no rules that apply to a target named client.js"
<Drup> See the jsoo plugin instruction
<seangrove> Ah, maybe the _tags file
<Drup> It's literally the first piece of code
Algebr has joined #ocaml
<seangrove> Yup, that was it. So myocamlbuild, another file to learn about and keep in sync
<Leonidas> is there any documentation on ppx-ized sexplib?
<seangrove> Oh my, ocamlbuild doesn't let you specify where to output the final artifact?
<Algebr> seangrove: I missed out on this, why are you having to mess with myocamlbuild?
<seangrove> Algebr: I'm trying to get a single line to build my jsoo output. I was just `ocamlfind ocamlc -g -package js_of_ocaml -package js_of_ocaml.syntax -package js_of_ocaml.ppx -linkpkg -o client.byte client.ml && js_of_ocaml --source-map --pretty --no-inline --debug-info -o static/js/client.js client.byte`, but then that creates client.cmo/i at the top level, and then ocamlbuild will complain and create a _build/sanitize.sh on the next
<seangrove> `make` run. It means my `make` invocations work every-other-time. I want to make it uniform, so I'm trying to build the jsoo stuff with ocamlbuild now
<Algebr> seangrove: I have a much easier solution for that
<seangrove> I think I have it working for now. Already at my daily limit for these kinds of tools
<Algebr> one sec, pulling it up
<seangrove> Took this morning to expplicitely clean this stuff up in prep of showing it to others later
<seangrove> Cool, thanks
<Algebr> seangrove:
<Algebr> many jsoo sample here https://github.com/bean-code
octachron has quit [Quit: Leaving]
jwatzman|work has quit [Quit: jwatzman|work]
kushal has joined #ocaml
yunxing has joined #ocaml
<companion_cube> I tihnk someone should fork ocp-indent (and ocp-index, also) and repackage them with another build system :]
<seangrove> arrr, I used `make clean`, and now I when running make I get `File "myocamlbuild.ml", line 1, characters 35-68: Error: Unbound module Ocamlbuild_js_of_ocaml`
<seangrove> Ok, I need to include a plugin tag...
<hcarty> companion_cube: ... would be nice. I think there was a request to that effect, maybe with a PR?
<companion_cube> really? :D
<companion_cube> that would piss off Fabrice
<Algebr> companion_cube: why?
<companion_cube> well ocp-build is his baby, isn't it?
<Algebr> I meant fork it for what end
<Algebr> its not like its stuck with ocp-build, right
<companion_cube> I think it's (probably) stuck with ocp-build because it's maintained by ocp
<companion_cube> :)
<companion_cube> (and I was half joking of course)
<seangrove> What is the _tags equivalent of -plugin-tag "package(js_of_ocaml.ocamlbuild)" ?
<Algebr> why was ocp-build made anyway.....
<Algebr> nvm, shouldn't have said that out loud
kansi has quit [Ping timeout: 246 seconds]
<seangrove> Bah, nevermind, I'll just bash the flag into Makefile.user
<Algebr> that's the spirit
_andre has quit [Quit: Lost terminal]
foolishmonkey has quit [Quit: Leaving]
<hcarty> seangrove: It looks like that information is missing from the manual (https://github.com/gasche/manual-ocamlbuild) so it's probably worth adding a bug report/feature request.
andreypopp_ has quit [Ping timeout: 264 seconds]
dch has quit [Ping timeout: 264 seconds]
sspi has quit [Ping timeout: 264 seconds]
l1x has quit [Ping timeout: 264 seconds]
jkni has quit [Ping timeout: 264 seconds]
<seangrove> hcarty: Will do
dch_ has joined #ocaml
ggole has quit []
butts_butts has joined #ocaml
sspi_ has joined #ocaml
kushal has quit [Quit: Leaving]
<Algebr> what, mirage still uses camlp4?
jkni_ has joined #ocaml
l1x_ has joined #ocaml
<seangrove> Bah, more Makefile.user bashing
sepp2k has quit [Quit: Leaving.]
Kakadu has quit [Quit: Page closed]
andreypopp__ has joined #ocaml
sepp2k has joined #ocaml
ygrek has joined #ocaml
jeffmo has joined #ocaml
ollehar has joined #ocaml
jkni_ is now known as jkni
sspi_ is now known as sspi
l1x_ is now known as l1x
dch_ is now known as dch
rand__ has joined #ocaml
yunxing has quit [Remote host closed the connection]
<Drup> (because the tag applies to the compilation of myocamlbuild.ml, which is needed to read the _tags)
<seangrov`> Drup: Updated ^
seangrov` has joined #ocaml
yunxing has joined #ocaml
sgnb` has joined #ocaml
manizzle has quit [Ping timeout: 250 seconds]
clog has quit [Ping timeout: 250 seconds]
sgnb has quit [Ping timeout: 250 seconds]
djellemah has quit [Ping timeout: 250 seconds]
snhmib has quit [Ping timeout: 268 seconds]
seangrove has quit [Ping timeout: 250 seconds]
<Drup> seangrov`: about camlp4 .... report it
<Drup> we should remove it
Nazral has quit [Remote host closed the connection]
snhmib has joined #ocaml
Nazral has joined #ocaml
vishesh has quit [Ping timeout: 250 seconds]
<Algebr> does anyone know what is preventing anil's ppa for opam to just be the regular opam in ubuntu's apt-get?
<Algebr> its frustrating that the most popular linux distro needs special instructions
tane has quit [Excess Flood]
tane has joined #ocaml
<aantron> i thought it was the conservative testing and release process of ubuntu
<Algebr> uh, I thought debian was the conversative one adn that ubuntu was more relaxed
sh0t has quit [Ping timeout: 250 seconds]
<aantron> they tend to have a lot of old packages in the main repository, and tend to keep up only with bugfixes
Johann has quit [Ping timeout: 250 seconds]
<aantron> at least this seemed to be my experience back in my ubuntu days
mettekou has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<aantron> id imagine packages that have a lot of dependency in-edges are especially slow to be moved along
Johann has joined #ocaml
<aantron> i dont know how their packaging process works. maybe someone should help out with maintaining the ubuntu packaging of ocaml?
<Algebr> its very nice that anil is doing it but I imagine he's already way overloaded...
mettekou has joined #ocaml
yunxing has joined #ocaml
djellemah has joined #ocaml
manizzle has joined #ocaml
axiles has quit [Ping timeout: 250 seconds]
axiles has joined #ocaml
<aantron> right. i meant even the actual main repo ocaml packages. but the ubuntu main repos arent meant for development work, they are meant for some kind of end-use. when developing on ubuntu i frequently had to install manually or search for ppas, so this isnt out of the ordinary for ubuntu, unfortunately
ollehar has quit [Ping timeout: 246 seconds]
<Algebr> darn
<Algebr> nixpkgs/nixos wasn't much easier either
<seangrov`> Drup: I think I missed the answer - what's the way to fix the _tags/myocamlbuild.ml problem?
<Drup> (19:42:39) Drup: seangrove: there is no _tags equivalent
<Drup> (19:44:23) Drup: (because the tag applies to the compilation of myocamlbuild.ml, which is needed to read the _tags)
snhmib has quit [Ping timeout: 250 seconds]
<seangrov`> Drup: Ah, thank you
<seangrov`> So it's a kind of circular dependency? Can I break that somehow?
<Drup> No
<seangrov`> T.T
kushal has joined #ocaml
<Algebr> Drup: it sounds like missing functionality
<Drup> seangrov`: you *can* remove camlp4 by adding something -tags "-syntax(camlp4o)"
<Drup> somewhere
axiles has quit [Ping timeout: 250 seconds]
snhmib has joined #ocaml
<Drup> (note the "-")
manizzle has quit [*.net *.split]
mettekou has quit [*.net *.split]
Nazral has quit [*.net *.split]
hcarty has quit [*.net *.split]
vpm has quit [*.net *.split]
SIGILL has quit [*.net *.split]
Ravana has quit [*.net *.split]
keep_learning has quit [*.net *.split]
jpdeplaix has quit [*.net *.split]
rks` has quit [*.net *.split]
phrst has quit [*.net *.split]
seangrov` has quit [*.net *.split]
butts_butts has quit [*.net *.split]
uris77 has quit [*.net *.split]
aantron has quit [*.net *.split]
dhil has quit [*.net *.split]
tennix has quit [*.net *.split]
badon has quit [*.net *.split]
Intensity has quit [*.net *.split]
kushal has quit [*.net *.split]
djellemah has quit [*.net *.split]
Johann has quit [*.net *.split]
hxegon has quit [*.net *.split]
lukky513 has quit [*.net *.split]
systmkor has quit [*.net *.split]
maufred has quit [*.net *.split]
nicoo has quit [*.net *.split]
jrslepak has quit [*.net *.split]
yunxing has quit [*.net *.split]
AlexRussia has quit [*.net *.split]
TheLemonMan has quit [*.net *.split]
maker has quit [*.net *.split]
silver has quit [*.net *.split]
theblatte has quit [*.net *.split]
zoobab has quit [*.net *.split]
ousado_ has quit [*.net *.split]
jave has quit [*.net *.split]
kandu has quit [*.net *.split]
jbrown has quit [*.net *.split]
asmanur has quit [*.net *.split]
jmasseo has quit [*.net *.split]
adrien has quit [*.net *.split]
Ankhers has quit [*.net *.split]
zxqdms has quit [*.net *.split]
tokik has quit [*.net *.split]
artart78 has quit [*.net *.split]
sigjuice has quit [*.net *.split]
fold4 has quit [*.net *.split]
wolfcore has quit [*.net *.split]
tumdum has quit [*.net *.split]
ohama has quit [*.net *.split]
pdewacht has quit [*.net *.split]
ahf has quit [*.net *.split]
reynir has quit [*.net *.split]
mrvn has quit [*.net *.split]
teiresias has quit [*.net *.split]
hannes has quit [*.net *.split]
StatelessCat has quit [*.net *.split]
Madars has quit [*.net *.split]
jlouis has quit [*.net *.split]
johnelse has quit [*.net *.split]
haelix_ has quit [*.net *.split]
adrien_znc has quit [*.net *.split]
tokenrove has quit [*.net *.split]
john51 has quit [*.net *.split]
eikke has quit [*.net *.split]
lyxia has quit [*.net *.split]
thegameg has quit [*.net *.split]
patronus_ has quit [*.net *.split]
_2can has quit [*.net *.split]
gustav___ has quit [*.net *.split]
atsampson has quit [*.net *.split]
dmbaturin has quit [*.net *.split]
Riviera has quit [*.net *.split]
tg has quit [*.net *.split]
smondet has quit [*.net *.split]
zapu has quit [*.net *.split]
iosys has quit [*.net *.split]
darius93 has quit [*.net *.split]
vodkaInferno has quit [*.net *.split]
orbitz has quit [*.net *.split]
ia0 has quit [*.net *.split]
ski has quit [*.net *.split]
__rlp has quit [*.net *.split]
spion has quit [*.net *.split]
gbarboza has quit [*.net *.split]
hnrgrgr has quit [*.net *.split]
mahem1 has quit [*.net *.split]
inr has quit [*.net *.split]
damason has quit [*.net *.split]
dmiller has quit [*.net *.split]
Cypi has quit [*.net *.split]
Mandus_ has quit [*.net *.split]
def` has quit [*.net *.split]
SimonJF has quit [*.net *.split]
srcerer has quit [*.net *.split]
companion_cube has quit [*.net *.split]
al-maisan has quit [*.net *.split]
Drup has quit [*.net *.split]
mfp has quit [*.net *.split]
tizoc has quit [*.net *.split]
vbmithr has quit [*.net *.split]
stomp has quit [*.net *.split]
DanielRichman has quit [*.net *.split]
mj12`_ has quit [*.net *.split]
tvaalen has quit [*.net *.split]
Muzer has quit [*.net *.split]
bacam has quit [*.net *.split]
struk|desk|away has quit [*.net *.split]
xaimus_ has quit [*.net *.split]
tianon has quit [*.net *.split]
emias has quit [*.net *.split]
troydm has quit [*.net *.split]
jeffmo has quit [*.net *.split]
ygrek has quit [*.net *.split]
andreypopp__ has quit [*.net *.split]
slash^ has quit [*.net *.split]
deko-pyon has quit [*.net *.split]
Reventlov has quit [*.net *.split]
cdidd has quit [*.net *.split]
cthuluh has quit [*.net *.split]
SHODAN has quit [*.net *.split]
cow-orker has quit [*.net *.split]
jimt has quit [*.net *.split]
haesbaert has quit [*.net *.split]
Enjolras has quit [*.net *.split]
wagle has quit [*.net *.split]
low-profile has quit [*.net *.split]
j0sh has quit [*.net *.split]
MasseR has quit [*.net *.split]
jerith has quit [*.net *.split]
fds has quit [*.net *.split]
eagleflo has quit [*.net *.split]
cyraxjoe has quit [*.net *.split]
luigy has quit [*.net *.split]
so has quit [*.net *.split]
relrod has quit [*.net *.split]
snhmib has quit [*.net *.split]
l1x has quit [*.net *.split]
MercurialAlchemi has quit [*.net *.split]
IbnFirnas has quit [*.net *.split]
JacobEdelman_ has quit [*.net *.split]
tristero has quit [*.net *.split]
sz0 has quit [*.net *.split]
Simn has quit [*.net *.split]
apache2_ has quit [*.net *.split]
Maxdamantus has quit [*.net *.split]
fraggle_ has quit [*.net *.split]
martintrojer has quit [*.net *.split]
k1000 has quit [*.net *.split]
mehdib has quit [*.net *.split]
chris2 has quit [*.net *.split]
jeroud has quit [*.net *.split]
Sorella has quit [*.net *.split]
polaron has quit [*.net *.split]
bbc has quit [*.net *.split]
Khady has quit [*.net *.split]
tane has quit [*.net *.split]
sgnb` has quit [*.net *.split]
rand__ has quit [*.net *.split]
Algebr has quit [*.net *.split]
Guest38 has quit [*.net *.split]
Haudegen has quit [*.net *.split]
thizanne has quit [*.net *.split]
nuuit has quit [*.net *.split]
asdf12z_ has quit [*.net *.split]
w1gz has quit [*.net *.split]
myst|fon has quit [*.net *.split]
zaquest has quit [*.net *.split]
asm89 has quit [*.net *.split]
msch has quit [*.net *.split]
sternenseemann has quit [*.net *.split]
riveter has quit [*.net *.split]
rwmjones has quit [*.net *.split]
Fleurety has quit [*.net *.split]
Lasher` has quit [*.net *.split]
pippijn has quit [*.net *.split]
nopf has quit [*.net *.split]
jun has quit [*.net *.split]
ggherdov has quit [*.net *.split]
oskarth has quit [*.net *.split]
strmpnk has quit [*.net *.split]
nullcatxxx_ has quit [*.net *.split]
S11001001 has quit [*.net *.split]
clockish has quit [*.net *.split]
seliopou has quit [*.net *.split]
mattrepl has quit [*.net *.split]
acieroid` has quit [*.net *.split]
sheijk has quit [*.net *.split]
regnat has quit [*.net *.split]
infinity0 has quit [*.net *.split]
stux|RC-only has quit [*.net *.split]
j_king has quit [*.net *.split]
julienXX has quit [*.net *.split]
profan has quit [*.net *.split]
luzie has quit [*.net *.split]
swistak35 has quit [*.net *.split]
Pepe__ has quit [*.net *.split]
demonimin has quit [*.net *.split]
nzyuzin has quit [*.net *.split]
cat5e has quit [*.net *.split]
danieli has quit [*.net *.split]
dexterph has quit [*.net *.split]
pootler_ has quit [*.net *.split]
lokien has quit [*.net *.split]
stephe has quit [*.net *.split]
Guest33283 has quit [*.net *.split]
mietek has quit [*.net *.split]
mankyKitty has quit [*.net *.split]
boegel has quit [*.net *.split]
cnu- has quit [*.net *.split]
lopex has quit [*.net *.split]
seako has quit [*.net *.split]
chenglou has quit [*.net *.split]
hbar_ has quit [*.net *.split]
nore has quit [*.net *.split]
please_help has quit [*.net *.split]
iZsh has quit [*.net *.split]
dinosaure has quit [*.net *.split]
tobiasBora has quit [*.net *.split]
cross has quit [*.net *.split]
sepp2k has quit [*.net *.split]
jkni has quit [*.net *.split]
dch has quit [*.net *.split]
sspi has quit [*.net *.split]
copy` has quit [*.net *.split]
lostman_ has quit [*.net *.split]
lpaste has quit [*.net *.split]
gargawel_ has quit [*.net *.split]
noplamodo has quit [*.net *.split]
hyperboreean has quit [*.net *.split]
fluter has quit [*.net *.split]
cantstanya has quit [*.net *.split]
caw has quit [*.net *.split]
flux has quit [*.net *.split]
cschneid has quit [*.net *.split]
oldmanistan_ has quit [*.net *.split]
tcpc has quit [*.net *.split]
kalzz has quit [Max SendQ exceeded]
jave has joined #ocaml
Simn has joined #ocaml
fds has joined #ocaml
jlouis has joined #ocaml
cschneid has joined #ocaml
danieli has joined #ocaml
rfv has quit [Max SendQ exceeded]
rfv has joined #ocaml
mj12` has joined #ocaml
Kakadu has joined #ocaml
axiles has joined #ocaml
octachron has joined #ocaml
shinnya has joined #ocaml
Mercuria1Alchemi has joined #ocaml
t4nk799 has joined #ocaml
yunxing has joined #ocaml
<octachron> great... how can hevea even generates 300MB html file from a valid (and non-crazy 26K) tex file?
<companion_cube> oO
malc_` has joined #ocaml
<mrvn> # let ( -< ) x y = x + y;;
<mrvn> val ( -< ) : int -> int -> int = <fun>
<mrvn> # let ( -> ) x y = x + y;;
<mrvn> Error: Syntax error: operator expected.
sz0 has joined #ocaml
<mrvn> Why?
<companion_cube> well, -> is a key element of syntax ? :D
<companion_cube> (I'm not sure it would be ambiguous though)
<companion_cube> (except for the lexer)
<mrvn> yeah, don't blindly tokenize that
<mrvn> There shouldn't be any confusion between type definitions and operator usage.
<smondet> | foo when foo -> 42 > 0 -> bar would be pretty confusing :)
<companion_cube> ah right, when clauses
yunxing has quit [Remote host closed the connection]
malc_` has left #ocaml ["ERC (IRC client for Emacs 25.0.50.2)"]
<mrvn> smondet: ahh, yes
sh0t has joined #ocaml
<mrvn> hmm, so should I use --> or @->?
<thizanne> they should not have the same precedence
<companion_cube> @-> is nicely right-associative
<companion_cube> it's used in ctypes
clog has joined #ocaml
<mrvn> companion_cube: which is why I would like not to use it
<companion_cube> meh, you need to use it with ctypes?
<thizanne> then use @-->
<mrvn> thizanne: hmm, right-associative is wrong for me I think.
<thizanne> everything is awesome then
<mrvn> why do I feel dirty writing "mainWindow -> setCentralWidget button" in ocaml?
<mrvn> s/->/-->/
<thizanne> octachron │ great... how can hevea even generates 300MB html file from a valid (and non-crazy 26K) tex file?
<thizanne> do you have maths ?
<companion_cube> do you even maths, octachron?
<octachron> maths? Let's see dF = 0, d*F=J.. at least my electromagnetism is alright
<j_king> ∃x ∈ P; Q(x) ⇒ F(x)
<thizanne> the compilation of maths by hevea is not really space-efficient
<thizanne> (albeit quite fun in some way)
<octachron> thizanne, I have conditionals macro which somehow generates insanely nested <span>
<thizanne> it's typesetting formulas with a lot of tables and html attributes
julien_t has joined #ocaml
<thizanne> octachron: I don't think I still have access to hevea code
<thizanne> but if it's important to you I would advise you to contact Luc Maranget in some way, he is usually quite reactive
<mrvn> it's also stupid since stdint.h exists
<mrvn> ups
<octachron> thizanne, thanks for the advice
seangrove has joined #ocaml
<mrvn> How do I mark an external function as retunging a covariant 'a?
<companion_cube> not sure it means something
julien_t has quit [Ping timeout: 252 seconds]
<mrvn> say I have a function returning [] : 'a list. How do I make "let nil = foo ()" work witho9ut getting an '_a
<mrvn> ?
<companion_cube> I don't think you can
yunxing has joined #ocaml
<octachron> mrvn, in your example, you should get back a nil: 'a list (with the relaxed value restriction)
<lyxia> humane_re exports a Str module. Can I open this one and not the Stdlib's one?
<mrvn> octachron: How would the compiler know it is [] and not [1]?
teknozulu has joined #ocaml
<octachron> mrvn, if the type of l is 'a list, since list is covariant in its first parameter, then necessarily l = []
<octachron> ( without Obj.magic, value of type 'a does not exist )
<mrvn> octachron: external ret_nil : unit -> 'a list = "ret_nil" external ret_int_list : unit -> 'a list = "ret_int_list"
<mrvn> octachron: how is one magically covariant and not the other?
<mrvn> hm,, well, the second would have to return int list.
<mrvn> my example is to simplified.
<mrvn> Error: The type of this expression, ('_a t, bool -> unit) Signal.t, contains type variables that cannot be generalized
<mrvn> The external returns ('a t, bool -> unit) Signal.t
<mrvn> I think I have to define the type t with + already
<octachron> is ('a,'b) Signal.t covariant in 'a?
<mrvn> not yet
<Drup> lyxia: sure, what prevents you of doing so ?
<Drup> (note: this modules comes from re)
<companion_cube> I'd suggest module Str = Humane_re.Str or something like this
<lyxia> I was doing open Str
<lyxia> companion_cube: ah this works
ollehar has joined #ocaml
<companion_cube> you cn directly open Humane_re.Str if you want
<lyxia> right
Mercuria1Alchemi has quit [Ping timeout: 246 seconds]
<lyxia> how does that work, does any package "package" expose a module "Package"?
<mrvn> usualy they do
<lyxia> if I use re, and I open Re, would that open the package-module Re, or the inner module Re?
<lyxia> I'm missing something...
<jyc> there is only the module
<jyc> Your package can include any modules it wants
<jyc> for example the package ocamlnet has a Netstring module, a Nethtml module, etc. that are all available as soon as you link or #require ocamlnet
<lyxia> okay
<lyxia> but how does that work for humane_re
<jyc> If it contains a Str module then I believe it would depend on the order in which you linked
<jyc> I imagine you probably just wouldn't link the standard Str at all if you were using humane_re
<lyxia> I mean humane_re has just "str.ml(i)" as its source, at what point does that tell me I should do "open Humane_re.Str" instead of "open Str"
<mrvn> lyxia: it's probably build with --packed
<lyxia> ah
<mrvn> The Humane_re gets added during build to make the sub modules unique
<lyxia> that's what this is. Okay thanks.
antkong_ has joined #ocaml
<mrvn> All good packages try to use a unique prefix for their more commonly named sub modules
<companion_cube> yep :/
<Nazral> is there an equivalent to To_dom.to_node but the other way around ?
<mrvn> of_node?
<Drup> Of_dom.to_node
<mrvn> "but an expression was expected of type ('b QT5.QPushButton.qPushButton QT5.QAbstractButton.qAbstractButton QT5.QWidget.qWidget QT5.QObject.t, 'c) QT5.Signal.t" that gets rather verbose.
<Drup> oh, that doesn't exist
<Drup> Of course it doesn't, bah
<Drup> Of_dom.of_lement
<Drup> Nazral: ^
<mrvn> First steps for QT5 bindings: with objects: https://github.com/mrvn/ocaml-qt5 and with modules: https://github.com/mrvn/ocaml-qt5/tree/modules
<mrvn> What do you think is the better syntax?
<mrvn> (compare src/test/app.ml for example)
<Nazral> Drup: thanks
<Kakadu> mrvn: Do you have an example with custom handler for http://doc.qt.io/qt-5/qwidget.html#keyPressEvent ?
teknozulu has quit [Ping timeout: 252 seconds]
<mrvn> kakadu: So far I only have QAbstractButton::clicked implemented
<Kakadu> but it is a signal
<mrvn> kakadu: to catch events I have to overload QWidget on the c++ side, right?
<Kakadu> yes, kind of
<Algebr> mrvn: godspeed with qt
<Kakadu> mrvn: Or even wrap all of them into new signals
<mrvn> I do know I want to catch at least the close event and then I have to wrap every c++ class to catch that. :(
<mrvn> kakadu: Problem is events want a return value, signals all return unit.
<Kakadu> Yeah, I looked at that and started to deal with QtQuick
<Kakadu> mrvn: Also, there are some places where methods are public in the parent and private in the subclass
<Kakadu> It will be interesting to look at this in your implementation :)
<mrvn> I know. How does that even work? I can (in C++) always down cast and then call the parents public method. Probably with stupid results but hey...
octachron has quit [Ping timeout: 276 seconds]
<mrvn> I wish ocaml classes could have multiple constructors.
pierpa has joined #ocaml
<mrvn> kakadu: I should implement http://doc.qt.io/qt-5/qtwidgets-widgets-tetrix-example.html in ocaml.
lobo has joined #ocaml
<mrvn> kakadu: How far are your QtQuick bindings?
yunxing has quit [Remote host closed the connection]
sz0 has quit [Ping timeout: 252 seconds]
<Kakadu> It is difficult question. QtQuick is very powerful even without C++ or OCaml.
algoriddle has joined #ocaml
antkong_ has quit [Quit: antkong_]
antkong has joined #ocaml
ollehar has quit [Quit: ollehar]
maverous has joined #ocaml
yunxing has joined #ocaml
lobo has quit [Quit: zleep]
shinnya has quit [Ping timeout: 252 seconds]
teknozulu has joined #ocaml
hcarty has joined #ocaml
hcarty has quit [Ping timeout: 276 seconds]
t4nk799 has quit []
Simn has quit [Quit: Leaving]
chindy has joined #ocaml