Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

Tango Features

Tango is a library with two functions:

  • It is a complete runtime for the D programming language
  • It provides a sizable set of programmer friendly modules

The Tango project also tries to provide quality documentation for as large portions of the library as possible.

Runtime library

  • Thread:
    • Thread local storage
    • Fibers
  • Garbage Collector:
    • One implementation for all platforms and compilers
    • A consistent API that should accomodate for additional GC implementations with different characteristics

Public API

  • Core functionality
    • Arrays, BitArrays and other low level routines
    • Variant type
  • Containers
    • A comprehensive set of containers inspired by Doug Lea's work
  • I/O
    • A flexible and efficient framework that adapts well to all kinds of I/O
    • Simple stream wrappers for most common tasks
    • Easy filtering of data using the same streams
    • Protocols for reading and writing data
    • Non-blocking IO using efficient selectors
    • Extensive digest and compression suite; ciphers and encoding planned
  • VFS
    • Virtual File System with adapters for local filesystems, zip archives and FTP sites
  • C API
    • Full set of Posix headers
  • Logging framework
    • Inspired by Log4J
  • Math
    • Standard math functionality completely implemented in D
    • Provides almost all functionality from the IEEE 754R draft standard (including the optional extensions)
    • First standard library to make use of NaN payloads
    • API is structured for comprehensibility and for significant future expansion
    • BigInt
  • Meta functionality
    • Type traits
  • Net
    • TCP/IP streams, Datagram and Multicast support along with DNS resolution etc.
    • Classes to accommodate low level networking and to further integrate with the I/O framework
    • FTP client
    • HTTP client
  • System
    • Comprehensive set of bindings to common C API's like Standard C, Posix and Win32
    • Inventive process manipulation, that use the I/O framework to handle the pipes
  • Text tools
    • Conversion to and from basic types and strings
    • Formatting, using a new and more flexible format string format
    • Stream iterators
    • Unicode handling
    • Text utility functions
  • Synchronization
    • Various thread-synchronization primitives
  • Localization
    • Modules to facilitate localized output
  • Date & Time
    • UTC and local clocks, DateTime, calendars, StopWatch timer and more
  • Utilities
    • Path operations, argument parsing and conversion to and from all types

Documentation

  • Examples
  • Tutorials
  • A reference manual