bk_ has quit ["Leaving IRC - dircproxy 1.1.0"]
<
sic->
if you need the equivalent of uint32_t, you have to use a 64 bit int in ocaml
_fab has quit [Read error: 110 (Connection timed out)]
palomer has quit [Remote closed the connection]
mwc has quit [Read error: 110 (Connection timed out)]
tautologico has joined #ocaml
Iter has joined #ocaml
ad\leyrit has joined #ocaml
ad\leyrit has quit [Client Quit]
adai has quit [Read error: 110 (Connection timed out)]
mattam has quit [Connection timed out]
Iter has quit [Read error: 110 (Connection timed out)]
gim has quit ["dodo"]
vezenchio has quit ["I thought what I'd do was, I'd pretend I was one of those deaf-mutes ^_^"]
mflux has quit [Remote closed the connection]
mflux has joined #ocaml
tautologico has quit ["Leaving"]
Iter has joined #ocaml
cjohnson has quit [Read error: 104 (Connection reset by peer)]
_fab has joined #ocaml
mrsolo has joined #ocaml
Iter has quit [Read error: 113 (No route to host)]
Codename_V has joined #ocaml
zigong_ has quit [Read error: 104 (Connection reset by peer)]
zigong_ has joined #ocaml
Codename_V has quit [Remote closed the connection]
mrsolo has quit [Read error: 104 (Connection reset by peer)]
zac1 has joined #ocaml
zac1 has left #ocaml []
mrsolo has joined #ocaml
gim has joined #ocaml
withersoever has quit ["Leaving"]
grirgz has joined #ocaml
gim has quit [Read error: 104 (Connection reset by peer)]
<
grirgz>
how can i make a directory while keeping my program portable ?
<
mflux>
sounds like a good question
<
mflux>
I wonder if the windows version has the Unix-module
gim has joined #ocaml
zigong_ has quit [Read error: 60 (Operation timed out)]
madroach has joined #ocaml
madroach has left #ocaml []
zigong_ has joined #ocaml
<
grirgz>
mflux: :,(
<
grirgz>
the REAMDE.Win32 said that the unix module is suported partially, i guess mkdir is implemented
gl has quit ["My damn controlling terminal disappeared!"]
gl has joined #ocaml
cjohnson has joined #ocaml
zigong_ has quit [Read error: 104 (Connection reset by peer)]
zigong_ has joined #ocaml
GreyLensman has joined #ocaml
vezenchio has joined #ocaml
menace has joined #ocaml
zigong_ has quit [Read error: 54 (Connection reset by peer)]
zigong has joined #ocaml
gim has quit ["brb"]
Tachyon76 has joined #ocaml
Tachyon76 has quit [Read error: 54 (Connection reset by peer)]
Tachyon76 has joined #ocaml
gim has joined #ocaml
Tachyon76 has quit [Read error: 54 (Connection reset by peer)]
GreyLensman has quit ["Leaving"]
grirgz has quit [orwell.freenode.net irc.freenode.net]
gzl has quit [orwell.freenode.net irc.freenode.net]
skylan has quit [orwell.freenode.net irc.freenode.net]
gzl has joined #ocaml
skylan has joined #ocaml
grirgz has joined #ocaml
goron has joined #ocaml
goron has left #ocaml []
mrsolo has quit [Connection timed out]
<
mflux>
is List.length constant time?
<
mflux>
hmh, I suppose it is, otherwise it should be mentioned in the documentation (although I wouldn't mind if the documentation confirmed this)
<
Riastradh>
No, it can't reasonably be constant-time.
<
mflux>
infact the documentation hardly mentions about how long the operations take
<
mflux>
but I can't see why length couldn't bee constant time if all insertion (and list concatenation) would be O(n)
<
Riastradh>
How do you expect to traverse a list in constant time?
<
mflux>
I wouldn't expect it to traverse it
<
Riastradh>
Then how do you find the lenght?
<
mflux>
but to keep the number of elements and update it on insert/delete etc
<
Riastradh>
Length, even.
<
mflux>
the interface for handling lists doesn't seem to make that too difficult
<
Riastradh>
Lists are not desgned like that. They are simply pairs of the element and the rest of the list.
<
mflux>
saying that much would be nice in the list module documentation
<
mflux>
but I suppose this is the wrong place to complain about that?-)
<
Riastradh>
Most functional programmers are quite familiar with lists already.
<
Smerdyakov>
mflux, since we want lists to be functional, what you suggested is incompatible with constant time insertions.
<
Smerdyakov>
Or maybe not.
<
Smerdyakov>
But it would waste time in the vast majority of cases.
<
mflux>
in any case, that language A doesn't keep track of element counts doesn't mean language B wouldn't. and documenting that is all one needs ;)
<
mflux>
but, it does lead to the that checking list for emptiness is better made with match than with length
<
Smerdyakov>
Yeah. Like Riastradh said, though, that would be like documenting the semantics of function calls in detail.
<
mflux>
or actually maybe <>, hm
<
Smerdyakov>
Like functions, lists without lengths stored are the standard among most all functional languages.
<
mflux>
is documenting the time function is expected to take in O-accuracy really that detailed?
<
Riastradh>
I can't think of one that doesn't.
<
Riastradh>
And I'm even including languages that aren't mainly functional, like Mercury, Prolog, and Oz.
<
mflux>
and it may very well be crucial when you implement an algorithm
<
Smerdyakov>
mflux, is documenting the time expected to add two integers really that detailed?
<
mflux>
adding two integers has constant number of input and output arguments
<
mflux>
how about flatten?
<
Riastradh>
mflux, that makes no sense.
<
mflux>
well, I suppose it's O(number_of_lists_to_flatten)
<
mflux>
instead of O(number_of_elements_in_the_lists)
<
mflux>
riastradh, what doesn't make sense? that (+) implemented in any realistic way would be constant time?
<
Smerdyakov>
mflux, but do you expect OCaml to document that integer addition is constant time, just because it's "not that detailed"?
<
Riastradh>
No, your phrasing made no sense.
<
mflux>
smerdyakov, no, I don't
<
Smerdyakov>
mflux, OK. In functional programming, lists are more common operands than integers.
<
Smerdyakov>
mflux, if anything, addition is the more exotic operation that needs more detail.
<
mflux>
well, maybe this comes from the background of c++, in which STL has for every data structure and algorithm the time consumption documented
<
Smerdyakov>
Yes, it does.
<
Smerdyakov>
This is so obvious as to be silly to mention, for functional programmers.
<
Smerdyakov>
I might also add that the documentation
_does_ uniquely determine the time of the length operation.
<
Smerdyakov>
Since lists are not a privileged built-in structure, but are defined like any other variant type.
<
mflux>
hmm.. where would that be?
<
mflux>
that doesn't seem to be valid ocaml? but it does heavily suggest actual one-way linked list without counter -kind-of data structure ;)
<
Smerdyakov>
I don't think anyone would have an excuse for not understanding what it means.
<
Smerdyakov>
Just replace [] with a name like Nil and it's valid.
Mickybadia has joined #ocaml
mrsolo has joined #ocaml
mrsolo has quit [Read error: 60 (Operation timed out)]
jarod has joined #ocaml