Re: post/pre-increment/decrement and property

2012-02-07 Thread Robert Clipsham
On 07/02/2012 22:37, Vidar Wahlberg wrote: Take the following code: int _foo; @property auto foo() { return _foo; } @property auto foo(int foo) { return _foo = foo; } void main() { ++foo; } This won't compile, and it sort of makes sense (at least to me), but is it (or will it in the future be)

Re: GUI or more human readable -profile data?

2012-02-29 Thread Robert Clipsham
On 29/02/2012 19:41, simendsjo wrote: http://www.digitalmars.com/ctg/trace.html Has someone made some GUI/pretty printing/dump to database or other tools to make the profile data a bit simpler to digest? If you're on Windows you could try: http://h3.gd/code/xfProf/ Although I don't believe

Forcing static foreach

2012-04-24 Thread Robert Clipsham
Is there anyway to force a static foreach to occur? template TT(T...) { alias T TT; } void main() { // This works foreach(s; TT!(a, b, c)) { mixin(`int ` ~ s ~ `;`); } enum foo = TT!(a, b, c); // This fails foreach(s; foo) { mixin(`int ` ~

Re: Limit number of compiler error messages

2012-05-22 Thread Robert Clipsham
On 19/05/2012 23:38, cal wrote: Is there a way to limit the dmd compiler to outputting just the first few errors it comes across? As Don said, if there are any useless error messages it is a bug, and needs to be reported at: http://d.puremagic.com/issues/ This said, if you're on a

Re: D1: out of memory

2011-01-24 Thread Robert Clipsham
On 24/01/11 22:14, %u wrote: How do I get dmd's memory usage a few hundred MBs down? I keep having to close everything in order not to get an out of memory error while compiling (-w -full). I'd like to get it from 700-800 to below 400 :) Any way to inspect which part is the biggest drain? CTFE

Re: concatenation

2011-01-24 Thread Robert Clipsham
On 24/01/11 23:09, Ellery Newcomer wrote: in the following: void main(){ char[] x; string s; string y; y = s ~ x; } tok.d(5): Error: cannot implicitly convert expression (cast(const(char)[])s ~ x) of type char[] to string why should typeof(s ~ x) == char[] ? x is a mutable array of mutable

Re: Debugging D?

2011-02-06 Thread Robert Clipsham
On 06/02/11 20:29, Sean Eskapp wrote: Are debug symbols compiled with -gc stored in a separate file? Visual Studio refuses to debug my things, and windbg seems to be remarkably unhelpful. I suggest you take a look at VisualD if you're using visual studio, it will handle converting debug info

Re: Debugging D?

2011-02-07 Thread Robert Clipsham
On 06/02/11 22:28, Sean Eskapp wrote: == Quote from Robert Clipsham (rob...@octarineparrot.com)'s article On 06/02/11 20:29, Sean Eskapp wrote: Are debug symbols compiled with -gc stored in a separate file? Visual Studio refuses to debug my things, and windbg seems to be remarkably unhelpful

Re: Anyone have a function to print out the field name and its value?

2011-04-09 Thread Robert Clipsham
On 09/04/2011 18:13, Andrej Mitrovic wrote: Let's say I have this structure: struct PAINTSTRUCT { bool state; } And somewhere in my main code I want to print out the value of state. But I also want to know what I'm printing out. So usually I'd do this: void main() { PAINTSTRUCT ps;

Re: Anyone have a function to print out the field name and its value?

2011-04-09 Thread Robert Clipsham
On 09/04/2011 18:23, Robert Clipsham wrote: Off the top of my head (untested): void print(T)(T t) if (is(T == struct) || is(T == class)) { foreach (i, field; t.tupleof) { writefln(T.tupleof[i].stringof ~ = %s, field); } } -- Robert http://octarineparrot.com/ I forgot to mention

Re: Anyone have a function to print out the field name and its value?

2011-04-09 Thread Robert Clipsham
On 09/04/2011 18:44, Andrej Mitrovic wrote: On 4/9/11, Andrej Mitrovicandrej.mitrov...@gmail.com wrote: That's great, I can use it to print out all the fields. Thanks! Some error checking should be done, or maybe there's a bug. If a field has a type that is a typedef to say a void*: typedef

Re: optional func alias template param

2011-04-10 Thread Robert Clipsham
On 10/04/2011 15:31, spir wrote: I'd also like to know why pointer cannot be template *alias* parameters, like in: auto s2 = S!(f)(); == Error: expression f is not a valid template value argument Denis First of all, that error is useless, you should probably report a bug for that

