News for hackers. Stuff that matters.
Re:Demystifying programs that create programs, part 1: A dis... by WalterBright on Sunday April 11, 2021 @07:21PM (#26774471)
> Both the D compiler and the GNU Modula-2 compiler are highly complex pieces of software.

That wasn't my intention, which was to make a simple compiler. Somehow, that got away from me :-/

Re:Demystifying programs that create programs, part 1: A dis... by Doxin on Monday April 12, 2021 @02:38AM (#26776583)
If it's any solace: I find the language itself to be delightfully simple. It definitely feels like it's the minimum set of changes you could make to C to turn it into a comfortable and modern language.

I suppose if that comes at the cost of a complex compiler I can live with it.

Re:Demystifying programs that create programs, part 1: A dis... by azhenley on Monday April 12, 2021 @12:21AM (#26776030)
Would you ever start over and try again? :)
Re:Demystifying programs that create programs, part 1: A dis... by WalterBright on Monday April 12, 2021 @02:26AM (#26776525)
The trouble is, we tried lots of ideas in D. Most worked out very well. But there are a few weeds which I'd really like to take behind the woodshed. But some users are wedded to them, and we really don't like breaking their store, which can be a bit frustrating.

It's sorta like designing your own house. I'm lucky enough to have done it. 20 years on, and it's mostly right. But there are a few maddening mistakes that would be terribly costly to fix.

For example, the garage has 8 feet of headroom. Dammit, I need 10 so I can put a hydraulic lift in. It's really hard working under the car without one. I also should have put in a geothermal heating system, which would have been really cheap when the property was all dug up. I could have saved $$$ in heating bills over the years!

Re:Demystifying programs that create programs, part 1: A dis... by mathgladiator on Monday April 12, 2021 @02:59AM (#26776690)
What weeds in the language? I'm curious as I'm designing a language now, and my regrets are piling up around the complexity of the type system.
Re:Demystifying programs that create programs, part 1: A dis... by WalterBright on Monday April 12, 2021 @06:19AM (#26777811)
The `lazy` storage class turns out to be unreasonably hard to reason about.

`alias this` in class objects turned out to make no sense. When people have problems with it, I just sigh and say stop using `alias this` in classes.