Commit 009036d7 authored by Nicolas Lenz's avatar Nicolas Lenz

Update ideas

parent 8f1db7fe
......@@ -102,7 +102,7 @@ Interfacing with other languages needs to be easy. Bindings to common languages
Maybe a Haskell2Katrin converter for easy switching?
## Parallelity
## Concurrency
Should be implicit in pure calculations and easilty explicitly possible for IO.
......@@ -114,7 +114,7 @@ Implement a algebraic compiler using `megaparsec` for parsing in Haskell and lat
### Tooling
Good and unified tooling right from the start is very important for a language and its acceptance. Negative Example: Haskell, that wasn't actually usable before Stack was introduced about 2016 (!)
Good and unified tooling right from the start is very important for a language and its acceptance. Negative Example: Haskell, that wasn't actually usable before Stack was introduced about 2016 (!). Also IDE integration is important.
One tool for everything: `katrin` command line tool is compiler, interpreter, shell, build system, formatter etc. in a single convenient place, like with Go, but less weird.
......@@ -124,8 +124,9 @@ One tool for everything: `katrin` command line tool is compiler, interpreter, sh
- `katrin build` builds a project following the directions in the `project.yaml` file.
- `katrin test` runs a Katrin test suite.
- `katrin fmt test.katrin` formats a source file following the standardized coding conventions and an optional custom format specification.
- `katrin lint test.katrin` gives hints on how to improve a source file.
- `katrin lint test.katrin` is a static analyzer that gives hints on how to improve a source file, and auto-apply them if possible. Can also do safe renaming.
- Integrate into `compile`?
- `katrin doc` generates documentation (via Pandoc?).
- `katrin language-server` starts a language server for editors supporting the protocol.
YAML files are used for configuration as they're especially human-friendly.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment