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
Algebr has quit [Ping timeout: 264 seconds]
pyon is now known as effectful-pyon
Algebr has joined #ocaml
<Algebr> Is there a way to search for functions by signature?
uris77 has quit [Ping timeout: 250 seconds]
<companion_cube> it's pretty nice
<companion_cube> it would be nice to have it locally installed though
<Drup> yeah, I have a plan to integrate that into ocp-browse
<Drup> (also, I don't like it's unification process)
<Drup> (or absence of it, rather)
<Drup> the types are often not really respected
<companion_cube> ohhhhhhhhh
<companion_cube> this would be awesome to have in ocp-browse, really
MrScout has quit [Ping timeout: 245 seconds]
grb has joined #ocaml
AltGr has joined #ocaml
<Drup> (btw, ocamlscope is ocsigen powered n__n)
ontologiae has joined #ocaml
<companion_cube> Drup: why this smiley, aren't you happy? ^^
<Drup> well it's a happy smiley :]
<companion_cube> bitemyapp: gosh, the last line is a total troll
<Drup> only the last line ? :D
<companion_cube> the previous ones are sarcasm :)
<companion_cube> I might reuse "cochoice Yoder lemmings"
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
jonludlam has quit [Ping timeout: 264 seconds]
<dmbaturin> That repository doesn't exist. Guess I'll have to install ocaml instead.
<Drup> that's ... not how I would have wrote it.
<dmbaturin> http://www.open.ou.nl/bhr/HeliumCompiler.html I think this is where the monohaskell repository has moved.
<Drup> "Helium implements almost full Haskell, where the most notable difference is the absence of type classes."
<Drup> ahah
ontologiae has quit [Ping timeout: 265 seconds]
travisbrady has quit [Quit: travisbrady]
manud has joined #ocaml
<Drup> companion_cube: about ocamlscope+ocp-browser ... I don't even think it's very hard, since all the db building stuff is extractable from https://github.com/camlspotter/ocamloscope
<companion_cube> wow, assemblage's code is *clean*
<Drup> well, bunzli's code usually is
<Drup> not very documented, but clean
<Drup> (I'm talking about code documentation, not interface documentation)
<companion_cube> the .ml, you mean
<companion_cube> right
<companion_cube> it's not only Bünzli's work, it's also thomasga
<Drup> last version is mostly bunzli's
ontologiae has joined #ocaml
grb has quit [Remote host closed the connection]
grb has joined #ocaml
<Jefffrey> Good night all
Jefffrey has quit [Quit: Leaving...]
Guest3408 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
The_Mad_Pirate has quit [Quit: Konversation terminated!]
jwatzman|work has quit [Quit: jwatzman|work]
RossJH has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
paolooo has joined #ocaml
bytbox has quit [Remote host closed the connection]
liweijian has joined #ocaml
ptc has joined #ocaml
swgillespie has joined #ocaml
ptc is now known as Guest50750
Algebr has quit [Ping timeout: 245 seconds]
manud has quit [Quit: manud]
destrius has left #ocaml [#ocaml]
manud has joined #ocaml
regnat has quit [Quit: ZNC - http://znc.in]
Guest50750 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ontologiae has quit [Ping timeout: 256 seconds]
q66 is now known as q66[ahomcnml]
inr has quit [Read error: Connection reset by peer]
inr has joined #ocaml
jave has quit [Ping timeout: 252 seconds]
paolooo has quit [Ping timeout: 246 seconds]
jave has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Algebr has joined #ocaml
yminsky has quit [Quit: yminsky]
uris77 has joined #ocaml
ygrek_ has joined #ocaml
destrius has joined #ocaml
destrius has quit [Quit: leaving]
destrius has joined #ocaml
yminsky has joined #ocaml
mcc has joined #ocaml
grb has quit [Remote host closed the connection]
shinnya has quit [Ping timeout: 240 seconds]
liweijian has quit [Quit: Textual IRC Client: www.textualapp.com]
q66[ahomcnml] has quit [Quit: Leaving]
The_Mad_Pirate has joined #ocaml
lwj has joined #ocaml
chinglish has joined #ocaml
lupine has quit [Ping timeout: 272 seconds]
Algebr has quit [Remote host closed the connection]
<lwj> Does anybody familiar with postgresql-ocaml?
yminsky has quit [Quit: yminsky]
lwj has quit [Quit: Page closed]
yminsky has joined #ocaml
swgillespie has joined #ocaml
Sorella has quit [Quit: Connection closed for inactivity]
darkf has joined #ocaml
lordkryss has quit [Quit: Connection closed for inactivity]
lupine has joined #ocaml
Antoine59 has quit [Ping timeout: 246 seconds]
effectful-pyon is now known as ungrateful-pyon
yminsky has quit [Quit: yminsky]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
struktured has quit [Ping timeout: 245 seconds]
mearnsh has quit [Ping timeout: 272 seconds]
mearnsh has joined #ocaml
manud has quit [Quit: manud]
moei has joined #ocaml
c74d3 has quit [Read error: Connection reset by peer]
c74d has joined #ocaml
dlat has quit [Ping timeout: 245 seconds]
iorivur has joined #ocaml
swgillespie has joined #ocaml
badkins has joined #ocaml
iorivur has quit [Ping timeout: 255 seconds]
myyst has joined #ocaml
myst has quit [Ping timeout: 250 seconds]
SomeDamnBody has joined #ocaml
ptc has joined #ocaml
c74d has quit [Read error: Connection reset by peer]
ptc is now known as Guest11406
Guest11406 has quit [Client Quit]
lupine has quit [Quit: ZNC - http://znc.in]
uris77 has quit [Quit: leaving]
lupine has joined #ocaml
<whitequark> Drup: >camlspotter
<whitequark> I am not even going to look at the code for my own sanity
badkins has quit []
reem has joined #ocaml
MrScout has joined #ocaml
MrScout has quit [Remote host closed the connection]
mcc has quit [Quit: Leaving]
destrius has quit [Quit: leaving]
destrius has joined #ocaml
Axle has joined #ocaml
c74d has joined #ocaml
SomeDamnBody has quit [Ping timeout: 246 seconds]
brendan has quit [Ping timeout: 264 seconds]
sivoais has quit [Remote host closed the connection]
iorivur has joined #ocaml
Axle has quit [Quit: Leaving.]
c74d has quit [Remote host closed the connection]
iorivur has quit [Ping timeout: 245 seconds]
c74d has joined #ocaml
<vanila> what's the fastest high level language?
reem has quit [Remote host closed the connection]
SomeDamnBody has joined #ocaml
<dmbaturin> vanila: What is a high level language? How is absolute language speed measured?
<whitequark> "fastest" is not a meaningful way to describe a language
<vanila> if you wanted to write a program that runs very fast
reem has joined #ocaml
<dmbaturin> What does it mean for a program to run very fast?
brendan has joined #ocaml
<vanila> what the fuck
<dmbaturin> Performance is not a scalar.
ygrek_ has quit [Ping timeout: 245 seconds]
sivoais has joined #ocaml
<dmbaturin> Which one is faster, one that responds to events in guaranteed <0.1ms, or one that can process a 100k elements array in <1s (but its response latency varies from 10 to 100ms)?
<dmbaturin> Which one is faster, one that can process a 100k array of floats in <1s but takes seconds to do the same for strings, or one that has it backwards?
<vanila> yea youre right good point
domsj has quit [Ping timeout: 264 seconds]
keen__________60 has quit [Read error: Connection reset by peer]
keen__________60 has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
iorivur has joined #ocaml
nullcat has joined #ocaml
psy_ has quit [Ping timeout: 255 seconds]
ebzzry has joined #ocaml
ebzzry has quit [Remote host closed the connection]
chinglish has quit [Ping timeout: 264 seconds]
ebzzry has joined #ocaml
MercurialAlchemi has quit [Remote host closed the connection]
ygrek_ has joined #ocaml
MercurialAlchemi has joined #ocaml
iorivur has quit [Ping timeout: 246 seconds]
axiles has quit [Ping timeout: 245 seconds]
reem has quit [Remote host closed the connection]
iorivur has joined #ocaml
oscar_toro has quit [Ping timeout: 245 seconds]
baz_ has joined #ocaml
baz_ has quit [Client Quit]
axiles has joined #ocaml
reem has joined #ocaml
reem has quit [Remote host closed the connection]
axiles has quit [Ping timeout: 265 seconds]
axiles has joined #ocaml
oscar_toro has joined #ocaml
iorivur has quit [Ping timeout: 244 seconds]
AlexRussia has quit [Ping timeout: 246 seconds]
AlexRussia has joined #ocaml
vanila has quit [Quit: Leaving]
domsj has joined #ocaml
oriba has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
AltGr has left #ocaml [#ocaml]
AltGr has joined #ocaml
reem has joined #ocaml
Haudegen has quit [Ping timeout: 264 seconds]
reem has quit [Ping timeout: 245 seconds]
ollehar has joined #ocaml
Antoine59 has joined #ocaml
Haudegen has joined #ocaml
Simn has joined #ocaml
SomeDamnBody has quit [Ping timeout: 265 seconds]
matason has joined #ocaml
SomeDamnBody has joined #ocaml
iorivur has joined #ocaml
zpe has quit [Remote host closed the connection]
dav_ has joined #ocaml
dav has quit [Ping timeout: 240 seconds]
iorivur has quit [Ping timeout: 252 seconds]
AlexRussia has quit [Ping timeout: 264 seconds]
AlexRussia has joined #ocaml
<flux> interesting. typerex is trying to sell commercial access to their memory profiler, I wonder if it really sells.
SomeDamnBody has quit [Ping timeout: 244 seconds]
<flux> their free online tier is probably useful to many, and it is the need to hide the data that may bring commercial users..
<Unhammer> pay with money or with data
SomeDamnBody has joined #ocaml
<flux> the most annoying part from my point of view is that when you need it, it could be down, without recourse
wagle has joined #ocaml
cago has joined #ocaml
paradoja has joined #ocaml
<wagle> comments cant have unterminated string literals? (looks terminated to me)
jonludlam has joined #ocaml
oriba has quit [Quit: oriba]
mort___ has joined #ocaml
reem has joined #ocaml
<AltGr> wagle: yes, so that you can consistently comment out a block of code containing "*)"
Kakadu has joined #ocaml
<wagle> the parsing unravels so that it doesnt blame the right spot
octachron has joined #ocaml
<wagle> (trying to install prooftree with homebrew)
reem has quit [Ping timeout: 245 seconds]
zpe has joined #ocaml
<MercurialAlchemi> flux: it's not so easy to combine OSS and a good business model
<MercurialAlchemi> but people need to eat :)
<flux> mercurialalchemi, yeah. I think I would be happy if the typerex folks got some food as well.
ghostpl has joined #ocaml
<MercurialAlchemi> maybe we should think about a "global license" for developers
<flux> ?
<MercurialAlchemi> "all you can eat" of OSS software against your contribution to a fund, money redistributed to developers based on usage
AltGr has left #ocaml [#ocaml]
<adrien_znc> tell that to GNU
* MercurialAlchemi eats a gnu
dav_ has quit [Read error: Connection reset by peer]
Kakadu has quit [Ping timeout: 246 seconds]
Kakadu has joined #ocaml
SomeDamnBody has quit [Ping timeout: 244 seconds]
<wagle> whats wrong with the following: http://pastebin.com/jpe8MJYa
psy_ has joined #ocaml
ungrateful-pyon has quit [Ping timeout: 264 seconds]
dav has joined #ocaml
<rks`> wagle: {foo| is a string delimiter
<rks`> so {cheated| on line 65 of your example
<rks`> s/example/paste
<rks`> starts a string
<rks`> and never closes it
<wagle> wow, ok thanks
larhat has joined #ocaml
_andre has joined #ocaml
psy_ has quit [Read error: No route to host]
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
dsheets has quit [Ping timeout: 245 seconds]
<wagle> did ocaml v4 change how comments are handled? trying to get prooftree to compile
ghostpl has quit [Remote host closed the connection]
<adrien_znc> wagle: iirc there are now more syntax and since ocaml parses the content of comments, it can stumble on one of these new syntaxes
<wagle> ah thanks
ghostpl has joined #ocaml
lordkryss has joined #ocaml
psy_ has joined #ocaml
reem has joined #ocaml
reem has quit [Ping timeout: 245 seconds]
ghostpl has quit [Remote host closed the connection]
skinkitten has joined #ocaml
ghostpl has joined #ocaml
dsheets has joined #ocaml
cago has quit [Quit: cago]
dch has left #ocaml [#ocaml]
Antoine59 has quit [Ping timeout: 240 seconds]
captain_furious has joined #ocaml
Thooms has joined #ocaml
Antoine59 has joined #ocaml
ygrek_ has quit [Ping timeout: 252 seconds]
darkf has quit [Read error: Connection reset by peer]
darkf has joined #ocaml
iorivur has joined #ocaml
oscar_toro has quit [Ping timeout: 256 seconds]
captain_furious has quit [Quit: Leaving.]
tane has joined #ocaml
Haudegen has quit [Ping timeout: 265 seconds]
ontologiae has joined #ocaml
domsj` has joined #ocaml
Haudegen has joined #ocaml
domsj has quit [Ping timeout: 252 seconds]
iorivur has quit [Quit: No Ping reply in 180 seconds.]
iorivur has joined #ocaml
Guest99715 has joined #ocaml
Submarine has joined #ocaml
oriba has joined #ocaml
ghostpl has quit [Remote host closed the connection]
ollehar has quit [Quit: ollehar]
myyst is now known as myst
yomimono has joined #ocaml
Thooms has quit [Ping timeout: 255 seconds]
ollehar has joined #ocaml
reem has joined #ocaml
reem has quit [Ping timeout: 245 seconds]
yminsky has joined #ocaml
Guest99715 is now known as pyon`
pyon` is now known as inf-groupoid
inf-groupoid has quit [Changing host]
inf-groupoid has joined #ocaml
inf-groupoid is now known as pyon
<Drup> wagle: it's ocaml 4.02
ebzzry has quit [Remote host closed the connection]
oscar_toro1 has joined #ocaml
oscar_toro has joined #ocaml
oscar_toro1 has left #ocaml [#ocaml]
c74d has quit [Ping timeout: 250 seconds]
c74d has joined #ocaml
jonludlam has quit [Quit: Coyote finally caught me]
c74d has quit [Remote host closed the connection]
c74d has joined #ocaml
ggole has joined #ocaml
ghostpl has joined #ocaml
yminsky has quit [Quit: yminsky]
ghostpl has quit [Ping timeout: 256 seconds]
psy_ has quit [Remote host closed the connection]
gargaml has joined #ocaml
travisbrady has joined #ocaml
Thooms has joined #ocaml
Sorella has joined #ocaml
shinnya has joined #ocaml
ghostpl has joined #ocaml
Pepe_ has quit [Read error: Connection reset by peer]
waneck has joined #ocaml
darkf has quit [Quit: Leaving]
ghostpl has quit [Remote host closed the connection]
ghostpl has joined #ocaml
reem has joined #ocaml
reem has quit [Ping timeout: 264 seconds]
ghostpl has quit [Remote host closed the connection]
SomeDamnBody has joined #ocaml
oriba_ has joined #ocaml
bytbox has joined #ocaml
ghostpl has joined #ocaml
oriba has quit [Ping timeout: 245 seconds]
ghostpl has quit [Remote host closed the connection]
tani has joined #ocaml
mort___ has left #ocaml [#ocaml]
tane has quit [Ping timeout: 252 seconds]
lordkryss has quit [Quit: Connection closed for inactivity]
ghostpl has joined #ocaml
larhat1 has joined #ocaml
larhat has quit [Read error: Connection reset by peer]
ghostpl has quit [Ping timeout: 250 seconds]
oriba_ is now known as oriba
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
ghostpl has joined #ocaml
Rebelion has joined #ocaml
<MercurialAlchemi> companion_cube: I'll look at your CR this evening
<MercurialAlchemi> but we don't want to expose all these modules, I think
<MercurialAlchemi> er, s/CR/PR
reem has joined #ocaml
<MercurialAlchemi> (sorry I haven't gotten around to it earlier, work doesn't stop at 5 this week :( )
ghostpl has quit [Remote host closed the connection]
ptc has joined #ocaml
ptc is now known as Guest47930
reem has quit [Ping timeout: 245 seconds]
Pepe_ has joined #ocaml
yminsky has joined #ocaml
yminsky has quit [Client Quit]
ghostpl has joined #ocaml
ghostpl has quit [Remote host closed the connection]
araujo has joined #ocaml
araujo has joined #ocaml
araujo has quit [Changing host]
ghostpl has joined #ocaml
slash^ has joined #ocaml
uris77 has joined #ocaml
lordkryss has joined #ocaml
<companion_cube> MercurialAlchemi: why not? why not expose the parser?
<companion_cube> (maybe those modules can be internal modules, I don't know, but they *must* be present in the lib)
<companion_cube> (otherwise it won't link)
<MercurialAlchemi> companion_cube: oh, yes
<MercurialAlchemi> it's my fault, really
<MercurialAlchemi> I did the release with "oh it builds and tests passes, therefore it works"
<MercurialAlchemi> I'll put them as internal modules and do some testing this evening
<companion_cube> yes, you should try to #require the lib ;)
<MercurialAlchemi> no, I should get a 4.01 clean opam env, opam pin my local copy and test with that
<MercurialAlchemi> it's all the more unfortunate that we already got the same kind of issues with missing modules in an earlier release
<MercurialAlchemi> :(
<MercurialAlchemi> -> no more Monday morning releases before the appropriate theine level has been reached
<Drup> (by curiosity, what is broken ? :D)
<MercurialAlchemi> Drup: toml
<MercurialAlchemi> it's missing clearly useless modules such as the parser
<Drup> ah, right, yes, I noticed that too
<MercurialAlchemi> and the META deps are fucked
<Drup> that's not the first time, isn't it ?
<MercurialAlchemi> no, that's what I was saying
axiles has quit [Quit: Quitte]
<MercurialAlchemi> Maybe I should make a 'release workflow' doc on the wiki
<MercurialAlchemi> starting with "if it compiles it works" is as true as "if the package builds, it works"
<Drup> recently, I added that in tyxml for future maintainers : https://github.com/ocsigen/tyxml/blob/master/RELEASE.md
<Drup> it's rather stupidity proof, assuming the oasis file didn't get completely fucked up before, which is rather hard now
ontologiae has quit [Ping timeout: 245 seconds]
<MercurialAlchemi> It doesn't include "test your release in a clean switch", though
<Drup> yeah, because CI is there for that
<MercurialAlchemi> fucking up oasis is really easy, actually
<Drup> if you don't CI, you deserve to screw up :D
<MercurialAlchemi> separate the plugins by '\n' instead of ',', and notice how your META file is not created
<Drup> and by CI, I mean "build, install and install some dependencies"
<MercurialAlchemi> (silently)
<Drup> reversed-dependencies*
badkins has joined #ocaml
uris77 has quit [Ping timeout: 245 seconds]
<MercurialAlchemi> well, we have some CI too
<MercurialAlchemi> I'm not really sure what the travis file looks like though
<Drup> it doesn't "opam pin && opam install"
<Drup> if I may, MercurialAlchemi
<Drup> the interface is ugly.
<Drup> https://github.com/mackwic/To.ml/blob/master/src/toml.mli#L54-L76 that's a C interface, not a Caml one
<MercurialAlchemi> well, I don't disagree
<MercurialAlchemi> I'll point out the existence of helper functions further down
<Drup> I don't really see any better
madroach has quit [Ping timeout: 264 seconds]
<MercurialAlchemi> line 196 and below
<Drup> they are still unsafe and still raise exceptions
<Drup> it's not better
<Drup> it's the same
<MercurialAlchemi> I agree that the unsafety sucks
madroach has joined #ocaml
<Drup> It's painfully trivial to define something safe given the structure of toml, it's a sum type with Tables
<Drup> you don't even need type trickery for that
<Drup> I remember trying to look at to.ml but didn't remember my opinion about it, well, at least now I do: the interface needs to be rewritten from scratch because it's completely useless at this point
<MercurialAlchemi> you mean `Value | `Error?
<Drup> I mean Bool of bool | List of value list | Table of value Table.t | ... and so on
<MercurialAlchemi> well, we have that
<Drup> why is it not expose ?
<Drup> exposed*
<Drup> Instead, we have this stupid unsafe cast functions
<MercurialAlchemi> it used to be, in v1
<Drup> pattern matching was overrated ? :D
<MercurialAlchemi> well, I can understand want to abstract the type, with the toml format being in gestation
<MercurialAlchemi> "wanting"
<Drup> you can still expose a sum type
ghostpl has quit [Remote host closed the connection]
<Drup> as a private thing
<Drup> and you give a projection to
<Drup> to it*
<Drup> you can then dissociate your internal type from the "view" type
<MercurialAlchemi> how does that help?
<Drup> you still have pattern matching.
<Drup> you are not consistently stupidely catching exceptions
<MercurialAlchemi> but then you shoot yourself if you have nested tables
<Drup> ?
<Drup> I don't see how
zpe has quit [Remote host closed the connection]
<MercurialAlchemi> say you have val get : Toml.key -> YourSumType
zpe has joined #ocaml
<MercurialAlchemi> Now, I have a nested table [foo.bar.baz]
<MercurialAlchemi> I need to chain calls to 'get' in order to find a value in 'baz'
madroach has quit [Ping timeout: 264 seconds]
<MercurialAlchemi> the current interface lets you do that with some pain (and exceptions)
<Drup> or you project everything to your view type
<MercurialAlchemi> a generic Toml.get forces you to pattern match every step of the way
<Drup> (but in your case, a view type has no point, the sumtype is so trivial and is not going to change, except if toml itself changes)
<MercurialAlchemi> but it's very possible toml changes
<MercurialAlchemi> there is a strong chance that dates disappear in the next revision, for instance
zpe has quit [Ping timeout: 256 seconds]
<MercurialAlchemi> what would be more interesting, IMHO, would be to avoid having to |> in the first place
<MercurialAlchemi> "give me foo.bar.baz and I'll give you a result_or_error_or_missing value"
<MercurialAlchemi> and toml_deriving as well
<Drup> doesn't really help with the fact that the interface sucks
chinglish has joined #ocaml
madroach has joined #ocaml
gargaml has quit [Quit: WeeChat 1.1.1]
<MercurialAlchemi> Drup: the exception stuff, which you strongly object to, is caused by the need for piping (I think?)
<Drup> I argue that pattern matching is superior regardless
<Drup> if you really want to do things like that
<Drup> then use lenses
<companion_cube> error monad!
<Drup> (and an error monad)
octachron has quit [Quit: Leaving]
domsj` has quit [Ping timeout: 252 seconds]
<companion_cube> pippijn: Drup tells me you've done some work on applicative parsers in OCaml?
<Drup> on parser combinators*
<companion_cube> does it make sense for other parsers?
<companion_cube> (the term "applicative")
<Drup> I have no idea, I'm not interested :D
<companion_cube> that's so cool
<MercurialAlchemi> Drup, companion_cube: thanks for the feedback
<MercurialAlchemi> will see about make the interface more palatable
ghostpl has joined #ocaml
<pippijn> Drup: were you talking about the GADT thing?
<Drup> I don't remember, I only remember you tried to make some parser combinator thing fast and never really succeeded.
<pippijn> you mean the packet parsing thing?
<pippijn> that was quite fast
<companion_cube> is there some code on the web?
<pippijn> somewhere in history
<pippijn> I'll dig it out
ghostpl has quit [Remote host closed the connection]
reem has joined #ocaml
Haudegen has quit [Ping timeout: 246 seconds]
<companion_cube> oh, ok, a specialized parser
<pippijn> yes
<Drup> hum, there was something else
<Drup> or maybe I'm thinking of someone else
<Drup> bah, don't remember
<pippijn> I have lots..
<pippijn> I don't know which thing you might be talking about
<pippijn> when did I make it?
<Drup> a long time ago
<Drup> in a far aw^W no, not that
<pippijn> 2 years?
<pippijn> more than 1 year?
<Drup> more than 1, yes
<pippijn> I have a GLR parser generator from that time
<pippijn> which I tried to make fast
<pippijn> which has a C++ implementation that utterly destroys the ocaml one
<pippijn> because in C++, it does no allocation, and lots of mutation
<Drup> maybe.
<pippijn> and in ocaml, mutation is expensive
reem has quit [Ping timeout: 264 seconds]
<pippijn> well, the generator is fast :) but the glr core is not
<pippijn> I really don't know how to make that fast
bytbox has quit [Remote host closed the connection]
<pippijn> now I first need a new build system, then I can start working on parser stuff again
Haudegen has joined #ocaml
<def`> pippijn: run the functional menhir in a non-determinism monad :p
<pippijn> def`: and enjoy exponential runtime and memory use
<def`> pippijn: not sure it would be so muchbthan an actual glr implementarion
<def`> worse*
<pippijn> I am
<def`> in both case you just maintain a parse forests, don't you?
<pippijn> GLR uses a graph stack structure
<pippijn> so the forest is implicit by all the possible paths through the graph
jneen is now known as jneen|afk
<def`> ok so that when two paths join, the top of the stack can be shared again
<pippijn> yes
<def`> interesting
<pippijn> this is particularly interesting for highly ambiguous grammars
<pippijn> (like C++)
<pippijn> this is the E:EE|a grammar
<def`> yep. you target c++ specifically?
<def`> or are you interested into glr in general
<pippijn> both
<def`> ok
uris77 has joined #ocaml
leowzukw has joined #ocaml
<pippijn> so, bison needs a huge stack, and fails on inputs longer than a couple of bytes (20? I don't remember)
<def`> now I want to hack menhir to support those stacks :p
<pippijn> do it
<pippijn> I'd use it
<pippijn> if menhir supported GLR natively, I'd probably use it
<pippijn> my parser generator has a bunch of fancy stuff like AST, but it already has a menhir backend (i.e. generating menhir source code)
Thooms has quit [Quit: WeeChat 1.0.1]
<def`> I doubt I'll go as far as implementing GLR natively
Guest47930 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ontologiae has joined #ocaml
<def`> I have no need for GLR parsing, I'm just curious
<pippijn> once you have a graph stack, the rest is relatively straightforward
oriba has quit [Quit: oriba]
ollehar1 has joined #ocaml
zpe has joined #ocaml
bytbox has joined #ocaml
zpe has quit [Ping timeout: 256 seconds]
bytbox has quit [Remote host closed the connection]
chinglish has quit [Quit: Nettalk6 - www.ntalk.de]
Haudegen has quit [Ping timeout: 240 seconds]
ptc has joined #ocaml
ptc is now known as Guest46629
AlexRussia has quit [Ping timeout: 252 seconds]
Haudegen has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
rgrinberg has joined #ocaml
MooseAndCaml has joined #ocaml
MrScout has joined #ocaml
ontologiae has quit [Ping timeout: 256 seconds]
kbp has joined #ocaml
paradoja has left #ocaml ["Killed buffer"]
madroach has joined #ocaml
q66 has joined #ocaml
MooseAndCaml has quit [Ping timeout: 246 seconds]
adek has joined #ocaml
<adek> How can I load .a library to repl? I have a corresponding .ml file with FFI interface defined
<whitequark> you can't
matason has quit [Ping timeout: 250 seconds]
<whitequark> you need a .so
<adrien> and the compiled ffi
<whitequark> or
<whitequark> not and
<whitequark> adek: on some platforms you can use `ld -shared foo.a -o libfoo.so
AlexRussia has joined #ocaml
<adek> whitequark: and then use #load "libfoo.so"?
<whitequark> no
<whitequark> you need to use whatever the FFI library provides you to load the library
<whitequark> #load only works on ocaml bytecode
<adrien> whitequark: you need cmo/cma for the toplevel to load; you can't do that with only a .so
<whitequark> adrien: #use "foo.ml"
<whitequark> they said they have a corresponding .ml file
<whitequark> and anyway it doesn't matter how exactly the ocaml ffi code is loaded
<whitequark> adek: with ctypes you can use Dl.dlopen: http://ocamllabs.github.io/ocaml-ctypes/Dl.html#VALdlopen
<adrien> ah, maybe
<adek> whitequark: http://www.linux-nantes.org/~fmonnier/OCaml/ocaml-wrapping-c.html I used this tutorial to build things
larhat1 has quit [Quit: Leaving.]
<adek> But seems like there is much more work involved to make it work under repl
<whitequark> oh, so you're not using an FFI library
<whitequark> no, it's simple.
<whitequark> take a look at ocamlmklib
<whitequark> generally, ocamlmklib bindfoo.ml bindfoo.c -lfoo should suffice
<whitequark> then you could just load the corresponding .cma
<adek> That would be awesome!
dav has quit [Ping timeout: 250 seconds]
robbert` has joined #ocaml
dav has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
regnat has joined #ocaml
madroach has quit [Read error: Connection reset by peer]
travisbrady has quit [Quit: travisbrady]
bytbox has joined #ocaml
<adrien> adek: and the page you linked to explains how to use ocamlmklib
madroach has joined #ocaml
<adek> adrien: yeah, now I see it.
travisbrady has joined #ocaml
The_Mad_Pirate has quit [Excess Flood]
breadmonster has joined #ocaml
The_Mad_Pirate has joined #ocaml
<breadmonster> How do I install tuareg mode?
<breadmonster> Just copy tuareg to some directory and edit my .emacs file?
<Drup> yeah
<Drup> or don't copy, just edit
<Drup> (assuming "opam install tuareg")
<breadmonster> Drup: Okay, I'll just run the command.
dsheets has quit [Ping timeout: 250 seconds]
reem has joined #ocaml
<adek> It was easy indeed. Thanks guys!
Kakadu has quit [Quit: Page closed]
<dmbaturin> What is the usual approach to unit testing module internals not exposed in the signature? Create another signature that makes them visible?
<mrvn> expose a test function
The_Mad_Pirate has quit [Excess Flood]
<dmbaturin> mrvn: Could you elaborate?
The_Mad_Pirate has joined #ocaml
<Drup> no, don't expose a test function
<Drup> use qtest
<mrvn> val test : unit -> unit
<Drup> ask companion_cube
<Drup> and don't ever expsoe test functions, it's stupid
<mrvn> Drup: how do you then call the tests?
<Drup> look at how qtest is done, it should explain itself
<dmbaturin> I'm using oUnit, by the way, so test code simply uses the module.
<Drup> dmbaturin: also, I would tend to argue that you should test exposed things, but that's my personal opinion
<dmbaturin> Drup: Will look at qtest. Hhm, that is, don't test things that are not exposed?
<Drup> or rather, test things only through expose functions
<Drup> exposed*
<mrvn> dmbaturin: internal stuff should be tested by the exposed functions already
Submarine has quit [Quit: Leaving]
reem has quit [Remote host closed the connection]
reem has joined #ocaml
reem has quit [Remote host closed the connection]
<breadmonster> Drup: How do I find where utop is located?
<dmbaturin> breadmonster: which utop ? :)
<breadmonster> dmbaturin: Well, I installed utop on my PC.
kbp has quit [Ping timeout: 246 seconds]
<breadmonster> Now I can't seem to find where it's located, to run it from tuareg
<dmbaturin> Or you are on a non-POSIX OS?
<breadmonster> Because I don't really like the ocaml toplevel.
<breadmonster> Yup, Ubuntu 14.04
<dmbaturin> Ubuntu is not yet _that_ non-POSIX. :)
<Drup> breadmonster: you want to use it from emacs ?
<breadmonster> Drup: Yup.
<dmbaturin> $ which utop
<dmbaturin> ~/.opam/4.01.0/bin/utop
<breadmonster> dmbaturin: Oh sorry, my bad, yeah it's POSIX.
<dmbaturin> opam does add its dirs to the $PATH
<Drup> hum, look at utop information, you need to do some emacs thingy
<breadmonster> dmbaturin: Okay aewsome.
<breadmonster> Got it.
<dmbaturin> mrvn: Ah, well, that's a valid point. Sometimes I think testing internal stuff can help narrow it down more easily.
dsheets has joined #ocaml
<dmbaturin> On the other hand testing internal stuff also makes one update tests every time it changes, which I find annoying.
madroach has quit [Ping timeout: 264 seconds]
kbp has joined #ocaml
madroach has joined #ocaml
<mrvn> sure. But then you are testing something that might never happen in real use.
reem has joined #ocaml
uris77 has quit [Quit: leaving]
yomimono has quit [Ping timeout: 252 seconds]
pyon is now known as ungrateful-pyon
tani has quit [Quit: Verlassend]
ggole has quit [Ping timeout: 246 seconds]
skinkitten has quit [Ping timeout: 265 seconds]
oscar_toro has quit [Quit: oscar_toro]
skinkitten has joined #ocaml
axiles has joined #ocaml
kbp has quit [Ping timeout: 245 seconds]
reem has quit [Remote host closed the connection]
kbp has joined #ocaml
bytbox has quit [Ping timeout: 240 seconds]
NSA360 has joined #ocaml
_andre has quit [Quit: leaving]
gargaml has joined #ocaml
ebzzry has joined #ocaml
skinkitten has quit [Ping timeout: 264 seconds]
NSA360 has quit [Quit: Leaving]
Submarine has joined #ocaml
Submarine has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
breadmonster has quit [Ping timeout: 246 seconds]
iorivur has quit [Ping timeout: 256 seconds]
kbp has quit [Ping timeout: 244 seconds]
travisbrady has quit [Quit: travisbrady]
skinkitten has joined #ocaml
oscar_toro has joined #ocaml
oscar_toro1 has joined #ocaml
travisbrady has joined #ocaml
leowzukw has quit [Quit: Lost terminal]
Guest46629 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ptc has joined #ocaml
ptc is now known as Guest62036
jwatzman|work has joined #ocaml
travisbrady has quit [Quit: travisbrady]
Haudegen has quit [Ping timeout: 264 seconds]
kbp has joined #ocaml
Haudegen has joined #ocaml
travisbrady has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
kandu has quit [Remote host closed the connection]
swgillespie has joined #ocaml
tane has joined #ocaml
robink has quit [Read error: Connection reset by peer]
ygrek_ has joined #ocaml
ollehar1 has quit [Ping timeout: 245 seconds]
araujo has quit [Quit: Leaving]
manud has joined #ocaml
Submarine has quit [Remote host closed the connection]
jneen|afk is now known as jneen
manud has quit [Quit: manud]
reem has joined #ocaml
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
ollehar1 has joined #ocaml
ygrek_ has quit [Ping timeout: 245 seconds]
dav has quit [Ping timeout: 245 seconds]
reem has quit [Remote host closed the connection]
reem has joined #ocaml
dav has joined #ocaml
ollehar1 has quit [Quit: ollehar1]
Hannibal_Smith has joined #ocaml
zpe has joined #ocaml
Haudegen has quit [Ping timeout: 264 seconds]
kbp has quit [Ping timeout: 245 seconds]
oscar_toro has quit [Quit: oscar_toro]
Haudegen has joined #ocaml
badkins has quit [Read error: Connection reset by peer]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
oscar_toro1 has quit [Ping timeout: 240 seconds]
swgillespie has joined #ocaml
ungrateful-pyon is now known as recursive-pyon
rgrinberg has quit [Quit: Leaving.]
kbp has joined #ocaml
rgrinberg has joined #ocaml
adek has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
badkins has joined #ocaml
adek has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
gargaml has quit [Quit: WeeChat 1.1.1]
ontologiae has joined #ocaml
vanila has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 255 seconds]
mcclurmc has quit [Remote host closed the connection]
bytbox has joined #ocaml
kbp has quit [Remote host closed the connection]
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
zpe has quit [Ping timeout: 264 seconds]
robink has joined #ocaml
Hannibal_Smith has quit [Quit: Leaving]
jyc has quit [Ping timeout: 245 seconds]
profan has joined #ocaml
Sorella has quit [Quit: Connection closed for inactivity]
jyc has joined #ocaml
dav has quit [Ping timeout: 252 seconds]
dav has joined #ocaml
mal`` has quit [Ping timeout: 245 seconds]
mal`` has joined #ocaml
AltGr has joined #ocaml
bytbox has quit [Remote host closed the connection]
Simn has quit [Quit: Leaving]
SomeDamnBody has quit [Ping timeout: 246 seconds]