Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sketch a TType replacement for all judgements #420

Draft
wants to merge 2 commits into
base: devel
Choose a base branch
from

Conversation

saem
Copy link
Collaborator

@saem saem commented Aug 18, 2022

Summary

  • what changed and how?
  • why are we changing it?

Details

  • info that couldn't fit into the summary
  • relevant details; tricky parts
  • anything else

Fixes full_issue_url


Reminder for Saem:

Copied text:

proc identity(x: openArray[int]): openArray[int] = x

let a = identity([1, 2])
let b = identity(@[1, 2])

# both `a` and `b` are of the same type, e.g. `openArray[int]`.
# the types have no knowledge about which sequence-like type
# they are "viewing" into. That is, it is not possible (nor should it be)
# to deduce that the type of the underlying storage container was a
#`seq` by just looking at the type of `b`

@saem saem force-pushed the saem-exp-type-system-rework branch from 0116c48 to b690134 Compare September 10, 2022 17:20
`openArray` is no longer a monomorph, instead it's a concrete type.
@haxscramper haxscramper added compiler General compiler tag compiler/sem Related to semantic-analysis system of the compiler old-poc Old Proof-of-Concept implementation. Wasn't intended to be merged anyway, closed to reduce clutter labels Nov 20, 2022
@haxscramper haxscramper added this to the Sem phase refactoring milestone Nov 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler/sem Related to semantic-analysis system of the compiler compiler General compiler tag old-poc Old Proof-of-Concept implementation. Wasn't intended to be merged anyway, closed to reduce clutter
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants