TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Hazel: A live functional programming environment featuring typed holes

234 pointsby deepakkarki7 months ago

16 comments

mmastrac7 months ago
This is semi-related to one of the killer features of Eclipse that never really made it into any large-scale systems: the ability to run incomplete or broken code. The Eclipse Compiler for Java had a special feature that it could generate bytecode for nearly any file, including those that were utterly broken. It would mostly work, and you could incrementally work on unit tests alongside the code being developed.<p>It was honestly one of the most productive environments I ever worked in, and I&#x27;m somewhat sad nobody else has implemented this.
评论 #42015591 未加载
评论 #42012894 未加载
评论 #42017379 未加载
评论 #42015153 未加载
评论 #42012522 未加载
评论 #42013028 未加载
评论 #42011642 未加载
评论 #42020990 未加载
agentultra7 months ago
Haskell has type holes. There are plugins that give you code actions to complete them, split case, etc. I love type holes.<p>Agda has them too and they&#x27;re more powerful there: <a href="https:&#x2F;&#x2F;agda.readthedocs.io&#x2F;en&#x2F;latest&#x2F;language&#x2F;lexical-structure.html#holes" rel="nofollow">https:&#x2F;&#x2F;agda.readthedocs.io&#x2F;en&#x2F;latest&#x2F;language&#x2F;lexical-struc...</a>
评论 #42012130 未加载
评论 #42012730 未加载
disconcision7 months ago
happy to answer hazel questions; ive been working on hazel as cyrus&#x27; phd student for the last four years, and am currently working on moldable projectional interfaces for live programming in hazel. here are some of the things ive added to hazel: <a href="https:&#x2F;&#x2F;github.com&#x2F;hazelgrove&#x2F;hazel&#x2F;pulls?q=is%3Apr+author%3Adisconcision">https:&#x2F;&#x2F;github.com&#x2F;hazelgrove&#x2F;hazel&#x2F;pulls?q=is%3Apr+author%3...</a><p>and here&#x27;s me speaking last week about using typed holes and the hazel language server to help provide code context for LLM code completion: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=-DYe8Fi78sg&amp;t=12707s" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=-DYe8Fi78sg&amp;t=12707s</a>
评论 #42014762 未加载
评论 #42016241 未加载
评论 #42015192 未加载
dang7 months ago
Related. Others?<p><i>Hazel: A live functional programming environment featuring typed holes</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=24299852">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=24299852</a> - Aug 2020 (14 comments)<p>Also:<p><i>Tylr: Demo of tile-based editing, a new kind of structure editing</i> - <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=27926758">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=27926758</a> - July 2021 (40 comments)
vosper7 months ago
I like the way the code examples work: A live editor with documentation that shows up on the right hand side (click the Play with Hazel) button.<p>But does it any more than a live editor and type checker? Can you actually create a program that does something?
评论 #42012635 未加载
sheepscreek7 months ago
Just came here to say that the editor UI is beautiful, works really well - even on mobile. Color me impressed.
jbjohns7 months ago
Interesting. I didn&#x27;t notice any reference to Idris [1] but that was the first place I saw this style of development.<p>[1] <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=mOtKD7ml0NU" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=mOtKD7ml0NU</a>
virtualritz7 months ago
I tried the playground on my Android phone and none of the key presses get through to the source code.<p>I can position the cursor by tapping and I get a virtual keyboard but I can&#x27;t type anything.<p>Is this a bug or am I just missing something because If terrible UX?
评论 #42024335 未加载
davesnx7 months ago
I always loved hazel, probably a great tool to teach. What has been build with it?
hoistbypetard7 months ago
My first thought was the Mac app that&#x27;s been around for about 18 years now:<p><a href="https:&#x2F;&#x2F;www.noodlesoft.com" rel="nofollow">https:&#x2F;&#x2F;www.noodlesoft.com</a><p>And it had a release today.<p><a href="https:&#x2F;&#x2F;www.noodlesoft.com&#x2F;release_notes" rel="nofollow">https:&#x2F;&#x2F;www.noodlesoft.com&#x2F;release_notes</a><p>Seems rough to jump on a name that&#x27;s been in continuous use for that long. Would it be hard to add another word to make it easier to disambiguate?
评论 #42013563 未加载
imglorp7 months ago
Interesting syntax: all the &quot;let&quot; bindings end with &quot;in&quot;, eg<p><pre><code> let comparison = (0 == 0, 0 &lt; 1, 1 &lt;= 1, 2 &gt; 1, 1 &gt;= 1) in </code></pre> Anyone know why &quot;in&quot; keyword?
评论 #42018562 未加载
评论 #42018520 未加载
keeganpoppen7 months ago
this seems like it&#x27;s likely inspired by Idris, to which i say: awesome!
jlkuester77 months ago
Not sure if I have just spent too much time in the JS&#x2F;TS world and so I have forgotten the pain in this area in proper compiled languages, but to me it seems like needing &quot;typed holes&quot; smells like maybe there is some abstraction missing in your codebase.<p>I prefer to have code layered in a way that my inflection points happen across well defined interfaces. Then I can make changes one layer at a time in increments that are small enough to still be able to reason about. But maybe I am totally mising the point of typed holes!
评论 #42017232 未加载
评论 #42017532 未加载
boogerlad7 months ago
How does this compare to lamdu?
ineil7 months ago
So if I’m told I have an A type personality and am also often called an A hole does that mean I can concatenate both to create the compound condition of having type holes?
aassddffasdf7 months ago
Elm&#x2F;ML is an interesting choice of mis-mash &amp; a subtle slap in the face of Haskell? (Which on the surface is far more like Elm than ML is).
评论 #42011192 未加载
评论 #42011179 未加载
评论 #42010987 未加载
评论 #42012306 未加载