smkl changed the topic of #ocaml to: check logs from http://bespin.org/~nef/logs/ocaml/
malc has joined #ocaml
<Cerebrum> Hello can anyone point me to that web page that had 100 example lines of Ocaml code? Thanks!
<Taaus> Good grief, man...
<Taaus> Cerebrum: Learn to 1) Stop spamming, and 2) search the net... The page you're looking for is http://caml.inria.fr/FAQ/exemples-eng.html
<Cerebrum> Thx...
<Cerebrum> I searched the net btw using Google. But it returned too many URLs for the search string "100 lines of code Ocaml"
tav has joined #ocaml
<Cerebrum> ok, gotta go
<Cerebrum> bye...gl hf
Cerebrum has quit []
jao_ has left #ocaml []
jao_ has joined #ocaml
<jemfinch> Does anyone here know AOP, Aspect Oriented Programming?
<malc> aspectj and stuff
<jao_> i've played a little with aspectj, too
<jemfinch> I was wondering how to do AOP in an ML.
<jemfinch> or how close a person could get without direct language support (as in aspectj)
<jao_> hmmm... aspectj heavily relies on java's reflection capabilities... i wonder how one could do that kind of stuff in ML...
<jao_> specially for 'introductions'
<jemfinch> what are those?
* jemfinch doesn't know all that much about AOP, only that it seems interesting.
<jao_> the possibility of modifying a class' interface or implementation: adding new methods, or even make it a subclass of a new parent
* jao_ doesn't know a lot about AOP, neither, but is also interested
<jemfinch> I think AOP would come in very useful in the IRC bot I write in ML.
<jemfinch> (Written currently in O'Caml, but probably put in SML later when I get some time)
<jao_> i'm under the impression that AOP is thought as an OOP extension, but maybe am wrong...
<jemfinch> it pretty much is.
<jemfinch> But OOP is just a functional programming extension :)
<jao_> i wonder if the relation is transitive :)
<malc> AOP is abomination of nature
<jao_> why?
<malc> gut feeling
<jemfinch> malc: it seems a really good way to make software more easily extensible.
<malc> i beg to differ
<malc> no actually i dont..
<malc> maybe it does make code easier to extend
<malc> but this is only half the truth
kjs3 has joined #ocaml
<jao_> imho, 'cross-cutting concerns' are _real_ concerns, and should be addressed
<malc> uh-oh we are sky rocketing to buzz-words.. no thanks not at 5:25 on the morning
* malc just finished porting some code to Clean, and feels good
* jao_ wonders what Clean ressembles to
<jemfinch> Clean isn't Free Software, is it?
<malc> jao_: much like haskell
<malc> that is correct
<malc> the sources are available though
<jemfinch> why are you porting code to it?
<malc> for fun
<jemfinch> oh, ok :)
<malc> now i have OCaml, SML, Haskell, C++ and Clean version of silly stuff
<jemfinch> what's the silly stuff?
<jemfinch> You could convert it to Python :)
<malc> i tried
<malc> python is underpowered for the silly stuff
<jemfinch> what's the silly stuff?
<malc> some (big)integer stuff
<jao_> malc: which implementation you like better?
<jemfinch> malc: Python has big integer stuff.
<malc> jao_: hard to say really.. i know which implementation i hate the most
<jemfinch> which one?
<jao_> C++, i bet! :)
<malc> jemfinch: it lacks generic support (functors, type classes, templates)
<malc> C++ and Haskell
<malc> though Haskell is almost the same as the Clean version
<malc> ghc is so slow that it killed all the fun
<jemfinch> malc: Python lacks generic support?
<jemfinch> it's dynamically typed...how could it lack generic support?
<malc> then again C++ was almost as slow (icc, gcc on linux) due to my decision to use STL
<jemfinch> how did the performance of O'Caml compare to SML (and which SML implementation did you use?)
<malc> jemfinch: i must embedd everything into objects, which was precisely the thing to avoid for this little thing of mine
<jemfinch> malc: why did you have to embed things into objects?
<malc> O'Caml is the second worst performer
<jemfinch> really?
<malc> MLton produced brilliant code
<malc> only slightly worse than that of C++
<malc> MLkit was horrible
<jemfinch> Have you tried the SML with sml-nj?
<malc> Mosml is well.. bytecode compiler
<malc> nope, dont have sml/nj here
<jemfinch> running Debian?
<malc> RedHat 5.2
<jemfinch> oh, ok.
* jemfinch is curious about the sml-nj performance.
<jemfinch> what were the best performers?
<malc> icc, gcc, Mlkit, Clean, ocaml, haskell
<jemfinch> where's mlton in there?
<jemfinch> (and C++?)
<malc> thats for integer(normal) calculation, for bigint they all performed the same
<malc> sorry Mlkit = Mlton
<jemfinch> oh, ok :)
<malc> C++ = icc, gcc in that order
<jemfinch> is the code downloadable?
<malc> not yet
<jemfinch> I'm curious to implement it in Python.
<malc> that would be nice
<malc> i wonder what will be the LOC size
<malc> size=count
<jemfinch> what's the algorithm?
<jemfinch> and how many LOC is it in O'Caml?
<malc> right now OCaml version is inflated operates on 10 kinds of numeric types, so its not correct to compare it to others
<malc> 176 lines for clean version 162 for haskell
<malc> and boy.. clean really shines compilation speed wise.. miles ahead of all others
<jemfinch> well, if you can get me the O'Caml or perhaps the SML version, I can probably convert it to Python pretty easily.
<malc> perhaps tomorow
<jao_> malc: i'd like very much to have a look at the ocaml version too, for educational puporses, once you got it ready
<jao_> purposes
<malc> sure
<malc> but its sortof depressing that non-specialization of functors makes ocaml slower than clean which is lazy.. sigh :(
<jemfinch> MLTon specializes functors, that's why it's faster, right?
<jao_> sorry, non-specialisation of functors? like C++ template specialisations?
<malc> jemfinch: yep
<jemfinch> jao_: yeah -- functors in O'Caml are specialized at runtime (into records of functions) which makes them unnecessarily slow.
<malc> jao_: i think we have been trough it in the past.
<jao_> malc: yep, i remember: my work assignment!
<malc> jao_: indeed ;)
* jao_ is not doing his homework :)
<malc> heh ;)
<kjs3> Does mlton support seperate compliation?
<malc> no
<jemfinch> mlton's biggest problem is that it doesn't run on anything but Linux/x86.
<kjs3> If you have limited development resources, that's a reasonable choice.
<jemfinch> it's just annoying.
<jemfinch> because I don't use Linux.
<kjs3> I'm sure they'd be more than happy for you to port it to your platform of choice.
<jemfinch> for a price :)
<jemfinch> it shouldn't be a hard port to FreeBSD...I suppose that's what's post annoying -- it's a quick and easy (for someone with the proper experience) port but no one has done it.
<kjs3> Go for it.
<jao_> do they use autoconf/automake? if so, it should be easy indeed
<jemfinch> me? hah...I'm not a good or experienced programmer.
<jemfinch> I don't think they do -- autoconf/automake probably don't lend themselves to non-C languages all that well.
<jemfinch> and MLTon is written in SML, of course.
<jao_> but then, one only needs to port the bootstrap; i agree with you: is surprising no one has ported it
<jemfinch> I can understand not porting to another processor, but not porting to FreeBSD seems kind of extreme.
<malc> time to sleep.. ciao
malc has quit ["no reason"]
<jemfinch> and they would probably have a lot to gain from porting to another processor.
<kjs3> With only 4 developers, I'm sure porting wasn't a priority.
<jao_> do you know how many developers ocaml has? (just curious)
<jemfinch> more than 4 :)
<jao_> :)
<jemfinch> I like O'Caml, but I think I like SML a bit better.
<jemfinch> I like Basis, and I like the focus on fewer exceptions...and the first-class continuations provided in most good implementations.
<kjs3> The web page lists 4 core developers.
<jao_> what is Basis? first-class continuations are cool... i thought only scheme had them...
<jao_> kjs3: for ocaml?
<jemfinch> Basis is the standard library for SML.
<jao_> better than ocaml's?
<kjs3> jao_: for MLton
<jemfinch> jao_: it's a bit cleaner, that's for sure.
<jao_> hmmm... maybe i'd have a look at sml
<jao_> going to sleep, guys... see you!
<jemfinch> seeya.
jao_ has left #ocaml []
smklsmkl has joined #ocaml
smkl has quit [Read error: 104 (Connection reset by peer)]
kjs3 has quit []
Yurik has quit ["Client Exiting"]
tav has quit [carter.openprojects.net irc.openprojects.net]
tav has joined #ocaml
tav has quit [Excess Flood]
tav has joined #ocaml
Yurik has joined #ocaml
scipient has quit [carter.openprojects.net irc.openprojects.net]
jemfinch has quit [carter.openprojects.net irc.openprojects.net]
jemfinch has joined #ocaml
scipient has joined #ocaml
tav has quit [Excess Flood]
tav has joined #ocaml
smklsmkl has quit [carter.openprojects.net irc.openprojects.net]
Taaus has quit [carter.openprojects.net irc.openprojects.net]
smklsmkl has joined #ocaml
Taaus has joined #ocaml
smklsmkl is now known as smkl
Yurik is now known as Yurik[hungry]
Yurik[hungry] is now known as Yurik[eating]
Yurik[eating] is now known as Yurik
nyoshi has joined #ocaml
nyoshi has quit ["bye"]
owll has joined #ocaml
<Yurik> owll hi
<owll> hi!
Yurik has quit [Remote closed the connection]
owll has quit ["Client Exiting"]
owll has joined #ocaml
owll has quit [Client Quit]
tav has quit ["Hakuna Matata"]
tav has joined #ocaml