seafood_ has quit [Read error: 104 (Connection reset by peer)]
sergez has joined #ocaml
bluestorm_ has joined #ocaml
pantsd has joined #ocaml
bluestorm_ has quit [Remote closed the connection]
seafood__ has quit []
seafood_ has joined #ocaml
seafood__ has joined #ocaml
seafood_ has quit [Read error: 104 (Connection reset by peer)]
seafood_ has joined #ocaml
seafood__ has quit [Read error: 104 (Connection reset by peer)]
jdavis_ has joined #ocaml
seafood_ has quit []
mattam has joined #ocaml
ikaros has joined #ocaml
Snark has joined #ocaml
pantsd has quit [Read error: 104 (Connection reset by peer)]
Abo-Marwan has joined #ocaml
olleolleolle has joined #ocaml
seafood_ has joined #ocaml
rwmjones has joined #ocaml
filp has joined #ocaml
seafood__ has joined #ocaml
ygrek has joined #ocaml
Snark has quit [Read error: 104 (Connection reset by peer)]
pango has quit [Remote closed the connection]
Snark has joined #ocaml
pango has joined #ocaml
seafood___ has joined #ocaml
seafood_ has quit [Read error: 110 (Connection timed out)]
seafood_ has joined #ocaml
seafood__ has quit [Read error: 110 (Connection timed out)]
oc13 has joined #ocaml
nuncanada has quit ["Leaving"]
seafood__ has joined #ocaml
seafood___ has quit [Read error: 110 (Connection timed out)]
ertai has joined #ocaml
seafood_ has quit [Read error: 110 (Connection timed out)]
screwt8 has joined #ocaml
seafood__ has quit []
xbebe has joined #ocaml
hkBst has joined #ocaml
xbebe has left #ocaml []
olleolleolle has quit [Read error: 104 (Connection reset by peer)]
smimou has joined #ocaml
ttamttam has joined #ocaml
Snark has quit ["Quitte"]
ertai has quit [Read error: 110 (Connection timed out)]
hsuh has joined #ocaml
ertai has joined #ocaml
jonathanv has joined #ocaml
cratylus has joined #ocaml
opening` has joined #ocaml
rwmjones has quit [Remote closed the connection]
opening has quit [Read error: 110 (Connection timed out)]
jonafan has quit [Read error: 110 (Connection timed out)]
filp has quit [kubrick.freenode.net irc.freenode.net]
sergez has quit [kubrick.freenode.net irc.freenode.net]
mordaunt has quit [kubrick.freenode.net irc.freenode.net]
xavierbot has quit [kubrick.freenode.net irc.freenode.net]
sergez_ has quit [kubrick.freenode.net irc.freenode.net]
jonathanv has quit [kubrick.freenode.net irc.freenode.net]
ertai has quit [kubrick.freenode.net irc.freenode.net]
Smerdyakov has quit [kubrick.freenode.net irc.freenode.net]
eroyf has quit [kubrick.freenode.net irc.freenode.net]
unfo- has quit [kubrick.freenode.net irc.freenode.net]
zvrba has quit [kubrick.freenode.net irc.freenode.net]
tsuyoshi has quit [kubrick.freenode.net irc.freenode.net]
mattam has quit [kubrick.freenode.net irc.freenode.net]
joshcryer has quit [kubrick.freenode.net irc.freenode.net]
bebui has quit [kubrick.freenode.net irc.freenode.net]
bla has quit [kubrick.freenode.net irc.freenode.net]
eck has quit [kubrick.freenode.net irc.freenode.net]
richardw has quit [kubrick.freenode.net irc.freenode.net]
cmeme has quit [kubrick.freenode.net irc.freenode.net]
asmanur has quit [kubrick.freenode.net irc.freenode.net]
hsuh has quit [kubrick.freenode.net irc.freenode.net]
ikaros has quit [kubrick.freenode.net irc.freenode.net]
Jedai has quit [kubrick.freenode.net irc.freenode.net]
jdavis_ has quit [kubrick.freenode.net irc.freenode.net]
kmeyer has quit [kubrick.freenode.net irc.freenode.net]
zmdkrbou has quit [kubrick.freenode.net irc.freenode.net]
cratylus has quit [kubrick.freenode.net irc.freenode.net]
pattern has quit [kubrick.freenode.net irc.freenode.net]
Hadaka has quit [kubrick.freenode.net irc.freenode.net]
flux has quit [kubrick.freenode.net irc.freenode.net]
ulfdoz has quit [kubrick.freenode.net irc.freenode.net]
opening` has quit [kubrick.freenode.net irc.freenode.net]
ttamttam has quit [kubrick.freenode.net irc.freenode.net]
__suri_ has quit [kubrick.freenode.net irc.freenode.net]
mbishop has quit [kubrick.freenode.net irc.freenode.net]
vincenz has quit [kubrick.freenode.net irc.freenode.net]
l_a_m_ has quit [kubrick.freenode.net irc.freenode.net]
svenl has quit [kubrick.freenode.net irc.freenode.net]
gaja_ has quit [kubrick.freenode.net irc.freenode.net]
guyzmo has quit [kubrick.freenode.net irc.freenode.net]
netx has quit [kubrick.freenode.net irc.freenode.net]
TaXules has quit [kubrick.freenode.net irc.freenode.net]
seafood has quit [kubrick.freenode.net irc.freenode.net]
acatout has quit [kubrick.freenode.net irc.freenode.net]
smimou has quit [kubrick.freenode.net irc.freenode.net]
Zola has quit [kubrick.freenode.net irc.freenode.net]
hkBst has quit [kubrick.freenode.net irc.freenode.net]
screwt8 has quit [kubrick.freenode.net irc.freenode.net]
pango has quit [kubrick.freenode.net irc.freenode.net]
ygrek has quit [kubrick.freenode.net irc.freenode.net]
Abo-Marwan has quit [kubrick.freenode.net irc.freenode.net]
gim has quit [kubrick.freenode.net irc.freenode.net]
hcarty has quit [kubrick.freenode.net irc.freenode.net]
quux has quit [kubrick.freenode.net irc.freenode.net]
pango has joined #ocaml
Zolaa has joined #ocaml
opening` has joined #ocaml
jonathanv has joined #ocaml
ertai has joined #ocaml
hsuh has joined #ocaml
ttamttam has joined #ocaml
smimou has joined #ocaml
hkBst has joined #ocaml
screwt8 has joined #ocaml
ygrek has joined #ocaml
Abo-Marwan has joined #ocaml
ikaros has joined #ocaml
jdavis_ has joined #ocaml
guyzmo has joined #ocaml
kmeyer has joined #ocaml
__suri_ has joined #ocaml
Smerdyakov has joined #ocaml
Zola has joined #ocaml
pattern has joined #ocaml
Hadaka has joined #ocaml
mbishop has joined #ocaml
Jedai has joined #ocaml
gim has joined #ocaml
vincenz has joined #ocaml
netx has joined #ocaml
l_a_m_ has joined #ocaml
TaXules has joined #ocaml
eroyf has joined #ocaml
unfo- has joined #ocaml
zvrba has joined #ocaml
tsuyoshi has joined #ocaml
acatout has joined #ocaml
gaja_ has joined #ocaml
seafood has joined #ocaml
svenl has joined #ocaml
flux has joined #ocaml
ulfdoz has joined #ocaml
zmdkrbou has joined #ocaml
hcarty has joined #ocaml
filp has joined #ocaml
sergez has joined #ocaml
mordaunt has joined #ocaml
xavierbot has joined #ocaml
sergez_ has joined #ocaml
mattam has joined #ocaml
joshcryer has joined #ocaml
richardw has joined #ocaml
bebui has joined #ocaml
asmanur has joined #ocaml
cmeme has joined #ocaml
eck has joined #ocaml
bla has joined #ocaml
Zola has quit [Success]
hsuh has quit [Remote closed the connection]
hsuh has joined #ocaml
jdavis_ has quit [kubrick.freenode.net irc.freenode.net]
ikaros has quit [kubrick.freenode.net irc.freenode.net]
Jedai has quit [kubrick.freenode.net irc.freenode.net]
kmeyer has quit [kubrick.freenode.net irc.freenode.net]
zmdkrbou has quit [kubrick.freenode.net irc.freenode.net]
ikaros has joined #ocaml
jdavis_ has joined #ocaml
kmeyer has joined #ocaml
Jedai has joined #ocaml
zmdkrbou has joined #ocaml
mamie_cracra has joined #ocaml
mamie_cracra has left #ocaml []
Tetsuo has joined #ocaml
oc13 has quit ["Leaving."]
Zolaa is now known as Zola
ikaros has quit [Remote closed the connection]
JohnnyL has joined #ocaml
zvrba has quit [Remote closed the connection]
zvrba has joined #ocaml
hkBst has quit ["Konversation terminated!"]
pango has quit [Remote closed the connection]
olleolleolle has joined #ocaml
pango has joined #ocaml
olleolleolle has quit []
mattam has quit ["Lost terminal"]
filp has quit ["Bye"]
ertai has quit [Read error: 110 (Connection timed out)]
ertai has joined #ocaml
<JohnnyL>
can someone tell me why there is ;; and not just ;?
jonathanv is now known as jonafan
<flux>
;; is a token that tells the compiler that the block is complete. you can have an expression a; b; c and the expression isn't complete between those points.
<flux>
in actual program you don't need to use ;; if you don't want to
<flux>
however, in that case you can only have module-level statements
Yoric[DT] has joined #ocaml
<flux>
some may prefer to use ;; anyway - maybe because it helps tracking down compilation errors in certain cases better
<flux>
I personally don't ever use ;;, except in the interactive top level
<flux>
..or when tracking down a compilation error ;)
<jonafan>
i put ;;s after everything
<flux>
I understand the revised (or relaoded?) syntax eliminates ;;
<xavierbot>
I understand the revised (or relaoded?) syntax eliminates ;;
<xavierbot>
^^^^^^^^^^
<xavierbot>
Characters 2-12:
<xavierbot>
Parse error: currified constructor
<flux>
so it's not strictly a must-have feature
<Yoric[DT]>
I don't know about the reloaded syntax but the revised one does eliminate ;; .
<JohnnyL>
i really like ocaml's interpreter. it's a sweet state environment for variables.
<JohnnyL>
a super 'calculator'.
<JohnnyL>
almost a loirning computer.
<JohnnyL>
komputer
ertai has quit [Read error: 110 (Connection timed out)]
<jonafan>
!
ttamttam has quit ["Leaving."]
<JohnnyL>
does ocaml interpreter read from source files upon function usage within the interpreter?
* Yoric[DT]
doesn't catch the question.
<JohnnyL>
Yoric for example, if you make a function call and the function isn't imported. does it import it?
<Yoric[DT]>
You have to #open object files manually.
<Yoric[DT]>
(or add put them in the command-line when calling ocaml)
<JohnnyL>
you can do that in the interpreter?
<jonafan>
#load "unix.cma";;
<Yoric[DT]>
Oh, was it #load ?
* Yoric[DT]
always confuses #load and #open .
<Yoric[DT]>
Note that these #stuff things are specific to the interpreter.
gunark has joined #ocaml
<jonafan>
what's #open?
<Yoric[DT]>
#open is probably to load source files
<flux>
#open doesn't exist
<flux>
it's #use
<Yoric[DT]>
Is it ?
<Yoric[DT]>
Sorry, my bad.
<Yoric[DT]>
I don't use the toplevel that often.
<JohnnyL>
what happens when you run out of ram/swap in ocaml?
<flux>
depends on your operating system
crathman has joined #ocaml
<JohnnyL>
?OUT OF MEMORY ERROR
<flux>
although I don't actually have a good answer, I have never seen that happen
<flux>
(I think)
<Yoric[DT]>
As OCaml tends to limit its own memory usage, generally, OCaml bails out before the OS.
<flux>
really?
<flux>
I actually thought that when the OS is running out of memory, ocaml is only making the trashing worse, by running the garbage collector - which digs much pages from the swap, while the os is putting other pages back in
<pango>
it's not too bad, as long as it doesn't try compacting the heap
<pango>
(which is a big no-no when paging is involved)
<flux>
it would be nice if the os provided a map of pages currently in swap
love-pingoo has joined #ocaml
<flux>
perhaps there are some os-specific interfaces to retrieve that information
<JohnnyL>
it should operate like an operating system.
<JohnnyL>
1 flag for age, another flag for use.
<JohnnyL>
if flags are old, swap out old, inport new.
<pango>
JohnnyL: the real problem is keeping (only) objects of similar use pattern within each page
<pango>
s/use/usage/
<JohnnyL>
pango, a depedency tree would help that?
<pango>
cold objects with cold objects, hot objects with hot objects, etc.
<pango>
yes, and dependant objects together too. (Gc already does that to some extend)
<pango>
flux: mincore(2)
<flux>
fun
<flux>
does anything use that?
<pango>
seen some patches for rsync that use it (to immediately drop pages that were brought in memory by rsync, but those that were already mapped)
<pango>
s/but/but not/
<flux>
nope, can't find a single project with google code search that would actually use it :-)
<pango>
that looks a bit weird, I would have hoped madvise(... MADV_DONTNEED) to have achieved the same
<flux>
(except for linux, libc, and that kind of stuff)
david_koontz has joined #ocaml
olleolleolle has joined #ocaml
kelaouchi has joined #ocaml
olleolleolle has quit []
ttamttam has joined #ocaml
filp has joined #ocaml
rwmjones has joined #ocaml
rwmjones_ has joined #ocaml
jeremiah has joined #ocaml
ikaros has joined #ocaml
bluestorm_ has joined #ocaml
brooksbp has joined #ocaml
brooksbp has quit [Remote closed the connection]
olleolleolle has joined #ocaml
brooksbp has joined #ocaml
<JohnnyL>
i haven't looked at it. but how does ocaml handle error detection, reporting and passing?
<jonafan>
exceptions?
Snark has joined #ocaml
nuncanada has joined #ocaml
crathman_ has joined #ocaml
<JohnnyL>
ok
crathman_ has quit [Remote closed the connection]
<JohnnyL>
so just an if statement regarding some typical math or logic dis-behavior.
* Yoric[DT]
doesn't understand the latest sentence.
<JohnnyL>
Yoric[DT], the make up of an exception is what i'm defining here.
<Yoric[DT]>
An exception is essentially a typed goto.
<JohnnyL>
for example IF DIVIDE BY ZERO: Print error message=exception
<Yoric[DT]>
(or a reduced call/cc, depending on your language :))
<Yoric[DT]>
In that sentence, are you interested in raising the exception or in catching it ?
<Yoric[DT]>
To raise an exception, you must first define that exception.
<JohnnyL>
Yoric[DT], i still have to learn about reducing call/cc etc.
<Yoric[DT]>
exception MyException of string;;
<xavierbot>
exception MyException of string
<Yoric[DT]>
this defines an exception, with constructor MyException and an argument of type string
mattam has joined #ocaml
<JohnnyL>
kool
<JohnnyL>
looks good
<Yoric[DT]>
now, you can raise it (which is the equivalent of throwing in C++, Java, etc., just more pacifistic :))
<Yoric[DT]>
raise MyException "Hey, this was a division by zero !";;
<xavierbot>
raise MyException "Hey, this was a division by zero !";;
<xavierbot>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<xavierbot>
Characters 7-18:
<xavierbot>
raise MyException "Hey, this was a division by zero !";;
<xavierbot>
^^^^^^^^^^^
<xavierbot>
The constructor MyException expects 1 argument(s),
<xavierbot>
but is here applied to 0 argument(s)
<Yoric[DT]>
oops
<xavierbot>
Characters 19-55:
<xavierbot>
Warning X: this argument will not be used by the function.
<Yoric[DT]>
raise (MyException "Hey, this was a division by zero !");;
<xavierbot>
Exception: MyException "Hey, this was a division by zero !".
<Yoric[DT]>
If you're interested in catching the exception, you should enclose the block inside a try ... with... construction.
<Yoric[DT]>
let my_function = function 0 -> 0 | _ -> raise (MyException "I don't like numbers other than 0");;
<Yoric[DT]>
It's interesting but I'm a bit disabused about it.
<Yoric[DT]>
I've worked on more realistic/applicable/understandable stuff since then.
<olleolleolle>
Chuckles.
<Yoric[DT]>
Including making up one of my own :)
<Yoric[DT]>
(ok, not fully making it up)
jburd has joined #ocaml
<JohnnyL>
where can I get a software VM for a language , without the language?
<JohnnyL>
isn't it easy to build one?
<olleolleolle>
Yoric[DT]: Stuff like the open-uri std library in Ruby - that adds http://... access to the File.open() incantation, that originally only handled filenames, and filehandles. That's what Ambient can reason about?
<JohnnyL>
just convert vm op codes to asm op codes?
<Yoric[DT]>
JohnnyL: only if they map to each other -- which is definitely not the case for many VMs.
<JohnnyL>
yeah, i do the mapping
<Yoric[DT]>
olleolleolle: <processing>
<Yoric[DT]>
JohnnyL: I mean, have you looked at, say, JVML ?
<Yoric[DT]>
Opcodes like invoke or invokevirtual are very high level and map quite difficultly to asm.
<JohnnyL>
seems a nice compiler. but alot of the library calls are in c++.
<Yoric[DT]>
olleolleolle: if I understand correctly what you mean, yes, ambients may be applicable there.
<olleolleolle>
Yoric[DT]: Passing and dissolving ambient boundaries.
<Yoric[DT]>
That is, ambients may be used to model "dropping" additional features inside functions/methods/whatever...
<olleolleolle>
"drop into" or "drop (remove) from"?
<Yoric[DT]>
new_features [ IN file_open_method ] | file_open_method [ ..... | ! OPEN new_features ]
<olleolleolle>
"Agents have the capability to add/drop facts (i.e. predicates or propositions) to/from a knowledge unit and also modify its structure by adding new rules or eliminating existing ones. " API-calculus page on wp
<olleolleolle>
Yoric[DT]: That's cool. Most Ruby folks would use Mixins to reach effects like that.
<Yoric[DT]>
this may be read "there's some bunch of code/data called "new_features" and it wants to reach a place called "file_open_method" -- plus "file_open_method" wants to make its own anything called "new_features" that reaches it
<Yoric[DT]>
(I forgot to put some actual code/data inside "new_features" but that's the general idea)
<Yoric[DT]>
Yeah, I guess it's somewhat related to mixins.
* Yoric[DT]
is vaguely familiar with mixins, although perhaps not with the particular take on mixins in Ruby.
<Yoric[DT]>
olleolleolle: what page did you just quote from wp ?
<olleolleolle>
There is a very small "dialect" of Ruby which also features macros (RLisp). It can brag about not being String-dependent (eval()). After doing an add_method() (Aside: http://en.wikipedia.org/wiki/API-Calculus )
<jburd>
So has someone been working on a wxWidgets port for ocaml?
<Yoric[DT]>
oh, got it
<Yoric[DT]>
jburd: I'm pretty sure I saw one, based on the Haskell port.
* Yoric[DT]
has no clue about the status, of course.
<olleolleolle>
Yoric[DT]: ...Ruby can be unstable about how to step OUT of that addition. RLisp does all this with trees, not just method body as Strings.
<olleolleolle>
RLisp's the brainbaby of taw, a Polish longhair. Smart guy.
<Yoric[DT]>
What do you mean "step out of addition" ?
<Yoric[DT]>
Removing a feature ?
<Yoric[DT]>
If that's the case, all the better, as in ambients, there's no robust way of doing that either :)
<olleolleolle>
Yoric[DT]: Cancelling my "add_method()" call, yes. Removing that added feature.
<olleolleolle>
There is a remove_method, but taw could point to some internals doing different things when using it (and add_method) in different contexts.
<olleolleolle>
(Well, this is not a Ruby rant place. His weblog rules in that respect.) Ocaml-happy, instead.
<hcarty>
jburd: There's a thread on the beginner's list where someone asked for library bindings requests... I don't have a link, but you could put in a request there
ttamttam has left #ocaml []
<olleolleolle>
Is there a go-to place (like a wiki, or a PlanetOcaml or the like) that I should subscribe to? I'm Nabble-RSSing the ocamlbeginner list.