Skip to content

Conversation

@VSteveHL
Copy link
Collaborator

@VSteveHL VSteveHL commented Sep 1, 2025

I don't fully understand the type inference mechanism. I mimicked the define and lambda rules to write the inference rules for define* and lambda*, delegating the task of extracting the index-nodes corresponding to the parameters to a new function. I'm not sure if this implementation is correct.

try to add type define* for process
[(? symbol? expression)
index-node]
[(? pair? expression)
(car (index-node-children index-node))])))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here, you should make (cadr (index-node-children index-node)) type annotation. Because it usually denote spefici identifier-reference.
And then, you can
(extend-index-node-substitution-list (car (index-node-children index-node)) (cadr (index-node-children index-node))

@ufo5260987423 ufo5260987423 merged commit b0d783c into MoganLab:main Sep 7, 2025
1 check passed
@VSteveHL VSteveHL deleted the pr/type branch September 26, 2025 06:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants