Hacker GitHub

← All repos

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

Mentions per year 34 mentions · busiest year 2017 (7)
20082026
  1. 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…
  2. …pill to swallow. You may want to consider a tracing GC for Herd. [1] https://tmbasic.com [2] https://github.com/arximboldi/immer
  3. ▲ 127
    Immer – A library of persistent and immutable data structures written in C++
    story by smartmic · 2025-12-21 · 18 comments
  4. 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
  5. …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
  6. 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…
  7. …data structures for C++, then I highly recommend Immer. High quality and easy to work with. https://github.com/arximboldi/immer
  8. …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
  9. 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”)
  10. ▲ 4
    Persistent and immutable data structures written in C++14
    story by masijo · 2023-05-10 · 0 comments
  11. ▲ 3
    immer: Postmodern immutable and persistent data structures for C++
    story by tosh · 2022-08-17 · 1 comment
  12. 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
  13. …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)
  14. …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
  15. …[](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…
  16. …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…
  17. …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?
  18. …[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
  19. …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
  20. …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…
  21. …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?
  22. 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
  23. …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
  24. ▲ 102
    Immer is a library of persistent and immutable data structures written in C++
    story by fortran77 · 2019-09-12 · 56 comments
  25. …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)
  26. …should really have a look at Immer by Arximboldi (who is a user here on HN). Really amazing stuff: https://github.com/arximboldi/immer
  27. …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...)
  28. …some day I should write such Lisp myself on top of my C++ immutable data structures [1] :-) [1] https://github.com/arximboldi/immer
  29. …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]…
  30. …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
  31. …@kostspielig her help writing and reviewieng the code! <3 [1] The data-structure can be found here: https://github.com/arximboldi/immer
  32. …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++ (…
  33. …edit a ~100MB file on a Raspberry --- larger files fail only due to excessive memory use :/). [1] https://github.com/arximboldi/immer
  34. ▲ 144
    Immer: immutable and persistent data structures for C++
    story by ingve · 2016-11-27 · 45 comments