D-BUS supplies both a system daemon (for events such as "new hardware device
added" or "printer queue changed") and a per-user-login-session daemon (for
general IPC needs among user applications). Also, the message bus is built on
top of a general one-to-one message passing framework, which can be used by
any two apps to communicate directly (without going through the message bus
daemon).
DDD is the Data Display Debugger, a common graphical front-end for
GDB, DBX, and XDB debuggers.
DDD is an Motif application that besides the "usual" features such as viewing
source texts and breakpoints, DDD provides a _graphical_data_display_, where
data structures are displayed as graphs. A simple mouse click dereferences
pointers or reveals structure contents. Complex data structures can be
explored incrementally and interactively, using automatic layout if
preferred. Each time the program stops, the data display reflects the
current variable values.
Data Display Debugger requires pty(4) functionality to talk to GDB, so
make sure to either load appropriate kernel module or use custom kernel
with pty(4) compiled in.
devhelp is a developer's help browser for GNOME 2. It is a GUI
frontend to books about GNOME development, providing cross-referenced,
easily searchable information. Many books are available, and can
be found through the project's website.
-Adam Weinberger <adamw@FreeBSD.org>
Deheader analyzes C and C++ files to determine which header inclusions
can be removed while still allowing them to compile. This may result in
substantial improvements in compilation time, especially on large C++
projects; it also sometimes exposes dependencies and cohesions of which
developers were unaware.
split-sequence is a small library to split sequences in to a list of
subsequences delimited by an object satisfying a test function. It is
a member of the Common Lisp Utilities family of programs, designed by
community consensus.
Distel extends Emacs Lisp with Erlang-style processes and message
passing, and the Erlang distribution protocol. With this you can
write Emacs Lisp processes and have them communicate with normal
Erlang processes in real nodes. Includes some useful applications
(Dynamic TAGS, debugger, process list, profiler and more).
trivial-features ensures consistent *FEATURES* across multiple
Common Lisp implementations.
For example, on MacOS X platforms, while most Lisps push :DARWIN
to *FEATURES*, CLISP and Allegro push :MACOS and :MACOSX instead,
respectively. Some Lisps might not push any feature suggesting MacOS
X at all. trivial-features will make sure all Lisps will have :DARWIN
in the *FEATURES* list when running on MacOS X.
trivial-gray-streams is a trivial library which provides an extremely
thin compatibility layer for Gray streams.
From David N. Gray's STREAM-DEFINITION-BY-USER proposal:
"Common Lisp does not provide a standard way for users to define
their own streams for use by the standard I/O functions. This impedes
the development of window systems for Common Lisp because, while
there are standard Common Lisp I/O functions and there are beginning
to be standard window systems, there is no portable way to connect
them together to make a portable Common Lisp window system. There
are also many applications where users might want to define their
own filter streams for doing things like printer device control,
report formatting, character code translation, or encryption/decryption."
Dynamic programming is a simple yet powerful technique for solving optimisation
problems. When the problem at hand can be split in smaller problems, such that
the smaller solutions of an optimal solution are themselves optimal, dynamic
programming can be used to avoid re-calculating solutions to shared sub-
problems.
Simple problems are both easily specified and easily implemented, but for
complex problems translating the specification of the problem into the
implementation of the dynamic programming algorithm becomes tedious and error
prone. The goal of DPROG is to alleviate this by automatically translating the
specification of the problem into an implementation of the solution.
The DPROG language is designed to be close to the ``mathematical'' notation
used for expressing recurrences, thus making it easier to specify the problem.
Using the DPROG compiler, the manual implementation step can be completely
avoided.
The dwarfdump tool prints the various elements of DWARF debugging
information found in ELF object files.