Re: Moving to D

2011-01-06 Thread Travis Boucher
On 01/06/11 18:30, Vladimir Panteleev wrote: On Fri, 07 Jan 2011 03:17:50 +0200, Michel Fortin wrote: Easy forking is nice, but it could be a problem in our case. The license for the backend is not open-source enough for someone to republish it (in a separate own repo) without Walter's permiss

Re: Moving to D

2011-01-06 Thread Travis Boucher
On 01/06/11 17:55, Vladimir Panteleev wrote: Disclaimer: I use Git, and avoid Mercurial if I can mainly because I don't want to learn another VCS. Nevertheless, I tried to be objective above. As I mentioned on IRC, I strongly believe this must be a fully-informed decision, since changing VCSes a

lgamma & gamma reentrant

2011-01-05 Thread Travis Boucher
I need some feedback from some of the math nerds on the list. The functions gammaf and lgammaf are not reentrant and set a global 'signgam' to indicate the sign. Currently it looks like druntime/phobos2 use these non-reentrant versions, which could cause some issues in a threaded environment.

Re: Advocacy (Was: Who here actually uses D?)

2011-01-03 Thread Travis Boucher
On 11-01-02 03:35 AM, Walter Bright wrote: bearophile wrote: But D is not currently the best fit to write a kernel Based on what? Currently the issues I see with D in kernel land is a fat runtime and type system. Although you can reduce the runtime requirements, you end up losing alot of

Re: DMD Automatic Dependency Linking

2010-11-19 Thread Travis Boucher
On 10-11-16 12:04 PM, Matthias Pleh wrote: Am 16.11.2010 18:38, schrieb Travis: The one thing I have been wondering however is why doesn't DMD have a flag for easy project building which compiles dependencies in a single command. [...] Thanks, tbone Have you tried 'rdmd

DMD Automatic Dependency Linking

2010-11-16 Thread Travis
DMD currently follows a fairly standard compiler methodology: - Compile a bunch of source files into binary objects (to generate .o). - Act as a front end to an archiver (to generate .a). - Act as a front end to a linker (to generate final binary). This makes integration with most build systems a

Re: Using DMD2 on Ubuntu 9.04 x64?

2010-02-01 Thread Travis Boucher
Trip Volpe wrote: Nick Sabalausky Wrote: I haven't gotten into D2 yet, but D1 (DMD) works fine on Ubuntu 9.04 for me. Hm, just tried DMD 1.0, same exact result. Do you have a 32-bit installation of Ubuntu? Try the gdc-4.1 package. Its an old ass dmd-fe, but still works well and is no hass

Re: Tidy auto [Was: Re: @disable]

2010-01-19 Thread Travis Boucher
Jerry Quinn wrote: bearophile Wrote: myself). If this is true then a syntax like: auto immutable x = y * 2; can be seen as too much long and boring to write all the time, so the "immutable" keyword may need to be changed again :-) For example into "val" (also as "retard" has said), so it beco

Re: D+Ubuntu+SDL_image said undefined reference

