systems 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| Early releases of OCamlBDB and OCamlGettext are available | Caml Weekly news http://pauillac.inria.fr/~aschmitt/cwn/
jao has quit ["leaving"]
<iusris> anyone here used any of the mysql bindings for ocaml??
<iusris> just wondering which one to use-- i see one at http://raevnos.pennmush.org/code/ocaml.html and one at http://www.gaertner.de/~lindig/software/mysql-readme.html
gavion has joined #ocaml
<gavion> hey
<gavion> im new to programming
polin8 has quit [Read error: 104 (Connection reset by peer)]
<Riastradh> Hi.
<gavion> is ocaml
<gavion> aesome?
<taw> yeah ;)
<Riastradh> Of course.
<taw> ocaml is the new perl ;)
<taw> the next big thing in programming languages
<Riastradh> Ack, no, it's not that bad.
<taw> perl started the revolution
<taw> you wouldn't have internet without it
<taw> so better show some respect
<taw> ;)
<Riastradh> I refuse to respect Perl, except for its closures.
<taw> regular expression roxors, man
<taw> and hashtables
<taw> yeah
<taw> without perl we still wouldn't have them
<Riastradh> Hash tables and regexps neither are done best nor were invented by Perl.
<taw> they were mainstreamized by perl
<Riastradh> No, not really.
<taw> and regexp are done best in perl
<Riastradh> Definitely not!
<taw> that's definitely true
<Riastradh> Defend yourself.
<taw> the only regexp engine better than one of perl 5 is that of perl 6 ;)
<Riastradh> Perl 6 will come out when Heck freezes over and Phil gets a spork.
<taw> yeah, that's probably true ;)
<Riastradh> I can name at least three regexp packages better than Perl's -- Python's, Bigloo's, and scsh's.
<taw> mmm
<taw> nobody uses these 2 languages
<taw> and python rexeps sucks
<taw> it's not builtin into syntax
<taw> so it's almost useless
<Riastradh> Hash tables were nothing new nor 'mainstreamized' by Perl; Knuth wrote of them long, long before Perl.
<taw> sure, but it's about being builtin into syntax
<Riastradh> Either you're a troll or you're a moron.
<taw> no language passed parameters like
<taw> foo bar=>1, baz=>2
<Riastradh> Syntax causes cancer of the semicolon.
<taw> i'm perl master !
<Riastradh> Adding more syntax to a language worsens it.
<taw> of course not
<taw> you would be using lisp not ocaml if you believed that
<taw> ocaml is pretty syntax-heavy
<Riastradh> I -do- use Lisp.
<gavion> ok
<taw> oh, that explains
<Riastradh> In fact the thing I hate most about OCaml is its syntax.
<taw> i'm sorry:)
<gavion> i have linux on my duron 850 now
<gavion> i so proud of myself
<gavion> 256ram
<gavion> is ocaml a functional language i guess?
<Riastradh> It is.
<gavion> can it b used for database-backed websits?
<taw> not really
<Riastradh> Yes.
<taw> it's multiparadigm
<gavion> ok
<taw> functional+imperative+objective
<gavion> where are some websites using ocaml?
<gavion> ps im new ot this irc thing too
<Riastradh> Listen not to taw; as you have just seen, he's either a troll or a moron without any information inside him.
<taw> is using ocaml + php for cgi
<gavion> ok
<gavion> how do i iggy someone in ird
<gavion> irc?
<Riastradh> /ignore taw
<Riastradh> ...probably.
<taw> hehe
<gavion> there we go
<taw> Riastradh: i'm the only person using ocaml for cgi stuff ;)
<gavion> what si a ctcp version
<gavion> someone jsut ran that on me
<Riastradh> taw, another wild and stupid and trollish assumption.
<gavion> ok
<gavion> so
<Riastradh> Of course, no one intelligent would use CGI anyways for the web.
<taw> really, where is ocaml used for cgi ?
<gavion> ok
<gavion> well
<taw> now you're trolling
<gavion> has anyone here heard of www.prevayler.org?
<gavion> prevalence etc. ?
<Riastradh> CPS is arguably more secure and easier to understand than CGI.
<gavion> it seems highly interesting
<gavion> what si cps?
<gavion> is cps?
<Riastradh> CPS -> Continuation-Passing Style
<gavion> woa
<gavion> I don't know that
<Riastradh> It's a little difficult to understand without prior knowledge of the language.
<taw> cps has nothing to do with cgi
<gavion> ocaml in particular?
<taw> cps is just some functional trick
<Riastradh> But once you -have- knowledge of a language, then it can easily be explained, provided you understand continuations.
<gavion> ok
<gavion> so there is an interface between the webserver and language directly?
<taw> gavion: it doesn't have anything to do with www, and Riastradh is trolling you
<gavion> no separate process as in cgi?
<Riastradh> Look on the Caml Hump (from ocaml.org).
<Riastradh> There are several web-related things there.
<gavion> is ocaml viable for web development?
<Riastradh> Any language is.
<taw> no
<taw> c isn't
<Riastradh> I would suggest Scheme over OCaml for web development, though.
<taw> languages with serious security issues are not
<Riastradh> taw, sure it is.
<taw> ocaml is ok
<taw> of course, perl is probably better ;)
<taw> it has more modules
* Riastradh decides to ignore taw, too.
<taw> ;)
<gavion> lol
<gavion> taw is incorrrigible
<gavion> ok
<Riastradh> gavion, if you're new to programming, though, I wouldn't suggest you try to write lots of web apps at first -- instead learn some languages, decide what you like, et cetera.
<gavion> I am new to unix and programming
<gavion> I can do many of the basics
<taw> learn perl first
<gavion> and am interested in website creation
<gavion> but I want to learn the big tools
<gavion> not the small ones
<taw> that's most popular language for www
<gavion> ria why is no one lse talking?
polin8 has joined #ocaml
<gavion> else
<iusris> whoa; walk away for one second and the chan scrolls out of control ;)
<taw> or php, it's similar and popular too
<gavion> is this server for irc the best one for cmputers?
<gavion> and programming?
<Riastradh> gavion, if you're really interested in web site design, then I suggest you look at Scheme more deeply than OCaml.
<iusris> taw: ruby regexps rock.
<taw> iusris: they are perl's regexp ported to ruby
* iusris nods
<taw> and yeah, they'er not bad
<iusris> and they can be used oop-wise as well
<taw> yeah, but almost everyone is using $1 $2 etc
<iusris> taw: yes, but the oop-ness somes in extremely handy when you least expect it.
<gavion> I have read some criticism of oo programming
<gavion> is oo programming superior?
<iusris> you can read criticism of anything.
<taw> no it isn't
<gavion> what is a good site to show good v bsd?
<taw> it's useful often
<taw> sometimes not
<iusris> paradigms are largely use a matter of taste; use what you like. :)
<Riastradh> Choose the paradigm you like.
<taw> there is one nice wiki for that stuff
<taw> generally you should use languages that allow multiple paradigms to be used at the same time
<taw> like perl ruby or ocaml
<taw> and NOT like c java haskel or lisp
<iusris> good point.
<gavion> hmm
<iusris> especially important for new programmers
<taw> true
<gavion> I fel that since new languages are newer in design its smarter to learn them
<gavion> is thsitrue
<Riastradh> taw, what is wrong with Lisp?
<gavion> should I learn haskell or ruby
<gavion> or lisp
<gavion> I really dont know anything about programming
<gavion> I did read that LAMP
<gavion> Mysql linux php and apache
<taw> haskell is very weird
<taw> don't start with that
<taw> lisp has awful syntax and very weird oo
<taw> it's not as bad as haskel but still not as good as some others
<taw> ruby is very good start
* iusris nods
<taw> of course after you know language or two it won't matter so much
<gavion> can be a godo way to get data on web in useful manner
<taw> but it hurts to see people who started with pascal ;)
<Riastradh> taw, stop making wild conjectures about languages and trying to inject your own opinion into newbies.
<Riastradh> Haskell is a purely functional language with things like a very strict type system, like OCaml, but with also a generic type system to which I haven't found anything similar.
<iusris> I think I like every language I've ever met... almost.
<iusris> Not too fond of Java, but even I like Interfaces.
<taw> iusris: met basic or pascal ?
<taw> yuuuck
<iusris> taw: worry-- meant to say 'real languages'
<Riastradh> Lisp's syntax is not inherently 'awful'; indeed, it has some very nice advantages -- code is data, macros are possible, and that data is really what XML reinvented the wheel of.
<iusris> ;)
<taw> oh ;)
<taw> yeah, yeah, we've heard that crap already
<taw> but people don't work that way
<Riastradh> taw, another wild and stupid conjecture.
<taw> (+ 2 3) looks fine only up to 2 or 3 levels of depth
<Riastradh> There are -PLENTY- of Lisp programmers who like the syntax.
<taw> considering that there are about 10 lisp programmers total ... <g> ;)
* iusris grabs some popcorn
<Riastradh> You are merely injecting your own opinion into people new to programming languages. Let them decide what they like, damnit!
<taw> i'm merely trying to protect him from unnecessary suffering
<Riastradh> Unnecessary suffering?
<Riastradh> What -YOU- consider to be suffering.
skylan has quit ["brb. reboot."]
<Riastradh> I like Lisp's syntax. I despise that of Perl and OCaml. But you don't see me trying to tell gavion that Perl and OCaml suck because of the syntax.
<taw> you're too busytrying to offend me to have time to say anything about perl or ocaml ;)
<Riastradh> I am -NOT- trying to offend you; I am trying to stop you from injecting your own opinion into newbies, damnit.
<gavion> yes
<mattam> i think lot of people hate perl's syntax yet it is widely used taw
<gavion> but what si a good programming lanuage that cna scale etc.
<Riastradh> gavion, rephrase, please.
<mattam> i personally don't like it but wouldn't stop anyone for trying it
<taw> mainstream languages are quite similar so even if one language isn't used much in some area, similar language would be
<taw> so having learned some ruby, you will be able to learn perl python php ocaml etc. relatively quickly
<taw> no reason to get too attached to one language in particular
<taw> on the other hand, lisp / haskell knowledge is not very portable
<Riastradh> Why not?
<taw> they are seriously different from mainstream, i'm not saying it's bad, but it's not what you want to start from
<taw> which other languages uses lists for everything
<Riastradh> Lisp does -NOT- use lists for everything.
<taw> or uses lazy evaluation
<mattam> not perl from python or ruby, C, C++, java, lisp and ocaml which i know. Some languages have really strong personalities I think, perl or lisp for example
<Riastradh> Mainstream languages are -NOT- necessarily the best languages.
<Riastradh> Haskell isn't -all- lazy evaluation.
<taw> well, that's true
<taw> not necessarily "best"
<Riastradh> Use what language you like.
<taw> but that depends on what you mean by "best"
<taw> i'd like to remind you that gavion doesn't know any, so he can't really decide at this moment
<Riastradh> Programming is only for the fun of it. It accidentally became useful at some point, but forget thou not that it is really about having fun.
<taw> well, not really
<taw> it's not for fun
<Riastradh> What is it for then?
<taw> it's to make useful things
<mattam> or trying to have fun. Some languages make it difficult, ever tried brainfuck :)
<taw> having fun is just a side effect
<Riastradh> mattam, hey, some people like trying to wrap their heads around it.
<reltuk> ocaml is notably more difficult to move to/from than ruby/perl/python/c/c++/etc.
<mattam> reltuk: still depends where you go, or where you come from
<Riastradh> mattam, he said whence you come or whither you go -- Ruby/Perl/Python/C[++]/et cetera.
<Riastradh> None of those languages are very functional.
<Riastradh> gavion, are you still here, or have you been scared away by this flame war?
<taw> well, i moved to ocaml from perl/ruby without any problems
<taw> ruby is pretty functional
<mattam> except for lambda functions and some closures
<taw> perl/python also have closures
<Riastradh> Ruby is pretty functional? Why are methods not, then, ordinary first-class objects?
<taw> c++/java are completely unfunctional
<Riastradh> Python doesn't have closures.
<taw> hmm
<taw> really ?
<Riastradh> Nope.
<taw> it had lambda something something
<Riastradh> Its lambda is really half-assed.
<taw> dunno, i used mostly perl and ruby
<mattam> i don't know how ruby has evolved, it had lambda's and closures when i used it
<taw> methods in ruby are exception, not a rule
<taw> it had closures from day 0
<Riastradh> taw, nearly all functions in Ruby are defined and used as methods.
<taw> lambda {|*x| foo->bar(*x)} is usually good enough ;)
<mattam> and a somewhat cryptic deviance in syntax
<taw> you are supposed to closurify them
<mattam> @,#, @@...
<taw> of foo.bar ;)
<taw> of course
<Riastradh> I find it very irritating that blocks and methods and functions and all those things are all separate beings.
<taw> what have i been thinking
<taw> there are no "functions" only closures and methods
<reltuk> well, I know ruby/python/c/c++ and I just started looking at ocaml but it's kicking my ass
<taw> every block is a closure
<Riastradh> I'm referring to the bit about how you must take block arguments specially, how methods created with 'def' are incompatible with procedures created with 'proc' or 'Proc.new', and things like that.
<taw> that's just syntactic sugar
<taw> and btw. Proc.new == lambda
<taw> i haven't found it to be practical problem even once
<taw> nobody would even know that if it wasn't for some whiners
<iusris> me neigther, and I've been programming in it for 3 years
<Riastradh> I found it the time I tried simply to write a simple function composition routine.
<taw> class Proc
<taw> def *(x)
<taw> etc ?
<taw> ;)
<taw> yeah, that's pretty simple thing
<taw> and it should be composition method for Proc ;) not any "routine"
<taw> gavion: are you affraid now ;) ?
<Riastradh> I said 'routine' as a generic term.
<taw> :)
<gavion> is ocaml like haskell at all?
<taw> anyway, i don't think that anyone here would specifically discourage ruby, so you may start with that
<gavion> functional as opposed to procedural?
<Riastradh> OCaml is less functional than Haskell.
<taw> no, ocaml uses eager evaluation
<gavion> so what do you get with functional?
<taw> it's more "normal" than haskell
<gavion> over procedural?
<taw> haskell is too functional
<taw> ;)
<Smerdyakov> taw, it's not pure functional and Haskell is. That makes it "less functional."
<Riastradh> taw, STOP INJECTING YOUR OWN OPINION!
<taw> Riastradh: which one ?
<taw> one that ocaml is more mainstream or one with ;)
<taw> ?
<Riastradh> That OCaml is 'normal' and Haskell is 'too functional.'
<taw> ocaml is more normal than haskel, where normal = similar to other languages
<mattam> taw: ruby is slow
<Riastradh> To what other languages do you compare it?
<mattam> which can be discouraging, if not for learning but for making useful things
<taw> Smerdyakov: well, defining functionalness in terms of 1 language ;)
<Riastradh> If I gave you a big list of languages, I'm sure you would find that OCaml is very different from most of them.
<taw> Smerdyakov: lisp and ocaml are generally considered "functional", and they use eager evaluation
<Smerdyakov> taw, 2 things:
<Smerdyakov> 1. I said _pure_ functional.
<taw> Riastradh: but haskell would invariably be more different
<Smerdyakov> 2. Lazy/eager evaluation is not a factor.
<reltuk> mattam : depends on what you're using it for I suppose...
<taw> mattam: not that much slow
<reltuk> mattam : it's not much slower than perl or python
<mattam> OCaml has an object paradigm gavion which makes it particular
<Riastradh> taw, the issue is irrelevant, anyways -- gavion should choose what -HE- likes, NOT WHAT YOU LIKE!, and comparison to other languages has -NOTHING- to do with it.
<taw> mattam: in real apps most time is spent by i/o, mysql etc.
<taw> but you don't want to crunch numbrs with ruby :)
<iusris> I wouldn't want to crunch numbers w/ any interpreted language
<mattam> reltuk, taw sure, but a simple xslt processor in ruby is really slow
<iusris> it's not what they're for.
<taw> dunno, xml in ruby was pretty fast last time i checked it
<mattam> not for me :)
<gavion> ok
<taw> relax, just get better box ;)
<gavion> why is ruby getting so popular
<gavion> over something purely functional like haskell
<gavion> why does haskell do badly?
<gavion> if it does
<Smerdyakov> Ruby's not popular more in academic circles, I'll tell ya that!
<Riastradh> More programmers find functional languages scary.
<iusris> ah, the functional vs imperative discussion.
<taw> most people have hard time with purely functional languages
<gavion> why is ruby easier
<mattam> these are very different languages gavion
<gavion> ok
<Smerdyakov> I don't know about among the Profane.
<gavion> what is imperative
<gavion> what is functional
<gavion> ?
<Riastradh> Imperative languages consist of statements that are executed.
<gavion> shallw e start there
<Riastradh> They generally just change things around.
<gavion> is procedural=imperative
<taw> functional has 2 meanings
<taw> one is about functions as values
<Riastradh> Procedural is, as far as I know, the same idea as imperative.
<taw> and other is about computation without side effects etc.
<mattam> just with the concept of a function with arguments Riastradh
<gl> functionnal don't know the concept of memory state
<gl> knows
<taw> gl: that's not true
<taw> only "purely functional" languages are like that
<gl> ok. you won.
<taw> "not-purely functional" just make it less visible
* gl &
<taw> it's often very hard to program without any variables, memory etc.
<taw> "not-purely functional" languages are very good compromise
<Smerdyakov> Hard for smelly people.
<Riastradh> taw, have you ever tried programming an application in Haskell?
<mattam> without memory it is impossible i would say taw :)
<Smerdyakov> People who smell like stinky poo.
<gavion> so
<Smerdyakov> mattam, not so.
<gavion> is that an advantage of functional?
<gl> Smerdyakov :-)
<Smerdyakov> mattam, if we are talking about the things the language lets the programmer see/use.
<taw> Riastradh: no, but i have programmed a few things in ocaml and ability to put a few variables here and there is very useful
<gavion> why would a company choose a functional language?
<gavion> to get the job done
<gl> for security
<Smerdyakov> taw, you can use state monads and such for that in Haskell.
<mattam> you should have seen i wasn't ;)
<taw> Smerdyakov: yeah, i can
<Riastradh> taw, have you tried it?
<taw> Riastradh: tried, a couple hello world, didn't like it, moved back to ocaml ;)
<Riastradh> i.e., not just glanced at some code with it, but actually tried writing some somewhat significant program with them.
<taw> no, i haven't made anything significant in haskell
<Riastradh> Then you really have no argument about it.
<Smerdyakov> Perhaps taw is a sample of the not-so-rare species, Low Attention Span.
<mattam> gavion: because it can be very productive, with less bugs and still have good performances
<Riastradh> -Fewer- bugs, mattam.
<mattam> thanks for correcting me Riastradh
<taw> gavion: you can use higher level statements in such languages
<mattam> gavion: the real problem is finding functionnal programmers and managers that know these advantages
<taw> gavion: so you say 10 things in such languages instead of 50
<Riastradh> Purely functional programs can be spread across many threads and processors, because you never have to worry about locking muteces or anything.
<taw> Riastradh: but after we add some monads that's no longer true ;)
<Riastradh> Yes it is.
<Riastradh> I defy you to prove otherwise.
<taw> i will care to check that when i'll find that some program i'm using is written in haskell
<taw> there are too many languages know them all well
<Riastradh> ?
stef_ has quit [Read error: 60 (Operation timed out)]
lament has joined #ocaml
* Smerdyakov is relieved to see that taw is not from an English speaking country, since his English is so bad.
<taw> gavion: so anyway, have fun and don't care about what was said here today ;)
<taw> mm
<taw> that's mostly because of general sleep deprivation
<taw> quality of my english degrades with time ;)
<taw> and that one was obvious typo ;)
<Riastradh> gavion - If you want a good introduction to computer science, I suggest SICP -- http://mitpress.mit.edu/sicp/1
<taw> s/know/to know/
<Riastradh> Er, remove that 1 at the end.
<Riastradh> The fact that it uses Scheme is purely coincidental; it is a computer science textbook, not a language textbook, and Scheme happened to be suitable for its needs of expression.
<Smerdyakov> Shoulda used Haskell instead.
<taw> that's nicer place to start ;)
<taw> theory is something that should be learn AFTER practice
<taw> not the other way around
<Riastradh> taw, that's a book about Ruby, not computer science.
<taw> yeah
<Smerdyakov> It's not "theory without practice," you goonbag.
<taw> just learn that and start coding asap
<Smerdyakov> It's how to learn the software development process _correctly_, so you don't do yourself a disfavor for later learning.
<taw> no
<taw> that won't work
<Smerdyakov> Reaalllllly?
<taw> there is no one true "software development process"
* Smerdyakov calls MIT and tells them to go to hell. You screwed up your curriculum!
<Riastradh> They've had it screwed for fifteen years! OMG!
<lament> Smerdyakov: do they still use sicp?
<Smerdyakov> Ask Riastradh.
<Smerdyakov> But I assume so.
<lament> Riastradh: do they still use sicp?
<Smerdyakov> I know an equivalent course at Berkeley does.
<lament> do you still use sicp? :)
<Riastradh> They do, but why am I the prime suspect of questioning?
<lament> you're the resident MIT spy.
<Smerdyakov> Riastradh, you live near there and make a point of knowing.
<taw> mainstream "code first think when it'll broke" way is not bad ;))
<lament> taw: yes, it is
<taw> ok :)
* taw away
<Riastradh> Just because I teach there doesn't mean I know everything about it!
<Riastradh> Hrm, that argument didn't come out right.
<Riastradh> Oh well.
<Smerdyakov> Hooray. Berkeley (where I'll be soon) uses Scheme for introductory programming courses.... which is odd, because the programming languages researchers would all prefer Haskell, I think =D
<Riastradh> Heh.
<Riastradh> Are there any really good (i.e., as good as SICP or at least around there) CS textbooks that use Haskell, though?
<Smerdyakov> I don't think so.
<gl> wow, 4 am. it's gonna be difficult tomor... this morning
<Smerdyakov> (I've never read SICP, but I don't know of many "general CS" textbooks periods. =)
<gl> bye
<Riastradh> That's probably why it still uses Scheme, then.
* gl &
<lament> Scheme is much less weird
stef_ has joined #ocaml
<lament> and it's easier to explain how stuff maps to real-world computers
<Smerdyakov> Thees ess a load of BOOLSHIT, lam.
<Riastradh> gavion - Are you still here, or did we scare you off again?
<lament> or at least register-based machines
<Smerdyakov> Who cares about real world computers?
<lament> which SICP does.
<Smerdyakov> You want to explain how it maps onto known formal mathematics!
<lament> I do? :)
<Smerdyakov> Yes.
<Riastradh> Of course you do, lament.
<lament> SICP doesn't really do that, does it?
<lament> but it's still the best CS book ever
<lament> so... *shrug*
<Riastradh> Regardless of whether SICP does it, you definitely do.
mattam has quit ["zZz"]
<gavion> anyone here using ocaml with a database on a website?
<Smerdyakov> I have if you s/ocaml/sml
<Riastradh> Please, Smerdyakov. It's 'String.replace "oca" "s" msg'.
Kinners has joined #ocaml
TimFreeman has joined #ocaml
TimFreeman has left #ocaml []
pattern_ has quit [calvino.freenode.net irc.freenode.net]
pattern_ has joined #ocaml
pattern_ has quit [calvino.freenode.net irc.freenode.net]
<gavion> is ocaml better than microsoft c++
<gavion> ?
<Kinners> yes
pattern_ has joined #ocaml
<Kinners> gavion: does that answer your question? :)
<lament> what's microsoft c++?
<lament> never heard of it.
<iusris> Are we talking about C# ?
<Kinners> maybe vc++
<reltuk> is ocaml written in ocaml?
lament has quit ["HILLBILLIES ARE PEOPLE TOO"]
Kinners has left #ocaml []
lament has joined #ocaml
<gavion> im free of bil gates
<gavion> can ocaml do web services?
gavion has left #ocaml []
mattam has joined #ocaml
lament has quit ["I WILL NOT DO MATH IN CLASS"]
<phubuh> reltuk: not entirely.
<phubuh> but, yes, i think it's mostly written in itself.
gene9 has joined #ocaml
<reltuk> interesting
foxster has quit [Read error: 104 (Connection reset by peer)]
docelic has quit [Excess Flood]
docelic has joined #ocaml
iusris is now known as iusris_zzz
__DL__ has joined #ocaml
gene9 has quit []
taw has quit ["bye"]
phubuh has quit ["lraf"]
lus|wazze has joined #ocaml
Vincenz has joined #ocaml
phubuh has joined #ocaml
<phubuh> i wish Array had all the good stuff List does :/
<phubuh> filter, iter_rev, etc
<Vincenz> array->list->dostuff->array
<phubuh> that's not very efficient. i'd rather reimplement the good stuff :-)
<Vincenz> hehe
<phubuh> if i make a module with a submodule called Array, and then i open that module, o'caml isn't so cool that it merges the existing Array module with the new one, right?
<Smerdyakov> That's not "cool." That's "bizarre."
<mattam> and confusing
<phubuh> i rather fancy the ability to add methods to classes in, say, javascript
<phubuh> i think the distinction between my array functions and the array functions of the library creator is pretty arbitrary and ugly
<Smerdyakov> Inheritance is completely different from what you said.
<Smerdyakov> Use OO stuff for that.
<phubuh> i'm not talking about inheritance
<Smerdyakov> It sound like you are... because obviously you can create a simple module that does "open Array" and have the effect of including it all in your name module.
<Smerdyakov> s/name/new
<phubuh> String.prototype["foo"] = function (x) { return this.charAt(x); }
<phubuh> "bar".foo(1) == 'a'
<Smerdyakov> Java lets you add methods to existing classes?
<phubuh> that's javascript, and javascript lets you. java doesn't.
<Vincenz> Smerdyakov: no
<Smerdyakov> O
<Vincenz> javascript is crap tho
<Smerdyakov> Yeah, I don't see that as a helpful feature.
<Smerdyakov> It just helps you make your code harder to read.
<Vincenz> threw a bunch of neat concepts together but never made the language complete
<phubuh> how does it make the code harder to read?
<Vincenz> phubuh: you have to read ALL the code to get what's going on
<Smerdyakov> Someone used to the standard String class suddenly finds bizarre new methods.
<Vincenz> instead of reading diagonally
<phubuh> someone used to the standard String class will be used to the ability to add new methods, and will either figure out what the method does by its name, or find the method.
<Smerdyakov> Why should he have to find the method?
<Smerdyakov> Why is that "good"?
<Vincenz> phubuh:
<Vincenz> "bar".foo(1, 'a')
<Vincenz> what does that do?
<Vincenz> does it alter "bar", if so does it alter it on the heap or does it give a new string instance? what if you applied this to a variable containing a string?
<phubuh> Smerdyakov: what do you do if you find a reference to a strange function you never heard of before?
<phubuh> Vincenz: i don't know. it's named so undescriptively i can't tell.
<Vincenz> phubuh: that's why you have libraries and javadocs
<Smerdyakov> phubuh, you have a mapping from class names to single sources of documentation.
<Vincenz> phubuh: but! you still expect the normal libraries to act the same
* Vincenz nods at Smerdyakov
<phubuh> i guess that theoretically makes it harder to understand, but in practice, noone would add a method called 'foo'
<Vincenz> Smerdyakov: that's my complaint against lisp and scheme too, as macros allow you to completely overthrow the system
<Smerdyakov> phubuh, the same holds for any method name.
<Smerdyakov> phubuh, it's ludicrous to think that a name can explain all caveats.
<Smerdyakov> Vincenz, what about Template Haskell? =)
<Vincenz> never heard of it, but I'm an ocaml man :P
<Smerdyakov> It's type safe "macros" for Haskell.
<Vincenz> ARGGHHH
* Vincenz hates Matlab
* Vincenz sniffs
<Vincenz> FUCK
* Vincenz becomes suicidal
<Vincenz> ARGH
<Vincenz> WOOHOO!
Psion has joined #ocaml
Smerdyakov has quit [Killed (NickServ (Nickname Enforcement))]
Psion is now known as Smerdyakov
stefp has joined #ocaml
stef_ has quit [Read error: 110 (Connection timed out)]
stefp has quit ["Client Exiting"]
stefp has joined #ocaml
iusris_zzz is now known as iusris
skylan has joined #ocaml
Verbed has joined #ocaml
mattam_ has joined #ocaml
mattam has quit [Read error: 110 (Connection timed out)]
Vincenz has quit []
mattam_ is now known as mattam
iusris has quit [Read error: 54 (Connection reset by peer)]
systems has joined #ocaml
foxster has joined #ocaml
systems has left #ocaml []
smklsmkl has joined #ocaml
lsr has quit [calvino.freenode.net irc.freenode.net]
pnou has quit [calvino.freenode.net irc.freenode.net]
docelic has quit [Excess Flood]
liyang has quit [calvino.freenode.net irc.freenode.net]
lam has quit [calvino.freenode.net irc.freenode.net]
wax- has quit [calvino.freenode.net irc.freenode.net]
lowks_ has quit [calvino.freenode.net irc.freenode.net]
asqui has quit [calvino.freenode.net irc.freenode.net]
mattam has quit [calvino.freenode.net irc.freenode.net]
Smerdyakov has quit [calvino.freenode.net irc.freenode.net]
lus|wazze has quit [calvino.freenode.net irc.freenode.net]
__DL__ has quit [calvino.freenode.net irc.freenode.net]
reltuk has quit [calvino.freenode.net irc.freenode.net]
whee has quit [calvino.freenode.net irc.freenode.net]
Verbed has quit [calvino.freenode.net irc.freenode.net]
Riastradh has quit [calvino.freenode.net irc.freenode.net]
smkl has quit [calvino.freenode.net irc.freenode.net]
smklsmkl has quit [calvino.freenode.net irc.freenode.net]
skylan has quit [calvino.freenode.net irc.freenode.net]
phubuh has quit [calvino.freenode.net irc.freenode.net]
gl has quit [calvino.freenode.net irc.freenode.net]
foxster has quit [Remote closed the connection]
polin8 has quit [Remote closed the connection]
__DL__ has joined #ocaml
polin8 has joined #ocaml
liyang has joined #ocaml
wax- has joined #ocaml
smklsmkl has joined #ocaml
mattam has joined #ocaml
docelic has joined #ocaml
Smerdyakov has joined #ocaml
skylan has joined #ocaml
gl has joined #ocaml
phubuh has joined #ocaml
lowks has joined #ocaml
Riastradh has joined #ocaml
pnou has joined #ocaml
lsr has joined #ocaml
asqui has joined #ocaml
gl has quit [calvino.freenode.net irc.freenode.net]
skylan has quit [calvino.freenode.net irc.freenode.net]
lam has joined #ocaml
skylan has joined #ocaml
Smerdyakov has quit [calvino.freenode.net irc.freenode.net]
gl has joined #ocaml
Smerdyakov has joined #ocaml
Verbed has joined #ocaml
foxster has joined #ocaml
jao has joined #ocaml
clam has joined #ocaml
Smerdyakov has quit ["reboot for health"]
Smerdyakov has joined #ocaml
reltuk has joined #ocaml
clam has quit ["no reason"]