Hacker Newsnew | past | comments | ask | show | jobs | submit | jaggederest's commentslogin

I've had some of the same ideas, I would love a full macro system on a dependently typed language. My stab at it earlier in January was not quite the right thing, but I do think this is the way. Weirdly enough concision is even more important in LLM context than in regular human context.

One thing that has surprised me is how good LLMs are writing Lisp macros. All the annoying boilerplate and backtick-comma arithmetic (',' anyone?) that has ground my gears over the years, they cheerfully churn out correctly. I still review it to make sure they haven't done it in a needlessly complicated way, but I wonder if that is just me being superstitious.

I shouldn't have been surprised, because that part of macro writing is purely mechanical syntax transformation—just a "take these tokens and return those tokens" function that one should expect LLMs to be good at. But I was surprised, because for me that was always the hard part.

So now I can think up new macros to abstract over patterns in my code—the part of macro-writing that I enjoy—and then push a magic "implement this" button to make it work.

What I'm not sure of yet is whether this is an evolutionary dead end—a train stop on the way to "you'll never look at code again, so what does it matter what programming language you used to use". Yes, I still look at my code, and this is a pretty nice train stop, wherever the tracks lead to.


Just don't use nested back ticks. If you need to show off, use format strings. :)

They're still the easiest way to do macro-writing macros, no?

They're entirely avoidable. Move nested stuff into their own functions.

You might be interested in Lean. It's my favorite lisp, even though it's really not at all a lisp. It's a nice programming language, and it lets you really hack on commands, macros, syntax, and elaboration.

It's often suggested that Lean is a general programming language but I don't see typical libraries to do basic stuff in it, like an arg parser, web server, GUI, SQL integrations etc.

Can lean generate small static binaries the same way Go/Rust/C/C++ can?

How practical is rewriting, say, grep in Lean?


Building a suite of libraries for basic stuff like webserver, sql integration, writing react components etc in Lean here https://github.com/orgs/theoriclabs/repositories?q=sort%3Ast...

> Can lean generate small static binaries the same way Go/Rust/C/C++ can?

Lean compiles to C and the binaries aren't huge, though haven't benchmarked this part yet.

> How practical is rewriting, say, grep in Lean?

Very, you should probably try it.


Lean compiles its code to C, so it's pretty good on that end of the spectrum, though it does have a bit of a runtime, so it's certainly not at the very end of spectrum where Rust/C/C++ are (never used Go, so idk). With some optimization my personal experience is that it's not that bad to get it within a factor of 2-5 of half-decent rust speed. My personal mental model of it is like a more-to-my-tastes wildly-faster python but without an ecosystem.

As for library support, yeah it's definitely not a mature ecosystem. But since it compiles to C, the FFI is great, so you can just ask an LLM to write bindings to your favorite rust/C/C++ library and they do just fine. I recently wanted (apache) arrow bindings for lean, and LLMs knocked out perfectly sufficient bindings just fine.


a mathematician friend of mine has been building a game engine with it. very neat stuff, anything is possible!

Lean is the dependently typed language with a SotA metaprogramming system. Lean itself is a language written using this system.


Have you looked into tree calculus at all?

Smalltalk, in image based systems, absolutely. Erlang not as much, it's more of a "crash the actor and try again" than "rewind, pause, and handle errors in-system"

Same, I have scads of them (~8) and have never had connection issues with any of them. I made sure to only pull the battery tab and turn them on for the first time in their target location, maybe that makes a difference, and my zigbee network is quite dense, so there's no lack of mesh for them to connect to.

I'm 2 years in, I think, and I have never noticed any issues.


To be fair all of those islands are awesome and mega pedant time

> is Venice an island or is every block in Venice an island? Is Venice an archipelago?

Fun fact: Venice is, in fact, an island, and every block in venice is an island, and venice is an archipelago: https://maps.app.goo.gl/TfbkNvrLU55E9n9KA


> To be fair all of those islands are awesome and mega pedant time

They are awesome cards, but they're not islands. I think ultimately Richard Garfield made a mistake calling the blue basic land "Island", instead of something a bit more general involving water. But it seems like WotC's art department decided to pretend he did anyway, and so we get these cards called "Island" even though they're not. Which is funny to notice, but doesn't actually affect anything, so that seems like the right solution.

> Fun fact: Venice is, in fact, an island, and every block in venice is an island, and venice is an archipelago

I agree that was a weird complaint—yes, Venice is definitely an archipelago. I guess when you're on a rant, sometimes you overstep.


The other aspect I think people are missing is that, for the right person, the choice isn't between a white collar office job and trades, it's between struggling in retail and service work with a (possibly bad) degree and no upward mobility, where your only escape is into either management or retraining.

For those people, trades are absolutely a better choice - it's not like becoming an HVAC dogs body prevents you from later going to school if you decide it's not for you.


Yep, conflating retail/hospo dead-end jobs where you get trained up in a week and replaced in a week with qualified tradesmen doesn't like high quality research.

Too much heritability for trauma alone to be the whole story. It's likely genetics produce latency and environment triggers, if trauma is indeed a big part of the picture.

I've heard it described as, "Nature loaded the gun, nurture fired it."

This reads as slop to me. Added contrast containing no semantic content.

Same with:

> it changed under them


Could go even further and produce multiple sections and let the "algorithm" edit them together in whatever order.

intro (2x 15 second clips pulled from random places in all the other sections)

section 1 (a/b/c)

section 2 (a/b/c/omit)

section 3 (short/long)

section 4 (a/b/c)

It would be like a choose your own adventure video, without the choosing, or the adventure.


This was already done for a documentary on Brian Eno that came out a couple of years ago. Nobody who watched the documentary could be sure that they had seen the same as anyone else unless they watched it together in the same physical location.

It's funny because that strikes me as a perfectly fine thing to do for a Brian Eno docu, but for virtually every other program on the planet as absolutely egregious. I guess there's always an exception!

I suspect this is going to end up like most services provided e.g. cloud stuff, balkanized between a couple major players and an assortment of DIY or less popular options if you don't like those ecosystems, plus some UX/DX focused wrappers that use the big players under the hood.

I think that would be a pretty satisfactory outcome compared to one hypercompany consuming trillions of dollars of the world economy.


Absolutely can pull the water you need for e.g. household purposes out of the air - somewhere north of $0.10 a gallon or so, spendy, but close to trucked water - maybe $1k a month, give or take. People pay that much for trucked water, though a well is rapidly cheaper if it's available.

For a farm, say growing almonds (notably water intensive, but a reasonable first pass), you need about 4 acre-feet per acre per year, which would cost... hmm, somewhere in the very rough ballpark of $200k / yr.

That might put the economics of almond farming substantially in doubt, given that an acre of almonds might yield a value (revenue, not profit) of, say, $10k on a good year.


Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

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

Search: