Yoric has quit [Remote host closed the connection]
Yoric has joined #ocaml
lolcathost has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
Yoric has quit [Ping timeout: 246 seconds]
myx has joined #ocaml
hcarty has quit [Ping timeout: 265 seconds]
lolcathost has joined #ocaml
hcarty has joined #ocaml
hongboz has quit [Read error: Operation timed out]
lolcathost has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
jewel has joined #ocaml
emmanuelux has joined #ocaml
asmanur has quit [Ping timeout: 248 seconds]
asmanur has joined #ocaml
emmanuelux has quit [Remote host closed the connection]
mattrepl has quit [Quit: mattrepl]
lolcathost has joined #ocaml
fayden has quit [Quit: Bye]
jewel has quit [Ping timeout: 265 seconds]
fayden has joined #ocaml
fayden has quit [Client Quit]
fayden has joined #ocaml
eni has joined #ocaml
fayden has quit [Quit: Bye]
fayden has joined #ocaml
eni has quit [Quit: Leaving]
gour has joined #ocaml
weie has quit [Quit: Leaving...]
ontologiae has joined #ocaml
rwmjones has quit [Ping timeout: 250 seconds]
Yoric has joined #ocaml
rwmjones has joined #ocaml
Yoric has quit [Ping timeout: 252 seconds]
ontologiae has quit [Ping timeout: 252 seconds]
Kakadu has joined #ocaml
Snark_ has joined #ocaml
ikaros has joined #ocaml
weie has joined #ocaml
ontologiae has joined #ocaml
Yoric has joined #ocaml
ikaros has quit [Read error: Connection reset by peer]
ikaros has joined #ocaml
Snark_ is now known as Snark
xavierm02 has joined #ocaml
mcclurmc has joined #ocaml
leoncamel has joined #ocaml
tane has joined #ocaml
mcclurmc has quit [Ping timeout: 265 seconds]
mcclurmc has joined #ocaml
leoncamel has quit [Quit: WeeChat 0.3.9.2]
leoncamel has joined #ocaml
Yoric has quit [Ping timeout: 252 seconds]
Yoric has joined #ocaml
myx has quit [Ping timeout: 245 seconds]
leoncamel has quit [Client Quit]
leoncamel has joined #ocaml
mcclurmc has quit [Ping timeout: 260 seconds]
xavierm02 has quit [Quit: Leaving]
mye has joined #ocaml
ulfdoz has joined #ocaml
<orbitz>
Hi
<Kakadu>
hey
<orbitz>
I can do val foo : [> `Foo ], but I can't do type t = [> `Foo ];; val foo : t. I have to do type t = [ `Foo ]. Are they semantically the same though?
tane has quit [Quit: Verlassend]
<Kakadu>
orbitz: It seems you know about open and closed variant types
<Kakadu>
why don't you want to write
<Kakadu>
# (foo :> t);;
<Kakadu>
- : t = `Foo
<Kakadu>
?
asmanur has quit [Read error: Operation timed out]
asmanur has joined #ocaml
* gour
notices that the info @gmane about ocaml list is misleading 'cause it's not enough to reply to gmane's auth msg., but one has to do another confirm with the mailing list software
ulfdoz has quit [Ping timeout: 252 seconds]
<troydm>
what's the difference between GADT and ADT ?
ulfdoz has joined #ocaml
<troydm>
never minda i've just figured it out
<rwmjones>
troydm: extlib has some ways to split strings
<rwmjones>
gaaa
<rwmjones>
sorry, I was scrolled back in the history a long way :-(
<troydm>
rwmjones: no problem
<troydm>
rwmjones: is extlib a part of core?
<troydm>
or i should install it?
<rwmjones>
no it's another library
<troydm>
ic
<rwmjones>
it was an initial attempt to do what core does much more broadly
<rwmjones>
but it's still got useful stuff in it
leoncamel has quit [Ping timeout: 255 seconds]
ulfdoz has quit [Ping timeout: 245 seconds]
Neros has quit [Read error: Connection reset by peer]
<fasta>
How can I output something in a given color?
<pippijn>
output to where?
<Kakadu>
It seems that to terminal emulator
<fasta>
Terminal emulator.
<pippijn>
ansi escape sequences then
<fasta>
pippijn: isn't there some library to do this?
<pippijn>
oh, there is ncurses
<fasta>
That has much wider scope.
<fasta>
I am not even sure whether it contains just a single function to output something in a given color.
<pippijn>
no
<pippijn>
it needs 2
<fasta>
Moreover, it would be much nicer if one could annotate a pretty printer with color and then output than with a given renderer.
<pippijn>
one to set the colour and one to write
<pippijn>
yes, that would be nice
<fasta>
Haskell already has such libraries.
<Qrntz>
there was ANSITerminal and something else too
<Qrntz>
I don't remember now
ikaros has quit [Quit: Ex-Chat]
<fasta>
ansicolor seems to do it.
ulfdoz has joined #ocaml
<fasta>
Can I lex/yacc utf-8 strings?
<fasta>
(that is, using the OCaml tools)
tane has joined #ocaml
eikke has joined #ocaml
<fasta>
ulex seems to do that.
mcclurmc has joined #ocaml
<pippijn>
ulex, yes
<fasta>
menhir is at least documented.
<fasta>
However, how can I integrate menhir into an oasis build?
<pippijn>
oasis has explicit support for menhir
<pippijn>
it mostly just works
<pippijn>
fasta: why do you need an utf-8 lexer?
<fasta>
pippijn: well, I think it is utf-8, but it's a file which contains about 50 languages or so.
<pippijn>
actually ulex is not an utf8 lexer, it's a unicode lexer
wmeyer` has joined #ocaml
<wmeyer`>
hi
<pippijn>
hi
<fasta>
pippijn: how do you mean it just works?
<fasta>
pippijn: don't I need to refer to it somewhere?
<pippijn>
you put a .mly file into your source tree and add the module name to oasis
<pippijn>
if you want to use menhir, you put true: use_menhir in your _tags
<wmeyer`>
fasta: yes, that works for me too
<wmeyer`>
actually oh sleepy - i thought tou say about mlypack feture
<pippijn>
mlypack works fine, too
<pippijn>
fasta: why is a byte lexer not good enough?
mcclurmc has quit [Ping timeout: 256 seconds]
<pippijn>
because you never *need* a unicode lexer
<pippijn>
utf-8 are bytes, too
<pippijn>
unicode lexer generators like ulex are useful for unicode code point ranges
<fasta>
pippijn: perhaps for the actual lexing it is good enough, but I do need to output utf-8 at some point.
<pippijn>
but that's it, really
<fasta>
If I wanted to match on some unicode code points, then I'd definitely need it, wouldn't I?
<pippijn>
no
<fasta>
Unless I wanted to manually turn characters into bytes.
<pippijn>
if you want to match on ☺, then you can just put "☺"
<fasta>
pippijn: ok, so then what is the point of ulex?
<pippijn>
unicode code point ranges
<fasta>
pippijn: yes, but ☺ is in the unicode code point range and outside ASCII.
<pippijn>
no
<pippijn>
I mean ranges
<pippijn>
intervals
<fasta>
pippijn: ok, I now understand what you mean.
<pippijn>
['☹' - '☺']
<pippijn>
in my tests, ulex was quite a lot (2x) slower than ocamllex
<pippijn>
of course the fastest lexer I know is re2ml (2x faster than ocamllex)
<pippijn>
</shameless self-promotion>
<fasta>
Where can I put that menhir stuff? I am seeing # OASIS_START (with a matching STOP)
<pippijn>
and if wmeyer` continues his work on dragonkit, it can probably be 4x faster
<pippijn>
fasta: at the end of _tags
<fasta>
re2ml is rather impossible to find on Google.
<pippijn>
fasta: yes, it's not out yet
<pippijn>
wmeyer`: I am really curious how fast it can get with JIT
<fasta>
Is there some way to incrementally develop a grammar with e.g. menhir?
<pippijn>
fasta: menhir --interpret
<pippijn>
or something
<fasta>
In Haskell, I just start with part of the grammar and build my way up.
<pippijn>
ah
<pippijn>
yes, in menhir you can have multiple start symbols
<pippijn>
so you can develop and test parts of the grammar
<pippijn>
--interpret also supports multiple start symbols
<troydm>
Error: This kind of expression is not allowed as right-hand side of `let rec'
mcclurmc has quit [Ping timeout: 244 seconds]
eni has joined #ocaml
tane has quit [Read error: Connection timed out]
mcclurmc has joined #ocaml
mcclurmc has quit [Read error: No route to host]
mcclurmc has joined #ocaml
mcclurmc has quit [Ping timeout: 252 seconds]
Yoric has quit [Ping timeout: 246 seconds]
eikke has joined #ocaml
fraggle_ has joined #ocaml
eikke has quit [Ping timeout: 265 seconds]
<troydm>
does ocaml do an tail call optimizations?
<troydm>
on recursive functions?
<Qrntz>
of course.
mcclurmc has joined #ocaml
<troydm>
Qrntz: well apparently the method i've posted didn't do any optimizations
<troydm>
the pastebin
<Qrntz>
exception handling breaks TCO
<Qrntz>
you could move the code between «try» and «with» into an auxiliary function that'd be properly tail-recursive and then handle the exception it terminates on
<Qrntz>
(probably)
<troydm>
yeah i did just that and it worked!
<troydm>
thx
<troydm>
and Merry Christmas! :)
mcclurmc has quit [Ping timeout: 264 seconds]
<Qrntz>
happy holidays to you as well!
lamawithonel has joined #ocaml
gour has quit [Quit: WeeChat 0.3.8]
eni has quit [Ping timeout: 252 seconds]
gnuvince has quit [Quit: Remember when men were men and regular expressions recognized regular languages?]
jewel has quit [Ping timeout: 265 seconds]
hongboz has quit [Remote host closed the connection]
eni has joined #ocaml
lamawithonel has quit [Read error: Connection reset by peer]
lamawithonel has joined #ocaml
lamawithonel has quit [Client Quit]
lamawithonel has joined #ocaml
mcclurmc has joined #ocaml
lamawithonel has quit [Read error: Connection reset by peer]
lamawithonel has joined #ocaml
eni has quit [Quit: Leaving]
lamawithonel has quit [Read error: Connection reset by peer]
lamawithonel_ has joined #ocaml
mcclurmc has quit [Ping timeout: 244 seconds]
Yoric has joined #ocaml
lamawithonel__ has joined #ocaml
lamawithonel_ has quit [Read error: Connection reset by peer]
Yoric has quit [Ping timeout: 252 seconds]
lamawithonel has joined #ocaml
tane has joined #ocaml
lamawithonel__ has quit [Read error: Connection reset by peer]
lamawithonel has quit [Ping timeout: 246 seconds]
cdidd has joined #ocaml
lamawithonel has joined #ocaml
fayden has quit [Ping timeout: 252 seconds]
lamawithonel has quit [Remote host closed the connection]
lamawithonel has joined #ocaml
fayden has joined #ocaml
lamawithonel_ has joined #ocaml
lamawithonel has quit [Read error: Connection reset by peer]
itewsh has joined #ocaml
itewsh has quit [Quit: o/]
lamawithonel_ has quit [Read error: Connection reset by peer]
lamawithonel_ has joined #ocaml
lamawithonel_ has quit [Client Quit]
lamawithonel_ has joined #ocaml
lamawithonel_ has quit [Read error: Connection reset by peer]
lamawithonel_ has joined #ocaml
lamawithonel__ has joined #ocaml
lamawithonel_ has quit [Read error: Connection reset by peer]
lamawithonel__ has quit [Read error: Connection reset by peer]
lamawithonel__ has joined #ocaml
lamawithonel has joined #ocaml
lamawithonel__ has quit [Read error: Connection reset by peer]
tane has quit [Read error: Connection timed out]
lamawithonel has quit [Ping timeout: 252 seconds]
tane has joined #ocaml
yezariaely has quit [Ping timeout: 240 seconds]
yezariaely has joined #ocaml
emmanuelux has quit [Quit: emmanuelux]
emmanuelux has joined #ocaml
wmeyer` has joined #ocaml
Nahra has joined #ocaml
yezariaely has quit [Ping timeout: 246 seconds]
yezariaely has joined #ocaml
Nahra has quit [Quit: leaving]
yezariaely has quit [Ping timeout: 245 seconds]
eikke has joined #ocaml
ontologiae has joined #ocaml
yezariaely has joined #ocaml
eikke has quit [Ping timeout: 265 seconds]
eikke has joined #ocaml
yezariaely has quit [Ping timeout: 245 seconds]
tane has quit [Quit: Verlassend]
yezariaely has joined #ocaml
eikke has quit [Ping timeout: 252 seconds]
eikke has joined #ocaml
fayden has quit [Quit: Bye]
fayden has joined #ocaml
ontologiae has quit [Ping timeout: 265 seconds]
emmanuelux has quit [Remote host closed the connection]