Miranda Language Support for VS Code
A Visual Studio Code extension providing language support for the Miranda purely-functional programming language, including syntax highlighting, IntelliSense completions, real-time diagnostics, and more.
Features
- Syntax highlighting: keywords, operators, types, constructors, literals, and comments.
- IntelliSense completions: library functions, keywords, and symbols defined in the file.
- Hover information: function signatures, type declarations, and documentation.
- Go to Definition: navigate to function and type definitions within the file.
- Document Symbols: outline view with functions, types, and constructors.
- Real-time diagnostics: identifies undefined identifiers, parse errors, and type issues.
Installation
npm install
cd client && npm install && cd ..
cd server && npm install && cd ..
npx tsc -b
Then open the project with code . and press F5 to test.
Usage
Create a file with the .mi extension and write Miranda code.
Example:
-- Guarded equations
gcd a b = gcd (a-b) b, if a>b
= gcd a (b-a), if a<b
= a, if a=b
-- List comprehension
squares = [ n*n | n <- [1..100] ]
-- Algebraic type
tree ::= Nilt | Node num tree tree
Technical Reference
See docs/technical-reference.md for the detailed reference of the LSP server, parser, lexer, and type checker.