brolib-sml VS zed

Compare brolib-sml vs zed and see what are their differences.

zed

Code at the speed of thought ā€“ Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter. (by zed-industries)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
brolib-sml zed
1 38
0 35,981
- 10.1%
8.4 10.0
19 days ago 3 days ago
Standard ML Rust
BSD Zero Clause License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

brolib-sml

Posts with mentions or reviews of brolib-sml. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-28.
  • Zed Decoded: Rope and SumTree
    4 projects | news.ycombinator.com | 28 Apr 2024
    I have a simple (well, simple by my standards because I've spent a long time with it) implementation of a rope in Standard ML [0], OCaml [1] and F# [2]. (See tiny_rope.sml, brolib.fs or lib/tiny_rope.ml for implementation if you can read any of those languages; the F# implementation is probably easiest to read.)

    [0] https://github.com/hummy123/brolib-sml

    [1] https://github.com/hummy123/brolib

    [2] https://github.com/hummy123/brolib-fs

    The essence of a data structure is a binary tree where the internal nodes (the N2 case) contains a pointer to the left subtree, an integer containing the total length of the strings in the left subtree and a pointer to the right subtree. Then there are leaf nodes (the N0 case) which contain simply strings. (There are some other cases in the type like N1, N3 and L2, but those are solely for balancing because I built my ropes on top of 1-2 Brother Trees as described by Ralf Hinze, and those aren't essential to the rope data structure.)

    When indexing (which is necessary for the insertion and deletion operations), you have a simple recursive algorithm which can be best seen in the recursive "ins" function. In the internal N2 nodes, the algorithm is to compare the index (given as an argument) with the left metadata. If the index argument is less than the left metadata, recurse to the left subtree passing the same index; otherwise, recurse to the right subtree, subtracting the index argument with the left metadata.

    By the end, when you eventually reach the leaf case, the index argument is equal to the position you want to insert into in the current node. (I haven't tried to understand the maths behind this but it's how the data structure works.) At that point, all you do is insert into the leaf node's string (this is the same as inserting at an arbitrary index in any normal string) and unroll the recursion. Unrolling the recursion involves updating the left subtree metadata when you reach the parent, and it also involves balancing. (I'm using 1-2 Brother Trees for balancing but ropes don't really care which balancing you use or if you use one at all.)

    That's pretty much all there is to ropes. The deletion and substring algorithms just require minor modifications (the user might specify a range that includes more than one subtree, so you might need to recurse on both subtrees).

zed

Posts with mentions or reviews of zed. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-06-09.

What are some alternatives?

When comparing brolib-sml and zed you can also consider the following projects:

lapce - Lightning-fast and Powerful Code Editor written in Rust

helix - A post-modern modal text editor.

Monaco Editor - A browser based code editor

Visual Studio Code - Visual Studio Code

tree-sitter-solidity - Solidity grammar for tree sitter

zed-fonts - The Zed Mono and Sans typefaces, custom built from Iosevka

pulsar - A Community-led Hyper-Hackable Text Editor

plock - From anywhere you can type, query and stream the output of an LLM or any other script

Slim - Ruby Slim syntax for Sublime Text

sublime_text - Issue tracker for Sublime Text

live-share - Real-time collaborative development from the comfort of your favorite tools

dotfiles - Configs for apps I care about

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured