postalchris has quit [Read error: 110 (Connection timed out)]
psnively has quit []
seafood has quit [Remote closed the connection]
seafood has joined #ocaml
coucou747 has quit ["bye ca veut dire tchao en anglais"]
structured has quit ["Konversation terminated!"]
Modius_ is now known as Modius
Ramzi has joined #ocaml
middayc_ has quit []
alexyk has joined #ocaml
alexyk has quit []
Ramzi has quit [Read error: 110 (Connection timed out)]
evn has quit []
alexyk has joined #ocaml
alexyk has quit [Client Quit]
netx has quit ["Leaving"]
pango_ has quit [Remote closed the connection]
pango_ has joined #ocaml
m3ga has joined #ocaml
m3ga has quit [Read error: 104 (Connection reset by peer)]
m3ga has joined #ocaml
<palomer>
whew
<palomer>
4000 loc
adu has joined #ocaml
<palomer>
man, I love ocaml
<adu>
hi
<adu>
tell me about ocaml
<palomer>
you can fake disjoint types with polymorphic variants
<palomer>
sweet!
<palomer>
adu, ask away!
<adu>
disjoint types as in tagged unions?
<adu>
so in the type algebra, disjoint types is multiplication right?
<adu>
or is that addition?
<palomer>
I always get my terminology wrong
<adu>
no no, I remember now
<adu>
A | B is addition
<adu>
and A x y z is multiplication
<adu>
but then again, I'm thinking in Haskell, I don't know ocaml
<palomer>
a * b is multiplication
<palomer>
A x y z is application
<palomer>
if we're talking about types, I don't think ocaml, it would be (x,y,z) a
<adu>
then was tuples multiplication?
<palomer>
hmm?
<adu>
n/m
<adu>
I should probably read some papers on type theory
<palomer>
it's rather boring stuff
<palomer>
and I did my masters in it!
<adu>
well, I think the zipper = derivative thing is pretty cool
<palomer>
derivative?
<adu>
and since my work is in continuous iteration of formal power series, I'm starting to wonder if the things I know can be applied to types as well
alexyk has joined #ocaml
<palomer>
the zipper being that thing that allows you to edit datastructures locally, right?
<adu>
yes
<palomer>
how is it = derivative?
<adu>
well, if you define disjoint types as addition, and record/tuples as multiplication, then the derivative of a binary tree (Node, Tree, Tree) = 1 + Tree^2 is 2*Tree,
<adu>
and this somehow represents a zipper
<adu>
i don't remember, theres a bunch of papers about it
<palomer>
that's cool
<palomer>
I tried using the zipper for my project
<palomer>
but it was untenable
<adu>
untenable?
<palomer>
didn't fit my needs
<palomer>
wasn't flexible enough
<palomer>
I wanted to be able to edit any part of the tree at anytime
<adu>
then you probably need an Arrow too
<palomer>
well, erm, I wanted to be able to edit any part of the tree
<adu>
why couldn't you do that?
<palomer>
and then come back to my original position
<adu>
I don't know the specifics, but it sounds like you wanted to do either a stateful thing or a parallel thing, both of which can be represented by arrows
dobblego has joined #ocaml
<palomer>
it's a haskell invasion!
<adu>
heh
<palomer>
adu, the problem was that I had no way to ensure the path back to my original node would stay the same
<palomer>
besides, I've managed to avoid all the pitfalls of using pointers
<adu>
hmm
<adu>
interesting
<adu>
I love datatypes
<adu>
So what was your masters about?
<palomer>
GADTs
<palomer>
ironically, I've just today accomplished what I was supposed to accomplish in my masters thesis
<palomer>
(this is a year after graduation)
alexyk has quit []
alexyk has joined #ocaml
<palomer>
polymorphic variants = best thing ever
netx has joined #ocaml
adu has quit []
<palomer>
the only thing I don't like about polymorphic variants is the ugly error messages
<palomer>
one thing about them though: can't live without'em
<orbitz>
"The declaration of a variant type lists all possible shapes for values of that type. Each case is identified by a name, called a constructor, which serves both for constructing values of the variant type and inspecting them by pattern-matching. Constructor names are capitalized to distinguish them from variable names (which must start with a lowercase letter)."
<orbitz>
perhaps ` changes that
<orbitz>
but i don't see anything that suggests it
m3ga has quit ["disappearing into the sunset"]
<palomer>
from my understanding, polymorphic variants are a different beast altogether
<orbitz>
is there any reason you are usign ` and not making yoru vairante capialize dif you aren't quite sure waht ` does or if a variant can be lowercase?
* palomer
is an idiot!
<palomer>
I know what ` does!
<orbitz>
?
<palomer>
here's my understanding on the subject
<palomer>
normal variants are of the form type a = Foo1 | ... | Foon
<palomer>
polymorphic variants are of the form type a = [`foo1 | ... | Foon]
<palomer>
err
<palomer>
polymorphic variants are of the form type a = [`foo1 | ... | `foon]
<orbitz>
not according to the example on the website
<flx>
there must be something (obvious?) I'm missing or doing wrong.. with polygon's I've also tried putting them in both cw and ccw order
ikaros has joined #ocaml
authentic has quit [leguin.freenode.net irc.freenode.net]
olleolleolle has joined #ocaml
olleolleolle has left #ocaml []
authentic has joined #ocaml
middayc has joined #ocaml
Yoric[DT] has joined #ocaml
<Yoric[DT]>
hi
naufraghi has joined #ocaml
middayc has quit []
olleolleolle has joined #ocaml
bluestorm has joined #ocaml
Linktim has joined #ocaml
<rwmjones>
flx, I did some bindings for ode (a bit different from chipmunk, I know)
<rwmjones>
unfortunately ode is really hard to bind correctly because of the hidden relationships between the ode objects
<det>
Does there exist something like Python's struct module for ocaml? I need to pack various sized integers into network byte order.
filp has joined #ocaml
<qwr>
output_binary_int?
<det>
I don't need to output it.
<det>
I guess I can use bitwise operations and then use Char.chr for each byte
Yoric[DT] has quit [Read error: 113 (No route to host)]
naufraghi has quit []
naufraghi has joined #ocaml
evn has quit []
alexyk has quit []
Yoric[DT] has joined #ocaml
naufraghi_ has joined #ocaml
naufraghi has quit [Read error: 104 (Connection reset by peer)]
naufraghi has joined #ocaml
* rwmjones
is missing something obvious here
naufraghi_ has quit [Read error: 104 (Connection reset by peer)]
<rwmjones>
is there not an ocamldep option to make it omit deps in system directories?
naufraghi_ has joined #ocaml
al-maisan has joined #ocaml
naufraghi has quit [Read error: 104 (Connection reset by peer)]
<bluestorm>
is wiki.cocan.org down ?
olleolleolle has quit []
Linktim_ has joined #ocaml
<Yoric[DT]>
rwmjones: are you the Richard Jones who sent me an e-mail ?
<rwmjones>
I am
<Yoric[DT]>
ok
<rwmjones>
and indeed we talked in paris in jan
<Yoric[DT]>
I remember.
<Yoric[DT]>
I was just unsure about middle initials.
<rwmjones>
replying ...
Linktim- has joined #ocaml
<bluestorm>
Yoric[DT]: i think that you should also ask yourself how much conservative the batteries should be
<bluestorm>
(and, also, how large they should be)
<rwmjones>
it's such a shame I've got to change my nice /\ intersection operator ...
<bluestorm>
what i found funny in that thread is that, due to a font problem, half the UTF characters you wrote looked like a little white scare on my side
Linktim has quit [Read error: 110 (Connection timed out)]
<Yoric[DT]>
:)
<Yoric[DT]>
bluestorm: I'm trying to be conservative.
<Yoric[DT]>
For the moment, on my side, batteries is two things
<Yoric[DT]>
* an extension of ExtLib
<Yoric[DT]>
* a different packaging of both ExtLib and the standard library
hkBst has joined #ocaml
<Yoric[DT]>
The extension of ExtLib is not 100% identical (although I'm currently backtracking on several of the changes I had to do).
<bluestorm>
so you do not plan on, for example, including ocamlnet ?
<Yoric[DT]>
I'd like to do something such.
<Yoric[DT]>
But I'm not planning to take big initiatives like this before discussing it on the mailing-list.
Linktim_ has quit [Read error: 110 (Connection timed out)]
<Yoric[DT]>
Eventually, I assume that, on the library side, batteries will be something like 7-8 existing libraries, repackaged, with perhaps a few patches to get them to fit together.
<bluestorm>
how often would you synchronize source changes ?
<Yoric[DT]>
I plan to submit all the patches upstream. If they're accepted, hopefully, we won't have to synchronize source changes at all, we can just rely on package managers.
<Yoric[DT]>
For the libraries which need patches but where patches would break things, we'll need to think about it.
jlouis has joined #ocaml
sporkmonger has quit []
<flx>
yoric[dt], will the libraries live in a state of flux before solidifying into an actual release? or 1.0 straight away?
<Yoric[DT]>
flux
<Yoric[DT]>
I'm afraid we don't have the manpower to test everything properly before committing to a 1.0 release.
<Yoric[DT]>
It is my hope that solidification will be quick, but there's no way I can be sure.
struktured_ has joined #ocaml
<flx>
hm, are the libs already available, via some version control system?
<flx>
rwmjones, chipmunk afaik is much simpler, possibly somewhat faster, and most importantly does only 2d
<flx>
but 2d is often enough for toys, games
<flx>
I'm actually writing one (game) right now with it, but the collision problem has been persistent :)
<flx>
perhaps I need to take a working example and reduce it to my proof of non-workingness to see wha's different..
struktured_ has quit ["This computer has gone to sleep"]
<flx>
so what's it really under?
<bluestorm>
svn, so far
<flx>
I suppose svk would work with that then, forge is not yet in the dvcs world of the 2008?-)
<bluestorm>
there is a mostly-working darcs and git service
<bluestorm>
actually, i think a git for the batteries is in progress
LordMetroid has quit [Read error: 110 (Connection timed out)]
<Yoric[DT]>
I was promised a git for batteries :)
olleolleolle has joined #ocaml
Smerdyakov has quit ["go"]
olleolleolle has quit []
pango has quit [Remote closed the connection]
<Yoric[DT]>
flx: if you're interested, I'm putting together a document of what has been done so far and what needs to be done in the near future.
coucou747 has joined #ocaml
kotarak has joined #ocaml
lordmetroid_ has quit [Client Quit]
Snark_ has joined #ocaml
Snark_ is now known as Snark
Linktim- is now known as Linktimaw
naufraghi has joined #ocaml
chammiya has joined #ocaml
chammiya has quit [Client Quit]
RobertFischer has joined #ocaml
ikaros_ has joined #ocaml
qwr has quit ["tuumavahetus..."]
<hcarty>
palomer: It was several hours ago that you asked, but you can '#use "foo.ml";;' from the OCaml repl
<hcarty>
Yoric[DT]: If you have any interest in learning git between now and when you have your official git repo on the forge, git-svn seems to work fairly well
naufraghi_ has quit [Read error: 113 (No route to host)]
<hcarty>
It allows you to use git locally and feed changes back to an upstream Subversion repository
ikaros has quit [Read error: 110 (Connection timed out)]
<cguru10>
its not really ocaml related but i was wondering if its more popular in france to buy a .fr domain or is it to buy a .com domain ?
<cguru10>
in UK its more common to buy a .com in italty its more common to buy an .it
<bluestorm>
unless your site is strictly french-related, i think a .com is more appropriate
<cguru10>
are you in france ?
<bluestorm>
i am
<cguru10>
ok
<cguru10>
thanks bluestorm
middayc has joined #ocaml
zepolen has joined #ocaml
<zepolen>
heh
zepolen has left #ocaml []
postalchris has joined #ocaml
Linktimaw is now known as Linktim-
naufraghi_ has joined #ocaml
naufraghi_ has quit [Read error: 113 (No route to host)]
naufraghi_ has joined #ocaml
naufraghi_ has quit [Client Quit]
rwmjones has quit ["Closed connection"]
al-maisan has quit ["Leaving."]
naufraghi has quit [Read error: 113 (No route to host)]
cguru10 has left #ocaml []
<palomer>
anyone know if a list difference function exists in the stdlib or in Ext?
<palomer>
diff [1,2,8,10] [1,2] = [8,10]
<bluestorm>
afaik there isn't
Linktim- has quit [Read error: 113 (No route to host)]
* qwr
. o O ( who cares how the domain ends? )
Linktim has joined #ocaml
<flx>
there is set difference, but then again I don't think there's a function to convert a set to a list or vice versa :) (even though it's simple)
<flx>
phew, finally converted the demo.ml from chipmunk to use the oo-interface (which I was using) - it still works, so time to investigate further :)
evn has joined #ocaml
<qwr>
flx: Set.Make.elements and List.fold_left (fun l x -> x :: l) ?