jao has quit ["ERC v2.93 $Revision: 1.299 $ (IRC client for Emacs)"]
klamath has joined #ocaml
<MegaWatS>
hi
<klamath>
hey
Begbie has quit [Read error: 104 (Connection reset by peer)]
Begbie has joined #ocaml
Begbie_ has joined #ocaml
smkl has quit [Read error: 104 (Connection reset by peer)]
smklsmkl has joined #ocaml
Begbie has quit [Read error: 104 (Connection reset by peer)]
Begbie_ has quit [Remote closed the connection]
Begbie has joined #ocaml
MegaWatS has quit ["Oceania has ALWAYS been at war with Eastasia!"]
gl has joined #ocaml
gl has quit [Client Quit]
mrvn has joined #ocaml
smklsmkl is now known as smkl
mrvn_ has quit [Read error: 110 (Connection timed out)]
xtrm has joined #ocaml
boltion has joined #ocaml
<boltion>
hi?
bobov has joined #ocaml
<boltion>
hi?
cleverdra has joined #ocaml
<boltion>
hi?
<cleverdra>
hello boltion.
<boltion>
are you a female?
<cleverdra>
No, but why do you ask?
<boltion>
most names ending with "a" indicate lack of penis
<cleverdra>
In 'most cultures' as well, I suppose.
<boltion>
what culture are you of?
<cleverdra>
American -- where, AFAICT, your assertion holds true.
<boltion>
AFAICT?
<cleverdra>
as far as I can tell.
<cleverdra>
Not totally appropriate.
<mmc>
if you can tell, then your situation hold, right ?
<boltion>
why ocaml?
<cleverdra>
boltion - is that a general question?
<cleverdra>
boltion - erm, are you asking all of us?
<boltion>
yes
<cleverdra>
OK. OCaml is a non-pure, strict, flexible and efficient functional programming language. I'm learning it more-or-less concurrently with Haskell; I haven't pidgeon-holed it yet.
<boltion>
why ocaml?
<boltion>
not
<boltion>
what ocaml
<boltion>
hehe
<cleverdra>
The last part of that was meant to explain why I didn't give you the sort of answer people expect =)
<cleverdra>
OCaml seems to be a very good general-purpose programming language.
<boltion>
why not python
<cleverdra>
Well, OCaml is more efficient; it has strong typing; it can compile to optimized native code.
<cleverdra>
Python has been implemented in OCaml, actually.
<cleverdra>
(Vyper; but it's based on an older version of Python and has been mostly abandoned by its author)
<cleverdra>
I'm using Python right now to do windows COM programming. I haven't yet found a path using OCaml that was as convenient as what Python's win32all supplies.
<boltion>
ocaml seems like a virus
<boltion>
i will squash it
<boltion>
ok?
<cleverdra>
that is as convenient. I'm still going through the ORA book -- maybe someone else here can help you more.
<boltion>
im going to make a thought-virus of a programming language and call it cock-vagina-intercourse
* cleverdra
shrugs.
<smkl>
boltion: msg me if you have some good reason that i should unban you
boltion was kicked from #ocaml by smkl [smkl]
<xtrm>
hehe
karryall has quit [Remote closed the connection]
karryall has joined #ocaml
<mmc>
cleverdra: can you compare ocaml vs haskell wrt _available_ bindings to C libs?
<cleverdra>
Not yet. The only thing I've noticed is that both bind to several GUI libraries.
<cleverdra>
Haskell has four or five 'integrate-with-C' systems. I'm not sure what OCaml has (I'm a little ways into 'Imperative Programming' in the ORA book)
<cleverdra>
Have any of you done COM programming in OCaml?
ayrnieu has joined #ocaml
smkl has quit [Remote closed the connection]
smkl has joined #ocaml
graydon has joined #ocaml
cleverdra has quit [Connection timed out]
Yurik has joined #ocaml
ayrnieu is now known as cleverdra
<Yurik>
re
<Yurik>
guys, anybody have used CamlIDL?
<Yurik>
i have a question on CamlIDL and can't find answer in manual :-(
<cleverdra>
Not I, but what is your question?
<Yurik>
how can I declare IDL struct with field that is actually pointer to a function? (So that it will be translated to type like <something -> something -> ... -> something>)
<karryall>
you want callbacks ? that can be tricky
<karryall>
no idea how it works with camlIDL
Yurik has quit [Read error: 104 (Connection reset by peer)]
xtrm has quit [Remote closed the connection]
xtrm has joined #ocaml
Yurik has joined #ocaml
<Yurik>
re
<Yurik>
damn
Yurik has quit [Client Quit]
ayrnieu has joined #ocaml
cleverdra has quit [Read error: 110 (Connection timed out)]
ayrnieu is now known as cleverdra
smklsmkl has joined #ocaml
ayrnieu has joined #ocaml
xmkl has joined #ocaml
smkl has quit [Read error: 110 (Connection timed out)]
smkl has joined #ocaml
cleverdra has quit [Connection timed out]
ayrnieu is now known as cleverdra
smklsmkl has quit [Read error: 110 (Connection timed out)]
smklsmkl has joined #ocaml
xmkl has quit [Read error: 110 (Connection timed out)]
smkl has quit [Read error: 110 (Connection timed out)]
smklsmkl is now known as smkl
Yurik has joined #ocaml
* Yurik
is back and swearing about wrapping C into OCaml
<Segora>
Yurik: what code do you want to interface?
<Yurik>
currently Berkeley DB
<Yurik>
I've started to make it manually and accidentaly deleted C code
<Yurik>
and do not want to repeat it again
<Segora>
hmm? wasn't there already a set of bindings at Ocaml Hump?
<Yurik>
tried Ocamlidl, all seems to be good except thing i wrote to caml-list
<Yurik>
well, it is in hump, bub did you saw it? it is pretty incomplete and seems that is designed for pretty old bdb
<Segora>
ah.
<Yurik>
and /me is trying to make Ocamlidl do things that i need :-)
<Segora>
fortunately, the MySQL-bindings are sufficient for my application.
<Segora>
good luck then :)
Yurik__ has joined #ocaml
<Yurik__>
re
<Yurik__>
got disconnected
ayrnieu has joined #ocaml
<karryall>
Yurik: you're speaking of bdb ?
<Yurik__>
karryall: yes. may be, probably, i've missed something
smklsmkl has joined #ocaml
cleverdra has quit [Read error: 104 (Connection reset by peer)]
ayrnieu is now known as cleverdra
<karryall>
which version of Berkeley db is it interfacing exactly ?
<Yurik__>
i don't know since it has no docs
<Yurik__>
i should look in list archives
<Yurik__>
may be i just need to update it to make it ok for me
smkl has quit [Killed (NickServ (Ghost: smklsmkl!~sami@glubimox.yok.utu.fi))]
smklsmkl is now known as smkl
<Yurik__>
but in fact it could be easier to update camlidl to get fun pointers working
<karryall>
that's not easy at all
<karryall>
sometimes you have to copy parameters around
<karryall>
I think you'll have to write some code manually in the end
Yurik has quit [Read error: 104 (Connection reset by peer)]
<Yurik__>
for fun pointers?
Yurik__ is now known as Yurik
<karryall>
I'm afraid so
<Yurik>
umm.. that's bad
<Yurik>
i'm pretty surprised
<Yurik>
may be use swig? but it seems that it is not very good for this task...
<karryall>
what do you want to do exactly ?
<Yurik>
i want to make a full wrapper of Berkeley DB as fast as possible, except of manual way (I started doing so, but accidentialy deleted C part of sources and don't want to redo it )
<Yurik>
just searching for a way to do it
<karryall>
good luck, then
ayrnieu has joined #ocaml
gl has joined #ocaml
Segora has quit [Read error: 113 (No route to host)]
cleverdra has quit [Connection timed out]
ayrnieu is now known as cleverdra
Yurik has quit [Read error: 110 (Connection timed out)]
karryall has quit ["bye .."]
Yurik has joined #ocaml
<Yurik>
re
<Yurik>
Click OnLine about Linux on BBC world just finished :)
ayrnieu has joined #ocaml
<Dybbuk>
Yurik: Was it good?
Yurik has quit [Read error: 104 (Connection reset by peer)]
ayrcier has joined #ocaml
cleverdra has quit [Read error: 104 (Connection reset by peer)]
ayrcier is now known as cleverdra
mrvn has quit [Remote closed the connection]
mrvn has joined #ocaml
ayrnieu has quit [Read error: 104 (Connection reset by peer)]
ayrnieu has joined #ocaml
karryall has joined #ocaml
cleverdra has quit [Connection timed out]
ayrnieu is now known as cleverdra
Yurik has joined #ocaml
<Yurik>
re
Yurik has left #ocaml []
ayrnieu has joined #ocaml
gl has quit [Read error: 113 (No route to host)]
<Dybbuk>
Hmmm. camlp4 looks pretty neat. Like Lisp macros, huh?
gl has joined #ocaml
ayrcier has joined #ocaml
cleverdra has quit [Connection timed out]
ayrcier is now known as cleverdra
ayrnieu has quit [Connection timed out]
two-face has joined #ocaml
<two-face>
plop
<Dybbuk>
two-face: Howdy there!
<Dybbuk>
I emailed the OcamlODBC author this morning about adding bound parameters.
<Dybbuk>
I think it's something that is definitely needed.
<two-face>
heya
Dybbuk has quit ["[x]chat"]
Dybbuk has joined #ocaml
<Dybbuk>
Whoops.
<two-face>
?
<Dybbuk>
Wrong command. :)
emu has joined #ocaml
<emu>
does anyone happen to be aware of any ML-like language (or other) that has a construct which establishes an exception /type/ within a lexical scope?
<two-face>
such as?
<emu>
I don't know of any ones out in the wild, that's why I'm asking =)
<two-face>
like in C++ ?
<emu>
I havn't used C++ for many years. which construct?
Dalroth has joined #ocaml
<two-face>
you want exception ineritence ?
<emu>
no no
<cleverdra>
emu - I don't see the point of this. Do you want a 'goto' command?
<Dybbuk>
Scoped exceptions?
<Dybbuk>
Hmmm.
<emu>
yes, an exception type that is only usable in a lexical scope
<emu>
it's weird
<Dybbuk>
emu: Doesn't CL allow that?
<emu>
which is why I can't think of any languages with one
* emu
double-checks
<two-face>
Dybbuk: CL in not a ML derivative :)
<Dybbuk>
two-face: I know. :)
<cleverdra>
You can define an exception within a module and just not export it, I think.
<emu>
it does define condition types though
<emu>
but afaik only globally
<Dybbuk>
How do you export an exception?
<two-face>
Dybbuk: do you know CL well?
<Dybbuk>
I've just seen them defined.
<emu>
there is no module system in CL
<Dybbuk>
two-face: Not really well, no, but I can muddle along in it.
<Dybbuk>
I've written stuff in CL.
<two-face>
Dybbuk: are you using linux?
* cleverdra
is not talking about CL.
<emu>
cleverdra: yah i just realized that
<emu>
cleverdra: I suppose that what you suggested would achieve what I was saying, but it would probably be hard to extract any particulars about the implementation
<emu>
implementation of said constructs
<two-face>
cleverdra: we were trying to find some similar concepts
<Dybbuk>
two-face: Yep, I am.
<two-face>
Dybbuk: is it possible to build standalone CL programs like in Ocaml ?
<emu>
standlone?
<Dybbuk>
two-face: I think it depends on the system you're using.
<emu>
nothing is standalone ;)
<two-face>
Dybbuk: someone said cmucl is the best free cl compiler upto now
<Dybbuk>
CL certainly seems more involved than OCaml.
<cleverdra>
with SBCL, at least, it's not practical.
<Dybbuk>
two-face: Well, I like SBCL, too. They're both good. :)
<emu>
you can insert the runtime system into the executable and make it play nice with ELF
<two-face>
Dybbuk: ok
<emu>
then you get ``standalone''
<emu>
(except it depends on Unix and whatever C runtime)
<two-face>
ok
<emu>
CMUCL and SBCL don't offer this, but you're welcome to include a copy of the runtime exec (small) along with a dumped core
<emu>
the commercial CLs include functionality to dump applications, mostly so you don't ``have'' to redistribute the compiler with your app
<two-face>
this is bad :(
<cleverdra>
It's bad for some things, yes.
<cleverdra>
O'Caml is a little better for tiny unix-friendly executables that lowercase their arguments or such.
<emu>
CL, like Smalltalk, is it's own little world
<cleverdra>
(not to say that O'Caml is only better in this area; jsut that this is such an obvious application domain where CL isn't useful)
* cleverdra
nods.
<Dybbuk>
I'd agree with that. CL is more suited to larger projects.
<two-face>
why?
<Dybbuk>
Not compared to OCaml. :)
<cleverdra>
because of the size limitations. The smallest I can get (with my knowledge, though) a program that, say, merely echos its arguments backwards is 18M or so.
<two-face>
ahh
<two-face>
cleverdra: in ocaml ?
<Dybbuk>
cleverdra: Well, CLISP has a much smaller memory footprint than that.
<cleverdra>
*nod* and ECL might be better -- or any CL that has a fast enough compiler that I can just leave the program as source.
<cleverdra>
two-face - no; still talking about CL.
<emu>
CMUCL has heavy memory footprint
<emu>
it's all about speed not space
<Dybbuk>
cleverdra: CLISP has a pretty good byte-compiler, and SBCL and CMUCL both compile to native code.
<emu>
anyway I wouldn't write dinky small standalone utility programs, I would write dinky small utility functions and keep the CL going, just like I keep a unix shell going
<cleverdra>
Yes, a lisp-daemon =)
<emu>
daemon?
gene9 has joined #ocaml
<two-face>
erk
<cleverdra>
There's something on cliki for that, I think.
<emu>
I want to interact with it
<two-face>
cleverdra: Emacs!
<emu>
CL is meant to interat with
<emu>
Emacs blows
<emu>
but it's kinda the idea
<cleverdra>
emu - something unix-friendly, but OK.p
<emu>
yes, there are ppl who would liek to have both interactive and unix-friendly =)
<Dybbuk>
Emacs makes me happy.
<two-face>
and emacs can brew coffee now
<emu>
half the battle of Unix is getting a decently interactive and informative environment
<emu>
mm, coffee
<cleverdra>
bah, anything can brew coffee.
<emu>
yeah. cleverdra, go brew coffee for me.
<emu>
or better yet;beer
<cleverdra>
emu - I would, but I don't have a coffee/beer machine, or a distribution mechanism to get it to you.
<cleverdra>
emu - see how quickly your 'english' programming language fails in the absense of supporting hardware?
<Dybbuk>
Heheh. :)
<emu>
IRC lacks the expressiveness to give a good hard kick to the ass
<emu>
:P
<emu>
or to dump a pot of hot water on the other peson
<cleverdra>
For some things, body-language is still most appropriate =)
* emu
dumps a pot of hot water on cleverdra
gene9 has quit ["Client Exiting"]
<Dybbuk>
C'mon guys, why can't we all get along?
<two-face>
ahaha
<two-face>
please caml-list was enough for today
<Dybbuk>
Heheheh. :)
<Dybbuk>
That was pretty entertaining.
<emu>
hey, I was expecting something more than stunned silence
<emu>
maybe a shriek or two
<two-face>
that was a pity
<emu>
or maybe turn into a panda
<two-face>
?
<cleverdra>
Sadly, I'm not yet mature enough to shriek. I used to be!
* emu
wonders how that one works
<cleverdra>
It involves a notion of 'maturity' that involves many distinctions and domains of 'submaturity', where 'submaturity' shifts with local and general mood.