www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Which is right?

reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
We now have:

http://dlang.org/phobos-prerelease/std_algorithm.html

and also

http://dlang.org/phobos-prerelease/std_algorithm_package.html

There are minor differences in formatting.

Since std/algorithm.d was transformed into a package, 
std_algorithm_package.html is generated, and std_algorithm.html is old. 
However, there are still old links to it etc. so probably we should 
generate std_algorithm.html instead.

Could somebody (preferably the contributor who converted std.algorithm 
into a package) see to this?


Thanks,

Andrei
Feb 15 2015
next sibling parent reply "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Sunday, 15 February 2015 at 21:51:25 UTC, Andrei Alexandrescu 
wrote:
 We now have:

 http://dlang.org/phobos-prerelease/std_algorithm.html

 and also

 http://dlang.org/phobos-prerelease/std_algorithm_package.html

 There are minor differences in formatting.
I posted about this problem here: http://forum.dlang.org/post/pprptmhgesszeqppohjd forum.dlang.org
Feb 15 2015
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 2/15/15 2:01 PM, Vladimir Panteleev wrote:
 On Sunday, 15 February 2015 at 21:51:25 UTC, Andrei Alexandrescu wrote:
 We now have:

 http://dlang.org/phobos-prerelease/std_algorithm.html

 and also

 http://dlang.org/phobos-prerelease/std_algorithm_package.html

 There are minor differences in formatting.
I posted about this problem here: http://forum.dlang.org/post/pprptmhgesszeqppohjd forum.dlang.org
Thanks. Could you please see to this? I'm working on getting std.experimental.allocator in reviewable form, and wherever I turn I find unrelated problems that are likely to cause trouble with 2.067. Andrei
Feb 15 2015
prev sibling parent reply "H. S. Teoh via Digitalmars-d" <digitalmars-d puremagic.com> writes:
On Sun, Feb 15, 2015 at 01:51:26PM -0800, Andrei Alexandrescu via Digitalmars-d
wrote:
 We now have:
 
 http://dlang.org/phobos-prerelease/std_algorithm.html
 
 and also
 
 http://dlang.org/phobos-prerelease/std_algorithm_package.html
 
 There are minor differences in formatting.
 
 Since std/algorithm.d was transformed into a package,
 std_algorithm_package.html is generated, and std_algorithm.html is
 old.  However, there are still old links to it etc. so probably we
 should generate std_algorithm.html instead.
 
 Could somebody (preferably the contributor who converted std.algorithm
 into a package) see to this?
[...] This is not the only package with this problem; std.range and std.container also has the same issue. T -- "I'm running Windows '98." "Yes." "My computer isn't working now." "Yes, you already said that." -- User-Friendly
Feb 15 2015
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 2/15/15 3:20 PM, H. S. Teoh via Digitalmars-d wrote:
 On Sun, Feb 15, 2015 at 01:51:26PM -0800, Andrei Alexandrescu via
Digitalmars-d wrote:
 We now have:

 http://dlang.org/phobos-prerelease/std_algorithm.html

 and also

 http://dlang.org/phobos-prerelease/std_algorithm_package.html

 There are minor differences in formatting.

 Since std/algorithm.d was transformed into a package,
 std_algorithm_package.html is generated, and std_algorithm.html is
 old.  However, there are still old links to it etc. so probably we
 should generate std_algorithm.html instead.

 Could somebody (preferably the contributor who converted std.algorithm
 into a package) see to this?
