double-conversion
ewig
Our great sponsors
double-conversion | ewig | |
---|---|---|
- | 3 | |
15 | 517 | |
- | - | |
5.3 | 0.0 | |
about 1 month ago | over 1 year ago | |
C++ | C++ | |
BSD 2-clause "Simplified" License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
double-conversion
We haven't tracked posts mentioning double-conversion yet.
Tracking mentions began in Dec 2020.
ewig
-
Text Editor Data Structures
You might 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 undoing/redoing in their prototype “ewig” text editor about 27 minutes into their talk here:
https://m.youtube.com/watch?v=sPhpelUfu8Q
It’s backed by a “vector of vectors” data structure called a relaxed radix balanced tree:
https://infoscience.epfl.ch/record/169879/files/RMTrees.pdf
That original paper has seen lots of attention and attempts at performance improvements, such as:
https://hypirion.com/musings/thesis
https://github.com/hyPiRion/c-rrb
-
Ask HN: How to learn about text editor architectures and implementations?
Ewig is an interesting implementation using immutable data structures. https://github.com/arximboldi/ewig Very proof of concept, tries to be a little vi like. Might be worth checking out.
-
Build Your Own Text Editor
For another approach: I built a didactic text editor to teach "value oriented design" and immutable data-structures in C++:
https://github.com/arximboldi/ewig
It's design is covered in these talks:
- Postmodern immutable data structures: https://www.youtube.com/watch?v=sPhpelUfu8Q
- The most valuable values: https://www.youtube.com/watch?v=_oBx_NbLghY
What are some alternatives?
JSONb - Parses JSON from byte strings (instead of character strings).
immer - Postmodern immutable and persistent data structures for C++ — value semantics at scale
Zwaluw - Haskell combinators for bidirectional URL routing
lite - A lightweight text editor written in Lua
punycode - Punycode encoding and decoding
Adria-DX11 - Graphics engine written in C++ using DirectX11
wybor - Console line fuzzy search
bee - (Archived, Incomplete) Text editor written in Bash 3
pugixml - pugixml binding for haskell.
kilo - A text editor in less than 1000 LOC with syntax highlight and search.
localize - Higher-level internationalization framework, based on haskell-gettext and text-format-heavy
TinyMCE - The world's #1 JavaScript library for rich text editing. Available for React, Vue and Angular