Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
quasilyte
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
3 ms
·
1.
▲
by
quasilyte
3y ago
Does anyone know what data structure is that? I never seen anything like it, so I'm interested in learning how to call it. :)
2.
▲
by
quasilyte
3y ago
Congrats with v1.0! I remember the times when it was called MangoDB. :D
3.
▲
by
quasilyte
7y ago
You might be interested in https://github.com/mvdan/gogrep/issues/32#issuecomment-56866... When gogrep becomes more usable as a library, it would be easier to write such Go programs easier. As for the alterna
4.
▲
by
quasilyte
7y ago
Mostly because plugins support in Go is not ideal and it still requires compilation (in plugin mode). I believe Daniel Martí plans to make gogrep usable as a library, so it will be possible to write such Go programs in the future.
5.
▲
by
quasilyte
7y ago
Features: * Custom linting rules without re-compilation. * Diagnostics are written in a declarative way. * Quickfix action support. * Powerful match filtering features, like expression type pattern matching. Uses gogrep for AST pattern matc
6.
▲
Show HN: CodeQL-Like Analyzer for Go
(github.com)
39 points
by
quasilyte
7y ago
|
5 comments
7.
▲
Phpgrep: Syntax-aware grep for PHP code, written in Go
(github.com)
2 points
by
quasilyte
7y ago
|
0 comments
8.
▲
by
quasilyte
8y ago
Planning to use this secret weapon on the next Go contributors workshop in Russia. :)
9.
▲
by
quasilyte
8y ago
I've contributed https://go-review.googlesource.com/c/go/+/117615 thanks to appendCombine check. :3
10.
▲
by
quasilyte
9y ago
With minor Emacs Lisp compiler patch (addition of %return, %goto and %label intrinsics), it is now possible to output Lisp that is optimal. Possible implementation (about 20 lines of code): https://github.com/Quasilyte/
11.
▲
by
quasilyte
9y ago
I see three main approaches for the tasks projects like ecaml and goism try to solve: 1. Use a plugin system (ecaml) 2. Transcompile to a target language (gosim and emscripten-like platforms) 3. Embed another VM inside Emacs and call its ev
12.
▲
by
quasilyte
9y ago
It is technically possible, but optimal solution will require more than catch and throw (cl-lib uses them) Simple demonstration: https://pastebin.com/vXp0qPw3 Some S-expressions with `cl-return' can be rewritten to avo
13.
▲
by
quasilyte
9y ago
I love Emacs Lisp. Emacs has really good support for it which continues to improve over time. But.. I love more than one language (and more than one Lisp for sure). Will you try to persuade me that I am wrong in that regard?
14.
▲
by
quasilyte
9y ago
You can call map/reduce/filter from Go code: `xs := lisp.Mapcar(f, ys)`. Mapconcat is already used inside runtime implementation: https://github.com/Quasilyte/goism/blob/master/src/emacs&#
15.
▲
by
quasilyte
9y ago
Currently, no. Hope I get your question right.. Name mangling scheme preserves fully qualified package path. All goism sources live inside GOPATH (1), so nothing stops us from implementing a jump to Go definition. For given `goism-foo/
16.
▲
by
quasilyte
9y ago
The potential damage can be reduced. There can be a backend that generates Emacs Lisp code. Not necessary optimized or idiomatic, but it could be a good starting point for rewriting. But in general, I agree with you.
17.
▲
by
quasilyte
9y ago
Some optimizations are easier in Go than in Emacs Lisp, hence the potential quality of produced bytecode can be higher. For big packages that can be implemented in Go naturally ( nearly without pain), this can be an advantage. I found some
18.
▲
by
quasilyte
9y ago
It is possible to emit Emacs Lisp instead of bytecode/lapcode. This was the first code generator target actually. Easier to debug, simpler to trust (for the end user) and not that hard to generate. The problem is that it is harder to i
19.
▲
by
quasilyte
9y ago
I used Emacs Lisp for scripting tasks like code and data generation. It is great to have an ability to evaluate form right inside the spot you want results to be inserted. This kind of code does not require AST manipulations or macro. Also,