Re: Web development howto?

2011-04-22 Thread Robert Clipsham
On 22/04/2011 03:53, Jaime Barciela wrote: Hello everyone, I'm going though TDPL and I just joined this list. I've been looking for guidance on how to do web applications in D but I haven't found anything. My background is not C/C++ but Java (and Delphi many years ago) so I have not only a

Re: delegate to shared member function

2011-04-24 Thread Robert Clipsham
On 24/04/2011 09:17, Benjamin Thaut wrote: I'm currently trying to pass a delegate to a shared member function to a function. The compiler tells me that the type I'm passing is (void delegate(const const(char[]) str) shared) When I try to use this as type for the function argument, it does not

Re: Unable to pass shared class method as delegate

2011-04-24 Thread Robert Clipsham
On 24/04/2011 15:40, d coder wrote: Greetings I am facing problem passing a shared class method as an argument to a function. Look at the following minimized code snippet. class Foo { shared // compiles when commented out void bar() {} } void frop(void delegate() dg) { } void main()

Re: Web development howto?

2011-04-25 Thread Robert Clipsham
On 25/04/2011 16:56, Jaime Barciela wrote: Robert, I think your effort is much needed. Thank you -- from a fellow Brown Coat :) I just hope Captain Shiny Pants doesn't find out, I don't fancy my chances against him in a fight if he realizes I stole his ship's name ;P I was toying with the

Re: D CGI test: linux.so.2: bad ELF interpreter: No such file or directory

2011-04-25 Thread Robert Clipsham
On 25/04/2011 21:38, Nick Sabalausky wrote: Works on Windows command line and through IIS. And it works on my Kubuntu 10.6 command line. But if I copy the executable from my Kubuntu box to my web host's Debian server: Running it through Apache gives me a 500, and running it directly with ssh

Re: D CGI test: linux.so.2: bad ELF interpreter: No such file or directory

2011-04-26 Thread Robert Clipsham
On 26/04/2011 00:05, Nick Sabalausky wrote: Thanks. How would I statically link against libc? The way to do this with C is to pass -static to gcc, and I recall doing something similar with dmd to get it working (maybe -L-static?) - I don't have a linux machine near me to test with though,

Re: How to spawn variable-length functions?

2011-04-26 Thread Robert Clipsham
On 26/04/2011 19:48, Andrej Mitrovic wrote: import std.stdio; import std.concurrency; void print(int[] a...) { foreach(b; a) writeln(b); } void main() { int value; spawn(writeln, value); spawn(print, value); } Neither of these calls will work. I want to

Re: Coroutines in D

2011-05-03 Thread Robert Clipsham
On 03/05/2011 19:06, Andrej Mitrovic wrote: I'm trying to figure out how to use coroutines in D. First, I think I've run into some kind of bug. I've followed this C++ example: http://www.subatomicglue.com/secret/coro/readme.html, and came up with this: I'm not entirely sure what it is you

Re: Problem Passing Struct to C

2011-05-06 Thread Robert Clipsham
On 06/05/2011 19:40, Jacob Carlborg wrote: No, D implicitly casts string literals to zero-terminated const(char)*. That part is fine. -Steve Since when? Since const was introduced, before then they implicitly casted to char* instead. And that has been the case since early D1. -- Robert

Re: Cannot interpret struct at compile time

2011-05-07 Thread Robert Clipsham
On 07/05/2011 23:36, Andrej Mitrovic wrote: Not too sure, CTFE is a pain in the ass sometimes. What exactly are you trying to do, print field names in a custom way? No, I have a struct that I don't have access to in the scope I'm in, I do however have its type - by using the above, I can

Re: Cannot interpret struct at compile time

