<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>
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
<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."]
<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)]