ed9f309306
add type alias for HashMapSubst
2025-06-01 16:23:17 +02:00
08a9bad0ad
add Substitution trait
2025-06-01 16:21:39 +02:00
fab6818fe9
Merge branch 'topic-subtype-satisfaction' into dev
2025-06-01 15:33:56 +02:00
63eb4798ac
work on subtype satisfaction
...
- correctly propagate error
- in case of subtype between two ladders, check that the matching sub-ladders end at the same bottom rung (to exclude trait-types from sub-types)
- rewrite subtype satisfaction of ladders to work from bottom up
- add more tests
2025-06-01 14:36:23 +02:00
a2fc025eea
add (failing) tests for subtype-satisfaction
...
- these tests fail and uncover a bug in the subtype unification algorithm where a trait-relationship is treated as subtype relationship which is not wanted
- add test with variable substitution
2025-06-01 14:36:12 +02:00
229c6193c4
subtype satisfaction: move rhs-variable assignment up in match-priority
2025-06-01 14:25:24 +02:00
82a6a20a31
unification: allow subtype and equality constraints
...
in one problem, solve both at the same time
2025-06-01 14:25:18 +02:00
deb097acd3
term: add get_interface_type() to get the top rung of a ladder
2025-06-01 00:42:32 +02:00
aa67520184
term: add strip() to flatten ladders
2025-06-01 00:39:43 +02:00
c4a26d11da
term: add check if term is empty
2025-06-01 00:35:41 +02:00
9db57488dd
Merge branch 'topic-dict' into dev
2025-06-01 00:33:02 +02:00
e15db9d1f3
type dict: get_typename_create
2025-05-31 22:49:53 +02:00
fb2b54059d
add Send+Sync trait bound to TypeDict
2025-05-31 21:52:32 +02:00
25649084ab
make TypeDict a trait & BimapTypeDict an impl
...
- add TypeDict trait
- impl TypeDict for BimapTypeDict
- add Debug for Bimap & BimapTypeDict
- adapt tests
2025-05-31 21:46:08 +02:00
9906972009
Merge branch 'topic-pretty' into dev
2025-05-31 21:38:49 +02:00
af595bffde
pretty format: use different colors for variables
2025-05-31 21:01:17 +02:00
099ba9b0df
pretty: output escape character for \0 and \n
2025-05-31 21:01:17 +02:00
1b8768894e
fix unification test
2025-05-31 21:00:51 +02:00
d861bba741
Merge branch 'topic-unification' into dev
2025-05-31 20:49:29 +02:00
b502b62479
unification: reject non-identity loops & add test cases
2025-02-15 18:35:38 +01:00
f05ef07589
subtype unification
2025-02-15 18:32:34 +01:00
e17a1a9462
add subtype unification
2025-02-09 16:58:58 +01:00
e53edd23b9
unification: remove unreachable pattern
2025-02-09 13:13:56 +01:00
3c5d7111bc
Merge branch 'fix-pnf' into dev
2025-02-09 12:42:40 +01:00
a9a35aed1b
rewrite param_normalize()
2025-02-09 12:42:24 +01:00
4a6a35a897
pnf: add test for collapsing first application argument
2025-02-09 12:42:23 +01:00
4aa62d4813
Merge branch 'topic-sugar' into dev
2025-02-09 12:40:11 +01:00
c6bad6046a
add sugared terms & pretty printing
2025-02-09 12:38:07 +01:00
c03db48fd2
TypeID: add Copy trait
2025-02-09 12:38:04 +01:00
a4837038e6
Merge branch 'topic-parameter-normal-form' into dev
2024-08-05 00:11:12 +02:00
658134d56a
readme: add syntax description and roadmap
2024-05-01 17:44:42 +02:00
02d8815acd
add param_normalize() to get Parameter-Normal-Form (PNF)
2024-05-01 15:10:29 +02:00
d7502e6af8
add gitignore
2023-12-02 17:03:27 +01:00
0fb3f6e212
parser test: also test variable-ids
2023-11-11 16:26:58 +01:00
bd21a602f3
unification
2023-11-11 16:26:30 +01:00
5919b7df1f
wip unification
2023-10-31 16:26:54 +01:00
74177d1d30
substitutions
2023-10-30 17:22:00 +01:00
aacafb318a
README: minor improvements
2023-10-03 05:11:56 +02:00
f45593cfd5
lnf: remove unnecessary mut
2023-10-03 03:35:29 +02:00
45f49378fa
is_syntactic_subtype(): remove option in Err variant
2023-10-03 03:34:55 +02:00
29d1acd681
implement unparse()
2023-10-03 03:30:38 +02:00
167da369af
improve README
2023-10-03 01:42:05 +02:00
3b944d15c8
add more subtype test-cases & fix normalize in case of normalizing sub-ladders
2023-10-02 19:16:20 +02:00
ccd60fc7bf
implement subtype checks
2023-10-02 18:58:39 +02:00
3014213aa7
add more complex normalization test & fix normalization of application arguments
2023-10-02 18:57:49 +02:00
7b22bdc170
implement ladder normalization
2023-10-02 18:48:04 +02:00
61c06d5d03
fix warnings
2023-10-02 15:15:58 +02:00
c96218e318
README: add small code example
2023-10-02 15:09:59 +02:00
c7585f353a
make decoration comment style consistent
2023-10-02 15:07:42 +02:00
e60c60cbff
parser: remove FromStr & always improve parse() function
2023-10-02 15:05:25 +02:00