Hunch

Tango 0.99.6

April 28, 2008 by Rasmus, tagged d, dsss, gdc, osx, programming, tango and textmate, filed under software

gdc-tango-0996

Tango 0.99.6 has just been released. I’m now part of the team and is maintaining the Mac OS X bundle, which was previously announced here.

General highlights in this release:

  • A thread pool module, thanks to Anders Halager
  • Root finding algorithms by Don Clugston
  • Updated for DMD 1.029
  • Universal binaries for Mac OSX

Updates to the Mac OS X bundle:

  • New version of GDC and Tango
  • Includes DSSS
  • Includes a TextMate bundle
  • Source code integrated into the Tango API documentation

Download

Since dsource.org has had alot of problems lately, I’ve put up a (temporary) mirror:
http://d.hunch.se/tango/0.99.6/

13

Say it in D

April 13, 2008 by Rasmus, tagged code, d, osx, programming and tango, filed under software

gdc-tango-installer-screenshot

I just released a true Mac-style simple installer package which gives you a complete D with Tango-programming environment.

Included is GDC with libgtango together with a complete set of D and Tango documentation as well as about 50 different examples with complete source code. Installs into standard paths and does not interfere with your current environment (using isolating prefix /usr/share/gdc). This package does not require Apple Developer tools, even though it is highly recommended.

D is a general purpose systems and applications programming language. It is a higher level language than C++, but retains the ability to write high performance code and interface directly with the operating system API’s and with hardware. D is well suited to writing medium to large scale million line programs with teams of developers. D is easy to learn, provides many capabilities to aid the programmer, and is well suited to aggressive compiler optimization technology.

/* Shows how to create a basic socket client, and how to converse
   with a remote server. */
import tango.io.Console;
import tango.net.SocketConduit,
       tango.net.InternetAddress;

void main() {
  // make a connection request to the server
  auto request = new SocketConduit;
  request.connect(new InternetAddress("localhost", 8080));
  request.output.write("hello\n");

  // wait for response (there is an optional timeout supported)
  char[64] response;
  auto size = request.input.read(response);

  // close socket
  request.close;

  // display server response
  Cout(response[0..size]).newline;
}