6cdh
6cdh
I know nothing about compiler, but I guess its hard to get `values` work right on logical operators at compile time. For example, this code ```fennel (fn f [...] (values...
It's a bigger bug than I thought. Consider this example: ```fennel (fn f [...] (values ...)) (fn input [] (let [s (io.read "*n")] (if (= s 1) (f "a") (f...
Thanks. I didn't know it, my mistake.
Thanks. As a workaround, I divided a fennel source file into multiple small files.
@schildbach It saved me! But your systemd service may fail at startup with the following error: ``` Feb 29 20:50:14 lcdhrpi systemd[1]: Started Publish gitlcdhpi.local as alias for lcdhrpi.local via...
I'm interested in implement semantic tokens recently. For convenience, all tokens in [specification](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_semanticTokens). The meaning of tokens are be found at vscode's [doc](https://code.visualstudio.com/api/language-extensions/semantic-highlight-guide#standard-token-types-and-modifiers) These are my rough idea: ## Design...
Yes. I find the slowest function is `get-index-entry-info` in `document-variable`: https://github.com/racket/drracket/blob/e9e5656744e4bc9b1fe332fe3cf949339acdaa9b/drracket-tool-text-lib/drracket/private/syncheck/traversals.rkt#L1497 Each `document-variable` call takes several milliseconds, and it will be called thousand times in a big file. I have...
It turns out the most time of `get-index-entry-info` spent on [`xref-binding->definition-tag`](https://docs.racket-lang.org/scribble/xref.html#%28def._%28%28lib._scribble%2Fxref..rkt%29._xref-binding-~3edefinition-tag%29%29) calls which is probably cacheable.
nice! It reduced from ~3600 ms to ~800 ms for me and 4.5x faster. My previous benchmark result was with fully disabled `document-variable`, it makes sense that it's much faster.
thanks. Another bottleneck sometimes I found is `current-module-name-resolver`: https://github.com/racket/drracket/blob/2657eafdcfb5e4ccef19405492244f679b9234ef/drracket-tool-text-lib/drracket/private/syncheck/traversals.rkt#L1343 Added a `time` around the expression `((current-module-name-resolver) datum #f #f #t)`, I got this result with the latest cached check-syntax: ```...