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]