beac8eb0ac
Allow custom commands to be called from the main binary
...
These commands can be made available in the PATH and will be picked up
when running `bolt`. For instance, an executable `bolt-doc` will be ran
when running `bolt doc`.
2023-04-14 20:01:04 +02:00
e50f45992c
Expose mose of the compiler functions/classes as an API
2023-04-14 19:59:52 +02:00
26f50c5b50
Make most classes serializable and remove bolt-selftest.ts
...
bin/bolt-selftest.ts will be moved to a separate package
2023-04-14 19:58:23 +02:00
d3b713624d
Fix nodes not being properly assigned to CEqual
2023-04-13 17:22:45 +02:00
e2923f63c0
Fix infinite loop while searching for nodes in type chain
2023-04-13 17:22:15 +02:00
9f6fe70f38
Fix regression in type checking of extensible records
2023-04-13 14:43:47 +02:00
1cbd2e8a23
Merge with local implementation of toStringTag
2023-04-13 14:36:28 +02:00
11bae0fed0
Update dependencies
2023-04-12 22:01:39 +02:00
78ea550afd
Fix broken image link in README.md
2023-04-12 21:59:33 +02:00
d19c64845d
Add test regarding assignment and polymorphism
2023-04-12 21:52:10 +02:00
94c9e83d06
Fix typo in diagnostic messages
2023-04-12 21:39:06 +02:00
e7493d0d49
Multiple updates to code base
...
- Fix variable polymorphism by addding missing generalization step
- Add method for `util.inspect` to make pretty-printing easier
- Remove WrappedOperator and replace it with NamedPattern
2023-04-12 21:16:48 +02:00
17bdb2d7cb
Fix some bugs in textual input/ouput
2023-04-12 19:38:45 +02:00
49a83f9a77
vscode: Add launch.json for running on test file
2023-04-12 14:29:56 +02:00
d684548141
.gitginore: Add some comments and new rules
2023-04-12 14:29:17 +02:00
f2ea45873c
Fix minor indentation issue in checker.ts
2023-04-12 14:27:21 +02:00
9c24ddb07e
Move 'type class exists' check to initialze()
2023-04-12 14:26:39 +02:00
10f0ebae20
Add README.md with example image
2023-04-12 11:17:42 +02:00
2f8ea813bc
Add deps, update cade a bit and add generators
2023-04-12 11:15:36 +02:00
36012be49a
Add missing declarations for custom inspect methods
2023-03-19 17:03:54 +01:00
5c8a296cab
Add a test for extensible records
2023-03-19 17:03:30 +01:00
1b918dcaf0
Add support for AssignStatement in lexical analysis and CST
2023-03-19 17:02:59 +01:00
af996c13fe
Fix wrong refactor of error messages containing 'this'
2023-03-19 16:37:40 +01:00
947b6d8740
Manually filter out type variables in type scheme that do nothing
2023-03-19 15:04:47 +01:00
d5e85869fb
Add util.inspect methods to types and constraints
2023-03-19 15:02:19 +01:00
a02ee1db0f
tsc: Only compile what is in src/
2023-03-19 13:02:43 +01:00
c559d13df9
Minor improvements, add some experimental type class logic and refactor diagnostics
2023-03-16 21:50:15 +01:00
df5f857905
Add extensible records and add foundations for typeclasses
2023-03-14 13:15:33 +01:00
f995d887e7
Add Syntax.clone() method and '\\' token
2023-02-06 11:52:20 +01:00
80e907d3e2
Fix accidental removal of a contribution
...
Co-authored-by: Erik van Zijst <erikvanzijst@users.noreply.github.com>
2023-02-03 18:13:53 +01:00
3e14538d15
[WIP] Add support for typeclasses
2023-02-03 17:52:34 +01:00
036ccedea3
Rephrase paragraph in README.md
2022-10-01 13:58:23 +02:00
2c9ab75a94
Switch to commander instead of yargs for argument parsing
2022-09-19 16:17:20 +02:00
4fed500ea3
Fix assignment of type to a type expression in checker.ts
2022-09-19 14:06:12 +02:00
6af1fabb88
Refactor codegen into interchangeable passes
2022-09-18 21:37:24 +02:00
404ac83101
Add a test for module references inside type expressions
2022-09-18 21:36:41 +02:00
0d5c791a70
Refactor and improve module references in kind inference
2022-09-18 19:33:34 +02:00
3e169e9ab9
Add experimental support for referencing module elements
2022-09-18 14:33:49 +02:00
9dc62d0836
Fix module paths not being parsed in type reference expressions
2022-09-17 16:31:05 +02:00
cea177e4a6
Add support for parsing module declarations
2022-09-17 13:20:49 +02:00
117f49f343
Add support for parsing the 'foreign' keyword in let-declarations
2022-09-16 19:50:18 +02:00
f43a66f453
Add some codegen infrastructure
2022-09-16 19:44:13 +02:00
8200a0095f
Format records in type inference tests a bit
2022-09-16 19:43:21 +02:00
2dae494fc2
Fix error when parsing empty tuple
2022-09-16 12:54:13 +02:00
368d2243f1
Add a test for tuple unification
2022-09-16 12:48:41 +02:00
cd357e03f5
Add support for tuples
2022-09-16 12:43:06 +02:00
1ea65236a5
Add support for currying
2022-09-16 12:00:00 +02:00
a94b05df61
Fix lambdas not being correctly generated for match-expressions
2022-09-16 11:57:45 +02:00
14c7ce6db5
Fix typo in preview image
2022-09-16 11:39:26 +02:00
1a4a07bdd1
Clean up unused nodes in cst.ts
2022-09-16 11:35:18 +02:00