Re: [racket] Immutable vectors

2013-09-08 Thread Matthias Felleisen
On Sep 7, 2013, at 9:43 AM, Konrad Hinsen wrote: > That sounds reasonable, but in the scenario we are discussing > (accessing data structures implemented in Typed Racket from > plain Racket), the data structure never passes in that direction, > except if it's constructed from a plain Racket data

Re: [racket] Immutable vectors

2013-09-07 Thread Konrad Hinsen
David Van Horn writes: > Thee is also this: > > https://pkg.racket-lang.org/info/ralist > > Which is not written in typed racket and has an un-contracted form for > efficiency. Installed, looks good. I'll try it in real life soon. Thanks! Neil Toronto writes: > > The implementati

Re: [racket] Immutable vectors

2013-09-06 Thread Vincent St-Amour
At Thu, 05 Sep 2013 09:01:58 -0600, Neil Toronto wrote: > The best advice I have is to keep performance-critical loops either all > typed or all untyped, unless the only things that cross the contract > boundary are flat first-order datums like flonums, strings and > vectors. (The math library's fl

Re: [racket] Immutable vectors

2013-09-05 Thread Neil Toronto
On 09/05/2013 08:42 AM, Konrad Hinsen wrote: Scott Klarenbach writes: > Check out some of the functional data structures found here: > > http://www.ccs.neu.edu/racket/pubs/sfp10-kth.pdf > > VLists may be of particular interest in your case. That's the stuff in the pfds package, right?

Re: [racket] Immutable vectors

2013-09-05 Thread David Van Horn
On 9/5/13 10:42 AM, Konrad Hinsen wrote: Neil Toronto writes: > FWIW, `vector->immutable-vector' is pretty fast. It's usually the least > significant part of an O(n) operation. Its two biggest problems are that > it allocates memory and annoys people. That's a good summary of my first imp

Re: [racket] Immutable vectors

2013-09-05 Thread Konrad Hinsen
Neil Toronto writes: > FWIW, `vector->immutable-vector' is pretty fast. It's usually the least > significant part of an O(n) operation. Its two biggest problems are that > it allocates memory and annoys people. That's a good summary of my first impressions ;-) > If you're working in Typed

Re: [racket] Immutable vectors

2013-09-04 Thread Scott Klarenbach
troductory talk on Contracts and Functional Contracts, > with most examples in Racket (Robby Findler) > > > -- > > Message: 1 > Date: Wed, 04 Sep 2013 14:56:27 -0600 > From: Neil Toronto > To: users@racket-

Re: [racket] Immutable vectors

2013-09-04 Thread Neil Toronto
On 09/04/2013 10:28 AM, Konrad Hinsen wrote: For the kind of data I am working with, immutable vectors look like just the right choice: immutable and O(1) element access. However, I am discovering that they are a real pain to work with. Pretty much any vector operation returns a mutable vector:

[racket] Immutable vectors

2013-09-04 Thread Konrad Hinsen
For the kind of data I am working with, immutable vectors look like just the right choice: immutable and O(1) element access. However, I am discovering that they are a real pain to work with. Pretty much any vector operation returns a mutable vector: vector-map, vector-drop, vector-split-at, etc.