Walter Bright newshou...@digitalmars.com wrote in message
news:ia0cfv$22k...@digitalmars.com...
Nick Sabalausky wrote:
Would Walter co be interested in this? If not, I won't bother, but if
so, then I may give it a shot.
The problem is I never have used parser/lexer generators, so I am not
On Sat, 23 Oct 2010 06:50:10 +0100
Russel == Russel Winder wrote:
Russel OK, I created a project on Launchpad.
Russel https://launchpad.net/emacs-d-mode. There are currently two
Russel Bazaar branches lp:~russel/emacs-d-mode/original and
Russel lp:~russel/emacs-d-mode/emacs23 (which is a branch
On Sat, 23 Oct 2010 07:27:57 +0100
Russel == Russel Winder wrote:
Russel I have set up the Launchpad page so that the E-Lisp file (or a
Russel tarball if the mode ever becomes a multi-file distribution) can
Russel be downloaded easily. cf. https://launchpad.net/emacs-d-mode
Russel which has a
Nick Sabalausky wrote:
If anyone's interested, further details are here(1):
http://www.devincook.com/goldparser/
It looks nice, but in clicking around on FAQ, documentation, getting started,
etc., I can't find any example code.
Gour,
On Sun, 2010-10-24 at 09:31 +0200, Gour wrote:
On Sat, 23 Oct 2010 07:27:57 +0100
Russel == Russel Winder wrote:
Russel I have set up the Launchpad page so that the E-Lisp file (or a
Russel tarball if the mode ever becomes a multi-file distribution) can
Russel be downloaded easily.
On Sun, 24 Oct 2010 06:55:22 +0400, Nick Sabalausky a...@a.a wrote:
bearophile bearophileh...@lycos.com wrote in message
news:ia0410$1lj...@digitalmars.com...
Nick Sabalausky:
But that's all if you want generalized lexing or parsing though. If you
just
want lexing D code/parsing D code, then
Gour schrieb:
On Wed, 20 Oct 2010 19:39:12 -0500
Andrei == Andrei Alexandrescu wrote:
Andrei If that's feasible, sure! Does anyone know the right people?
Afaik, it involves getting written signed papers from all the
contributors sent to FSF...iow, it's not so easy and therefore I
believe
Russel Winder wrote:
I note that we need to begin a campaign to get D Mode into the Emacs
repository/distribution/etc. I am going to propose that I volunteer
myself to do this as I am also involved with the Groovy mode and so I
can kill two birds with one stone by working to get both these
Austin Hastings ah0801...@yahoo.com wrote:
If Decider uses Option1.sizeof, does any Option1 code get emitted?
For sizeof to be known, the template would have to be instantiated, yes.
If Decider uses some external function that makes use of type aliases in
Option1, (example: Option1() {
Nick Sabalausky a...@a.a wrote in message
news:ia0v9p$11...@digitalmars.com...
Denis Koroskin 2kor...@gmail.com wrote in message
news:op.vk2na9bpo7c...@korden-pc...
On Sun, 24 Oct 2010 06:55:22 +0400, Nick Sabalausky a...@a.a wrote:
bearophile bearophileh...@lycos.com wrote in message
Denis Koroskin 2kor...@gmail.com wrote in message
news:op.vk2na9bpo7c...@korden-pc...
On Sun, 24 Oct 2010 06:55:22 +0400, Nick Sabalausky a...@a.a wrote:
bearophile bearophileh...@lycos.com wrote in message
news:ia0410$1lj...@digitalmars.com...
Nick Sabalausky:
But that's all if you want
Daniel Gibson wrote:
It's ridiculous that the FSF doesn't trust their own license (GPL) and
wants to have the copyright for any code in their software like GCC or
Emacs.
How can they tell people that it's great to have open source software
because you can share code / use foreign code, as
Walter Bright newshou...@digitalmars.com wrote in message
news:ia0pce$2pb...@digitalmars.com...
Nick Sabalausky wrote:
If anyone's interested, further details are here(1):
http://www.devincook.com/goldparser/
It looks nice, but in clicking around on FAQ, documentation, getting
started,
Looking through the TDPL errata I came across this:
On 07/26/2010 11:15 AM, Andrej Mitrovic wrote:
Here's some more for the Errata (I've checked against the cached one):
Page 26: In D, slicing could never occur.
This should probably be In D slicing, this could never occur.
Actually,
On 2010-10-24 04:55, Nick Sabalausky wrote:
bearophilebearophileh...@lycos.com wrote in message
news:ia0410$1lj...@digitalmars.com...
Nick Sabalausky:
But that's all if you want generalized lexing or parsing though. If you
just
want lexing D code/parsing D code, then IMO anything other than
Rainer Deyke Wrote:
Using groupings of three digits in Japanese seems extremely awkward,
especially for larger numbers, since you would have to mentally regroup
the digits in groups of four in order to read it. It's not just the
written language but the spoken language that uses groups of
Peter Alexander Wrote:
For example, a recent bug regards the validity of:
void main()
{
{ static int x; }
{ static int x; }
}
Code is obviously valid. Storage has nothing to do with visibility. In fact,
local static variables were introduced in order to shrink scope of global
Le 24/10/2010 15:23, Kagamin a écrit :
Rainer Deyke Wrote:
Using groupings of three digits in Japanese seems extremely awkward,
especially for larger numbers, since you would have to mentally regroup
the digits in groups of four in order to read it. It's not just the
written language but the
Nick Sabalausky wrote:
That does surprise me though, since I'm pretty sure Phobos is Boost License.
Anyone know why the difference?
Phobos is Boost licensed to enable maximum usage for any purpose.
The dmd front end is GPL licensed in order to ensure it stays open source and to
discourage
On 10/24/10 7:17 CDT, Joel C. Salomon wrote:
Looking through the TDPL errata I came across this:
On 07/26/2010 11:15 AM, Andrej Mitrovic wrote:
Here's some more for the Errata (I've checked against the cached one):
Page 26: In D, slicing could never occur.
This should probably be In D
It looks like a solid engine, and a nice tool. Does it belong as part of Phobos?
I don't know. What do other D users think?
Nick Sabalausky wrote:
http://www.semitwist.com/goldiedocs/current/Docs/APIOver/StatVsDyn/
One question I have is how does it compare with Spirit? That would be its main
counterpart in the C++ space.
Kagamin wrote:
Peter Alexander Wrote:
For example, a recent bug regards the validity of:
void main() { { static int x; } { static int x; } }
Code is obviously valid. Storage has nothing to do with visibility. In fact,
local static variables were introduced in order to shrink scope of global
On 24/10/2010 18:19, Walter Bright wrote:
Nick Sabalausky wrote:
http://www.semitwist.com/goldiedocs/current/Docs/APIOver/StatVsDyn/
One question I have is how does it compare with Spirit? That would be
its main counterpart in the C++ space.
Spirit is a LL parser, so it's not really
I have noticed an emerging idiom in my code lately: bring together n
ranges, transform them to one range using a n-ary function. Currently it's
achieved with:
map!((a) {return myNaryFun(a._0, a._1, ...); })(zip(range1, range2, ...));
It's a bit of a nuisanse -- rarely do my transforming
Instead of targeting doc files, could dmd create xml files
for the purpose of runtime reflection, instead of trying to
go to runtime reflection via __traits.
You can archive these files together with the binary code.
Create some sort of D package.
I mean C (GNOME) is going with xml files for
2010/10/24 Tomek Sowiński j...@ask.me:
I have noticed an emerging idiom in my code lately: bring together n ranges,
transform them to one range using a n-ary function. Currently it's achieved
with:
map!((a) {return myNaryFun(a._0, a._1, ...); })(zip(range1, range2, ...));
It's a bit of a
Tomek S.:
map!((a) {return myNaryFun(a._0, a._1, ...); })(zip(range1, range2, ...));
Currently the docs of std.algorithm.map say:
Multiple functions can be passed to map. In that case, the element type of map
is a tuple containing one element for each function.
But lot of time ago I have
Russel Winder wrote:
Pascal was never really intended as a production language, it was
intended for teaching programming and the abstract concepts behind
programming. I suggest that in the period 1972-82 it achieved its goals
admirably. From 1984 onwards it was clearly becoming insufficient
On Sun, 24 Oct 2010 21:39:24 +0200, bearophile bearophileh...@lycos.com
wrote:
Tomek S.:
map!((a) {return myNaryFun(a._0, a._1, ...); })(zip(range1, range2,
...));
Currently the docs of std.algorithm.map say:
Multiple functions can be passed to map. In that case, the element type
of
Walter Bright newshou...@digitalmars.com wrote in message
news:ia1ps7$1fq...@digitalmars.com...
Nick Sabalausky wrote:
http://www.semitwist.com/goldiedocs/current/Docs/APIOver/StatVsDyn/
One question I have is how does it compare with Spirit? That would be its
main counterpart in the
Dnia 24-10-2010 o 21:34:54 Philippe Sigaud philippe.sig...@gmail.com
napisał(a):
That's what Haskell calls ZipWith. I called it tmap (as in tuple-map)
when I needed it in D.
IMHO, it should be a generalization of std.algorithm.map: let it
accept n ranges and a n-ary function. It can even do a
Simen kjaeraas:
From what I can see, map currently simply doesn't support passing it
multiple ranges. It would be a trivial change to let it support multiple
ranges in addition to multiple functions.
If you may have multiple of both then the situation becomes complex. So I think
that single
On Sunday 24 October 2010 12:17:47 Sclytrack wrote:
Instead of targeting doc files, could dmd create xml files
for the purpose of runtime reflection, instead of trying to
go to runtime reflection via __traits.
You can archive these files together with the binary code.
Create some sort of D
On Sunday 24 October 2010 05:17:30 Joel C. Salomon wrote:
Looking through the TDPL errata I came across this:
On 07/26/2010 11:15 AM, Andrej Mitrovic wrote:
Here's some more for the Errata (I've checked against the cached one):
Page 26: In D, slicing could never occur.
This
Sun, 24 Oct 2010 14:17:53 -0700, Jonathan M Davis wrote:
On Sunday 24 October 2010 05:17:30 Joel C. Salomon wrote:
Looking through the TDPL errata I came across this:
On 07/26/2010 11:15 AM, Andrej Mitrovic wrote:
Here's some more for the Errata (I've checked against the cached
one):
On 10/24/2010 04:36 PM, retard wrote:
Walter has many times mentioned how segfaults are actually better than
exceptions. They force you to fix your code and the debugger is halfway
built in the CPU and operating system.
null dereference exploits notwithstanding?
Nick Sabalausky wrote:
Can't say I'm really familiar with Spirit. From a brief lookover, these are
my impresions of the differences:
Spirit: Grammar is embedded into your source code as actual C++ code.
Goldie: Grammar is defined in a domain-specfic language.
But either one could probably have
Rainer Deyke Wrote:
Using groupings of three digits in Japanese seems extremely awkward,
especially for larger numbers, since you would have to mentally regroup
the digits in groups of four in order to read it. It's not just the
written language but the spoken language that uses groups of
I don't know about the Japanese, but Chinese people read like
12亿,3456万,7890. (simplified, traditional version would be exactly the same
writing as Japanese).
I've never seen it separated with commas though, I always see 1234567890.
On Sun, Oct 24, 2010 at 6:59 PM, Jesse Phillips
On Sat, 23 Oct 2010 15:50:30 -0400, Sean Kelly s...@invisibleduck.org
wrote:
Benjamin Thaut c...@benjamin-thaut.de wrote:
Am 23.10.2010 14:52, schrieb dsimcha:
== Quote from Benjamin Thaut (c...@benjamin-thaut.de)'s article
The following testcase (when executed on dual core at least)
Robert Jacques wrote:
On Sat, 23 Oct 2010 15:50:30 -0400, Sean Kelly s...@invisibleduck.org
wrote:
Basically, atomicLoad (which atomicOp uses) always returns in ALU
registers.
Floating point numbers need to be returned in floating point
registers.
Therefore, a NaN always gets returned
Walter Bright newshou...@digitalmars.com wrote in message
news:ia2duj$2j7...@digitalmars.com...
Nick Sabalausky wrote:
Can't say I'm really familiar with Spirit. From a brief lookover, these
are my impresions of the differences:
Spirit: Grammar is embedded into your source code as actual
Nick Sabalausky wrote:
Walter Bright newshou...@digitalmars.com wrote in message
Does Goldie have (like Spirit) a set of canned routines for things like
numeric literals?
No, but such things can easily be provided in the docs for simple
copy-paste. For instance:
DecimalLiteral = {Number}
Hello,
Is there a function in the standard library to delete an element from
an array (or range)? Something like:
auto a = [1, 2, 3, 4, 5, 6];
auto b = delete(a, 4);
assert([1, 2, 3, 4, 6] == b);
I've noticed there is eliminate in std.algorithm, which seems to be
doing just that, but
remove removes element at a given offset. I want to remove element
with a given value. This is example shows it better:
auto a = [foo, bar, baz];
auto b = delete(a, bar);
assert([foo, baz] == b);
adam.
2010/10/24 Simen kjaeraas simen.kja...@gmail.com:
On Sun, 24 Oct 2010 13:02:24
On Sunday 24 October 2010 04:24:07 Adam Cigánek wrote:
remove removes element at a given offset. I want to remove element
with a given value. This is example shows it better:
auto a = [foo, bar, baz];
auto b = delete(a, bar);
assert([foo, baz] == b);
adam.
2010/10/24 Simen
Jonathan M Davis:
Well, then use indexOf() to get the offset and remove() to remove the element.
But you must test the result value of indexOf, because it returns -1 (a signed
value, probably an integer, not a signed word, so it may give troubles on 64
bit systems) when the item is missing.
On Sun, 24 Oct 2010 09:31:12 -0400
bearophile bearophileh...@lycos.com wrote:
Jonathan M Davis:
Well, then use indexOf() to get the offset and remove() to remove the
element.
But you must test the result value of indexOf, because it returns -1 (a
signed value, probably an integer,
On 24/10/2010 12:24, Adam Cigánek wrote:
remove removes element at a given offset. I want to remove element
with a given value. This is example shows it better:
snip
Your new example doesn't show it better, it's the only one you've given
that shows it at all. What you had originally was
Adam Cigánek wrote:
Is there a function in the standard library to delete an element from
an array (or range)?
arrays are computational not well suited for deleting elements, nor are
lists.
-manfred
Manfred_Nowak:
arrays are computational not well suited for deleting elements, nor are
lists.
On the other hand dynamic arrays are handy for many other purposes. So if you
have just 20 items, like some buttons of your GUI, you may want to use a
dynamic array to add and remove them,
spir:
In my opinion, such non-obvious complications are good reasons to have
seemingly trivial operations implemented as builtin routines. (and should
throw error in case of failure)
std.algorithm.delete contains code like if(rEnd == range.length), so if you
give it a signed integer coming
On Sun, 24 Oct 2010 14:47:43 -0400
bearophile bearophileh...@lycos.com wrote:
Manfred_Nowak:
arrays are computational not well suited for deleting elements, nor are
lists.
Sequences of all kinds are the worst possible kind of collection for this
operation (not only linear search, but
Your new example doesn't show it better, it's the only one you've given that
shows it at all. What you had originally was
auto a = [1, 2, 3, 4, 5, 6];
auto b = delete(a, 4);
assert([1, 2, 3, 4, 6] == b);
which shows the removal of the element at index 4, not the element with
value 4.
Hello dear D community,
I need to express a system of related types. The values are actually values,
meaning I absolutely need value semantics (no referencing, else I would be
forced to explicitely copy on each assignment). Also, they are structured,
record-like thingies.
I was very pleased to
spir denis.s...@gmail.com wrote:
I would like to learn about possible workarounds, or other alternative
approaches to such problems, if ever you now any.
Basically, you probably want to use alias this:
http://digitalmars.com/d/2.0/class.html#AliasThis
It lets you subtype structs by
spir:
Bearophile, what do you mean with arrays dynamic to the right? (that they
extend/compress (only) on the right side?)
In Python you may add items at the start too of a list, but that's not an
efficient operation, Python lists are amortized efficient only if you append
items to their
spir:
But for any reason, this logic is not pushed to the point of providing type
hierarchy by subtyping. It would have been great for me, since much of the
common functionality is generic. Without a type hierarchy, I need to
duplicate it on each struct type, which is _bad_ (as any
spir:
But for any reason, this logic is not pushed to the point of providing type
hierarchy by subtyping. It would have been great for me, since much of the
common functionality is generic. Without a type hierarchy, I need to
duplicate it on each struct type, which is _bad_ (as any
On Sun, 24 Oct 2010 23:41:07 +0200
Simen kjaeraas simen.kja...@gmail.com wrote:
spir denis.s...@gmail.com wrote:
I would like to learn about possible workarounds, or other alternative
approaches to such problems, if ever you now any.
Basically, you probably want to use alias this:
On Sun, 24 Oct 2010 18:54:15 -0400
bearophile bearophileh...@lycos.com wrote:
spir:
But for any reason, this logic is not pushed to the point of providing type
hierarchy by subtyping. It would have been great for me, since much of the
common functionality is generic. Without a type
On Sun, 24 Oct 2010 23:41:07 +0200
Simen kjaeraas simen.kja...@gmail.com wrote:
spir denis.s...@gmail.com wrote:
I would like to learn about possible workarounds, or other alternative
approaches to such problems, if ever you now any.
Basically, you probably want to use alias this:
I'm trying to read from the registry (thus far unsuccesfully).
core.sys.windows.windows has RegOpenKeyExA() in it, and I'm trying to use it to
read a registry key. However, when I use it, I get this error upon compilation:
Error 42: Symbol Undefined _regopenkey...@20
I'm using wine, and
bearophile wrote:
some buttons of your GUI
I doubt that one wants to _delete_ buttons of a GUI instead of inactivating
them and the OP did ask for a function in the standard library to delete
an element from an array, i.e. arrays without any restrictions on the
number of elements as supposed
On Sunday 24 October 2010 18:20:53 Denis Koroskin wrote:
On Mon, 25 Oct 2010 05:03:50 +0400, Jonathan M Davis jmdavisp...@gmx.com
wrote:
I'm trying to read from the registry (thus far unsuccesfully).
core.sys.windows.windows has RegOpenKeyExA() in it, and I'm trying to
use it to
read a
http://d.puremagic.com/issues/show_bug.cgi?id=4338
Austin Hastings ah0801...@yahoo.com changed:
What|Removed |Added
CC|
http://d.puremagic.com/issues/show_bug.cgi?id=5110
Summary: Excess attribute propagation of structs and classes
Product: D
Version: D2
Platform: All
OS/Version: All
Status: NEW
Keywords: spec
Severity: normal
http://d.puremagic.com/issues/show_bug.cgi?id=5110
--- Comment #1 from Shin Fujishiro rsi...@gmail.com 2010-10-24 02:05:22 PDT
---
The current ClassDeclaration uses the following black list for masking
attributes to propagate over its members:
sc-stc = ~(STCfinal | STCauto
http://d.puremagic.com/issues/show_bug.cgi?id=5110
--- Comment #2 from Shin Fujishiro rsi...@gmail.com 2010-10-24 02:09:16 PDT
---
Created an attachment (id=792)
Testcases
Since nothrow, pure and @disable are one-way, non-revertible attributes, the
language should not force them to be
http://d.puremagic.com/issues/show_bug.cgi?id=5110
--- Comment #3 from Shin Fujishiro rsi...@gmail.com 2010-10-24 02:18:33 PDT
---
Created an attachment (id=793)
Patch against dmd r727, passed dmd/druntime/phobos tests
The proposed patch implements the said rule.
The patch limits STC
http://d.puremagic.com/issues/show_bug.cgi?id=5111
Summary: Static function-level variables are not in the
language spec.
Product: D
Version: unspecified
Platform: Other
OS/Version: Other
Status: NEW
http://d.puremagic.com/issues/show_bug.cgi?id=5112
Summary: scope is deprecated, but this is not mentioned in the
specification
Product: D
Version: unspecified
Platform: Other
OS/Version: Other
Status: NEW
http://d.puremagic.com/issues/show_bug.cgi?id=5079
Rob Jacques sandf...@jhu.edu changed:
What|Removed |Added
Keywords||ice-on-invalid-code
http://d.puremagic.com/issues/show_bug.cgi?id=5079
--- Comment #2 from Rob Jacques sandf...@jhu.edu 2010-10-24 08:54:31 PDT ---
P.S. The ICE naturally also affects __traits(compiles, T[0].sizeof ), which
make escaping the underlying bugs very difficult.
--
Configure issuemail:
http://d.puremagic.com/issues/show_bug.cgi?id=5112
Stewart Gordon s...@iname.com changed:
What|Removed |Added
CC||s...@iname.com
---
http://d.puremagic.com/issues/show_bug.cgi?id=5112
--- Comment #2 from Peter Alexander peter.alexander...@gmail.com 2010-10-24
11:09:35 PDT ---
(In reply to comment #1)
A *specification* should not list planned future changes at all. Besides,
such
a list cannot satisfy any objective
http://d.puremagic.com/issues/show_bug.cgi?id=5113
Summary: stray e2ir: in casting error message
Product: D
Version: D1
Platform: Other
OS/Version: Linux
Status: NEW
Severity: trivial
Priority: P4
http://d.puremagic.com/issues/show_bug.cgi?id=5112
--- Comment #3 from Stewart Gordon s...@iname.com 2010-10-24 18:24:17 PDT ---
(In reply to comment #2)
Here's a relevant link:
http://www.digitalmars.com/pnews/read.php?server=news.digitalmars.comgroup=digitalmars.Dartnum=114064
Far better
http://d.puremagic.com/issues/show_bug.cgi?id=3939
--- Comment #1 from bearophile_h...@eml.cc 2010-10-24 18:27:12 PDT ---
Currently this seems the most efficient way to have a static class attribute
that contains a __vptr (here converted to a size_t and named classId):
class Foo {
static
http://d.puremagic.com/issues/show_bug.cgi?id=5114
Summary: Too many error messages with main(;
Product: D
Version: D2
Platform: x86
OS/Version: Windows
Status: NEW
Keywords: diagnostic
Severity: minor
http://d.puremagic.com/issues/show_bug.cgi?id=5115
Summary: std.typecons.scoped problems
Product: D
Version: D2
Platform: x86
OS/Version: Windows
Status: NEW
Severity: enhancement
Priority: P2
Component:
http://d.puremagic.com/issues/show_bug.cgi?id=5116
Summary: Too many error messages with failed template
constraint
Product: D
Version: D2
Platform: x86
OS/Version: Windows
Status: NEW
Keywords:
http://d.puremagic.com/issues/show_bug.cgi?id=4398
Walter Bright bugzi...@digitalmars.com changed:
What|Removed |Added
CC|
http://d.puremagic.com/issues/show_bug.cgi?id=4398
--- Comment #24 from Walter Bright bugzi...@digitalmars.com 2010-10-24
21:46:02 PDT ---
No need to mess with LONGJMP_MANGLE_NAME and CPP_LONGJMP_MANGLE_NAME as they
are for the C++ compiler. They are never referenced by dmd, and do not appear
http://d.puremagic.com/issues/show_bug.cgi?id=4398
--- Comment #25 from Walter Bright bugzi...@digitalmars.com 2010-10-24
22:19:49 PDT ---
Compiler: http://www.dsource.org/projects/dmd/changeset/730
Phobos1: http://www.dsource.org/projects/phobos/changeset/2114
Druntime:
http://d.puremagic.com/issues/show_bug.cgi?id=4398
Walter Bright bugzi...@digitalmars.com changed:
What|Removed |Added
Status|NEW |RESOLVED
87 matches
Mail list logo