Commit graph

  • 804d0da167 Check number of arguments in pattern match Martin Fredin 2023-04-24 10:10:15 +02:00
  • 25075ccaac added simple script for running benchmarks sebastianselander 2023-04-20 15:36:36 +02:00
  • 4bd5801c97 Removed traces Rakarake 2023-04-18 15:52:33 +02:00
  • 2611ddc2b2 Fixed wrong handeling of EAdd in monomorphizer, as well as more documentation and cleanup Rakarake 2023-04-18 15:48:25 +02:00
  • 7ab0e65981 removed minor thing in EAdd sebastianselander 2023-04-17 16:05:23 +02:00
  • a23269f907 Fixed small bug in monomorphizer Rakarake 2023-04-17 15:53:16 +02:00
  • c2bf6312f6 Monomorphizer now outputs constructors that are matched on but not created Rakarake 2023-04-12 16:36:22 +02:00
  • 0ab13e5979 Fixed the ordering of data types. Samuel Hammersberg 2023-04-12 15:15:38 +02:00
  • 2b7715714e Use better names Martin Fredin 2023-04-11 18:56:53 +02:00
  • 9730552eab Remove parenthesis from EAnn Martin Fredin 2023-04-11 13:46:54 +02:00
  • a109b3010d Fix bad inference on case expression, and make pretty for report Martin Fredin 2023-04-08 21:52:57 +02:00
  • 29de6c49e4 Fix naming Martin Fredin 2023-04-08 13:39:00 +02:00
  • 9cb4a620bb Fix redundant print paren Martin Fredin 2023-04-08 13:38:30 +02:00
  • c9e2bc2278 Cleaned up include guards Victor Olin 2023-04-07 20:40:01 +02:00
  • 21b1ba7b1f Replaced # with $ Samuel Hammersberg 2023-04-07 16:01:23 +02:00
  • 9c699ecb63 Fixed output of monomorphizer in main Rakarake 2023-04-06 14:29:30 +02:00
  • 0d30cb80e0 removed pretty printing of tvars sebastian 2023-04-06 14:19:54 +02:00
  • e7cd3b2c3a
    Added README section about Nix Rakarake 2023-04-06 14:12:45 +02:00
  • 90352449f4 added todo for semi monomorphization sebastianselander 2023-04-05 18:25:41 +02:00
  • 05ea23d22c Fix test error message Martin Fredin 2023-04-05 17:41:17 +02:00
  • 9870802371 Add implicit foralls for bidir, update and unify pipeline Martin Fredin 2023-04-03 17:34:33 +02:00
  • 12bca1c32d Added small comment about incorrect subtyping sebastianselander 2023-04-05 12:56:57 +02:00
  • c6e0e40ef1 Monomorphizer now monomorphizes data Rakarake 2023-04-05 03:03:42 +02:00
  • 5e5d258bb1 Update readme with identation syntax Martin Fredin 2023-04-03 12:31:29 +02:00
  • 077f76eb12 Separate make file actions Martin Fredin 2023-04-03 12:24:22 +02:00
  • e5dc28b282 Add pdf of grammar Martin Fredin 2023-04-03 12:11:21 +02:00
  • a1b1343d67 Add latex file Martin Fredin 2023-04-03 12:04:52 +02:00
  • 03bb6a8534 Fix sample-program Martin Fredin 2023-04-03 09:42:14 +02:00
  • c998241c65 Fix tests Martin Fredin 2023-04-03 09:39:24 +02:00
  • 0d6c5920a9 Fix type checker Martin Fredin 2023-04-03 09:24:27 +02:00
  • cc5755c3a9 Add layout grammar Martin Fredin 2023-04-03 09:24:13 +02:00
  • bd02f52795 Fixed structure a bit morer sebastian 2023-04-02 13:48:11 +02:00
  • faffb2744e Fixed structure a bit more sebastian 2023-04-02 13:47:35 +02:00
  • 6a2ebf4ecd Fixed structure a bit sebastian 2023-04-02 13:46:46 +02:00
  • 03a486410f Added somewhat detailed README sebastian 2023-04-02 13:42:47 +02:00
  • aaaff776e0 Add some boiler plate for warnings sebastian 2023-04-02 00:42:42 +02:00
  • 6c180554ec Reworked order of inference, added prettifier for tvars etc etc. sebastian 2023-04-02 00:04:33 +02:00
  • ec8d554af1 Disabled shadowing in pattern match with nice error message, added aux functions sebastian 2023-04-01 18:45:08 +02:00
  • 4b14cbdebf reverted Hindley-Milner type checker to before mutual recursion merge sebastian 2023-04-01 17:10:26 +02:00
  • ec57712eec Fixed bad names after monomorphizer Rakarake 2023-03-31 19:43:05 +02:00
  • c6173c0077 Plus now working in monomorphizer Rakarake 2023-03-31 19:25:48 +02:00
  • b8f717f39f Merge branch 'monomorphizer-data' into pattern-matching-with-typechecking Rakarake 2023-03-31 18:59:05 +02:00
  • 00e23a16dd Monomorphization of datatypes done! Rakarake 2023-03-31 18:58:33 +02:00
  • 0749ca062d Merge in mutual recursion handling sebastianselander 2023-03-31 18:28:04 +02:00
  • b7420b5adb Merge in mutual recursion handling sebastianselander 2023-03-31 18:27:30 +02:00
  • c4f78ca37d Merge in mutual recursion handling sebastianselander 2023-03-31 18:26:58 +02:00
  • e2e469d84e Added some examples that were shown to our handledare. Samuel Hammersberg 2023-03-31 18:17:28 +02:00
  • b0ec5a2333 Started working on a Case Desugar phase. Samuel Hammersberg 2023-03-31 18:16:26 +02:00
  • 15c18271ba Monomorphizer, fixed problem with type of bind Rakarake 2023-03-31 17:53:56 +02:00
  • d097cd28e8 New morb tree for internal use in monomorphizer, data types implemented Rakarake 2023-03-31 17:02:54 +02:00
  • 7d2a0e60d8 Fixes Martin Fredin 2023-03-30 19:07:12 +02:00
  • 72352d9619 Use use tevars for bind without type signatures, fix recursive functions Martin Fredin 2023-03-30 18:46:37 +02:00
  • 4831205e67 Remove incorrect test Martin Fredin 2023-03-30 12:49:27 +02:00
  • 5d2c0e787e The compiler is now compiled with O3. Samuel Hammersberg 2023-03-30 15:08:40 +02:00
  • 9b38c6d804 Main now prints the exit code of the program, as Haskell likes to hide segfaults. Samuel Hammersberg 2023-03-30 12:37:24 +02:00
  • b3525db7fd Integrated the garbage collector. Samuel Hammersberg 2023-03-30 12:31:03 +02:00
  • bbe0d77a19 Add signature of inferred bind to allow some mutually defined definitions Martin Fredin 2023-03-30 12:35:47 +02:00
  • a37a52d9f8 Apply env to return type. fixes #14 Martin Fredin 2023-03-30 11:49:13 +02:00
  • 2851c408d1 Added the updated GC. Samuel Hammersberg 2023-03-30 11:41:10 +02:00
  • c4477d3df4 moved some funcs to aux, added a universal definition of int and char, updated usages in both tcs sebastianselander 2023-03-30 11:38:06 +02:00
  • 59676605cd moved injections back to state sebastianselander 2023-03-30 10:55:01 +02:00
  • c34041860d duplicate signatures / declarations correct sebastianselander 2023-03-30 10:21:04 +02:00
  • cdca49354a Merge branch 'g-collection' of https://github.com/bachelor-group-66-systemf/language into g-collection valtermiari 2023-03-30 08:51:05 +02:00
  • 17fd56ef7e Start of wrapper test valtermiari 2023-03-30 08:48:33 +02:00
  • c4931c3996 Fixed bug in EApp, cleaned a bit, added todo for disallowing mutual recursion sebastian 2023-03-29 22:59:21 +02:00
  • aa1ff630a5 Fix double vars Martin Fredin 2023-03-29 22:48:26 +02:00
  • 01c93a631f Wrapper docs Victor Olin 2023-03-29 21:27:47 +02:00
  • 343be08a4a Tried solving bug, failed, added todo message, fixed printing sebastianselander 2023-03-29 18:47:14 +02:00
  • 61f364cd75 Splat up the codegenerator a bit. Samuel Hammersberg 2023-03-29 17:34:47 +02:00
  • 36b6a8f781 removed trace sebastianselander 2023-03-29 17:32:21 +02:00
  • 4efe7cf9a2 inference does not depend on order. mutual recursion still not working correctly sebastianselander 2023-03-29 17:30:31 +02:00
  • 29fcddf44c Data defs in monomorphizer output environment Rakarake 2023-03-29 17:05:56 +02:00
  • 53589e8d50 Made the output from running the compiler a bit clearer. Samuel Hammersberg 2023-03-29 16:54:30 +02:00
  • d26bde6a7f Added a fun Maybe example! Samuel Hammersberg 2023-03-29 16:47:52 +02:00
  • d4115fd2f5 Monomoprhizer handles new types Rakarake 2023-03-29 16:45:30 +02:00
  • c59cd02361 Lift lambdas in the scrutinized expression Martin Fredin 2023-03-29 16:37:52 +02:00
  • 12816ea9de Wrapper works Victor Olin 2023-03-29 16:05:54 +02:00
  • 2f12fdd7e2 Removed a trace. Samuel Hammersberg 2023-03-29 15:29:53 +02:00
  • 16aa1be309 Wrapper for GC finished, untested Victor Olin 2023-03-29 15:13:24 +02:00
  • f69151a7ce Fixed a bug with pattern matching on literals. Samuel Hammersberg 2023-03-29 15:12:33 +02:00
  • 82f1b38f1b Removed the Tjabatjena comment that the compiler generated. Samuel Hammersberg 2023-03-29 14:41:52 +02:00
  • 100b7b113a We got pattern matching on data types! Samuel Hammersberg 2023-03-29 14:31:24 +02:00
  • 2860d47f11 Case expressions implemented in monomorphizer Rakarake 2023-03-29 13:48:00 +02:00
  • 4755f434fd Add test for pattern matching on recursive data types, and remove traces Martin Fredin 2023-03-29 11:25:45 +02:00
  • 52db1943bb Finished new check pattern Martin Fredin 2023-03-29 11:12:33 +02:00
  • 76b1c55065 Progress Martin Fredin 2023-03-28 15:33:03 +02:00
  • 133cc31e77 Fix lambda lifter Martin Fredin 2023-03-28 14:36:43 +02:00
  • 528369c95c Progress on new checkPattern Martin Fredin 2023-03-27 23:55:04 +02:00
  • ee53759ca5 Started working on a C wrapper Victor Olin 2023-03-29 08:31:34 +02:00
  • f20b80cab3 added skomeliation on given type signatures sebastian 2023-03-28 23:19:04 +02:00
  • 7c5041d270 added this stupid complex bug to Bugs.md sebastian 2023-03-28 21:52:09 +02:00
  • 9e6fe454ce reverted back to most close to correct version sebastianselander 2023-03-28 17:57:44 +02:00
  • d8a75d6643 Solved 30+ WARNINGS!! 😎 Samuel Hammersberg 2023-03-28 17:49:47 +02:00
  • c77139dfa8 Added a Malloc instruction. Samuel Hammersberg 2023-03-28 17:47:43 +02:00
  • 230a205965 Fixed wrongly typed functions in the code generator. Samuel Hammersberg 2023-03-28 17:37:29 +02:00
  • e87e2d3870 sneaky buggy fixy sebastianselander 2023-03-28 17:33:14 +02:00
  • 8910d8adc0 temporary commit incase of breakage sebastianselander 2023-03-28 17:13:51 +02:00
  • 91d6332dc5 Fixed removed args in tree after monomorphizer Rakarake 2023-03-28 17:14:55 +02:00
  • 92a2ff3235 Fixed a broken path. Samuel Hammersberg 2023-03-28 17:13:38 +02:00
  • 4809cad1cb Fixed chars. Samuel Hammersberg 2023-03-28 16:54:11 +02:00