Hacker News new | past | comments | ask | show | jobs | submit login

Great! I'm convinced designing a functional language and IDE side-by-side will result in greatly improved ergonomics. The Hazel playground breaks for me (Safari), but the direction looks promising.

One of my own (nearly abandoned) toy projects is something similar. It's not easy — at least to me it wasn't — to design a language that is forgiving on as many aspects as possible. Both syntactically and semantically. Turning every error into a warning during development time and keep the impact as local as possible. Type errors turn into implicit holes of type bottom, just make sure the IDE is explicit about it.

One of the tricks I applied is to use indentation style syntax (like Haskell/Python). Now syntax errors only break one level of code. Preventing the IDE from coloring the rest of your buffer red because you still need to type out your closing parenthesis.

Edit: I see Hazal takes the valid-by-construction approach, which is different from be-forgiving-but-explicit. Both are approaches worth of experimentation.




My take on designing a language and an IDE together (2015).

Repo: https://github.com/xixixao/Shem Playground: http://xixixao.github.io/Golem Talk: https://www.youtube.com/watch?v=HnZipJOan54




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: