Commit graph

297 commits

Author SHA1 Message Date
b23dc84f72
Fix variable declarations, fix regression due to eager solving, fix unification 2023-05-23 16:07:58 +02:00
302823ac9b
Split up Checker.hpp and make room for better type mismatch errors 2023-05-22 22:37:58 +02:00
508ef40bdf
Implement tuples and fix bug with type vars in infer/unify algorithm 2023-05-22 17:06:31 +02:00
fd015dcf22
Fix crash when MatchExpression is expected 2023-05-22 11:55:31 +02:00
bce5bffa85
Add support for parsing member expressions 2023-05-22 11:54:52 +02:00
09fcaccedc
Fix branch name in README.md 2023-05-21 20:47:45 +02:00
4e27d778f0
Add some comments and lookup type class let declaration with Scope::lookupDirect() 2023-05-21 20:33:06 +02:00
6ea27d81f4
Fix assertion error in Scope on encountering a LiteralPattern 2023-05-21 20:16:15 +02:00
093f307098
Fix instance declarations not being correctly typechecked 2023-05-21 20:14:41 +02:00
3d19ce988c
Add some comments to checkTypeclassSigs() 2023-05-21 17:53:07 +02:00
56cbfc6fbe
Add support for literal patterns 2023-05-21 17:36:44 +02:00
17d21d234b
Enable type-checking of match expressions 2023-05-21 17:14:11 +02:00
fb5a9df48b
Fix some parsing issues for MatchExpression 2023-05-21 17:13:47 +02:00
b6706dd801
Fix constructors like True and False not being parsed 2023-05-21 14:50:28 +02:00
1f94b7f799
Add support for match-expressions in parser 2023-05-21 11:30:25 +02:00
66d7b90f82
Clean up some code and introduce IdentifierAlt 2023-05-21 00:25:01 +02:00
db26fd3b18
Add experimental support for type classes and many more enhancements 2023-05-20 23:48:26 +02:00
a7fdc59440
Add missing Stream.hpp 2023-05-14 21:20:44 +02:00
936afd3be0
Fix bug in inferencer and rename some variables 2023-05-08 19:57:24 +02:00
767572b197
Fix long command hooks not being recognised 2023-04-14 20:33:29 +02:00
aefba5a175
Put all additional resources in assets/ 2023-04-14 20:11:41 +02:00
fd466fb4e8
Add missing which npm package to compiler 2023-04-14 20:06:43 +02:00
2f7993ea17
Add missing .gitignore 2023-04-14 20:06:31 +02:00
3fc184a0ce
Move compiler to its own subdirectory 2023-04-14 20:04:14 +02:00
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