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.

Why Concatenative Programming Matters (2012)

93 pointsby rrampageover 4 years ago

5 comments

jim-jim-jimover 4 years ago
Sick article. I&#x27;d say I&#x27;m a reluctant advocate of this style, and the author touched upon the two points that I always present to my colleagues:<p>1. The focus on verbs can make things clearer.<p>2. Under ideal circumstances, it&#x27;s no more complex than Unix pipes.<p>But I&#x27;m still not 100% convinced it makes for more readable code. Sometimes I still need variable names for documentation purposes. This isn&#x27;t so bad in Haskell, since the type signature can make the intention known, but something like J...
评论 #25261763 未加载
评论 #25269110 未加载
评论 #25263836 未加载
foldrover 4 years ago
I really made an effort to get into <a href="https:&#x2F;&#x2F;factorcode.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;factorcode.org&#x2F;</a> about a decade ago. It&#x27;s an incredibly impressive project, but I found that the cognitive overhead of manipulating the stack stubbornly failed to go away over time. I say this as someone who is reasonably comfortable writing moderately complex Haskell code, so it&#x27;s not that I&#x27;m unable to adjust to unusual programming paradigms. I think naming local variables just turns out to be an <i>incredibly</i> good idea.<p>That said, I do appreciate the conceptual simplicity and ease of implementation of concatenative languages. They certainly have their place.<p>In case there are any Factor evangelists out there, let me add in fairness that the language makes it easy to use named variables if you want to.
jpcooperover 4 years ago
Someone a few days ago shared a stack-based VM he’s building in C++. Quite interesting. He also has a C version on his GitHub.<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=25243084" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=25243084</a>
contravariantover 4 years ago
I have to say the fact that it makes function evaluation associative is quite appealing.
评论 #25264680 未加载
galaxyLogicover 4 years ago
Example from the article: f = drop dup dup × swap abs rot3 dup × swap − +
评论 #25261824 未加载
评论 #25261657 未加载
评论 #25261636 未加载