cps
treesitter-unit
Our great sponsors
cps | treesitter-unit | |
---|---|---|
9 | 9 | |
195 | 149 | |
4.1% | - | |
7.9 | 1.8 | |
11 days ago | over 2 years ago | |
Nim | Lua | |
MIT License | The Unlicense |
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.
cps
-
Nim CPS: compile-time continuations
This'll get you closer: https://github.com/nim-works/cps
Sorry, I was in a hurry.
-
D Programming Language
- https://github.com/nim-works/cps
Or a neural network DSL or for a self-contained example, einsum:
-
NIR: Nim Intermediate Representation
There has been a more-or-less working CPS implementation for Nim for a few years now,
https://github.com/nim-works/cps
https://github.com/nim-works/cps/tree/master/docs
Nobody seems to care though, as it has gained no traction at all and it has been mostly ignored by the core team.
-
Nim v2.0 Released
Ones that have not been mentioned so far:
nlvm is an unofficial LLVM backend: https://github.com/arnetheduck/nlvm
npeg lets you write PEGs inline in almost normal PEG notation: https://github.com/zevv/npeg
futhark provides for much more automatic C interop: https://github.com/PMunch/futhark
nimpy allows calling Python code from Nim and vice versa: https://github.com/yglukhov/nimpy
questionable provides a lot of syntax sugar surrounding Option/Result types: https://github.com/codex-storage/questionable
ratel is a framework for embedded programming: https://github.com/PMunch/ratel
cps allows arbitrary procedure rewriting to continuation passing style: https://github.com/nim-works/cps
chronos is an alternative async/await backend: https://github.com/status-im/nim-chronos
zero-functional fixes some inefficiencies when chaining list operations: https://github.com/zero-functional/zero-functional
owlkettle is a declarative macro-oriented library for GTK: https://github.com/can-lehmann/owlkettle
A longer list can be found at https://github.com/ringabout/awesome-nim.
- CPS – Also Known as Continuation-Passing Style – For Nim
-
In Defense of Async: Function Colors Are Rusty
I think the CPS attempt in Nim could do this
-
Nim Version 1.6 Released
* Goroutines are probably a lot more easier to use. Work is being done to make Nim even better in that area: https://github.com/nim-works/cps but don't expect it soonish.
* I feel like Go has less 'edge cases', but the Nim compiler is steadily getting more stable, especially consider it's not backed up by a major company!
* Metaprogramming is really powerful, but not beginner friendly. The documentation says use macros when necessary, but personally I don't think that really happens in practice.
The advantages by far outweigh the disadvantages, especially if you are looking for a clean Go alternative(except maaaaaaybeee web application).
-
Looking for more example of nim's coroutines
and the fifth: https://github.com/disruptek/cps
treesitter-unit
-
paredit.vim – Paredit Mode: Structured Editing of Lisp S-Expressions
It's also relatively easy to write plugins based on the parsed AST. I wrote treesitter-unit[1] making it easy to select/modify the subtree of the selection.
-
What do you use treesitter for other than highlighting?
I built a plugin to select units of tree-sitter objects https://github.com/David-Kunz/treesitter-unit
- USER FLAIRS: Apply now!
-
How to paste inline the content I deleted/yanked with x/d/dd/y/yy instead of pasting one line below?
To delete/yank the node, the combination would be `diu`, using this plugin: https://github.com/David-Kunz/treesitter-unit
- Nim Version 1.6 Released
-
Custom treesitter textobjects
Hi, I also think treesitter-textobjects are a bit overspecific, that's why I created https://github.com/David-Kunz/treesitter-unit/ .
-
Video: Let's create a Neovim plugin using Treesitter and Lua
In this video I create a Neovim plugin called 'treesitter-unit' using Lua. You can find the final plugin here: https://github.com/David-Kunz/treesitter-unit/
-
Plugin: treesitter-unit
I tried it with operator mode maps and it works perfectly! I updated the README to include: vim.api.nvim_set_keymap('o', 'x', ':lua require"treesitter-unit".select()', {noremap=true})
What are some alternatives?
nim-chronos - Chronos - An efficient library for asynchronous programming
jester - A sinatra-like web framework for Nim.
httpbeast - A highly performant, multi-threaded HTTP 1.1 server written in Nim.
nvim-treesitter-textsubjects - Location and syntax aware text objects which *do what you mean*
p-map - Map over promises concurrently
syntax-tree-surfer - A plugin for Neovim that helps you surf through your document and move elements around using the nvim-treesitter API.
nvim-treesitter-textobjec
godot-nim - Nim bindings for Godot Engine
cmdchallenge
norm - A Nim ORM for SQLite and Postgres
shell - A Nim mini DSL to execute shell commands