ghcid
Very low feature GHCi based IDE (by ndmitchell)
parinfer-rust
A Rust port of parinfer. (by eraserhd)
Our great sponsors
ghcid | parinfer-rust | |
---|---|---|
12 | 15 | |
1,120 | 513 | |
- | - | |
4.0 | 1.9 | |
about 2 months ago | 23 days ago | |
Haskell | Rust | |
BSD 3-clause "New" or "Revised" License | ISC 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.
ghcid
Posts with mentions or reviews of ghcid.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-04-08.
-
Anyone know the best way to use haskell for arch linux?
You can use ghcid. It compiles the code, and shows if there are any errors as you save your file. Have two terminals. One for editing your file...other one with ghcid ($ ghcid path/to/filename.hs). Right click on the ghcid terminal and click `always on top`. That way, It will be always visible as you are typing and saving code.
-
Static-ls - a low memory Haskell language server based on hiedb and hiefiles
With a combination of ghcid, an hiedb filewatcher and the -fdefer-type-errors flag you can get pretty solid IDE behavior. Currently only ghc 9.4.4 is supported but happy to personally help people set this up if interested!
-
What's the best Editor+Tests experience we can get with Haskell?
With an editor integration, you could rig it up to where you could right-click on a Spec, choose "Run spec" from a context menu, and have your editor add that comment to and save dev.hs. Another editor integration could read and parse the contents of ghcid.txt. We have this already for the compiler output, but it doesn't yet parse the test output. But sans an editor integration, you will still see the test output in the console where Ghcid is running.
-
What's the best way to use a REPL for TDD?
Sounds like you want ghcid. You can use it run tests on a successful build, and it will watch files in your project and quick-rebuild when there are changes. There shouldn't be any need to modify your Cabal files or test dependencies.
- Open source projects for beginners
-
TDD for AoC?
In addition, for Haskell, I usually have ghcid running, which likewise re-runs on every file change, but gives faster feedback about any type errors than the full compiler, and also is configured to evaluate
-
Automatically reloading ghci when a file changes
Have you looked into ghcid? https://github.com/ndmitchell/ghcid
-
Most braindead easy end to end haskell workflow?
VS Code + Haskell extension is usually best, but ghcid is an alternative which is much simpler, easier to set up, less pretty and powerful but still pretty easy and effective to use. Here's a workflow:
-
How to cabal?
In general, though, I recommend just looking at the cabal files for various libraries and executables. Something like ghcid is good, since it contains a library, an executable, and a test suite.
-
Fast way to run Haskell script from nvim?
you should also checkout the ghci vim plugin https://github.com/ndmitchell/ghcid/tree/master/plugins/nvim
parinfer-rust
Posts with mentions or reviews of parinfer-rust.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-10-23.
-
neovim plugins that have improved your workflow
parinfer-rust, while LISP only for reasons, is still absolutely amazing overall for its performance compared to the Lua version. I do wish there were more bracketing/scope algorithms out there for other languages. With a parinfer plugin, you only need to start a bracket for it to close what it believes is your scope. Great for enclosing things in functions
-
Why is parinfer not as good as I think it is?
While my main daily driver is also IntelliJ, and also for Parinfer, I have found that Neovim + Rust-parinfer works remarkably well.
-
Why Rust ?
Another example where rust's benefits show is something like parfiner. Currently I'm using my own ffi interface to https://github.com/eraserhd/parinfer-rust, and it feels significantly faster than the plain-lua version I had before. Getting to write the whole thing in rust just makes life easier and simpler
- paredit.vim – Paredit Mode: Structured Editing of Lisp S-Expressions
-
Lisp programming configuration for neovim
I use a combination of parinfer-rust and Conjure for my Clojure, Janet, and Fennel development.
-
Can vim become an emacs or is it already one or not?
My personal configuration is also written in fennel if you would like to take. look: https://github.com/shaunsingh/nyoom.nvim. Neovim's come a long way in what you can do with it. Fennel has a macro system as with any lisp, so you can make the syntax feel right at home with emacs https://github.com/shaunsingh/nyoom.nvim/tree/main/fnl/macros. You can even create dynamic-module like integrations with rust programs (see https://github.com/shaunsingh/nyoom.nvim/blob/main/fnl/parinfer/init.fnl, interacting with https://github.com/eraserhd/parinfer-rust/tree/master/src)
-
What are your must-have vim/nvim extensions?
eraserhd/parinfer-rust if you do any sort of Lisp programming
-
Why Clojure in a single Orgpad diagram
Clojure is an amazing language, and so is Rust. In fact, I think learning both of them is a wonderful way to introduce ourselves to such a broad range of programming ideas that it covers over half of the seven programing ur-languages. It's even worth investigating the differences in the way these languages have developed over time (Clojure being Rich's project and Rust taking a community approach). These ideas aren't in opposition to each other. If they were, the indispensable editor plugin I use to write Clojure wouldn't exist for crying out loud.
-
Parinfer fans wanted
Have you seen an excellent parinfer-rust implementation of Parinfer? It's quite fast and can be integrated with other editors, like Emacs, Kakoune, Vim, etc. I think you can try to see if your integration passes their tests.
-
Changing shift-left-right Behavior in Lisp Mode
I am currently using parinfer. It’s not exactly minimal, but it doesn’t require much configuration and doesn’t have any special keybinds.
What are some alternatives?
When comparing ghcid and parinfer-rust you can also consider the following projects:
ghci-ng
nvim-ts-rainbow - Rainbow parentheses for neovim using tree-sitter. Use https://sr.ht/~p00f/nvim-ts-rainbow instead
stack - The Haskell Tool Stack
feline.nvim - A minimal, stylish and customizable statusline for Neovim written in Lua
ghcide - A library for building Haskell IDE tooling
lispy - Short and sweet LISP editing
hlint - Haskell source code suggestions
kakoune-doas-write - Fork of kakoune-sudo-write to use doas instead.
castle - A tool to manage shared cabal-install sandboxes.
awesome-neovim - Collections of awesome neovim plugins.
hadolint - Dockerfile linter, validate inline bash, written in Haskell
nvim-dap - Debug Adapter Protocol client implementation for Neovim