clam has quit [Read error: 60 (Operation timed out)]
reltuk has quit [SendQ exceeded]
reltuk has joined #ocaml
reltuk has quit [SendQ exceeded]
reltuk has joined #ocaml
reltuk has quit [Excess Flood]
reltuk has joined #ocaml
reltuk has quit [Excess Flood]
reltuk has joined #ocaml
polin8 has quit ["Lost terminal"]
polin8 has joined #ocaml
reltuk has quit [Excess Flood]
reltuk has joined #ocaml
Kinners has joined #ocaml
lus|wazze has joined #ocaml
jdmarshall has joined #ocaml
jdmarshall has quit [Read error: 60 (Operation timed out)]
jdmarshall has joined #ocaml
mattam has quit [Nick collision from services.]
mattam has joined #ocaml
Kinners has left #ocaml []
jdmarshall has quit ["ChatZilla 0.8.31 [Mozilla rv:1.4/20030624]"]
jedy has joined #ocaml
roar has joined #ocaml
roar has quit [Client Quit]
reltuk has quit [Read error: 60 (Operation timed out)]
foxster has quit [Client Quit]
two-face has joined #ocaml
systems has joined #ocaml
two-face has quit [Read error: 60 (Operation timed out)]
Kinners has joined #ocaml
pflanze has joined #ocaml
<Maddas>
hm, do you know of any gentle introductions to genetical algorithms?
<Maddas>
Not using Java :)
<vect>
you want an example written in ocaml ?
<Maddas>
Well, preferrably
<Maddas>
Or Scheme, maybe C or something would be ok too if the code isn't complex - just something that I can follow :-)
<Maddas>
Language-independent is fine too
<Maddas>
But I don't have Java installed here, and I don't want to install it now most examples I find just use Java, which makes it harder to play around with settings and see the changes
mamuran is now known as iznerviran
<vect>
well, I don't have such example here
systems has quit [Read error: 110 (Connection timed out)]
<vect>
(I only have GA written in Java :/ )
<Maddas>
:)
<Maddas>
Oh well, it's not too important, I guess I can just try and implement my own simple GA from what I know
<Maddas>
is caml.inria.fr down?
<Kinners>
it is for me
<Maddas>
hm, ok
iznerviran is now known as rox
<Kinners>
anyone know about the (unfinished) ocaml eclipse plugin?
rox is now known as jure
jure is now known as rox
rox has quit ["Client exiting"]
<Maddas>
uhm, ok, I'm stumped
<Maddas>
I just get syntax error for this type declaraiton, I don't know where the problem is:
<Maddas>
oh, never mind. Found it.
systems has joined #ocaml
buggs|afk has joined #ocaml
Xcal has joined #ocaml
Xcalibor has quit [Read error: 113 (No route to host)]
buggs has quit [Read error: 60 (Operation timed out)]
buggs|afk is now known as buggs
systems has quit [Connection timed out]
Kinners has left #ocaml []
two-face has joined #ocaml
<two-face>
re
<vect>
salut two-face
<two-face>
salut vect
<Maddas>
Hm, scanf is handy :)
<Maddas>
(parsing simple things)
<two-face>
scan uses Obj.magic!
<Maddas>
Obj.magic?
* Maddas
looks at it
brwill_ATL is now known as brwill
brwill is now known as brwill_wdw
owll has joined #ocaml
<Maddas>
MM, I'm really starting to like O'Caml :)
<phubuh>
:-)
<two-face>
why?
<phubuh>
is the httpd at caml.inria.fr down? :-/
<phubuh>
Maddas, i started working on client-to-client communication last night, and i sort of got it working. now i just have to figure out which format the file lists are to be sent in :-)
<Maddas>
cool phubuh!
<Maddas>
two-face: the type system of O'Caml adapts very well to my needs
<Maddas>
and with Scanf parsing what I need to parse is trivial, and things are just working now :)
<two-face>
Maddas: ah
<phubuh>
looks like i'm going to have to implement huffman coding... yay!
<Maddas>
(e.g. having Something of type)
<Maddas>
phubuh: hm, that's just using a binary tree, isn't it?
<phubuh>
yup, sort of
<Maddas>
sounds fun :)
<phubuh>
start with n trees of 1 element each, every one containing a letter and its probability. then until there's only one tree, join the two trees with the lowest total probability
<Maddas>
I still gotta do that
<Maddas>
(I'm doing some SICP examples with O'Caml for practice, Huffman coding is one of the next)
<phubuh>
ah, cool
<phubuh>
SICP is awesome :)
<Maddas>
it's quite nice so far :)
<Maddas>
Although I'm not far at all ;)
<Maddas>
I'm just parsing a file of football players and some values of them (it's form a online game) and I'm going to calculate which player fits best into which position
<Maddas>
then I'll try to make a GA to calculate the best team it can figure out in a given amount of time ;)
<Maddas>
from, even
<phubuh>
neat!
<two-face>
soccer's suckers
<phubuh>
GA = genetic algorithm, right?
<phubuh>
i remember impressing my biology teacher with one of those in sixth grade :-)
<phubuh>
it was C though, yuck!
<Maddas>
Heh
<Maddas>
two-face: I hate soccer
<two-face>
Maddas: :-)
<Maddas>
this is from an online game though, and it sounds like a fun thing to try
<Maddas>
you're basically a manager and have to try to get your team to win :)
<two-face>
soccer is funny when it is a video game (like sensible soccer)
<Maddas>
Yeah, I generally like video games more than the real-life sports counterpart
<Maddas>
although icehockey can be entertaining :)
<phubuh>
gah! why doesn't tuareg indent type declarations like this:
<phubuh>
type foo = Bar
<phubuh>
| Baz
<phubuh>
(aligned | and =, like haskell-mode)
<two-face>
tuareg is *configurable*
<phubuh>
oh!
<phubuh>
if i told you guys i find myself using a function `return' which is just the identity function, would you like to punch me in the face?
<Maddas>
haha
<Maddas>
phubuh: not really
<Maddas>
I guess it can make things look clearer if you're not used to not returning things explicitely
<phubuh>
i use it pretty seldom
<phubuh>
mostly when a large block kind of overshadows the tiny little return expression, which looks ... unnatural
<Maddas>
but then, I'm not in any way representative of normal O'Caml users, I guess
<phubuh>
urgh, does anyone know of a mirror of htmlman?
systems has joined #ocaml
<Maddas>
ack
<Maddas>
Now, it is annoying that types overwrite last types with the same names :)
<Maddas>
type defender = Normal | Defensive | Offensive | Towards_Middle | Extra_Forward | Extra_Inner_Midfield;; type winger = Normal | Defensive | Offensive | Towards_Middle | Extra_Forward | Extra_Central_Defender
<phubuh>
heh
<karryall>
use polymorphic variants
* Maddas
reads up
<phubuh>
use prefixes (D_normal) or polymorphic variants or separate modules
<phubuh>
yeah, polymorphic variants would be best :)
<Maddas>
Yeah, I don't like prefixes, makes it rather unnatural/unintuitive :)
<phubuh>
yeah. reminds me of C :/
<Maddas>
(especially as this solution is very intuitive, I can just say let setup = [| Goalkeeper; Defender(Normal); Defender(Offensive); ... |];; )
<Maddas>
ack, caml.inria.fr still down :(
<phubuh>
are you familiar with lisp or scheme?
<phubuh>
polymorphic variants are kind of like their symbols
<Maddas>
I wouldn't say that I'm familiar, no
<Maddas>
I know very, very little Scheme :)
<Maddas>
I'll see if the pdf I have locally mentions them
<phubuh>
they're essentially interned strings. lisp weenies use them to emulate variant types :-)
<phubuh>
since they're strings, they don't have to belong to some namespace
<systems>
evil Riastradh loves lisp more then ocaml
<phubuh>
i think Riastradh's more of a smug scheme weenie, no?
<phubuh>
he's evil nonetheless.
<Maddas>
Riastradh isn't evil!
two-face has quit [Read error: 110 (Connection timed out)]
Hipo has quit ["leaving"]
systems has quit [Connection timed out]
clam has joined #ocaml
<Maddas>
hm
<Maddas>
Where could I read about polymorphic invariants?
<karryall>
Maddas: in the manual ;)
<Maddas>
caml.inria.fr seems to be down still
<Maddas>
or do I have any manual on my hard disk?
owll has left #ocaml []
<karryall>
arhh yes
<Maddas>
hm
<karryall>
if you have the manual on your hard disk
<mellum>
Maddas: Do you mean polymorphic variants?
<Maddas>
err
<Maddas>
yes, sorry mellum :)
<karryall>
it's section 4.2
<Maddas>
karryall: I mean, is the manual installed with o'caml by default? :-)
<Maddas>
ah
<Maddas>
I'll look in google cache, I found it when searching for 4.2
<startdust>
it was up for me, although very slow...
<Riastradh>
Quick, make a mirror!
<startdust>
lol
<Riastradh>
...oh, I guess if it's wicked slow you can't make a mirror that quickly.
<Maddas>
haha
<startdust>
how long did you guys took to get rid of "imperative thinking"? i've just started with ocaml this weekend, and i feel it's going to be hard...
<Smerdyakov>
Not much time. How familiar are you with higher math?
<startdust>
i'm not familiar with the term "higher math", at least not in english
<Smerdyakov>
Math for mathematicians, as opposed to engineers.
<Smerdyakov>
Proving theorems
<startdust>
oh
<startdust>
well, i'm an engineer :)
<Smerdyakov>
So you've never taken a course that discussed, say, abstract algebra?
<startdust>
yes
<Smerdyakov>
Then it should take you about the same time it would take you to get comfortable with modern math, I guess.
<startdust>
do you recommend that o'reilly book for learning?
<Maddas>
Is functional programming really so close to maths?
<Maddas>
in terms of the way you think about things
<Riastradh>
Yes.
<Maddas>
In that case I'm still writing very imperative code :-)
<Smerdyakov>
startdust, no, but only because I've never read it. :D
Hipo has joined #ocaml
ult has joined #ocaml
systems has quit ["Client Exiting"]
Smerdyakov has quit [Read error: 60 (Operation timed out)]
<ult>
what's the license on bignum?
<two-face>
huh?
<ult>
Is any of the stuff in the core O'Caml distribution non-GPL or non-QPL?
<ult>
according to otherlibs/num/README, the bignum library is only usable non-commercially
<two-face>
the runtime is LGPL modifed
<two-face>
huh?
* two-face
checks
<Maddas>
ult: does that mean *usable*?
Smerdyakov has joined #ocaml
<Maddas>
I think you're just not allowed to distribute the original code commercially...
<ult>
Maddas: Loading into memory from disk is considered reproduction
<Maddas>
Oh
<Maddas>
Even when compiled?
<ult>
The compiled code would be a derivative work
<Maddas>
I see
<ult>
and the license isn't included
<ult>
i'm wondering if this is a matter of old documentation or ocaml including commercially-unusable code