langserver
platonic
langserver | platonic | |
---|---|---|
4 | 1 | |
178 | 6 | |
3.4% | - | |
9.0 | 7.1 | |
20 days ago | 12 months ago | |
Nim | Nim | |
- | - |
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.
langserver
-
NIR: Nim Intermediate Representation
As recommended by michaelsbradley below, I installed https://github.com/nim-lang/langserver. I'm using coc.nvim (https://github.com/neoclide/coc.nvim) so I followed the instructions here from nim langserver https://github.com/nim-lang/langserver#vimneovim and seems to be working well!
-
Nvim-lspconfig with Nim?
Hello here, I'm trying to setup neovim with nimlangserver, but I'm unable to get auto completion for imports.
-
Nimlangserver Announcement
Announcing nimlangserver!
platonic
-
NIR: Nim Intermediate Representation
> Ya I don't think this is a good definition of dependent type - the prototypical example of a dependent type is a k-length vector.
Yah that's why I qualified my statement as dependent type like setup as I don't know a good definition of dependent types which I really grok and I've only briefly dabbled in it. It'd be awesome if you could point out a good resource showing a clear example / simple proof.
Well I started working on statically typed vector concepts [1]. The compiler can't do `proc concat[N,M: static int](v1: Vector[N], v2: Vector[M}): Vector[N+M]` and it fails. It might be able to be implemented via a macro like `proc concat(v1: Vector[N], v2: Vector[M}): typeFromSumOf(N,M)`, but I haven't tried yet.
Also just using static ints would require specific values at some point to work I think. Whereas you'd really want "induction" of some sort. Maybe a SAT solver would be required at that point? There's DrNim [2] which does tie Z3 but it's sorta dormant.
> Um yes this is literally what I was asking with respect to top ⊤.
Ah, I didn't know what you meant by top T.
> ya the negation is interesting - I wonder how it's implemented.
Nim's VM runs from Nim AST, so probably running it as a VM expression.
1: https://github.com/elcritch/platonic
What are some alternatives?
nimlsp - Language Server Protocol implementation for Nim
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
language-server-protocol - Defines a common protocol for language servers.
cps - Continuation-Passing Style for Nim 🔗
vscode-nim
lsp-mode - Emacs client/library for the Language Server Protocol
coc-ccls - CCLS (C/C++) extension for coc.nvim
status-mobile - a free (libre) open source, mobile OS for Ethereum
nimscripter - Quick and easy Nim <-> Nimscript interop