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
ollehar has quit [Read error: Connection reset by peer]
ollehar has joined #ocaml
<jonh> hmm
<jonh> q66: interesting they are calling it a forum, but using irc logs?
rgrinberg has joined #ocaml
<dmbaturin> Those logs are misrepresented, I'd say.
uris77 has joined #ocaml
<apache2> I like this post you made on the forum, dmbaturin, the one titled: "Well, given how many people write applications in C++, that's still valid. :)"
<dmbaturin> Precisely the kind of stuff I post on forums I don't know they exist. :)
<companion_cube> adrien: on a new wheel
<apache2> hehe :D
hilquias has quit [Remote host closed the connection]
uris77 has quit [Ping timeout: 276 seconds]
<apache2> haha, this format is quite enjoyable to read. like this brilliant forum post by n3ss3s: "oh sweet jesus now utop is not found"
ir2ivps4 has quit [K-Lined]
<dmbaturin> Oh, so "member profiles" allow one to see what that person posted on all channels they log.
<apache2> I wonder what the purpose is. Siderank is quite probable. But then what? ads? malware?
<dmbaturin> Why not all of these?
<dmbaturin> They aren't mutually exclusive.
<apache2> point.
thomasga has quit [Quit: Leaving.]
thomasga has joined #ocaml
psy has quit [Disconnected by services]
thomasga has quit [Quit: Leaving.]
psy_ has joined #ocaml
shinnya has quit [Ping timeout: 272 seconds]
palomer has joined #ocaml
The_Mad_Pirate has joined #ocaml
struktured has joined #ocaml
jonh has left #ocaml ["WeeChat 0.4.2"]
Algebr has joined #ocaml
ygrek has quit [Ping timeout: 264 seconds]
idegen has quit [Quit: Leaving.]
kdef has quit [Quit: Leaving]
manizzle has quit [Ping timeout: 276 seconds]
manizzle has joined #ocaml
hilquias has joined #ocaml
badon has quit [Read error: Connection reset by peer]
badon has joined #ocaml
darkf has joined #ocaml
jabesed has quit [Ping timeout: 258 seconds]
ilia has joined #ocaml
idegen has joined #ocaml
keen_____ has quit [Read error: Connection reset by peer]
b0mbastus has quit [Ping timeout: 265 seconds]
keen_____ has joined #ocaml
<ilia> I have a question regarding debugging: how to trace a function, e.g. to print something in a log?
<dmbaturin> ilia: In a daemon or other type of non-interactive program?
<dmbaturin> If stdout/stderr are not closed, it's trivial. let foo x = Printf.fprintf stderr "doing things with %d\n" x; x + 1
idegen has quit [Quit: Leaving.]
c74d has quit [Remote host closed the connection]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
c74d has joined #ocaml
palomer has quit [Quit: palomer]
manizzle has quit [Ping timeout: 252 seconds]
b0mbastus has joined #ocaml
kido1412 has joined #ocaml
Algebr has quit [Remote host closed the connection]
<kido1412> Does codes like ```type xxx with sexp``` is a standard OCaml syntax?
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
Denommus has joined #ocaml
Denommus has quit [Max SendQ exceeded]
Denommus has joined #ocaml
Denommus has quit [Max SendQ exceeded]
Denommus has joined #ocaml
hay207 has joined #ocaml
<Drup> kido1412: no, it's a syntax extension
<dmbaturin> Drup: What does the default Lwt logger do when stderr is closed? Does it automatically switch to syslog, or it does something else?
<Drup> nothing special, I think
<Drup> dmbaturin: the code is quite trivial, you can just read it really ;)
<dmbaturin> I automatically assumed that Lwt code is full of heavy wizardry and didn't even clone it. Maybe I should.
<Drup> it is actually not.
hay207 has quit [Ping timeout: 264 seconds]
milosn has quit [Read error: Connection reset by peer]
milosn_ has joined #ocaml
hay207 has joined #ocaml
swgillespie has joined #ocaml
swgillespie has quit [Client Quit]
psy_ has quit [Ping timeout: 276 seconds]
swgillespie has joined #ocaml
Submarine_ has joined #ocaml
Submarine_ has joined #ocaml
<flux> companion_cube, oh, too bad
<flux> companion_cube, I guess if it'll annoy me too much I'll eventually do a rewrite then :)
Submarine_ has quit [Client Quit]
ygrek has joined #ocaml
tnguyen has joined #ocaml
tnguyen has quit [Client Quit]
tnguyen has joined #ocaml
tnguyen has quit [Quit: tnguyen]
milosn_ is now known as milosn
adc90 has quit [Read error: Connection reset by peer]
adc90 has joined #ocaml
MercurialAlchemi has joined #ocaml
<flux> you shouldn't really close stderr or stdout, should you? if you do that, you risk reopening a new file handle and it being assigned 1 or 2. instead, you should open /dev/null to their fds.
<flux> and in that case any log writer doesn't need to care.
tnguyen has joined #ocaml
<dmbaturin> flux: True. I was just searching for the least headache way to log my stuff.
<dmbaturin> I guess I'll actually have to resort to reading the source.
hay207 has quit [Remote host closed the connection]
hay207 has joined #ocaml
ilia has quit [Quit: Leaving]
hay207 has quit [Ping timeout: 272 seconds]
manizzle has joined #ocaml
<apache2> flux: correct me if I'm wrong, but if the log writer has an open handle, and you close the fd, wouldn't that yield a broken pipe on the log writer end too?
<flux> apache2, yes, but I mean the case if the writing process closes the fd it's writing to
<flux> so the the fd (say stdout = fd 1) is released for other use
<flux> and if you open any file, it will get assigned fd 1
matason has joined #ocaml
<flux> and if you then, say, start an external application that writes to stdout, it will get into that file
projective-pyon is now known as degenerate-pyon
<dmbaturin> apache2: Oh, so I'm not the only one who's having a log problem today?
<apache2> flux: oh, so children of your process. right.
<apache2> dmbaturin: I don't keep logs, I don't care :)
matason has quit []
Haudegen has quit [Ping timeout: 276 seconds]
tmtwd has quit [Quit: Leaving]
<flux> apache2, or even just some 'stdout' object that references to the said fd.. but I guess you can be mostly certain you've closed them all within your process.
<apache2> yeah, you're right
ingsoc has joined #ocaml
<flux> at least ocaml sets fd to '-1' when closing an out_channel
<flux> but it does happily try to write there.. and then gets an error from the kernel interface.
<apache2> :-/
<apache2> wait, why would it try to write to a closed descriptor?
<apache2> runtime checks for "is this fd == -1" too slow?
kido1412 has quit [Quit: Page closed]
<apache2> that probably makes sense - most of the time it would be open, then the check would be overhead
<adrien> companion_cube: congrats!
<flux> apache2, sure, why not, the kernel is going to check it anyway
MercurialAlchemi has quit [Remote host closed the connection]
djellemah has joined #ocaml
MercurialAlchemi has joined #ocaml
Haudegen has joined #ocaml
MercurialAlchemi has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
SIGILL has quit [Read error: Connection reset by peer]
SIGILL has joined #ocaml
Bhavya has joined #ocaml
muzzle has joined #ocaml
oscar_toro has quit [Ping timeout: 256 seconds]
matason has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
adc90 has quit [Read error: Connection reset by peer]
adc90 has joined #ocaml
jonludlam has quit [Ping timeout: 252 seconds]
Gama11 has joined #ocaml
oscar_toro has joined #ocaml
thomasga has joined #ocaml
<struktured> anyone aware of a pure ocaml curl lib?
tmtwd has joined #ocaml
<MercurialAlchemi> struktured: a web client?
<struktured> MercurialAlchemi: I just want to download a http or fttp resource in pure ocaml, using sys.command + wget atm, trying to find something better
<MercurialAlchemi> struktured: cohttp has a client part
muzzle has quit [Quit: Leaving.]
<MercurialAlchemi> struktured: don't think it does ftp though...
<struktured> MercurialAlchemi: I don't need ftp, but not sure if this is best choice either, need to understand api's scope better. was playing with curl bindings earlier but really want something pure if it's out there
<MercurialAlchemi> struktured: if all you need is to get a response, you should be covered
<MercurialAlchemi> it can use lwt or async
martintrojer has quit [Max SendQ exceeded]
martintrojer has joined #ocaml
<struktured> yeah I saw that, is there a client only package, as you hinted at earlier too? rather not pull in the server libs
muzzle has joined #ocaml
<MercurialAlchemi> don't think so
<MercurialAlchemi> opam doesn't think so either
<struktured> well it claims to be light weight, and I have to give them kudos for supporting both lwt and async, something i'm trying to do myself lately
<reynir> hi struktured! Any luck with opam on solaris? :)
<MercurialAlchemi> it's a lot lighter than ocamlnet, that's for sure
mort___ has joined #ocaml
<struktured> reynir: I pushed back the urgency of it, as I don't need to immediately run it on anything solaris. I will revisit it for like 30 minutes tommorow and review with you the problem's I'm running into. Also, I could sometimes be blocked by my ticketing system of unfortunately..
<struktured> reynir: last I remember, the configur was barfing on a some malformed "test" command. I might overlay gnu tools into ~/local and adjust the path. screw solaris build tools
<reynir> heh
<reynir> I was just curious :)
<struktured> I tihnk key to victory is rocking gnu as far as you are willing
<struktured> still can be solaris target binaries of course
<reynir> Yea
gperetin has quit [Ping timeout: 272 seconds]
adr has joined #ocaml
adr has quit [Remote host closed the connection]
manizzle has quit [Ping timeout: 256 seconds]
dav- has quit [Read error: Connection reset by peer]
hilquias has quit [Remote host closed the connection]
rgrinberg has quit [Ping timeout: 252 seconds]
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
muzzle has quit [Quit: Leaving.]
axiles has quit [Quit: Quitte]
dav has joined #ocaml
<companion_cube> flux: maybe the right idea is to use a matrix of codepoints
<companion_cube> rather than string typs
<companion_cube> types
<companion_cube> (if you look at the code)
badon has quit [Disconnected by services]
jwatzman|work has joined #ocaml
maurer has quit [Ping timeout: 240 seconds]
<Enjolras> hi
<Enjolras> I made a few tries and i am starting to understand what you mean about subtyping and GADT not working
<Enjolras> for instance, an existential type like this type test = Test [< `A | `B | `C ] t -> test doesn't work as expected
<Enjolras> if i try to unwrap test, and match with something of type [`A] t, it fails
badon_ has joined #ocaml
badon_ is now known as badon
<Enjolras> still the variance issue i guess
avsm has joined #ocaml
badon has quit [Remote host closed the connection]
yomimono has joined #ocaml
<flux> companion_cube, aren't there combined characters as well?
<flux> leading to just using a matrix of strings
<flux> also, works with ansi codes as well
<companion_cube> well, if you want to go general I guess you need a sum type then
<flux> functor!
<companion_cube> type point = UChar of int | Ansi of ansi_code * point | ...
<companion_cube> erf
<flux> what's the point, in the end?
dsheets has quit [Ping timeout: 256 seconds]
<flux> you're not going to do much processing to that data regardless its contents
<flux> it just needs to fits :)
thomasga has quit [Quit: Leaving.]
<companion_cube> indeed
<companion_cube> it needs to be of size 1
<companion_cube> then the main issue (which made me give up yesterday) is: given a string, how to split it into 'points' (of size 1)
<companion_cube> unicode lexing is a first step, of course
ygrek has quit [Ping timeout: 272 seconds]
<companion_cube> flux: if you're willing to functorize and provide a default instance for unicode strings, then yay!
badon has joined #ocaml
<flux> why does it need to split it into anything? perhaps I should read the code to see the problem :). given a string foo, it needs to know that the cursor shall move string_length str characters to the right. and that's it? and then there can be a matrix of strings and one can put whichever stuff into it. \e[1m;| could be one string in a cell, "h" "e" "l" "o" could be four adjacent strings.
<flux> and the basic element is a "character" that's actually a string, or perhaps "code" or "element" would be a better term..
thomasga has joined #ocaml
<companion_cube> oh, you can split into individual strings, indeed
<companion_cube> it might be costly, but anyway
<companion_cube> it would be nice also to be able to render to text, or to other formats (html?)
hay207 has joined #ocaml
adc90 has quit [Read error: Connection reset by peer]
<flux> I think a HTML renderer would be a completely different problem :)
adc90 has joined #ocaml
<flux> possibly with the same user-facing interface
<companion_cube> well yes, I meant with the same combinators
<companion_cube> otoh printbox needs to remain reasonably simple imho
maurer has joined #ocaml
mort___ has left #ocaml [#ocaml]
dsheets has joined #ocaml
asQuirreL has joined #ocaml
avsm has quit [Quit: Leaving.]
michatotol_ has quit [Remote host closed the connection]
rand000 has joined #ocaml
rgrinberg has joined #ocaml
thomasga has quit [Quit: Leaving.]
kushal has joined #ocaml
bobry has joined #ocaml
hay207 has quit [Ping timeout: 244 seconds]
hay207 has joined #ocaml
Simn has joined #ocaml
wildsebastian has joined #ocaml
maurer has quit [Ping timeout: 246 seconds]
Kakadu has joined #ocaml
thomasga has joined #ocaml
maurer has joined #ocaml
Bhavya has quit [Quit: Quit the channel]
lordkryss has joined #ocaml
sdothum has joined #ocaml
Haudegen has quit [Ping timeout: 276 seconds]
avsm has joined #ocaml
octachron has joined #ocaml
octachron has quit [Ping timeout: 264 seconds]
dav- has joined #ocaml
dav has quit [Ping timeout: 272 seconds]
oscar_toro has quit [Ping timeout: 264 seconds]
thomasga has quit [Quit: Leaving.]
octachron has joined #ocaml
Haudegen has joined #ocaml
thomasga has joined #ocaml
thomasga has quit [Quit: Leaving.]
rand000 has quit [Quit: leaving]
octachron has quit [Ping timeout: 250 seconds]
thomasga has joined #ocaml
sepp2k has joined #ocaml
b0mbastus has quit [Ping timeout: 265 seconds]
dav has joined #ocaml
dav- has quit [Ping timeout: 264 seconds]
jonludlam has joined #ocaml
asQuirreL has quit [Ping timeout: 240 seconds]
jwatzman|work has quit [Quit: jwatzman|work]
_andre has joined #ocaml
axiles has joined #ocaml
s1n4 has quit [Ping timeout: 246 seconds]
thomasga has quit [Quit: Leaving.]
Denommus has quit [Ping timeout: 244 seconds]
asQuirreL has joined #ocaml
asQuirreL has quit [Read error: Connection reset by peer]
asQuirreL has joined #ocaml
oscar_toro has joined #ocaml
octachron has joined #ocaml
asQuirreL has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
TheLemonMan has joined #ocaml
tmtwd has quit [Ping timeout: 252 seconds]
jabesed has joined #ocaml
ggole has joined #ocaml
thomasga has joined #ocaml
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
sdothum has joined #ocaml
tmtwd has joined #ocaml
yomimono has quit [Ping timeout: 244 seconds]
arj has joined #ocaml
thomasga has quit [Quit: Leaving.]
Haudegen has quit [Ping timeout: 265 seconds]
jonludlam has quit [Ping timeout: 265 seconds]
Hannibal_Smith has joined #ocaml
Denommus has joined #ocaml
jabesed has quit [Ping timeout: 264 seconds]
Haudegen has joined #ocaml
thomasga has joined #ocaml
BitPuffin|osx has quit [Ping timeout: 276 seconds]
siddharthv_away is now known as siddharthv
jabesed has joined #ocaml
thomasga has quit [Quit: Leaving.]
milosn has quit [Quit: leaving]
djellemah_ has joined #ocaml
thomasga has joined #ocaml
djellemah has quit [Ping timeout: 256 seconds]
thomasga has quit [Quit: Leaving.]
boegel has joined #ocaml
<boegel> oh hai!
badon has quit [Disconnected by services]
badon_ has joined #ocaml
<boegel> quick question, is there an equivalent in OCaml for something like "python -c 'import numpy'", to check whether an OCaml package is available (or not)?
<ggole> ocamlfind query, maybe
<boegel> ggole: that requires findlib, right?
badon__ has joined #ocaml
<companion_cube> well, why would you not have findlib ? :p
<ggole> Yeah, but you should probably have it
<ggole> (You may need to install it if you have a fresh install or switch.)
badon__ is now known as badon
<boegel> ggole: I'm compiling OCaml myself, and I want to look into a 'batteries included' type of installation, i.e. OCaml + findlib + packages in a single location
badon_ has quit [Ping timeout: 256 seconds]
<companion_cube> aww
<ggole> boegel: is opam not suitable?
<boegel> ggole: I'm installing OCaml such that it's version and package versions are fixed, and not updated later (unless OCaml (or selected packages) get reinstalled to another prefix)
<boegel> so I don't think opam is what I need
<ggole> I don't think doing it yourself would be any easier
<boegel> ggole: isn't the prime goal of opam keeping things up-to-date easily?
idegen has joined #ocaml
thomasga has joined #ocaml
<smondet> boegel: you can also use opam to fix the versions of everything (with `opam pin` or you own opam-repo)
<smondet> (s/you/your/
<ggole> boegel: it makes installing things (like findlib) dead simple
<ggole> You can also switch between different compiler versions, which is nice if you want to check out new language features that you may not be able to otherwise use
<boegel> smondet: opam compiles things from source, or installs binary packages?
<boegel> ggole: to try a new OCaml version, I'd just install everything in a new prefix (I'm not installing it for myself, but for our users on our supercomputer)
lordkryss has quit [Quit: Connection closed for inactivity]
<ggole> (Isn't that a lot of work?)
<ggole> Well, up to you.
<theblatte> boegel: it compiles from source
<smondet> boegel: everything from source
Hannibal_Smith has quit [Quit: Leaving]
<boegel> ggole: not really, since we automate things, just need to figure it out once (see http://hpcugent.github.io/easybuild)
<boegel> ok, then I guess I should reconsider opam
<boegel> I'm guessing opam itself is written in OCaml? :)
<thizanne> yup
<boegel> ok, great :P
<theblatte> I find this not ideal as you need to install ocaml to install opam to install ocaml :p
<boegel> theblatte: well, I'm fine with building OCaml (+ opam) from source
<boegel> just for fun, this is one of the reasons I need to install OCaml: http://users.ugent.be/~kehoste/QIIME.pdf (one of the dependencies is pplacer, which is written in OCaml)
jonludlam has joined #ocaml
<boegel> "Run `make lib-ext` as advertised by `./configure` if you don't have the dependencies installed and only need the opam binary (not the libs)."
<boegel> how do I know if I need the libraries?
<reynir> hrm, opam in debian testing (or unstable?) is still at 1.2.0
thomasga has quit [Quit: Leaving.]
thomasga has joined #ocaml
tmtwd has quit [Ping timeout: 246 seconds]
thomasga has quit [Quit: Leaving.]
darkf_ has joined #ocaml
darkf has quit [Disconnected by services]
darkf_ is now known as darkf
axiles has quit [Ping timeout: 244 seconds]
thomasga has joined #ocaml
thomasga has quit [Client Quit]
BitPuffin has joined #ocaml
ollehar1 has joined #ocaml
shinnya has joined #ocaml
tmtwd has joined #ocaml
axiles has joined #ocaml
<zozozo> is there a direct access to keyboard events in lablgtk ? I can't seem to find any
<adrien_znc> zozozo: in gdk or something
dav- has joined #ocaml
dav has quit [Ping timeout: 252 seconds]
freling has joined #ocaml
axiles has quit [Quit: Quitte]
<zozozo> adrien_znc: thx
kdef has joined #ocaml
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
<boegel> so, binaries for stuff installed with opam go to $OPAMROOT/system/bin ?
jabesed has quit [Ping timeout: 250 seconds]
jabesed has joined #ocaml
jabesed has quit [Ping timeout: 258 seconds]
<boegel> the opam --help is broken; it mentions a 'config' subcommand, but that just yields "opam: Missing subcommand. Valid subcommands are ..."
palomer has joined #ocaml
bobry has quit [Quit: Connection closed for inactivity]
<Drup> config is not a subcommand, it's a command
<Drup> or, alternatively, config takes subsubcommands ...
agarwal1975 has joined #ocaml
<boegel> Drup: you mean, I should run 'config' rather than 'opam config'?
<boegel> Drup: ah, no, I see now, my bad
<boegel> I should be using 'opam config <subcmd>'
* boegel whacks himself in the head
avsm has quit [Quit: Leaving.]
darkf has quit [Quit: Leaving]
thomasga has joined #ocaml
octachron has quit [Quit: Leaving]
Cyanure has joined #ocaml
thomasga has quit [Quit: Leaving.]
wildsebastian has quit [Remote host closed the connection]
thomasga has joined #ocaml
Cyanure has quit [Read error: Connection reset by peer]
struktured has quit [Ping timeout: 265 seconds]
<boegel> is there a way to control where OPAM downloads source tarballs too, and/or to provide locations where they were downloaded before (so they don't get redownloaded)?
milosn has joined #ocaml
<Drup> 1) opam caches tarballs, so no re-download
<boegel> Drup: caches them where?
<Drup> 2) you could create your own opam-repository to really control both location and versions
dav- is now known as dav
<Drup> .opam/archives, iirc
<boegel> hmm, ok
<boegel> thx
palomer has quit [Quit: palomer]
Cyanure has joined #ocaml
sepp2k has quit [Ping timeout: 256 seconds]
asQuirreL has joined #ocaml
palomer has joined #ocaml
A1977494 has joined #ocaml
asQuirreL has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
A19774941 has joined #ocaml
A1977494 has quit [Ping timeout: 246 seconds]
ollehar1 has quit [Ping timeout: 250 seconds]
rgrinberg has quit [Ping timeout: 265 seconds]
rgrinberg has joined #ocaml
<reynir> Drup: re furl, I think maybe the logic for Slash/NoSlash is reversed? NoSlash seems to add a slash at the end :)
<Drup> oh ?
<reynir> at least when I Furl.eval it
<Drup> ahah, you are right
<reynir> heh :)
<Drup> should MaybeSlash put a slash at the end or not ?
<reynir> Maybe :P
<Drup> ಠ_ಠ
<reynir> Sorry, I don't have an opinion on that :)
A19774941 has quit [Ping timeout: 245 seconds]
<Drup> fixed
<reynir> ^^
jeffmo has joined #ocaml
<reynir> hrm, is it safe to upgrade opam?
<Drup> yeah, I haven't wrote the test suite yet ...
A1977494 has joined #ocaml
<Drup> upgrade opam to what ? The lastest stable ? Sure
<reynir> yes
sepp2k has joined #ocaml
A19774941 has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
A1977494 has quit [Ping timeout: 256 seconds]
dubosec has quit [Ping timeout: 265 seconds]
jabesed has joined #ocaml
slash^ has joined #ocaml
thegameg has joined #ocaml
mcclurmc has quit [Ping timeout: 276 seconds]
dav- has joined #ocaml
tmtwd has quit [Ping timeout: 252 seconds]
avsm has joined #ocaml
dav has quit [Ping timeout: 255 seconds]
freling has quit [Quit: Leaving.]
tmtwd has joined #ocaml
ncthom91 has joined #ocaml
ollehar1 has joined #ocaml
<ollehar1> test
<ollehar1> can't install ppx_tools with 4.02+modular-implicits
<Drup> that is not very surprising
<ollehar1> no?
<Drup> I think there is a patch in ppx_tools's bugtracker
<ncthom91> hey all. Has anybody here used ocamllex/ocamlyacc for parsing HTML? I know HTML is a particularly unusual grammar, but if you ignore the error-friendliness you can simplify things considerably
<Drup> there are things
<Drup> not of them are done with ocamllex/ocamlyacc, though
<Drup> there is a sloppy html parser in ocamlnet, but it's for html 4
<Drup> and there are things based on xmlm, done by dsheets
<dsheets> doesn't really parse html... more like xml/html polyglot
<Drup> yes I know, but well ...
<dsheets> i.e. can't use it to build a crawler
<dsheets> html isn't context-free so i don't think yacc will work...
<Drup> you mean, the sloppy version ?
<dsheets> all versions of xml/html/sgml are context-free
<dsheets> erm *not* context-free
avsm has quit [Quit: Leaving.]
ollehar has quit [Remote host closed the connection]
<ncthom91> dsheets what does it mean for a grammar to be non context-free?
<ncthom91> didn't know it by that name
ollehar has joined #ocaml
tane has joined #ocaml
<dsheets> after looking, i retract my statement. well-formed sgml, html, and xml are probably context-free
<ollehar1> syntastic in vim can't handle [@@deriving]?
<dsheets> if you want to crawl, you can't rely on well-formedness, though
ollehar has quit [Remote host closed the connection]
ollehar has joined #ocaml
<ollehar1> test
jwatzman|work has joined #ocaml
<ollehar1> (sorry, problem with IRC)
jwatzman|work has quit [Client Quit]
<Drup> dsheets: I was really wondering how would xml be non context free
<Drup> (well formed)
<ncthom91> dsheets right, I was only curious about well-formed HTML. Interested in building a toy browser engine for fun + learning, definitely dont' need to support HTML to spec :)
<dsheets> i was just confused... when i tried to find a counterexample, i also failed and then started googling
<Drup> well, for valid html, heeeh, not sure
<dsheets> what is 'valid' when html5 defines broken junk as well-defined?
<Drup> I mean valid as "right attributes on the right tags"
<Drup> but you don't usually consider that as part of the grammar.
ingsoc1 has joined #ocaml
<bernardo1pc> /bin/sh: 1: ocamlfind: not found -> beuh
<bernardo1pc> opam does list findlib 1.5.5 installed :/
<Drup> bernardo1pc: the eval dance ?
ingsoc has quit [Ping timeout: 265 seconds]
arj has quit [Quit: Leaving.]
<bernardo1pc> right
<bernardo1pc> why is this the first time this backfires on me ?
<bernardo1pc> pure luck ?
<Drup> I don't know. You switched ?
<Drup> you do have the eval thingy in your .bashrc/.profile/.stuffrc ?
<bernardo1pc> no, I did not switch
<bernardo1pc> yes, I have eval in my .rc
<bernardo1pc> I just upgraded zarith + mirage-nox
<Drup> I don't know.
<bernardo1pc> and the first thing I tried to compile after was fubar
ollehar has quit [Remote host closed the connection]
ollehar has joined #ocaml
<bernardo1pc> well, I this happens again, I will try to make a test case
srcerer has quit [Quit: ChatZilla 0.9.91.1 [Firefox 37.0.2/20150415140819]]
ygrek has joined #ocaml
srcerer has joined #ocaml
Sim_n has joined #ocaml
ollehar has quit [Remote host closed the connection]
dsheets has quit [Ping timeout: 258 seconds]
ollehar1 has quit [Quit: ollehar1]
ollehar has joined #ocaml
Simn has quit [Ping timeout: 252 seconds]
ollehar has quit [Remote host closed the connection]
ollehar has joined #ocaml
simn__ has joined #ocaml
Sim_n has quit [Ping timeout: 252 seconds]
Simn has joined #ocaml
Simn has quit [Client Quit]
simn__ has quit [Ping timeout: 258 seconds]
agarwal1975_ has joined #ocaml
palomer has quit [Quit: palomer]
agarwal1975 has quit [Quit: agarwal1975]
agarwal1975_ is now known as agarwal1975
Hannibal_Smith has joined #ocaml
andreypopp has joined #ocaml
tmtwd has quit [Ping timeout: 256 seconds]
ingsoc1 has quit [Quit: Leaving.]
ingsoc has joined #ocaml
kushal has quit [Ping timeout: 252 seconds]
tmtwd has joined #ocaml
ollehar1 has joined #ocaml
<ollehar1> using two menhir projects in one project is not possible? having problems with Lexing module
<ollehar1> and types
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<ollehar1> Lexing wants to produce Parser.token, by I want MyParser.token :P
<ollehar1> or MyLexing, for that matter
tmtwd has quit [Ping timeout: 256 seconds]
ncthom91 has joined #ocaml
<reynir> ollehar1: regarding syntastic and [@@deriving], IIRC it uses camlp4 for its syntax checker by default. I recommend using the merlin checker instead
<ollehar1> reynir: good point
<reynir> the option is maybe let g:syntastic_ocaml_checkers=merlin
<flux> ollehar1, hmm, I don't have anything called Parser in my project, though it uses ocamlyacc instead of menhir, but as it should be drop-in-replacement, I don't think there should be any issue..
b0mbastus has joined #ocaml
<ollehar1> flux: ok
<ollehar1> hm
dubosec has joined #ocaml
<ollehar1> I will try again, might have been issue with all my renaming :P
penryu has left #ocaml ["WeeChat 1.1-dev"]
TheLemonMan has joined #ocaml
wwilly has joined #ocaml
MrScout has joined #ocaml
tmtwd has joined #ocaml
ollehar1 has quit [Ping timeout: 252 seconds]
Kakadu has quit [Quit: Page closed]
BitPuffin has quit [Ping timeout: 246 seconds]
swgillespie has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Denommus` has joined #ocaml
Denommus has quit [Ping timeout: 245 seconds]
swgillespie has joined #ocaml
Denommus` is now known as Denommus
tobiasBora has quit [Ping timeout: 258 seconds]
sgnb has quit [Read error: Connection reset by peer]
sgnb has joined #ocaml
tobiasBora has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<TheLemonMan> silly question here, I have a module where I've defined an 'interface' and it includes a type I don't want to repeat in the modules, how should I go ?
mcclurmc has joined #ocaml
degenerate-pyon is now known as terminal-pyon
swgillespie has joined #ocaml
<Unhammer> I think you may have to repeat it :/
Kakadu has joined #ocaml
<Unhammer> (unless you want it to be hidden, in which case you can do "type t" in the interface but "type t = something" in the implementation)
<Unhammer> "A common idiom is to have a module that is dedicated to type declarations, and make it have only a .mli"
thomasga1 has joined #ocaml
thomasga has quit [Ping timeout: 272 seconds]
thomasga1 has quit [Client Quit]
leafac has joined #ocaml
rand000 has joined #ocaml
ggole has quit []
slash^ has quit [Read error: Connection reset by peer]
willy_ has joined #ocaml
wwilly has quit [Ping timeout: 255 seconds]
asQuirreL has joined #ocaml
matason has quit []
<TheLemonMan> heh, that was unexpected
mcclurmc has quit [Remote host closed the connection]
thomasga has joined #ocaml
rgrinberg has quit [Ping timeout: 256 seconds]
A19774941 has left #ocaml [#ocaml]
jabesed has quit [Ping timeout: 272 seconds]
A1977494 has joined #ocaml
MercurialAlchemi has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
A1977494 has left #ocaml [#ocaml]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Simn has joined #ocaml
matason has joined #ocaml
ollehar has quit [Remote host closed the connection]
ingsoc1 has joined #ocaml
ingsoc has quit [Ping timeout: 255 seconds]
freling has joined #ocaml
leafac has quit [Ping timeout: 276 seconds]
mcclurmc has joined #ocaml
thomasga has quit [Quit: Leaving.]
thomasga has joined #ocaml
b0mbastus has quit [Ping timeout: 256 seconds]
ollehar has joined #ocaml
_andre has quit [Quit: leaving]
Algebr has joined #ocaml
<Algebr> how can I get opam to install a local opam package? this package does not exist in opam but I do have an opam file
<Drup> opam pin
<ygrek> if you keep it together with sources then `opam pin ` should do
<Algebr> ah right, I forgot about pin
jabesed has joined #ocaml
rgrinberg has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
swgillespie has joined #ocaml
<Drup> wow, this code is so ridiculously bad written
<Drup> seriously dinosaure u_u'
Cyanure has quit [Remote host closed the connection]
<rgrinberg> Drup: where is he again
<rgrinberg> is there a particular reason you want me to review this commit?
<Drup> it's supposed to fix some tls stuff, but it's doing a bunch of studd with conduit/cohttp that I don't understand
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<rgrinberg> it looks fine but i'll be honest and say that I don't know that much about conduit
<Drup> rgrinberg: it's to fix the first of jerome's issues: "Ocsigen_request_info.get_server_address is not implemented but is used by the reverse proxy;"
<rgrinberg> Drup: so where's teh implementation of get_server_address now
<Drup> are there no other way to do that ? It seems quite convoluted
swgillespie has joined #ocaml
<rgrinberg> so where is server_addr actually being set
<Drup> in the last commit
<rgrinberg> i don't see it :/
<Drup> address matched here
<Drup> and passed here
<Drup> yes, he's using the same name for two different things :]
<rgrinberg> it's called ai_addr
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
terminal-pyon has quit [Ping timeout: 255 seconds]
<Drup> rgrinberg: wouldn't be better if server_address was a Unix.sockaddr ?
swgillespie has joined #ocaml
<Drup> this whole code doesn't really make sense to me, why going through conduit and all that to get the inet adresse ?!
<rgrinberg> well conduit is the one that establishes the tcp connection i think
pyon has joined #ocaml
<rgrinberg> Drup: i must be retarded btw. the field that was added is called `server_addr` yet i don't see it set anywhere
<rgrinberg> your link showed ai_addr
<rgrinberg> oh this is the magic trick
<rgrinberg> nvm
<Drup> ok, you found it before I typed the whole answer :D
<rgrinberg> punning conditioned me to read code a certain way :/
<Drup> basically, it ended up being passe through the argument ~address of the handler function
<Drup> passed*
<rgrinberg> should this server_addr even be request scoped?
freling has quit [Quit: Leaving.]
willy_ has left #ocaml ["Leaving"]
Algebr has quit [Remote host closed the connection]
<rgrinberg> Drup: could you rebase that branch though? I want to see the whole diff
<Drup> sure
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
swgillespie has joined #ocaml
s1n4 has joined #ocaml
hay207 has quit [Ping timeout: 264 seconds]
MercurialAlchemi has quit [Ping timeout: 240 seconds]
Simn has quit [Quit: Leaving]
srcerer has quit [Read error: Connection timed out]
<rgrinberg> i want to see how get_server_address was implemented before
<rgrinberg> still, i think this stuff will work
tane has quit [Quit: Verlassend]
<rgrinberg> Drup: it probably doesn't make much sense to worry about aesthetics too much here
srcerer has joined #ocaml
<rgrinberg> Drup: maybe you've heard of the phrase "pissing in the wind"...
matason has quit []
<Drup> asthetics is not a problem
<Drup> code base littered with assert false waiting to explode on your face is.
<rgrinberg> yeah but in this case it works. obviously the assert false it totally out of place...
<Drup> well, the first one is just shitty code
<Drup> the second one is more worrying, because I don't really know how to remove it
<rgrinberg> s/assert false/invalid_arg "fuck you dinosaure"/ perhaps?
<rgrinberg> s/invalid_arg/failwith/
<Drup> well, no
<rgrinberg> yeah i've been staring at it
<rgrinberg> the only thing i've realized is that i'm getting old
<rgrinberg> b/c i can't even fucking tell which match statement it belongs to
<Drup> ahahah
<rgrinberg> or is it the indentation that's messed up?
<Drup> rgrinberg: I push the code cleanup commit
rand000 has quit [Ping timeout: 252 seconds]
rand000 has joined #ocaml
jonludlam has quit [Ping timeout: 264 seconds]
<rgrinberg> yeah i'm not totally sure here..
<rgrinberg> sorry Drup my unix beard is failing me
<rgrinberg> i like dinosaure's bravery though
<rgrinberg> except i'm not sure why he didn't just use List.hd
<Drup> rgrinberg: to extract the content of ai_addr directly, I guess
<rgrinberg> i'm definitely getting old...
Denommus` has joined #ocaml
<rgrinberg> I'd still name the darn thing and then put the pattern in the let e.g. let ... = List.hd xxx
tsumetai has quit [Ping timeout: 244 seconds]
<Drup> that's a style choice, I don't care.
<Drup> ok, pushing on the main branch
<rgrinberg> it's not a style choice when you add an assert false to the pattern
<rgrinberg> but anyway it's off topic
Denommus has quit [Ping timeout: 272 seconds]
<Drup> rgrinberg: you will have an assert false anyway, there are two variants in ai_addr
<Drup> that is the main issue
<Drup> the list is barely a problem
tmtwd has quit [Ping timeout: 246 seconds]
<rgrinberg> Drup: oh yeah
Denommus` has quit [Ping timeout: 264 seconds]
<rgrinberg> Drup: does ocsigen support proxying on a unix domain socket?
<Drup> dinosaure claim that it doesn't
Denommus has joined #ocaml
manizzle has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
asQuirreL has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ygrek has quit [Ping timeout: 256 seconds]
axiles has joined #ocaml
swgillespie has joined #ocaml
<Drup> the remaining bullet point is the infamous awake parameter
ingsoc1 has quit [Ping timeout: 256 seconds]
<rgrinberg> i thought i addressed it
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<rgrinberg> there's so much other dead code
<Drup> btw
<Drup> does anyone know is where is alain frish's dead code analyzer and if it's still working ?
<Drup> -is
tmtwd has joined #ocaml
<Drup> "This project has just been started. Nothing is ready yet."
<Drup> well.
tinhead has joined #ocaml
mcclurmc has joined #ocaml
ingsoc has joined #ocaml
rgrinberg has quit [Ping timeout: 256 seconds]
Hannibal_Smith has quit [Quit: Leaving]
badon has quit [Quit: Leaving]
swgillespie has joined #ocaml
jonludlam has joined #ocaml
ontologiae_ has joined #ocaml
Gama11 has quit [Read error: Connection reset by peer]
jabesed has quit [Ping timeout: 264 seconds]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
milosn has quit [Quit: Reconnecting]
milosn has joined #ocaml
s1n4 has quit [Ping timeout: 250 seconds]
tsumetai has joined #ocaml
Kakadu has quit [Remote host closed the connection]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
jabesed has joined #ocaml
<dmbaturin> Lwt_log adventures, ep2: on a machine with normal syslog, info and debug messages created with the syslog logger don't make it to the log either. logger -p user.info something works fine.
<dmbaturin> * it works on the journald machine as well.
<Drup> are they printed on stderr with the default logger ?
jeffmo has quit [Quit: jeffmo]
dav has joined #ocaml
<dmbaturin> Drup: Just checked. No, they aren't.
<Drup> (I should have directed you there sooner ~~)
dav- has quit [Ping timeout: 264 seconds]
Algebr has joined #ocaml
ygrek has joined #ocaml
sepp2k has quit [Quit: Leaving.]
Denommus` has joined #ocaml
ontologiae_ has quit [Ping timeout: 256 seconds]
Denommus has quit [Ping timeout: 272 seconds]
tmtwd has quit [Read error: Connection reset by peer]
struktured has joined #ocaml
<dmbaturin> Drup: Thanks, looks like Lwt_log.add_rule "*" Lwt_log.Debug did the trick.
<Algebr> If multicore does indeed come, will lwt/async become irrelevant or need a massive refactor?
BitPuffin|osx has joined #ocaml
<ygrek> no
<ygrek> is orthogonal
<Drup> well, yes and no
<Drup> Lwt is basically incompatible with fibers :(
thomasga has quit [Quit: Leaving.]
jabesed has quit [Ping timeout: 250 seconds]
rgrinberg has joined #ocaml
freling has joined #ocaml
<companion_cube> Algebr: people use lightweight threads or continuations even in multicore languages
tmtwd has joined #ocaml
<ygrek> Drup, what that can possible mean?
<ygrek> lwt is a way to organize fibers
<ygrek> one problem wrt multicore in lwt is that it doesn't support multiple threads - but I believe it is fixable
<Drup> ygrek: I meant multicore's fibers, as in the one that migrates across domains
<Drup> well, it's rather equivalent to what you said
<ygrek> you mean native OS thread?
<Drup> yeah
<ygrek> I don't feel it's a problem, lwt for example could just retain current model, but allow to run many event loops in many threads - one event loop per thread
<ygrek> another option is to go fancy and to manage all threads hidden behind lwt
freling has quit [Quit: Leaving.]
ncthom91 has joined #ocaml
dubosec has quit [Quit: Leaving]
swgillespie has joined #ocaml
mfp has quit [Read error: Connection reset by peer]
badkins has joined #ocaml
mfp has joined #ocaml
avsm has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
Denommus has joined #ocaml
rgrinberg has quit [Ping timeout: 264 seconds]
tinhead has quit [Remote host closed the connection]
<yminsky> We were discussing with the OCaml Labs folk recently, and I agree with ygrek. Lwt (and Async) can just have one fiber per domain that runs the scheduler. You wouldn't use much of the fiber framework, but the ability to have multiple fibers in different domains would be useful in an Lwt/Async world.
<yminsky> Now, it may be that people feel less need for Lwt or Async once we have fibres.... I'm less sure about that.
<Algebr> What do fibers exactly mean?
<yminsky> The thing that Async gives you (and to a lesser degree Lwt does the same) is a clear understanding of what interleavings are possible. That's precisely what you'd lose going straight to fibers. You'd have the usual threading story.
rgrinberg has joined #ocaml
<yminsky> Fibers are the thread-like things that are what gets multiplexed over each domain. Think of domain as the heavy-weight context, with a s
<yminsky> Think, one domain per processor, many fibers per domain.
<Algebr> yminsky: thank you
<yminsky> (and to deal with crappy non-blocking semantics on UNIX, multiple threads per domain, but one lock.)
<ygrek> one runtime lock you mean?
<yminsky> They're called fibers to avoid confusion with threads. But some confusion on this point is I think inevitable...
adc90 has quit [Read error: Connection reset by peer]
<yminsky> Yes, one runtime lock per domain.
adc90 has joined #ocaml
<ygrek> ok, now that makes sense
<ygrek> terminology
<yminsky> Indeed.
<yminsky> The interesting bit of the design is that the fiber scheduler is actually completely up to user-land.
<yminsky> (by which I mean, not mandated by the runtime.)
<ygrek> but there will be one in runtime?
<yminsky> Algebraic effects (think, souped-up exceptions) are used for interrupting and restarting fibers.
<ygrek> I guess it could be more efficient - no?
<yminsky> I'm sure they're going to have some example schedulers. But there will be nothing built in.