foobarquux changed the topic of #ocaml to: www.ocaml.org
graydon_ has quit [Read error: 110 (Connection timed out)]
malc has quit ["no reason"]
foobarquux has quit [Remote closed the connection]
gl has quit [Read error: 104 (Connection reset by peer)]
gl has joined #ocaml
mellum has quit ["zzz"]
jemfinch` has quit []
jemfinch has joined #ocaml
comatoast has joined #ocaml
<jemfinch> comatoast: aren't you an original #pythoneer?
<comatoast> I've been in there for a while, if that's what you're asking...
<jemfinch> yep.
<jemfinch> what brings you here?
<comatoast> I heard this channel has some good ham sandwiches....
* comatoast glances around the room
<jemfinch> hehe :)
<jemfinch> "jambon"
<jemfinch> (it's one of the few french words I remember)
<comatoast> actually, there's an ocaml-3.02.tgz on my system, and I played around with it for a little bit on my last system rev (i.e. before I had to reinstall)
<jemfinch> what do you run?
<comatoast> brb, wanna refresh mirc fonts
<comatoast> Win2K here, OpenBSD there
comatoast has quit ["Whoosh!"]
comatoast has joined #ocaml
<comatoast> anyway, I'm occasionally in the mood for picking at mildly exotic languages
<jemfinch> well, I like this one :)
<jemfinch> if you get into it at all, I've written an irc bot in it.
<jemfinch> and an interpreter for a dynamically typed language, and an asynchronous networking framework, and so on...
<comatoast> ooh
<comatoast> and yet, that stuff seems SO non-ML
<jemfinch> I love ML :)
<jemfinch> it lets me write significant programs that aren't too buggy.
<jemfinch> (something that caused trouble for me in Python)
<comatoast> how so?
<jemfinch> well, bugs snowball a whole lot more in Python.
<jemfinch> I wrote an IRC bot in Python, too.
<jemfinch> and as I would add features, more bugs would show up...and then I'd run parts of the program that hadn't been run before, and there'd be bugs there...
<jemfinch> and it's just that Python is *so* dynamic that it couldn't catch *any* of my bugs, and it was annoying to have bugs show up at runtime.
<comatoast> heh
<jemfinch> almost more importantly than the static type checking is the complete program analysis -- even parts of my program that won't run for 3 days get checked at compile time.
<comatoast> handier than checking all possible inputs
<jemfinch> yeah...it lets me write bigger, more capable programs than I could with Python.
<jemfinch> sure, Python's dynmicism can be used to great effect, but for me, I need the static bug checking more than the dynamicism.
<jemfinch> combine O'Caml's static typechecking with a quality unit testing regime, and perhaps an exception coverage tester, and you've got a recipe for programs that don't break.
graydon has quit [carter.openprojects.net irc.openprojects.net]
graydon has joined #ocaml
<comatoast> hm, will I be able to jump right into socket stuff, or should I fiddlefart around with a couple of ways to write factorial functions?
<smkl> ocaml has just posix socket interface
teek has joined #ocaml
* teek is away: Odd. I've something to do.
mellum has joined #ocaml
<jemfinch> .
teek has quit ["Coffee break"]
teek has joined #ocaml
teek has quit ["Coffee break"]
jao has joined #ocaml
<jao> hi, i'm new to this channel, to ocaml and to irc:
<jao> i learning ocaml and thinking of a pet project in ocaml
<jao> is this a proper place to ask for advice?
<jemfinch> sure.
<jemfinch> I write an IRC bot in O'Caml. That's my "pet project"
<jao> good! i was thinking of a library for logging, a la log4j, log4cpp, etc...
<jao> don't know if there are already ocaml libraries offering such functionality
<jao> or if it would interest anyone, either...
<jemfinch> what's log4j or log4cpp?
* jemfinch hasn't heard of them.
<jao> object oriented logging libraries for java and c++
<jao> they let you output log messages
<jao> to a variety of sinks
<jao> configurable at run time
<jao> with priorities and all that
<jemfinch> oh, that's spiffy. It might be something I'd use in my irc bot :)
<jao> :-) so what do you do for logging messages?
<jemfinch> just a stupid little logging module I wrote.
<jemfinch> Logs.log "logname" "log message..."
<jao> i see... i guess there are no "standard" libraries for doing it in ocaml then...?
<jemfinch> not that I'm aware of.
<jao> mmmm... do you think i could write it in an object oriented fashion?
<jemfinch> sure, why not?
<jemfinch> OO isn't all that popular in the O'Caml community, though.
<jao> i mean, i'm trying to learn functional programming also, and i guess many
<jao> ocaml programmers are functional guys... maybe they won't like
* jemfinch has found himself using OO less and less as he becomes more experienced functionally.
<jemfinch> (I came to O'Caml from Python, btw)
<jao> i come from c++, java and a little scheme
<jao> maybe the functional paradigm asks for a different logging design
<jao> that the current OO ones in the log4 family?
jao_ has joined #ocaml
jao has quit [Read error: 104 (Connection reset by peer)]
<jao_> jemfinch: still there? sorry, a phone call cut my connection
<jemfinch> it's all good.
jao has joined #ocaml
<jao_> so, what do you think about OO logging for functional guys like you?
<jemfinch> I try to write my programs to use classes as little as possible. I don't like them.
<jao_> why?
<jemfinch> I just don't like them :)
<jao_> :)
<jemfinch> functions are more "intuitive" for me.
* jemfinch runs out to grab lunch, he'll be back in 10 minutes or so.
* jao_ tries the action command
jao_ has left #ocaml []
* jao is back
<jemfinch> what irc client are you using?
<jao> irssi
<jao> not an expert, though
<jao> i just tried (x)bitch and didn't like it
<jao> what about yours?
foobarquux has joined #ocaml
<foobarquux> hi
<jemfinch> howdy
<jemfinch> jao: I use xchat.
<foobarquux> fine thanks
<foobarquux> xchat >= 1.8.7 ? :)
<jemfinch> yep.
<foobarquux> ok
* jao prefers command line programs
* foobarquux is irssi powered
* jao too :-)
<jao> foobarquux: i was asking about developing a logging library modelled after log4j... any thoughts?
<foobarquux> no, sorry
<jao> thanks anyway :)
johs has joined #ocaml
johs has left #ocaml []
gl has quit ["Sic transit gloria mundi"]
foobarquux has quit [Remote closed the connection]
vect has joined #ocaml
vect is now known as gl
malc has joined #ocaml