mfurr changed the topic of #ocaml to: OCaml 3.08.2 available! | Archive of Caml Weekly News: http://sardes.inrialpes.fr/~aschmitt/cwn/ | A free book: http://cristal.inria.fr/~remy/cours/appsem/ | Mailing List: http://caml.inria.fr/bin/wilma/caml-list/ | Cookbook: http://pleac.sourceforge.net/
humasect_ is now known as humasect
zzorn_afk is now known as zzorn_sleep
zzorn_sleep has quit ["They are coming to take me away, ha ha"]
Submarine has quit ["Leaving"]
smkl has quit [Read error: 60 (Operation timed out)]
m3ga has joined #ocaml
smkl has joined #ocaml
withersoever has quit [Read error: 104 (Connection reset by peer)]
withersoever has joined #ocaml
gim has quit []
m3ga has quit ["disappearing into the sunset"]
TheDracle has quit ["Leaving"]
bigboote has left #ocaml []
CosmicRay has joined #ocaml
mattam has quit [Read error: 110 (Connection timed out)]
vezenchio has quit ["Computer Science is no more about computers than astronomy is about telescopes"]
CosmicRay has quit ["Leaving"]
m3ga has joined #ocaml
monochrom has quit ["Few people understand "understanding"."]
humasect has quit [Read error: 110 (Connection timed out)]
cjohnson has quit ["5/4 of all people have trouble with fractions"]
smkl_ has joined #ocaml
smkl has quit [Read error: 110 (Connection timed out)]
Nutssh has quit [Ping timeout: 14400 seconds]
tintin` has joined #ocaml
tintin has quit [Read error: 113 (No route to host)]
_fab has quit [Remote closed the connection]
m3ga has quit ["disappearing into the sunset"]
smkl_ has quit [Read error: 60 (Operation timed out)]
Nutssh has joined #ocaml
vincenz has quit [Read error: 104 (Connection reset by peer)]
vincenz has joined #ocaml
withersoever has quit [Read error: 54 (Connection reset by peer)]
withersoever has joined #ocaml
smkl_ has joined #ocaml
tintin` is now known as tintin
m3ga has joined #ocaml
grirgz has joined #ocaml
humasect has joined #ocaml
smkl_ has quit [Read error: 110 (Connection timed out)]
smkl_ has joined #ocaml
Submarine has joined #ocaml
m3ga has quit ["disappearing into the sunset"]
tintin has quit [Remote closed the connection]
smimou has joined #ocaml
smkl_ has quit [Read error: 110 (Connection timed out)]
zzorn has joined #ocaml
gim has joined #ocaml
shawn_ has quit [sterling.freenode.net irc.freenode.net]
shawn_ has joined #ocaml
<mflux> hmh, apparently ocaml-code doing io with threads and ledit somehow collide (or threads have nothing to do with it)
<mflux> as the program spuriously dies with Sys_blocked_io
mellum has quit ["ircII EPIC4-1.1.11 -- Are we there yet?"]
mellum has joined #ocaml
smkl_ has joined #ocaml
zzorn is now known as zzorn_afk
det has quit ["leaving"]
wrunt has left #ocaml []
shawn_ has quit [sterling.freenode.net irc.freenode.net]
shawn_ has joined #ocaml
mattam has joined #ocaml
Svrog has joined #ocaml
det has joined #ocaml
det has left #ocaml []
det has joined #ocaml
det has left #ocaml []
det has joined #ocaml
<Amorphous> can anyone tell me if "if b.len = 4 then msg := String.sub b.buf b.pos 4;" accesses b.buf out of bound?
det has left #ocaml []
det has joined #ocaml
<Amorphous> uh forget my question
det has quit [Remote closed the connection]
det has joined #ocaml
cjohnson has joined #ocaml
__DL__ has joined #ocaml
<mflux> ok, well, I've got another one: if I have for example List.sort compare [Foo 1, Bar 2, Foo 3], is it guaranteed that Foo's are consecutively and Bars are consecutively in the resulting list?
<mflux> so does compare actually compare the values or does it do some funky hashing
smkl_ has quit [Read error: 60 (Operation timed out)]
_JusSx_ has joined #ocaml
zzorn has joined #ocaml
<pango> mflux: reading http://camlcvs.inria.fr/cgi-bin/cvsweb/ocaml/byterun/compare.c?rev=HEAD, I think it's guaranteed
<pango> but nothing beats using your own compare function ;)
zzorn_afk has quit [Read error: 110 (Connection timed out)]
Yorick has joined #ocaml
<mflux> well, I did that already, but it sucks to write a function to convert the value into a number
<_JusSx_> wow
<_JusSx_> that's a great exercise
<mflux> pango, but thanks for bothering to check it out ;)
smkl_ has joined #ocaml
Svrog has quit []
cjohnson has quit [Read error: 104 (Connection reset by peer)]
<Smerdyakov> Agree/disagree: Once you know the basic idea of a module, its signature provides all the information you need to answer most questions you would have about how to use it.
cjohnson has joined #ocaml
<mattam> is that a question Smerdyakov ?
<Smerdyakov> Yes.
<mattam> i would agree
<Yorick> The signature says little about the semantics, so it depends on what kind of query you are talking about.
<mattam> but you could build twisted counter-examples
<Smerdyakov> Yorick, do you want to continue in here?
<Yorick> To say that the semantics of a function is entirely or mostly governed by its signature, that would be patently untrue.
<Smerdyakov> Yorick, I think this depends on whether we agree on what is "the basic idea of a module."
<Yorick> It's not really an interesting question unless you know what to do with the answer.
<Smerdyakov> Yorick, I am claiming that, once one _has_ that idea, queries whose answers can't be found in signatures become very rare.
<mattam> given a coherent set of types and functions...
<smimou> it would be quite true in coq for example, the type system of ocaml is too weak
<mattam> still, much of what dependent types add seems idiomatic (array bounds...)
<Smerdyakov> Yorick, can you give me an example of a concrete kind of query you would expect to make reasonably often, after you already have the basic idea of a module?
<Smerdyakov> (oh, and one that you think won't be answered by signatures)
<smimou> for example if I give you a non commutative operator over int, int -> int -> int is not enough
<smimou> you don't know the order of the argument
<smimou> s
<Smerdyakov> I'd say that probably falls under "the basic idea of the module."
<Yorick> come on, you can answer anything that way
<Smerdyakov> It's also rare to implement your own binary operator on ints.
<det> smimou, It would be idiomatic SML to accept a record (labeled arguments)
<smimou> yes in ocaml you can also label arguments but it's not done so often
<mattam> or labelled arguments in ocaml
<Smerdyakov> Labelled arguments in OCaml are ghettoer than record arguments in SML, because it's a separate mechanism from records. :P
<Yorick> If you were designing an online help system for your ml environment and decided only to provide signatures of all library functions, I suppose this would not make it very popular
<Smerdyakov> Yorick, I think that would answer most queries effectively.
<mattam> you can't do partial eval easiy with record arguments i suppose :)
<Yorick> Smerdyakov: Then we think differently. I just would not use your system then.
<Smerdyakov> Yorick, you didn't give me a concrete counterexample yet, right?
<smimou> Smerdyakov: a function which gives the int division and the reminder would have type int -> int -> int * int
<smimou> which is the order of the int * int ?
<Smerdyakov> smimou, now why would you write your own function for that?
<Yorick> So what would bind do? Arguments as in the posix syscall.
<Yorick> If you know in detail how bind works you don't need to look it up. But if you don't?
cjohnson has quit ["5/4 of all people have trouble with fractions"]
<Yorick> Then the signature will not help you.
<mattam> man bind
<mattam> :)
<Yorick> exactly
<Smerdyakov> Yorick, I disagree. Check out http://caml.inria.fr/ocaml/htmlman/libref/Unix.html
<smimou> Smerdyakov: val quomod_big_int : big_int -> big_int -> big_int * big_int
<Smerdyakov> Yorick, ignore the non-signature components.
<Smerdyakov> Yorick, I say that, if you know the basic idea, the types alone are all you need.
<mattam> stop the silly examples about the order of arguments or results smimou :)
<smimou> :p
<Yorick> I would be very impressed by someone who doesn't already know the details of bind() or any other syscall could infer the finer points merely from the signature
<Smerdyakov> Yorick, but I'm saying that you know its job is to associate a socket and an address....
<Smerdyakov> Yorick, then the types make it clear how to use it.
<Yorick> Smerdyakov: is that really its job? don't be shy, tell us what bind does.
<smimou> :)
<Yorick> don't spare us the details.
<Smerdyakov> Yup. That's really its job.
<Yorick> So it's like connect() then?
<Smerdyakov> No, because connect also connects!
<Yorick> because it's job is also to associate a socket and an address.
<Smerdyakov> Again, I _assume_ that you know what each function does.
<Smerdyakov> This is reasonable for a small API like Berkeley sockets.
<Yorick> no, there is no requirement that connect must "connect". read the manual, or stevens if you like.
<Smerdyakov> The queries you will make will involve the details of using them.
<Smerdyakov> If _you_ make queries about a library, after using it for a while, that involve fundamental questions of functions' purposes, then you don't work like I do.
<Yorick> And how would you infer the correct syscall sequence to do a passive TCP open? From the signatures?
<Smerdyakov> Yorick, you don't. The documentation is written assuming knowledge of the API's, since this is all wrappers of standard C stuff.
<Yorick> Nope, let's not take the back seat to C.
<Smerdyakov> Yorick, if after a short period of reading, you would not be equipped to use this interface without looking outside the types, then I assert that is a defect in you.
<Smerdyakov> Yorick, it's not a defect I have, though.
<Yorick> Then I congratulate you Smerdyakov, because you seem free of a defect that seems to plague most other programmers. You are indeed a genius. Can we move on now?
<Smerdyakov> I don't know. I don't really care about programmers who can't remember this much. I don't want to depend on anything they write.
<Yorick> Then please turn off your computer and go and play outside right now, because otherwise you will.
vezenchio has joined #ocaml
<Smerdyakov> I know that _I_ have remembered the FSM associated with Berkeley sockets ever since reading a short tutorial.
<Smerdyakov> The queries I make associated with it involve the order and types of arguments.
Smerdyakov has quit ["Client exiting"]
Smerdyakov has joined #ocaml
xerox has joined #ocaml
vodka-goo has joined #ocaml
skylan has quit [Remote closed the connection]
skylan has joined #ocaml
CosmicRay has joined #ocaml
pango has quit [Nick collision from services.]
pango has joined #ocaml
mrvn_ has joined #ocaml
Zaius has joined #ocaml
<tsume> very good news
<tsume> Hirabayashi will be creating the ocaml bindings. I was unsuccessful at doing so. I've lack of knowledge of widestudio internals
<tsume> widestudio is the best free(real free, not *GPL) toolkit
mrvn has quit [Read error: 110 (Connection timed out)]
<tsume> it includes a portable library, designer, and documentation in 6~ languages
<Smerdyakov> Did you mean "GUI toolkit"?
<tsume> native MacOSX bindings are in beta. It still uses X11 for now
humasect has quit [Read error: 104 (Connection reset by peer)]
<tsume> Smerdyakov: no, I mean toolkit because it has GUI and other libraries contained
<Smerdyakov> OK, then you are asserting that any library for anything at all that qualifies as "free" is "worse" than WideStudio?
<tsume> it includes a portable Threading, sockets(server and client classes), tcp/udp, timer, and many others
<tsume> Smerdyakov: any library which is *GPLed yes
<tsume> Smerdyakov: quite naturally if I can't use it for closed source as an option, it isn't a good library no matter what
<tsume> Smerdyakov: its like a developer....
<tsume> you can create the best code in the world, but if you are a arrogant little twit.. you'll go _nowhere_
<tsume> you == imaginary arrogant developer
<tsume> java bindings for widestudio were created a couple weeks ago.. soo.. that means the C++ toolkit has not only Python,Perl, and Ruby extensions but also java. WideStudio will have bindings to Ocaml soon
<tsume> thank the swig project (with a nice MIT/BSD like license)
<Smerdyakov> tsume, you completely misunderstood what I said.
<Smerdyakov> tsume, is WideStudio GPLed?
<tsume> Smerdyakov: no, its MIT licensed
<Smerdyakov> tsume, OK. So you are claiming that ANY library for ANY purpose that is MIT licensed and is not WideStudio is "worse" than WideStudio?
<tsume> Smerdyakov: no
<tsume> Smerdyakov: I'm saying any GUI toolkit which is under *GPL is worse than WideStudio
<tsume> _especially_ GTK, but that has always been horrible
<Smerdyakov> "Toolkit" does not imply something that contains GUI functionality.
<Smerdyakov> And you just said <tsume> widestudio is the best free(real free, not *GPL) toolkit
<tsume> Smerdyakov: Smerdyakov okay fine. *GUI toolkit/with exxtensions
<Smerdyakov> There we go.
<tsume> Smerdyakov: better for you?
<Smerdyakov> Oh, yes.
<Smerdyakov> I tend to get miffed at any implicit assumptions that GUI stuff is central to software development.
<tsume> well. You can use WideStudio for server programming which doesn't need GUI
<Smerdyakov> OCaml already has a sockets interface which is probably superior.
<Smerdyakov> (SML's is even better, though.)
<det> tsume, Sooo, i imagine you want to static link WideStudio?
<tsume> Smerdyakov: you are welcomed to create swig gen for SML
<Smerdyakov> Ha. I couldn't care less about integrating with C++. I've never felt the urge.
<tsume> det: probably
<tsume> Smerdyakov: well, there needs to be a swig gen anyway
<det> tsume, why?
vodka-goo has quit []
<tsume> det: if I wish to make a closed source app I can. Its called freedom(real freedom, not the political freedom)
<Smerdyakov> WTF?
<Smerdyakov> I don'tthink anyone asked you about that.
<Smerdyakov> The last question was why "there needs to be a SWIG generator for SML."
CosmicRay has quit ["Leaving"]
<tsume> Smerdyakov: so people may interface libs with ease
<tsume> Smerdyakov: especially C++ libs
<Smerdyakov> They do that, using the far superior interface descriptions of ML.
<tsume> ACE interface to ML would be superiorly powerful
<Smerdyakov> C++ libs tend to be low quality, so I don't usually miss not having them.
<tsume> Smerdyakov: oh.. you must have viewed the crappy C++ implementation of GNU only
<tsume> Smerdyakov: or you used C++ before there was any standard
<tsume> Smerdyakov: because C++ is a good language, which is dependant on the compiler like any language
<Smerdyakov> Nope. C++ is just such a poor language that it doesn't let you express interfaces or abstractions effectively.
<det> tsume, what are you talking about
<tsume> det: just speaking to a brick wall
<det> tsume, does GNU c++ accept a different language than MSCV?
<tsume> det: not you brick wall, him brick wall
<tsume> det: EGCS is crap :)
<det> tsume, huh?
<det> tsume, what would that have to do with C++ as a language?
<det> tsume, I am starting to believe you are an expert troll
<tsume> det: it has to do with the GNU compiler system
<_JusSx_> so what's a troll?
<tsume> det: not C++ as a langauge
<Smerdyakov> tsume, we're only talking about the _language_.
<tsume> det: C++ is a fine language. Its the implementation of the langauge which counts
<Smerdyakov> tsume, I'm saying that the C++ _language_ is too weak to allow good packaging of libraries.
<_JusSx_> lol
<tsume> Smerdyakov: its better than C
<Smerdyakov> tsume, and C allows even worse packaging......
<tsume> Smerdyakov: I'm not syaing C is bad, but C++ makes it easier
<_JusSx_> C++ = C + 1
<tsume> Smerdyakov: I'm sure ML has fallicies and pitfalls as well
<Smerdyakov> tsume, easier, but not good enough.
<Smerdyakov> ML is light years ahead of C++.
<tsume> det: no, you are just not understanding jwhat I'm trying to say
<tsume> I need to go progrgam some more in _C++_, I'll chat later.
<tsume> IRC can be a real waste of time arguing to brick walls like Smerdyakov
<det> tsume, you are trying to antagonize
cmeme has quit [Remote closed the connection]
<Smerdyakov> The problem is that tsume isn't supposed to be here.
<tsume> det: IRC is a waste of time however :)
<Smerdyakov> He has acknowledged that he doesn't really know enough about OCaml to write non-trivial programs.
<Smerdyakov> Somehow he has decided that he will use it, and so we get a flood of his views and suggestions.
<tsume> det: I don't know why I even listen to some people on irc. Especially when they are just arguing to argue
<Smerdyakov> Ordinarily, people with his views would be filtered out by their inability to learn to use ML.
<det> Smerdyakov, maybe it is Brandon J Van Every, hehehehe
cmeme has joined #ocaml
cmeme has quit [Remote closed the connection]
<tsume> det: who is that?
<det> tsume, someone with your personality traits who assaulted the O'caml community some time back
<tsume> Smerdyakov: I was just simply announcing that Hirabayashi was creatingg bindings. You don't have to be an asshole.
cmeme has joined #ocaml
<Smerdyakov> tsume, you're the one who called me a brick wall, pal.
<tsume> Smerdyakov: and You are the one saying C++ code is a utter waste
<Smerdyakov> Yes, and it's true.
<_JusSx_> yeah C++ really sucks
<Smerdyakov> I don't think you know enough about ML to tell why.
<_JusSx_> that's true
<tsume> I'm not listening to his crap anymore. Hes the SML fan anyway in a Ocaml channel
<tsume> he probably hasn't coded in ocaml at all, he probably just trolls the hell out of people until they start using SML
<Smerdyakov> Actually, I write thousands of lines of OCaml a week.
<Smerdyakov> It's my main job.
<tsume> he almost got me until I discovered all SML programs needs to be released as GPL
<Submarine> do they?
<det> tsume, You are just full of false generalizations
<tsume> Submarine: yes.
<mrvn_> tsume: why?
<tsume> mltron is completely infested with libraries from GNU which are GPLed
<Smerdyakov> Don't worry; he's wrong.
tom``` has joined #ocaml
<Smerdyakov> He's confusing SML with one compiler.
<Smerdyakov> And I think his complaints only apply to closed source programs.
<det> Smerdyakov, I would stop responding to him
<det> Smerdyakov, he is trolling
<tsume> at first I seen one LGPLed needed library, then someone in the channel pointed me out the the numerics library which was GPLed
<tsume> det: no sorry buddy. He ios trolling. I'm npt goign to put up with his crap
<mflux> so is the numerics library something that is in mlton's (?) core package?
<tsume> I don't put up with people who try to atoganise other people like that
<tsume> he feels he can say anything just because I'm not facing him
<tsume> mrvn_: yes
<tsume> oops
<tsume> mflux: yes.
<mflux> anyone else?-)
<Smerdyakov> mflux, it is difficult not to link it in, yes.
<tsume> mflux: its a very fast library, but GPLed
<Smerdyakov> mflux, also, the first stages of MLton development were done at a research lab.
<Smerdyakov> mflux, the lab has no interest in MLton, so they won't even expend the effort to formally grant the legal right to make it open source.
<tsume> mflux: I woudln't mind if some great person from math would create a decent number library under MIT license for general usage
<tsume> especially for language interpreters :) ocaml, python, ruby, etc..
<mflux> I would certainly count that as a minus to that implementation, but then again all I hear on the channel (from S :-)) is how great mlton is, which makes it sounds like defacto sml compiler
<Smerdyakov> Yeah, it's the best thing available.
<Smerdyakov> No problems at all for using it with open source projects.
<Submarine> a decent number library <-- what do you mean?
<tsume> mflux: I assume he programs in sml only
<Smerdyakov> tsume, I just told you that my main job involves mostly OCaml programming. Are you even listening?
<mflux> I'd rather make the decision of open sourcing myself, not at the point where I read my first page of documentation on how to compile programs
<det> Smerdyakov, He heard you tell him that
<tsume> Submarine: decent number library.. floats, precision calculation, bigint, etc and ability to increase to next type without any slowdown in code
<det> Smerdyakov, you are letting him troll you
<Smerdyakov> det, you are bothering me more than he is by continuously saying such things to me. Please stop.
<Submarine> tsume, how about GNU MP?
<mflux> well, if I were to have professional use for mlton, it wouldn't use the numerics library
<Submarine> +MPFR ?
<_JusSx_> Smerdyakov is the king of Trolls
<mflux> so how about the rest of the libraries?
<mflux> under which license is mlton itself under?
<tsume> mflux: well.. I'm curious on metaprogramming in ocaml :)
<tsume> mflux: or any ml for that matter
<Smerdyakov> MLton is GPL.
<tsume> C++ can be faster than most FORTRAN generated code when using metaprogramming.. which is why I'
<Smerdyakov> ML will be faster than most C+ without even making any special effort. :P
<mflux> but how about the support libraries mlton needs to generate executable code?
<_JusSx_> yeah tsume you are right
<tsume> ong keyforget the rest of that sentence after ... I hit the wrin
<Smerdyakov> mflux, I think it's all GPL.
<tsume> *sigh* sorry. This is a mini keyboard :)
<tsume> mflux: I'm unsure of the exact internals of mlton
<Smerdyakov> mflux, truly, if you are happy with GPL on your code, MLton is perfect as far as licensing goes.
<tsume> mflux: I know mltn makes more optimisation passes, ocaml makes very few.
<mflux> and even if we assumed the first statement held truth, I would propably be just as happy with MIT-licensed compiler
<mflux> anyway, I would not start to spend my time on writing in language which limits my rights on deciding what to do with the code
<Smerdyakov> It's not the language.
<tsume> mflux: well I don't mind what license the compiler is under. The compiler code is licensed, not the code which is created and linked
<mflux> (in the case I ever distribute the binaries)
<mflux> no, it's not, but it seems like The Compiler to use when writing sml
<mflux> so if I would release binaries, I would always use some other compiler
<mflux> what other compilers are there around anyway?
<Smerdyakov> And this is on ongoing, completely non-technical battle. The MLton developers _want_ it to be available for commerical use.
<Smerdyakov> mflux, there are about half a dozen usable SML compilers.
<mflux> debian seems to have one another, smlnj, I wonder if it generates native code though
<Smerdyakov> Sure does.
<mflux> smlnj seems to have the adverticing clause
<Smerdyakov> Everything but MLton is moribund.
<Smerdyakov> MLton will have the best possible licensing soon, we hope.
<tsume> hmmmm
<tsume> Error: Couldn't save configuration file: Permission denied ? :)
* tsume kicks irssi
_JusSx_ has quit ["leaving"]
Zaius has quit ["Miranda IM! Smaller, Faster, Easier. http://miranda-im.org"]
budjet has joined #ocaml
budjet has quit [Remote closed the connection]
smkl_ has quit [Read error: 110 (Connection timed out)]
Hipo has quit [Remote closed the connection]
Hipo has joined #ocaml
tom``` is now known as mustachio
Submarine has quit ["Leaving"]
smkl_ has joined #ocaml
ShereKahn has joined #ocaml
kuribas has joined #ocaml
ShereKahn has quit ["Leaving"]
smkl_ has quit [Read error: 60 (Operation timed out)]
smimou has quit ["?"]
_shawn has joined #ocaml