im-rs
helix
im-rs | helix | |
---|---|---|
6 | 405 | |
1,459 | 30,252 | |
- | 3.9% | |
0.0 | 9.9 | |
over 1 year ago | 2 days ago | |
Rust | Rust | |
Mozilla Public License 2.0 | Mozilla Public License 2.0 |
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.
im-rs
-
Steel – An embedded scheme interpreter in Rust
They're using hash array mapped tries. I don't have my own personal implementation, I have been using https://github.com/bodil/im-rs until I can get around to making my own implementation (not that I really need to, but it would be a fun exercise).
Functions generate a hash based on a unique id generated for the function, plus the hash of any captured variables, and a hash of the pointer address to the function). That is off the top of my head though so I could be missing some details.
Hashing maps is tricky! With a sufficiently deep hash map you can run into problems since that invokes an equality check as well - at least how I handle it, is that you just attempt to naively hash the keys and values of the hash map, to create a hash code for that object. If the equality check ends up with a sufficiently large depth, eq returns false so we don't stack overflow.
-
for_ch: The hydraulic machine for your code
Too late my friend ;) https://github.com/bodil/im-rs
- (Risp (In (Rust) (Lisp)))
-
Noteworthy concurrent data structures?
There’s also im.
-
Providing a thread safe and non thread safe version of a library.
rc/Cargo.toml specifies paths such as ../src/lib.rs and ../build.rs to point at the same source files
-
High performance functional data structures in Rust
If you indeed do care about access to historical versions of data, take a look at the I’m crate: https://github.com/bodil/im-rs
helix
-
Multi-cursor code editing: An animated introduction
Nice post. Obligatory Helix plug: For anyone interested in taking this further, there are whole editors designed around multi-cursor editing.
https://helix-editor.com/
- Helix: Post-modern and modal text editor
- Difftastic, a structural diff tool that understands syntax
-
:syntax off (2016)
I could never turn it off completely but I do sometimes use the Acme theme during the day (it's too bright in the evening), which highlights just comments, strings, and errors.
https://github.com/helix-editor/helix/wiki/Themes#acme
- Helix - Front-End Power
-
Lapce
You can use a snippet LSP to work around Helix not having a built-in LSP manager. They're listed in https://github.com/helix-editor/helix/issues/395
- Helix: GUI
-
Memray – A Memory Profiler for Python
I'm probably not the average python programmer.
But I normally just create two terminals (I have a tiling window manager) and in one I open a python file under /tmp/ write my code and execute it in the other terminal.
I would probably use a REPL if it was integrated in my favorite editor ( https://helix-editor.com ).
-
Neovide – a simple, no-nonsense, cross-platform GUI for Neovim
Wow, that's been there a while: https://github.com/helix-editor/helix/commit/35c974c9c49f912...
Wonder how I missed that. I'm getting a re-education in helix today -- thank you! I'll go through `hx --tutor` again before I insert any more feet in my mouth.
-
Zed is now open source
Interesting to see how they are gonna approach integrating plugins/extensions system, because this is likely gonna be one of the major factors affecting adoption and ecosystem growth.
Helix devs, for instance, lean towards a Scheme-like implementation. [1]
[1]: https://github.com/helix-editor/helix/discussions/3806#discu...
What are some alternatives?
dashmap - Blazing fast concurrent HashMap for Rust.
kakoune - mawww's experiment for a better code editor
syncbuf - A small library of append-only, thread-safe, lock-free data structures.
lapce - Lightning-fast and Powerful Code Editor written in Rust
concurrent - A crate with some concurrent data structures.
neovim - Vim-fork focused on extensibility and usability
im-lists - Immutable unrolled linked lists
micro-editor - A modern and intuitive terminal-based text editor
glsp - The GameLisp scripting language
xi-editor - A modern editor with a backend written in Rust.
crossbeam - Tools for concurrent programming in Rust
copilot.vim - Neovim plugin for GitHub Copilot