<pippijn>
basus: seems fine, where is the problem?
<basus>
so for example, if I have something like h2[port=1]
<basus>
it will lex h2[port as an identifier
<basus>
and then the =
<pippijn>
'A'-'z' <- this is wrong
<pippijn>
should be 'A'-'Z'
<pippijn>
[ is between 'Z' and 'a'
<basus>
when I should be getting h2 LBRACK PORT EQ 1 RBRACK
<basus>
ohhh...
<basus>
didn't even notice that
<basus>
that seems to be working
<basus>
thanks much!
tauntaun has quit [Quit: Changing server]
void64 has quit [Ping timeout: 260 seconds]
tauntaun has joined #ocaml
tauntaun is now known as Guest97398
turnersr has joined #ocaml
basus has quit [Quit: basus]
Guest97398 is now known as tauntaun
Myk267 has joined #ocaml
pkrnj has quit [Read error: Operation timed out]
pkrnj has joined #ocaml
breakds has quit [Quit: Konversation terminated!]
csakatok_ has joined #ocaml
csakatoku has quit [Ping timeout: 256 seconds]
pkrnj has quit [Ping timeout: 248 seconds]
pkrnj has joined #ocaml
turnersr has quit [Quit: Leaving]
pkrnj has quit [Ping timeout: 264 seconds]
pkrnj has joined #ocaml
pkrnj has quit [Ping timeout: 245 seconds]
ulfdoz has joined #ocaml
pkrnj has joined #ocaml
ulfdoz has quit [Ping timeout: 248 seconds]
pkrnj has quit [Ping timeout: 264 seconds]
pkrnj has joined #ocaml
pkrnjevic has joined #ocaml
pkrnj has quit [Ping timeout: 240 seconds]
pkrnjevic is now known as pkrnj
pkrnj has quit [Ping timeout: 268 seconds]
pkrnj has joined #ocaml
Snark has joined #ocaml
pkrnj has quit [Ping timeout: 245 seconds]
zpe has joined #ocaml
Arsenik has joined #ocaml
pkrnj has joined #ocaml
pkrnjevic has joined #ocaml
zpe has quit [Ping timeout: 240 seconds]
pkrnj__ has joined #ocaml
pkrnj has quit [Ping timeout: 268 seconds]
pkrnj__ is now known as pkrnj
pkrnjevic has quit [Ping timeout: 260 seconds]
pkrnj has quit [Ping timeout: 264 seconds]
thomasga has joined #ocaml
pkrnj has joined #ocaml
pkrnj has quit [Ping timeout: 248 seconds]
pkrnj has joined #ocaml
pkrnjevic has joined #ocaml
pkrnj has quit [Read error: Operation timed out]
Arsenik has quit [Remote host closed the connection]
pkrnjevic has quit [Read error: Operation timed out]
mcclurmc has joined #ocaml
pkrnj has joined #ocaml
zpe has joined #ocaml
pkrnj has quit [Remote host closed the connection]
darkf_ has joined #ocaml
darkf has quit [Ping timeout: 264 seconds]
ggole has joined #ocaml
darkf_ is now known as darkf
zpe has quit [Ping timeout: 245 seconds]
mcclurmc has quit [Ping timeout: 245 seconds]
<whitequark>
argh, why is "this value should have type unit" and/or "this function application is partial" are not errors
Simn has joined #ocaml
<whitequark>
they should be. I just spent half a hour searching for a Hashtbl.iter without a hashtable argument somewhere in my codebase
<whitequark>
probably my most-common nontrivial ocaml bug
<ggole>
Turn warnings-are-errors on?
<kerneis>
you can even turn them on only for those warnings
<ggole>
And -strict-sequence might help
<kerneis>
if I remember correctly
<ggole>
(I think that's the one.)
djcoin has joined #ocaml
<whitequark>
yeah, should do that
<adrien>
whitequark: did it type properly? =)
<whitequark>
just wondering why it isn't on by default
<whitequark>
adrien: yes
<ggole>
Yeah, -strict-sequence.
<whitequark>
adrien: it unified the result of partial application with unit
<whitequark>
it was like... Hashtbl.iter foo ~f:(fun bar baz -> Hashtbl.add foo bar)
<ggole>
I dunno why that isn't an error. It is always a bug.
<kerneis>
-w @5,@10
<whitequark>
^ exactly
<ggole>
The sequence thing I can understand
<whitequark>
kerneis: hmm, is there an ocamlbuild switch? or I just put that in myocamlbuild?
<kerneis>
probably only in myocamlbuild
<ggole>
-cflag?
<kerneis>
I think there is a global switch, but not one per warning
zRecursive has left #ocaml []
<kerneis>
no, something like:
<kerneis>
flag ["ocaml"] (S [ A "-w"; A "@5,@10" ]);
<adrien>
it's not always a bug
<kerneis>
in After_rules ->
<adrien>
it's fairly common to have a function that returns a value you don't care about
<adrien>
ignore is better but ; is fine too
<adrien>
in highly-imperative code it can be fairly annoying
<kerneis>
(you might need to be a bit more specific than just "ocaml", otherwise it will trigger for ocamldoc too)
<whitequark>
*cough* while enabling that, I've mistyped things in myocamlbuild.ml, and the option did not actually get enabled.
<whitequark>
I just seem to have horrible luck today.
<whitequark>
oh and of course it didn't get enabled due to partial application.
<kerneis>
of sorry
<kerneis>
there should be no comma
<ggole>
adrien: I meant that useless partial applications are always a bug
<kerneis>
"with no separators between them" says the manual
<ggole>
The non-unit return value warning makes more sense.
<whitequark>
kerneis: flag ["ocaml"; "compile"] (S[A"-w"; A"@5@10"]);
<whitequark>
works for me
<kerneis>
yeah
ttamttam has joined #ocaml
csakatok_ has quit [Remote host closed the connection]
<kerneis>
gasche: that would be a nice example of ocamlbuild plugin
<kerneis>
a clean interface to enable/disable/mark-as-error every warning, with some tags
<adrien>
ggole: they can have side-effects; you cannot know
csakatoku has joined #ocaml
mcclurmc has joined #ocaml
zpe has joined #ocaml
<whitequark>
adrien: then use `ignore'
<whitequark>
it's just not worth being a warning in the general case
<whitequark>
or, say, "this match clause is never used" should be an error as well :/
<whitequark>
I can only imagine that hurting generated code.
<whitequark>
you could still opt-out from those errors for such generated code if they were marked as error by default.
<ggole>
There's always an implicit clause for unmatched values
<whitequark>
ggole: that could be special-cased to not produce the warning
<whitequark>
and, well, it doesn't do it now, so...
hkBst has joined #ocaml
hkBst has quit [Changing host]
hkBst has joined #ocaml
<ggole>
Goddammit, x86
* ggole
slaps Andy Glew
* whitequark
is pretty sure that each and every occurence of "x86" can be meaningfully prefixed with "goddammit"
<ggole>
So it turns out that the best way to handle single-float operations in SSE registers is to use movsd to for register/memory moves
zpe has quit [Ping timeout: 264 seconds]
<ggole>
But if you use that for register/register moves, you get dependency problems because the rest of the register isn't zerod
<ggole>
So you use movapd - but that's a byte larger than movaps, which does the same thing
<ggole>
So the best way is to move single floats is to use the *packed* version of the instruction of the *wrong type*.
<ggole>
I don't even.
mika1 has joined #ocaml
cago has joined #ocaml
mcclurmc has quit [Ping timeout: 264 seconds]
zpe has joined #ocaml
mcclurmc has joined #ocaml
ontologiae has joined #ocaml
zpe has quit [Ping timeout: 264 seconds]
hkBst has quit [Ping timeout: 256 seconds]
ontologiae has quit [Ping timeout: 264 seconds]
zpe has joined #ocaml
ontologiae has joined #ocaml
zpe has quit [Ping timeout: 264 seconds]
chambart has joined #ocaml
mcclurmc has quit [Quit: Leaving.]
Kakadu has joined #ocaml
zpe has joined #ocaml
braibant_ has quit [Quit: Lost terminal]
Neros has joined #ocaml
zpe has quit [Ping timeout: 264 seconds]
Anarchos has joined #ocaml
mcclurmc has joined #ocaml
<Anarchos>
hi everybody
zpe has joined #ocaml
zpe has quit [Read error: Connection reset by peer]
zpe has joined #ocaml
Drup has joined #ocaml
yacks has joined #ocaml
q66 has joined #ocaml
weie has quit [Quit: Leaving...]
skchrko has joined #ocaml
amirmc has joined #ocaml
chambart has quit [Ping timeout: 264 seconds]
chambart has joined #ocaml
ollehar has joined #ocaml
testcocoon has quit [Quit: Coyote finally caught me]
testcocoon has joined #ocaml
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
void64 has joined #ocaml
csakatoku has quit [Remote host closed the connection]
n06rin has joined #ocaml
_andre has joined #ocaml
beginner42 has joined #ocaml
skchrko has quit [Ping timeout: 260 seconds]
derek_c has joined #ocaml
yacks has quit [Ping timeout: 260 seconds]
amirmc has quit [Quit: Leaving.]
skchrko has joined #ocaml
chambart has quit [Ping timeout: 264 seconds]
derek_c has quit [Ping timeout: 256 seconds]
justdit has joined #ocaml
ggole_ has joined #ocaml
ggole has quit [Ping timeout: 268 seconds]
Neros has quit [Remote host closed the connection]
yacks has joined #ocaml
talzeus has quit [Remote host closed the connection]
chambart has joined #ocaml
chambart has quit [Ping timeout: 264 seconds]
amirmc has joined #ocaml
derek_c has joined #ocaml
breakds has joined #ocaml
void64 has quit [Ping timeout: 260 seconds]
breakds has quit [Remote host closed the connection]
amirmc1 has joined #ocaml
amirmc has quit [Ping timeout: 245 seconds]
djcoin has quit [Quit: WeeChat 0.4.0]
djcoin has joined #ocaml
ggole_ is now known as ggole
talzeus has joined #ocaml
talzeus__ has joined #ocaml
talzeus has quit [Ping timeout: 264 seconds]
ollehar has quit [Ping timeout: 260 seconds]
<pippijn>
BatUTF8 no longer has of_enum
<pippijn>
why?
chambart has joined #ocaml
buddyholly has quit [Ping timeout: 245 seconds]
Qrntz has quit [Ping timeout: 264 seconds]
ollehar has joined #ocaml
basus has joined #ocaml
mcclurmc has quit [Quit: Leaving.]
<pippijn>
also, why is BatUTF8.t no longer private and why is adopt gone?
Qrntz has joined #ocaml
<pippijn>
so what is the new way of doing a fold over a BatUTF8.t?
cdidd has quit [Ping timeout: 264 seconds]
cdidd has joined #ocaml
mcclurmc has joined #ocaml
basus has quit [Quit: basus]
Sim_n has joined #ocaml
Simn has quit [Ping timeout: 260 seconds]
cdidd has quit [Read error: Operation timed out]
cdidd has joined #ocaml
void64 has joined #ocaml
chambart has quit [Ping timeout: 268 seconds]
csakatoku has joined #ocaml
chambart has joined #ocaml
ollehar has quit [Read error: Operation timed out]
paddymahoney has joined #ocaml
ollehar has joined #ocaml
<hcarty>
pippijn: I haven't used BatUTF8, but I expect you could work around the issue by using BatText.of_string and BatText.fold.
<pippijn>
ah
<pippijn>
yes, maybe I should use BatText more
<pippijn>
but they are ropes :\
<pippijn>
BatUTF8.adopt doesn't allocate a new string
<hcarty>
The UTF8 support in Batteries isn't using Camomile anymore which may be why the functionality has changed.
<pippijn>
maybe
<pippijn>
but now BatUTF8 is more like Camomile.UTF8 than before
<pippijn>
it lost the additional functionality
<pippijn>
the enum stuff, the IO stuff (BatUTF8.print), of_char, ...
<pippijn>
all of that isn't in camomile but was in batteries
<pippijn>
now not anymore
darkf has quit [Quit: Leaving]
<hcarty>
It's all in BatText
<pippijn>
which is a heavy-weight rope
<hcarty>
Is it heavy enough to impact the performance of your program?
<pippijn>
I was using BatUTF8 simply as an intermediate to parse utf8 to uchar
mika1 has quit [Quit: Leaving.]
cago has left #ocaml []
derek_c has quit [Quit: leaving]
dnm_ has joined #ocaml
AltGr has joined #ocaml
dnm has quit [Ping timeout: 264 seconds]
<thomasga>
is there an easy way to generate a module 'M:S with type t = X of x | Y of y' if I already have module 'X: S with type t = x' and module 'Y: S with type t = y' ?
amirmc1 has quit [Ping timeout: 248 seconds]
<thomasga>
(without having to manually write all the wrappers for functions in S)
<thomasga>
any camlp4 extension doing that ? or first-class module trickery ?
turnersr has joined #ocaml
adrien_oww has quit [Ping timeout: 276 seconds]
adrien_oww has joined #ocaml
shinnya has joined #ocaml
beginner42 has quit [Quit: Leaving]
<hcarty>
thomasga: I have something for one source module but I haven't puzzled through/looked up the syntax for multiple source modules
companion_cube has quit [Ping timeout: 264 seconds]
companion_cube has joined #ocaml
<wmeyer>
adrien: thanks, I'm looking at your patch at the moment. You have to wait for the other reviewer (Damien) to approve it - the reason is that it's a serious change, I don't think it will harm, but I passed it to Damien for additional review
<wmeyer>
hi companion_cube
<companion_cube>
hi wmeyer
<pippijn>
hi wmeyer
<pippijn>
wmeyer: did you hear the big news?
<pippijn>
wmeyer: I'm using OPAM now
csakatoku has joined #ocaml
csakatoku has quit [Ping timeout: 240 seconds]
pkrnj has quit [Ping timeout: 264 seconds]
pkrnj has joined #ocaml
AltGr has quit [Quit: Konversation terminated!]
<wmeyer>
pippijn: OMG.
<wmeyer>
hi pippijn :-)
<pippijn>
it was a bit of a pain
<pippijn>
took me 2 hours
<wmeyer>
why 2h, it took me less than that
<pippijn>
and deriving-ocsigen is either broken or I don't know how to use it
<wmeyer>
oh you still use deriving-ocsigen
<pippijn>
2h to install everything with the right configuration options
<pippijn>
and then another 1-2h to update all the projects to batteries 2
<pippijn>
so what do people use now instead of deriving-ocsigen?
<wmeyer>
there is nothing as such
<wmeyer>
I think deriving-ocsigen is nice
<pippijn>
so why "still"?
<wmeyer>
you still introspect types that's what I meant
<wmeyer>
full reflection would be cool instead
<pippijn>
of course
<pippijn>
having the ability to dump values is very useful
<pippijn>
and I never really got into using the ocaml debugger
<pippijn>
and gdb is mostly useless for that purpose
<companion_cube>
man, networking is so complicated :(
<pippijn>
a big advantage deriving-ocsigen has over a debugger is that the printers can be customised
pkrnj has quit [Ping timeout: 240 seconds]
<pippijn>
for example, I have a type letter = char with a custom module Show_letter that overrides format_list and uses Show_string instead of actually printing the list of characters
<pippijn>
and it's even more useful for Map, where you can dump the bindings instead of the internal structure
thomasga has joined #ocaml
<wmeyer>
you can do it with Format too
<pippijn>
deriving uses Format
pkrnj has joined #ocaml
<wmeyer>
yes, I can see the gain
<pippijn>
I only used Format directly, once
<pippijn>
but there is a place where it might be useful
<pippijn>
in my old C parser
<pippijn>
I wrote that when I didn't know about Format, yet