Commit graph

323 commits

Author SHA1 Message Date
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