<Riastradh>
Grumble. Will no one answer my question about class types vs virtual classes?
mattam_ has joined #ocaml
<__DL__>
probaly, there is nobody enable to answer you here. You might want to ask on a mailinglist or newsgroup
TachYon76 has quit ["Client Exiting"]
__DL__ has quit [Remote closed the connection]
mattam has quit [Read error: 110 (Connection timed out)]
mattam_ has quit [Read error: 113 (No route to host)]
lus|wazze has quit ["Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Univ]
stefp has quit [Read error: 110 (Connection timed out)]
<Riastradh>
Gack.
* Riastradh
kicks OCaml's object system.
<Riastradh>
I have a virtual class vc. I have a concrete subclass of it cc, which defines a couple more methods than those declared in vc. Why can I not use an instance of cc in a context expecting an instance of vc?
<Riastradh>
Oh, argh.
* Riastradh
had to use the special :> coërcion thing.
themus has joined #ocaml
* Riastradh
hmms...
* Riastradh
can't figure out why OCaml is inferring a certain type.
<Riastradh>
But the bit of code is about thirty lines and it wouldn't make sense to anyone else who read it because it makes use of a whole ton of other modules and other stuff.
antonym has joined #ocaml
antonym has left #ocaml []
reltuk has quit [Read error: 104 (Connection reset by peer)]
reltuk has joined #ocaml
<reltuk>
what's wrong with | _ -> (match (n-1) x)::x;;?
<reltuk>
oh, n/m...I dont' know what I'm doing
mattam has joined #ocaml
themus has quit [Ping timeout: 14400 seconds]
lament has quit ["I WILL NOT SAY "SPRINGFIELD" JUST TO GET APPLAUSE"]
themus has joined #ocaml
rhil is now known as rhil_zzz
vegai has joined #ocaml
whee has quit ["Leaving"]
reltuk has quit [Read error: 104 (Connection reset by peer)]
reltuk has joined #ocaml
rhil_zzz has quit [Read error: 60 (Operation timed out)]
systems has joined #ocaml
polin8 has quit [Remote closed the connection]
systems has left #ocaml []
polin8 has joined #ocaml
two-face has joined #ocaml
<two-face>
yo
<Yurik>
two-face: yo
<two-face>
hey yurik
reltuk has quit [Read error: 104 (Connection reset by peer)]
Vincenz has joined #ocaml
__DL__ has joined #ocaml
banjoo has joined #ocaml
TachYon has joined #ocaml
Yurik has quit ["Client exiting"]
banjoo has left #ocaml []
two-face has quit ["Client exiting"]
d-bug has joined #ocaml
TachYon has quit ["Client Exiting"]
reltuk has joined #ocaml
stefp has joined #ocaml
two-face has joined #ocaml
<karryall>
hei two-face
themus has quit [Ping timeout: 14400 seconds]
two-face has quit [Read error: 113 (No route to host)]
two-face has joined #ocaml
thomas001 has joined #ocaml
<thomas001>
hi
<thomas001>
can compiled ocaml compeat with compiled C in terms of speed ?
<reltuk>
compiled ocaml can
<thomas001>
so the same algorithm in ocaml is as fast as this algorithm in C ?
<reltuk>
well...C is imperative, and while you can use ocaml in a purely imperative way, you probably wouldn't want to
<thomas001>
functional programming is recommended for ocaml ?
<reltuk>
but if you're good at writing C and good at writing ocaml, and you write a program that does the same in each language, ocaml's performance will not be out of range with the C programs performance normally
<thomas001>
does the ocaml compiler know something about MMX,MMX2,SSE,SSE2 and so on ?
<karryall>
right now, no
<reltuk>
I don't think os
<reltuk>
neither does Microsoft's though...
<thomas001>
gcc does,doesn't it?
<reltuk>
gcc doesn't optomize better than microsoft's...for the most part, gcc won't put sse/sse2 instructions in code by itself
<reltuk>
now intel's compiler...I don't know if ocaml is on par with that...I've had projects that saw a 25% speed increase when compiled using intel's compiler as opposed to something else
<reltuk>
none-the-less, a project that's better suited for ocaml will be faster and easier to write in ocaml, and if doesn't matter if you get exactly every last nanosecond out of the code, it's runtime is going to be on par with C/C++, which is more than you can say about some of the newer highlevel languages around
<thomas001>
is F# like Ocaml for .NET ?
<reltuk>
I dont' really know enough about F# to compare the two
<thomas001>
hmm one last question. i wanted to write a little 3D game. i think i'm good at using C/C++ and OpenGL. so i wanted to write it in C++. but then some guy told me i should look at lisp and later another one told me lisp is bad and i should use ocaml. is ocaml suitable for this?
<karryall>
thomas001: quite
<reltuk>
I dable in games myself...what kind of game are you interested in writing?
<thomas001>
wanted to try a super simple master of orion II clone
<karryall>
MOO is not a 3D game, is it ?
<thomas001>
no it's 2D
<thomas001>
do you know ascendancy ?
<karryall>
yep
<thomas001>
something like this
<karryall>
ok. and you want to use OpenGL for this ?
<thomas001>
yep
<thomas001>
i hope there are OpenGL bindings for ocaml ;-)
<karryall>
yes there are (that's called LablGL)
<karryall>
and why not smthg like SDL ?
<thomas001>
because i want to do it in 3D
<karryall>
but you said it was 2D :)
<thomas001>
ascendancy is 3D,brb
<thomas001>
re
<karryall>
actually, there are 2 GL bindings, lablGL and camlGL
<thomas001>
is one of them portable?
<thomas001>
to macos or windows
<reltuk>
camlgl's only on windows or x11...
<reltuk>
there's no mac os9 binaries for ocaml though...
<thomas001>
# 1+1;;
<thomas001>
- : int = 3
<thomas001>
lol i like this language :)
<reltuk>
that didn't happen
<reltuk>
:-p
<thomas001>
# let (+) a b=a+b+1;; <-- this happens *fg*
<karryall>
sure, if you redefine (+)
<thomas001>
are there projects using ocaml other that mldonkey ?
<karryall>
you mean, desktop-user apps ?
<karryall>
there is unison
<thomas001>
unison?
<karryall>
a file synchronisation thing
<thomas001>
hmm compiler development also seems slow 3.06 was released in 08/2002
<d-bug>
ocaml and stalin are the best compilers for functional languages there is, so far :)
<karryall>
3.07 should come out in a few months
two-face has quit ["Client exiting"]
<thomas001>
hmm what are advantages of ocaml over common lisp? (sry for so many questions)
<d-bug>
static typing and more convenient syntax IMHO
phubuh has quit [Read error: 104 (Connection reset by peer)]
<d-bug>
thomas001: i would learn caml, haskell and scheme if i were you
<reltuk>
maybe common lisp for the macros
<vegai>
note that the technical aspects of languages are not the most major issue
<vegai>
more important is that someone just gets his butt of the chair (metaphorically) and does some work
<vegai>
of course, it would be nicer if the language is a good one
<vegai>
...like one that consistently wins ICFP contests ;D
<d-bug>
i must admit i prefer sml/haskell syntax to ocaml
<d-bug>
but the speed of ocaml is so impressive
<thomas001>
d-bug: i learned scheme and wanted lisp for CLOS
<vegai>
d-bug: on the other hand, a program that was written in python (which has traditionally quite slow implementations), won the lightning round
<vegai>
which is more important, computer or human time? usually the latter
<reltuk>
ruby should have one...it probably wasn't well represented :-p
<thomas001>
ruby is a inconsistent language i think
<d-bug>
vegi: what did a python program win?
* d-bug
prefers ruby to python :)
<reltuk>
no way, ruby is totally awesome...what do you think is inconsistant about it?
<reltuk>
block/method/proc's?
<thomas001>
yes
<thomas001>
in scheme it's all the same,in ruby syntax is different
<vegai>
d-bug: almost the same as the main contest entries... I'll find something
<reltuk>
of course it's different...everything's an object in Ruby. LISP is the only language that gives you 'program is data' at this point
<reltuk>
that doesn't make other languages inconsistant
<vegai>
d-bug: oh, sorry. It won the ICFP 2002 lightning round (24h) contest
<vegai>
as opposed to the main contest, which is 72h
<d-bug>
ok, thank you
<thomas001>
reltuk: the only? i think ocaml is also consistent
<vegai>
lisp is trivially consistent
d-bug is now known as d-bugd
<reltuk>
ocaml doesn't think it's data and it's program are the same thing
<reltuk>
doesn't treat them the same I mean
<thomas001>
hmm seemed so to me,but i did only a quick look at ocaml
<thomas001>
where make ocaml a difference ?
<thomas001>
+s
<thomas001>
no answer = noone knows?
gene9 has joined #ocaml
<async>
thomas001: i like the fact that it's safer to use (there are no seg faults)
<thomas001>
where is the difference between data and program in ocaml ?
lus|wazze has joined #ocaml
<thomas001>
afk
gene9 has quit ["÷ÙÛÅÌ ÉÚ XChat"]
lus|wazze has quit ["Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Univ]
lus|wazze has joined #ocaml
<reltuk>
the idea behind the program is data in lisp is that one of the primary types in lisp is a list and the entire program is a list. An ocaml program isn't represented the same as everything else to the ocaml interpreter/compiler
<reltuk>
hmm...how can I get the * operator into a normal procedure so I can map it or something...
<reltuk>
(*) thinks I'm commenting
<Riastradh>
( * )
<reltuk>
lol, I'm a genius, thx
<thomas001>
has ocaml something like C++ virtual member functions or like CLOS ?
<Riastradh>
You want an object system?
<thomas001>
something like that
<Riastradh>
Guess what the 'O' stands for in 'OCaml.'