tag:blogger.com,1999:blog-5145015724555605651.post7878621489031002220..comments2023-03-02T00:29:46.741-08:00Comments on The Alien Tongue: equirecursive typesSam Rushinghttp://www.blogger.com/profile/13115847299260965994noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-5145015724555605651.post-3376197507242901932010-10-26T17:52:06.918-07:002010-10-26T17:52:06.918-07:00Ok, that approach seems to work. At least, it com...Ok, that approach seems to work. At least, it compiles a relatively large source file successfully. And interestingly, the types are more detailed than they were with the constraint solver (because I had to actually detect recursion in types).<br /><br />The new code is about 20X faster than the constraint solver, and less than half the size. Fingers crossed that it's correct.Sam Rushinghttps://www.blogger.com/profile/13115847299260965994noreply@blogger.comtag:blogger.com,1999:blog-5145015724555605651.post-10630782991844464532010-10-26T16:07:40.653-07:002010-10-26T16:07:40.653-07:00What I'm trying today: detect cycles in apply_...What I'm trying today: detect cycles in apply_subst(), and have it return a 'μ' encoding of the resultant type. I'm hoping this will then magically make the problem go away, in the same way that isorecursive types do.Sam Rushinghttps://www.blogger.com/profile/13115847299260965994noreply@blogger.com