Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The borrow checker is there as experimental, it is not an official part of the language. It is unfinished due to lack of interest in it by the D community.

I don't understand the special purpose behind Zig's allocators. It's just an interface. I make custom allocators in D all the time, it's trivial.

Dip1000 is also an experimental feature and is not part of the core language.

On a more pragmatic note, D has a notion of "sinks", aka output ranges. They provide a simple interface that accepts input, which is appended to the output range. Since the user of the sink has no idea what the sink is doing, just that it accepts input. This is a fun and very practical way to move the choice of how to allocate memory to the caller rather than the callee.

gdc and ldc offer top notch D support for the Mac.





> gdc and ldc offer top notch D support for the Mac.

Have you tried using D on Mac? That's almost impossible to do!! You get a segmentation fault immediately when using VS Code because it wants to download its own DCD and that's apparently compiled with DMD?? Everything that gets downloaded in binary doesn't work on MacOS. I only managed to get it working on emacs after building DCD locally with LDC AND making sure emacs does not try to use anything else. But even then, as I said, serve-d barely works (not sure if that's MacOS-specific). D has the worst MacOS experience of several dozen languages I've tried. Even FORTH just works, but D just does not.


BTW, if a language isn't trying out new ideas, it isn't progressing.

I think it would be helpful to make it clearer what's experimental and what's not. Is the `in` keyword experimental? How about `scope`? There's just a minor note in the docs (https://dlang.org/spec/attribute.html#scope) saying "The -preview=dip1000 switch must also be enabled.". That's really not making it clear if that's an experimental feature, it sounds to me that using the preview flag just does additional checks, but that implies `scope` is NOT experimental?! Which is it?



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

Search: