On Monday, 2 February 2015 at 13:25:57 UTC, Mathias LANG wrote:
To be more specific, dub won't let you compile a project with multiple definition of a function. How is that a liability ?

You can't have more than one main() function.

Some packages contain more than one entry point (programs / executables).

In my case, my library allows selecting an entry point based on the nature of the program (console/GUI) and the platform. The program only imports one of these. Vibe does something similar, but it has only one entry point.

Is rdmd able to build static and dynamic library ?

Yes.

If so, does it ignore files that are not imported anywhere ?

Yes.

I don't see any downside here.

The downside is dmd -o- doesn't work.

What's your editor ? Mine complains on syntax error.
If you're using vi/emacs, then placing your editor in source/ (or starting dmd here) would do the trick.

"syntax check" was not meant literally. Can your editor instantiate imported templates, too?

FYI, my editor's D syntax highlighting is probably more extensive than any others':

https://github.com/colorer/Colorer-schemes/blob/master/hrc/hrc/base/d.hrc

git clone http://github.com/You/repo otherName

breaks that workflow equally. Relying on the name under which your repo was cloned doesn't seem that robust.

The distinction is that you have to go out of your way to break it. Dub not just breaks it by default, but there is no simple way to work around it, either.

- But then your library is self contained and won't break if someone has another workflow that makes him clone your library under a different name.

So Dub protects people from shooting themselves in the foot by cutting their feet off? How nice.

- dub rely on git tags for versioning. If you want to do *real* versioning (and not just "most up to date tag"), you'll still have to play with branches and submodules.

Yay, more buttons to press! When I could actually be getting things done instead.

Hope I helped :)

Sorry, not even close.

Reply via email to