Commit graph

  • f1b77a7efa Refactored. Cleaner version, ala Martin version sebastianselander 2023-02-15 19:52:52 +01:00
  • b03df17e34 Minor changes. Added a comment sebastianselander 2023-02-15 18:10:28 +01:00
  • 7619e36c60 Inference works better now. Still work to do. Should use proper library sebastianselander 2023-02-15 17:40:18 +01:00
  • c05bf76662 Started testing the GC Victor Olin 2023-02-15 16:57:11 +01:00
  • f8d761411d Some configurations valtermiari 2023-02-15 10:42:27 +01:00
  • 634050c094 Some small test features valtermiari 2023-02-15 10:40:35 +01:00
  • ad3f6b7011 Attempt at fixing EApp, failed. sebastianselander 2023-02-14 22:35:00 +01:00
  • 5d247057f5 Minor rewrite of tc. Some bugs still left sebastianselander 2023-02-14 22:03:56 +01:00
  • 6218efac20 Renamer done. It renames bound variables to numbers, converts let to lambda, and removes all variables from binds sebastianselander 2023-02-14 16:44:38 +01:00
  • 514c809b1e Pinned nix channel, made makefile not error Rakarake 2023-02-14 15:47:36 +01:00
  • 31bc719e74 Next up is tests Victor Olin 2023-02-14 15:11:58 +01:00
  • 53314551f5 A bit cleaner code. A renamer is the focus to make the tc simpler sebastianselander 2023-02-14 12:56:07 +01:00
  • deed239879 Almost finished w/ 1st impl of GC Victor Olin 2023-02-14 11:48:04 +01:00
  • 7fd324a5b2 Almost finished with 1st impl of GC Victor Olin 2023-02-14 11:47:52 +01:00
  • 200a9e57ed Fixed EId, more work on other expressions needed sebastianselander 2023-02-14 10:12:38 +01:00
  • c10d7703ad Progression on type checker ;) sebastianselander 2023-02-13 19:03:06 +01:00
  • 73dc2e4b6a Inference on most expressions. HM based. Still have to figure out how to infer type of lambda variables, as well as how function application on polymorphic should work sebastianselander 2023-02-13 12:17:49 +01:00
  • 7c1e1d57a0 Merge remote-tracking branch 'origin/main' into llvm_testing Samuel Hammersberg 2023-02-12 13:17:45 +01:00
  • 9f4c3a3cbf
    Merge pull request #6 from bachelor-group-66-systemf/codegen-martin-4 Samuel Hammersberg 2023-02-12 12:06:49 +00:00
  • 3fe990ceaa Don't run interpreter by default Martin Fredin 2023-02-12 13:01:12 +01:00
  • 818e57ff14 Updated main to use the updated Code Generator. Samuel Hammersberg 2023-02-11 14:14:21 +01:00
  • 5d5a610cca Made compiler state more generic, and compile no longer outputs IO and instead returns the result. Samuel Hammersberg 2023-02-11 14:12:27 +01:00
  • d67eddcf0f Fix interpreter Martin Fredin 2023-02-11 11:04:39 +01:00
  • e212c79a44 Revert back to one lambda par, and fix issues with lambda lifter Martin Fredin 2023-02-11 09:59:26 +01:00
  • 78a3ed56ea Add test Martin Fredin 2023-02-10 16:55:56 +01:00
  • f3600ffdf8 Fix documentation and small things Martin Fredin 2023-02-10 16:44:55 +01:00
  • 5956cdf121 Fix typo Martin Fredin 2023-02-10 11:49:17 +01:00
  • 8688b303ac Fix unnecessary supercombinator issue Martin Fredin 2023-02-10 11:47:07 +01:00
  • ece621b0aa Fix auxiliary path Martin Fredin 2023-02-09 20:25:00 +01:00
  • 8663f2ea50 Some clean up and documenting Martin Fredin 2023-02-09 20:24:25 +01:00
  • 8c094236aa Add auxiliary module Martin Fredin 2023-02-09 20:24:06 +01:00
  • 3d8bd24c7b Fix basic tests Martin Fredin 2023-02-09 20:23:49 +01:00
  • bd792f7785 Add llvm dep Martin Fredin 2023-02-09 20:23:20 +01:00
  • 08917be1c6 Fix first unnecessary supercombinator Martin Fredin 2023-02-09 17:53:39 +01:00
  • 69254f8032 Finish Lambda Lifter Martin Fredin 2023-02-09 06:19:58 +01:00
  • 2a48b7477e Implement lambda lifting passes: freeVars, abstract, and rename Martin Fredin 2023-02-09 05:19:51 +01:00
  • b64b49b1eb Remove files from git Martin Fredin 2023-02-09 05:18:49 +01:00
  • 61efcebc64 Fix conflict Martin Fredin 2023-01-22 20:16:03 +01:00
  • e7ef268c12 Splat LLVM Ir into its own file. Samuel Hammersberg 2023-02-10 16:08:45 +01:00
  • f42ea42273 Goal for next week Victor Olin 2023-02-10 13:47:09 +01:00
  • afd5463310 Worked a bit on the heap Victor Olin 2023-02-10 13:45:53 +01:00
  • a1e9624d5e TTGing the lambda lifter sebastianselander 2023-02-10 12:09:08 +01:00
  • f4f1786be3 Revert "Merge branch 'typechecking' into codegen-martin-3" sebastianselander 2023-02-10 10:41:16 +01:00
  • 771c73c0db
    Merge pull request #5 from bachelor-group-66-systemf/codegen-martin-3 Sebastian Selander 2023-02-10 10:33:50 +01:00
  • e000e5159f Merge branch 'typechecking' into codegen-martin-3 sebastianselander 2023-02-10 10:33:15 +01:00
  • 3ac8377fa0 Fix auxiliary path Martin Fredin 2023-02-09 20:25:00 +01:00
  • 59fb773bc1 Some clean up and documenting Martin Fredin 2023-02-09 20:24:25 +01:00
  • 07bec3e7ef Add auxiliary module Martin Fredin 2023-02-09 20:24:06 +01:00
  • 7c313b3faa Fix basic tests Martin Fredin 2023-02-09 20:23:49 +01:00
  • 23261ec380 Add llvm dep Martin Fredin 2023-02-09 20:23:20 +01:00
  • ce31e4d490 Fix first unnecessary supercombinator Martin Fredin 2023-02-09 17:53:39 +01:00
  • 1637dcd495 Pinned nix commit Rakarake 2023-02-09 15:41:33 +01:00
  • b6ca1781ea Started with a rough structure Victor Olin 2023-02-09 13:18:58 +01:00
  • 7a0ff5d708 Formatted and documented code. Samuel Hammersberg 2023-02-09 09:45:05 +01:00
  • b6f03e953b deprecated branch sebastianselander 2023-02-09 09:42:44 +01:00
  • 7a2404cf74 Finish Lambda Lifter Martin Fredin 2023-02-09 06:19:58 +01:00
  • 1f47288fcf Implement lambda lifting passes: freeVars, abstract, and rename Martin Fredin 2023-02-09 05:19:51 +01:00
  • b669381572 Remove files from git Martin Fredin 2023-02-09 05:18:49 +01:00
  • 84eb430c41 relaxed base dependency and added overwrite sebastianselander 2023-02-03 11:29:42 +01:00
  • 6607173b93 Typo fix (to check access). Patrik Jansson 2023-02-03 11:12:44 +01:00
  • fadb9eed0d A simple mark-sweep implementation valtermiari 2023-02-08 14:10:16 +01:00
  • e74a2288fb Merge branch 'g-collection' of https://github.com/bachelor-group-66-systemf/language into g-collection valtermiari 2023-02-08 14:08:58 +01:00
  • dbbbc725ea Stuck at a conundrum Samuel Hammersberg 2023-02-06 16:49:29 +01:00
  • 721192c242 Started implemented multiple functions. Samuel Hammersberg 2023-02-06 15:44:54 +01:00
  • 7f464339bc init branch Victor Olin 2023-02-05 11:16:11 +01:00
  • d41db9bbb8 Added some more to the comment of binExprToValues Samuel Hammersberg 2023-02-04 15:25:28 +01:00
  • cd47f7dde3 renamed evalToValues to binExprToValues Samuel Hammersberg 2023-02-04 15:21:04 +01:00
  • d779605814 Added the src/Grammar folder to the gitingore. Samuel Hammersberg 2023-02-04 15:12:32 +01:00
  • 66fb77c84e Added some missing math operators Samuel Hammersberg 2023-02-04 15:11:56 +01:00
  • 026949ae7e Added support for subtraction Samuel Hammersberg 2023-02-04 13:20:46 +01:00
  • f8d320bb6d Heavily shorted down the emitAdd function, and added a emitInt function. Samuel Hammersberg 2023-02-04 12:43:47 +01:00
  • 57f8b6ba5b Optimized add even further. Samuel Hammersberg 2023-02-04 11:35:57 +01:00
  • f9c5a520e3 Implemented addition. Samuel Hammersberg 2023-02-04 11:29:59 +01:00
  • 819f4c9406 Made a simple code generator that outputs to LLVM IR Samuel Hammersberg 2023-02-03 16:59:36 +01:00
  • 2a3757f391 relaxed base dependency and added overwrite sebastianselander 2023-02-03 11:29:42 +01:00
  • 8fd7966fd9 Typo fix (to check access). Patrik Jansson 2023-02-03 11:12:44 +01:00
  • be3fcfc9e3 Typeinference/checking on expressions done. sebastianselander 2023-01-24 16:39:22 +01:00
  • defe409d78 Added a comment about the includeStr "macro" Samuel Hammersberg 2023-01-24 11:43:54 +01:00
  • fd64a7e669 Added a function to load the Standard LLVM library at runtime. Samuel Hammersberg 2023-01-24 11:38:33 +01:00
  • 8aaf05bf82 separated the LLVM standard lib into its own file Samuel Hammersberg 2023-01-24 10:21:49 +01:00
  • b6b2dfa25f Some work on a typechecker sebastianselander 2023-01-23 17:17:06 +01:00
  • 213e47097e Split the compiler into it's own module and added a file for the LLVM standard library. Samuel Hammersberg 2023-01-23 16:57:32 +01:00
  • 5524e1ec3e Removed all opaque pointers Samuel Hammersberg 2023-01-23 16:17:54 +01:00
  • 157ff56301 Integers are now properly printed. Samuel Hammersberg 2023-01-23 15:55:48 +01:00
  • 2c17695d3a The i64ToString function is soon done. Samuel Hammersberg 2023-01-23 14:18:11 +01:00
  • 43e0f67fe2 Fix conflict Martin Fredin 2023-01-22 20:16:03 +01:00
  • b389e397b6 Started working on a simple compiler. Samuel Hammersberg 2023-01-22 19:43:08 +01:00
  • 0ae5a9cee0 Switched directories for the test program, added some example LL programs, and gave the Funky programs a temporary extension. Samuel Hammersberg 2023-01-22 19:42:51 +01:00
  • df3bf7c6ab Added the missing Lex and Par file. Samuel Hammersberg 2023-01-22 19:42:14 +01:00
  • d85a0d26b8
    Merge pull request #4 from bachelor-group-66-systemf/make Sebastian Selander 2023-01-22 19:08:11 +01:00
  • 787dbd85db Add Makefile, add remove Grammar dir Martin Fredin 2023-01-21 19:44:22 +01:00
  • 2b85eef81d
    Merge pull request #2 from bachelor-group-66-systemf/basic Samuel Hammersberg 2023-01-20 15:15:50 +00:00
  • 499ced914c Fix judgment Martin Fredin 2023-01-20 14:16:18 +01:00
  • 64ee4dc432 Implement basic interpreted language Martin Fredin 2023-01-20 14:12:04 +01:00
  • d28aa9fc5d Update .gitignore Martin Fredin 2023-01-20 14:11:19 +01:00
  • 92bb18a568 Update cabal file Martin Fredin 2023-01-20 14:00:12 +01:00
  • bbb54d683a Add bnfc dependencies Martin Fredin 2023-01-20 09:50:35 +01:00
  • bd845f023d
    Merge pull request #1 from bachelor-group-66-systemf/dev-env Samuel Hammersberg 2023-01-18 10:56:57 +00:00
  • 53be0594ae Changed to fourmolu default settings sebastianselander 2023-01-17 14:57:30 +01:00
  • 7caadcbeb9 Use src instead of app Martin Fredin 2023-01-17 15:34:32 +01:00