4a501c1f77
Remove unused comment in CST.cc
2023-05-26 15:19:40 +02:00
06127ff624
Improve checking recursive functions and some minor fixes
2023-05-26 14:30:50 +02:00
2448a70c76
Fix panic when trying to print tokens
2023-05-24 20:33:32 +02:00
04fffbe9aa
Refactor a bit and split header Diagnostics.hpp
2023-05-24 19:38:04 +02:00
31d813e94b
Fix spacing in InstanceNotFoundDiagnostic
2023-05-24 19:00:02 +02:00
59b553410b
Treat all warnings as errors in C++ sources
2023-05-24 14:13:08 +02:00
6967f9a060
Sort diangostics by node and refactor ConsoleDiagnostics
2023-05-24 14:11:59 +02:00
5ac162cd72
Add support for nested/tuple type expressions
2023-05-23 22:36:01 +02:00
1bba5facc7
Fix infix expressions returning invalid types
2023-05-23 22:34:21 +02:00
7024b8790d
Fix return-statements not being type-checked
2023-05-23 21:51:44 +02:00
1d314808a9
Fix match-expressions not being properly type-checked
2023-05-23 21:51:14 +02:00
3bc77b1bb6
Allow more constraints to be eagerly solved
2023-05-23 21:50:00 +02:00
ebc51539ad
Remove support for 'pervious' environments
2023-05-23 21:32:23 +02:00
be6537f9b9
Fix eager instantiation for deeply structured types
2023-05-23 21:29:27 +02:00
7d694d9a31
Fix panic on encountering a member-expression
2023-05-23 20:56:11 +02:00
4ecc0d9724
Clean up, fix bug and make type classes with var-decls work
...
Bug to be fixed is a rigid type variable of a type class being added to
the parent context, causing eager solving to fail.
2023-05-23 20:47:41 +02:00
b8e989d03f
Eagerly solve some constraints when certain conditions are met
2023-05-23 20:09:05 +02:00
acbfeb8975
Fix type class constraint expressions not being correctly parsed
2023-05-23 20:04:41 +02:00
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