[...] This is not the only package with this problem; std.range and std.container also has the same issue.
Indeed, and that doesn't help either :o). While at it, it would be great to eliminate the duplication in the makefile, e.g.: $(DOC_OUTPUT_DIR)/std_container_%.html : std/container/%.d $(STDDOC) $(DDOC) project.ddoc $(STDDOC) -Df$ $< $(DOC_OUTPUT_DIR)/std_algorithm_%.html : std/algorithm/%.d $(STDDOC) $(DDOC) project.ddoc $(STDDOC) -Df$ $< $(DOC_OUTPUT_DIR)/std_range_%.html : std/range/%.d $(STDDOC) $(DDOC) project.ddoc $(STDDOC) -Df$ $< $(DOC_OUTPUT_DIR)/std_regex_%.html : std/regex/%.d $(STDDOC) $(DDOC) project.ddoc $(STDDOC) -Df$ $< There must be a simple way to handle all packages in std/ in a uniform manner so we don't need separate definitions (STD_ALGO_MODULES, STD_RANGE_MODULES, STD_CONTAINER_MODULES... all that must go away). In brief the handling of packages in std/ needs some serious TLC, and quickly - before 2.067. As I vaguely recall you (H.S. Teoh) did most of the package-ing, would it be reasonable to kindly ask you to take this? Andrei
Feb 15 2015
parent reply "H. S. Teoh via Digitalmars-d" <digitalmars-d puremagic.com> writes:
On Sun, Feb 15, 2015 at 03:30:19PM -0800, Andrei Alexandrescu via Digitalmars-d
wrote:
 On 2/15/15 3:20 PM, H. S. Teoh via Digitalmars-d wrote:
[...]
This is not the only package with this problem; std.range and
std.container also has the same issue.
Indeed, and that doesn't help either :o). While at it, it would be great to eliminate the duplication in the makefile, e.g.: $(DOC_OUTPUT_DIR)/std_container_%.html : std/container/%.d $(STDDOC) $(DDOC) project.ddoc $(STDDOC) -Df$ $< $(DOC_OUTPUT_DIR)/std_algorithm_%.html : std/algorithm/%.d $(STDDOC) $(DDOC) project.ddoc $(STDDOC) -Df$ $< $(DOC_OUTPUT_DIR)/std_range_%.html : std/range/%.d $(STDDOC) $(DDOC) project.ddoc $(STDDOC) -Df$ $< $(DOC_OUTPUT_DIR)/std_regex_%.html : std/regex/%.d $(STDDOC) $(DDOC) project.ddoc $(STDDOC) -Df$ $< There must be a simple way to handle all packages in std/ in a uniform manner so we don't need separate definitions (STD_ALGO_MODULES, STD_RANGE_MODULES, STD_CONTAINER_MODULES... all that must go away). In brief the handling of packages in std/ needs some serious TLC, and quickly - before 2.067. As I vaguely recall you (H.S. Teoh) did most of the package-ing, would it be reasonable to kindly ask you to take this?
[...] Actually, that's not quite accurate. :-P I only did std.algorithm; the rest were done by other people. I didn't even do very much as far as the makefiles were concerned; I just copy-n-pasted what std.container and std.range did. I honestly don't even understand what the makefile lines quoted above actually do (beyond a nebulous impression); I just copy-n-pasted them for std.algorithm. You might prefer to find somebody else who has a better grasp of makefile subtleties than myself for this task. ;-) T -- What do you call optometrist jokes? Vitreous humor.
Feb 15 2015
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 2/15/15 3:38 PM, H. S. Teoh via Digitalmars-d wrote:
 Actually, that's not quite accurate.:-P   I only did std.algorithm; the
 rest were done by other people. I didn't even do very much as far as the
 makefiles were concerned; I just copy-n-pasted what std.container and
 std.range did. I honestly don't even understand what the makefile lines
 quoted above actually do (beyond a nebulous impression); I just
 copy-n-pasted them for std.algorithm.  You might prefer to find somebody
 else who has a better grasp of makefile subtleties than myself for this
 task.;-)
OK makes total sense, thanks. I'm on hook for it. Loosely related: we need to raise the review scrutiny so we make sure issues like this are detected before they make it into the repository. It's inefficient to pull work that makes progress in one dimension but sets us back in another, just to require clean up afterwards. I'm trying to just clean my plate before getting into std.experimental.allocator and I got to say it's quite discouraging: * We have the fastest compiler _and_ language in the world, yet it's impossible to unittest one module; unittesting one requires building a ton of unrelated stuff, which takes a long time. * Documentation build dependencies are wrongly set up; after changing one std module, trying to rebuild dlang.org doesn't "get" it. You need to rebuild html in phobos with some arcane command line. * Don't get me started about the ddox build. Right now the building and testing rig is quite suboptimal for significant phobos work. Worst of all, all of these issues were solved earlier. I'll do my part by increasing review scrutiny. Andrei
Feb 15 2015
parent reply "H. S. Teoh via Digitalmars-d" <digitalmars-d puremagic.com> writes:
On Sun, Feb 15, 2015 at 04:02:30PM -0800, Andrei Alexandrescu via Digitalmars-d
wrote:
[...]
 * We have the fastest compiler _and_ language in the world, yet it's
 impossible to unittest one module; unittesting one requires building a
 ton of unrelated stuff, which takes a long time.
