Scheme-langserver
Digest incomplete code with static analysis
Details
- External ID
- 47133716
- Source
- HN
- Company
- —
- Product
- Scheme-langserver
- Website domain
- github.com
- Launched
- Feb. 24, 2026
- Cohort
- —
- Upvotes
- 52
- Upvotes percentile
- 0.8221024258760108
- Tags
- —
- Fetched at
- Sept. 7, 2026, 9:25 p.m.
- Updated at
- Sept. 7, 2026, 9:25 p.m.
Description
Scheme-langserver digest incomplete Scheme code to serve real-world programming requirements, including goto-definition, auto-completion, type inference and such many LSP-defined language feature supports. And this project is based here(https://github.com/ufo5260987423/scheme-langserver).I built it because I was tired of Scheme/Lisp's raggy development environment, especially of the lack of IDE-like highly customized programing experience. Though DrRacket and many REPL-based counterparts have don't much, following general cases aren't reach same-level as in other modern languages: (let* ([ready-for-reference 1] [call-reference (+ ready-for-)])) Apparently, the `ready-for-` behind `call-reference` should trigger an auto-complete option, in which has a candidate `ready-for-reference`. Besides, I also know both of them have the type of number, and their available scope is limited by `let*`'s outer brackets. I wish some IDE to provide such features and such small wishes gradually accumulated in past ten years, finally I wasn't satisfied with all the ready-made products.If you want some further information, you may refer my github repository in which has a screen-record video showing how you code get help from this project and this project has detailed documentation so don't hesitate and use it.Here're some other things sharing to Hacker News readers:1. Why I don't use DrRacket: LSP follows KISS(Keep It Simple, Stupid) principle and I don't want to be involved with font things as I just read in its github issues.2. What's the newest stage of scheme-langserve: It achieves kind of self-boost, in which stage I can continue develop it with its VScode plugin help. However, I directly used Chez Scheme's tokenizer and this leaded to several un-caught exceptions whom I promise to be fixed in the future, but I'm occupied with developing new feature. If you feel something wrong with scheme-langserver, you may reboot vscode, generally this always work.3. Technology road map: I'm now developing a new macro expander so that the users can customize LSP behavior by coding their own macro and without altering this project. After this, I have a plan to improve efficiency and fix bugs. 4. Do I need any help: Yes. And I'd like to say, talking about scheme-langserver with me is also a kind of help.5. Long-term View: I suspect 2 or 3 years later I will lose concentration on this project but according some of my friends, I may integrate this project with other fantastic work.
Enrichment
- Theme
- spreadsheet and tabular data tools
- Vertical
- —
- Function
- Dev tools
- Audience
- Developer
- AI stance
- Not AI
- Project type
- Hobby / open-source project
- Normalized one-liner
- language server for scheme with static analysis
- Manually corrected
- False
Could you build this?
No Building a Language Server Protocol implementation capable of parsing and statically analyzing incomplete Lisp/Scheme code requires specialized compiler theory expertise.
What it would actually take: The system requires an error-tolerant incremental parser, symbol resolution engine, and static type inference system for dynamically typed, macro-heavy Scheme code. Implementing LSP specifications (hover, completion, definitions) on partial, invalid syntax trees demands compiler construction and formal semantics engineering.
Discussion
2 comments analyzed.
Competitors mentioned: DrRacket
Concerns raised: Many bugs currently, Syntax analysis performance expensive
Feature requests: Front-end preprocessing for Scheme/Lisp language server
Competitors
Other products that read as similar to this one — 29 launches clear the similarity bar, closest 8 shown.
Attention rank: #9 of 30 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).
Launched 104 days after the earliest competitor.
- Try Gerbil Scheme in the Browser · hn · 2026-03-16 · 9 upvotes · similarity 0.42
- Combinators in Array Languages · hn · 2026-09-21 · 11 upvotes · similarity 0.39
- A systems language with runtime reflection and no GC · hn · 2025-12-15 · 6 upvotes · similarity 0.37
- I replaced every function in a codebase with English · hn · 2026-03-22 · 9 upvotes · similarity 0.36
- Xlerb · hn · 2025-11-29 · 6 upvotes · similarity 0.35
- Fluent, tiny lang for reactivity and autograd · hn · 2026-07-17 · 6 upvotes · similarity 0.35
- Gojju, a Fun Programming Language · hn · 2026-01-02 · 13 upvotes · similarity 0.35
- AttaLambda: a language where types and data are made of untyped lambdas · hn · 2026-09-14 · 44 upvotes · similarity 0.35
Other launches for this product
- No other launches for this product.