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.

Show HN: Cassette, a Personal Programming Language

231 pointsby news_to_meover 1 year ago
I made this simple language over the past year, and it&#x27;s time for me to say it&#x27;s &quot;done&quot; (for now) and focus on other projects.<p>I&#x27;ve struggled to answer the question &quot;what is this language for?&quot; other than &quot;it&#x27;s just for me&quot; — and that&#x27;s probably good enough. But I also wanted to make something &quot;complete&quot; that others could use if they wanted to. Writing my own language was an incredibly rewarding experience, and I&#x27;d recommend everyone trying it.<p>Let me know if you have any questions or feedback, and please share your own experience if you&#x27;ve also made a language.

14 comments

anigbrowlover 1 year ago
What a great introduction: what it is, how it looks, why you might like it, what the design goals are, and how to write it - all while being short, to the point, and relatively buzzword free. I find a lot of new language offerings (which may be very good technically) fall short on how they make a first impression; other language creators should look at this as a template.
评论 #38851637 未加载
zerojamesover 1 year ago
&gt; other than &quot;it&#x27;s just for me&quot; — and that&#x27;s probably good enough<p>I love this sentiment, and I&#x27;m glad you made this! I love reading different syntaxes for programming languages. You should be proud. Writing programming languages is _hard_.<p>I made an abstract programming language in 2023 (<a href="https:&#x2F;&#x2F;visionscript.dev" rel="nofollow">https:&#x2F;&#x2F;visionscript.dev</a>). The language still needs _a lot_ of work and some bugs fixed. With that said, I had so much fun making it.
评论 #38843429 未加载
评论 #38834253 未加载
neontomoover 1 year ago
Your work is in an interesting niche, but I found your home-cooked app philosophy post more fun to read about. It made me feel optimistic about the value of creative coding projects, thank you for writing it.<p><a href="https:&#x2F;&#x2F;www.robinsloan.com&#x2F;notes&#x2F;home-cooked-app&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.robinsloan.com&#x2F;notes&#x2F;home-cooked-app&#x2F;</a>
评论 #38851017 未加载
spepsover 1 year ago
You could have made the file extension &quot;.k7&quot; which is short for &quot;cassette&quot; in French.<p>Great work of course, just a fun suggestion ;)
评论 #38853331 未加载
评论 #38855589 未加载
评论 #38853247 未加载
082349872349872over 1 year ago
&gt; <i>Playful programming is writing something for the sake of writing it. It’s making a software 3D renderer or a GIF reader, even though better implementations of those already exist. It’s making generative art programs and drawing them with a pen plotter. Cassette itself is playful programming—there are certainly other scripting languages that may be better for personal projects like these, but this one is mine.</i><p>Nice hack!
Einenlumover 1 year ago
I&#x27;m so impressed. I love the syntax (especially the backslash for lambdas and the colon for symbols). I don&#x27;t know so many languages but it feels quite &quot;new&quot; to me, which is quite hard given the number of languages out there. I recently thought about building my own language just for fun and it makes me realize how all my ideas are just a copy and mix of other languages. The website is also super clean and beautiful (the font is great). How did you manage to use syntax highlighting for your own language on your website?<p>One thing: I was confused (as others stated here I think) by the link to Robins Loan&#x27;s website and thought it was an other article from you about Cassette.<p>Would you consider writing a blog post about how you created it (building the lexer, parser, etc.)? I would definitely be interested.
评论 #38856547 未加载
评论 #38857320 未加载
throwaway17_17over 1 year ago
I like the clear choices you made and that you stuck to them, even when making them optional (particularly shooting for GC-optional) might have attracted attention. Also, like the explicit implementation simplicity as a goal.<p>I’ve talked about it on Hn a few times, but I wrote the language I use for work. Like you, the language is primarily for me, but my motivation was to prove some type theory and philosophical (mathematics) points I held as true but couldn’t visibly see for myself. It was a trek to get finished, but it was a very rewarding experience.
评论 #38851385 未加载
tekknolagiover 1 year ago
I really like the syntax! I am having trouble building on Linux but I will send patches your way when I figure it out.
评论 #38922094 未加载
评论 #38851585 未加载
lubutuover 1 year ago
Thanks for sharing!<p><pre><code> ; these produce an error, since `b` isn&#x27;t defined when the body of `a` is compiled let a = \x -&gt; (b x * 3), b = \x -&gt; (a x &#x2F; 2) </code></pre> It surprised me when this was called out, given that both a and b are defined in the one &#x27;let&#x27;. Was there a specific reason you decided not to treat it as a &#x27;letrec&#x27;?
评论 #38851559 未加载
评论 #38851817 未加载
replwoacauseover 1 year ago
Love it! Nice work and cool website.
sergiomatteiover 1 year ago
Looks a lot like Elixir and reminds me of Swift. Cool!
评论 #38851573 未加载
wegfawefgawefgover 1 year ago
is this really lisp like?
评论 #38851569 未加载
评论 #38853084 未加载
xwowsersxover 1 year ago
I&#x27;m genuinely disappointed by the predictability of encountering negativity and criticism towards new programming languages, even when the cynics represent a small minority. My address is to those who tend to be critical, cynical, and skeptical. It particularly troubles me when individuals adopt an air of entitlement and phrase their questions as, &quot;Why should I use this? Prove its value to me.&quot; I would like to propose that this approach runs counter to the hacker ethos, as it immediately puts such questions in a negative light. There are constructive and useful ways to inquire about new languages, but all too often, I witness people ridiculing and deriding the work that others have shared. If this were our reaction to every new (even experimental) endeavor within the hacker and broader community, we would miss out on exploring fascinating possibilities. Many, if not most, of the technologies we use today began as small kernels or mere experiments. Through the dedication of individuals or small groups of passionate people, they evolved into essential components of our technology stacks. So, while it&#x27;s perfectly valid to inquire about the compelling features of a language or why one might choose to use it, there are ways to frame such questions without sounding cynical and derisive.
评论 #38853115 未加载
评论 #38859529 未加载
评论 #38851324 未加载
评论 #38851631 未加载
prezjordanover 1 year ago
Every time I sit down to write a toy language I get stuck on two conveniences: syntax highlighting and auto-formatting. I feel like they&#x27;re table stakes for a programming language in 2024, but they&#x27;re _just_ annoying enough that I lose interest. Any tips?
评论 #38850838 未加载
评论 #38850127 未加载
评论 #38850946 未加载
评论 #38850449 未加载
评论 #38851340 未加载
评论 #38853469 未加载
评论 #38851636 未加载