HNNewShowAskJobs
Built with Tanstack Start
Hazel: A live functional programming environment with typed holes(github.com)
72 points by azhenley 4 days ago | 17 comments
  • dang4 days ago

    Related. Others?

    Hazel: A live functional programming environment featuring typed holes - https://news.ycombinator.com/item?id=42004133 - Oct 2024 (86 comments)

    Hazel: A live functional programming environment featuring typed holes - https://news.ycombinator.com/item?id=24299852 - Aug 2020 (14 comments)

  • bitbasher4 days ago

    Hazel is also the name of Cherno's game engine.[1]

    1: https://hazelengine.com/

  • Awtem4 days ago

    i love it. That being said, please show some examples and screenshots on the homepage and github's Readme.

    • disconcision4 days ago |parent

      unfortunately the best source for examples and screenshots at the moment might be a search of my twitter feed: https://x.com/search?q=from%3Adisconcision%20hazel ... we need to update the website

      • toomim4 days ago |parent

        Ok, but those are excellent screenshots-- better than most projects' official screenshot lists!

      • malcolmgreaves3 days ago |parent

        Unfortunately no one can see these unless they log in to Twitter :(

        • disconcision3 days ago |parent

          this might work https://nitter.space/disconcision/search?q=from%3Adisconcisi...

  • burnt-resistor4 days ago

    Missed opportunity to call it "Donut". ;o)

  • dub_gui4 days ago

    The live demo is super cool! https://hazel.org/build/dev/

    • pjmlp2 days ago |parent

      Yes, especially the interactivity that it offers, while clicking around the code.

  • andsoitis4 days ago

    > typed-hole-driven development.

    every hole has a type

    drive the type, drive the hole

    the bigger the hole, the bigger the type

  • Asraelite4 days ago

    I only skimmed the paper, but how do holes in the type system differ from e.g. `!` in Rust or `never` in TypeScript?

    • 7h3kk1d2 days ago |parent

      Never in TypeScript is the equivalent of "bottom" where a value can never appear. The type holes in hazel are for incomplete types (during development) and work more like the any type in typescript where they are consistent with every value.

  • eterps4 days ago

    It would be incredibly interesting to see how LLM code generation would hook into this.

    • gregtc4 days ago |parent

      This is a paper about Chat LLMs in Hazel: https://arxiv.org/abs/2409.00921

      • disconcision4 days ago |parent

        llm hole filling ala the paper is actually live in the dev version right now (if you enter an openrouter API key in the second sidebar tab). it's slow and buggy at the moment though, it's only been running at all for the last few days

  • PontingClarke2 days ago

    [dead]