Commit graph

56 commits

Author SHA1 Message Date
8a4b47df02 create dictionary of {Type => {set of instances}} 2025-05-08 22:59:50 +02:00
9e1f679dba pretty print enhancements + comparison of generic functions 2025-05-08 22:59:01 +02:00
bbac7858ae fix some things 2025-05-08 21:30:56 +02:00
d9111c3969 delete more unused code 2025-05-08 17:32:34 +02:00
07d313f938 delete no longer used class 'DefaultMap' 2025-05-08 17:31:35 +02:00
35d682429b turn one example into a test + fix bug in type variable substition function 2025-05-08 17:30:42 +02:00
a664ddac8a simplify: no distinction between generic types and 'normal' types. 2025-05-08 16:58:07 +02:00
b4826605af add dict comparison function 2025-05-07 14:05:57 +02:00
48390b8556 reorganize directory and file structure 2025-05-07 13:44:49 +02:00
1d826ea8d4 parser for types + start moving all types to separate modules 2025-05-06 23:41:12 +02:00
8eec5b9239 recursive types (and operations on them, like pretty-printing, comparison and unification) seem to be working.
big part of the code base still needs to be 'ported' to the updated type constructors.
2025-05-05 17:17:45 +02:00
55c5d7cffa move function 2025-04-20 21:14:40 +02:00
8a4bd44f04 rename some things 2025-04-20 21:09:51 +02:00
e04cac4f7d move function 2025-04-20 11:30:28 +02:00
c1ac3c0d60 add type comparison function 2025-04-20 11:24:05 +02:00
3be17c1148 doc 2025-04-18 09:14:55 +02:00
c51e517b66 fix missing return stmt 2025-04-18 09:14:42 +02:00
28f60e77be rename dir scripts -> examples 2025-04-18 09:14:09 +02:00
bc9dce4b9c move test to separate file 2025-04-17 16:48:17 +02:00
4d1fb81492 can auto-generate comparison functions for composed types 2025-04-17 16:43:28 +02:00
0b262daf7f add enum type (generalization of sum-type) 2025-04-17 16:10:00 +02:00
8653bb99c6 restructure code a bit, add comparison functions for primitive types and composed types (needed to put values in sets) 2025-04-17 15:11:06 +02:00
3978f7f835 branching and very basic merging of slots 2025-04-17 09:19:41 +02:00
614e6c0fdb read-dependencies now correctly recorded (i think) 2025-04-16 16:32:06 +02:00
7a5b9d4f38 when chaining functions, properly carry over read-dependencies the functions 2025-04-16 15:44:34 +02:00
248c41e99f experiment with encoding of read- and write-dependencies 2025-04-16 14:51:12 +02:00
c6c49a0966 add purely functional red-black tree benchmark 2025-04-14 18:25:09 +02:00
342d4b34ef fix bug in polymorphic types (when creating a tuple of two empty lists, there was only one type variable (the type of the list), whereas each list could have a different type, so there should be two type variables) + make type variables look nicer 2025-04-04 10:04:40 +02:00
8ac0c6d3dd show generic functions also 2025-04-02 15:57:16 +02:00
4a4983f693 interactive prompt can handle polymorphic types 2025-04-02 15:49:43 +02:00
a0e3aa0cb3 turn the function for creating new types (or type constructors) into a DOPE function 2025-03-31 17:35:30 +02:00
d8ca2f3999 progress and some refactoring 2025-03-31 15:35:02 +02:00
d236eca5e5 move executables to scripts 2025-03-24 17:29:33 +01:00
145835ad5d progress 2025-03-24 17:28:07 +01:00
6af72e525c progress 2025-03-24 08:25:53 +01:00
3596e01c28 interactive prompt 2025-03-23 17:46:39 +01:00
bc91d9bf39 lotta progress 2025-03-23 13:25:47 +01:00
29d20b2273 wip 2025-03-23 09:15:37 +01:00
afd78c3b3e progress 2025-03-22 10:33:35 +01:00
33c156fc5c type inferencing "unifying" operation is now bi-directional + begin writing generic version of "unifying" operation (that should work on all types) 2025-03-20 19:59:24 +01:00
c5ac55b0ff progress with type classes, type inference still very ad-hoc 2025-03-20 18:34:58 +01:00
5283be608b refactor code: move everything from type_registry to "most appropriate" modules 2025-03-20 18:12:30 +01:00
4ca60784aa greatly simplify type registry 2025-03-20 17:29:13 +01:00
303fa869a8 ... got it wrong 2025-03-20 14:14:28 +01:00
9405ba1b4e add String type + use String to make nominal types unique (worse, but more pleasant when debugging) 2025-03-20 14:09:17 +01:00
18b5e56ff0 add nominal types for 2D points 2025-03-20 12:07:31 +01:00
94efde3e65 add interactive prompt 2025-03-20 09:54:11 +01:00
ce192b49f2 move file 2025-03-19 16:13:10 +01:00
fc1a588e23 clean up module generic a bit 2025-03-19 16:01:59 +01:00
a826f475c3 preliminary implementation of polymorphic types and type inferencing 2025-03-19 15:45:13 +01:00