rise-lang / shine

The Shine compiler for the RISE language

Home Page:https://rise-lang.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Directly apply the substitutions to constraints

umazalakain opened this issue · comments

I wonder if we could also alternatively directly apply the required substitutions (na -> n and nb -> n) where necessary and only generate 1 constraint instead of 3 here. Something like:

val n = NatIdentifier(freshName("n"))
decomposed(Seq(TypeConstraint(
  substitute.natsInType(ta, Map(na -> n)),
  substitute.natsInType(tb, Map(nb -> n))
))), preserve + n)

Originally posted by @Bastacyclop in #174 (comment)