Had another 48hr game jam this weekend...
Jakob Ovrum
jakobovrum at gmail.com
Sat Aug 31 20:53:29 PDT 2013
Sorry about the nonsensical reply, the web interface was acting
up... this is the intended reply.
On Sunday, 1 September 2013 at 02:05:51 UTC, Manu wrote:
> The only compiler you can realistically use productively in
> windows is
> DMD-Win64, and that doesn't work out of the box.
Why didn't you go with DMD-Win32? Because of OMF? implib and/or
objconv is a hassle but probably less of a hassle than using the
nascent DMD-Win64.
> Overwhelmingly, the biggest complaint was a lack of symbolic
> information to
> assist with auto-completion. Visual-D tries valiantly, but it
> falls quite
> short of the mark.
> This goes back to the threads where the IDE guys are writing
> their own
> parsers, when really, DMD should be able to be built as a lib,
> with an API
> designed for using DMD as a lib/plugin.
Although I'm not convinced auto-completion is a vital feature
(Microsoft's C++ IntelliSense is shit too), I agree that any time
spent on custom parsers and best-effort semantic analysis is a
complete waste of time. The only semantic analysis engine that is
going to be sufficiently good for D is one from a compiler
front-end. Apart from DMD, it's worth taking a look at SDC for
this.
> some windows dev's want a CHM that looks like
> the typical Microsoft doc's people are used to. Those that
> aren't familiar
> with the CHM viewer; it's just HTML but with a nice index +
> layout tree.
dmd2\windows\bin\d.chm
> The question came up multiple times; "I don't think this should
> be an
> array... what containers can I use, and where are they?"...
> Also, nobody could work out how to remove an arbitrary item
> from an array,
> or an item from an AA by reference/value (only by key).
>
> This code:
> foreach(i, item; array)
> if(item == itemToRemove)
> array = array[0..i] ~ array[i+1..$];
> Got a rather 'negative' reaction from the audience to put it
> lightly...
`std.algorithm.remove` provides both stable (preserves order,
shuffles entire array down) and unstable (swaps with last element
and shrinks by one) removal. However, Phobos does not make a
habit of providing helpers for strictly O(n) algorithms, so the
O(n) nature has to be made explicit by first getting the index
with `std.algorithm.countUntil`.
Removing a pair from an AA by value is also an exercise in linear
search, and as such will not get a deceptive helper function.
However, once range interfaces for AAs mature, such an algorithm
can be composed trivially.
> Yes, we hit DMD bugs, like the one with opaque structs which
> required
> extensive work-arounds.
> struct MyStruct;
> MyStruct*[] = new MyStruct*[n];
I'm not sure this is a bug. How do you default initialize an
array of structs you don't know the .init values of?
More information about the Digitalmars-d
mailing list