rust-prolog
Rust implementation of prolog based on miniprolog: http://andrej.com/plzoo/html/miniprolog.html (by dagit)
merlin
Context sensitive completion for OCaml in Vim and Emacs (by ocaml)
rust-prolog | merlin | |
---|---|---|
2 | 12 | |
79 | 1,545 | |
- | 0.1% | |
0.0 | 8.8 | |
over 3 years ago | 6 days ago | |
Rust | OCaml | |
BSD 3-clause "New" or "Revised" License | MIT License |
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.
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.
rust-prolog
Posts with mentions or reviews of rust-prolog.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-12-01.
-
How does Rust code written by a Haskell dev look like?
This is probably my oldest Rust code base (and some things about the design are mistakes but I don't feel like rewriting it). It's based on some ML (maybe ocaml?) code but then I kept extending it and adding features: https://github.com/dagit/rust-prolog
-
Hoogle for Rust?
I wrote it myself: https://github.com/dagit/rust-prolog
merlin
Posts with mentions or reviews of merlin.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-05-07.
- Merlin: Context sensitive completion for OCaml in Vim and Emacs
-
Hacker News top posts: May 7, 2022
Merlin: Context sensitive completion for OCaml in Vim and Emacs\ (0 comments)
-
Hoogle for Rust?
Instead of searching functions based on their type structure (like Hoogle), you could search for functions that "consume"/"produce" values of given types (like OCaml's Merlin). I think Rust already computes variance of type constructors, so such a tool just would have to obtain this information.
-
Dot completion
However, after posting this question I stumbled upon this Github issue where they say it isn't supposed to work out of the box and you're supposed to bind a key to it by editing your .emacs file. Turns out the default .emacs file binds auto-complete to "backtab" which means Shift+Tab but that didn't work. I did eventually discover that I can get some kind of completion by binding backtab to completion-at-point like this:
-
Advice/best practice/arhitecture pattern for building language with LSP in mind?
Self-advertising: I partcipated to the writing of Merlin: A Language Server for OCaml (Experience Report), which explains the overall design of Merlin, a language server for OCaml. A key idea of Merlin are that classic lexing-parsing-typing pipelines can easily be adapted to be incremental for a Language Server, especially when they are using immutable data structures.
- merlin: Context sensitive completion for OCaml in Vim and Emacs
What are some alternatives?
When comparing rust-prolog and merlin you can also consider the following projects:
rust-monads - Just a playground for me to try out different monad related things in Rust
hoogle - Haskell API search engine
rust - Empowering everyone to build reliable and efficient software.
ocamlformat - Auto-formatter for OCaml code
ferrite - Session Type EDSL for Rust
Mosh - Mobile Shell
casimir - Algebraic Effects in Haskell using Implicit Parameters
ocaml-lsp - OCaml Language Server Protocol implementation
srl-http - Rust binding to the speedrunslive HTTP API
TatSu - 竜 TatSu generates Python parsers from grammars in a variation of EBNF
cargo-up - Automatically upgrade breaking changes
bisect_ppx - Code coverage for OCaml and ReScript