Git Product home page Git Product logo

Comments (5)

yairchu avatar yairchu commented on May 30, 2024 1

Another way of describing it, is that just like we find ourselves needing mutually recursive AST types, we also sometimes find ourselves in the same situation with the fix-points. And this approach enables the same power for both.

from hypertypes.

yairchu avatar yairchu commented on May 30, 2024

At one point, there is the sentence: "Some extensions we use but would like to avoid (we're looking for alternative solutions but haven't found them):", but then there is nothing following the colon.

Oh, yes that accidentally remained from when we've used UndecidableSuperClasses. Fixed now, thanks!

And something I started wondering about: how does the hypertypes approach compare to the "HKD for nested structures" approach?

The only listed drawback of the latter is that Rank2.Functor doesn't work for it. Ok. (Could you write a separate class?) But apart from that...

...
If I were to hazard a very rough guess, maybe the HKD approach is fine as long as you only want to alter the shape in "regular" ways, in some sense, while hypertypes in addition lets you do fancy tricks with the underlying fixpoints...?

A few more simple examples of things that you can't do with "HKD for nested structures":

Don't know whether those count as fancy tricks.

A bit further down, "one would have to declare an explicit expression type for each expression type for use as ...". Was a sentence fragment accidentally duplicated here? (If not, maybe it's just a bit confusing.)

I'll look into whether I can word it better.

from hypertypes.

yairchu avatar yairchu commented on May 30, 2024

A bit further down, "one would have to declare an explicit expression type for each expression type for use as ...". Was a sentence fragment accidentally duplicated here? (If not, maybe it's just a bit confusing.)

I changed the wording now, is it better?

from hypertypes.

glaebhoerl avatar glaebhoerl commented on May 30, 2024

Yeah I think so!

Don't know whether those count as fancy tricks.

This is the kind of thing I was suspecting might be the case yeah. (I don't know if "fancy tricks" is the right term either, it's just the one that came to mind.) Thanks for elaborating!

from hypertypes.

yairchu avatar yairchu commented on May 30, 2024

Another way of describing it, is that just like we find ourselves needing mutually recursive AST types, we also sometimes find ourselves in the same situation with the fix-points. And this approach enables the same power for both.

from hypertypes.

Related Issues (16)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.