Add comparable typevar constraints #881
Open
ghallak wants to merge 15 commits from
ghallak/229 into master
pull from: ghallak/229
merge into: :master
:master
:uw-aci
:prh-docs-fix
:uw-mldsa-crypto
:uw-rename-fix-deps
:bump_gmserialization
:zomp
:ceres
:gh-pages
:gh-485
:dependabot/pip/dot-github/workflows/pygments-2.15.0
:old_ceres
:ghallak/split-typechecker
:gh-400
:new_ceres
:loop-op
:type-env
:ghallak/229
:option-force-msg
:6.0.2
:lima
:call-fee
:fix-ets
:mergesort
:lima-master-merge
:optionally_generate_aci
:changelog-update
:make-return-reserved-word
:radrow-patch-2
:aens-subdomains
:aens-at-full-node-ver
:pt-166866806-claim-with-name-fee
:extend-aci-interface
:generalized_accounts_no_abi_move
:roma
:quickcheck-ci
No Reviewers
Labels
Clear labels
WIP
bug
consensus-breaking
dependencies
documentation
duplicate
effort: high
effort: low
effort: medium
effort: trivial
enhancement
good first issue
help wanted
invalid
maintenance
question
task/feature
todo-in-rewrite
wontfix
bug
duplicate
enhancement
help wanted
invalid
pig lipstick
question
wontfix
Something is not working
This issue or pull request already exists
New feature
Need some help
Something is wrong
Muggle-facing enhancements
More information is needed
This won't be fixed
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: QPQ-AG/sophia#881
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Fixes: #229
Created by: radrow
Good opportunity to actually give some example address here
Created by: radrow
formatting
Created by: radrow
Where are eq_constraint_types?
Created by: radrow
Please write tests for type inference:
Created by: radrow
I would use less "judging" language and more "factful". Also, restructured a little bit.
Created by: radrow
After some thinking I think comparing addresses makes sense. It can be useful if you keep a list of addresses and want to ensure the order by sorting it
Created by: radrow
Please add versions of
insert_byandsort(and possibly others) that instead of taking a comparison lambda, rely on the constraintsCreated by: radrow
Review: Commented
Update fold in aeso_syntax_utils
Created by: radrow
Remember that you actually can reuse the existing definitions by just applying them with a lambda
Done here
ea98fc97bbDone here
9d296f04cbThere is no such table as I didn't find a use for it, if all
ids are comparable by equality, what should go in that table?Created by: radrow
I don't get why there is a need for a table for
ordbut not foreq. Would you explain why one is needed and the other is not?Since all types of the form
{id, _, Id}are compared byeq, there is no need to store all of them in a table, but not all types of the above form are compared byordso I only need to store that.So checking if
{id, _, "int"}is comparable byordwill only succeed because"int"is in the tableord_constraint_types, but checking if any other type of the form{id, _, Id}is comparable byeqwill always succeed.Done here
fc2875965eWill have to modify the tests for that.
Check this commit that made
addresscomparable byordfc2875965e.Fixed the tests here
4562a7166cView command line instructions
Checkout
From your project repository, check out a new branch and test the changes.