FUTHARK-LSP(1)

πŸ“¦
version 0.25.37 Β· 2 versions
, in nixos 26.05

πŸ’… FUTHARK-LSP(1) β€” the language server, but make it serve

okay so bestie, quick vibe check: this is the manual page for futhark-lsp, straight out of the Futhark manual. welcome to the group chat 🫢


✨ NAME ✨

futhark-lsp β€” the language server for Futhark. yes, it's that girl πŸ’…


🌸 SYNOPSIS 🌸

futhark lsp

that's it. that's the whole summoning ritual ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

So basically, this starts serving the language server protocol (LSP) over stdin and stdout 🌈. And here's the thing β€” it's only the server part of the protocol, okay? So you probs wanna use it via your editor, not by literally talking to it yourself 😭.

What it does: it lets your editor provide stuff like hints or hover information by querying the futhark compiler. Your editor asks, the compiler answers, everyone slays πŸ’–.


πŸ‘‘ FEATURES πŸ‘‘

πŸŽ€ Hover Information

Gives you the type of the symbol under the cursor. it's giving "what even is this thing" energy ✨

⚠️ Ngl, it does not work on the definition of a top-level symbol itself β€” only on references to it. So don't come for it when the definition hovers give you nothing, that's just how it is πŸ™ˆ.

πŸ”₯ Go To Definition

Jumps straight to the place where the symbol under the cursor is defined. main character energy, it knows exactly where everything lives πŸ’…


⭐ Formatting

Invokes futhark fmt to format the current file. glow-up, delivered ✨


πŸ’€ Evaluation Comments

Comments like -- >>> factorial 5 will be picked up, and your editor may offer code lenses to evaluate the code contained in the comment πŸ‘€.

Activating the code lens will load the file into the interpreter, evaluate the expression, and write the result below. it literally does your homework and shows the work 🧚

🚨 Heads up, bestie, there are limits: - The evaluation will be aborted after 15 seconds** - or when it has allocated **100GB in total** - only the **last100` debugging traces will be retained.

no cap, those are the numbers. don't ask it to allocate 101 GB πŸ“


πŸ’œ Inlay Hints

Provides virtual text hints to visualize the results of type-checking πŸ‘‘.

The inferred types of bindings will be shown for e.g. lambda arguments, function arguments, let bindings or loop bindings. it's forecasting the types before the compiler even has to yell at you 🌸


πŸ’– Code Actions

Every name binding with an inlay type hint has an associated code action that inserts exactly the type ascription the virtual text shows πŸ”₯.

And if the type contains any inferred type variables or sizes, they will also be introduced at the appropriate position. it fills in the blanks so you don't have to, obsessed 😭


🌈 SEE ALSO 🌈

  • futhark-fmt <#futhark-fmt-1> β€” the formatting bestie πŸ’…

2013-2025, DIKU, University of Copenhagen


ok that's the whole page, you ate that 🫢 version 0.25.37, dated Sep 09, 2001 β€” yes the date is older than most of us, don't perceive it πŸ’€βœ¨ bye bestie, go hover some symbols πŸ’–πŸ¦‹
πŸ“¦ where this page comes from