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.

Dale – A Lisp-flavoured C

192 pointsby maccoabout 8 years ago

18 comments

hermitdevabout 8 years ago
I would love to see announcements of new languages include a rationale. Why was this created? What problem was the author trying to solve that they thought the solution was a new language? What short comings did existing languages have that this new language overcomes?<p>This is not a critique; I&#x27;m just curious.
评论 #14083254 未加载
评论 #14082217 未加载
评论 #14082002 未加载
评论 #14084845 未加载
评论 #14084308 未加载
评论 #14093451 未加载
评论 #14082629 未加载
评论 #14081996 未加载
nonsinceabout 8 years ago
Oh hey, I posted this on &#x2F;r&#x2F;lisp just earlier today. I discovered it because of a Google rabbit hole triggered by a rediscovery of this article[0] on Naughty Dog&#x27;s GOAL (Game-Oriented Assembly Lisp). It looks really interesting, although I can&#x27;t imagine doing serious programming in it (as much as I&#x27;d love to).<p>[0]: <a href="http:&#x2F;&#x2F;www.codersnotes.com&#x2F;notes&#x2F;disassembling-jak&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.codersnotes.com&#x2F;notes&#x2F;disassembling-jak&#x2F;</a>
eatonphilabout 8 years ago
Very neat! Looks like this is an even older language than the one I&#x27;m familiar with: bone-lisp. Bone-lisp is interpreted but ops for &quot;explicit regions instead of garbage collection&quot;. There is also an awesome list of similar projects on the bone-lisp README (on which I now see Dale included) which I&#x27;ll quote from:<p>&gt; Somewhat related Free Software projects:<p>&gt; * Pre-Scheme is a GC-free (LIFO) subset of Scheme<p>&gt; * Carp is &quot;a statically typed lisp, without a GC&quot;<p>&gt; * newLISP uses &quot;One Reference Only&quot; memory management<p>&gt; * MLKit uses region inference (and a GC)<p>&gt; * Linear Lisp produces no garbage<p>&gt; * Dale is basically C in S-Exprs (but with macros)<p>&gt; * ThinLisp is a subset of Common Lisp that can be used without GC<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;wolfgangj&#x2F;bone-lisp" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;wolfgangj&#x2F;bone-lisp</a>
pcwaltonabout 8 years ago
At a glance, the compiler looks solid, with full LLVM integration instead of compiling to C. That&#x27;ll pay dividends down the road. Really great job :)
piokucabout 8 years ago
This looks really nice. A low level Lisp as a system programming language - a C replacement - is an interesting idea. First thought after going through the readme: does it try to provide stable ABI? This is an important feature for a C replacement; for example, C++ has not managed to get it right, although the idea was to provide a better, object oriented C... What worries me in particular is that Dale has overloaded functions, that makes things harder as far as stable API is concerned, but maybe I&#x27;m wrong. Nice stuff, anyway. I can see a little PLT trend of new high level languages that want to be good in doing low level stuff and don&#x27;t use GC. I like that!
eschatonabout 8 years ago
A systems programming language need not eschew GC. Zetalisp and Common Lisp are perfectly fine for Lisp Machine operating system implementation, without falling back to a language other than assembly for isolated bits of the very lowest-level code. Mezzano reaffirms this on x86-64 too.
jaccarmacabout 8 years ago
Previous discussion: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9226260" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9226260</a>
评论 #14080892 未加载
lisperabout 8 years ago
Another Lisp implemented in C++, but with a GC:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;rongarret&#x2F;Ciel&#x2F;" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;rongarret&#x2F;Ciel&#x2F;</a>
monkpitabout 8 years ago
Programmed by Mr Worldwide himself?!
appleflaxenabout 8 years ago
isn&#x27;t this a C-flavored lisp?<p>I mean, it&#x27;s <i>not</i> C. And it <i>is</i> a lisp.<p>So doesn&#x27;t it make sense to call it &quot;lisp with a flavor of C&quot; rather than the other way around?<p>Cool project!
评论 #14082360 未加载
coldteaabout 8 years ago
Can we have a C-flavored C with the extra features of Dale?
评论 #14082026 未加载
lngnmnabout 8 years ago
Any high-order functions, TCO? Is there an implementation of <i>Everything Is An Expression</i> and <i>Everything Is A First-class Value</i> principles? Type-tagging, which implements <i>Values Has A Type, Not Variables</i> principle, which gives <i>The Numerical Tower</i> and other nice things for free? Proper lexical scoping based on Environments which makes every lambda a closure? I am not asking about homogeneity and the possibility of the <i>First-class Macros</i> it provides.<p>No? So what then makes it Lisp-flavored? CONS CAR CDR and parentheses?
catnaroekabout 8 years ago
C&#x27;s syntax is horrible, but we can live with it. Where are the attempts to fix C&#x27;s semantics, dammit? This project is as if a mechanic were given a broken car, and the first thing he did were repainting it.
iLemmingabout 8 years ago
How does this compare with Chicken Scheme?
muyuuabout 8 years ago
How do you pronounce it? Like Pitbull in &quot;dale!&quot;?
trompabout 8 years ago
Wonder how hard it is to write a quine in Dale...
spraakabout 8 years ago
I want this for Go!
lispmabout 8 years ago
Why isn&#x27;t it written in Lisp? It would be so much easier...<p>See for example C-MERA:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;kiselgra&#x2F;c-mera" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;kiselgra&#x2F;c-mera</a>
评论 #14080694 未加载