Skip to content

Conversation

@Kmeakin
Copy link
Contributor

@Kmeakin Kmeakin commented Feb 6, 2023

  • Move duplicated logic for synth/checking let terms into synth_let_def and add LetDef struct.
  • Replace some uses of let initial_len = self.local_env.len(); ...; self.local_env.truncate(initial_len) with self.with_scope(|this| ...)
  • Use new Builder to avoid repeating self.scope.to_scope(...)
  • Use for loops to reduce repetition when defining prims
  • Move recursion logic in surface::elaboration::order into surface::Term::walk_child_terms

Hopefully this helps with some of the pain mentioned in #488

@Kmeakin Kmeakin force-pushed the elaboration-cleanup branch 3 times, most recently from 4115b05 to 27e656a Compare February 6, 2023 04:12
@Kmeakin Kmeakin marked this pull request as ready for review February 6, 2023 06:20
@Kmeakin Kmeakin force-pushed the elaboration-cleanup branch 12 times, most recently from fac455c to 49c2156 Compare February 13, 2023 03:57
@Kmeakin Kmeakin force-pushed the elaboration-cleanup branch from 49c2156 to a40a259 Compare February 17, 2023 02:40
@Kmeakin Kmeakin force-pushed the elaboration-cleanup branch from a40a259 to 1e87604 Compare February 17, 2023 05:05
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.

1 participant