Commit graph

301 commits

Author SHA1 Message Date
4b9fbc1d0c
Type-check match-expressions, nested expressions and literal patterns
Also introduces '$' as a new binding
2024-07-11 10:09:57 +02:00
d4af7f5059
Add some extra methods to MatchExpression 2024-07-11 10:08:25 +02:00
1d2306513e
Add support for type-checking function expressions 2024-07-11 09:09:27 +02:00
556fc28eb7
Add parsing support for function expressions and format Parser.cc 2024-07-10 23:09:45 +02:00
d0ead42daa
Fix typesetting of titles in CONTRIBUTING.md 2024-07-10 17:42:27 +02:00
05792ee99d
Let VSCode update some weird mappings 2024-07-10 17:41:35 +02:00
eef984f5a9
Display the new syntax in the README.md 2024-07-10 17:41:08 +02:00
2cdad77b0d
Update CONTRIBUTING.md with more build instructions 2024-07-10 17:40:38 +02:00
e386a7095b
Adjust syntax to distinguish between variables and functions 2024-07-10 17:17:09 +02:00
560c689fc7
Sort NodeKind members in different categories 2024-07-10 16:15:16 +02:00
2a257275e8
Remove unused code in CST.hpp 2024-07-10 16:04:12 +02:00
87bb0d0b10
Refactor CST and enable typechecking of do-expressions 2024-07-10 16:02:07 +02:00
15dab8a7a8
Fix compile errors in tests 2024-07-10 12:04:03 +02:00
449991d0c9
Enable parsing of block expressions
Part of fixes for issue #65
2024-07-10 12:03:24 +02:00
9af655c072
Fix crash when a reference to an unbound var is checked 2024-07-10 09:39:40 +02:00
c98f47b564
Also ignore 'zen' dependency in .gitignore 2024-07-10 09:36:01 +02:00
f5668a7b1f
Remove 'zen' symlink from repository 2024-07-10 09:34:54 +02:00
6f7da2c588
Update to new do-notation in README.md 2024-07-10 09:34:10 +02:00
cf782cbf13
Update CONTRIBUTING.md 2024-07-10 09:32:49 +02:00
f2fd7edd80
Temporarily disable LLVM integration to get build working 2024-07-09 19:41:06 +02:00
5ba2aafc68
Switch to bidirectional type-checker and many more improvements 2024-06-21 00:23:27 +02:00
c907885420
Make C++ implementation the main implementation 2024-04-08 20:08:15 +02:00
88134802fa
Fix compile errors 2024-04-08 19:58:19 +02:00
e01a970377
[WIP] Further attempt to get typeclasses working 2024-04-08 19:57:10 +02:00
719dbfcad4
Split LetDeclaration into VariableDeclaration and FunctionDeclaration
We only generate VariableDeclaration when we're absolutely sure it is a
variable.
2024-03-09 12:51:35 +01:00
2bfd88b05f
Fix warnings in README.md 2024-02-26 22:28:31 +01:00
20939d12d7
Format warning as actual warning in README.md 2024-02-26 22:26:44 +01:00
800a72f041
Remove indentation in namespaces 2024-02-19 14:32:24 +01:00
60f1e4519e
Fix #54: BindPattern is not bound during inference inside a match-expression 2024-02-19 14:17:12 +01:00
521e1f1e4f
Fix ConsolePrinter::writeDiagnositc aborting the program 2024-02-19 14:15:07 +01:00
d8576feb48
Add support for parsing prefix and suffix let-declarations 2024-02-09 23:52:55 +01:00
89ab4833ba
Update FAQ 'When will the compiler be ready to use?' in README.md 2024-02-09 21:37:36 +01:00
bf4f328856
Add a few papers we are planning to use 2024-02-09 21:28:14 +01:00
9f5de2987a Make compile on GCC and add support for infix let-declarations 2024-02-04 16:49:57 +00:00
449cda8fc4 Ignore .python-version
It might differ from system to system (e.g. a virtual environment in one
but a version number in another)
2024-02-03 21:05:51 +00:00
de29a77cd3
Add support for record patterns and improve implicit forall 2024-01-22 01:11:59 +01:00
34b7693229
Fix bug where field is missing from record type expression 2024-01-21 09:16:46 +01:00
00dbada7ac
Add support for record type expressions 2024-01-21 08:51:50 +01:00
1b5c32fe29
Add NamedRecordPattern and rename NamedPattern to NamedTuplePattern 2024-01-21 05:40:35 +01:00
7ac3c39164
Make TypeEnv sort variables on whether they are a var or a function
Fixes RecordDeclaration and VariantDeclaration not working correctly
2024-01-21 03:42:25 +01:00
7b58a6c51f
Add more tests for tuple type checking 2024-01-21 03:41:43 +01:00
cb1a1521f5
Small fix to wording in output of 'bolt verify' 2024-01-21 03:40:24 +01:00
7ccda2e69b
Fix segfault when CField has been substituted 2024-01-21 02:01:55 +01:00
a2701257dd
Prevent infinite loops when checking something like "foo".0.1.2 2024-01-21 01:56:01 +01:00
f2550e9430
git: Add compile_command.json to .gitignore and update comment 2024-01-21 01:51:25 +01:00
3979a9010b
Dont let Diagnostic inherit from std::runtime_error
We are not using exceptions
2024-01-21 01:12:02 +01:00
25ccf60e02
Make VSCode launch test sandbox Bolt code by default 2024-01-21 01:11:29 +01:00
3942004f76
Switch to field constraints instead of TTupleIndex 2024-01-21 01:10:59 +01:00
4ab4094acc
Add sample CMake invocation to README.md 2024-01-21 00:20:04 +01:00
4e11af005c
Make Type a union and fix checking of tuple access 2024-01-21 00:18:09 +01:00