2011-05-07 Thread Robert Clipsham
On 08/05/2011 00:39, Andrej Mitrovic wrote: One simplistic solution is to use alias this to simulate the same type: struct Foo { int x, y; } string structClone(T)() { return struct ~ T.stringof ~ _ { ~ T.stringof ~ _inner; alias _inner this; this(T...)(T

Re: Cannot interpret struct at compile time

2011-05-08 Thread Robert Clipsham
On 08/05/2011 19:19, Lutger Blijdestijn wrote: test also doesn't compile normally on my box, dmd errors on Foo.tupleof. Not sure if this is illegal or not. I think you want the allMembers trait or something similar. Something like this: import std.traits; string test(T)() { string str =

Re: Cannot interpret struct at compile time

2011-05-09 Thread Robert Clipsham
On 09/05/2011 16:36, Don wrote: Robert Clipsham wrote: Hey all, I was wondering if anyone could enlighten me as to why the following code does not compile (dmd2, latest release or the beta): Added as bug 5969. Thanks for this, I wasn't sure if it was a bug or not :) -- Robert http

Re: Linux: How to statically link against system libs?

2011-05-10 Thread Robert Clipsham
On 10/05/2011 04:48, Nick Sabalausky wrote: Adam D. Ruppedestructiona...@gmail.com wrote in message news:iqa7bi$1djh$1...@digitalmars.com... Nick Sabalausky wrote: 2. Remove -L--no-warn-search-mismatch Note for readers: this is in dmd.conf and is a relatively new thing. My dmd 2.051 and

Re: How to break module into multiple file.

2011-05-12 Thread Robert Clipsham
On 12/05/2011 19:25, Adam Ruppe wrote: Maybe million line programs will be unacceptably slow, but I don't know, I'd have to actually see it being a problem in practice before I get worked up about it. tbh I wouldn't be surprised if the incremental build was actually slower than the all at once

Re: How To Dynamic Web Rendering?

2011-05-13 Thread Robert Clipsham
On 13/05/2011 08:09, Jacob Carlborg wrote: On 2011-05-12 16:45, Adam Ruppe wrote: Could you share how or show an URL that provide sample code to do that in D? Check out my D api demo: http://arsdnet.net/cgi-bin/apidemo/ Here's the source code (about 50 lines of D)

Re: How To Dynamic Web Rendering?

2011-05-15 Thread Robert Clipsham
On 15/05/2011 22:46, Alexander wrote: On 15.05.2011 23:05, Nick Sabalausky wrote: And like I said at the beginning, the old-style-PHP/ASP of mixing code and HTML is one of the things that *HAS* become widely accepted as bad practice. Could you please back your claims with something? I know

Re: How To Dynamic Web Rendering?

2011-05-15 Thread Robert Clipsham
On 15/05/2011 22:44, Alexander wrote: On 15.05.2011 22:56, Nick Sabalausky wrote: It *barely* works. And I *did* stop using it specifically because it worked so poorly. +1 Don't get it too personally, but probably, you didn't read the manual? ;) It works perfectly, even for those who

Re: How To Dynamic Web Rendering?

2011-05-16 Thread Robert Clipsham
On 16/05/2011 09:54, Alexander wrote: On 16.05.2011 01:25, Robert Clipsham wrote: It most definitely does not work perfectly. You highlight those that are not familiar with web development? They're the ones that use it. Visual Studio defaults to not using it now, there's a reason for that. I

Re: Can we make auto return type inference a little more lax?

2011-05-17 Thread Robert Clipsham
On 17/05/2011 04:40, Andrej Mitrovic wrote: auto foo() { if (1) { return [0, 0]; } else { size_t one; size_t two; return [one, two]; } } void main(){ } Error: mismatched function return type inference of uint[] and int[]

Re: How to print unicode like: #12371; #12435; #12395; #12385; #12399; #19990;#30028;

2011-05-19 Thread Robert Clipsham
On 19/05/2011 16:19, Matthew Ong wrote: On 5/19/2011 11:22 PM, Matthew Ong wrote: Hi, import std.stdio; alias immutable(wchar)[] String; String str=Hello, world; or#922;#945;#955;#951;#956;#941;#961;#945;#954;#972;#963;#956;#949;; or#12371;#12435;#12395;#12385;#12399;#19990;#30028;;

Re: How to interface with existing Java Code at the API level.

2011-05-21 Thread Robert Clipsham
On 21/05/2011 09:58, Jonathan M Davis wrote: On 2011-05-21 01:04, Matthew Ong wrote: Hi, D has major potential to replace C/C++ at the system API level. What I can see D is doing now is trying to glue to the existing C API instead of replacing that OLD OLD language. But it is too early to see

Re: web development in D

2011-05-22 Thread Robert Clipsham
On 22/05/2011 13:09, Lutger Blijdestijn wrote: joe wrote: I currently do most of my web development in PHP, with some work in Ruby with RoR. Right now I'm starting to think about building my own stack for web dev (I already use my own MVC framework and libs in PHP), but I'd really like to move

Re: web development in D

2011-05-22 Thread Robert Clipsham
On 22/05/2011 19:11, Adam D. Ruppe wrote: I've never done any CGI stuff before, but can't you employ some kind of messaging mechanism with an already running process? Yes. I find it's quite useful when you want instant notifications on something, like a web chat application, but it could do

Re: web development in D

2011-05-22 Thread Robert Clipsham
On 22/05/2011 22:40, Adam D. Ruppe wrote: Vladimir Panteleev wrote: But if your website is getting enough hits to generate more requests than the server can process, technology choice matters a lot. Yeah. I've never had that happen, so I don't really know. If it happens, it's easy enough to

Re: Is it reasonable to learn D

2011-06-07 Thread Robert Clipsham
On 07/06/2011 20:47, Fabian wrote: Dear D Community, is it reasonable to learn D? I've found a lot of good points for D but I've found a lot of negative points too. I believe that I needn't to list all the point for D but I want to give a few examples against learning D I've read in some German

Re: How to avoid running out of OS thread handles when spawning lots of short-lived threads?

2011-06-09 Thread Robert Clipsham
On 10/06/2011 00:17, David Nadlinger wrote: The title says it all – how can I avoid running out of OS thread handles when spawning lots of short-lived threads? In reality, I encountered the issue while writing tests a piece of code which spawns a thread, but this is the basic issue: --- import

Re: Serialization libs?

2011-06-10 Thread Robert Clipsham
On 10/06/2011 08:30, Nick Sabalausky wrote: Are there any good D2 serialization libs out there that utilize introspecition (ie, don't have to manually specify all the member of each type), handle cyclic graphs and have flexible output? I've never used it, and I don't know if it's any good or

Re: introspection woes (2)

2011-06-13 Thread Robert Clipsham
On 13/06/2011 13:11, Lloyd Dupont wrote: Interesting... I think I understand... Thanks! :) However an other problem arise with getMembers() it always returns null! Looking at the code it seems (from my beginner's perspective) that getMembers() rely on the member field (function) xgetMembers

Re: introspection woes (2)

2011-06-13 Thread Robert Clipsham
On 13/06/2011 13:56, Lloyd Dupont wrote: Thanks Robert! Mm.. can you (per chance!) share some code? I'm a newbie and compile time reflection is something which eludes me (so far...)! See: http://www.digitalmars.com/d/2.0/traits.html class MyClass { void method1(){} void

Re: It's dsss live ?

2011-06-14 Thread Robert Clipsham
On 14/06/2011 18:30, Zardoz wrote: I'm learning D2, and puxxled when I see that something usefull like dsss, looks that not have any updte for too long time. In his SVN, show that not have any update in years!!! (or I'm blind). It's dsss dead ?? dsss hasn't been updated in years, you are

Re: dmdscript osx.mak

2011-06-18 Thread Robert Clipsham
On 18/06/2011 07:35, Joshua Niehus wrote: Hello, I apologize if this is the wrong forum to post this question, but I couldn't find a corresponding learn mailing list for DMDScript. I wanted to play around with DMDScript but cant seem to get started. I downloaded the source and attempted to

Re: dmdscript osx.mak

2011-06-18 Thread Robert Clipsham
On 18/06/2011 21:50, Robert Clipsham wrote: On 18/06/2011 07:35, Joshua Niehus wrote: Hello, I apologize if this is the wrong forum to post this question, but I couldn't find a corresponding learn mailing list for DMDScript. I wanted to play around with DMDScript but cant seem to get started

Re: WTF! Parallel foreach more slower that normal foreach in multicore CPU ?

2011-06-23 Thread Robert Clipsham
On 23/06/2011 11:05, Zardoz wrote: I'm trying std.parallelism, and I made this code (based over foreach parallel example) : import std.stdio; import std.parallelism; import std.math; import std.c.time; void main () { auto logs = new double[20_000_000]; const num = 10;

Re: delegate type from function signature

2011-06-26 Thread Robert Clipsham
On 26/06/2011 08:08, Nub Public wrote: Is it possible to get the signature of a function and make a delegate type from it? Something like this: bool fun(int i) {} alias (signature of fun) DelegateType; DelegateType _delegate = delegate(int i) { return i == 0; }; alias typeof(fun)

Re: Interfacing to C. extern (C) variables

2011-06-26 Thread Robert Clipsham
On 26/06/2011 20:54, Alex_Dovhal wrote: I'd like to call C functions and use C variables in D module. D calls C functions just fine, but how can I use C variables? extern(C) extern int myCVar; -- Robert http://octarineparrot.com/

Re: how to reduce a debug symbol error?

2011-06-28 Thread Robert Clipsham
On 28/06/2011 22:47, Trass3r wrote: Starting my cl4d executable with 'gdb main -readnow' results in Reading symbols from main...expanding to full symbols...Die: DW_TAG_type_unit (abbrev 4, offset 0x6a) parent at offset: 0xb has children: FALSE attributes: DW_AT_byte_size (DW_FORM_data1)

Re: compile time introspection and code generation - automatically serialize to json

2011-07-21 Thread Robert Clipsham
On 21/07/2011 08:57, Tobias Pankrath wrote: Hi everyone, I'm taking a look at D again and asked myself, if it is possible to write a template mixin or something similiar that automatically serializes an object to json. For example: class MyClass { string memberA; int memberB;

Re: compile time introspection and code generation - automatically serialize to json

2011-07-21 Thread Robert Clipsham
On 21/07/2011 08:57, Tobias Pankrath wrote: Hi everyone, I'm taking a look at D again and asked myself, if it is possible to write a template mixin or something similiar that automatically serializes an object to json. For example: class MyClass { string memberA; int memberB;

Re: Need OMF MySQL lib that actually f^*^ works...

2011-07-22 Thread Robert Clipsham
On 22/07/2011 07:20, Nick Sabalausky wrote: Anyone have a known-working Windows OMF library for MySQL? Static or dynamic, I don't care. I've tried fucking everything and I can't get the dang thing to work. Static was a total no-go. With dynamic, using implib I got it to link, but calling any of

Re: Insert array into an AA

2011-08-16 Thread Robert Clipsham
On 16/08/2011 20:17, nrgyzer wrote: Hi everyone, I've the following: private static ubyte[][2][hash_t] classInstances; this() { classInstances[toHash()] = new ubyte[2]; // does not work } I want insert every class instance into the hashmap. Every class instance should be contained in

Re: Debug on OSX?

2011-09-06 Thread Robert Clipsham
On 06/09/2011 07:25, Jacob Carlborg wrote: On 2011-09-06 05:22, Dan Olson wrote: I tried dmd -gc like on linux but gdb on OSX doesn't seem happy. Is there a way to get the debuger to work with dmd on OSX? Thanks, Dan There are things that won't work with gdb and dmd on Mac OS X due to a bug

Re: How convice people that D it's wonderfull in a hour ?

2011-10-09 Thread Robert Clipsham
On 09/10/2011 11:00, Zardoz wrote: Recently I've been asked if I could give a speech about D in my university. It will be of one hour of long. I not respond yet, but I think that I will do it. Actually I have the problem that I don't know well how explain well too many features and things of D

Re: Is this a bug in __traits(hasMember..)?

2011-11-08 Thread Robert Clipsham
On 08/11/2011 20:09, Tobias Pankrath wrote: which is very confusing to me. Guess this is a bug? Tobias Looks like a bug to me. This works: struct Bag(S...) { alias S Types; } template Test(/*alias i,*/ B) { void fn() { foreach(t; B.Types) {

Re: Make a variable single-assignment?

2011-11-21 Thread Robert Clipsham
On 21/11/2011 14:04, Alex Rønne Petersen wrote: Hi, Is there any way to make a variable single-assignment, regardless of its type? I.e.: void foo() { some magical keyword? int i = 0; i = 2; // Error: i cannot be reassigned } I realize const and immutable will do this, but they are transitive

Re: Read text file, line by line?

2011-12-13 Thread Robert Clipsham
On 13/12/2011 13:58, Iain S wrote: How would one achieve this in D2? I have tried for a couple of hours now and have achieved nothing but stress. import std.stdio; void main() { foreach(line; File(myTextFile.txt).byLine()) { writefln(line); } } -- Robert

Re: Compile-time evaluation of real expressions?

2012-01-06 Thread Robert Clipsham
On 07/01/2012 00:31, H. S. Teoh wrote: I admit I've no idea how the D compiler implements compile-time evaluation, but is it possible for the compiler to actually emit code for compile-time functions containing asm blocks and, say, execute it in a sandbox, and read the values out from the

Re: Compile-time evaluation of real expressions?

2012-01-06 Thread Robert Clipsham
On 07/01/2012 02:28, H. S. Teoh wrote: On Sat, Jan 07, 2012 at 02:15:39AM +, Robert Clipsham wrote: On 07/01/2012 00:31, H. S. Teoh wrote: I admit I've no idea how the D compiler implements compile-time evaluation, but is it possible for the compiler to actually emit code for compile-time

Exceptions in safe D

2012-01-09 Thread Robert Clipsham
Are exceptions in safe D possible? I started trying to make my code @safe (there's no reason why it can't be as far as I'm aware), but I hit the following issue: @safe class MyException : Exception { this() { super(); } } void main() { throw new MyException(); }

Re: OOP Windows

2012-01-16 Thread Robert Clipsham
On 16/01/2012 00:34, DNewbie wrote: Is there a D version of this type of tutorial? https://www.relisoft.com/win32/index.htm This might be related to what you want: https://github.com/AndrejMitrovic/DWinProgramming -- Robert http://octarineparrot.com/

Re: D1/D2 co-install?

2009-05-17 Thread Robert Clipsham
BCS wrote: Does anyone have a good solution to installing both D1 and D2 on the same system? Possible solutions: * Rename the D2 dmd binary to dmd2 and make sure it uses a different config file for each to use the right libs. * Install them in different directories and use a script to

Re: Garbage collection in D

2009-06-03 Thread Robert Clipsham
Robert Clipsham wrote: After porting the D version to tango: D: 6.282s (ldmd -O5 -inline -release -L-s -singleobj gctest.d) C++: 4.435s (g++ -O5 gctest.d) This is on a C2D 2.2Ghz, 2GB RAM, Linux x86-64. I don't have java installed, so can't test that. Maybe if you're planning to use the GC

Re: array of functions

2009-06-05 Thread Robert Clipsham
Jarrett Billingsley wrote It can't evaluate func at compile-time because there is no way to create a delegate at compile-time. I believe that LDC used to support this, but had to remove the functionality due to some bugs with it/to be compatible with dmd.

Re: Creating a dynamic link library

2009-06-08 Thread Robert Clipsham
Fractal wrote: Hello Using Windows, I created a DLL with D, and when I try to create my test executable (also with D), the ImpLib program displays an error saying that there is no any exported function. The DLL source only contains a class with the export attribute like: export class Foo {

Re: Tango Jake or other build system for Linux

2009-06-14 Thread Robert Clipsham
Michal Minich wrote: I would like to compile programs on Linux using LDC and Tango using similar tool as is bundled with Windows version of Tango - jake.exe. This build tool is not included in Linux version of Tango and I'm not able to find it's source code anywhere. Is there any tool for

Re: Cross-references in ddoc

2009-07-04 Thread Robert Clipsham
Ary Borenszweig wrote: I've seen both Tango and phobos documentation and it's really hard to navigate. Consider this: class HttpPost { void[] write(Pump pump) } Pump has no link on it. I can't tell what Pump is. I can see the source code (in the web page) invokes super.write(pump), or

Re: Cross-references in ddoc

2009-07-04 Thread Robert Clipsham
Ary Borenszweig wrote: 4. Is there a tool to generate documentation with cross-references? dmd probably can do this, again I've never done it so don't know. No, it doesn't. I think it doesn't because semantic analysis isn't run when generating docs. Might be a good idea for a feature

Re: Detect runtime vs ctfe?

2009-11-28 Thread Robert Clipsham
Nick Sabalausky wrote: Is there an idiom, preferably D1, to detect whether or not the code is currently executing as a ctfe? Ie: void foo() { (static?) if( ) { // Run-time code here // that does stuff the CTFE engine chokes on } else { // CTFE

Re: boolean over multiple variables

2010-01-26 Thread Robert Clipsham
On 22/01/10 21:55, strtr wrote: This may be is a very basic question, but is there a way to let me omit a repeating variable when doing multiple boolean operations? if ( var == a || var == b || var == c || var == d) if ( var == (a || b || c || d) ) /** * Untested code, it works something

DMD on x86_64

2010-02-15 Thread Robert Clipsham
I've been wanting to try D2 properly for a while now, but as I use linux x86-64 I've had to resort to using a virtual machine, which is really off putting when I just want to play around with it. I've read multiple threads about getting dmd working with a multilib system, but I still can't get

Re: DMD on x86_64

2010-02-16 Thread Robert Clipsham
On 16/02/10 15:20, Jesse Phillips wrote: Robert Clipsham wrote: I don't use ubuntu, so those instructions don't apply to me. I don't either, but the instructions still apply to me. What distro are you using? If you figure it out, write up some instructions for it. I'm using Arch Linux

Re: DMD on x86_64

2010-02-17 Thread Robert Clipsham
On 17/02/10 11:06, Lutger wrote: If you manage to find the proper 32 bit libraries, there is a configuration file for ld where you can specify the search paths, should be: /etc/ld.so.conf The 64-bit distro's I have used fail to add the 32-bit lib paths to this file, even if you install the

Re: DMD on x86_64

2010-02-17 Thread Robert Clipsham
On 17/02/10 06:05, Jesse Phillips wrote: Oh, yeah Arch dropped most efforts to support 32bit didn't they. This I'm pretty sure they didn't... maybe they did on x86_64, I don't know. probably won't help but maybe trying dmd test.d -L-L/opt/lib32/lib -L-melf_i386 Already tried this, no luck

Re: DMD on x86_64

2010-02-17 Thread Robert Clipsham
On 17/02/10 16:58, Lars T. Kyllingstad wrote: Try typing: export LD_LIBRARY_PATH=/opt/lib32 before compiling. -Lars No luck unfortunately, I get all the same errors as when I use -L, (I believe -L is checked first anyway, not sure though).

Re: DMD on x86_64

2010-02-18 Thread Robert Clipsham
On 18/02/10 15:13, Jesse Phillips wrote: Please place them on Wiki4D, probably a sub-section under AMD64. If you don't I will, but I'll give you a chance :) http://www.prowiki.org/wiki4d/wiki.cgi?D__Tutorial/StartingWithD/Compiler/DMD Done, I hope it's alright, feel free to edit it as you

Re: segfaults

2010-02-23 Thread Robert Clipsham
On 23/02/10 02:14, Ellery Newcomer wrote: Is there any decent way to figure out where segfaults are coming from? e.g. 200k lines of bad code converted from java I tried gdb, and it didn't seem to work too well. Die: DW_TAG_type_unit (abbrev 3, offset 0x6d) parent at offset: 0xb has children:

Re: exceptions

2010-02-24 Thread Robert Clipsham
On 24/02/10 17:51, Ellery Newcomer wrote: import tango.core.tools.TraceExceptions; If you want to use gdb then type 'b _d_throw_exception' (or 'b _d_throw' for dmd) before you run your app. This will break on every exception thrown, so you may have to hit 'c' a few times to continue

Re: exceptions

2010-02-24 Thread Robert Clipsham
On 24/02/10 20:20, Ellery Newcomer wrote: Oooh! nice trick! Ah, it's '_d_th...@4' and quotes help. Yahoo! Do I need to do anything special to get stack tracing to work? when I try to compile a simple program it barfs on me and gives undefined reference to `dladdr' from import

Converting between string and const char*

2010-03-03 Thread Robert Clipsham
Hi all, I'm playing with D2/Phobos, and was wondering what the right way to convert between const char* and string is? In D1/Tango I could use toStringz() and fromStringz() from tango.stdc.stringz, I can only find an equivalent for toStringz in D2/Phobos though, in std.string. What can I use

Re: how to implement vector structs with different number of components without much code duplication?

2010-03-12 Thread Robert Clipsham
On 12/03/10 23:20, Trass3r wrote: Is there maybe a way to implement commonly needed vector classes Vec2, Vec3, Vec4 without having to implement the same basic code over and over again? The following are a few libraries that have already implemented vector classes/structs for Vec2 .. Vec4,

Re: Two problems with op overload

2010-03-14 Thread Robert Clipsham
On 14/03/10 13:14, bearophile wrote: I have tried to use the new operators of D2 and I have found several problems. This small program shows two of those problems (some of my problems can be caused by my improper usage, I'm trying to tell apart the operator overloading bugs from my improper

Containers for D2

2010-03-15 Thread Robert Clipsham
Hi all, Is there a library with some container classes/structs around for D2 yet? More specifically, I'm looking for a CircularList/Queue implementation. I read Andrei was working on something for phobos a while back, it doesn't seem to be available yet though. Thanks, Robert

Re: Containers for D2

2010-03-15 Thread Robert Clipsham
On 15/03/10 20:38, Steven Schveighoffer wrote: Not yet. I am in the process of porting dcollections (www.dsource.org/projects/dcollections), but I don't have an ETA, as I have little free time ATM. Not sure where Andrei is on his lib. Thanks, I'll keep an eye on it :) I don't have a Queue or

Returning this from a const member

2010-03-20 Thread Robert Clipsham
According to http://digitalmars.com/d/2.0/const3.html: Const member functions are functions that are not allowed to change any part of the object through the member function's this reference. With the following code: class Foo { Foo myFoo() const {

Re: Returning this from a const member

2010-03-20 Thread Robert Clipsham
On 21/03/10 00:18, bearophile wrote: Robert Clipsham: Why is this? It's not a hard question. This code compiles: class Foo { const(Foo) myFoo() const { return this; } } void main() { auto f = new Foo; } It's just in a const function the this is const, so if you want

Re: generic + numeric + literals = abomination

2010-03-27 Thread Robert Clipsham
On 27/03/10 10:20, so wrote: In C++! I have a type defined in the core library like.. typedef float scalar; //typedef double scalar; // -- whole framework is now double precision alias float scalar; //alias double scalar; Next i instantiate vectors, matrices etc... from templates. typedef

Re: -static and dmd

2010-03-28 Thread Robert Clipsham
On 28/03/10 12:35, Robert Clipsham wrote: I don't think dmd offers a way to do this by default, your best bet would be to add -static to the makefile and see how it goes. I just saw Mike's reply, I notice I misread your question, sorry. I'd also try what he said, -L-static should do it.

Re: Comparing Two Type Tuples

2010-04-04 Thread Robert Clipsham
On 04/04/10 22:05, Daniel Ribeiro Maciel wrote: Heya ppl! I was wondering how could I write a function that takes two Type Tuples as arguments and returns true if they are match. Could anyone help me with this? Thanks! Based on Justin's code, I came up with this to remove the need to pass

Re: strange template syntax

2010-04-11 Thread Robert Clipsham
On 11/04/10 15:48, Philippe Sigaud wrote: Hello, some time ago, chris (ruunhb) posted something on his Dspec project, where he used a template syntax I didn't know: void each(alias array, T : T[] = typeof(array))(void delegate(T item) dg) { foreach(T i; array) dg(i); } int[]

Re: strange template syntax

2010-04-11 Thread Robert Clipsham
On 11/04/10 16:01, Robert Clipsham wrote: When using your method, you have to use: each!(array, typeof(array))((int item) {writefln(%d, item+b)}); (I believe this is a bug, dmd should be able to deduce the type here). As for the syntax, you can do this with any function in D: void

Re: Code speed

2010-04-14 Thread Robert Clipsham
On 14/04/10 20:54, Don wrote: I have a vague recollection that correctly-rounded pow() will require bigint (can't quite remember, though). I'm also concerned about build tools -- I don't want them to have to know about the dependency. As a bare minimum, the error message will need to improve

Re: equivalent of C++ implicit constructors and conversion operators

2010-04-23 Thread Robert Clipsham
On 23/04/10 17:22, #ponce wrote: In C++ implicit constructors and conversion operators allow a user-defined type to act quite like a builtin-type. struct half { half(float x);l inline operator float() const; } allows to write: half x = 1.f; float f = x; and this

Re: Arrays of many different (sub)classes

2010-04-24 Thread Robert Clipsham
On 24/04/10 20:06, Joseph Wakeling wrote: Hello all, Occasionally in C++ I find it useful to build an array which contains classes of multiple different types all using the same interface -- by constructing an array of pointers to some common base class, e.g. class BaseClass { // blah,

Re: structs, templates, alias

2010-04-25 Thread Robert Clipsham
On 25/04/10 19:15, Ellery Newcomer wrote: Yeah, that's about what I do. The trouble is getting blit to know which field is the length field. I suppose you could pass an index into the tuple to the substructure. That still wouldn't fix the substructure being able to modify the field length. I

Re: structs, templates, alias

2010-04-25 Thread Robert Clipsham
On 25/04/10 20:32, Ellery Newcomer wrote: Hmm. Either I'm not understanding you or I didn't explain something clearly. something like this struct Rec2{ ushort index; ushort nparams; ushort options; ushort[] params; // this has nparams elements } Rec2 rec2 = {index:1, nparams:2, options:~0,

Re: structs, templates, alias

2010-04-25 Thread Robert Clipsham
On 25/04/10 21:21, Ellery Newcomer wrote: struct Rec2{ ushort index; ushort nparams; ushort options; NoLength!(Parameter[], nparams) params; } ... foreach(i,m; rec2.tupleof){ static if(isNoLength!(typeof(m))){ auto len = lenField!(rec2, typeof(m)); ... }else{ ... } } The other thing is, once

Re: Operators overloading in D2 again

2010-05-02 Thread Robert Clipsham
On 02/05/10 07:14, Dan wrote: Hi everyone, is there anyway to do this with operators overloading? : The following code does it: class Tester { double x = 0.0; T opBinary(string op:+, T)(T value) if(is(T : double)) { return x+value; }

Re: .ptr and .value

2010-05-05 Thread Robert Clipsham
On 05/05/10 23:58, strtr wrote: But wouldn't this (property sugar?) be nice? I don't like it, I can see why you would though :) int myInt = 6; int* ptrToMyInt = myInt.ptr; int myInt2 = ptrToMyInt.deref; // you probably didn't mean *myInt ;) I guess this is what I get for writing code

  1   2   >