I thought people have been complaining about this since a long time ago? That they wanted more control over unittesting? That compiling user code with -unittest also activates unittest blocks in 3rd party library code? I guess it's about time to get our act together and fix that...
 * Documentation build dependencies are wrongly set up; after changing
 one std module, trying to rebuild dlang.org doesn't "get" it. You need
 to rebuild html in phobos with some arcane command line.
Welcome to the wonderfully simple world of makefiles. (Except when it's not.) :-P
 * Don't get me started about the ddox build.
 
 Right now the building and testing rig is quite suboptimal for
 significant phobos work. Worst of all, all of these issues were solved
 earlier. I'll do my part by increasing review scrutiny.
[...] I know I'm biased, but these kinds of issues are exactly why I don't like makefiles, and especially the fact that current makefiles have out-of-tree dependencies. Those things may work reasonably well at first, but they inevitably, inescapably, drift towards becoming a hairball of unmaintainable mess. Eventually, to deal with the mess, you end up reinventing what so many make alternatives have already done, years ago. Dmitry recently was working on implementing some SCons scripts for the D repos, but nooo, we can't get rid of makefiles 'cos they are "universal" and everybody knows them and we don't like to change old habits and we just plain like makefiles. Sigh. But ranting aside, it would be good to draft up an official Phobos contributors' guidelines page (or update an existing one if it already exists, and put it in a place where people can actually find it, since I don't even know if such a thing exists and I've been contributing to Phobos for quite some time -- the only thing I know of is the coding style guidelines). Many common items belong there, like linking to the style guidelines, correct trusted usage, needing ddoc'd unittests, coverage expectations, updating doc headers, updating makefiles (including win32.mak and win64.mak, that often get neglected), updating dlang.org for when the navbar needs to be updated, etc., etc.. T -- Three out of two people have difficulties with fractions. -- Dirk Eddelbuettel
Feb 15 2015
next sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 2/15/15 10:19 PM, H. S. Teoh via Digitalmars-d wrote:
 On Sun, Feb 15, 2015 at 04:02:30PM -0800, Andrei Alexandrescu via
Digitalmars-d wrote:
 [...]
 * We have the fastest compiler _and_ language in the world, yet it's
 impossible to unittest one module; unittesting one requires building a
 ton of unrelated stuff, which takes a long time.
I thought people have been complaining about this since a long time ago? That they wanted more control over unittesting? That compiling user code with -unittest also activates unittest blocks in 3rd party library code? I guess it's about time to get our act together and fix that...
I very much agree we need to get our act together, and pronto. Using make is really low on our list of issues. It's always easy to blame the tools or politicize the matter ("W&A are set in their ways and use that crappy make instead of $BUILD_TOOL"). The reality is we need to raise the quality of contributions. To do so, we need better reviews that transform pull requests from good to great. Andrei
Feb 16 2015
prev sibling parent "deadalnix" <deadalnix gmail.com> writes:
On Monday, 16 February 2015 at 06:21:22 UTC, H. S. Teoh wrote:
 On Sun, Feb 15, 2015 at 04:02:30PM -0800, Andrei Alexandrescu 
 via Digitalmars-d wrote:
 [...]
 * We have the fastest compiler _and_ language in the world, 
 yet it's
 impossible to unittest one module; unittesting one requires 
 building a
 ton of unrelated stuff, which takes a long time.
I thought people have been complaining about this since a long time ago? That they wanted more control over unittesting? That compiling user code with -unittest also activates unittest blocks in 3rd party library code? I guess it's about time to get our act together and fix that...
I've been thinking about having a sdunit utility based on libd/libd-llvm that would jit unittests in a module and run them. I don't have the bandwidth at this point.
Feb 16 2015