aboutsummaryrefslogtreecommitdiff
path: root/notes.txt
blob: bba644c13fe70334b81815f93a632209d50f2284 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
VFS
---
- do all the IO in one place
- pass file handles around

Interface
---------
- load files to be read as VFS
- path interner
- traits to go from Report to text/errfmt
- offline documentation/explaination for lints

Fix
---
- multipass runner with hare & tortoise for cycle detection
- fix all possible suggestions
- work with a config generated by CLI
- read data from VFS
- produce a Report

Analysis
--------
- work with a config generated by CLI
- read data from VFS
- produce a Report

Tests
-----
- figure out a way to generate stable singleline output for
  analysis tests
- use stderr tests for fixes

Lint ideas
----------
- unused let bindings
- unused rec
- invalid or potentially risky string interpolations
- useless parens in infix exprs
- unused function params
- manual map over list
- merge inherit
- merge inherit-from
- empty inherit
- useless antiquote/splice (where is antiquote truly
  required?)
- useless variadic (things like `{...} : expr`, replace with
  `_: expr`)
- redundant pattern `{...} @ inputs : expr`, replace with
  `inputs: expr`
- useless hasAttr: `if x ? a then x.a else default` can be
  replaced with `x.a or default`

Extensions
----------
- vim plugin to populate location list with errors