Moose
tree-sitter-go
Moose | tree-sitter-go | |
---|---|---|
2 | 3 | |
133 | 282 | |
0.0% | 3.9% | |
7.7 | 6.4 | |
16 days ago | 23 days ago | |
Smalltalk | JavaScript | |
MIT License | MIT License |
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.
Moose
-
Architecture diagrams should be code
I use TLA+. Almost every system has some sort of safety property that needs to be guaranteed (bad things must never happen). A good many have liveness properties (something must eventually happen). Diagrams are well and good for documentation but tell you nothing about the specifications of the system.
I tried UML once but found it lacking.
When I’m writing documentation I like to use diagrams. Mermaid has served me well. It’s integrated into GitHub these days which is convenient. I’ve also used ditaa and graphviz to good effect. With org-mode and org-babel it’s quite easy to build executable documentation: take the query from a database to build a rough ER diagram with graphviz, a shell command on a jump box to get the data-plane hosts to build into a network diagram, etc.
Another interesting tool: https://github.com/moosetechnology/Moose I haven’t spent that much time with it but I learned enough to generate a dependency graph for a NodeJS project that was useful for planning refactoring work.
-
Tree-sitter: an incremental parsing system for programming tools
Could you compare Sourcegraph to something like Moose, FAMIX, GToolkit?
https://github.com/moosetechnology/Moose
tree-sitter-go
-
Looking for EBNF / Antlr / yacc for Go with generics
Might the tree-sitter grammar at https://github.com/tree-sitter/tree-sitter-go help at all?
- Building tree-sitter languages for Emacs
-
Tree-sitter: an incremental parsing system for programming tools
Worth calling out that the syntax highlighting support is used to highlight several languages in github.com. (Linguist is still used for the long tail of languages, but we plan to migrate more and more over to tree-sitter-based highlighting over time.)
The query language is also what's used to drive the fuzzy/ctags-like Code Navigation feature. Both of those are powered by tree-sitter query files defined in each language's repo, like these for Go: https://github.com/tree-sitter/tree-sitter-go/tree/master/qu...
What are some alternatives?
gtoolkit - Glamorous Toolkit is the Moldable Development environment. It empowers you to make systems explainable through experiences tailored for each problem.
elisp-tree-sitter - Emacs Lisp bindings for tree-sitter
tree-sitter-c - C grammar for tree-sitter
nvim-treesitter - Nvim Treesitter configurations and abstraction layer
csharp-mode - A major-mode for editing C# in emacs
tree-sitter-haskell - Haskell grammar for tree-sitter.
PHP Parser - A PHP parser written in PHP
tree-sitter - An incremental parsing system for programming tools
tree-sitter-kotlin - Kotlin grammar for Tree-sitter
parser - A Ruby parser.
tree-sitter-cpp - C++ grammar for tree-sitter