What’s the status of the OpenD fork?[0] I see Adam is still active there but I’m not sure if it’s had any impact beyond losing him as an upstream contributor. [0]: https://opendlang.org/
Upstream has followed several of opend's innovations: we shipped interpolated expressions on day one of the fork (that was the straw that broke the camel's back) and then, after 7 years of procrastination, upstream also merged it a week later. We shipped extern(Objective-C) support, upstream backported it (and actually fixed enough bugs that I replaced my original impl with their's) a few months later. Upstream has t…
DConf 2026 in London
61–70 of 71 posts
Re: DConf 2026 in London
#62Earlier quoted context omitted.
I tried Lithp a couple times, but it never caught on with me. I wouldn't know what the best techniques for Lithp error handling would be. I can never get past the ugly syntax.
You cannot be an expert in everything, that I understand. But the "I can never get past the ugly syntax." reason is unusually superficial from you. Understanding Lisp macros or CLOS (the very cool object system) or Conditions (which are like exceptions, but also different in a very interesting and powerful way) is totally worth enduring the syntax for a language designer. If you find the time, give it a try! Either w…
I find the ((()))) aspect of it difficult to read, whereas the algebraic notation is easy. I've struggled with trying to read Lisp code for decades. It's a proverbial square peg that won't fit in the round hole.
A major aspect of D is the aesthetic look of the code. It's why I call D "elegant" as it just looks good on the screen. For example, this is how modules are imported:
import foo;
Short and sweet. No syntactic noise.Re: DConf 2026 in London
#63What’s the status of the OpenD fork?[0] I see Adam is still active there but I’m not sure if it’s had any impact beyond losing him as an upstream contributor. [0]: https://opendlang.org/
Upstream has followed several of opend's innovations: we shipped interpolated expressions on day one of the fork (that was the straw that broke the camel's back) and then, after 7 years of procrastination, upstream also merged it a week later. We shipped extern(Objective-C) support, upstream backported it (and actually fixed enough bugs that I replaced my original impl with their's) a few months later. Upstream has t…
FYI that had very little to do with OpenD merging the tuple syntax - at least from my perspective - Timon may feel differently. I was the one who got the ball rolling on the DIP for it and kept pushing the process forward, and I also helped Timon and Nick get it over the finish line by fixing an ICE in the backend caused by destructuring a tuple of structs.
I've wanted first class tuple syntax in D since 2013, and when Timon mentioned not having time to do a DIP for it, I offered to help. It would've happened regardless of whether it got merged into OpenD or not.
Re: DConf 2026 in London
#64Earlier quoted context omitted.
Upstream has followed several of opend's innovations: we shipped interpolated expressions on day one of the fork (that was the straw that broke the camel's back) and then, after 7 years of procrastination, upstream also merged it a week later. We shipped extern(Objective-C) support, upstream backported it (and actually fixed enough bugs that I replaced my original impl with their's) a few months later. Upstream has t…
> the two bigger things I did they have talked about but probably won't do is i made the class monitor opt-in https://dlang.org/changelog/pending.html#dmd.monitor-field
but maybe this is the first step toward something more useful.
Re: DConf 2026 in London
#65Re: DConf 2026 in London
#66Earlier quoted context omitted.
> the two bigger things I did they have talked about but probably won't do is i made the class monitor opt-in https://dlang.org/changelog/pending.html#dmd.monitor-field
"custom druntimes" is not helpful for the vast, vast majority of programs. but maybe this is the first step toward something more useful.
Re: DConf 2026 in London
#67Earlier quoted context omitted.
For example, C and C++ still cannot compile this: int foo() { return bar(); } int bar() { return 3; }
Funny that C89/C90 would compile this specific example just fine due to implicit function declaration feature, which was deprecated in C99.
Re: DConf 2026 in London
#68Earlier quoted context omitted.
I would assume OP is asking if you would attend a DConf in San Francisco. By the way, big fan of D even though I don't get to use it much. Appreciate your work!
A San Francisco DConf would indeed be nice. We've done them in Silicon Valley before.
Re: DConf 2026 in London
#69Earlier quoted context omitted.
I tried Lithp a couple times, but it never caught on with me. I wouldn't know what the best techniques for Lithp error handling would be. I can never get past the ugly syntax.
Error handling in Dylan[1] worked mostly the same way, if syntax is truly the issue. I posted a toy implementation in Lua a few years ago as well[2]. In general there’s nothing Lisp-specific about the idea, you just need dynamic scoping, closures that don’t outlive their parents, and a way to unwind the stack. Standard exception handling is: - Whenever an error happens, the program puts a description of it into an “e…
Re: DConf 2026 in London
#70Earlier quoted context omitted.
The worst thing about exceptions is that you can't tell from the type signature of a function whether it might throw one. So you have to hope it's documented, guess at whether try-catch is necessary, or reading through the entire call stack. I personally much prefer Rust style Result which also can't be ignored, and puts fallibili5y in the function signature.
> The worst thing about exceptions is that you can't tell from the type signature of a function whether it might throw one. In Java exceptions can be part of a method's declared type information, so handling is checked at compile time and IDEs can display the info. Unfortunately certain Java missteps made this design unpopular these days. For example, for many years new String(bytes, "UTF-8"); made it mandatory to ca…