smkl changed the topic of #ocaml to: http://icfpcontest.cse.ogi.edu/ -- OCaml wins | http://www.ocaml.org/ | http://caml.inria.fr/oreilly-book/ | http://icfp2002.cs.brown.edu/ | SWIG now supports OCaml
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> and it has an annonying ass name
<cleverdra> How is it annoying?
<boltion> then it should be calld camel
<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.
<emu> dynamic extent and indefinite scope?
<cleverdra> dynamic, I think.
<two-face> bye
two-face has left #ocaml []
<Dybbuk> This is really funny:
cleverdra has quit [Read error: 104 (Connection reset by peer)]
<karryall> excellent !
<karryall> arf, it's markus
TachYon25 has joined #ocaml
gl has quit [No route to host]
TachYon25 has quit [Remote closed the connection]
TachYon25 has joined #ocaml
TachYon25 has quit [Remote closed the connection]
Yurik has joined #ocaml
<Yurik> re
Yurik has quit [Client Quit]
<Dybbuk> Does anybody know of a good ternary search tree implementation in OCaml?
Yurik has joined #ocaml
<Yurik> re
Dalroth has quit []
Yurik has left #ocaml []
Begbie_ has joined #ocaml
Begbie has quit [Read error: 104 (Connection reset by peer)]
MegaWatS has joined #ocaml
Begbie_ is now known as Begbie