Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

does not compile using latest ldc #77

Open
bmwalters opened this issue Nov 18, 2024 · 7 comments
Open

does not compile using latest ldc #77

bmwalters opened this issue Nov 18, 2024 · 7 comments

Comments

@bmwalters
Copy link

Details: #42 (comment)

@Dadoum
Copy link
Owner

Dadoum commented Nov 18, 2024

It's a compiler bug, I reported the issue but nobody is apparently working to fix the issue there...

In the meantime I can only give a workaround: edit the problematic files and replace private with public everywhere.

@TheRouletteBoi
Copy link

It's a compiler bug, I reported the issue but nobody is apparently working to fix the issue there...

In the meantime I can only give a workaround: edit the problematic files and replace private with public everywhere.

out of all the programming languages why did you choose D? Please recode this app in C/C++ or rust

@Dadoum
Copy link
Owner

Dadoum commented Dec 7, 2024

out of all the programming languages why did you choose D? Please recode this app in C/C++ or rust

This project makes extensive use of meta-programming and memory management is not critical in this project. Writing it that project in C would be painful, a lot of abstraction will be missed. C++ is basically D but worse in that usecase. There might not be compiler bugs but C++ will instead have me fallback on worse templates, no mixins, no language support for dynamic tables/vectors, and back when this project was in C++, the standard lib was colliding with the one used in Apple's libraries which is different.

I considered rewriting it in Swift and in Rust. In Swift, the problem is that doing anything low level is painful (in exchange we would have been able to use Apple's Plist parser and FoundationNetworking). In Rust, I am still thinking about it. The cons would still be a worse metaprogramming, and the fact compile-times are longer. In the pros, there will probably be a better library ecosystem and nobody asking me the question of why I chose that programming language I guess (and memory safety too if I am motivated enough to remove unsafe blocks from my Rust library).

@RoadRoller01
Copy link

there isn’t 😂 reaction):,
what is your option about go?

@TheRouletteBoi
Copy link

out of all the programming languages why did you choose D? Please recode this app in C/C++ or rust

This project makes extensive use of meta-programming and memory management is not critical in this project. Writing it that project in C would be painful, a lot of abstraction will be missed. C++ is basically D but worse in that usecase. There might not be compiler bugs but C++ will instead have me fallback on worse templates, no mixins, no language support for dynamic tables/vectors, and back when this project was in C++, the standard lib was colliding with the one used in Apple's libraries which is different.

I considered rewriting it in Swift and in Rust. In Swift, the problem is that doing anything low level is painful (in exchange we would have been able to use Apple's Plist parser and FoundationNetworking). In Rust, I am still thinking about it. The cons would still be a worse metaprogramming, and the fact compile-times are longer. In the pros, there will probably be a better library ecosystem and nobody asking me the question of why I chose that programming language I guess (and memory safety too if I am motivated enough to remove unsafe blocks from my Rust library).

Rust would be the best tbh. Compile time isn't much to worry about.

@Dadoum
Copy link
Owner

Dadoum commented Dec 12, 2024

there isn’t 😂 reaction):, what is your option about go?

Go looks like a terrible language: I can't see any compelling reason to use it over D, it has the same flaws that D have, but it isn't as old and thus has no excuse. It tries to make choice for the developers to let them focus on code, but did all the wrong choices. I don't want verbose error handling, I don't want the syntax to be succinct. It does not give me much more safety than I have in D. No null safety, no real safety I would even say. No pattern matching, in general types are pretty lackluster. And it doesn't replicate what D does well, metaprogramming and system programming.

@Dadoum
Copy link
Owner

Dadoum commented Dec 12, 2024

Rust would be the best tbh. Compile time isn't much to worry about.

I think it would be good on some aspects, but I don't think it would bring more contributions, and I don't have much time currently to work on the project unfortunately. Also I would love to show some code, to illustrate why I am reluctant to switch to Rust, but for now it is not public.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants