<yangsx>
hi, is the mailing list server still functional? i clik the link at the ocaml homepage and there seems no response saying that i'm subscribed to it.
engstad has joined #ocaml
<engstad>
What's a "continuation"??
<yangsx>
engstad: Scheme uses continuation heavily, but i'm not sure ocaml uses the concept or not.
<engstad>
Hmm, and what is needed in Ocaml to make this work? Seems like it is simply a form of gotos.
<engstad>
Ocaml's got closures, right?
<jao>
hm. i wouldn't say it's just a goto. in ocaml you can use CPS: you only need closures as first class objects
<jao>
right
<engstad>
So, I can define: let add x y cont = cont(x + y)
<jao>
yup
<engstad>
So, what else is nescessary?
<jao>
in principle, nothing else. except that in scheme and sml you can capture the 'current continuation', and use it
<jao>
(see the webpages)
<engstad>
The eleves.ens.fr one?
<jao>
both :-)
<engstad>
The second one times out for some reason.
<jao>
hm. here it works ok.
<engstad>
Odd..
<yangsx>
engstad: i guess the CPS won't work in ocaml, for you have to define cont to apply add.
<jao>
kent dybvig's "The scheme programming language" has nice examples too
<jao>
yangsx: but that's the idea of CPS... you can even use it in python! why not in ocaml?
<yangsx>
jao: i guess that's the type system, but i didn't try it on the ocaml toplevel yet.
<jao>
yangsx: hm. maybe you're right...
<engstad>
In any case, what I'm trying to do is to see if coding Sutherland-Hodgeman clipping using CPS yields more possibilities for parallelization than the iterative version.
<engstad>
So, in the end it has to be coded in assembly.. ;-)
Cryptor has joined #ocaml
<yangsx>
Is recursion tail call optimized in ocaml? That is, whether recursion has a performance loss in ocaml?
<Cryptor>
of memory, it is.
<yangsx>
if the compiler uses tail call optimization, the call stack need not increase with each recursion. right?
<Cryptor>
I would assume so...
<yangsx>
Cryptor: so no tail call optimization for ocaml, i guess.
jao has quit ["leaving"]
<engstad>
yangsx ocaml: tail call optimization by grammar.
<yangsx>
engstad: what does that mean?
<engstad>
It means, simply by looking at how you write your routine it can determine that it is tail-recursive. If it is, it optimizes it. One of the reasons why ocaml is pretty fast.
<yangsx>
i see: if the code is tail-recursive, recursion is optimized; if not, no optimization.
<engstad>
Yepp.
<timmy>
i got a pattern matching question
<timmy>
when i do something like match somelist with
<timmy>
(some_defined_string^"blah")::xs -> ...
<timmy>
will it be the same as this: if some_defined_string="abc"
<timmy>
"abcblah"::xs-> ...
Cryptor has quit [Connection timed out]
<engstad>
timmy It should, test it.
bruce_ has joined #ocaml
engstad has quit [Read error: 104 (Connection reset by peer)]
yangsx has quit [Read error: 104 (Connection reset by peer)]
Cryptor has joined #ocaml
bruce_ has quit ["Client Exiting"]
yangsx has joined #ocaml
Dieb has joined #ocaml
Cryptor has quit ["Leaving"]
Dieb has quit ["Client Exiting"]
yangsx has quit ["Client Exiting"]
Yurik has quit [Read error: 95 (Operation not supported)]
Cryptor has joined #ocaml
gl has quit [Remote closed the connection]
gl has joined #ocaml
owll has joined #ocaml
Cryptor has quit [Connection timed out]
owll has quit ["Client Exiting"]
qmqmmqmq has joined #ocaml
qmqmmqmq is now known as qmqmmpmp
qmqmmpmp is now known as qmqmwdwd
qmqmwdwd is now known as qmqmwbwd
qmqmwbwd is now known as qmqmwbwb
qmqmwbwb has quit ["Leaving"]
gl has quit [Read error: 113 (No route to host)]
gl has joined #ocaml
thelema|away is now known as thelema
thelema is now known as thelema|away
* gl
s'écoute "renegades of funk" pour la peine
<gl>
wrong window..
thelema|away has quit [Read error: 104 (Connection reset by peer)]