flux changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | OCaml 4.00.1 http://bit.ly/UHeZyT | http://www.ocaml.org | Public logs at http://tunes.org/~nef/logs/ocaml/
so has joined #ocaml
bkpt has quit [Quit: Leaving]
bkpt has joined #ocaml
bkpt has quit [Client Quit]
zpe has joined #ocaml
introom has joined #ocaml
zpe has quit [Ping timeout: 276 seconds]
kaustuv has joined #ocaml
gnuvince has joined #ocaml
kaustuv has left #ocaml []
zpe has joined #ocaml
pootler_1 has quit [Ping timeout: 240 seconds]
pootler__ has quit [Ping timeout: 240 seconds]
zpe has quit [Ping timeout: 276 seconds]
pootler_ has quit [Ping timeout: 276 seconds]
breakds has quit [Remote host closed the connection]
csakatoku has joined #ocaml
madroach has quit [Ping timeout: 248 seconds]
madroach has joined #ocaml
zpe has joined #ocaml
zpe has quit [Ping timeout: 260 seconds]
travisbrady has joined #ocaml
emmanuelux has quit [Quit: emmanuelux]
talzeus has joined #ocaml
zpe has joined #ocaml
Neros has quit [Ping timeout: 252 seconds]
darkf_ has joined #ocaml
walter|r has joined #ocaml
darkf has quit [Disconnected by services]
darkf_ is now known as darkf
Tekk_` has joined #ocaml
walter has quit [Read error: Connection reset by peer]
Tekk_ has quit [Read error: Connection reset by peer]
gnuvince has quit [Ping timeout: 264 seconds]
zpe has quit [Ping timeout: 252 seconds]
oriba has quit [Quit: oriba]
ygrek has joined #ocaml
ygrek has quit [Ping timeout: 276 seconds]
introom has quit [Remote host closed the connection]
zpe has joined #ocaml
zpe has quit [Ping timeout: 240 seconds]
introom has joined #ocaml
breakds has joined #ocaml
breakds has quit [Client Quit]
introom has quit [Remote host closed the connection]
travisbrady has quit [Quit: travisbrady]
ygrek has joined #ocaml
zpe has joined #ocaml
jcao219 has quit [Ping timeout: 248 seconds]
Drup has quit [Quit: Leaving.]
sclv has quit [Ping timeout: 256 seconds]
zpe has quit [Ping timeout: 268 seconds]
stevej has quit [Ping timeout: 252 seconds]
sclv has joined #ocaml
kanibe has joined #ocaml
introom has joined #ocaml
zpe has joined #ocaml
ggole has joined #ocaml
zpe has quit [Ping timeout: 256 seconds]
gnuvince has joined #ocaml
<pippijn> wmeyer: do you want to work on treematch ever again?
zpe has joined #ocaml
ttamttam has joined #ocaml
zpe has quit [Ping timeout: 246 seconds]
kanibe is now known as jtbt
jtbt is now known as kanibe
zpe has joined #ocaml
ttamttam has quit [Quit: ttamttam]
zpe has quit [Ping timeout: 252 seconds]
zpe has joined #ocaml
yacks has joined #ocaml
zpe has quit [Ping timeout: 252 seconds]
csakatok_ has joined #ocaml
csakatoku has quit [Ping timeout: 260 seconds]
Tobu has quit [Ping timeout: 256 seconds]
flx_ has joined #ocaml
Watcher7 is now known as Watcher7|off
Tobu has joined #ocaml
jtbt has joined #ocaml
flux has quit [Ping timeout: 245 seconds]
flx_ is now known as flux
zpe has joined #ocaml
jtbt has quit [Read error: Connection reset by peer]
jtbt has joined #ocaml
stevej has joined #ocaml
kanibe has quit [Ping timeout: 252 seconds]
jtbt has quit [Disconnected by services]
kanibe has joined #ocaml
kanibe has quit [Read error: Connection reset by peer]
kanibe has joined #ocaml
pootler_ has joined #ocaml
pootler_1 has joined #ocaml
pootler__ has joined #ocaml
pootler_2 has joined #ocaml
pootler_3 has joined #ocaml
pootler_4 has joined #ocaml
pootler_1 has quit [Ping timeout: 246 seconds]
pootler__ has quit [Ping timeout: 246 seconds]
pootler_ has quit [Ping timeout: 246 seconds]
derek_c has joined #ocaml
ygrek has quit [Ping timeout: 256 seconds]
zpe has quit [Remote host closed the connection]
cago has joined #ocaml
ocp has joined #ocaml
raichoo has joined #ocaml
introom has quit [Remote host closed the connection]
derek_c has quit [Quit: Lost terminal]
introom has joined #ocaml
spearalot has joined #ocaml
djcoin has joined #ocaml
raichoo has quit [Client Quit]
raichoo has joined #ocaml
talzeus has quit [Remote host closed the connection]
talzeus has joined #ocaml
ttamttam has joined #ocaml
q66 has joined #ocaml
ygrek has joined #ocaml
ontologiae has joined #ocaml
ontologiae has quit [Client Quit]
ontologiae has joined #ocaml
hkBst has joined #ocaml
hkBst has quit [Changing host]
hkBst has joined #ocaml
structuralist has joined #ocaml
Snark has joined #ocaml
zul_netbsd has joined #ocaml
mika1 has joined #ocaml
osa1 has joined #ocaml
Kakadu has joined #ocaml
mort___ has joined #ocaml
ollehar has joined #ocaml
UncleVasya has joined #ocaml
introom has quit [Remote host closed the connection]
rwmjones_ is now known as rwmjones
ollehar has quit [Ping timeout: 256 seconds]
<Kakadu> morning
<companion_cube> hi!
f[x] has joined #ocaml
talzeus has quit [Remote host closed the connection]
<Kakadu> If opam package has takes sources from git.....
<Kakadu> than after every update opam should look at sources, pull changes and report if package was updated?
<adrien_oww> (it's a bad idea)
ygrek has quit [Ping timeout: 246 seconds]
introom has joined #ocaml
talzeus has joined #ocaml
<Kakadu> adrien_oww: any details?
mcclurmc has quit [Ping timeout: 240 seconds]
<adrien_oww> a packager's job is not to simply create the package metadata and be done with it
<adrien_oww> updates need to be tested
<adrien_oww> before they're pushed to others
<adrien_oww> and that cannot be done if the package pulls from git head
ocp has quit [Ping timeout: 245 seconds]
<avsm> Kakadu: not on update. it refreshes the remote before an installation
<Kakadu> avsm: remote repo, not sources of packages from this remote repo?
<avsm> repo: on update. package: on install
<avsm> just read the output from OPAM and it'll tell you when it's doing something remote
<Kakadu> yeah, I read output of `opam update` and was suprised that it doesn't pull changes of every package which points to git HEAD
jcao219 has joined #ocaml
<Kakadu> well, I've created git repo at ~/2 and opam package which points to this location. While package installation opam pulls changes once and creates tarball to use it later. If I commit to git repo it still uses the tarball. Is this behaviour expected?
jcao219 has quit [Ping timeout: 252 seconds]
ollehar has joined #ocaml
q66 has quit [Read error: Connection reset by peer]
q66 has joined #ocaml
mcclurmc has joined #ocaml
gautamc has quit [Read error: Connection reset by peer]
gautamc has joined #ocaml
osa1 has quit [Quit: Konversation terminated!]
dsheets has quit [Ping timeout: 264 seconds]
mort___ has left #ocaml []
itewsh has joined #ocaml
zpe has joined #ocaml
zpe has quit [Remote host closed the connection]
itewsh has quit [Read error: Connection reset by peer]
zpe has joined #ocaml
itewsh has joined #ocaml
dsheets has joined #ocaml
skchrko has joined #ocaml
Drup has joined #ocaml
Drup has quit [Client Quit]
mika1 has quit [Quit: Leaving.]
Drup has joined #ocaml
demonimin has joined #ocaml
talzeus has quit [Remote host closed the connection]
jbrown__ has joined #ocaml
introom has quit [Remote host closed the connection]
|jbrown| has quit [Ping timeout: 276 seconds]
ocp has joined #ocaml
kaustuv has joined #ocaml
_andre has joined #ocaml
<kaustuv> gasche: Have you seen something like this elsewhere? If not, I'll contribute it to PPrint. http://chaudhuri.info/uncat/PPrintExp.mli (also PPrintExp.ml)
Drup has quit [Ping timeout: 256 seconds]
mika1 has joined #ocaml
introom has joined #ocaml
csakatok_ has quit [Remote host closed the connection]
introom has quit [Remote host closed the connection]
ocp has quit [Ping timeout: 276 seconds]
Drup has joined #ocaml
introom has joined #ocaml
Drup has quit [Quit: Leaving.]
Drup has joined #ocaml
Neros has joined #ocaml
Drup has quit [Quit: Leaving.]
Drup has joined #ocaml
breakds has joined #ocaml
f[x] has quit [Ping timeout: 276 seconds]
sclv has quit [Read error: Connection reset by peer]
sclv has joined #ocaml
structuralist has quit []
redfire has joined #ocaml
kanibe has quit [Read error: No buffer space available]
kanibe has joined #ocaml
<pippijn> any omake users here?
<pippijn> Do not know how to build "_build/src/lang/merr/merr/e_grammar.mly" required for "_build/src/lang/merr/merr/e_parser.automaton"
<pippijn> src/lang/merr/merr/e_grammar.mly exists, and I'm doing a vpath build in _build
jcao219 has joined #ocaml
sclv has quit [Read error: Connection reset by peer]
kaustuv has left #ocaml []
sclv has joined #ocaml
Tobu has left #ocaml []
osa1 has joined #ocaml
mika1 has quit [Quit: Leaving.]
<pippijn> https://paste.xinu.at/eVLcHM/ <- this is my menhir omake file
skchrko has quit [Remote host closed the connection]
travisbrady has joined #ocaml
travisbrady has quit [Client Quit]
travisbrady has joined #ocaml
<whitequark> is there something like "make clean" for ocamlbuild?
<Drup> whitequark: ocamlbuild -clean
<whitequark> Drup: thanks
<whitequark> in unrelated news, it's mind-boggling how it works instantly, and rake takes two seconds just to start >_<
bkpt has joined #ocaml
skchrko has joined #ocaml
pootler_4 has quit [Ping timeout: 240 seconds]
pootler_3 has quit [Ping timeout: 252 seconds]
pootler_2 has quit [Ping timeout: 252 seconds]
<pippijn> whitequark: ocamlbuild clean is just rm -rf _build
<whitequark> pippijn: I see
<whitequark> hm. I don't quite get how automatic module naming works. so if I have a file `foo.ml` (and possibly corresponding `foo.mli`), they get grouped to a module Foo.
<whitequark> and I can declare nested modules inside that.
<whitequark> can it form the module path based on directory path?
<pippijn> yes, it's capitalised module name without .ml
<pippijn> file name
<Drup> whitequark: modules have nothing to do with directory path
<whitequark> Drup: can a module span more than one file?
<pippijn> no
<Drup> a module is a package contain various declarations. A compilation unit (aka, a file) is transformed into a module with the same name and the first letter capitalized. That's (almost) all of it.
<pippijn> but you can pack modules together into one module
<whitequark> pippijn: hm, how do I do that?
<pippijn> compile with -for-pack MyPack
<pippijn> and link with -pack or so
<pippijn> yep
<whitequark> I see, thanks
<ggole> And they can have arguments
<ggole> Modules are a pretty complicated part of the language
<whitequark> ggole: oh, I understand that part
<whitequark> it's just the build system which was puzzling a bit
<Drup> you're the first one I meet that "understand" the functor system then :3
<ggole> Yeah, ocamlbuild is a bit odd
<whitequark> Drup: let's phrase it this way: I seemed to understand it somewhat better than the build system. ;)
<Drup> :D
<whitequark> oh, by the way. I assumed that ocaml can build native windows executables. is it so?
<whitequark> I don't need anything fancy, just console and file I/O.
<gasche> yes it can
<orbitz> Yes
<whitequark> excellent.
asdasdqw has joined #ocaml
asdasdqw has quit [Client Quit]
<travisbrady> Does anyone know how to get ocp-build to create a library (that binds to c) that is usable from the top-level? Example code: https://github.com/travisbrady/ocp-build-with-c
<travisbrady> Currently I get "Error: The external function `return_zero' is not available" when trying to use the .cmo from utop
<adrien_oww> gasche: afaict, undoable
<adrien_oww> gasche: I'm not on SO so I probably won't answer; as ygrek pointed out, the names are different but there's more
<adrien_oww> gasche: afaict, there are primitives on unix that doesn't exist on windows and/or the other way round
<adrien_oww> also, it sounds *very* annoying to do
<adrien_oww> I'd rather make two binaries, distribute them together
<gasche> ok so your advice is to do things from linux-land and cross-compile?
UncleVasya has quit [Ping timeout: 268 seconds]
<adrien_oww> not what I meant
<adrien_oww> it's definitely nice to have something fully portable
<adrien_oww> however I also suspect an X/Y problem: what is the actual reason for Thomas wanting a bytecode executable that works on both platforms?
<ggole> Simplifies distribution
raichoo has quit [Quit: leaving]
<adrien_oww> too difficult to do; wrong approach
<adrien_oww> the user will still need a matching ocamlrun/ocamlrun.exe anyway
f[x] has joined #ocaml
<ggole> Oh, hmm
cago has left #ocaml []
zul_netbsd has quit [Read error: Operation timed out]
breakds has quit [Quit: Konversation terminated!]
mika1 has joined #ocaml
mika1 has quit [Client Quit]
skchrko has quit [Quit: Leaving]
osa1 has quit [Ping timeout: 256 seconds]
itewsh has quit [Quit: o/]
introom has quit [Remote host closed the connection]
introom has joined #ocaml
pootler_ has joined #ocaml
pootler__ has joined #ocaml
pootler_1 has joined #ocaml
hkBst has quit [Quit: Konversation terminated!]
pootler_ has quit [Ping timeout: 248 seconds]
pootler_ has joined #ocaml
pootler_2 has joined #ocaml
pootler_3 has joined #ocaml
pootler_1 has quit [Ping timeout: 248 seconds]
pootler__ has quit [Ping timeout: 256 seconds]
breakds has joined #ocaml
introom has quit [Remote host closed the connection]
raichoo has joined #ocaml
<pippijn> how can this error occur?
olafurw has joined #ocaml
<olafurw> good day
<pippijn> unicode.cmx is passed on the command line
<pippijn> but it says there is no implementation for Unicode
olafurw has quit [Client Quit]
thomasga has quit [Ping timeout: 252 seconds]
mort___ has joined #ocaml
lenstr has joined #ocaml
<pippijn> ok, I see
<pippijn> the order is wrong
f[x] has quit [Ping timeout: 248 seconds]
mfp has quit [Read error: Connection reset by peer]
darkf has quit [Quit: Leaving]
osnr has quit [Quit: Leaving.]
Kakadu has quit [Quit: Konversation terminated!]
thomasga has joined #ocaml
paolooo has joined #ocaml
paolooo has quit [Client Quit]
paolooo has joined #ocaml
mfp has joined #ocaml
olafurw has joined #ocaml
kanibe has quit [Quit: Leaving]
kanibe has joined #ocaml
<whitequark> hm, ocaml doesn't have built-in support for unicode?
paolooo has quit [Client Quit]
<adrien> which operations do you expect?
<asmanur_> i would expect: is_*, uppercase/lowercase
<whitequark> parsing utf-8, iterating through utf-8 string
<ggole> Sadly, no. There's a unicode library called camomile, and some utf-8 stuff in Batteries.
<whitequark> what about ocamllex?
<olafurw> how about rope?
<whitequark> it seems to be 8-bit-only
<gasche> ulex handles UTF8
<ggole> ocamllex speaks char and string only afaik
<whitequark> gasche: aha, thanks
<pippijn> batteries uses camomile for utf-8
<pippijn> at least batteries 1, I don't know about 2
<pippijn> and I can't use batteries or camomile in js_of_ocaml
breakds has quit [Read error: Operation timed out]
ttamttam has quit [Quit: ttamttam]
Neros has quit [Ping timeout: 240 seconds]
Neros has joined #ocaml
<whitequark> what does `read lexbuf` do? I don't see it in the docs
redfire has quit [Quit: WeeChat 0.4.0]
Simn has joined #ocaml
jcao219 has quit [Ping timeout: 256 seconds]
Neros has quit [Ping timeout: 256 seconds]
jcao219 has joined #ocaml
zpe has quit [Remote host closed the connection]
<olafurw> whitequark: what's the context
<whitequark> olafurw: ocamllex
<whitequark> e.g. rule read = parse
<whitequark> | white { read lexbuf }
<pippijn> whitequark: "read" is the lexing function
<pippijn> "read lexbuf" recursively calls it
<olafurw> it fecthes the next lex
<pippijn> so it ignores white
<whitequark> oh.
<whitequark> got it.
<whitequark> tail-recursive lexer.
<pippijn> I'm not sure it's tail-recursive, but it probably is
<whitequark> it better be tail-recursive :D
Neros has joined #ocaml
<pippijn> it doesn't really matter
<pippijn> you're not going to have 20000 recursive calls to the lexer function
<pippijn> normally 2-3 at most
tianon has quit [Quit: "I'm a very important man. I've got a tower!"]
<whitequark> hm
<whitequark> ah right, when it doesn't skip a token, it returns.
<whitequark> I see.
ollehar has quit [Ping timeout: 276 seconds]
emmanuelux has joined #ocaml
f[x] has joined #ocaml
<ggole> You can look at the output if you're curious
<ggole> It's super readable
* ggole coughs
<pippijn> ggole: did you (help) write ocamllex?
<ggole> No
<ggole> I was just referring to the large amount of strange crud in .ml files produced by ocamllex
<whitequark> ggole: I did look at the output
<whitequark> most of the implementation is hidden though
<whitequark> under Lexing.engine
<pippijn> ah
ontologiae has quit [Ping timeout: 256 seconds]
<ggole> You can see the functions named by the rules in the .mll though
<pippijn> whitequark: yeah, and it's in C :)
<pippijn> better use re2ml :P
<pippijn> it's faster and the code is actually readable
<pippijn> and doesn't need an engine
<whitequark> pippijn: don't care, I aim to write a working implementation as fast as possible
<ggole> Does it expand to mutually recursing pattern matching functions?
<pippijn> ok
<whitequark> swapping nearly equivalent components can come later.
<pippijn> ggole: yep
<ggole> That's more or less what I expected from ocamllex
<ggole> Right
MarcWebe1 is now known as MarcWeber
<pippijn> whitequark: yeah
<pippijn> I made re2ml almost completely compatible with ocamllex
<pippijn> except for submatching, but I'm working on that
<whitequark> pippijn: oh, so I could pester you with bugs :p
tianon has joined #ocaml
<pippijn> yes
<pippijn> and you will probably find some
travisbrady has left #ocaml []
<pippijn> because I don't actually use it
<pippijn> I just wrote it, and now it's lying on my hard disk and in git
<whitequark> lol, why doing it then?
<whitequark> ah
travisbrady has joined #ocaml
tianon has quit [Changing host]
tianon has joined #ocaml
<pippijn> actually
<pippijn> I might actually be using it
* pippijn checks
mcclurmc has quit [Ping timeout: 246 seconds]
<pippijn> nope
emmanuelux has quit [Quit: emmanuelux]
<pippijn> I do have a json parsing library I started building with it, but it's unfinished
<pippijn> re2ml is pretty stable, though, I have used it to tokenise C++ code
<whitequark> try ruby
<pippijn> it doesn't really matter
<pippijn> the automaton is correct
<whitequark> pippijn: it doesn't necessarily sophisticated enough to handle ruby, though.
<pippijn> ggole: ocamllex is annoyingly arbitrarily limited
<pippijn> whitequark: what does it need?
<whitequark> pippijn: well, I did it in ragel and was relying on attaching actions to FSM transitions
<whitequark> plus the way ragel combines FSMs makes it somewhat more efficient
<whitequark> it has just about 500 states in ragel or so
<pippijn> ok
emmanuelux has joined #ocaml
<whitequark> oh, and of course it has mutable state shared with parser
<pippijn> ah
<whitequark> which is updated in the LALR(1) lookahead actions
<pippijn> yeah, I have that in my C parser :\
<pippijn> so ugly
<pippijn> it's global, too
<pippijn> terrible
<whitequark> in the C ruby implementation, the lexer is handwritten, spans about 4kloc and is full of goto's (eighty)
<whitequark> so it's not that bad :p
<pippijn> why do people choose to make hard to parse languages?
<pippijn> it doesn't make them more accessible to humans, either
<ggole> They don't
<whitequark> it's surprisingly smooth for humans
<ggole> People choose to implement languages that already exist
<pippijn> ruby is reasonably new
<ggole> And then want to extend them in various ways
<whitequark> i mean, it still can show its rough edges, but considering the complexity of the parser, that's rare.
<whitequark> ggole: not the case with ruby
<whitequark> it was started from scratch and quickly turned out this way.
<whitequark> all the other implementations share the parser/lexer
<ggole> Well, sometimes there's a bit of crazy involved I guess
<whitequark> (translate it in java/.net/ocaml/...)
<ggole> I was thinking of things like the amazingly poorly defined cloud of languages that people call C
<whitequark> is C that hard to parse?
<pippijn> C is not terrible to parse
<ggole> As it is found in the real world, yeah
<pippijn> it's ok
<ggole> Nobody implements the standard
<whitequark> the spec is... really strange
<ggole> They all implement the standard + other junk
<whitequark> for example, if you don't terminate a string literal, it's compile-time UB
<whitequark> wat
<pippijn> my parser accepts all of glibc, the linux kernel, and most of gcc's testsuite
<whitequark> pippijn: does it include preprocessor?
<pippijn> no
<pippijn> I use gcc's pp
Drup has quit [Read error: Operation timed out]
<pippijn> there is a good standalone preprocessor out there
<pippijn> mcpp or so
yacks has quit [Read error: Operation timed out]
Neros has quit [Read error: Connection reset by peer]
<whitequark> pippijn: the point of including the preprocessor is to track locations better.
<whitequark> e.g. clang invokes some kind of dark magic to efficiently (it really is) track tokens through *all* macro expansions
<whitequark> i.e. it can unfold them at arbitrarary depth
<pippijn> yeah, I know
<pippijn> that's neat
<pippijn> but not the point of my parser :)
<ggole> It's also faster to interleave preprocessing and "lexing proper", I think
<ggole> Rather than doing a first pass
<whitequark> less copying, I guess
<pippijn> well, that was the first thing I did with ocaml
<pippijn> so..
<ggole> C has a pretty silly lexical structure
<pippijn> at least it's infinitely faster than CIL
<ggole> I mean, trigraphs
<whitequark> blargh
<whitequark> but, trigraphs were a necessary evil.
<whitequark> I'm... really afraid to think how someone could program with trigraphs
<ggole> I'm fairly sure they were committee mandated junk
<whitequark> in the standard? yes. were they used in practice? yes, that's how they went in the standard.
jcao219 has quit [Ping timeout: 248 seconds]
<whitequark> basically, standard covers all the commercial implementations which pay enough.
<whitequark> so they can immediately adhere to it.
<ggole> Like I said: committee mandated junk
<ggole> Just because somebody wants something doesn't mean it isn't brain damaged
<whitequark> ggole: you're fired :p
<whitequark> (not that I disagree with you!)
<ggole> It should have been simply left as an extension
<ggole> It's not like C hasn't seem a bajillion of them
zpe has joined #ocaml
<ggole> (See that article for some eyebrow raising examples)
<pippijn> reading it
travisbrady has quit [Quit: travisbrady]
jcao219 has joined #ocaml
travisbrady has joined #ocaml
travisbrady has quit [Client Quit]
zpe has quit [Ping timeout: 264 seconds]
mort___ has quit [Quit: Leaving.]
yacks has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
travisbrady has joined #ocaml
<pippijn> ggole: awesome
<pippijn> I love this
Drup has joined #ocaml
<pippijn> that's just amazing
<ggole> Yeah, it's a good article
osnr has quit [Ping timeout: 256 seconds]
bkpt has quit [Quit: Leaving]
<whitequark> yeah...
<whitequark> reminds that the code we can easily see is just the tip of the iceberg.
<whitequark> and is most often one of the best specimens
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
<pippijn> hmm
<pippijn> I wonder if open source programmers care more about their code quality than closed source ones
<pippijn> most C coders I know are pretty anal about their -Wall -Wextra -W... -Werror -pedantic -...
<pippijn> (which is stupid, by the way)
<ggole> -Wxxx doesn't save you from C, but it does catch the odd bit of dumb junk
<ggole> And it is low effort, which is always nice :)
<pippijn> yes
<pippijn> -Werror is a mistake
f[x] has quit [Ping timeout: 264 seconds]
<pippijn> having warnings is useful
<gasche> in my very limited (thanks) experience with C programming, nowadays compilers are actually rather good at catching pointer-level mistakes
<pippijn> gasche: you mean clang's static analysis?
<gasche> (I remember it being much less effective in the past, but maybe I just didn't know to enable them)
<gasche> I was thinking of gcc
<pippijn> what does it catch?
<gasche> rather obvious things corresponding to rather obvious typos/omissions
<gasche> but iirc it catched some initialized uses, use of * instead of **, etc.
<pippijn> oh
<pippijn> that's just a type error
<pippijn> compilers don't put a lot of effort into catching flow-sensitive bugs
<ggole> C compilers used to be quite extraordinarily lax
<pippijn> "may be uninitialised" is the best one
<gasche> hm
<pippijn> yes, that's true
<gasche> going back in the log
<gasche> pippijn: some people have been using (modified versions of) Batteries with js_of_ocaml
<gasche> would you be interested in that use case?
<gasche> we have code sitting around that I would like to see integrated in Batteries upstream
<gasche> but so far none of the most active contributors use js_of_ocaml, so nobody stepped up to look at this
<gasche> that said
<gasche> I believe the Camomile part may be one of the disabled parts
<gasche> so if your only use-case for Batteries were UTF8...
<gasche> (what I mean by "code sitting around" is that we now know of the forked versions that selectively scraped features off for js_of_ocaml usage; we still need to do the work of *cleanly* integrating that upstream, probably with conditional preprocessing logic)
<pippijn> I don't use batteries a lot
<pippijn> and I rewrote some of the functions I needed to make the parser work with js_of_ocaml
<pippijn> BatList, mainly
<pippijn> and some BatString
<pippijn> and some operators
<pippijn> |> -| etc.
zpe has joined #ocaml
<pippijn> ggole: nice article
<pippijn> ggole: the authors seem to be sympathetic people
<pippijn> ok, that's not good in english
<pippijn> likeable maybe
<adrien> ;p
<pippijn> wmeyer: the test thingy you had started a long time ago has evolved a little bit
<pippijn> wmeyer: your comment style is still in there ;)
zpe has quit [Ping timeout: 260 seconds]
<whitequark> there's also clang's dynamic analyses, tons of them
<whitequark> ubsan, tsan, msan, asan, lsan
<adrien> san
<adrien> dwich
<adrien> (sorry :P )
<Drup> gasche: I may be interested, I have some code using BatEnum I would like to compile with js_of_ocaml, I didn't start anything yet, but it's planed
<pippijn> msan - mmm sandwich
pootler_2 has quit [Quit: leaving]
<pippijn> ahh sandwich
<pippijn> lovely sandwich
<pippijn> uber sandwich
<pippijn> tasty sandwich
pootler__ has joined #ocaml
UncleVasya has joined #ocaml
osa1 has joined #ocaml
<wmeyer> pippijn: nice!
<whitequark> lol
mort___ has joined #ocaml
tane has joined #ocaml
jbrown__ has quit [Ping timeout: 252 seconds]
zpe has joined #ocaml
ollehar has joined #ocaml
travisbrady has quit [Quit: travisbrady]
jbrown__ has joined #ocaml
osa1_ has joined #ocaml
jave has quit [Ping timeout: 260 seconds]
osa1 has quit [Ping timeout: 248 seconds]
jcao219 has quit [Ping timeout: 264 seconds]
travisbrady has joined #ocaml
jave has joined #ocaml
zpe has quit [Ping timeout: 251 seconds]
Watcher7|off is now known as Watcher7
<pippijn> wmeyer: ping
mort___ has left #ocaml []
<wmeyer> pippijn: pong
<pippijn> wmeyer: treematch
<wmeyer> pippijn: what do you want to do with my treematch?
<pippijn> I haven't changed anything about it
<pippijn> it still compiles (but fails 2 tests)
<pippijn> anyway
<pippijn> are you going to do anything with it?
<wmeyer> pippijn: feel free to use it, but it's incomplete
<pippijn> because I'm not touching that
<wmeyer> I will not have time to do at the moment, but might look in future
<pippijn> ok, I currently have a joint repository with all my projects in it
<pippijn> I'm going to split it up again, later
<pippijn> I stopped working on the glr thing, because I have an error
<pippijn> treebuilding is wrong, I think
<pippijn> I didn't have time to make a testcase, yet
ttamttam has joined #ocaml
<pippijn> but it seems wrong
<pippijn> $ find src -name "*.ml*" | xargs wc -l | tail -n1 39037 total
ggole has quit []
pootler__ has quit [Quit: leaving]
ttamttam has left #ocaml []
<adrien> find src -name '*.ml' -exec wc -l {} + | tail -n 1
<adrien> :-)
<pippijn> oh
<pippijn> yeah
zpe has joined #ocaml
Anarchos has joined #ocaml
<adrien> wmeyer: ah: Damien has reverted one of the changes to byterun/Makefile because it was a gmake-ism but it was also present elsewhere in the ocaml sources already
<adrien> wmeyer: turns out it's only in Makefile.nt
<adrien> in the ".nt" variants I mean
<adrien> that said, I don't really understand advantage of this:
<adrien> asmrun/Makefile.nt: $(call MKLIB,libasmrun.$(A), $(OBJS))
<adrien> over
<adrien> otherlibs/Makefile.shared: $(MKLIB) -oc $(CLIBNAME) $(COBJS) $(LDOPTS)
Ein_Leo_ has joined #ocaml
Ein_Leo_ has quit [Read error: Connection reset by peer]
zpe has quit [Ping timeout: 246 seconds]
<adrien> ah, right, now I understand: $(call f,arg1,arg2,...) will replace $(1), $(2), ... in the definition of 'f' with the corresponding values
<adrien> while the latter way is more straightforward
def-lkb is now known as autotools
UncleVasya has quit [Quit: UncleVasya]
autotools is now known as def-lkb
_andre has quit [Quit: leaving]
dsheets has quit [Read error: Operation timed out]
<wmeyer> possibly the "uncurried" version is a GNU extension
<wmeyer> where is explicit one is part of standard Makefiles
<adrien> yeah, $(call ...) is GNU
<adrien> unfortunately it's pretty useful and nice
<pippijn> $(everything ...) is gnu
zpe has joined #ocaml
osa1_ has quit [Quit: Konversation terminated!]
zpe has quit [Ping timeout: 240 seconds]
dsheets has joined #ocaml
Ptival has joined #ocaml
cthuluh has quit [Quit: leaving]
ollehar has quit [Ping timeout: 248 seconds]
ollehar has joined #ocaml
Tekk_`` has joined #ocaml
Tekk_` has quit [Ping timeout: 276 seconds]
zpe has joined #ocaml
cthuluh has joined #ocaml
<MarcWeber> cppo adds line markers "# 142" which camlp4 has trouble with?
Snark has quit [Quit: leaving]
zpe has quit [Ping timeout: 256 seconds]
raichoo has quit [Quit: leaving]
Anarchos has quit [Quit: Vision[0.9.7-H-130604]: i've been blurred!]
talzeus has joined #ocaml
talzeus_ has joined #ocaml
Neros has joined #ocaml
talzeus has quit [Ping timeout: 240 seconds]
Neros_ has joined #ocaml
Neros has quit [Ping timeout: 256 seconds]
IbnFirnas has quit [Read error: Operation timed out]
<gasche> MarcWeber: I *think* Camlp4 should suppor th
<gasche> that
lopex has quit [Ping timeout: 248 seconds]
<wmeyer> gasche: I am sure it does.
<gasche> wmeyer: in the link pippij-n pasted above, it looks like your ocamlbuild test framework, but with records instead of (optional) labelled arguments
<gasche> I suspect I like this style slightly better -- if we don't need to many different record types
<gasche> maybe someday I'll have a try at how the ocamlbuild testsuite would look with it
<gasche> but I suspect it's not really worth the bother
zpe has joined #ocaml
<wmeyer> gasche: the advantage is that records, are first class, so you can pass them, or modify them
<wmeyer> gasche: yes, that was part of my testing framework for my bigger project :-) So I draw some ideas for ocamlbuild
<wmeyer> although the idea in ocamlbuild testing framework is deeper that that
<wmeyer> the testing framework actually generates the enviromnent
<wmeyer> which is much easier to maintain than SVN controlled files
Neros_ has quit [Read error: Connection reset by peer]
osnr has quit [Quit: Leaving.]
Neros has joined #ocaml
zpe_ has joined #ocaml
zpe has quit [Read error: Connection reset by peer]
nlucaroni has joined #ocaml
<nlucaroni> OpenDNS has blocked caml.inria.fr .
zpe_ has quit [Ping timeout: 256 seconds]
ollehar has quit [Ping timeout: 252 seconds]
ollehar has joined #ocaml
djcoin has quit [Quit: WeeChat 0.4.0]
structuralist has joined #ocaml
q66 has quit [Remote host closed the connection]
gautamc has quit [Read error: Connection reset by peer]
gautamc has joined #ocaml
ollehar has quit [Ping timeout: 240 seconds]
gautamc has quit [Read error: Connection reset by peer]
jcao219 has joined #ocaml
gautamc has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
osnr has quit [Ping timeout: 252 seconds]
Neros has quit [Remote host closed the connection]
Simn has quit [Quit: Leaving]
Zerker has joined #ocaml
breakds has joined #ocaml
osnr has joined #ocaml
osnr has quit [Changing host]
osnr has joined #ocaml
tane has quit [Remote host closed the connection]
jcao219 has quit [Ping timeout: 256 seconds]
ontologiae has joined #ocaml
Zerker has quit [Quit: Colloquy for iPad - Timeout (10 minutes)]
Tekk_``` has joined #ocaml
Tekk_`` has quit [Ping timeout: 248 seconds]
thomasga1 has joined #ocaml
thomasga has quit [Read error: Connection reset by peer]
breakds has quit [Quit: Konversation terminated!]
ontologiae has quit [Ping timeout: 256 seconds]
travisbrady has quit [Quit: travisbrady]
Tekk_``` is now known as Tekk_