sebastianselander
db932048ba
Tried fixing bug. Failed.
2023-02-19 02:10:57 +01:00
sebastianselander
8b5cd3cf9a
Remade the algorithm myself. Still some bugs.
2023-02-18 23:08:27 +01:00
Victor Olin
c20ef8f5dd
clean up
2023-02-18 15:05:02 +01:00
Samuel Hammersberg
087850d1cf
Merge pull request #8 from bachelor-group-66-systemf/prep-tc-merge
...
Add simple type checker and convert pipleline to use typed AST
2023-02-18 14:03:40 +00:00
Samuel Hammersberg
a4c12ede79
Merge branch 'prep-tc-martin' of github.com:bachelor-group-66-systemf/language into prep-tc-martin
2023-02-18 15:03:11 +01:00
Martin Fredin
f485ca9762
Remove case expressions
2023-02-18 14:49:33 +01:00
Martin Fredin
4ab6681f68
Rearrange code
2023-02-18 14:36:59 +01:00
Samuel Hammersberg
287f84377c
Implemented case matching on ints in the code generator
2023-02-18 14:36:46 +01:00
Martin Fredin
3efb27ac0c
Document and fix code style
2023-02-18 13:41:38 +01:00
Martin Fredin
b8aedd541d
Document and fix code style
2023-02-18 13:35:33 +01:00
Victor Olin
c6c0468c8d
Implemented free chunk swaps and filtering
2023-02-18 13:31:16 +01:00
Martin Fredin
21fb6bf5ed
Fix indentation
2023-02-18 13:27:58 +01:00
Martin Fredin
ad615cc9d8
Document and fix code style
2023-02-18 13:26:41 +01:00
Martin Fredin
a3e57dde7b
Change grammar: only one bind in let and no EAnn for typed syntax
2023-02-18 13:02:25 +01:00
sebastianselander
f188cffb8d
Unification part works (probably). Have a hard time understanding it.
2023-02-17 18:42:50 +01:00
Samuel Hammersberg
7cedc2e28c
Started adding cases to the grammar.
2023-02-17 15:25:06 +01:00
Victor Olin
5f6a18a2ab
Debugged mark()
...
Co-authored-by: ValterMiari <ValterMiari@users.noreply.github.com>
2023-02-17 12:14:11 +01:00
sebastianselander
764faa582b
Remove hls pragmas
2023-02-17 12:01:57 +01:00
sebastianselander
f2e8a02255
Removed adhoc tests
2023-02-17 12:01:22 +01:00
sebastianselander
a9f54dbca1
Simplified quite a bit. Made a unify function. Still bugs left
2023-02-17 11:09:48 +01:00
valtermiari
d40350a263
Some progress on marking
2023-02-17 10:29:48 +01:00
valtermiari
f637a396b7
Fixed sweep
2023-02-16 22:40:43 +01:00
valtermiari
72a044cd59
More debugging
2023-02-16 18:37:02 +01:00
sebastianselander
eafe0fea0b
Rewrote using unification-fd. Heavily inspired (aka copied) from:
...
https://byorgey.wordpress.com/2021/09/08/implementing-hindley-milner-with-the-unification-fd-library/
2023-02-16 16:37:36 +01:00
Victor Olin
5157e6b41d
Continued debugging
...
Co-authored-by: ValterMiari <ValterMiari@users.noreply.github.com>
2023-02-16 16:23:35 +01:00
Victor Olin
fb1e177130
Testing different stack pointers
2023-02-16 15:22:26 +01:00
Martin Fredin
d345ccb33b
Fix import statement
2023-02-16 14:22:40 +01:00
Samuel Hammersberg
ab34666484
Fixed types on functions in the code generator.
2023-02-16 14:16:08 +01:00
Samuel Hammersberg
6d9c42a03e
Got higher order functions working.
2023-02-16 13:36:45 +01:00
Samuel Hammersberg
46c6f5b7ab
Fixed scoping of function pointers.
2023-02-16 11:17:45 +01:00
Samuel Hammersberg
5680334fde
Fixed some small issues.
2023-02-16 10:03:25 +01:00
Martin Fredin
7ef7090aa5
Merge llvm_testing, and use TypeCheckerIr instead of Abs
2023-02-16 02:17:07 +01:00
Samuel Hammersberg
8d698cecf9
Fixed some merge errors that occured when merging with main
...
Started implementing EApp.
Simple function calls now work.
Removed the LLVM standard library as it was not needed.
Limited functionality.
Got EApp working!!
Fixed arguments being inserted in the wrong order.
Updated the showing of `Call` so that it inserts a space inbetween arguments.
Removed some unused code from the generated main functions.
Force removed language.
Expressions that are simply just calling a constant now work properly.
Fixed constants being called inside nested expressions.
Cleaned up the compiler a bit.
Added a test suite, testing that the output from programs is correct, "evaluating the whole process".
Fixed a typo in basic-4.sf
Fixed basic-8 to work without a renamer.
Fixed some nicer output in the main function.
Made the outputted LLVM Ir somewhat nicer.
Fixed a typo and updated how SetVariable works.
Formatted and added documentation.
Added instructions allowing for branching.
2023-02-16 00:16:44 +01:00
Martin Fredin
210e55bb15
Adjust old type checker to new syntax, and refactor lambda lifter to use typed AST
2023-02-15 23:55:16 +01:00
sebastianselander
f1b77a7efa
Refactored. Cleaner version, ala Martin version
2023-02-15 19:52:52 +01:00
sebastianselander
b03df17e34
Minor changes. Added a comment
2023-02-15 18:10:28 +01:00
sebastianselander
7619e36c60
Inference works better now. Still work to do. Should use proper library
2023-02-15 17:40:18 +01:00
Victor Olin
c05bf76662
Started testing the GC
...
Co-authored-by: ValterMiari <ValterMiari@users.noreply.github.com>
2023-02-15 16:57:11 +01:00
valtermiari
f8d761411d
Some configurations
2023-02-15 10:42:27 +01:00
valtermiari
634050c094
Some small test features
2023-02-15 10:40:35 +01:00
sebastianselander
ad3f6b7011
Attempt at fixing EApp, failed.
2023-02-14 22:35:00 +01:00
sebastianselander
5d247057f5
Minor rewrite of tc. Some bugs still left
2023-02-14 22:03:56 +01:00
sebastianselander
6218efac20
Renamer done.
...
It renames bound variables to numbers, converts let to lambda, and
removes all variables from binds
2023-02-14 16:44:38 +01:00
Rakarake
514c809b1e
Pinned nix channel, made makefile not error
2023-02-14 15:47:36 +01:00
Victor Olin
31bc719e74
Next up is tests
...
Co-authored-by: ValterMiari <ValterMiari@users.noreply.github.com>
2023-02-14 15:11:58 +01:00
sebastianselander
53314551f5
A bit cleaner code. A renamer is the focus to make the tc simpler
2023-02-14 12:56:07 +01:00
Victor Olin
deed239879
Almost finished w/ 1st impl of GC
2023-02-14 11:48:04 +01:00
Victor Olin
7fd324a5b2
Almost finished with 1st impl of GC
...
Co-authored-by: ValterMiari <ValterMiari@users.noreply.github.com>
2023-02-14 11:47:52 +01:00
sebastianselander
200a9e57ed
Fixed EId, more work on other expressions needed
2023-02-14 10:12:38 +01:00
sebastianselander
c10d7703ad
Progression on type checker ;)
2023-02-13 19:03:06 +01:00