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.
That wasn't my intention, which was to make a simple compiler. Somehow, that got away from me :-/