samrat has quit [Quit: Computer has gone to sleep.]
Muzer has quit [Excess Flood]
samrat has joined #ocaml
leowzukw_ has quit [Ping timeout: 245 seconds]
leowzukw has joined #ocaml
Muzer has joined #ocaml
samrat has quit [Ping timeout: 245 seconds]
samrat has joined #ocaml
axiles has joined #ocaml
ggole has joined #ocaml
pyon has quit [Quit: boo]
nojb has joined #ocaml
pyon has joined #ocaml
anemator has joined #ocaml
anemator has quit [Client Quit]
q66[lap]_ has joined #ocaml
q66[lap] has quit [Ping timeout: 250 seconds]
q66[lap]_ is now known as q66[lap]
nojb has quit [Quit: nojb]
nojb has joined #ocaml
kapil__ has quit [Quit: Connection closed for inactivity]
nojb has quit [Client Quit]
samrat has quit [Quit: Computer has gone to sleep.]
koderok has joined #ocaml
koderok has quit [Client Quit]
uris77 has joined #ocaml
darkf_ has joined #ocaml
darkf_ has quit [Read error: Connection reset by peer]
darkf has quit [Ping timeout: 258 seconds]
samrat has joined #ocaml
pyon has quit [Ping timeout: 258 seconds]
pyon has joined #ocaml
travisbrady has joined #ocaml
larhat has quit [Quit: Leaving.]
struktured has quit [Ping timeout: 258 seconds]
jabroney1 has joined #ocaml
jabroney1 has left #ocaml [#ocaml]
hekmek has quit [Quit: Verlassend]
dav has joined #ocaml
dav has quit [Changing host]
dav has joined #ocaml
lordkryss has quit [Ping timeout: 272 seconds]
emmanueloga has quit [Ping timeout: 272 seconds]
jcloud has quit [Ping timeout: 272 seconds]
divyanshu has quit [Ping timeout: 244 seconds]
kalzz has quit [Ping timeout: 244 seconds]
ggherdov has quit [Ping timeout: 272 seconds]
bobpoekert has quit [Ping timeout: 272 seconds]
leifw has quit [Ping timeout: 272 seconds]
n1ftyn8 has quit [Ping timeout: 272 seconds]
cojy has quit [Ping timeout: 272 seconds]
n1ftyn8 has joined #ocaml
jcloud has joined #ocaml
lordkryss has joined #ocaml
leifw has joined #ocaml
bobpoekert has joined #ocaml
cojy has joined #ocaml
kalzz has joined #ocaml
divyanshu has joined #ocaml
emmanueloga has joined #ocaml
nojb has joined #ocaml
nojb has quit [Client Quit]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
psy has joined #ocaml
jonludlam has quit [Ping timeout: 272 seconds]
nojb has joined #ocaml
jao has quit [Ping timeout: 265 seconds]
ggherdov has joined #ocaml
pyon has quit [Ping timeout: 264 seconds]
WraithM has quit [Ping timeout: 245 seconds]
bytbox has joined #ocaml
Hannibal_Smith has quit [Quit: Leaving]
<Leonidas>
printing in ocaml kinda sucks. ppx_deriving Show ftw.
ontologiae_ has joined #ocaml
WraithM has joined #ocaml
hugomg has quit [Ping timeout: 240 seconds]
dav has quit [Ping timeout: 264 seconds]
<mrvn>
What's the syntax for open types again?
<nojb>
type t = …
<nojb>
type t = ..
<nojb>
two dots
<flux>
and type t += A of int
<mrvn>
# type t = ..;;
<mrvn>
Error: Syntax error
<mrvn>
time to update ocaml
samrat has quit [Ping timeout: 250 seconds]
<mrvn>
2 questions about GADTs: http://paste.debian.net/138726/ Can I avoid listing all variants on the (opt_)value_of_pair functions? Can I make key/pair independent of the witness/value type?
samrat has joined #ocaml
badkins has joined #ocaml
samrat has quit [Ping timeout: 244 seconds]
<Drup>
having an "assert false" in a thing using gadt is the sign that you are doing it really wrong.
<Drup>
first question: No
<Drup>
I don't understand the second question, I feel like you already did that.
<mrvn>
Drup: I wan't an: type 'a key = Key : 'b 'a -> 'a key
<Drup>
ah, you want hkt, then no.
<mrvn>
seems to need a functor
<Drup>
not directly at least
samrat has joined #ocaml
<mrvn>
If I only need one kind of key/pair I can do: type _ witness = .. type _ value = .. type key = Key : 'a witness -> key type pair = Pair : 'a witness * 'a value -> pair and then later add the variants.
<mrvn>
Which leaves me with the problem of value_of_pair
<ggole>
You want a GADT alist?
<ggole>
Usually you would use an equality witness
<mrvn>
I need an universal list
<Drup>
what you are doing is unnecesseray for a universal list
<ggole>
Then you would probably use Univ
<ggole>
(Or open types, in a recent version.)
<mrvn>
Drup: tell me more
<Drup>
what ggole said
<Drup>
also depends of what you want to do with your universal list
<ggole>
(I had that one sitting around too, after doing that hash table exercise.)
<mrvn>
ggole: Your Univ isn't typesafe enough for me I think. It's too universal.
<mrvn>
but I could hide that via .mli file
<ggole>
It's typesafe?
nojb has quit [Quit: nojb]
<ggole>
Or do you want to get rid of the option?
<mrvn>
ggole: No. I want a list that can only store witness / value pairs.
<ggole>
Something more like the GADT alist, then?
<ggole>
(But presumably with a different signature.)
nullcat has joined #ocaml
<mrvn>
Maybe I should start fresh and explain what I want overall. I'm writing a generic RL(k) parser. The parser takes a grammar as input. The grammar has a list of terminals, list of non-terminals, list of rules and a start symbol.
<mrvn>
A rule is a has a non-terminal as left hand side and a "list" of terminals/non-terminals as right hand side.
<mrvn>
The question is how to store the rules.
<mrvn>
Rules also have an attribution, a function taking one argument per right hand side symbol returning a new attribute.
<mrvn>
The right hand side and attribution types need to match in some way for type safety.
<ggole>
That does sound like a candidate for GADTs, but I don't ask me what the details would be...
<mrvn>
ggole: That's what I though. But I have a lot of terminals and non-terminals and listing every one of them in a match seems painfull.
<adrien>
Drup: re-mldonkey and BT, yes, lots of clients doing BT, like transmission, which fails at handling limits on the number of file descriptors
RossJH has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
RossJH has joined #ocaml
BitPuffin has quit [Ping timeout: 258 seconds]
RossJH has quit [Ping timeout: 265 seconds]
malc_ has joined #ocaml
govg has quit [Remote host closed the connection]
antegallya has quit [Ping timeout: 245 seconds]
travisbrady has joined #ocaml
ygrek has joined #ocaml
AlexRussia has quit [Ping timeout: 255 seconds]
enitiz has quit [Quit: Leaving]
lordkryss has quit [Quit: Connection closed for inactivity]
AlexRussia has joined #ocaml
axiles has quit [Quit: Quitte]
AlexRussia has quit [Ping timeout: 244 seconds]
MrScout_ has joined #ocaml
mcclurmc has joined #ocaml
AlexRussia has joined #ocaml
WraithM has quit [Remote host closed the connection]
rgrinberg has joined #ocaml
MrScout_ has quit [Remote host closed the connection]
<mrvn>
adrien: rtorrent handles it
ygrek has quit [Ping timeout: 272 seconds]
<mrvn>
mldonkey should use librtorrent
hugomg has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
ggole has quit []
struktured has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
travisbrady has quit [Quit: travisbrady]
hilquias has joined #ocaml
icicled has joined #ocaml
jao has quit [Ping timeout: 244 seconds]
psy has quit [Remote host closed the connection]
<flux>
rtorrent was the torrent program that dosen't support ipv6 because ipv4 was too deeply hardcoded in?
<flux>
in any case, isn't almost 90% of the point of mldonkey to have the torrent code in OCaml :)
nojb has quit [Quit: nojb]
<mrvn>
No, it's the nice gui
samrat has quit [Ping timeout: 265 seconds]
q66[lap]_ has joined #ocaml
<Drup>
I was convinced it was the elegant code.
uris77 has quit [Ping timeout: 244 seconds]
nojb has joined #ocaml
q66[lap] has quit [Ping timeout: 250 seconds]
<flux>
may your jokes be better next year :P
<Drup>
Never ! :d
Bluddy has joined #ocaml
<struktured>
hmm bit torrent api in ocaml...for some reason that that is alluring
<flux>
simply extract the api from mldonkey
<flux>
..I tried that once, gave up
<flux>
but nowadays there appears to be actually a separate bittorrent module (bt) in addition to b-encoding library (bencode)
* struktured
starts thinking of strange ways he could use the bit torrent protocol
<nojb>
FYI, I wrote the `bt` library , which is functional (can download torrents), but I would classify it more as a proof of concept than anything serious … It is in need of refactoring and could be improved, but there needs to be a reason to do so :)
<struktured>
nojb: cool, thanks for the heads up. if I come up with something worth doing w/torrents I will consider it
<flux>
nojb, seems well structured though. good job :). perhaps a few comments in the interface would serve well..
<nojb>
flux: sure, would really appreciate any and all comments (esp. interface ones) !
ygrek has joined #ocaml
ygrek has quit [Ping timeout: 244 seconds]
<adrien>
mrvn: I'm sure we can find issues in rtorrent too :)
<adrien>
mldonkey's code is awful but it works well and is ocaml and therefore comes with several benefits
Muzer has quit [Excess Flood]
araujo has quit [Read error: Connection reset by peer]
araujo has joined #ocaml
RossJH has joined #ocaml
Arsenik has quit [Remote host closed the connection]
Muzer has joined #ocaml
enitiz has joined #ocaml
keen__________20 has joined #ocaml
keen__________19 has quit [Ping timeout: 240 seconds]
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
hugomg has quit [Ping timeout: 245 seconds]
shinnya_ has quit [Ping timeout: 258 seconds]
seliopou has quit [Ping timeout: 258 seconds]
ruoso has quit [Ping timeout: 258 seconds]
sivoais has quit [Ping timeout: 258 seconds]
enitiz has quit [Ping timeout: 258 seconds]
bjorkintosh has quit [Ping timeout: 258 seconds]
sars has quit [Ping timeout: 258 seconds]
pdewacht has quit [Ping timeout: 258 seconds]
pgas has quit [Ping timeout: 258 seconds]
w0rp has quit [Ping timeout: 258 seconds]
dmbaturin has quit [Ping timeout: 258 seconds]
jbalint has quit [Ping timeout: 258 seconds]
willy_ has quit [Ping timeout: 258 seconds]
pippijn has quit [Ping timeout: 258 seconds]
j0sh has quit [Ping timeout: 258 seconds]
contempt has quit [*.net *.split]
sgnb has quit [*.net *.split]
bernardofpc has quit [*.net *.split]
deavid has quit [*.net *.split]
diethyl has quit [*.net *.split]
araujo has quit [*.net *.split]
martintrojer has quit [*.net *.split]
jerith has quit [*.net *.split]
lnich has quit [*.net *.split]
robink has quit [*.net *.split]
alinab has quit [*.net *.split]
keen__________20 has quit [*.net *.split]
hilquias has quit [*.net *.split]
oscar_toro has quit [*.net *.split]
brendan_ has quit [*.net *.split]
_5kg has quit [*.net *.split]
sigjuice has quit [*.net *.split]
hnrgrgr has quit [*.net *.split]
jlouis has quit [*.net *.split]
RossJH has quit [*.net *.split]
AlexRussia has quit [*.net *.split]
ivan\ has quit [*.net *.split]
myst|work has quit [*.net *.split]
testcocoon has quit [*.net *.split]
malc_ has quit [*.net *.split]
kalzz has quit [*.net *.split]
jbrown has quit [*.net *.split]
esden has quit [*.net *.split]
Snark has quit [*.net *.split]
mal`` has quit [*.net *.split]
oskarth has quit [*.net *.split]
strmpnk has quit [*.net *.split]
relrod has quit [*.net *.split]
badon has quit [*.net *.split]
NoNNaN has quit [*.net *.split]
nicoo has quit [*.net *.split]
shinnya has quit [*.net *.split]
girrig has quit [*.net *.split]
jpdeplaix has quit [*.net *.split]
pii4 has quit [*.net *.split]
ygu has quit [*.net *.split]
alkoma has quit [*.net *.split]
bytbox has quit [*.net *.split]
fraggle-boate_ has quit [*.net *.split]
demonimin has quit [*.net *.split]
segmond has quit [*.net *.split]
cdidd has quit [*.net *.split]
patronus has quit [*.net *.split]
kerneis_ has quit [*.net *.split]
ousado has quit [*.net *.split]
Nahra has quit [*.net *.split]
wormphle1m has quit [*.net *.split]
gasche has quit [*.net *.split]
vbmithr has quit [*.net *.split]
mrvn has quit [*.net *.split]
n0v has quit [*.net *.split]
cojy has quit [*.net *.split]
ggherdov has quit [*.net *.split]
n1ftyn8 has quit [*.net *.split]
leifw has quit [*.net *.split]
tharugrim has quit [*.net *.split]
stux has quit [*.net *.split]
Simn has quit [*.net *.split]
kakadu has quit [*.net *.split]
Leonidas has quit [*.net *.split]
myyst has quit [*.net *.split]
sheijk has quit [*.net *.split]
luigy has quit [*.net *.split]
Haudegen has quit [*.net *.split]
c74d has quit [*.net *.split]
msch has quit [*.net *.split]
averell has quit [*.net *.split]
voglerr1 has quit [*.net *.split]
majoh has quit [*.net *.split]
flux has quit [*.net *.split]
nojb has quit [*.net *.split]
divyanshu has quit [*.net *.split]
emmanueloga has quit [*.net *.split]
bobpoekert has quit [*.net *.split]
jcloud has quit [*.net *.split]
milosn has quit [*.net *.split]
funtik_ has quit [*.net *.split]
cthuluh has quit [*.net *.split]
Riviera_ has quit [*.net *.split]
hannes has quit [*.net *.split]
sol__ has quit [*.net *.split]
zozozo has quit [*.net *.split]
hsuh has quit [*.net *.split]
kandu has quit [*.net *.split]
dmiles has quit [*.net *.split]
mearnsh has quit [*.net *.split]
Ptival has quit [*.net *.split]
fraggle_ has quit [*.net *.split]
abbe has quit [*.net *.split]
chris2 has quit [*.net *.split]
hcarty has quit [*.net *.split]
rom1504 has quit [*.net *.split]
jeroud has quit [*.net *.split]
SHODAN has quit [*.net *.split]
maurer has quit [*.net *.split]
clog has quit [*.net *.split]
engil has quit [*.net *.split]
thegameg has quit [*.net *.split]
mehdi_ has quit [*.net *.split]
companion_cube has quit [*.net *.split]
rwmjones_on_hols has quit [*.net *.split]
tg has quit [*.net *.split]
ddosia has quit [*.net *.split]
iZsh has quit [*.net *.split]
def` has quit [*.net *.split]
whitequark has quit [*.net *.split]
lupine has quit [*.net *.split]
asmanur has quit [*.net *.split]
bbc has quit [*.net *.split]
gperetin has quit [*.net *.split]
Asmadeus has quit [*.net *.split]
thorsten` has quit [*.net *.split]
PM` has quit [*.net *.split]
micrypt has quit [*.net *.split]
Unhammer has quit [*.net *.split]
ohama has quit [*.net *.split]
vincom2 has quit [*.net *.split]
johnelse has quit [*.net *.split]
so has quit [*.net *.split]
gustav___ has quit [*.net *.split]
reynir has quit [*.net *.split]
SuperNoeMan has quit [*.net *.split]
fold has quit [*.net *.split]
cross has quit [*.net *.split]
bcuccioli has quit [*.net *.split]
ttm has quit [*.net *.split]
bacam has quit [*.net *.split]
struk|dtut has quit [*.net *.split]
Muzer has quit [*.net *.split]
q66[lap]_ has quit [*.net *.split]
badkins has quit [*.net *.split]
bugabinga has quit [*.net *.split]
gdsfh has quit [*.net *.split]
Reventlov has quit [*.net *.split]
madroach has quit [*.net *.split]
acieroid` has quit [*.net *.split]
troydm has quit [*.net *.split]
thizanne has quit [*.net *.split]
Tekk_ has quit [*.net *.split]
wting has quit [*.net *.split]
dinosaure2 has quit [*.net *.split]
tizoc has quit [*.net *.split]
ski has quit [*.net *.split]
Khady has quit [*.net *.split]
Darnuria has quit [*.net *.split]
emias has quit [*.net *.split]
ia0 has quit [*.net *.split]
vpm has quit [*.net *.split]
S11001001 has quit [*.net *.split]
xorpse has quit [*.net *.split]
inr_ has quit [*.net *.split]
burgobianco has quit [*.net *.split]
srax has quit [*.net *.split]
dwoos has quit [*.net *.split]
pollux has quit [*.net *.split]
smondet has quit [*.net *.split]
tobiasBora has quit [*.net *.split]
gargawel has quit [*.net *.split]
xaimus_ has quit [*.net *.split]
binarybitme has quit [*.net *.split]
Drup has quit [*.net *.split]
orbitz has quit [*.net *.split]
xiaolin has quit [*.net *.split]
_2can has quit [*.net *.split]
Pepe_ has quit [*.net *.split]
srcerer has quit [*.net *.split]
cartwright has quit [*.net *.split]
tokenrove has quit [*.net *.split]
tianon has quit [*.net *.split]
dbrumley has quit [*.net *.split]
Cypi has quit [*.net *.split]
Armael has quit [*.net *.split]
Antoine59 has quit [*.net *.split]
WanderingGlitch has quit [*.net *.split]
CissWit has quit [*.net *.split]
_whitelogger_ has joined #ocaml
rfv has joined #ocaml
Bluddy has joined #ocaml
__marius______ has joined #ocaml
lopex has joined #ocaml
mawuli has joined #ocaml
dch has joined #ocaml
andreypopp__ has joined #ocaml
igitoor has joined #ocaml
igitoor has quit [Changing host]
badkins has quit [Remote host closed the connection]
badkins has joined #ocaml
nojb has quit [Quit: nojb]
hugomg has joined #ocaml
nojb has joined #ocaml
nojb has quit [Client Quit]
nullcat has joined #ocaml
kakadu has quit [Quit: Konversation terminated!]
<nullcat>
how to you pronounce 'Lwt'? just say 'L' 'W' and 'T'? Is it French...?
<struktured>
nullcat: I hear from people as "lute"