Giter Club home page Giter Club logo

Comments (6)

swannodette avatar swannodette commented on June 17, 2024

I'll think on it, thanks for the feedback.

from mori.

swannodette avatar swannodette commented on June 17, 2024

I think splice doesn't really make sense since it really cannot be done efficiently for vectors. However good progress has been made to Clojure RRB-Vectors which do support this. I'll likely be including this in the future.

I'll look into indexOf

from mori.

mlanza avatar mlanza commented on June 17, 2024

Thank you, Sir. The lack of this is certainly not a deal breaker.

from mori.

mlanza avatar mlanza commented on June 17, 2024

I am wondering about something related to vectors and if all the crud operations are implemented in a manner that allows for efficient structure reuse. I can see how to create and read the vector; that's straightforward. I can update items at a particular position with assoc, but how would would one remove an item at an arbitrary position?

var v = mori.vector(1, 2, 3, 4, 5);
var v2 = //do what here?
mori.into_array(v2) //=> [1,2,4,5]

The only thing I found is:

mori.into_array(mori.concat(mori.subvec(v, 0, 2), mori.subvec(v, 3, 5)))

But I would have expected:

mori.into_array(mori.concat(mori.subvec(v, 0, 1), mori.subvec(v, 3, 4)))

Or better yet:

mori.dissoc(v, 2) //but this doesn't work for vectors

All I am really after is the most efficient means of removing a portion of a vector while still reusing as much of the original structure as possible. It would seem a waste to have to reconstruct an entire vector, esp. a large one, just to remove a single item. Without this feature the crud operations are incomplete.

from mori.

swannodette avatar swannodette commented on June 17, 2024

This sort of thing can be done properly with RRB-Trees.

from mori.

mlanza avatar mlanza commented on June 17, 2024

OK. So then not in Mori's scope.

from mori.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.