arximboldi/immer
View on GitHub ↗ ★ 2,879 C++
Postmodern immutable and persistent data structures for C++ — value semantics at scale
34 mentions on Hacker News by 21 people: 5 stories, 29 comments · first 2016-11-27 · latest 2026-02-15
20082026
-
I've seen some C++ libraries that implement persistent data structures like immer ( https://github.com/arximboldi/immer ) - but seems it requires the use of the Boehm GC (which is notorious to be slow, since it is a conservative GC and…
comment by cyber_kinetist · 2026-02-15 · in I'm building a clarity-first language (compiles to C++) -
…pill to swallow. You may want to consider a tracing GC for Herd. [1] https://tmbasic.com [2] https://github.com/arximboldi/immer
comment by electroly · 2026-01-26 · in Show HN: A small programming language where everything is pass-by-value -
▲ 127
Immer – A library of persistent and immutable data structures written in C++story by smartmic · 2025-12-21 · 18 comments
-
Oh for sure. That's not the tough part. :) jank uses immer for that: https://github.com/arximboldi/immer
comment by Jeaye · 2024-05-23 · in Try Clojure -
…structures. It's probably not something that is suitable for all domains, but worth checking out. https://github.com/arximboldi/immer
comment by vinkelhake · 2023-12-12 · in Text Editor Data Structures: Rethinking Undo -
How does this compare to https://github.com/arximboldi/immer (other than the C/C++ difference)? Also, it's my understanding that, in practice, persistent data structures require a garbage collector in order to handle deallocation when used…
comment by erichocean · 2023-07-11 · in Show HN: A hash array-mapped trie implementation in C -
…data structures for C++, then I highly recommend Immer. High quality and easy to work with. https://github.com/arximboldi/immer
comment by vinkelhake · 2023-07-11 · in Show HN: A hash array-mapped trie implementation in C -
…be interested in ewig and immer by Juan Pedro Bolivar Puente: https://github.com/arximboldi/ewig https://github.com/arximboldi/immer See the author instantly opening a ~1GB text file with async loading, paging through, copying/pasting, and…
comment by modernerd · 2023-06-14 · in Text Editor Data Structures -
For C++ check this one out - https://github.com/arximboldi/immer and this talk from the author - https://www.youtube.com/watch?v=_oBx_NbLghY (CppCon 2018: Juan Pedro Bolivar Puente “The Most Valuable Values”)
comment by malkia · 2023-05-30 · in Purely Functional Data Structures (1996) [pdf] -
▲ 4
Persistent and immutable data structures written in C++14story by masijo · 2023-05-10 · 0 comments
-
▲ 3
immer: Postmodern immutable and persistent data structures for C++story by tosh · 2022-08-17 · 1 comment
-
jank is currently using immer for persistent data structures: https://github.com/arximboldi/immer Very much inspired by Clojure, with a lot of time put into benchmarking and profiling. It's too early for me to share numbers on jank vs…
comment by Jeaye · 2022-08-17 · in The Jank Language: LLVM Hosted Clojure -
…the experiment but using Rust, to see how it compares. [1] https://github.com/doctest/doctest [2] https://github.com/arximboldi/immer [3] https://github.com/arximboldi/lager [4] https://github.com/CrowCpp/crow [5]…
comment by dkersten · 2022-03-25 · in The Lisp Curse (2017) -
…built my state model on the excellent immer[2] library. [1] https://github.com/inniyah/nanovg [2] https://github.com/arximboldi/immer
comment by vinkelhake · 2022-01-03 · in Tcl/Tk Spline Editor -
…[](auto const& x){ /* ... */}); Transforming the contents of v requires a buffer(!) w. (The rescue: https://github.com/arximboldi/immer ) In Python, this would be something akin to: map(lambda x: x, t); # t being a tuple type here This…
comment by dankoncs · 2021-11-09 · in Ask HN: What language to learn after Python? -
…make something like that (parsed using instaparse, type checked in Clojure, compiled to C++ using https://github.com/arximboldi/immer for the data structures), but haven't had the time to really get anywhere with it. Plus, even if I…
comment by dkersten · 2021-05-06 · in Six years of professional Clojure development -
…tools for C++ and interactive software, some of which are used by big companies like Google: https://github.com/arximboldi/immer https://github.com/arximboldi/lager https://github.com/arximboldi/zug Also, I very agree with what @jasode has…
comment by arximboldi · 2021-03-11 · in Ask HN: Should I learn C++ in 2021? -
…[4] https://users.rust-lang.org/t/persistent-data-structure-supp... [5] https://github.com/arximboldi/immer [6] https://github.com/orium/rpds [7] https://github.com/MagicStack/immutables [8] https://github.com/tobgu/pyrsistent
comment by je42 · 2020-12-07 · in These Modern Programming Languages Will Make You Suffer -
…to jump ship until the alternatives check more boxes. [1] https://github.com/skypjack/entt [2] https://github.com/arximboldi/immer [3] https://www.youtube.com/watch?v=bMSrNBcir4Y&t=1757s
comment by dkersten · 2020-12-05 · in Std::visit is everything wrong with modern C++ (2017) -
…world. Talk I https://youtu.be/sPhpelUfu8Q Talk II https://youtu.be/SAMR5GJ_GqA Data Structures: https://github.com/arximboldi/immer Application Structure: https://github.com/arximboldi/lager Text Editor: https://github.com/arximboldi/ewig…
comment by nightowl_games · 2020-12-02 · in Ask HN: What are the best advanced computer science courses online? -
…cover some of the design and structure: https://github.com/arximboldi/ewig Libraries that it uses: https://github.com/arximboldi/immer https://github.com/arximboldi/lager
comment by arximboldi · 2020-10-28 · in Ask HN: Good C++ code bases to read? -
There's a C++ implementation here: https://github.com/arximboldi/immer
comment by neutronicus · 2020-09-07 · in Hash Array Mapped Tries (HAMT) to the Rescue -
…all the way through. I spend a lot of time building tools to make it easier, like for example: https://github.com/arximboldi/immer https://github.com/arximboldi/lager
comment by arximboldi · 2019-10-17 · in Why Isn't Functional Programming the Norm? [video] -
▲ 102
Immer is a library of persistent and immutable data structures written in C++story by fortran77 · 2019-09-12 · 56 comments
-
…A rust implementation: https://docs.rs/im/13.0.0/im/ C++ implementation: https://github.com/arximboldi/immer The rust implemenation does a cool trick where the data is only copied when it is shared. If you are the sole owner of the
comment by AlexanderDhoore · 2019-08-04 · in How can List be faster than native arrays? (2018) -
…should really have a look at Immer by Arximboldi (who is a user here on HN). Really amazing stuff: https://github.com/arximboldi/immer
comment by bjoli · 2018-04-06 · in Immutable.rs: immutable data structures for Rust -
…SDL example: https://twitter.com/sinusoidalen/status/939539173584916480 Immutable data: https://github.com/arximboldi/immer (There was a talk about Lager at MeetingCpp this year, still waiting for it to be published online...)
comment by arximboldi · 2017-12-09 · in Git is a purely functional data structure (2013) -
…some day I should write such Lisp myself on top of my C++ immutable data structures [1] :-) [1] https://github.com/arximboldi/immer
comment by arximboldi · 2017-11-26 · in Carp, a compiled Lisp with type inference and a borrow checker -
…probably you'll get the urge to tell people about it. [1] Immutable data-structures for C++: https://github.com/arximboldi/immer Example usage: https://github.com/arximboldi/ewig [2] https://www.youtube.com/watch?v=sPhpelUfu8Q [3]…
comment by arximboldi · 2017-11-08 · in Ask HN: How much time do you spend on “marketing” your open source projects? -
…video as well. It is all very cool, at least if you are not already spoiled by using clojure :) https://github.com/arximboldi/immer/blob/master/README.rst Edit: Forgot to mention: Ewig can be found among Immer's author Arximboldi's repos.…
comment by Johnny_Brahms · 2017-10-02 · in Text Editor: Data Structures -
…@kostspielig her help writing and reviewieng the code! <3 [1] The data-structure can be found here: https://github.com/arximboldi/immer
comment by arximboldi · 2017-08-28 · in Lessons learned from implementing a text editor related to front-end development -
…in C++, which also has experimental Python and Guile bindings: https://sinusoid.es/immer/ https://github.com/arximboldi/immer/ In the past I also did some other work on bringing Clojure Transducers to C++ (…
comment by arximboldi · 2017-08-04 · in Clojure will affect the way you think about programming -
…edit a ~100MB file on a Raspberry --- larger files fail only due to excessive memory use :/). [1] https://github.com/arximboldi/immer
comment by arximboldi · 2017-04-17 · in Rope Science – Computer science concepts behind the Xi editor -
▲ 144
Immer: immutable and persistent data structures for C++story by ingve · 2016-11-27 · 45 comments