mbishop changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | Grab Ocaml 3.10.0 from http://caml.inria.fr/ocaml/release.html (featuring new camlp4 and more!)
<mbishop> featuring a high-performance native-code compiler (ocamlopt) for 9 processor architectures (IA32, PowerPC, AMD64, Alpha, Sparc, Mips, IA64, HPPA, StrongArm)
<mbishop> from the site
<tsuyoshi> yeah.. I saw something in the mailing list about sparc64 though
<tsuyoshi> evidently no ppc64 support
<G> tsuyoshi: the funny thing is, Fedora are trying to get ocaml to run on ppc64
<tsuyoshi> cool
<tsuyoshi> I was looking into systems with 100 cpus, and it looks like a lot of them are ppc64 and sparc64
<tsuyoshi> I wonder if my binary search over an array or just using a binary tree would be faster
<tsuyoshi> I will test it tomorrow and see
mwc has joined #ocaml
yminsky has joined #ocaml
slipstream-- has joined #ocaml
ayrnieu has joined #ocaml
yminsky has quit []
slipstre1m-- has joined #ocaml
slipstream has quit [Read error: 110 (Connection timed out)]
slipstream-- has quit [Read error: 110 (Connection timed out)]
jao has quit []
mwc has quit ["Lost terminal"]
yminsky has joined #ocaml
yminsky has quit []
pants1 has quit ["Leaving."]
<tsuyoshi> I have this habit of thinking very hard about a program and checking everything over again before I decide that it's done
<tsuyoshi> and I think maybe I need to just quit doing that with ocaml
<tsuyoshi> the compiler seems to find nearly all my mistakes anyway
zmdkrbou has quit [Remote closed the connection]
bebui has quit [Remote closed the connection]
bebui has joined #ocaml
pants1 has joined #ocaml
zmdkrbou has joined #ocaml
chs has quit [Read error: 110 (Connection timed out)]
ziggurat has joined #ocaml
tree has quit [Nick collision from services.]
tree has joined #ocaml
tree has quit [Nick collision from services.]
tree_ has joined #ocaml
martin_ has joined #ocaml
mbishop has quit [Read error: 110 (Connection timed out)]
martin_ is now known as mbishop
ramkrsna has quit [Read error: 110 (Connection timed out)]
Hadaka has quit [Read error: 60 (Operation timed out)]
schme`` has joined #ocaml
schme` has quit [Read error: 110 (Connection timed out)]
pango has quit [Remote closed the connection]
pango has joined #ocaml
aminorex has quit [Read error: 113 (No route to host)]
vital303 has left #ocaml []
hitesh has joined #ocaml
pango is now known as pangoafk
chs has joined #ocaml
pangoafk is now known as pango
love-pingoo has joined #ocaml
LeCamarade has joined #ocaml
<LeCamarade> JavaScript 2.0 reference implementation is written in OCaml! Yay!
<LeCamarade> But the channel is empty, or I'd be passing drinks around ...
<LeCamarade> :o)
<LeCamarade> Oh, no. It is SML. They changed their minds along the way. :o(
* LeCamarade is sad.
<love-pingoo> SML has been standardized
<love-pingoo> that was a strong point for it, I believe
<love-pingoo> OCaml is still moving (a bit)
<love-pingoo> you shouldn't feel that about that
<love-pingoo> too bad that "type" is a language keyword, that's boring when you design a type system..
<LeCamarade> Well, now they can't port the reference implementation.
<LeCamarade> Because SML/NJ is not as portable as OCaml.
<love-pingoo> but SML is more than /NJ
<love-pingoo> that's the point of being standard
<LeCamarade> Yeah, but they used NJ, no?
<love-pingoo> I don't know that story so well, but as I said, I think that the reason for choosing SML is to stay within the standard
<love-pingoo> I don't even know if SML/NJ implements more than the standard
<det> SML/NJ has several extensions.
<det> There is more than one SML implementation.
<love-pingoo> then I hope that they don't use them
<det> MLton being the most interesting one (perhaps the most interesting compiler in the world) :-)
<love-pingoo> also a painfully slow compiler, I heard
<det> It depends how you look at it.
<love-pingoo> because it does whole program optimizations, it can't compile modularly
<det> It is a whole-program compiler.
<love-pingoo> I guess that one could use SML/NJ when developing and could compile using MLton for the final product
<det> In theory.
<love-pingoo> I'm happy enough with OCaml performances anyway
<LeCamarade> There is an LtU thread where they started out hoping to do it in OCaml, and someone convinced them otherwise. So they weren't really after standards.
<det> I think I remember reading that LtU thread
<love-pingoo> what was the argument for SML then ?
* love-pingoo too
<LeCamarade> They aren't after using a standard ML. They just wanted a language that enabled them to write a JS 2.0 implementation in a straight-forward way.
<flux> and the point that convinced them was that sml has a standard
<flux> ocaml is mostly specified by, well, its implementation
<LeCamarade> flux: Yes, that's what someone said. Even Perl 5 is well-specified - by its only single implementation.
<flux> lecamarade, well, you you go write a reference implementation of a langugae in perl5?
<det> love-pingoo, I prefer MLton to Ocaml because of the freedom it affords in programming style ("let the compiler optimize it")
<flux> besides, I don't think code is a great specification tool for such things anyway
<det> But, the advantages of separate compilation are nice as well.
<flux> because that way your specification requires 'bug for bug' compatibility
<flux> if the SML/NJ implementation has a bug, no problem, it SHOULD behave as the SML standard specifies
<flux> but if the ocaml implementation has a bug, well, it's supposed to work that way?
<flux> infact it's arguable that a language without specification cannot have bugs :)
<LeCamarade> flux: Well ... if Perl 5 has stuff that enable me to write a reference implementation as though I'm writing the spec (think pattern-matching, functional, et cetera), I'd use it.
<LeCamarade> I'd even use an in-house hack. After all, the previous `reference implementation' of JavaScript was in pseudo-code.
<flux> and I'm thinking the pseudo code had reasonably well-defined semantics. I'm not saying ocaml doesn't, but there might be corner cases where it might not be quite lcear
<LeCamarade> I'll find it hard to forgive them for switching from OCaml to something is so devoid of protability that they don't have a Linux version of the ref-imp yet.
<love-pingoo> anyway, this javascript 2.0 story is still good: it means that functional programming has reached places like the mozilla fundation \p/
<love-pingoo> s/p/o
<love-pingoo> the sad part of that story is that they'll keep js2 backward compatible
<LeCamarade> The reason in that thread is that OCaml is `bleeding edge, while SML is old and stable'. Crap.
<flux> for example, what would you expect this expression to output: let foo n = Printf.printf "%d" n; n in foo 4 * foo 3 + foo 2?
<LeCamarade> love-pingoo: I like \p/ !
<flux> I'm thinking SML has actually specified the behavior (I don't know)
<LeCamarade> flux: Yes, there are parts of OCaml that are fuzzy. But you don't hit those in the ref-imp. More-importantly, you can hack around them - OCaml wasn't written for this particular task, and neither was SML/NJ.
<det> LeCamarade, what do you mean by the lack of a Linux version of the reference implementation?
<LeCamarade> There will be equivalent probs in SML. And that they can't port the thing ... that's very sad.
<flux> lecamarade, infact ML was written for a language specification tool, hence "meta language"
<flux> lecamarade, and SML is a standardisation of that
<flux> so it is arguable that infact is written for that particular task
<LeCamarade> det: http://www.ecmascript-lang.org/download.php No binary for Linux, as in.
<det> You sure that is not just because they haven't packaged it?
<flux> well, there's the source
<flux> most linux software is distributed as source..
<LeCamarade> flux: Yes, ML is for languages. This particular task. But that's the features like pattern-matching and so on, and not order of evaluating args, et al, the things where OCaml is fuzzy.
<LeCamarade> flux: Yeah. There
<LeCamarade> is source. So whoever has to test-drive JS 2.0 has to apt-get sml? Wow. Progress.
<det> SML/NJ doesn't build binaries.
<det> Well.
<LeCamarade> det: Yes. Only images. That's another silly part of it.
<det> They should just use MLton in the first place :-)
* LeCamarade used to love SML/NJ ... but OCaml rocked better.
<det> LeCamarade, Have you looked at MLton? :-)
<flux> can't they use MLton after-the-fact?
<LeCamarade> det: There was an argument against MLton there in that thread. It is a classic example of rejecting something because it won't give us the 1% we could have hacked in anyway, and taking what gives us that hyped 1% at the detriment of a less-hyped 2%.
<LeCamarade> det: Nope.
<LeCamarade> Just read crap about it. Not much time for it, anyway ...
<det> flux, Hopefully.
<flux> I think smerdyakov has mentioned of developing stuff in sml/nj, and building the final build with mlton
<det> I think a lot of serious applications require FFI bindings.
<det> Which can be a major hinderance to cross-implementation portability.
<flux> does JS2.0?
<det> JS2.0, I seriously doubt it.
<det> Hopefully, it can be built in MLton.
<LeCamarade> det: They are just building a reference implementation, and for that you can even want to use purely-functional code and pull it off.
mnemonic has quit ["leaving"]
mnemonic has joined #ocaml
jao has joined #ocaml
leo037 has joined #ocaml
hitesh has quit [Read error: 110 (Connection timed out)]
love-pingoo has quit [Read error: 145 (Connection timed out)]
noteventime has joined #ocaml
love-pingoo has joined #ocaml
screwt8 has quit [Read error: 104 (Connection reset by peer)]
<G> rwmjones: you around?
screwt8 has joined #ocaml
LeCamarade has quit ["ExitFailure 27"]
bluestorm_ has joined #ocaml
smimou has joined #ocaml
_JusSx_ has joined #ocaml
bluestorm_ has quit [Remote closed the connection]
LeCamarade has joined #ocaml
ygrek has joined #ocaml
the_dormant has joined #ocaml
screwt8 has quit [Remote closed the connection]
pango has quit [Remote closed the connection]
ygrek has quit [Remote closed the connection]
ygrek has joined #ocaml
pango has joined #ocaml
skal has joined #ocaml
mnemonic has quit ["TOUNISSSS"]
yminsky has joined #ocaml
yminsky has quit [Client Quit]
yminsky has joined #ocaml
ygrek has quit [Remote closed the connection]
ygrek has joined #ocaml
noteventime has quit [Remote closed the connection]
yminsky has quit []
ziggurat has quit ["This computer has gone to sleep"]
pango has quit [Remote closed the connection]
pango has joined #ocaml
the_dormant_ has joined #ocaml
the_dormant has quit [Read error: 110 (Connection timed out)]
pants1 has quit [Read error: 110 (Connection timed out)]
pants1 has joined #ocaml
yminsky has joined #ocaml
yminsky has quit []
screwt8 has joined #ocaml
Demitar has quit [Read error: 110 (Connection timed out)]
schme`` is now known as schme
pango_ has joined #ocaml
* Smerdyakov notices some dudes saying that there is a "major hindrance" building FFI-using programs with MLton and SML/NJ.
<Smerdyakov> That's not true. Both support the NLFFI.
* pango_ fails to see the problem with some amount language behavior being explicitly not defined
pango has quit [Remote closed the connection]
<Smerdyakov> pango, I guess you don't write formal proofs about programs!
cpfr has quit [Read error: 110 (Connection timed out)]
zarvok has joined #ocaml
ziggurat has joined #ocaml
ziggurat has quit ["Leaving"]
screwt8 has quit [Remote closed the connection]
screwt8 has joined #ocaml
LeCamarade has quit [Read error: 110 (Connection timed out)]
<pango_> indeed
Demitar has joined #ocaml
noteventime has joined #ocaml
benny_ has joined #ocaml
ygrek has quit [Remote closed the connection]
screwt8 has quit [Remote closed the connection]
ygrek has joined #ocaml
benny has quit [Read error: 110 (Connection timed out)]
screwt8 has joined #ocaml
Submarine has joined #ocaml
_JusSx__ has joined #ocaml
screwt8 has quit [Remote closed the connection]
screwt8 has joined #ocaml
bluestorm_ has joined #ocaml
_JusSx_ has quit [Read error: 110 (Connection timed out)]
noteventime has quit [Remote closed the connection]
noteventime has joined #ocaml
jeffs has joined #ocaml
chs has quit []
jeffs has quit [Read error: 104 (Connection reset by peer)]
zarvok has quit ["BitchX-1.1-final -- just do it."]
chs has joined #ocaml
mnemonic has joined #ocaml
<mnemonic> hi
edwardk has joined #ocaml
chs has quit []
the_dormant has joined #ocaml
chs has joined #ocaml
the_dormant_ has quit [Success]
eumenides has joined #ocaml
<leo037> hi
screwt8 has quit [Remote closed the connection]
harlos has joined #ocaml
ygrek has quit [Remote closed the connection]
nn-gentoo_ has joined #ocaml
_JusSx__ has quit ["leaving"]
zeeeee has joined #ocaml
<zeeeee> help, i can't get the compiler to work: http://rafb.net/p/WyIAT961.html
<zeeeee> "locate pervasives.cmi" shows "/usr/lib/ocaml/3.09.1/pervasives.cmi" whose existence i verified
<zeeeee> (i've tried on two different ubuntu systems and see the same problem)
<zeeeee> one is a derivative of dapper (lts), the other is feisty
<tsuyoshi> uhh.. that's a ubuntu problem
<tsuyoshi> I'd recommend reporting it in their bug tracker
<zeeeee> tsuyoshi, ok. do you have any suggestions on how to fix / get around this?
<tsuyoshi> install the debian packages instead?
<tsuyoshi> I've no idea how that could happen
<zeeeee> should i build from source?
<zeeeee> man, all i want is to get latest unison
<zeeeee> i don't know how easy ocaml is to build from source, or whether it requires a previous ocaml
bluestorm_ has quit ["Konversation terminated!"]
<nn-gentoo_> whats better about ocaml than any other language
<zeeeee> hm, passing -I /usr/lib/ocaml/3.09.1 to ocamlc lets me build
<zeeeee> but this doesn't help.
<zeeeee> is there any sort of env var to help me build?
<zeeeee> tsuyoshi, ocamlc -where prints /usr/lib/ocaml...in my case is that supposed be /usr/lib/ocaml/<version>+
<zeeeee> + should be ?
<tsuyoshi> yes
cpfr has joined #ocaml
screwt8 has joined #ocaml
xian has joined #ocaml
<zeeeee> i'm building ocaml 3.10.0. it works when i use linux32 but on x64 i get the following error: http://rafb.net/p/UJbjs941.html
noteventime has quit [Remote closed the connection]
<flux> zeeeee, have you tried googling for the error?
<zeeeee> flux, yeah, i found discussion of problems running on cygwin/windows, but they didn't seem to apply here. i can tell what the problem is (the lib path is incorrect)
Oxylin has joined #ocaml
<tsuyoshi> think I might have a way to eliminate the array size limit
jeffs has joined #ocaml
<cpfr> do tell
Oxylin has quit [Client Quit]
<tsuyoshi> yeah, I think this will work
<tsuyoshi> so the way blocks work is
<tsuyoshi> there's a one-word header at the start of the block
<tsuyoshi> the header has 22 bits for the size
the_dormant has quit []
<tsuyoshi> but you can extend that if you make a special case
<tsuyoshi> say if all 22 bits are 1, then look at the word right before it for the real size
<Smerdyakov> You think it's hard to think up that and many other special purpose tricks?
<Smerdyakov> The OCaml team must just not want to implement it.
screwt8 has quit [Remote closed the connection]
<tsuyoshi> I need to understand how the heap works first before I'll be sure if this would work
zeeeee has left #ocaml []
screwt8 has joined #ocaml
skal has quit [Read error: 104 (Connection reset by peer)]
<tsuyoshi> ehh.. this is too much work
<tsuyoshi> easier just to use arrays of arrays