haskell-language-server
lsp-mode
haskell-language-server | lsp-mode | |
---|---|---|
111 | 119 | |
2,645 | 4,758 | |
0.8% | 0.4% | |
9.6 | 9.2 | |
2 days ago | 19 days ago | |
Haskell | Emacs Lisp | |
Apache License 2.0 | 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.
haskell-language-server
-
Why Does Everyone Hate Haskell, Jazz, and Pure Math?
> Haskell has an endemic problem where way too many development resources are put into fringe parts of GHC
There has been an incredibly amount of work put into all the things you mentioned over the last decade, which it sounds like you're unfamiliar with. https://github.com/haskell/haskell-language-server in particular is a pleasure to use in my experience. Package management is far from perfect, but it's always being worked on and I'll take it over anything in Python or the Node.js ecosystems any day. Developer experience has improved a lot since I started using the language and this is an area that the community and leadership absolutely cares about--I'd be surprised at anyone who spent time reading discussions in https://github.com/ghc-proposals/ghc-proposals or https://discourse.haskell.org/ or etc. would agree with you.
> Haskell has the worst support for records of all its peers. SML, OCaml, F# all have better records.
> Without good records it’s unreasonably hard to write large software projects.
> AFAIK it’s hard to retrofit ML-style structural subtyped records onto Haskell, because the type system is designed around that not being possible.
Haskell is not ML, and while Haskell records are weak they are not what is preventing people from writing big projects in Haskell. There is much more to the language than records. But I said this in my previous comment.
Nothing you've written resonates with me, and I've written Haskell and PureScript professionally as well as Java and JS along with a bunch of other languages that haven't been mentioned. I'm also actively working on an open source project in my spare time with thousands of lines of Haskell and PureScript code (https://github.com/ddellacosta/automation-service), not to mention a half dozen other random half-done projects and contributions I've made to other open source libraries and applications. What have you written in Haskell that has made you dislike it so much?
> Talk is cheap.
Yes it is.
-
Revisiting Haskell after 10 years
The advent of language server protocol made possible the creation of HLS (Haskell Language Server), and there are plugins for many editors, such as vscode-haskell, that allow you to have auto-complete, auto-import, and automatic function signatures—also available to your editor of choice. The whole feedback loop of editing, compiling, and running is greatly improved.
-
VSCode Haskell extension not working
HLS 2.3.0.0 is currently broken on Windows.
-
Haskellers who moved to Rust: What has been your experience?
The Haskell community has been focusing on tooling and IDE support in the last several years. Haskell-Language-Server is a huge improvment, so the experience is probably much better than you remember, but it'll still be a while before it catches up with Rust.
- A semester of Haskell-language-server: an internship report
- HLS 2.0.0.0 is out
-
Static-ls - a low memory Haskell language server based on hiedb and hiefiles
static-ls is a low memory language server for Haskell that serves as an alternative to (hls)[https://github.com/haskell/haskell-language-server] with less functionality by using statically generated information. It is intended for (Highly recommend hls instead if you aren't having these issues):
- HLS 1.10.0.0 is out
-
[Well-Typed] Multiple Component support for cabal repl
I think the corresponding HLS PR is https://github.com/haskell/haskell-language-server/pull/3462, so it isn't landed yet but hopefully can be part of a HLS release before too long. (I'm not sure if it will make it in to the very next release because we're due one out to support GHC 9.6.1 pretty soon.)
lsp-mode
-
Executable Blog Posts: Second Take
I used Lua for years to configure my awesomewm desktop environment. Then, I started using it to configure my Wezterm. Since I bumped into an Emacs bug (lsp-mode bug to be fair), I switched quickly to Neovim after 20 years of Emacs, and I am using Lua to configure my Neovim. Last but not least, OpenResty gives my Nginx superpowers with Lua.
- lsp-mode: Emacs client/library for the Language Server Protocol
-
lsp-keymap-prefix not working
I also tried to the solutions suggested ![here](https://github.com/emacs-lsp/lsp-mode/issues/1532) and ![here](https://github.com/emacs-lsp/lsp-mode/issues/1672), but nothing worked. I moved the (setq lsp-keymap-...) line outside (and before) use-package. I also used :config (define-key lsp-load-map...) in my use-package block. But none of them worked.
-
Help getting the yaml language server working with eglot
Not sure how much this might help, but lsp-mode has lsp-yaml-select-buffer-schema and lsp-yaml-set-buffer-schema commands to pick schema from a list or set from a URI. Checking the source of them might give some hints about how the same could be implemented in eglot?
-
What LaTeX setup do you use?
Beyond that you might as well embrace the suck and install autex with a language server: https://emacs-lsp.github.io/lsp-mode/
-
Emacs bankruptcy
Smart completion these days is done primarily through LSP. eglot is fairly minimal but built-in as of 29, also available via GNU Elpa. lsp-mode is another option with more integrations and a bit more fleshed out.
-
The bottom emoji breaks rust-analyzer
lsp-mode: https://github.com/emacs-lsp/lsp-mode/issues/2080
-
Setting up a fundraiser for multi-threaded Emacs, any thoughts on this?
Are you running emacs-29? It has numerous speed-ups compared to emacs-28 and older versions, many of them coded by Mattias Engdegård, e.g. commit def6fa4246. I have a fresh build of emacs-29 running on Linux and a new mac with an M1 CPU, and it's stupid fast. I don't use the native-comp feature. I rarely notice any hesitation or slowness. I don't use Elpy. I do use lsp mode.
-
Newbie here! Need Help!
Since you are doing code development, the first things to go for would be setting up your emacs packaging (installing use-package and melpa (use-package's documentation covers this) so you have more packages to choose from (do be careful to not just pick things willy nilly but research them a bit first)) and then setting up lsp-mode. lsp-mode lets you use LSP servers for the specific programming languages you work with in a somewhat unified fashion. You then need to install and setup the LSP servers for the languages you use, and possibly install language specific Emacs packages as support (note, Emacs has builtin functionality for many).
What are some alternatives?
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
eglot - A client for Language Server Protocol servers
neovim - Vim-fork focused on extensibility and usability
tide - Tide - TypeScript Interactive Development Environment for Emacs
ormolu - A formatter for Haskell source code
ctags - A maintained ctags implementation
vscode-haskell - VS Code extension for Haskell, powered by haskell-language-server
ANTLR - ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
hie-bios - Set up a GHC API session for various Haskell Projects
dap-mode - Emacs :heart: Debug Adapter Protocol
lsp-haskell - lsp-mode :heart: haskell
company-lsp - Company completion backend for lsp-mode