2009-12-30 Thread Travis Boucher
alisue wrote: Trass3r Wrote: Michael P. schrieb: How come you are not using something like rebuild or DSSS? don't forget xfBuild ;) Well... Because I haven't heard about them. I knew 'rebuild' and 'DSSS' but I thought it might be too old (For Mac OS X 10.4 I use Mac OS X 10.6 and Most

Re: dmd-x64

2009-12-23 Thread Travis Boucher
alkor wrote: thanks, w -frelease gdc makes a good result - faster then dmd's one & normal size Thats because -frelease removes certain array bounds checking code, assertion testing and I think a few other things.

Re: dmd-x64

2009-12-23 Thread Travis Boucher
alkor wrote: $ dmd -O -release -oftest-dmd test-performance.d && strip test-dmd $ gdc -O3 test-performance.d -o test-gdc && strip test-gdc so, dmd's code optimization rules Walter made nice lang & good compiler - it's true Add -frelease to gdc (if you want a fair comparison), and look at t

Re: dmd-x64

2009-12-23 Thread Travis Boucher
alkor wrote: i've tested g++, gdc & dmd on an ordinary task - processing compressed data w using zlib all compilers're made from sources, target - gentoo x32 i686 c++ & d codes are simplest & alike but, dmd makes faster result then g++ and gdc loses g++ 'cause gdc'es not have any optimization

Re: mixin not overloading other mixins, Bug or feature?

2009-12-22 Thread Travis Boucher
BCS wrote: By don't overload, I'm taking about "defined to not overload". That removes "bug" leaving "misfeature", and "feature". I think the rational is that allowing them to overload makes the order of expansion hard to impossible to work out. For example: template Bar(T) { const bool v =

Re: dmd-x64

2009-12-22 Thread Travis Boucher
bearophile wrote: Travis Boucher: Although it's design promotes all sorta of optimization techniques, its still pretty young (compared to gcc) and just doesn't have all of the optimization stuff gcc has. I have already done hundred of tests and benchmarks with LDC and llvm-gcc

Re: dmd-x64

2009-12-22 Thread Travis Boucher
bearophile wrote: Travis Boucher: ldc on the other hand has a great structure which promotes using it as a backend for a different front end, however it doesn't (yet) generic code nearly as good as gcc. Can you explain better what do you mean? Bye, bearophile llvm has been designe

Re: dmd-x64

2009-12-22 Thread Travis Boucher
Matt wrote: On 12/22/09 2:34 AM, Travis Boucher wrote: alkor wrote: it's bad d's good enough to make real projects, but complier MUST supports linux x64 as a target platform believe, it's time to make 64-bit code generation is it possible to take back-end (i.e. code generati

Re: mixin not overloading other mixins, Bug or feature?

2009-12-22 Thread Travis Boucher
BCS wrote: Hello Travis, float func1(float[2] v) { return v[0]; } float func1(float[3] v) { return v[0]; } template Test (size_t S) { float func2(float[S] v) { return v[0]; } } mixin Test!(2); mixin Test!(3); void main() { float[2] a2; func1(a2); func2(a2); } Here the call to func1 is fine

Re: dmd-x64

2009-12-22 Thread Travis Boucher
alkor wrote: it's bad d's good enough to make real projects, but complier MUST supports linux x64 as a target platform believe, it's time to make 64-bit code generation is it possible to take back-end (i.e. code generation) from gcc or it's too complicated? Look up gdc and ldc, both can tar

mixin not overloading other mixins, Bug or feature?

2009-12-21 Thread Travis Boucher
float func1(float[2] v) { return v[0]; } float func1(float[3] v) { return v[0]; } template Test (size_t S) { float func2(float[S] v) { return v[0]; } } mixin Test!(2); mixin Test!(3); void main() { float[2] a2; func1(a2); func2(a2); } Here the call to func1 is

Re: Short list with things to finish for D2

2009-11-24 Thread Travis Boucher
Denis Koroskin wrote: On Tue, 24 Nov 2009 14:00:18 +0300, Gerrit Wichert wrote: how about opLimit ? I recall that Visual Basic has UBound function that returns upper bound of a multi-dimensional array: Dim a(100, 5, 4) As Byte UBound(a, 1) -> 100 UBound(a, 2) -> 5 UBound(a, 3) -> 4 Wor

Re: thank's ddmd !

2009-11-23 Thread Travis Boucher
Bill Baxter wrote: On Mon, Nov 23, 2009 at 11:50 AM, Travis Boucher wrote: Denis Koroskin wrote: Travis Boucher has shown his interest in contribution, but he currently has issues with D2 not working on FreeBSD. To quote him: I have dmd working, and druntime (which was a quick hack to make

Re: thank's ddmd !

2009-11-23 Thread Travis Boucher
Denis Koroskin wrote: Travis Boucher has shown his interest in contribution, but he currently has issues with D2 not working on FreeBSD. To quote him: I have dmd working, and druntime (which was a quick hack to make work, but should work well enough). The problems I am having at the moment

Re: Conspiracy Theory #1

2009-11-22 Thread Travis Boucher
Don wrote: Travis Boucher wrote: retard wrote: Sat, 21 Nov 2009 06:03:46 -0700, Travis Boucher wrote: The future of D to me is very uncertain. I see some very bright possibilities in the embedded area and the web cluster area (these are my 2 areas, so I can't speak on the scien

Re: removal of cruft from D (OT: XML rant n' rage, YAML)

2009-11-21 Thread Travis Boucher
Chad J wrote: Justin Johansson wrote: I wasn't thinking XSLT particularly. By XML aware, I meant awareness of (any parts of) the wider XML ecosystem in general and W3C related specs so not just XML syntax but including XML Schema Datatypes for example. Obviously XSLT is something that would be

Re: removal of cruft from D

2009-11-21 Thread Travis Boucher
Leandro Lucarella wrote: Walter Bright, el 21 de noviembre a las 11:51 me escribiste: Nick Sabalausky wrote: Yes! Capitalization consistency in the predefined versions! If it needs to be worded as a "removal", then "Remove version's capitalization inconsistencies" ;). The current state of that

Re: Conspiracy Theory #1

2009-11-21 Thread Travis Boucher
Nick Sabalausky wrote: "dsimcha" wrote in message news:he6aah$4d...@digitalmars.com... == Quote from Denis Koroskin (2kor...@gmail.com)'s article Aren't uint array allocations have hasPointers flag set off? I always thought they aren't scanned for pointers (unlike, say, void[]). Right, but the

Re: Conspiracy Theory #1

2009-11-21 Thread Travis Boucher
retard wrote: Sat, 21 Nov 2009 06:03:46 -0700, Travis Boucher wrote: The future of D to me is very uncertain. I see some very bright possibilities in the embedded area and the web cluster area (these are my 2 areas, so I can't speak on the scientific applications). However the li

Re: Short list with things to finish for D2

2009-11-21 Thread Travis Boucher
Justin Johansson wrote: Stewart Gordon wrote: Denis Koroskin wrote: On Sat, 21 Nov 2009 09:06:53 +0300, Don wrote: Justin Johansson wrote: Stewart Gordon wrote: Why I believe opLength and opSize are also wrong names: http://www.digitalmars.com/d/archives/digitalmars/D/announce/Re_opDoll

Re: removal of cruft from D

2009-11-21 Thread Travis Boucher
Nick Sabalausky wrote: "Travis Boucher" wrote in message news:he7apn$2cr...@digitalmars.com... Yigal Chripun wrote: Based on recent discussions on the NG a few features were deprecated/removed from D, such as typedef and C style struct initializers. IMO this cleanup and polish is

Re: Conspiracy Theory #1

2009-11-21 Thread Travis Boucher
retard wrote: Of course the major issues limiting Web 2.0 adoption are unreliable, high latency, expensive communication channels. Another is that the technologies have not matured on non-x86/windows platforms. I bought a new cell phone recently and can't really play any videos with it even

Re: removal of cruft from D

2009-11-20 Thread Travis Boucher
Yigal Chripun wrote: Based on recent discussions on the NG a few features were deprecated/removed from D, such as typedef and C style struct initializers. IMO this cleanup and polish is important and all successful languages do such cleanup for major releases (Python and Ruby come to mind). I'

Re: Conspiracy Theory #1

2009-11-20 Thread Travis Boucher
Leandro Lucarella wrote: dsimcha, el 20 de noviembre a las 16:24 me escribiste: Right, but they can still be the target of false pointers. In this case, false pointers keep each instance of foo[] alive, leading to severe memory leaks. But the issue is more of a GC implementation issue then a l

Re: Conspiracy Theory #1

2009-11-20 Thread Travis Boucher
Denis Koroskin wrote: On Fri, 20 Nov 2009 19:24:05 +0300, dsimcha wrote: == Quote from Travis Boucher (boucher.tra...@gmail.com)'s article dsimcha wrote: > == Quote from Denis Koroskin (2kor...@gmail.com)'s article >> On Fri, 20 Nov 2009 17:28:07 +0300, dsimcha wrote:

Re: Conspiracy Theory #1

2009-11-20 Thread Travis Boucher
dsimcha wrote: == Quote from Denis Koroskin (2kor...@gmail.com)'s article On Fri, 20 Nov 2009 17:28:07 +0300, dsimcha wrote: == Quote from Travis Boucher (boucher.tra...@gmail.com)'s article dsimcha wrote: == Quote from Travis Boucher (boucher.tra...@gmail.com)'s article S

Re: Can we drop static struct initializers?

2009-11-20 Thread Travis Boucher
Leandro Lucarella wrote: Walter Bright, el 19 de noviembre a las 23:53 me escribiste: It's not difficult to fix these compiler problems, but I'm just not sure if it's worth implementing. Maybe they should just be dropped? (The { field: value } style anyway). Funny, I've been thinking the same t

Re: Conspiracy Theory #1

2009-11-19 Thread Travis Boucher
Michael Farnsworth wrote: I love it when I hear "people don't care about performance anymore," because in my experience that couldn't be further from the truth. It sorta reminds me of the "Apple is dying" argument that crops up every so often. There will probably always be a market for Appl

Re: Conspiracy Theory #1

2009-11-19 Thread Travis Boucher
dsimcha wrote: == Quote from Travis Boucher (boucher.tra...@gmail.com)'s article Sean Kelly wrote: Its harder to create a memory leak in D then it is to prevent one in C. void doStuff() { uint[] foo = new uint[100_000_000]; } void main() { while(true) { do

Re: Conspiracy Theory #1

2009-11-19 Thread Travis Boucher
Sean Kelly wrote: Travis Boucher Wrote: The fast, highly optimized web code is a very niche market. I'm not sure it will remain this way for long. Look at social networking sites, where people spend a great deal of their time in what are essentially user-created apps. Make them ha

Re: Conspiracy Theory #1

2009-11-19 Thread Travis Boucher
Sean Kelly wrote: retard Wrote: Thu, 19 Nov 2009 11:47:46 -0800, Bill Baxter wrote: It seems to me that MS expects C++ to go the way of FORTRAN and COBAL. Still there, still used, but by an increasingly small number of people for a small (but important!) subset of things. Note how MS still

Re: Conspiracy Theory #1

2009-11-19 Thread Travis Boucher
Andrei Alexandrescu wrote: Travis Boucher wrote: Andrei Alexandrescu wrote: Today that reality is very visible already from certain spots. I've recently switched fields from machine learning/nlp research to web/industry. Although the fields are apparently very different, they have a l

Re: Conspiracy Theory #1

2009-11-19 Thread Travis Boucher
Andrei Alexandrescu wrote: Today that reality is very visible already from certain spots. I've recently switched fields from machine learning/nlp research to web/industry. Although the fields are apparently very different, they have a lot in common, along with the simple adage that obsession

Re: Short list with things to finish for D2

2009-11-19 Thread Travis Boucher
aarti_pl wrote: Andrei Alexandrescu pisze: We're entering the finale of D2 and I want to keep a short list of things that must be done and integrated in the release. It is clearly understood by all of us that there are many things that could and probably should be done. 1. Currently Walter a

Re: Short list with things to finish for D2

2009-11-18 Thread Travis Boucher
Rainer Deyke wrote: Andrei Alexandrescu wrote: I am thinking that representing operators by their exact token representation is a principled approach because it allows for unambiguous mapping, testing with if and static if, and also allows saving source code by using only one string mixin. It wo

Re: Short list with things to finish for D2

2009-11-18 Thread Travis Boucher
grauzone wrote: If I had a better proposal, I'd post it. I'm just saying that's it's a bad hack, that _although_ solves the problem, will have negative side effects for other reasons. Does the current proposal make things simpler at all? All you're doing is to enable the programmer to "fix"

Re: Short list with things to finish for D2

2009-11-18 Thread Travis Boucher
bearophile wrote: Andrei Alexandrescu: * Encode operators by compile-time strings. For example, instead of the plethora of opAdd, opMul, ..., we'd have this: T opBinary(string op)(T rhs) { ... } The string is "+", "*", etc. Can you show an example of defining an operator, like a minus, wit

Re: version() abuse! Note of library writers.

2009-11-18 Thread Travis Boucher
Another note, something I see in tango and I don't know why I didn't think about it before. If you want to require bash, use: #!/usr/bin/env bash instead of #!/bin/bash #!/usr/bin/bash

Re: version() abuse! Note of library writers.

2009-11-18 Thread Travis Boucher
Anders F Björklund wrote: Travis Boucher wrote: The use of version(...) in D has the potential for some very elegant portable code design. However, from most of the libraries I have seen, it is abused and misused turning it into a portability nightmare. It has done this for years, so it&#

version() abuse! Note of library writers.

2009-11-17 Thread Travis Boucher
e Microsoft would do, just breaking enough compatibility to create vendor lock in. Thanks, Travis

Re: String Mixins

2009-11-17 Thread Travis Boucher
Bill Baxter wrote: On Mon, Nov 16, 2009 at 3:42 PM, Travis Boucher wrote: I've been playing with string mixins, and they are very powerful. One thing I can't figure out is what exactly can and cannot be evaluated at compile time. For example: char[] myFunc1() { return

String Mixins

2009-11-16 Thread Travis Boucher
I've been playing with string mixins, and they are very powerful. One thing I can't figure out is what exactly can and cannot be evaluated at compile time. For example: char[] myFunc1() { return "int a = 1;"; } char[] myFunc2() { char[] myFunc3() { return

Re: thank's ddmd !

2009-11-09 Thread Travis Boucher
zsxxsz wrote: == Quote from dolive (doliv...@sina.com)'s article thank's ddmd ! it��s too great ! http://www.dsource.org/projects/ddmd dolive Greate work! But it doesn't support LINUX yet:( Once you get it running under linux, I'll be more then happy to make sure all of the freebsd issues g

Re: Request for comment _ survey of the 'D programming language ' community.

2009-11-08 Thread Travis Boucher
Nick B wrote: What is the definition that this community is succeeding / making progress ? I would like to propose there is _only_ one. That the community is growing from year to year. From ten years ago when Walter, started the D project it certainly has grown, but compared to one year a

Re: Arrays passed by almost reference?

2009-11-05 Thread Travis Boucher
I am not fully against pass-by-ref arrays, I just think in passing by reference all of the time could have some performance implications. OK, make 2 different types then: slices (value types, can't append, they are only a view on other's data) and dynamic arrays (reference type, can append, but

Re: Arrays passed by almost reference?

2009-11-05 Thread Travis Boucher
Leandro Lucarella wrote: Andrei Alexandrescu, el 5 de noviembre a las 16:10 me escribiste: Ali Cehreli wrote: Thanks for all the responses. And yes, I know that 'ref' is what works for me here. I am trying to figure out whether I should develop a guideline like "always pass arrays with 'ref'

Re: Operator overloading and loop fusion

2009-11-05 Thread Travis Boucher
div0 wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Andrei Alexandrescu wrote: I wanted to discuss operator overloading a little bit. A good starting point is Don's proposal http://www.prowiki.org/wiki4d/wiki.cgi?LanguageDevel/DIPs/DIP7 Just read it and I hate it. Nobody is smart eno

Re: Arrays passed by almost reference?

2009-11-05 Thread Travis Boucher
dsimcha wrote: == Quote from Ali Cehreli (acehr...@yahoo.com)'s article I haven't started reading Andrei's chapter on arrays yet. I hope I won't find out that the following behavior is expected. :) import std.cstream; void modify(int[] a) { a[0] = 1; a ~= 2; dout.writefln("During:

Re: Introducing Myself

2009-11-05 Thread Travis Boucher
Saaa wrote: Travis Boucher wrote I guess I should introduce myself. Hi, I'm Travis, and I am a code-a-holic and general purpose unix geek. Hi In comes D. I love learning new things, and D is the most exciting thing I have gotten into the past 5 years. I hope to become part o

Re: Template Base Classes, Refering to typeof(this)

2009-11-04 Thread Travis Boucher
Robert Jacques wrote: On Wed, 04 Nov 2009 13:35:45 -0500, Travis Boucher wrote: I am writing a generic vector base class. The class implements all of the operator overloads so I don't have to implement them over and over and over for each type of vector class. class VectorBase(siz

Re: Template Base Classes, Refering to typeof(this)

2009-11-04 Thread Travis Boucher
Ellery Newcomer wrote: Travis Boucher wrote: Any hints on how to implement this so I can keep my original declaration? class VectorBase(size_t S, T) Make that bugger a struct or forget about opAssign. Why wouldn't opAssign work for a class? (I don't have a problem with structs,

Introducing Myself

2009-11-04 Thread Travis Boucher
I guess I should introduce myself. Hi, I'm Travis, and I am a code-a-holic and general purpose unix geek. I heard about D a long time ago, but never took a good look at it. A few weeks ago a friend of mine suggested I look at D when I was brushing up on some more advanced uses of C++ (

Template Base Classes, Refering to typeof(this)

2009-11-04 Thread Travis Boucher
I am writing a generic vector base class. The class implements all of the operator overloads so I don't have to implement them over and over and over for each type of vector class. class VectorBase(size_t S, T) { T[S] data; ... } class Vector3f : VectorBase!(3, float) { ... }

Re: (Phobos - SocketStream) Am I doing something wrong or is this a

2009-11-04 Thread Travis Boucher
Zane wrote: Jesse Phillips Wrote: On Tue, 03 Nov 2009 20:05:17 -0500, Zane wrote: If I am to receive these in arbitrarily sized chunks for concatenation, I don't see a sensible way of constructing a loop. Example? Zane You can use the number of bytes read to determine and use string slicing