Ignore:
Timestamp:
03/11/2020 05:05:02 PM (4 years ago)
Author:
Pierre Labastie <pieere@…>
Branches:
10.0, 10.1, 11.0, 11.1, 11.2, 11.3, 12.0, 12.1, kea, ken/TL2024, ken/inkscape-core-mods, ken/tuningfonts, lazarus, lxqt, plabs/newcss, plabs/python-mods, python3.11, qt5new, rahul/power-profiles-daemon, renodr/vulkan-addition, trunk, upgradedb, xry111/intltool, xry111/llvm18, xry111/soup3, xry111/test-20220226, xry111/xf86-video-removal
Children:
5ab87cfa
Parents:
09794600
Message:

Format "other programming tools, and update a few entries. See also #13255.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@22833 af4574ff-66df-0310-9fd7-8a98e5e911e0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • general/prog/other-tools.xml

    r09794600 r1a629196  
    2323    <title>Introduction</title>
    2424
    25     <para>This section is provided to show you some additional programming
    26     tools for which instructions have not yet been created in the book or for
    27     those that are not appropriate for the book. Note that these packages may
    28     not have been tested by the BLFS team, but their mention here is meant to
    29     be a convenient source of additional information.</para>
     25    <para>
     26      This section is provided to show you some additional programming
     27      tools for which instructions have not yet been created in the book or for
     28      those that are not appropriate for the book. Note that these packages may
     29      not have been tested by the BLFS team, but their mention here is meant to
     30      be a convenient source of additional information.
     31    </para>
    3032
    3133    <para condition="html" role="usernotes">User Notes:
     
    3739    <title>Programming Frameworks, Languages and Compilers</title>
    3840
    39     <!-- This is a template for additions to this page. Cut 18 lines and
    40          paste them in alphabetical order for the new package. '18dd' and
     41    <!-- This is a template for additions to this page. Cut 22 lines and
     42         paste them in alphabetical order for the new package. '22yy' and
    4143         move down to the alpha order and 'p' works great (using vi).
    4244
     
    4446      <title></title>
    4547
    46       <para><application></application> This is the description.</para>
    47 
    48       <itemizedlist spacing="compact">
    49         <listitem>
    50           <para>Project Home Page: <ulink
    51           url=""/></para>
    52         </listitem>
    53         <listitem>
    54           <para>Download Location: <ulink
    55           url=""/></para>
     48      <para>
     49        <application></application> This is the description.
     50      </para>
     51
     52      <itemizedlist spacing="compact">
     53        <listitem>
     54          <para>
     55            Project Home Page: <ulink
     56            url=""/>
     57          </para>
     58        </listitem>
     59        <listitem>
     60          <para>
     61            Download Location: <ulink
     62            url=""/>
     63          </para>
    5664        </listitem>
    5765      </itemizedlist>
     
    6472      <title>A+</title>
    6573
    66       <para><application>A+</application> is a powerful and efficient
    67       programming language. It is freely available under the GNU General
    68       Public License. It embodies a rich set of functions and operators, a
    69       modern graphical user interface with many widgets and automatic
    70       synchronization of widgets and variables, asynchronous execution of
    71       functions associated with variables and events, dynamic loading of user
    72       compiled subroutines, and many other features. Execution is by a rather
    73       efficient interpreter. <application>A+</application> was created at
    74       Morgan Stanley. Primarily used in a computationally-intensive business
    75       environment, many critical applications written in
    76       <application>A+</application> have withstood the demands of real world
    77       developers over many years. Written in an interpreted language,
    78       <application>A+</application> applications tend to be portable.</para>
    79 
    80       <itemizedlist spacing="compact">
    81         <listitem>
    82           <para>Project Home Page: <ulink
    83           url="http://www.aplusdev.org/"/></para>
    84         </listitem>
    85         <listitem>
    86           <para>Download Location: <ulink
    87           url="http://www.aplusdev.org/Download/index.html"/></para>
     74      <para>
     75        <application>A+</application> is a powerful and efficient
     76        programming language. It is freely available under the GNU General
     77        Public License. It embodies a rich set of functions and operators, a
     78        modern graphical user interface with many widgets and automatic
     79        synchronization of widgets and variables, asynchronous execution of
     80        functions associated with variables and events, dynamic loading of user
     81        compiled subroutines, and many other features. Execution is by a rather
     82        efficient interpreter. <application>A+</application> was created at
     83        Morgan Stanley. Primarily used in a computationally-intensive business
     84        environment, many critical applications written in
     85        <application>A+</application> have withstood the demands of real world
     86        developers over many years. Written in an interpreted language,
     87        <application>A+</application> applications tend to be portable.
     88    </para>
     89
     90      <itemizedlist spacing="compact">
     91        <listitem>
     92          <para>
     93            Project Home Page: <ulink
     94            url="http://www.aplusdev.org/"/>
     95          </para>
     96        </listitem>
     97        <listitem>
     98          <para>
     99            Download Location: <ulink
     100            url="http://www.aplusdev.org/Download/index.html"/>
     101          </para>
    88102        </listitem>
    89103      </itemizedlist>
     
    94108      <title>ABC</title>
    95109
    96       <para><application>ABC</application> is an interactive programming
    97       language and environment for personal computing, originally intended as a
    98       good replacement for BASIC. It was designed by first doing a task
    99       analysis of the programming task. <application>ABC</application> is easy
    100       to learn (an hour or so for someone who has already programmed), and yet
    101       easy to use. Originally intended as a language for beginners, it has
    102       evolved into a powerful tool for beginners and experts alike. Some
    103       features of the language include: a powerful collection of only five data
    104       types that easily combines strong typing, yet without declarations,
    105       no limitations (such as max int), apart from sheer exhaustion of memory
    106       refinements to support top-down programming, nesting by indentation and
    107       programs typically are one fourth or one fifth the size of the equivalent
    108       Pascal or C program. </para>
    109 
    110       <itemizedlist spacing="compact">
    111         <listitem>
    112           <para>Project Home Page: <ulink
    113           url="http://homepages.cwi.nl/~steven/abc/"/></para>
    114         </listitem>
    115         <listitem>
    116           <para>Download Location: <ulink
    117           url="http://homepages.cwi.nl/~steven/abc/implementations.html"/></para>
     110      <para>
     111        <application>ABC</application> is an interactive programming language
     112        and environment for personal computing, originally intended as a
     113        good replacement for BASIC. It was designed by first doing a task
     114        analysis of the programming task. <application>ABC</application> is easy
     115        to learn (an hour or so for someone who has already programmed), and yet
     116        easy to use. Originally intended as a language for beginners, it has
     117        evolved into a powerful tool for beginners and experts alike. Some
     118        features of the language include: a powerful collection of only five
     119        data types that easily combines strong typing, yet without declarations,
     120        no limitations (such as max int), apart from sheer exhaustion of memory
     121        refinements to support top-down programming, nesting by indentation and
     122        programs typically are one fourth or one fifth the size of the
     123        equivalent Pascal or C program.
     124      </para>
     125
     126      <itemizedlist spacing="compact">
     127        <listitem>
     128          <para>
     129            Project Home Page: <ulink
     130            url="http://homepages.cwi.nl/~steven/abc/"/>
     131          </para>
     132        </listitem>
     133        <listitem>
     134          <para>
     135            Download Location: <ulink
     136            url="http://homepages.cwi.nl/~steven/abc/implementations.html"/>
     137          </para>
    118138        </listitem>
    119139      </itemizedlist>
     
    124144      <title>ALF</title>
    125145
    126       <para><application>ALF</application> is a language which combines
    127       functional and logic programming techniques. The foundation of
    128       <application>ALF</application> is Horn clause logic with equality which
    129       consists of predicates and Horn clauses for logic programming, and
    130       functions and equations for functional programming. The
    131       <application>ALF</application> system is an efficient implementation of
    132       the combination of resolution, narrowing, rewriting and rejection.
    133       Similarly to Prolog, <application>ALF</application> uses a backtracking
    134       strategy corresponding to a depth-first search in the derivation
    135       tree.</para>
    136 
    137       <itemizedlist spacing="compact">
    138         <listitem>
    139           <para>Project Home Page: <ulink
    140           url="http://www.informatik.uni-kiel.de/~mh/systems/ALF.html"/></para>
    141         </listitem>
    142         <listitem>
    143           <para>Download Location: <ulink
    144           url="http://www.informatik.uni-kiel.de/~mh/systems/ALF/"/></para>
     146      <para>
     147        <application>ALF</application> is a language which combines
     148        functional and logic programming techniques. The foundation of
     149        <application>ALF</application> is Horn clause logic with equality which
     150        consists of predicates and Horn clauses for logic programming, and
     151        functions and equations for functional programming. The
     152        <application>ALF</application> system is an efficient implementation of
     153        the combination of resolution, narrowing, rewriting and rejection.
     154        Similarly to Prolog, <application>ALF</application> uses a backtracking
     155        strategy corresponding to a depth-first search in the derivation tree.
     156      </para>
     157
     158      <itemizedlist spacing="compact">
     159        <listitem>
     160          <para>
     161            Project Home Page: <ulink
     162            url="http://www.informatik.uni-kiel.de/~mh/systems/ALF.html"/>
     163          </para>
     164        </listitem>
     165        <listitem>
     166          <para>
     167            Download Location: <ulink
     168            url="http://www.informatik.uni-kiel.de/~mh/systems/ALF/"/>
     169          </para>
    145170        </listitem>
    146171      </itemizedlist>
     
    151176      <title>ASM</title>
    152177
    153       <para><application>ASM</application> is a Java bytecode manipulation
    154       framework. It can be used to dynamically generate stub classes or other
    155       proxy classes, directly in binary form, or to dynamically modify
    156       classes at load time, i.e., just before they are loaded into the Java
    157       Virtual Machine. <application>ASM</application> offers similar
    158       functionalities as BCEL or SERP, but is much smaller (33KB instead of
    159       350KB for BCEL and 150KB for SERP) and faster than these tools (the
    160       overhead of a load time class transformation is of the order of 60% with
    161       <application>ASM</application>, 700% or more with BCEL, and 1100% or
    162       more with SERP). Indeed <application>ASM</application> was designed to be
    163       used in a dynamic way (though it works statically as well) and was
    164       therefore designed and implemented to be as small and as fast as
    165       possible.</para>
    166 
    167       <itemizedlist spacing="compact">
    168         <listitem>
    169           <para>Project Home Page: <ulink
    170           url="http://asm.objectweb.org/"/></para>
    171         </listitem>
    172         <listitem>
    173           <para>Download Location: <ulink
    174           url="http://forge.objectweb.org/projects/asm/"/></para>
     178      <para>
     179        <application>ASM</application> is a Java bytecode manipulation
     180        framework. It can be used to dynamically generate stub classes or other
     181        proxy classes, directly in binary form, or to dynamically modify
     182        classes at load time, i.e., just before they are loaded into the Java
     183        Virtual Machine. <application>ASM</application> offers similar
     184        functionalities as BCEL or SERP, but is much smaller (33KB instead of
     185        350KB for BCEL and 150KB for SERP) and faster than these tools (the
     186        overhead of a load time class transformation is of the order of 60% with
     187        <application>ASM</application>, 700% or more with BCEL, and 1100% or
     188        more with SERP). Indeed <application>ASM</application> was designed to
     189        be used in a dynamic way (though it works statically as well) and was
     190        therefore designed and implemented to be as small and as fast as
     191        possible.
     192      </para>
     193
     194      <itemizedlist spacing="compact">
     195        <listitem>
     196          <para>
     197            Project Home Page: <ulink
     198            url="http://asm.objectweb.org/"/>
     199          </para>
     200        </listitem>
     201        <listitem>
     202          <para>
     203            Download Location: <ulink
     204            url="http://forge.objectweb.org/projects/asm/"/>
     205          </para>
    175206        </listitem>
    176207      </itemizedlist>
     
    181212      <title>BCPL</title>
    182213
    183       <para><application>BCPL</application> is a simple typeless language that
    184       was designed in 1966 by Martin Richards and implemented for the first
    185       time at MIT in the Spring of 1967.</para>
    186 
    187       <itemizedlist spacing="compact">
    188         <listitem>
    189           <para>Project Home Page: <ulink
    190           url="http://www.cl.cam.ac.uk/users/mr/BCPL.html"/></para>
    191         </listitem>
    192         <listitem>
    193           <para>Download Location: <ulink
    194           url="http://www.cl.cam.ac.uk/users/mr/BCPL/"/></para>
     214      <para>
     215        <application>BCPL</application> is a simple typeless language that
     216        was designed in 1966 by Martin Richards and implemented for the first
     217        time at MIT in the Spring of 1967.
     218      </para>
     219
     220      <itemizedlist spacing="compact">
     221        <listitem>
     222          <para>
     223            Project Home Page: <ulink
     224            url="http://www.cl.cam.ac.uk/users/mr/BCPL.html"/>
     225          </para>
     226        </listitem>
     227        <listitem>
     228          <para>
     229            Download Location: <ulink
     230            url="http://www.cl.cam.ac.uk/users/mr/BCPL/"/>
     231          </para>
    195232        </listitem>
    196233      </itemizedlist>
     
    201238      <title>BETA</title>
    202239
    203       <para><application>BETA</application> is developed within the
    204       Scandinavian School of object-orientation, where the first
    205       object-oriented language, Simula, was developed.
    206       <application>BETA</application> is a modern language in the Simula
    207       tradition. The resulting language is smaller than Simula in spite of
    208       being considerably more expressive. <application>BETA</application> is a
    209       strongly typed language like Simula, Eiffel and C++, with most type
    210       checking being carried out at compile-time. It is well known that it is
    211       not possible to obtain all type checking at compile time without
    212       sacrificing the expressiveness of the language.
    213       <application>BETA</application> has optimum balance between compile-time
    214       type checking and run-time type checking.</para>
    215 
    216       <itemizedlist spacing="compact">
    217         <listitem>
    218           <para>Project Home Page: <ulink
    219           url="http://www.daimi.au.dk/~beta/"/></para>
    220         </listitem>
    221         <listitem>
    222           <para>Download Location: <ulink
    223           url="ftp://ftp.daimi.au.dk/pub/beta/"/></para>
     240      <para>
     241        <application>BETA</application> is developed within the
     242        Scandinavian School of object-orientation, where the first
     243        object-oriented language, Simula, was developed.
     244        <application>BETA</application> is a modern language in the Simula
     245        tradition. The resulting language is smaller than Simula in spite of
     246        being considerably more expressive. <application>BETA</application> is
     247        a strongly typed language like Simula, Eiffel and C++, with most type
     248        checking being carried out at compile-time. It is well known that it is
     249        not possible to obtain all type checking at compile time without
     250        sacrificing the expressiveness of the language.
     251        <application>BETA</application> has optimum balance between
     252        compile-time type checking and run-time type checking.
     253      </para>
     254
     255      <itemizedlist spacing="compact">
     256        <listitem>
     257          <para>
     258            Project Home Page: <ulink
     259            url="http://www.daimi.au.dk/~beta/"/>
     260          </para>
     261        </listitem>
     262        <listitem>
     263          <para>
     264            Download Location: <ulink
     265            url="ftp://ftp.daimi.au.dk/pub/beta/"/>
     266          </para>
    224267        </listitem>
    225268      </itemizedlist>
     
    230273      <title>&lt;bigwig&gt;</title>
    231274
    232       <para><application>&lt;bigwig&gt;</application> is a high-level
    233       programming language for developing interactive Web services. Programs
    234       are compiled into a conglomerate of lower-level technologies such as C
    235       code, HTTP, HTML, JavaScript, and SSL, all running on top of a runtime
    236       system based on an Apache Web server module. It is a descendant of the
    237       Mawl project but is a completely new design and implementation with
    238       vastly expanded ambitions. The <application>&lt;bigwig&gt;</application>
    239       language is really a collection of tiny domain-specific languages
    240       focusing on different aspects of interactive Web services. These
    241       contributing languages are held together by a C-like skeleton language.
    242       Thus, <application>&lt;bigwig&gt;</application> has the look and feel of
    243       C-programs but with special data and control structures.</para>
    244 
    245       <itemizedlist spacing="compact">
    246         <listitem>
    247           <para>Project Home Page: <ulink
    248           url="http://www.brics.dk/bigwig/"/></para>
    249         </listitem>
    250         <listitem>
    251           <para>Download Location: <ulink
    252           url="http://www.brics.dk/bigwig/download/"/></para>
     275      <para>
     276        <application>&lt;bigwig&gt;</application> is a high-level programming
     277        language for developing interactive Web services. Programs are compiled
     278        into a conglomerate of lower-level technologies such as C code, HTTP,
     279        HTML, JavaScript, and SSL, all running on top of a runtime system based
     280        on an Apache Web server module. It is a descendant of the Mawl project
     281        but is a completely new design and implementation with vastly expanded
     282        ambitions. The <application>&lt;bigwig&gt;</application> language is
     283        really a collection of tiny domain-specific languages focusing on
     284        different aspects of interactive Web services. These contributing
     285        languages are held together by a C-like skeleton language.  Thus,
     286        <application>&lt;bigwig&gt;</application> has the look and feel of
     287        C-programs but with special data and control structures.
     288      </para>
     289
     290      <itemizedlist spacing="compact">
     291        <listitem>
     292          <para>
     293            Project Home Page: <ulink
     294            url="http://www.brics.dk/bigwig/"/>
     295          </para>
     296        </listitem>
     297        <listitem>
     298          <para>
     299            Download Location: <ulink
     300            url="http://www.brics.dk/bigwig/download/"/>
     301          </para>
    253302        </listitem>
    254303      </itemizedlist>
     
    259308      <title>Bigloo</title>
    260309
    261       <para><application>Bigloo</application> is a Scheme implementation
    262       devoted to one goal: enabling Scheme based programming style where C(++)
    263       is usually required. <application>Bigloo</application> attempts to make
    264       Scheme practical by offering features usually presented by traditional
    265       programming languages but not offered by Scheme and functional
    266       programming. Bigloo compiles Scheme modules and delivers small and fast
    267       stand-alone binary executables. It enables full connections between
    268       Scheme and C programs, between Scheme and Java programs, and between
    269       Scheme and C# programs.</para>
    270 
    271       <itemizedlist spacing="compact">
    272         <listitem>
    273           <para>Project Home Page: <ulink
    274           url="http://www-sop.inria.fr/mimosa/fp/Bigloo/"/></para>
    275         </listitem>
    276         <listitem>
    277           <para>Download Location: <ulink
    278           url="ftp://ftp-sop.inria.fr/mimosa/fp/Bigloo/"/></para>
     310      <para>
     311        <application>Bigloo</application> is a Scheme implementation devoted
     312        to one goal: enabling Scheme based programming style where C(++) is
     313        usually required. <application>Bigloo</application> attempts to make
     314        Scheme practical by offering features usually presented by traditional
     315        programming languages but not offered by Scheme and functional
     316        programming. Bigloo compiles Scheme modules and delivers small and
     317        fast stand-alone binary executables. It enables full connections
     318        between Scheme and C programs, between Scheme and Java programs, and
     319        between Scheme and C# programs.
     320      </para>
     321
     322      <itemizedlist spacing="compact">
     323        <listitem>
     324          <para>
     325            Project Home Page: <ulink
     326            url="http://www-sop.inria.fr/mimosa/fp/Bigloo/"/>
     327          </para>
     328        </listitem>
     329        <listitem>
     330          <para>
     331            Download Location: <ulink
     332            url="ftp://ftp-sop.inria.fr/mimosa/fp/Bigloo/"/>
     333          </para>
    279334        </listitem>
    280335      </itemizedlist>
     
    285340      <title>C--</title>
    286341
    287       <para><application>C--</application> is a portable assembly language that
    288       can be generated by a front end and implemented by any of several code
    289       generators. It serves as an interface between high-level compilers and
    290       retargetable, optimizing code generators. Authors of front ends and code
    291       generators can cooperate easily.</para>
    292 
    293       <itemizedlist spacing="compact">
    294         <listitem>
    295           <para>Project Home Page: <ulink
    296           url="http://www.cminusminus.org/"/></para>
    297         </listitem>
    298         <listitem>
    299           <para>Download Location: <ulink
    300           url="http://www.cminusminus.org/code.html"/></para>
     342      <para>
     343        <application>C--</application> is a portable assembly language that
     344        can be generated by a front end and implemented by any of several code
     345        generators. It serves as an interface between high-level compilers and
     346        retargetable, optimizing code generators. Authors of front ends and
     347        code generators can cooperate easily.
     348      </para>
     349
     350      <itemizedlist spacing="compact">
     351        <listitem>
     352          <para>
     353            Project Home Page: <ulink
     354            url="http://www.cminusminus.org/"/>
     355          </para>
     356        </listitem>
     357        <listitem>
     358          <para>
     359            Download Location: <ulink
     360            url="http://www.cminusminus.org/code.html"/>
     361          </para>
    301362        </listitem>
    302363      </itemizedlist>
     
    307368      <title>Caml</title>
    308369
    309       <para><application>Caml</application> is a general-purpose programming
    310       language, designed with program safety and reliability in mind. It is
    311       very expressive, yet easy to learn and use.
    312       <application>Caml</application> supports functional, imperative, and
    313       object-oriented programming styles. It has been developed and distributed
    314       by INRIA, France's national research institute for computer science,
    315       since 1985. The Objective Caml system is the main implementation of the
    316       <application>Caml</application> language. It features a powerful module
    317       system and a full-fledged object-oriented layer. It comes with a
    318       native-code compiler that supports numerous architectures, for high
    319       performance; a bytecode compiler, for increased portability; and an
    320       interactive loop, for experimentation and rapid development.</para>
    321 
    322       <itemizedlist spacing="compact">
    323         <listitem>
    324           <para>Project Home Page: <ulink
    325           url="http://caml.inria.fr/"/></para>
    326         </listitem>
    327         <listitem>
    328           <para>Download Location: <ulink
    329           url="http://caml.inria.fr/pub/distrib/"/></para>
     370      <para>
     371        <application>Caml</application> is a general-purpose programming
     372        language, designed with program safety and reliability in mind. It is
     373        very expressive, yet easy to learn and use.
     374        <application>Caml</application> supports functional, imperative, and
     375        object-oriented programming styles. It has been developed and
     376        distributed by INRIA, France's national research institute for
     377        computer science, since 1985. The Objective Caml system is the main
     378        implementation of the <application>Caml</application> language. It
     379        features a powerful module system and a full-fledged object-oriented
     380        layer. It comes with a native-code compiler that supports numerous
     381        architectures, for high performance; a bytecode compiler, for increased
     382        portability; and an interactive loop, for experimentation and rapid
     383        development.
     384      </para>
     385
     386      <itemizedlist spacing="compact">
     387        <listitem>
     388          <para>
     389            Project Home Page: <ulink
     390            url="http://caml.inria.fr/"/>
     391          </para>
     392        </listitem>
     393        <listitem>
     394          <para>
     395            Download Location: <ulink
     396            url="http://caml.inria.fr/pub/distrib/"/>
     397          </para>
    330398        </listitem>
    331399      </itemizedlist>
     
    336404      <title>Ch</title>
    337405
    338       <para><application>Ch</application> is an embeddable C/C++ interpreter
    339       for cross-platform scripting, shell programming, 2D/3D plotting,
    340       numerical computing, and embedded scripting.</para>
    341 
    342       <itemizedlist spacing="compact">
    343         <listitem>
    344           <para>Project Home Page: <ulink
    345           url="http://www.softintegration.com/"/></para>
    346         </listitem>
    347         <listitem>
    348           <para>Download Location: <ulink
    349           url="http://www.softintegration.com/products/chstandard/download/"/></para>
     406      <para>
     407        <application>Ch</application> is an embeddable C/C++ interpreter
     408        for cross-platform scripting, shell programming, 2D/3D plotting,
     409        numerical computing, and embedded scripting.
     410      </para>
     411
     412      <itemizedlist spacing="compact">
     413        <listitem>
     414          <para>
     415            Project Home Page: <ulink
     416            url="http://www.softintegration.com/"/>
     417          </para>
     418        </listitem>
     419        <listitem>
     420          <para>
     421            Download Location: <ulink
     422            url="http://www.softintegration.com/products/chstandard/download/"/>
     423          </para>
    350424        </listitem>
    351425      </itemizedlist>
     
    356430      <title>Clean</title>
    357431
    358       <para><application>Clean</application> is a general purpose,
    359       state-of-the-art, pure and lazy functional programming language designed
    360       for making real-world applications. <application>Clean</application> is
    361       the only functional language in the world which offers uniqueness typing.
    362       This type system makes it possible in a pure functional language to
    363       incorporate destructive updates of arbitrary data structures (including
    364       arrays) and to make direct interfaces to the outside imperative world.
    365       The type system makes it possible to develop efficient
    366       applications.</para>
    367 
    368       <itemizedlist spacing="compact">
    369         <listitem>
    370           <para>Project Home Page: <ulink
    371           url="http://wiki.clean.cs.ru.nl/Clean"/></para>
    372         </listitem>
    373         <listitem>
    374           <para>Download Location: <ulink
    375           url="http://wiki.clean.cs.ru.nl/Download_Clean"/></para>
     432      <para>
     433        <application>Clean</application> is a general purpose,
     434        state-of-the-art, pure and lazy functional programming language
     435        designed for making real-world applications.
     436        <application>Clean</application> is the only functional language in
     437        the world which offers uniqueness typing.  This type system makes it
     438        possible in a pure functional language to incorporate destructive
     439        updates of arbitrary data structures (including arrays) and to make
     440        direct interfaces to the outside imperative world.  The type system
     441        makes it possible to develop efficient applications.
     442      </para>
     443
     444      <itemizedlist spacing="compact">
     445        <listitem>
     446          <para>
     447            Project Home Page: <ulink
     448            url="http://wiki.clean.cs.ru.nl/Clean"/>
     449          </para>
     450        </listitem>
     451        <listitem>
     452          <para>
     453            Download Location: <ulink
     454            url="http://wiki.clean.cs.ru.nl/Download_Clean"/>
     455          </para>
    376456        </listitem>
    377457      </itemizedlist>
     
    382462      <title>Cyclone</title>
    383463
    384       <para><application>Cyclone</application> is a programming language based
    385       on C that is safe, meaning that it rules out programs that have buffer
    386       overflows, dangling pointers, format string attacks, and so on.
    387       High-level, type-safe languages, such as Java, Scheme, or ML also provide
    388       safety, but they don't give the same control over data representations
    389       and memory management that C does (witness the fact that the run-time
    390       systems for these languages are usually written in C.) Furthermore,
    391       porting legacy C code to these languages or interfacing with legacy C
    392       libraries is a difficult and error-prone process. The goal of
    393       <application>Cyclone</application> is to give programmers the same
    394       low-level control and performance of C without sacrificing safety, and to
    395       make it easy to port or interface with legacy C code.</para>
    396 
    397       <itemizedlist spacing="compact">
    398         <listitem>
    399           <para>Project Home Page: <ulink
    400           url="http://cyclone.thelanguage.org/"/></para>
    401         </listitem>
    402         <listitem>
    403           <para>Download Location: <ulink
    404           url="http://cyclone.thelanguage.org/wiki/Download/"/></para>
     464      <para>
     465        <application>Cyclone</application> is a programming language based on
     466        C that is safe, meaning that it rules out programs that have buffer
     467        overflows, dangling pointers, format string attacks, and so on.
     468        High-level, type-safe languages, such as Java, Scheme, or ML also
     469        provide safety, but they don't give the same control over data
     470        representations and memory management that C does (witness the fact
     471        that the run-time systems for these languages are usually written in
     472        C.) Furthermore, porting legacy C code to these languages or
     473        interfacing with legacy C libraries is a difficult and error-prone
     474        process. The goal of <application>Cyclone</application> is to give
     475        programmers the same low-level control and performance of C without
     476        sacrificing safety, and to make it easy to port or interface with
     477        legacy C code.
     478      </para>
     479
     480      <itemizedlist spacing="compact">
     481        <listitem>
     482          <para>
     483            Project Home Page: <ulink
     484            url="http://cyclone.thelanguage.org/"/>
     485          </para>
     486        </listitem>
     487        <listitem>
     488          <para>
     489            Download Location: <ulink
     490            url="http://cyclone.thelanguage.org/wiki/Download/"/>
     491          </para>
    405492        </listitem>
    406493      </itemizedlist>
     
    411498      <title>D</title>
    412499
    413       <para><application>D</application> is a general purpose systems and
    414       applications programming language. It is a higher level language than
    415       C++, but retains the ability to write high performance code and interface
    416       directly with the operating system APIs and with hardware.
    417       <application>D</application> is well suited to writing medium to large
    418       scale million line programs with teams of developers. It is easy to
    419       learn, provides many capabilities to aid the programmer, and is well
    420       suited to aggressive compiler optimization technology.
    421       <application>D</application> is not a scripting language, nor an
    422       interpreted language. It doesn't come with a VM, a religion, or an
    423       overriding philosophy. It's a practical language for practical
    424       programmers who need to get the job done quickly, reliably, and leave
    425       behind maintainable, easy to understand code.
    426       <application>D</application> is the culmination of decades of experience
    427       implementing compilers for many diverse languages, and attempting to
    428       construct large projects using those languages. It draws inspiration from
    429       those other languages (most especially C++) and tempers it with
    430       experience and real world practicality.</para>
    431 
    432       <itemizedlist spacing="compact">
    433         <listitem>
    434           <para>Project Home Page: <ulink
    435           url="http://www.digitalmars.com/d/"/></para>
    436         </listitem>
    437         <listitem>
    438           <para>Download Location: <ulink
    439           url="ftp://ftp.digitalmars.com/"/></para>
     500      <para>
     501        <application>D</application> is a general purpose systems and
     502        applications programming language. It is a higher level language than
     503        C++, but retains the ability to write high performance code and
     504        interface directly with the operating system APIs and with hardware.
     505        <application>D</application> is well suited to writing medium to large
     506        scale million line programs with teams of developers. It is easy to
     507        learn, provides many capabilities to aid the programmer, and is well
     508        suited to aggressive compiler optimization technology.
     509        <application>D</application> is not a scripting language, nor an
     510        interpreted language. It doesn't come with a VM, a religion, or an
     511        overriding philosophy. It's a practical language for practical
     512        programmers who need to get the job done quickly, reliably, and leave
     513        behind maintainable, easy to understand code.
     514        <application>D</application> is the culmination of decades of
     515        experience implementing compilers for many diverse languages, and
     516        attempting to construct large projects using those languages. It draws
     517        inspiration from those other languages (most especially C++) and
     518        tempers it with experience and real world practicality.
     519      </para>
     520
     521      <itemizedlist spacing="compact">
     522        <listitem>
     523          <para>
     524            Project Home Page: <ulink
     525            url="http://www.digitalmars.com/d/"/>
     526          </para>
     527        </listitem>
     528        <listitem>
     529          <para>
     530            Download Location: <ulink
     531            url="ftp://ftp.digitalmars.com/"/>
     532          </para>
    440533        </listitem>
    441534      </itemizedlist>
     
    446539      <title>DMDScript</title>
    447540
    448       <para><application>DMDScript</application> is Digital Mars'
    449       implementation of the ECMA 262 scripting language. Netscape's
    450       implementation is called JavaScript, Microsoft's implementation is
    451       called JScript. <application>DMDScript</application> is much faster
    452       than other implementations, which you can verify with the included
    453       benchmark.</para>
    454 
    455       <itemizedlist spacing="compact">
    456         <listitem>
    457           <para>Project Home Page: <ulink
    458           url="http://www.digitalmars.com/dscript/index.html"/></para>
    459         </listitem>
    460         <listitem>
    461           <para>Download Location: <ulink
    462           url="ftp://ftp.digitalmars.com/"/></para>
     541      <para>
     542        <application>DMDScript</application> is Digital Mars'
     543        implementation of the ECMA 262 scripting language. Netscape's
     544        implementation is called JavaScript, Microsoft's implementation is
     545        called JScript. <application>DMDScript</application> is much faster
     546        than other implementations, which you can verify with the included
     547        benchmark.
     548      </para>
     549
     550      <itemizedlist spacing="compact">
     551        <listitem>
     552          <para>
     553            Project Home Page: <ulink
     554            url="http://www.digitalmars.com/dscript/index.html"/>
     555          </para>
     556        </listitem>
     557        <listitem>
     558          <para>
     559            Download Location: <ulink
     560            url="ftp://ftp.digitalmars.com/"/>
     561          </para>
    463562        </listitem>
    464563      </itemizedlist>
     
    469568      <title>DotGNU Portable.NET</title>
    470569
    471       <para><application>DotGNU Portable.NET</application> goal is to build a
    472       suite of free software tools to build and execute .NET applications,
    473       including a C# compiler, assembler, disassembler, and runtime engine.
    474       While the initial target platform was GNU/Linux, it is also known to run
    475       under Windows, Solaris, NetBSD, FreeBSD, and MacOS X. The runtime engine
    476       has been tested on the x86, PowerPC, ARM, Sparc, PARISC, s390, Alpha, and
    477       IA-64 processors. <application>DotGNU Portable.NET</application> is part
    478       of the DotGNU project, built in accordance with the requirements of the
    479       GNU Project. DotGNU Portable.NET is focused on compatibility with the
    480       ECMA specifications for CLI. There are other projects under the DotGNU
    481       meta-project to build other necessary pieces of infrastructure, and to
    482       explore non-CLI approaches to virtual machine implementation.</para>
    483 
    484       <itemizedlist spacing="compact">
    485         <listitem>
    486           <para>Project Home Page: <ulink
    487           url="http://www.gnu.org/software/dotgnu/"/></para>
    488         </listitem>
    489         <listitem>
    490           <para>Download Location: <ulink
    491           url="http://www.gnu.org/software/dotgnu/pnet-packages.html"/></para>
     570      <para>
     571        <application>DotGNU Portable.NET</application> goal is to build a
     572        suite of free software tools to build and execute .NET applications,
     573        including a C# compiler, assembler, disassembler, and runtime engine.
     574        While the initial target platform was GNU/Linux, it is also known to
     575        run under Windows, Solaris, NetBSD, FreeBSD, and MacOS X. The runtime
     576        engine has been tested on the x86, PowerPC, ARM, Sparc, PARISC, s390,
     577        Alpha, and IA-64 processors.
     578        <application>DotGNU Portable.NET</application> is part of the DotGNU
     579        project, built in accordance with the requirements of the GNU Project.
     580        DotGNU Portable.NET is focused on compatibility with the ECMA
     581        specifications for CLI. There are other projects under the DotGNU
     582        meta-project to build other necessary pieces of infrastructure, and to
     583        explore non-CLI approaches to virtual machine implementation.
     584      </para>
     585
     586      <itemizedlist spacing="compact">
     587        <listitem>
     588          <para>
     589            Project Home Page: <ulink
     590            url="http://www.gnu.org/software/dotgnu/"/>
     591          </para>
     592        </listitem>
     593        <listitem>
     594          <para>
     595            Download Location: <ulink
     596            url="http://www.gnu.org/software/dotgnu/pnet-packages.html"/>
     597          </para>
    492598        </listitem>
    493599      </itemizedlist>
     
    498604      <title>Dylan</title>
    499605
    500       <para><application>Dylan</application> is an advanced, object-oriented,
    501       dynamic language which supports rapid program development. When needed,
    502       programs can be optimized for more efficient execution by supplying more
    503       type information to the compiler. Nearly all entities in
    504       <application>Dylan</application> (including functions, classes, and basic
    505       data types such as integers) are first class objects. Additionally,
    506       <application>Dylan</application> supports multiple inheritance,
    507       polymorphism, multiple dispatch, keyword arguments, object introspection,
    508       macros, and many other advanced features... --Peter Hinely.</para>
    509 
    510       <itemizedlist spacing="compact">
    511         <listitem>
    512           <para>Project Home Page: <ulink
    513           url="http://www.opendylan.org/"/></para>
    514         </listitem>
    515         <listitem>
    516           <para>Download Location: <ulink
    517           url="http://opendylan.org/download/index.html"/></para>
     606      <para>
     607        <application>Dylan</application> is an advanced, object-oriented,
     608        dynamic language which supports rapid program development. When needed,
     609        programs can be optimized for more efficient execution by supplying
     610        more type information to the compiler. Nearly all entities in
     611        <application>Dylan</application> (including functions, classes, and
     612        basic data types such as integers) are first class objects.
     613        Additionally, <application>Dylan</application> supports multiple
     614        inheritance, polymorphism, multiple dispatch, keyword arguments,
     615        object introspection, macros, and many other advanced features...
     616        --Peter Hinely.
     617      </para>
     618
     619      <itemizedlist spacing="compact">
     620        <listitem>
     621          <para>
     622            Project Home Page: <ulink
     623            url="http://www.opendylan.org/"/>
     624          </para>
     625        </listitem>
     626        <listitem>
     627          <para>
     628            Download Location: <ulink
     629            url="http://opendylan.org/download/index.html"/>
     630          </para>
    518631        </listitem>
    519632      </itemizedlist>
     
    524637      <title>E</title>
    525638
    526       <para><application>E</application> is a secure distributed Java-based
    527       pure-object platform and p2p scripting language. It has two parts: ELib
    528       and the <application>E</application> Language. Elib provides the stuff
    529       that goes on between objects. As a pure-Java library, ELib provides for
    530       inter-process capability-secure distributed programming. Its
    531       cryptographic capability protocol enables mutually suspicious Java
    532       processes to cooperate safely, and its event-loop concurrency and promise
    533       pipelining enable high performance deadlock free distributed pure-object
    534       computing. The <application>E</application> Language can be used to
    535       express what happens within an object. It provides a convenient and
    536       familiar notation for the ELib computational model, so you can program
    537       in one model rather than two. Under the covers, this notation expands
    538       into Kernel-E, a minimalist lambda-language much like Scheme or
    539       Smalltalk. Objects written in the <application>E</application> language
    540       are only able to interact with other objects according to ELib's
    541       semantics, enabling object granularity intra-process security, including
    542       the ability to safely run untrusted mobile code (such as caplets).</para>
    543 
    544       <itemizedlist spacing="compact">
    545         <listitem>
    546           <para>Project Home Page: <ulink
    547           url="http://www.erights.org/"/></para>
    548         </listitem>
    549         <listitem>
    550           <para>Download Location: <ulink
    551           url="http://www.erights.org/download/"/></para>
     639      <para>
     640        <application>E</application> is a secure distributed Java-based
     641        pure-object platform and p2p scripting language. It has two parts: ELib
     642        and the <application>E</application> Language. Elib provides the stuff
     643        that goes on between objects. As a pure-Java library, ELib provides for
     644        inter-process capability-secure distributed programming. Its
     645        cryptographic capability protocol enables mutually suspicious Java
     646        processes to cooperate safely, and its event-loop concurrency and
     647        promise pipelining enable high performance deadlock free distributed
     648        pure-object computing. The <application>E</application> Language can
     649        be used to express what happens within an object. It provides a
     650        convenient and familiar notation for the ELib computational model, so
     651        you can program in one model rather than two. Under the covers, this
     652        notation expands into Kernel-E, a minimalist lambda-language much like
     653        Scheme or Smalltalk. Objects written in the
     654        <application>E</application> language are only able to interact with
     655        other objects according to ELib's semantics, enabling object
     656        granularity intra-process security, including the ability to safely
     657        run untrusted mobile code (such as caplets).
     658      </para>
     659
     660      <itemizedlist spacing="compact">
     661        <listitem>
     662          <para>
     663            Project Home Page: <ulink
     664            url="http://www.erights.org/"/>
     665          </para>
     666        </listitem>
     667        <listitem>
     668          <para>
     669            Download Location: <ulink
     670            url="http://www.erights.org/download/"/>
     671          </para>
    552672        </listitem>
    553673      </itemizedlist>
     
    558678      <title>elastiC</title>
    559679
    560       <para><application>elastiC</application> is a portable high-level
    561       object-oriented interpreted language with a C like syntax. Its main
    562       characteristics are: open source, interpreted, has portable bytecode
    563       compilation, dynamic typing, automatic real very fast garbage collection,
    564       object oriented with meta-programming support (a la Smalltalk),
    565       functional programming support (Scheme-like closures with lexical
    566       scoping, and eval-like functionality), hierarchical namespaces, a rich
    567       set of useful built-in types (dynamic arrays, dictionaries, symbols,
    568       ...), extensible with C (you can add functions, types, classes, methods,
    569       packages, ...), embeddable in C. <application>elastiC</application> has
    570       been strongly influenced by C, Smalltalk, Scheme and Python and tries to
    571       merge the best characteristics of all these languages, while still
    572       coherently maintaining its unique personality.</para>
    573 
    574       <itemizedlist spacing="compact">
    575         <listitem>
    576           <para>Project Home Page: <ulink
    577           url="http://www.elasticworld.org/"/></para>
    578         </listitem>
    579         <listitem>
    580           <para>Download Location: <ulink
    581           url="http://www.elasticworld.org/download.html"/></para>
     680      <para>
     681        <application>elastiC</application> is a portable high-level
     682        object-oriented interpreted language with a C like syntax. Its main
     683        characteristics are: open source, interpreted, has portable bytecode
     684        compilation, dynamic typing, automatic real very fast garbage
     685        collection, object oriented with meta-programming support (a la
     686        Smalltalk), functional programming support (Scheme-like closures with
     687        lexical scoping, and eval-like functionality), hierarchical namespaces,
     688        a rich set of useful built-in types (dynamic arrays, dictionaries,
     689        symbols, ...), extensible with C (you can add functions, types,
     690        classes, methods, packages, ...), embeddable in C.
     691        <application>elastiC</application> has been strongly influenced by C,
     692        Smalltalk, Scheme and Python and tries to merge the best
     693        characteristics of all these languages, while still coherently
     694        maintaining its unique personality.
     695      </para>
     696
     697      <itemizedlist spacing="compact">
     698        <listitem>
     699          <para>
     700            Project Home Page: <ulink
     701            url="http://www.elasticworld.org/"/>
     702          </para>
     703        </listitem>
     704        <listitem>
     705          <para>
     706            Download Location: <ulink
     707            url="http://www.elasticworld.org/download.html"/>
     708          </para>
    582709        </listitem>
    583710      </itemizedlist>
     
    588715      <title>Erlang/OTP</title>
    589716
    590       <para><application>Erlang/OTP</application> is a development environment
    591       based on Erlang. Erlang is a programming language which has many features
    592       more commonly associated with an operating system than with a programming
    593       language: concurrent processes, scheduling, memory management,
    594       distribution, networking, etc. The initial open-source Erlang release
    595       contains the implementation of Erlang, as well as a large part of
    596       Ericsson's middleware for building distributed high-availability systems.
    597       Erlang is characterized by the following features: robustness, soft
    598       real-time, hot code upgrades and incremental code loading.</para>
    599 
    600       <itemizedlist spacing="compact">
    601         <listitem>
    602           <para>Project Home Page: <ulink
    603           url="http://www.erlang.org/"/></para>
    604         </listitem>
    605         <listitem>
    606           <para>Download Location: <ulink
    607           url="http://www.erlang.org/download.html"/></para>
     717      <para>
     718        <application>Erlang/OTP</application> is a development environment
     719        based on Erlang. Erlang is a programming language which has many
     720        features more commonly associated with an operating system than with a
     721        programming language: concurrent processes, scheduling, memory
     722        management, distribution, networking, etc. The initial open-source
     723        Erlang release contains the implementation of Erlang, as well as a
     724        large part of Ericsson's middleware for building distributed
     725        high-availability systems.  Erlang is characterized by the following
     726        features: robustness, soft real-time, hot code upgrades and
     727        incremental code loading.
     728      </para>
     729
     730      <itemizedlist spacing="compact">
     731        <listitem>
     732          <para>
     733            Project Home Page: <ulink
     734            url="http://www.erlang.org/"/>
     735          </para>
     736        </listitem>
     737        <listitem>
     738          <para>
     739            Download Location: <ulink
     740            url="http://www.erlang.org/download.html"/>
     741          </para>
    608742        </listitem>
    609743      </itemizedlist>
     
    614748      <title>Euphoria</title>
    615749
    616       <para><application>Euphoria</application> is a simple, flexible, and
    617       easy-to-learn programming language. It lets you quickly and easily
    618       develop programs for Windows, DOS, Linux and FreeBSD. Euphoria was first
    619       released in 1993. Since then Rapid Deployment Software has been steadily
    620       improving it with the help of a growing number of enthusiastic users.
    621       Although <application>Euphoria</application> provides subscript checking,
    622       uninitialized variable checking and numerous other run-time checks, it is
    623       extremely fast. People have used it to develop high-speed DOS games,
    624       Windows GUI programs, and X Window System programs. It is also very
    625       useful for CGI (Web-based) programming.</para>
    626 
    627       <itemizedlist spacing="compact">
    628         <listitem>
    629           <para>Project Home Page: <ulink
    630           url="http://www.rapideuphoria.com/"/></para>
    631         </listitem>
    632         <listitem>
    633           <para>Download Location: <ulink
    634           url="http://www.rapideuphoria.com/v20.htm"/></para>
     750      <para>
     751        <application>Euphoria</application> is a simple, flexible, and
     752        easy-to-learn programming language. It lets you quickly and easily
     753        develop programs for Windows, DOS, Linux and FreeBSD. Euphoria was
     754        first released in 1993. Since then Rapid Deployment Software has been
     755        steadily improving it with the help of a growing number of
     756        enthusiastic users.  Although <application>Euphoria</application>
     757        provides subscript checking, uninitialized variable checking and
     758        numerous other run-time checks, it is extremely fast. People have used
     759        it to develop high-speed DOS games, Windows GUI programs, and X Window
     760        System programs. It is also very useful for CGI (Web-based)
     761        programming.
     762      </para>
     763
     764      <itemizedlist spacing="compact">
     765        <listitem>
     766          <para>
     767            Project Home Page: <ulink
     768            url="http://www.rapideuphoria.com/"/>
     769          </para>
     770        </listitem>
     771        <listitem>
     772          <para>
     773            Download Location: <ulink
     774            url="http://www.rapideuphoria.com/v20.htm"/>
     775          </para>
    635776        </listitem>
    636777      </itemizedlist>
     
    641782      <title>Felix</title>
    642783
    643       <para><application>Felix</application> is an advanced Algol like
    644       procedural programming language with a strong functional subsystem. It
    645       features ML style static typing, first class functions, pattern matching,
    646       garbage collection, polymorphism, and has built in support for high
    647       performance microthreading, regular expressions and context free parsing.
    648       The system provides a scripting harness so the language can be used like
    649       other scripting languages such as Python and Perl, but underneath it
    650       generates native code to obtain high performance. A key feature of the
    651       system is that it uses the C/C++ object model, and provides an advanced
    652       binding sublanguage to support integration with C/C++ at both the source
    653       and object levels, both for embedding C/C++ data types and functions into
    654       <application>Felix</application>, and for embedding
    655       <application>Felix</application> into existing C++ architectures. The
    656       <application>Felix</application> compiler is written in Objective Caml,
    657       and generates ISO C++ which should compile on any platform.</para>
    658 
    659       <itemizedlist spacing="compact">
    660         <listitem>
    661           <para>Project Home Page: <ulink
    662           url="http://felix.sourceforge.net/"/></para>
    663         </listitem>
    664         <listitem>
    665           <para>Download Location: <ulink
    666           url="http://felix-lang.org/$/usr/local/lib/felix/tarballs"/></para>
     784      <para>
     785        <application>Felix</application> is an advanced Algol like
     786        procedural programming language with a strong functional subsystem. It
     787        features ML style static typing, first class functions, pattern
     788        matching, garbage collection, polymorphism, and has built in support
     789        for high performance microthreading, regular expressions and context
     790        free parsing.  The system provides a scripting harness so the language
     791        can be used like other scripting languages such as Python and Perl,
     792        but underneath it generates native code to obtain high performance. A
     793        key feature of the system is that it uses the C/C++ object model, and
     794        provides an advanced binding sublanguage to support integration with
     795        C/C++ at both the source and object levels, both for embedding C/C++
     796        data types and functions into <application>Felix</application>, and
     797        for embedding <application>Felix</application> into existing C++
     798        architectures. The <application>Felix</application> compiler is
     799        written in Objective Caml, and generates ISO C++ which should compile
     800        on any platform.
     801      </para>
     802
     803      <itemizedlist spacing="compact">
     804        <listitem>
     805          <para>
     806            Project Home Page: <ulink
     807            url="http://felix.sourceforge.net/"/>
     808          </para>
     809        </listitem>
     810        <listitem>
     811          <para>
     812            Download Location: <ulink
     813            url="http://felix-lang.org/$/usr/local/lib/felix/tarballs"/>
     814          </para>
    667815        </listitem>
    668816      </itemizedlist>
     
    673821      <title>ferite</title>
    674822
    675       <para><application>ferite</application> is a scripting language and
    676       engine all in one manageable chunk. It is designed to be easily extended
    677       in terms of API, and to be used within other applications making them
    678       more configurable and useful to the end user. It has a syntax similar to
    679       a number of other languages but remains clean and its own
    680       language.</para>
    681 
    682       <itemizedlist spacing="compact">
    683         <listitem>
    684           <para>Project Home Page: <ulink
    685           url="http://www.ferite.org/"/></para>
    686         </listitem>
    687         <listitem>
    688           <para>Download Location: <ulink
    689           url="http://www.ferite.org/download.html"/></para>
     823      <para>
     824        <application>ferite</application> is a scripting language and engine
     825        all in one manageable chunk. It is designed to be easily extended in
     826        terms of API, and to be used within other applications making them
     827        more configurable and useful to the end user. It has a syntax similar
     828        to a number of other languages but remains clean and its own language.
     829      </para>
     830
     831      <itemizedlist spacing="compact">
     832        <listitem>
     833          <para>
     834            Project Home Page: <ulink
     835            url="http://www.ferite.org/"/>
     836          </para>
     837        </listitem>
     838        <listitem>
     839          <para>
     840            Download Location: <ulink
     841            url="http://www.ferite.org/download.html"/>
     842          </para>
    690843        </listitem>
    691844      </itemizedlist>
     
    696849      <title>Forth</title>
    697850
    698       <para><application>Forth</application> is a stack-based, extensible
    699       language without type-checking. It is probably best known for its
    700       "reverse Polish" (postfix) arithmetic notation, familiar to users of
    701       Hewlett-Packard calculators. <application>Forth</application> is a
    702       real-time programming language originally developed to control
    703       telescopes. <application>Forth</application> has many unique features
    704       and applications: it can compile itself into a new compiler,
    705       reverse-polish coding, edit time error checking and compiling (similar
    706       to BASIC), extremely efficient thread based language, can be used to
    707       debug itself, extensible; thus can become what ever you need it to be.
    708       The links below lead to the website of the Forth Interest Group (FIG),
    709       a world-wide, non-profit organization for education in and the promotion
    710       of the <application>Forth</application> computer language. Another
    711       worthwhile website dedicated to the <application>Forth</application>
    712       community is <ulink url="http://wiki.forthfreak.net/"/>.</para>
    713 
    714       <itemizedlist spacing="compact">
    715         <listitem>
    716           <para>Project Home Page: <ulink
    717           url="http://www.forth.org/"/></para>
    718         </listitem>
    719         <listitem>
    720           <para>Download Location: <ulink
    721           url="http://www.forth.org/compilers.html"/></para>
     851      <para>
     852        <application>Forth</application> is a stack-based, extensible
     853        language without type-checking. It is probably best known for its
     854        "reverse Polish" (postfix) arithmetic notation, familiar to users of
     855        Hewlett-Packard calculators. <application>Forth</application> is a
     856        real-time programming language originally developed to control
     857        telescopes. <application>Forth</application> has many unique features
     858        and applications: it can compile itself into a new compiler,
     859        reverse-polish coding, edit time error checking and compiling (similar
     860        to BASIC), extremely efficient thread based language, can be used to
     861        debug itself, extensible; thus can become what ever you need it to be.
     862        The links below lead to the website of the Forth Interest Group (FIG),
     863        a world-wide, non-profit organization for education in and the
     864        promotion of the <application>Forth</application> computer language.
     865        Another worthwhile website dedicated to the
     866        <application>Forth</application> community is <ulink
     867        url="http://wiki.forthfreak.net/"/>.
     868      </para>
     869
     870      <itemizedlist spacing="compact">
     871        <listitem>
     872          <para>
     873            Project Home Page: <ulink
     874            url="http://www.forth.org/"/>
     875          </para>
     876        </listitem>
     877        <listitem>
     878          <para>
     879            Download Location: <ulink
     880            url="http://www.forth.org/compilers.html"/>
     881          </para>
    722882        </listitem>
    723883      </itemizedlist>
     
    728888      <title>GNU Smalltalk</title>
    729889
    730       <para><application>GNU Smalltalk</application> is a free implementation
    731       of the Smalltalk-80 language which runs on most versions on Unix and, in
    732       general, everywhere you can find a POSIX-compliance library. An uncommon
    733       feature of it is that it is well-versed to scripting tasks and headless
    734       processing. See <ulink
    735       url="http://www.gnu.org/software/smalltalk/manual/html_node/Overview.html"/>
    736       for a more detailed explanation of
    737       <application>GNU Smalltalk</application>.</para>
    738 
    739       <itemizedlist spacing="compact">
    740         <listitem>
    741           <para>Project Home Page: <ulink
    742           url="http://smalltalk.gnu.org/"/></para>
    743         </listitem>
    744         <listitem>
    745           <para>Download Location: <ulink
    746           url="&gnu-http;/smalltalk/"/></para>
     890      <para>
     891        <application>GNU Smalltalk</application> is a free implementation
     892        of the Smalltalk-80 language which runs on most versions on Unix and,
     893        in general, everywhere you can find a POSIX-compliance library. An
     894        uncommon feature of it is that it is well-versed to scripting tasks
     895        and headless processing. See <ulink url="
     896        http://www.gnu.org/software/smalltalk/manual/html_node/Overview.html
     897        "/> for a more detailed explanation of
     898        <application>GNU Smalltalk</application>.
     899      </para>
     900
     901      <itemizedlist spacing="compact">
     902        <listitem>
     903          <para>
     904            Project Home Page: <ulink
     905          url="http://smalltalk.gnu.org/"/>
     906          </para>
     907        </listitem>
     908        <listitem>
     909          <para>
     910            Download Location: <ulink
     911          url="&gnu-http;/smalltalk/"/>
     912          </para>
    747913        </listitem>
    748914      </itemizedlist>
     
    753919      <title>Haskell</title>
    754920
    755       <para>Haskell is a computer programming language. In particular, it is a
    756       polymorphicly typed, lazy, purely functional language, quite different
    757       from most other programming languages. The language is named for Haskell
    758       Brooks Curry, whose work in mathematical logic serves as a foundation for
    759       functional languages. Haskell is based on lambda calculus. There are many
    760       implementations of Haskell, among them:</para>
    761 
    762       <itemizedlist spacing="compact">
    763         <listitem>
    764           <para>GHC: <ulink
    765           url="http://www.haskell.org/ghc/"/></para>
    766         </listitem>
    767         <listitem>
    768           <para>Helium: <ulink
    769           url="http://www.cs.uu.nl/wiki/bin/view/Helium/WebHome"/></para>
    770         </listitem>
    771         <listitem>
    772           <para>Hugs: <ulink
    773           url="http://www.haskell.org/hugs/"/></para>
    774         </listitem>
    775         <listitem>
    776           <para>nhc98: <ulink
    777           url="http://www.haskell.org/nhc98/"/></para>
     921      <para>
     922        Haskell is a computer programming language. In particular, it is a
     923        polymorphicly typed, lazy, purely functional language, quite different
     924        from most other programming languages. The language is named for Haskell
     925        Brooks Curry, whose work in mathematical logic serves as a foundation
     926        for functional languages. Haskell is based on lambda calculus. There
     927        are many implementations of Haskell, among them:
     928      </para>
     929
     930      <itemizedlist spacing="compact">
     931        <listitem>
     932          <para>
     933            GHC: <ulink
     934            url="http://www.haskell.org/ghc/"/>
     935          </para>
     936        </listitem>
     937        <listitem>
     938          <para>
     939            Helium: <ulink
     940            url="http://www.cs.uu.nl/wiki/bin/view/Helium/WebHome"/>
     941          </para>
     942        </listitem>
     943        <listitem>
     944          <para>
     945            Hugs: <ulink
     946            url="http://www.haskell.org/hugs/"/>
     947          </para>
     948        </listitem>
     949        <listitem>
     950          <para>
     951            nhc98: <ulink
     952            url="http://www.haskell.org/nhc98/"/>
     953          </para>
    778954        </listitem>
    779955      </itemizedlist>
     
    784960      <title>HLA (High Level Assembly)</title>
    785961
    786       <para>The <application>HLA</application> language was developed as a tool
    787       to help teach assembly language programming and machine organization to
    788       University students at the University of California, Riverside. The basic
    789       idea was to teach students assembly language programming by leveraging
    790       their knowledge of high level languages like C/C++ and Pascal/Delphi. At
    791       the same time, <application>HLA</application> was designed to allow
    792       advanced assembly language programmers write more readable and more
    793       powerful assembly language code.</para>
    794 
    795       <itemizedlist spacing="compact">
    796         <listitem>
    797           <para>Project Home Page: <ulink
    798           url="http://www.plantation-productions.com/Webster/HighLevelAsm/index.html"/></para>
    799         </listitem>
    800         <listitem>
    801           <para>Download Location: <ulink
    802           url="http://www.plantation-productions.com/Webster/HighLevelAsm/dnld.html"/></para>
     962      <para>
     963        The <application>HLA</application> language was developed as a tool
     964        to help teach assembly language programming and machine organization to
     965        University students at the University of California, Riverside. The
     966        basic idea was to teach students assembly language programming by
     967        leveraging their knowledge of high level languages like C/C++ and
     968        Pascal/Delphi. At the same time, <application>HLA</application> was
     969        designed to allow advanced assembly language programmers write more
     970        readable and more powerful assembly language code.
     971      </para>
     972
     973      <itemizedlist spacing="compact">
     974        <listitem>
     975          <para>
     976            Project Home Page: <ulink
     977            url="http://www.plantation-productions.com/Webster/HighLevelAsm/index.html"/>
     978          </para>
     979        </listitem>
     980        <listitem>
     981          <para>
     982            Download Location: <ulink
     983            url="http://www.plantation-productions.com/Webster/HighLevelAsm/dnld.html"/>
     984          </para>
    803985        </listitem>
    804986      </itemizedlist>
     
    809991      <title>Icon</title>
    810992
    811       <para><application>Icon</application> is a high-level, general-purpose
    812       programming language with a large repertoire of features for processing
    813       data structures and character strings. It is an imperative, procedural
    814       language with a syntax reminiscent of C and Pascal, but with semantics at
    815       a much higher level.</para>
    816 
    817       <itemizedlist spacing="compact">
    818         <listitem>
    819           <para>Project Home Page: <ulink
    820           url="http://www.cs.arizona.edu/icon/"/></para>
    821         </listitem>
    822         <listitem>
    823           <para>Download Location: <ulink
    824           url="ftp://ftp.cs.arizona.edu/icon/"/></para>
     993      <para>
     994        <application>Icon</application> is a high-level, general-purpose
     995        programming language with a large repertoire of features for processing
     996        data structures and character strings. It is an imperative, procedural
     997        language with a syntax reminiscent of C and Pascal, but with semantics
     998        at a much higher level.
     999      </para>
     1000
     1001      <itemizedlist spacing="compact">
     1002        <listitem>
     1003          <para>
     1004            Project Home Page: <ulink
     1005            url="http://www.cs.arizona.edu/icon/"/>
     1006          </para>
     1007        </listitem>
     1008        <listitem>
     1009          <para>
     1010            Download Location: <ulink
     1011            url="ftp://ftp.cs.arizona.edu/icon/"/>
     1012          </para>
    8251013        </listitem>
    8261014      </itemizedlist>
     
    8311019      <title>Io</title>
    8321020
    833       <para><application>Io</application> is a small, prototype-based
    834       programming language. The ideas in <application>Io</application> are
    835       mostly inspired by <application>Smalltalk</application> (all values are
    836       objects), <application>Self</application> (prototype-based),
    837       <application>NewtonScript</application> (differential inheritance),
    838       <application>Act1</application> (actors and futures for concurrency),
    839       <application>LISP</application> (code is a runtime inspectable/modifiable
    840       tree) and <application>Lua</application> (small, embeddable).</para>
    841 
    842       <itemizedlist spacing="compact">
    843         <listitem>
    844           <para>Project Home Page: <ulink
    845           url="http://iolanguage.org"/></para>
    846         </listitem>
    847         <listitem>
    848           <para>Download Location: <ulink
    849           url="http://iobin.suspended-chord.info/"/></para>
     1021      <para>
     1022        <application>Io</application> is a small, prototype-based
     1023        programming language. The ideas in <application>Io</application> are
     1024        mostly inspired by <application>Smalltalk</application> (all values are
     1025        objects), <application>Self</application> (prototype-based),
     1026        <application>NewtonScript</application> (differential inheritance),
     1027        <application>Act1</application> (actors and futures for concurrency),
     1028        <application>LISP</application> (code is a runtime
     1029        inspectable/modifiable tree) and <application>Lua</application>
     1030        (small, embeddable).
     1031      </para>
     1032
     1033      <itemizedlist spacing="compact">
     1034        <listitem>
     1035          <para>
     1036            Project Home Page: <ulink
     1037            url="http://iolanguage.org"/>
     1038          </para>
     1039        </listitem>
     1040        <listitem>
     1041          <para>
     1042            Download Location: <ulink
     1043            url="http://iobin.suspended-chord.info/"/>
     1044          </para>
    8501045        </listitem>
    8511046      </itemizedlist>
     
    8561051      <title>J</title>
    8571052
    858       <para><application>J</application> is a modern, high-level,
    859       general-purpose, high-performance programming language. It is portable
    860       and runs on Windows, Unix, Mac, and PocketPC handhelds, both as a GUI
    861       and in a console. True 64-bit <application>J</application> systems are
    862       available for XP64 or Linux64, on AMD64 or Intel EM64T platforms.
    863       <application>J</application> systems can be installed and distributed
    864       for free.</para>
    865 
    866       <itemizedlist spacing="compact">
    867         <listitem>
    868           <para>Project Home Page: <ulink
    869           url="http://www.jsoftware.com/"/></para>
    870         </listitem>
    871         <listitem>
    872           <para>Download Location: <ulink
    873           url="http://www.jsoftware.com/stable.htm"/></para>
     1053      <para>
     1054        <application>J</application> is a modern, high-level,
     1055        general-purpose, high-performance programming language. It is portable
     1056        and runs on Windows, Unix, Mac, and PocketPC handhelds, both as a GUI
     1057        and in a console. True 64-bit <application>J</application> systems are
     1058        available for XP64 or Linux64, on AMD64 or Intel EM64T platforms.
     1059        <application>J</application> systems can be installed and distributed
     1060        for free.
     1061      </para>
     1062
     1063      <itemizedlist spacing="compact">
     1064        <listitem>
     1065          <para>
     1066            Project Home Page: <ulink
     1067            url="http://www.jsoftware.com/"/>
     1068          </para>
     1069        </listitem>
     1070        <listitem>
     1071          <para>
     1072            Download Location: <ulink
     1073            url="http://www.jsoftware.com/stable.htm"/>
     1074          </para>
    8741075        </listitem>
    8751076      </itemizedlist>
     
    8801081      <title>Jamaica</title>
    8811082
    882       <para><application>Jamaica</application>, the JVM Macro Assembler, is an
    883       easy-to-learn and easy-to-use assembly language for JVM bytecode
    884       programming. It uses Java syntax to define a JVM class except for the
    885       method body that takes bytecode instructions, including
    886       <application>Jamaica</application>'s built-in macros. In
    887       <application>Jamaica</application>, bytecode instructions use mnemonics
    888       and symbolic names for all variables, parameters, data fields, constants
    889       and labels.</para>
    890 
    891       <itemizedlist spacing="compact">
    892         <listitem>
    893           <para>Project Home Page: <ulink
    894           url="http://judoscript.org/jamaica.html"/></para>
    895         </listitem>
    896         <listitem>
    897           <para>Download Location: <ulink
    898           url="http://judoscript.org/download.html"/></para>
     1083      <para>
     1084        <application>Jamaica</application>, the JVM Macro Assembler, is an
     1085        easy-to-learn and easy-to-use assembly language for JVM bytecode
     1086        programming. It uses Java syntax to define a JVM class except for the
     1087        method body that takes bytecode instructions, including
     1088        <application>Jamaica</application>'s built-in macros. In
     1089        <application>Jamaica</application>, bytecode instructions use mnemonics
     1090        and symbolic names for all variables, parameters, data fields,
     1091        constants, and labels.
     1092      </para>
     1093
     1094      <itemizedlist spacing="compact">
     1095        <listitem>
     1096          <para>
     1097            Project Home Page: <ulink
     1098            url="http://judoscript.org/jamaica.html"/>
     1099          </para>
     1100        </listitem>
     1101        <listitem>
     1102          <para>
     1103            Download Location: <ulink
     1104            url="http://judoscript.org/download.html"/>
     1105          </para>
    8991106        </listitem>
    9001107      </itemizedlist>
     
    9051112      <title>Joy</title>
    9061113
    907       <para><application>Joy</application> is a purely functional programming
    908       language. Whereas all other functional programming languages are based on
    909       the application of functions to arguments, <application>Joy</application>
    910       is based on the composition of functions. All such functions take a stack
    911       as an argument and produce a stack as a value. Consequently much of
    912       <application>Joy</application> looks like ordinary postfix notation.
    913       However, in <application>Joy</application> a function can consume any
    914       number of parameters from the stack and leave any number of results on
    915       the stack. The concatenation of appropriate programs denotes the
    916       composition of the functions which the programs denote.</para>
    917 
    918       <itemizedlist spacing="compact">
    919         <listitem>
    920           <para>Project Home Page: <ulink
    921           url="http://www.latrobe.edu.au/humanities/research/research-projects/past-projects/joy-programming-language"/></para>
     1114      <para>
     1115        <application>Joy</application> is a purely functional programming
     1116        language. Whereas all other functional programming languages are based
     1117        on the application of functions to arguments,
     1118        <application>Joy</application> is based on the composition of
     1119        functions. All such functions take a stack as an argument and produce
     1120        a stack as a value. Consequently much of <application>Joy</application>
     1121        looks like ordinary postfix notation.  However, in
     1122        <application>Joy</application> a function can consume any number of
     1123        parameters from the stack and leave any number of results on the stack.
     1124        The concatenation of appropriate programs denotes the composition of
     1125        the functions which the programs denote.
     1126      </para>
     1127
     1128      <itemizedlist spacing="compact">
     1129        <listitem>
     1130          <para>
     1131            Project Home Page: <ulink
     1132            url="http://www.latrobe.edu.au/humanities/research/research-projects/past-projects/joy-programming-language"/>
     1133          </para>
    9221134        </listitem>
    9231135      </itemizedlist>
     
    9281140      <title>Judo</title>
    9291141
    930       <para><application>Judo</application> is a practical, functional
    931       scripting language. It is designed to cover the use cases of not only
    932       algorithmic/object-oriented/multi-threaded programming and Java scripting
    933       but also a number of major application domain tasks, such as scripting
    934       for JDBC, WSDL, ActiveX, OS, multiple file/data formats, etc. Despite its
    935       rich functionality, the base language is extremely simple, and domain
    936       support syntax is totally intuitive to domain experts, so that even
    937       though you have never programmed in <application>Judo</application>, you
    938       would have little trouble figuring out what the code does.</para>
    939 
    940       <itemizedlist spacing="compact">
    941         <listitem>
    942           <para>Project Home Page: <ulink
    943           url="http://judoscript.org/judo.html"/></para>
    944         </listitem>
    945         <listitem>
    946           <para>Download Location: <ulink
    947           url="http://judoscript.org/download.html"/></para>
     1142      <para>
     1143        <application>Judo</application> is a practical, functional scripting
     1144        language. It is designed to cover the use cases of not only
     1145        algorithmic/object-oriented/multi-threaded programming and Java
     1146        scripting but also a number of major application domain tasks, such
     1147        as scripting for JDBC, WSDL, ActiveX, OS, multiple file/data formats,
     1148        etc. Despite its rich functionality, the base language is extremely
     1149        simple, and domain support syntax is totally intuitive to domain
     1150        experts, so that even though you have never programmed in
     1151        <application>Judo</application>, you would have little trouble
     1152        figuring out what the code does.
     1153      </para>
     1154
     1155      <itemizedlist spacing="compact">
     1156        <listitem>
     1157          <para>
     1158            Project Home Page: <ulink
     1159            url="http://judoscript.org/judo.html"/>
     1160          </para>
     1161        </listitem>
     1162        <listitem>
     1163          <para>
     1164            Download Location: <ulink
     1165            url="http://judoscript.org/download.html"/>
     1166          </para>
    9481167        </listitem>
    9491168      </itemizedlist>
     
    9541173      <title>JWIG</title>
    9551174
    956       <para><application>JWIG</application> is a Java-based high-level
    957       programming language for development of interactive Web services. It
    958       contains an advanced session model, a flexible mechanism for dynamic
    959       construction of XML documents, in particular XHTML, and a powerful API
    960       for simplifying use of the HTTP protocol and many other aspects of Web
    961       service programming. To support program development,
    962       <application>JWIG</application> provides a unique suite of highly
    963       specialized program analysers that at compile time verify for a given
    964       program that no runtime errors can occur while building documents or
    965       receiving form input, and that all documents being shown are valid
    966       according to the document type definition for XHTML 1.0. The main goal of
    967       the <application>JWIG</application> project is to simplify development of
    968       complex Web services, compared to alternatives, such as, Servlets, JSP,
    969       ASP, and PHP. <application>JWIG</application> is a descendant of the
    970       <application>&lt;bigwig&gt;</application> research language.</para>
    971 
    972       <itemizedlist spacing="compact">
    973         <listitem>
    974           <para>Project Home Page: <ulink
    975           url="http://www.brics.dk/JWIG/"/></para>
    976         </listitem>
    977         <listitem>
    978           <para>Download Location: <ulink
    979           url="http://www.brics.dk/JWIG/download.html"/></para>
     1175      <para>
     1176        <application>JWIG</application> is a Java-based high-level
     1177        programming language for development of interactive Web services. It
     1178        contains an advanced session model, a flexible mechanism for dynamic
     1179        construction of XML documents, in particular XHTML, and a powerful API
     1180        for simplifying use of the HTTP protocol and many other aspects of Web
     1181        service programming. To support program development,
     1182        <application>JWIG</application> provides a unique suite of highly
     1183        specialized program analysers that at compile time verify for a given
     1184        program that no runtime errors can occur while building documents or
     1185        receiving form input, and that all documents being shown are valid
     1186        according to the document type definition for XHTML 1.0. The main goal
     1187        of the <application>JWIG</application> project is to simplify
     1188        development of complex Web services, compared to alternatives, such
     1189        as, Servlets, JSP, ASP, and PHP. <application>JWIG</application> is a
     1190        descendant of the <application>&lt;bigwig&gt;</application> research
     1191        language.
     1192      </para>
     1193
     1194      <itemizedlist spacing="compact">
     1195        <listitem>
     1196          <para>
     1197            Project Home Page: <ulink
     1198            url="http://www.brics.dk/JWIG/"/>
     1199          </para>
     1200        </listitem>
     1201        <listitem>
     1202          <para>
     1203            Download Location: <ulink
     1204            url="http://www.brics.dk/JWIG/download.html"/>
     1205          </para>
    9801206        </listitem>
    9811207      </itemizedlist>
     
    9861212      <title>Lava</title>
    9871213
    988       <para><application>Lava</application> is a name unfortunately chosen for
    989       several unrelated software development languages/projects. So it doesn't
    990       appear as though BLFS has a preference for one over another, the project
    991       web sites are listed below, without descriptions of the capabilities or
    992       features for any of them.</para>
    993 
    994       <itemizedlist spacing="compact">
    995         <listitem>
    996           <para>Project Home Page: <ulink
    997           url="http://lavape.sourceforge.net/index.htm"/></para>
     1214      <para>
     1215        <application>Lava</application> is a name unfortunately chosen for
     1216        several unrelated software development languages/projects. So it
     1217        doesn't appear as though BLFS has a preference for one over another,
     1218        the project web sites are listed below, without descriptions of the
     1219        capabilities or features for any of them.
     1220      </para>
     1221
     1222      <itemizedlist spacing="compact">
     1223        <listitem>
     1224          <para>
     1225            Project Home Page: <ulink
     1226            url="http://lavape.sourceforge.net/index.htm"/>
     1227          </para>
    9981228        </listitem>
    9991229        <!-- URL broken
    10001230          <listitem>
    1001           <para>Project Home Page: <ulink
    1002           url="http://javalab.cs.uni-bonn.de/research/darwin/#The%20Lava%20Language"/></para>
     1231          <para>
     1232            Project Home Page: <ulink
     1233            url="http://javalab.cs.uni-bonn.de/research/darwin/#The%20Lava%20Language"/>
     1234          </para>
    10031235        </listitem>
    10041236        -->
    10051237        <listitem>
    1006           <para>Project Home Page: <ulink
    1007           url="http://mathias.tripod.com/IavaHomepage.html"/></para>
     1238          <para>
     1239            Project Home Page: <ulink
     1240            url="http://mathias.tripod.com/IavaHomepage.html"/>
     1241          </para>
    10081242        </listitem>
    10091243      </itemizedlist>
     
    10141248      <title>Mercury</title>
    10151249
    1016       <para><application>Mercury</application> is a new logic/functional
    1017       programming language, which combines the clarity and expressiveness of
    1018       declarative programming with advanced static analysis and error detection
    1019       features. Its highly optimized execution algorithm delivers efficiency
    1020       far in excess of existing logic programming systems, and close to
    1021       conventional programming systems. <application>Mercury</application>
    1022       addresses the problems of large-scale program development, allowing
    1023       modularity, separate compilation, and numerous optimization/time
    1024       trade-offs.</para>
    1025 
    1026       <itemizedlist spacing="compact">
    1027         <listitem>
    1028           <para>Project Home Page: <ulink
    1029           url="http://mercurylang.org/"/></para>
    1030         </listitem>
    1031         <listitem>
    1032           <para>Download Location: <ulink
    1033           url="http://mercurylang.org/download.html"/></para>
     1250      <para>
     1251        <application>Mercury</application> is a new logic/functional
     1252        programming language, which combines the clarity and expressiveness of
     1253        declarative programming with advanced static analysis and error
     1254        detection features. Its highly optimized execution algorithm delivers
     1255        efficiency far in excess of existing logic programming systems, and
     1256        close to conventional programming systems.
     1257        <application>Mercury</application> addresses the problems of
     1258        large-scale program development, allowing modularity, separate
     1259        compilation, and numerous optimization/time trade-offs.
     1260      </para>
     1261
     1262      <itemizedlist spacing="compact">
     1263        <listitem>
     1264          <para>
     1265            Project Home Page: <ulink
     1266            url="http://mercurylang.org/"/>
     1267          </para>
     1268        </listitem>
     1269        <listitem>
     1270          <para>
     1271            Download Location: <ulink
     1272            url="http://mercurylang.org/download.html"/>
     1273          </para>
    10341274        </listitem>
    10351275      </itemizedlist>
     
    10401280      <title>Mono</title>
    10411281
    1042       <para><application>Mono</application> provides the necessary software to
    1043       develop and run .NET client and server applications on Linux, Solaris,
    1044       Mac OS X, Windows, and Unix. Sponsored by Novell, the
    1045       <application>Mono</application> open source project has an active and
    1046       enthusiastic contributing community and is positioned to become the
    1047       leading choice for development of Linux applications.</para>
    1048 
    1049       <itemizedlist spacing="compact">
    1050         <listitem>
    1051           <para>Project Home Page: <ulink
    1052           url="http://www.mono-project.com/Main_Page"/></para>
    1053         </listitem>
    1054         <listitem>
    1055           <para>Download Location: <ulink
    1056           url="http://ftp.novell.com/pub/mono/archive/"/></para>
     1282      <para>
     1283        <application>Mono</application> provides the necessary software to
     1284        develop and run .NET client and server applications on Linux, Solaris,
     1285        Mac OS X, Windows, and Unix. Sponsored by Novell, the
     1286        <application>Mono</application> open source project has an active and
     1287        enthusiastic contributing community and is positioned to become the
     1288        leading choice for development of Linux applications.
     1289      </para>
     1290
     1291      <itemizedlist spacing="compact">
     1292        <listitem>
     1293          <para>
     1294            Project Home Page: <ulink
     1295            url="http://www.mono-project.com/Main_Page"/>
     1296          </para>
     1297        </listitem>
     1298        <listitem>
     1299          <para>
     1300            Download Location: <ulink
     1301            url="http://ftp.novell.com/pub/mono/archive/"/>
     1302          </para>
    10571303        </listitem>
    10581304      </itemizedlist>
     
    10631309      <title>MPD</title>
    10641310
    1065       <para><application>MPD</application> is a variant of the
    1066       <application>SR</application> programming language.
    1067       <application>SR</application> has a Pascal-like syntax and uses guarded
    1068       commands for control statements. <application>MPD</application> has a
    1069       C-like syntax and C-like control statements. However, the main components
    1070       of the two languages are the same: resources, globals, operations, procs,
    1071       procedures, processes, and virtual machines. Moreover,
    1072       <application>MPD</application> supports the same variety of concurrent
    1073       programming mechanisms as <application>SR</application>: co statements,
    1074       semaphores, call/send/forward invocations, and receive and input
    1075       statements.</para>
    1076 
    1077       <itemizedlist spacing="compact">
    1078         <listitem>
    1079           <para>Project Home Page: <ulink
    1080           url="http://www.cs.arizona.edu/mpd/"/></para>
    1081         </listitem>
    1082         <listitem>
    1083           <para>Download Location: <ulink
    1084           url="http://www.cs.arizona.edu/mpd/download/"/></para>
     1311      <para>
     1312        <application>MPD</application> is a variant of the
     1313        <application>SR</application> programming language.
     1314        <application>SR</application> has a Pascal-like syntax and uses guarded
     1315        commands for control statements. <application>MPD</application> has a
     1316        C-like syntax and C-like control statements. However, the main
     1317        components of the two languages are the same: resources, globals,
     1318        operations, procs, procedures, processes, and virtual machines.
     1319        Moreover, <application>MPD</application> supports the same variety of
     1320        concurrent programming mechanisms as <application>SR</application>:
     1321        co statements, semaphores, call/send/forward invocations, and receive
     1322        and input statements.
     1323      </para>
     1324
     1325      <itemizedlist spacing="compact">
     1326        <listitem>
     1327          <para>
     1328            Project Home Page: <ulink
     1329            url="http://www.cs.arizona.edu/mpd/"/>
     1330          </para>
     1331        </listitem>
     1332        <listitem>
     1333          <para>
     1334            Download Location: <ulink
     1335            url="http://www.cs.arizona.edu/mpd/download/"/>
     1336          </para>
    10851337        </listitem>
    10861338      </itemizedlist>
     
    10911343      <title>Nemerle</title>
    10921344
    1093       <para><application>Nemerle</application> is a high-level statically-typed
    1094       programming language for the .NET platform. It offers functional,
    1095       object-oriented and imperative features. It has a simple C#-like syntax
    1096       and a powerful meta-programming system. Features that come from the
    1097       functional land are variants, pattern matching, type inference and
    1098       parameter polymorphism (aka generics). The meta-programming system allows
    1099       great compiler extensibility, embedding domain specific languages,
    1100       partial evaluation and aspect-oriented programming.</para>
    1101 
    1102       <itemizedlist spacing="compact">
    1103         <listitem>
    1104           <para>Project Home Page: <ulink
    1105           url="http://nemerle.org/About"/></para>
    1106         </listitem>
    1107         <listitem>
    1108           <para>Download Location: <ulink
    1109           url="http://nemerle.org/Downloads"/></para>
     1345      <para>
     1346        <application>Nemerle</application> is a high-level statically-typed
     1347        programming language for the .NET platform. It offers functional,
     1348        object-oriented and imperative features. It has a simple C#-like syntax
     1349        and a powerful meta-programming system. Features that come from the
     1350        functional land are variants, pattern matching, type inference and
     1351        parameter polymorphism (aka generics). The meta-programming system
     1352        allows great compiler extensibility, embedding domain specific
     1353        languages, partial evaluation and aspect-oriented programming.
     1354      </para>
     1355
     1356      <itemizedlist spacing="compact">
     1357        <listitem>
     1358          <para>
     1359            Project Home Page: <ulink
     1360            url="http://nemerle.org/About"/>
     1361          </para>
     1362        </listitem>
     1363        <listitem>
     1364          <para>
     1365            Download Location: <ulink
     1366            url="http://nemerle.org/Downloads"/>
     1367          </para>
    11101368        </listitem>
    11111369      </itemizedlist>
     
    11161374      <title>Octave</title>
    11171375
    1118       <para>GNU <application>Octave</application> is a high-level language,
    1119       primarily intended for numerical computations. It provides a convenient
    1120       command line interface for solving linear and nonlinear problems
    1121       numerically, and for performing other numerical experiments using a
    1122       language that is mostly compatible with Matlab. It may also be used as
    1123       a batch-oriented language. <application>Octave</application> has
    1124       extensive tools for solving common numerical linear algebra problems,
    1125       finding the roots of nonlinear equations, integrating ordinary functions,
    1126       manipulating polynomials, and integrating ordinary differential and
    1127       differential-algebraic equations. It is easily extensible and
    1128       customizable via user-defined functions written in
    1129       <application>Octave</application>'s own language, or using dynamically
    1130       loaded modules written in C++, C, Fortran, or other languages.</para>
    1131 
    1132       <itemizedlist spacing="compact">
    1133         <listitem>
    1134           <para>Project Home Page: <ulink
    1135           url="http://www.gnu.org/software/octave/"/></para>
    1136         </listitem>
    1137         <listitem>
    1138           <para>Download Location: <ulink
    1139           url="http://www.gnu.org/software/octave/download.html"/></para>
     1376      <para>
     1377        GNU <application>Octave</application> is a high-level language,
     1378        primarily intended for numerical computations. It provides a convenient
     1379        command line interface for solving linear and nonlinear problems
     1380        numerically, and for performing other numerical experiments using a
     1381        language that is mostly compatible with Matlab. It may also be used as
     1382        a batch-oriented language. <application>Octave</application> has
     1383        extensive tools for solving common numerical linear algebra problems,
     1384        finding the roots of nonlinear equations, integrating ordinary
     1385        functions, manipulating polynomials, and integrating ordinary
     1386        differential and differential-algebraic equations. It is easily
     1387        extensible and customizable via user-defined functions written in
     1388        <application>Octave</application>'s own language, or using dynamically
     1389        loaded modules written in C++, C, Fortran, or other languages.
     1390     </para>
     1391
     1392      <itemizedlist spacing="compact">
     1393        <listitem>
     1394          <para>
     1395            Project Home Page: <ulink
     1396          url="http://www.gnu.org/software/octave/"/>
     1397          </para>
     1398        </listitem>
     1399        <listitem>
     1400          <para>
     1401            Download Location: <ulink
     1402          url="http://www.gnu.org/software/octave/download.html"/>
     1403          </para>
    11401404        </listitem>
    11411405      </itemizedlist>
     
    11461410      <title>OO2C (Optimizing Oberon-2 Compiler)</title>
    11471411
    1148       <para><application>OO2C</application> is an Oberon-2 development
    1149       platform. It consists of an optimizing compiler, a number of related
    1150       tools, a set of standard library modules and a reference manual.
    1151       Oberon-2 is a general-purpose programming language in the tradition of
    1152       Pascal and Modula-2. Its most important features are block structure,
    1153       modularity, separate compilation, static typing with strong type checking
    1154       (also across module boundaries) and type extension with type-bound
    1155       procedures. Type extension makes Oberon-2 an object-oriented
    1156       language.</para>
    1157 
    1158       <itemizedlist spacing="compact">
    1159         <listitem>
    1160           <para>Project Home Page: <ulink
    1161           url="http://sourceforge.net/projects/ooc/"/></para>
    1162         </listitem>
    1163         <listitem>
    1164           <para>Download Location: <ulink
    1165           url="&sourceforge-dl;/ooc/"/></para>
     1412      <para>
     1413        <application>OO2C</application> is an Oberon-2 development platform.
     1414        It consists of an optimizing compiler, a number of related tools, a
     1415        set of standard library modules and a reference manual.  Oberon-2 is
     1416        a general-purpose programming language in the tradition of Pascal and
     1417        Modula-2. Its most important features are block structure, modularity,
     1418        separate compilation, static typing with strong type checking (also
     1419        across module boundaries) and type extension with type-bound
     1420        procedures. Type extension makes Oberon-2 an object-oriented language.
     1421      </para>
     1422
     1423      <itemizedlist spacing="compact">
     1424        <listitem>
     1425          <para>
     1426            Project Home Page: <ulink
     1427            url="http://sourceforge.net/projects/ooc/"/>
     1428          </para>
     1429        </listitem>
     1430        <listitem>
     1431          <para>
     1432            Download Location: <ulink
     1433            url="&sourceforge-dl;/ooc/"/>
     1434          </para>
    11661435        </listitem>
    11671436      </itemizedlist>
     
    11721441      <title>Ordered Graph Data Language (OGDL)</title>
    11731442
    1174       <para><application>OGDL</application> is a structured textual format that
    1175       represents information in the form of graphs, where the nodes are strings
    1176       and the arcs or edges are spaces or indentation.</para>
    1177 
    1178       <itemizedlist spacing="compact">
    1179         <listitem>
    1180           <para>Project Home Page: <ulink
    1181           url="http://ogdl.sourceforge.net/"/></para>
    1182         </listitem>
    1183         <listitem>
    1184           <para>Download Location: <ulink
    1185           url="&sourceforge-dl;/ogdl/"/></para>
     1443      <para>
     1444        <application>OGDL</application> is a structured textual format that
     1445        represents information in the form of graphs, where the nodes are
     1446        strings and the arcs or edges are spaces or indentation.
     1447      </para>
     1448
     1449      <itemizedlist spacing="compact">
     1450        <listitem>
     1451          <para>
     1452            Project Home Page: <ulink
     1453            url="http://ogdl.sourceforge.net/"/>
     1454          </para>
     1455        </listitem>
     1456        <listitem>
     1457          <para>
     1458            Download Location: <ulink
     1459            url="&sourceforge-dl;/ogdl/"/>
     1460          </para>
    11861461        </listitem>
    11871462      </itemizedlist>
     
    11921467      <title>Pike</title>
    11931468
    1194       <para><application>Pike</application> is a dynamic programming language
    1195       with a syntax similar to Java and C. It is simple to learn, does not
    1196       require long compilation passes and has powerful built-in data types
    1197       allowing simple and really fast data manipulation. Pike is released under
    1198       the GNU GPL, GNU LGPL and MPL.</para>
    1199 
    1200       <itemizedlist spacing="compact">
    1201         <listitem>
    1202           <para>Project Home Page: <ulink
    1203           url="http://pike.ida.liu.se/"/></para>
    1204         </listitem>
    1205         <listitem>
    1206           <para>Download Location: <ulink
    1207           url="http://pike.ida.liu.se/download/pub/pike"/></para>
    1208         </listitem>
    1209       </itemizedlist>
    1210 
    1211     </sect3>
    1212 <!-- Broken link
    1213     <sect3 role="package">
    1214       <title>pyc</title>
    1215 
    1216       <para><application>pyc</application> is a compiler that compiles
    1217       <application>Python</application> source code to bytecode (from
    1218       <filename class='extension'>.py</filename> to
    1219       <filename class='extension'>.pyc</filename>), written entirely in
    1220       <application>Python</application> (based on code from the <quote>compiler
    1221       package</quote>). It can compile itself and pass a 3-stage bootstrap.
    1222       <application>pyc</application> performs advanced optimizations which
    1223       results in better (smaller) bytecode.</para>
    1224 
    1225       <itemizedlist spacing="compact">
    1226         <listitem>
    1227           <para>Project Home Page: <ulink
    1228           url="http://students.ceid.upatras.gr/~sxanth/pyc/"/></para>
    1229         </listitem>
    1230       </itemizedlist>
    1231 
    1232     </sect3>
    1233 -->
     1469      <para>
     1470        <application>Pike</application> is a dynamic programming language
     1471        with a syntax similar to Java and C. It is simple to learn, does not
     1472        require long compilation passes and has powerful built-in data types
     1473        allowing simple and really fast data manipulation. Pike is released
     1474        under the GNU GPL, GNU LGPL and MPL.
     1475      </para>
     1476
     1477      <itemizedlist spacing="compact">
     1478        <listitem>
     1479          <para>
     1480            Project Home Page: <ulink
     1481            url="http://pike.ida.liu.se/"/>
     1482          </para>
     1483        </listitem>
     1484        <listitem>
     1485          <para>
     1486            Download Location: <ulink
     1487            url="http://pike.ida.liu.se/download/pub/pike"/>
     1488          </para>
     1489        </listitem>
     1490      </itemizedlist>
     1491
     1492    </sect3>
     1493
    12341494    <sect3 role="package">
    12351495      <title>Pyrex</title>
    12361496
    1237       <para><application>Pyrex</application> is a language specially designed
     1497      <para>
     1498        <application>Pyrex</application> is a language specially designed
    12381499      for writing Python extension modules. It's designed to bridge the gap
    12391500      between the nice, high-level, easy-to-use world of
     
    12421503      <application>Python</application> and C data types any way you want, and
    12431504      compiles it into a C extension for
    1244       <application>Python</application>.</para>
    1245 
    1246       <itemizedlist spacing="compact">
    1247         <listitem>
    1248           <para>Project Home Page: <ulink
    1249           url="http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/"/></para>
     1505      <application>Python</application>.
     1506      </para>
     1507
     1508      <itemizedlist spacing="compact">
     1509        <listitem>
     1510          <para>
     1511            Project Home Page: <ulink
     1512          url="http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/"/>
     1513          </para>
    12501514        </listitem>
    12511515      </itemizedlist>
     
    12561520      <title>Q</title>
    12571521
    1258       <para><application>Q</application> is a functional programming language
    1259       based on term rewriting. Thus, a <application>Q</application> program or
    1260       <quote>script</quote> is simply a collection of equations which are used
    1261       to evaluate expressions in a symbolic fashion. The equations establish
    1262       algebraic identities and are interpreted as rewriting rules in order to
    1263       reduce expressions to <quote>normal forms</quote>.</para>
    1264 
    1265       <itemizedlist spacing="compact">
    1266         <listitem>
    1267           <para>Project Home Page: <ulink
    1268           url="http://q-lang.sourceforge.net/"/></para>
    1269         </listitem>
    1270         <listitem>
    1271           <para>Download Location: <ulink
    1272           url="&sourceforge-dl;/q-lang/"/></para>
     1522      <para>
     1523        <application>Q</application> is a functional programming language
     1524        based on term rewriting. Thus, a <application>Q</application> program or
     1525        <quote>script</quote> is simply a collection of equations which are used
     1526        to evaluate expressions in a symbolic fashion. The equations establish
     1527        algebraic identities and are interpreted as rewriting rules in order to
     1528        reduce expressions to <quote>normal forms</quote>.
     1529      </para>
     1530
     1531      <itemizedlist spacing="compact">
     1532        <listitem>
     1533          <para>
     1534            Project Home Page: <ulink
     1535            url="http://q-lang.sourceforge.net/"/>
     1536          </para>
     1537        </listitem>
     1538        <listitem>
     1539          <para>
     1540            Download Location: <ulink
     1541            url="&sourceforge-dl;/q-lang/"/>
     1542          </para>
    12731543        </listitem>
    12741544      </itemizedlist>
     
    12791549      <title>R</title>
    12801550
    1281       <para><application>R</application> is a language and environment for
    1282       statistical computing and graphics. It is a GNU project similar to the
    1283       <application>S</application> language and environment which was developed
    1284       at Bell Laboratories (formerly AT&amp;T, now Lucent Technologies) by
    1285       John Chambers and colleagues. <application>R</application> can be
    1286       considered as a different implementation of <application>S</application>.
    1287       There are some important differences, but much code written for
    1288       <application>S</application> runs unaltered under
    1289       <application>R</application>. <application>R</application> provides a
    1290       wide variety of statistical (linear and nonlinear modelling, classical
    1291       statistical tests, time-series analysis, classification, clustering, ...)
    1292       and graphical techniques, and is highly extensible. The
    1293       <application>S</application> language is often the vehicle of choice for
    1294       research in statistical methodology, and <application>R</application>
    1295       provides an Open Source route to participation in that activity.</para>
    1296 
    1297       <itemizedlist spacing="compact">
    1298         <listitem>
    1299           <para>Project Home Page: <ulink
    1300           url="http://www.r-project.org/"/></para>
    1301         </listitem>
    1302         <listitem>
    1303           <para>Download Location: <ulink
    1304           url="http://cran.r-project.org/mirrors.html"/></para>
     1551      <para>
     1552        <application>R</application> is a language and environment for
     1553        statistical computing and graphics. It is a GNU project similar to the
     1554        <application>S</application> language and environment which was
     1555        developed at Bell Laboratories (formerly AT&amp;T, now Lucent
     1556        Technologies) by John Chambers and colleagues.
     1557        <application>R</application> can be considered as a different
     1558        implementation of <application>S</application>.  There are some
     1559        important differences, but much code written for
     1560        <application>S</application> runs unaltered under
     1561        <application>R</application>. <application>R</application> provides a
     1562        wide variety of statistical (linear and nonlinear modelling, classical
     1563        statistical tests, time-series analysis, classification, clustering,
     1564        ...) and graphical techniques, and is highly extensible. The
     1565        <application>S</application> language is often the vehicle of choice
     1566        for research in statistical methodology, and
     1567        <application>R</application> provides an Open Source route to
     1568        participation in that activity.
     1569      </para>
     1570
     1571      <itemizedlist spacing="compact">
     1572        <listitem>
     1573          <para>
     1574            Project Home Page: <ulink
     1575            url="http://www.r-project.org/"/>
     1576          </para>
     1577        </listitem>
     1578        <listitem>
     1579          <para>
     1580            Download Location: <ulink
     1581            url="http://cran.r-project.org/mirrors.html"/>
     1582          </para>
    13051583        </listitem>
    13061584      </itemizedlist>
     
    13111589      <title>Regina Rexx</title>
    13121590
    1313       <para><application>Regina</application> is a Rexx interpreter that has
    1314       been ported to most Unix platforms (Linux, FreeBSD, Solaris, AIX, HP-UX,
    1315       etc.) and also to OS/2, eCS, DOS, Win9x/Me/NT/2k/XP, Amiga, AROS, QNX4.x,
    1316       QNX6.x BeOS, MacOS X, EPOC32, AtheOS, OpenVMS, SkyOS and OpenEdition.
    1317       Rexx is a programming language that was designed to be easy to use for
    1318       inexperienced programmers yet powerful enough for experienced users. It
    1319       is also a language ideally suited as a macro language for other
    1320       applications.</para>
    1321 
    1322       <itemizedlist spacing="compact">
    1323         <listitem>
    1324           <para>Project Home Page: <ulink
    1325           url="http://regina-rexx.sourceforge.net/"/></para>
    1326         </listitem>
    1327         <listitem>
    1328           <para>Download Location: <ulink
    1329           url="&sourceforge-dl;/regina-rexx"/></para>
     1591      <para>
     1592        <application>Regina</application> is a Rexx interpreter that has been
     1593        ported to most Unix platforms (Linux, FreeBSD, Solaris, AIX, HP-UX,
     1594        etc.) and also to OS/2, eCS, DOS, Win9x/Me/NT/2k/XP, Amiga, AROS,
     1595        QNX4.x, QNX6.x BeOS, MacOS X, EPOC32, AtheOS, OpenVMS, SkyOS and
     1596        OpenEdition.  Rexx is a programming language that was designed to be
     1597        easy to use for inexperienced programmers yet powerful enough for
     1598        experienced users. It is also a language ideally suited as a macro
     1599        language for other applications.
     1600      </para>
     1601
     1602      <itemizedlist spacing="compact">
     1603        <listitem>
     1604          <para>
     1605            Project Home Page: <ulink
     1606            url="http://regina-rexx.sourceforge.net/"/>
     1607          </para>
     1608        </listitem>
     1609        <listitem>
     1610          <para>
     1611            Download Location: <ulink
     1612            url="&sourceforge-dl;/regina-rexx"/>
     1613          </para>
    13301614        </listitem>
    13311615      </itemizedlist>
     
    13361620      <title>Small Device C Compiler (SDCC)</title>
    13371621
    1338       <para><application>SDCC</application> is a Freeware, retargetable,
    1339       optimizing ANSI-C compiler that targets the Intel 8051, Maxim 80DS390
    1340       and the Zilog Z80 based MCUs. Work is in progress on supporting the
    1341       Motorola 68HC08 as well as Microchip PIC16 and PIC18 series. The entire
    1342       source code for the compiler is distributed under GPL.</para>
    1343 
    1344       <itemizedlist spacing="compact">
    1345         <listitem>
    1346           <para>Project Home Page: <ulink
    1347           url="http://sdcc.sourceforge.net/"/></para>
    1348         </listitem>
    1349         <listitem>
    1350           <para>Download Location: <ulink
    1351           url="http://sdcc.sourceforge.net/snap.php#Source"/></para>
     1622      <para>
     1623        <application>SDCC</application> is a Freeware, retargetable,
     1624        optimizing ANSI-C compiler that targets the Intel 8051, Maxim 80DS390
     1625        and the Zilog Z80 based MCUs. Work is in progress on supporting the
     1626        Motorola 68HC08 as well as Microchip PIC16 and PIC18 series. The entire
     1627        source code for the compiler is distributed under GPL.
     1628      </para>
     1629
     1630      <itemizedlist spacing="compact">
     1631        <listitem>
     1632          <para>
     1633            Project Home Page: <ulink
     1634            url="http://sdcc.sourceforge.net/"/>
     1635          </para>
     1636        </listitem>
     1637        <listitem>
     1638          <para>
     1639            Download Location: <ulink
     1640            url="http://sdcc.sourceforge.net/snap.php#Source"/>
     1641          </para>
    13521642        </listitem>
    13531643      </itemizedlist>
     
    13581648      <title>SmartEiffel (The GNU Eiffel Compiler)</title>
    13591649
    1360       <para><application>SmartEiffel</application> claims to be <quote>the
    1361       fastest and the slimmest multi-platform Eiffel compiler on Earth</quote>.
    1362       Eiffel is an object-oriented programming language which emphasizes the
    1363       production of robust software. Its syntax is keyword-oriented in the
    1364       ALGOL and Pascal tradition. Eiffel is strongly statically typed, with
    1365       automatic memory management (typically implemented by garbage
    1366       collection). Distinguishing characteristics of Eiffel include Design by
    1367       contract (DbC), liberal use of inheritance including multiple
    1368       inheritance, a type system handling both value and reference semantics,
    1369       and generic classes. Eiffel has a unified type system&mdash;all types in
    1370       Eiffel are classes, so it is possible to create subclasses of the basic
    1371       classes such as INTEGER. Eiffel has operator overloading, including the
    1372       ability to define new operators, but does not have method
    1373       overloading.</para>
    1374 
    1375       <itemizedlist spacing="compact">
    1376         <listitem>
    1377           <para>Project Home Page: <ulink
    1378           url="http://smarteiffel.loria.fr/"/></para>
    1379         </listitem>
    1380         <listitem>
    1381           <para>Download Location: <ulink
    1382           url="https://gforge.inria.fr/frs/?group_id=184"/></para>
     1650      <para>
     1651        <application>SmartEiffel</application> claims to be <quote>the fastest
     1652        and the slimmest multi-platform Eiffel compiler on Earth</quote>.
     1653        Eiffel is an object-oriented programming language which emphasizes the
     1654        production of robust software. Its syntax is keyword-oriented in the
     1655        ALGOL and Pascal tradition. Eiffel is strongly statically typed, with
     1656        automatic memory management (typically implemented by garbage
     1657        collection). Distinguishing characteristics of Eiffel include Design
     1658        by contract (DbC), liberal use of inheritance including multiple
     1659        inheritance, a type system handling both value and reference semantics,
     1660        and generic classes. Eiffel has a unified type system&mdash;all types
     1661        in Eiffel are classes, so it is possible to create subclasses of the
     1662        basic classes such as INTEGER. Eiffel has operator overloading,
     1663        including the ability to define new operators, but does not have
     1664        method overloading.
     1665      </para>
     1666
     1667      <itemizedlist spacing="compact">
     1668        <listitem>
     1669          <para>
     1670            Project Home Page: <ulink
     1671            url="http://smarteiffel.loria.fr/"/>
     1672          </para>
     1673        </listitem>
     1674        <listitem>
     1675          <para>
     1676            Download Location: <ulink
     1677            url="https://gforge.inria.fr/frs/?group_id=184"/>
     1678          </para>
    13831679        </listitem>
    13841680      </itemizedlist>
     
    13891685      <title>Squeak</title>
    13901686
    1391       <para><application>Squeak</application> is an open, highly-portable
    1392       Smalltalk implementation whose virtual machine is written entirely in
    1393       Smalltalk, making it easy to debug, analyze, and change. To achieve
    1394       practical performance, a translator produces an equivalent C program
    1395       whose performance is comparable to commercial Smalltalks. Other
    1396       noteworthy aspects of <application>Squeak</application> include:
    1397       real-time sound and music synthesis written entirely in Smalltalk,
    1398       extensions of BitBlt to handle color of any depth and anti-aliased
    1399       image rotation and scaling, network access support that allows simple
    1400       construction of servers and other useful facilities, it runs
    1401       bit-identical on many platforms (Windows, Mac, Unix, and others), a
    1402       compact object format that typically requires only a single word of
    1403       overhead per object and a simple yet efficient incremental garbage
    1404       collector for 32-bit direct pointers efficient bulk-mutation of
    1405       objects.</para>
    1406 
    1407       <itemizedlist spacing="compact">
    1408         <listitem>
    1409           <para>Project Home Page: <ulink
    1410           url="http://www.squeak.org/"/></para>
    1411         </listitem>
    1412         <listitem>
    1413           <para>Download Location: <ulink
    1414           url="http://www.squeak.org/Download/"/></para>
     1687      <para>
     1688        <application>Squeak</application> is an open, highly-portable
     1689        Smalltalk implementation whose virtual machine is written entirely in
     1690        Smalltalk, making it easy to debug, analyze, and change. To achieve
     1691        practical performance, a translator produces an equivalent C program
     1692        whose performance is comparable to commercial Smalltalks. Other
     1693        noteworthy aspects of <application>Squeak</application> include:
     1694        real-time sound and music synthesis written entirely in Smalltalk,
     1695        extensions of BitBlt to handle color of any depth and anti-aliased
     1696        image rotation and scaling, network access support that allows simple
     1697        construction of servers and other useful facilities, it runs
     1698        bit-identical on many platforms (Windows, Mac, Unix, and others), a
     1699        compact object format that typically requires only a single word of
     1700        overhead per object and a simple yet efficient incremental garbage
     1701        collector for 32-bit direct pointers efficient bulk-mutation of
     1702        objects.
     1703      </para>
     1704
     1705      <itemizedlist spacing="compact">
     1706        <listitem>
     1707          <para>
     1708            Project Home Page: <ulink
     1709            url="http://www.squeak.org/"/>
     1710          </para>
     1711        </listitem>
     1712        <listitem>
     1713          <para>
     1714            Download Location: <ulink
     1715            url="http://www.squeak.org/Download/"/>
     1716          </para>
    14151717        </listitem>
    14161718      </itemizedlist>
     
    14211723      <title>SR (Synchronizing Resources)</title>
    14221724
    1423       <para><application>SR</application> is a language for writing concurrent
    1424       programs. The main language constructs are resources and operations.
    1425       Resources encapsulate processes and variables they share; operations
    1426       provide the primary mechanism for process interaction.
    1427       <application>SR</application> provides a novel integration of the
    1428       mechanisms for invoking and servicing operations. Consequently, all of
    1429       local and remote procedure call, rendezvous, message passing, dynamic
    1430       process creation, multicast, and semaphores are supported.
    1431       <application>SR</application> also supports shared global variables and
    1432       operations.</para>
    1433 
    1434       <itemizedlist spacing="compact">
    1435         <listitem>
    1436           <para>Project Home Page: <ulink
    1437           url="http://www.cs.arizona.edu/sr/index.html"/></para>
    1438         </listitem>
    1439         <listitem>
    1440           <para>Download Location: <ulink
    1441           url="ftp://ftp.cs.arizona.edu/sr/"/></para>
     1725      <para>
     1726        <application>SR</application> is a language for writing concurrent
     1727        programs. The main language constructs are resources and operations.
     1728        Resources encapsulate processes and variables they share; operations
     1729        provide the primary mechanism for process interaction.
     1730        <application>SR</application> provides a novel integration of the
     1731        mechanisms for invoking and servicing operations. Consequently, all of
     1732        local and remote procedure call, rendezvous, message passing, dynamic
     1733        process creation, multicast, and semaphores are supported.
     1734        <application>SR</application> also supports shared global variables and
     1735        operations.
     1736      </para>
     1737
     1738      <itemizedlist spacing="compact">
     1739        <listitem>
     1740          <para>
     1741            Project Home Page: <ulink
     1742            url="http://www.cs.arizona.edu/sr/index.html"/>
     1743          </para>
     1744        </listitem>
     1745        <listitem>
     1746          <para>
     1747            Download Location: <ulink
     1748            url="ftp://ftp.cs.arizona.edu/sr/"/>
     1749          </para>
    14421750        </listitem>
    14431751      </itemizedlist>
     
    14481756      <title>Standard ML</title>
    14491757
    1450       <para>Standard ML is a safe, modular, strict, functional, polymorphic
    1451       programming language with compile-time type checking and type inference,
    1452       garbage collection, exception handling, immutable data types and
    1453       updatable references, abstract data types, and parametric modules. It has
    1454       efficient implementations and a formal definition with a proof of
    1455       soundness. There are many implementations of Standard ML, among them:</para>
    1456 
    1457       <itemizedlist spacing="compact">
    1458         <listitem>
    1459           <para>ML Kit: <ulink
    1460           url="http://www.it-c.dk/research/mlkit/"/></para>
    1461         </listitem>
    1462         <listitem>
    1463           <para>MLton: <ulink
    1464           url="http://mlton.org/"/></para>
    1465         </listitem>
    1466         <listitem>
    1467           <para>Poly/ML: <ulink
    1468           url="http://www.polyml.org/"/></para>
    1469         </listitem>
    1470         <listitem>
    1471           <para>Standard ML of New Jersey: <ulink
    1472           url="http://www.smlnj.org/"/></para>
     1758      <para>
     1759        Standard ML is a safe, modular, strict, functional, polymorphic
     1760        programming language with compile-time type checking and type
     1761        inference, garbage collection, exception handling, immutable data
     1762        types and updatable references, abstract data types, and parametric
     1763        modules. It has efficient implementations and a formal definition with
     1764        a proof of soundness. There are many implementations of Standard ML,
     1765        among them:
     1766      </para>
     1767
     1768      <itemizedlist spacing="compact">
     1769        <listitem>
     1770          <para>
     1771            ML Kit: <ulink
     1772            url="http://www.it-c.dk/research/mlkit/"/>
     1773          </para>
     1774        </listitem>
     1775        <listitem>
     1776          <para>
     1777            MLton: <ulink
     1778            url="http://mlton.org/"/>
     1779          </para>
     1780        </listitem>
     1781        <listitem>
     1782          <para>
     1783            Poly/ML: <ulink
     1784            url="http://www.polyml.org/"/>
     1785          </para>
     1786        </listitem>
     1787        <listitem>
     1788          <para>
     1789            Standard ML of New Jersey: <ulink
     1790            url="http://www.smlnj.org/"/>
     1791          </para>
    14731792        </listitem>
    14741793      </itemizedlist>
     
    14791798      <title>Steel Bank Common Lisp (SBCL)</title>
    14801799
    1481       <para><application>SBCL</application> is an open source (free software)
    1482       compiler and runtime system for ANSI Common Lisp. It provides an
    1483       interactive environment including an integrated native compiler, a
    1484       debugger, and many extensions. <application>SBCL</application> runs on a
    1485       number of platforms.</para>
    1486 
    1487       <itemizedlist spacing="compact">
    1488         <listitem>
    1489           <para>Project Home Page: <ulink
    1490           url="http://www.sbcl.org/"/></para>
    1491         </listitem>
    1492         <listitem>
    1493           <para>Download Location: <ulink
    1494           url="&sourceforge-dl;/sbcl/"/></para>
     1800      <para>
     1801        <application>SBCL</application> is an open source (free software)
     1802        compiler and runtime system for ANSI Common Lisp. It provides an
     1803        interactive environment including an integrated native compiler, a
     1804        debugger, and many extensions. <application>SBCL</application> runs
     1805        on a number of platforms.
     1806      </para>
     1807
     1808      <itemizedlist spacing="compact">
     1809        <listitem>
     1810          <para>
     1811            Project Home Page: <ulink
     1812            url="http://www.sbcl.org/"/>
     1813          </para>
     1814        </listitem>
     1815        <listitem>
     1816          <para>
     1817            Download Location: <ulink
     1818            url="&sourceforge-dl;/sbcl/"/>
     1819          </para>
    14951820        </listitem>
    14961821      </itemizedlist>
     
    15011826      <title>Tiny C Compiler (TCC)</title>
    15021827
    1503       <para><application>Tiny C Compiler</application> is a small C compiler
    1504       that can be used to compile and execute C code everywhere, for example
    1505       on rescue disks (about 100KB for x86 TCC executable, including C
    1506       preprocessor, C compiler, assembler and linker).
    1507       <application>TCC</application> is fast. It generates optimized x86 code,
    1508       has no byte code overhead and compiles, assembles and links several times
    1509       faster than <application>GCC</application>.
    1510       <application>TCC</application> is versatile, any C dynamic library can be
    1511       used directly. It is heading toward full ISOC99 compliance and can
    1512       compile itself. The compiler is safe as it includes an optional memory
    1513       and bound checker. Bound checked code can be mixed freely with standard
    1514       code. <application>TCC</application> compiles and executes C source
    1515       directly. No linking or assembly necessary. A full C preprocessor and
    1516       GNU-like assembler is included. It is C script supported; just add
    1517       <quote>#!/usr/local/bin/tcc -run</quote> on the first line of your C
    1518       source, and execute it directly from the command line. With libtcc, you
    1519       can use <application>TCC</application> as a backend for dynamic code
    1520       generation.</para>
    1521 
    1522       <itemizedlist spacing="compact">
    1523         <listitem>
    1524           <para>Project Home Page: <ulink
    1525           url="http://bellard.org/tcc/"/></para>
    1526         </listitem>
    1527         <listitem>
    1528           <para>Download Location: <ulink
    1529           url="http://download.savannah.gnu.org/releases-noredirect/tinycc/"/></para>
     1828      <para>
     1829        <application>Tiny C Compiler</application> is a small C compiler
     1830        that can be used to compile and execute C code everywhere, for example
     1831        on rescue disks (about 100KB for x86 TCC executable, including C
     1832        preprocessor, C compiler, assembler and linker).
     1833        <application>TCC</application> is fast. It generates optimized x86
     1834        code, has no byte code overhead and compiles, assembles and links
     1835        several times faster than <application>GCC</application>.
     1836        <application>TCC</application> is versatile, any C dynamic library can
     1837        be used directly. It is heading toward full ISOC99 compliance and can
     1838        compile itself. The compiler is safe as it includes an optional memory
     1839        and bound checker. Bound checked code can be mixed freely with
     1840        standard code. <application>TCC</application> compiles and executes
     1841        C source directly. No linking or assembly necessary. A full C
     1842        preprocessor and GNU-like assembler is included. It is C script
     1843        supported; just add <quote>#!/usr/local/bin/tcc -run</quote> on the
     1844        first line of your C source, and execute it directly from the command
     1845        line. With libtcc, you can use <application>TCC</application> as a
     1846        backend for dynamic code generation.
     1847      </para>
     1848
     1849      <itemizedlist spacing="compact">
     1850        <listitem>
     1851          <para>
     1852            Project Home Page: <ulink
     1853            url="http://bellard.org/tcc/"/>
     1854          </para>
     1855        </listitem>
     1856        <listitem>
     1857          <para>
     1858            Download Location: <ulink
     1859            url="http://download.savannah.gnu.org/releases-noredirect/tinycc/"/>
     1860          </para>
    15301861        </listitem>
    15311862      </itemizedlist>
     
    15361867      <title>TinyCOBOL</title>
    15371868
    1538       <para><application>TinyCOBOL</application> is a COBOL compiler being
    1539       developed by members of the free software community. The mission is to
    1540       produce a COBOL compiler based on the COBOL 85 standards.
    1541       <application>TinyCOBOL</application> is available for the Intel
    1542       architecture (IA32) and compatible processors on the following platforms:
    1543       BeOS, FreeBSD, Linux and MinGW on Windows.</para>
    1544 
    1545       <itemizedlist spacing="compact">
    1546         <listitem>
    1547           <para>Project Home Page: <ulink
    1548           url="http://sourceforge.net/projects/tiny-cobol/"/></para>
    1549         </listitem>
    1550         <listitem>
    1551           <para>Download Location: <ulink
    1552           url="&sourceforge-dl;/tiny-cobol/"/></para>
     1869      <para>
     1870        <application>TinyCOBOL</application> is a COBOL compiler being
     1871        developed by members of the free software community. The mission is to
     1872        produce a COBOL compiler based on the COBOL 85 standards.
     1873        <application>TinyCOBOL</application> is available for the Intel
     1874        architecture (IA32) and compatible processors on the following
     1875        platforms: BeOS, FreeBSD, Linux and MinGW on Windows.
     1876      </para>
     1877
     1878      <itemizedlist spacing="compact">
     1879        <listitem>
     1880          <para>
     1881            Project Home Page: <ulink
     1882            url="http://sourceforge.net/projects/tiny-cobol/"/>
     1883          </para>
     1884        </listitem>
     1885        <listitem>
     1886          <para>
     1887            Download Location: <ulink
     1888            url="&sourceforge-dl;/tiny-cobol/"/>
     1889          </para>
    15531890        </listitem>
    15541891      </itemizedlist>
     
    15591896      <title>Yorick</title>
    15601897
    1561       <para><application>Yorick</application> is an interpreted programming
    1562       language, designed for postprocessing or steering large scientific
    1563       simulation codes. Smaller scientific simulations or calculations, such as
    1564       the flow past an airfoil or the motion of a drumhead, can be written as
    1565       standalone yorick programs. The language features a compact syntax for
    1566       many common array operations, so it processes large arrays of numbers
    1567       very efficiently. Unlike most interpreters, which are several hundred
    1568       times slower than compiled code for number crunching,
    1569       <application>Yorick</application> can approach to within a factor of four
    1570       or five of compiled speed for many common tasks. Superficially,
    1571       <application>Yorick</application> code resembles C code, but
    1572       <application>Yorick</application> variables are never explicitly declared
    1573       and have a dynamic scoping similar to many Lisp dialects. The
    1574       <quote>unofficial</quote> home page for <application>Yorick</application>
    1575       can be found at <ulink url="http://www.maumae.net/yorick"/>.</para>
    1576 
    1577       <itemizedlist spacing="compact">
    1578         <listitem>
    1579           <para>Project Home Page: <ulink
    1580           url="http://yorick.sourceforge.net/index.php"/></para>
    1581         </listitem>
    1582         <listitem>
    1583           <para>Download Location: <ulink
    1584           url="http://sourceforge.net/projects/yorick/files/"/></para>
     1898      <para>
     1899        <application>Yorick</application> is an interpreted programming
     1900        language, designed for postprocessing or steering large scientific
     1901        simulation codes. Smaller scientific simulations or calculations, such
     1902        as the flow past an airfoil or the motion of a drumhead, can be
     1903        written as standalone yorick programs. The language features a compact
     1904        syntax for many common array operations, so it processes large arrays
     1905        of numbers very efficiently. Unlike most interpreters, which are
     1906        several hundred times slower than compiled code for number crunching,
     1907        <application>Yorick</application> can approach to within a factor of
     1908        four or five of compiled speed for many common tasks. Superficially,
     1909        <application>Yorick</application> code resembles C code, but
     1910        <application>Yorick</application> variables are never explicitly
     1911        declared and have a dynamic scoping similar to many Lisp dialects. The
     1912        <quote>unofficial</quote> home page for
     1913        <application>Yorick</application> can be found at <ulink
     1914        url="http://www.maumae.net/yorick"/>.
     1915      </para>
     1916
     1917      <itemizedlist spacing="compact">
     1918        <listitem>
     1919          <para>
     1920            Project Home Page: <ulink
     1921            url="http://yorick.sourceforge.net/index.php"/>
     1922          </para>
     1923        </listitem>
     1924        <listitem>
     1925          <para>
     1926            Download Location: <ulink
     1927            url="http://sourceforge.net/projects/yorick/files/"/>
     1928          </para>
    15851929        </listitem>
    15861930      </itemizedlist>
     
    15911935      <title>ZPL</title>
    15921936
    1593       <para><application>ZPL</application> is an array programming language
    1594       designed from first principles for fast execution on both sequential
    1595       and parallel computers. It provides a convenient high-level programming
    1596       medium for supercomputers and large-scale clusters with efficiency
    1597       comparable to hand-coded message passing. It is the perfect alternative
    1598       to using a sequential language like C or Fortran and a message passing
    1599       library like MPI.</para>
    1600 
    1601       <itemizedlist spacing="compact">
    1602         <listitem>
    1603           <para>Project Home Page: <ulink
    1604           url="http://www.cs.washington.edu/research/zpl/home/index.html"/></para>
    1605         </listitem>
    1606         <listitem>
    1607           <para>Download Location: <ulink
    1608           url="http://www.cs.washington.edu/research/zpl/download/download.html"/></para>
     1937      <para>
     1938        <application>ZPL</application> is an array programming language
     1939        designed from first principles for fast execution on both sequential
     1940        and parallel computers. It provides a convenient high-level programming
     1941        medium for supercomputers and large-scale clusters with efficiency
     1942        comparable to hand-coded message passing. It is the perfect alternative
     1943        to using a sequential language like C or Fortran and a message passing
     1944        library like MPI.
     1945      </para>
     1946
     1947      <itemizedlist spacing="compact">
     1948        <listitem>
     1949          <para>
     1950            Project Home Page: <ulink
     1951            url="http://www.cs.washington.edu/research/zpl/home/index.html"/>
     1952          </para>
     1953        </listitem>
     1954        <listitem>
     1955          <para>
     1956            Download Location: <ulink
     1957            url="http://www.cs.washington.edu/research/zpl/download/download.html"/>
     1958          </para>
    16091959        </listitem>
    16101960      </itemizedlist>
     
    16201970      <title>Byte Code Engineering Library (BCEL)</title>
    16211971
    1622       <para><application>BECL</application> is intended to give users a
    1623       convenient possibility to analyze, create, and manipulate (binary) Java
    1624       class files (those ending with
    1625       <filename class='extension'>.class</filename>). Classes are represented
    1626       by objects which contain all the symbolic information of the given class:
    1627       methods, fields and byte code instructions, in particular. Such objects
    1628       can be read from an existing file, be transformed by a program (e.g., a
    1629       class loader at run-time) and dumped to a file again. An even more
    1630       interesting application is the creation of classes from scratch at
    1631       run-time. The Byte Code Engineering Library may be also useful if you
    1632       want to learn about the Java Virtual Machine (JVM) and the format of Java
    1633       <filename class='extension'>.class</filename> files.
    1634       <application>BCEL</application> is already being used successfully in
    1635       several projects such as compilers, optimizers, obfuscators, code
    1636       generators and analysis tools.</para>
    1637 
    1638       <itemizedlist spacing="compact">
    1639         <listitem>
    1640           <para>Project Home Page: <ulink
    1641           url="http://jakarta.apache.org/bcel/index.html"/></para>
    1642         </listitem>
    1643         <listitem>
    1644           <para>Download Location: <ulink
    1645           url="http://archive.apache.org/dist/jakarta/bcel/"/></para>
     1972      <para>
     1973        <application>BECL</application> is intended to give users a
     1974        convenient possibility to analyze, create, and manipulate (binary) Java
     1975        class files (those ending with
     1976        <filename class='extension'>.class</filename>). Classes are represented
     1977        by objects which contain all the symbolic information of the given
     1978        class: methods, fields and byte code instructions, in particular. Such
     1979        objects can be read from an existing file, be transformed by a program
     1980        (e.g., a class loader at run-time) and dumped to a file again. An even
     1981        more interesting application is the creation of classes from scratch
     1982        at run-time. The Byte Code Engineering Library may be also useful if
     1983        you want to learn about the Java Virtual Machine (JVM) and the format
     1984        of Java <filename class='extension'>.class</filename> files.
     1985        <application>BCEL</application> is already being used successfully in
     1986        several projects such as compilers, optimizers, obfuscators, code
     1987        generators and analysis tools.
     1988      </para>
     1989
     1990      <itemizedlist spacing="compact">
     1991        <listitem>
     1992          <para>
     1993            Project Home Page: <ulink
     1994            url="http://jakarta.apache.org/bcel/index.html"/>
     1995          </para>
     1996        </listitem>
     1997        <listitem>
     1998          <para>
     1999            Download Location: <ulink
     2000            url="http://archive.apache.org/dist/jakarta/bcel/"/>
     2001          </para>
    16462002        </listitem>
    16472003      </itemizedlist>
     
    16522008      <title>Choco</title>
    16532009
    1654       <para><application>Choco</application> is a Java library for constraint
    1655       satisfaction problems (CSP), constraint programming (CP) and
    1656       explanation-based constraint solving (e-CP). It is built on a event-based
    1657       propagation mechanism with backtrackable structures.</para>
    1658 
    1659       <itemizedlist spacing="compact">
    1660         <listitem>
    1661           <para>Project Home Page: <ulink
    1662           url="http://sourceforge.net/projects/choco/"/></para>
    1663         </listitem>
    1664         <listitem>
    1665           <para>Download Location: <ulink
    1666           url="http://choco.sourceforge.net/download.html"/></para>
     2010      <para>
     2011        <application>Choco</application> is a Java library for constraint
     2012        satisfaction problems (CSP), constraint programming (CP) and
     2013        explanation-based constraint solving (e-CP). It is built on a
     2014        event-based propagation mechanism with backtrackable structures.
     2015      </para>
     2016
     2017      <itemizedlist spacing="compact">
     2018        <listitem>
     2019          <para>
     2020            Project Home Page: <ulink
     2021            url="http://sourceforge.net/projects/choco/"/>
     2022          </para>
     2023        </listitem>
     2024        <listitem>
     2025          <para>
     2026            Download Location: <ulink
     2027            url="http://choco.sourceforge.net/download.html"/>
     2028          </para>
    16672029        </listitem>
    16682030      </itemizedlist>
     
    16732035      <title>GOB (GObject Builder)</title>
    16742036
    1675       <para><application>GOB</application> (<application>GOB2</application>
    1676       anyway) is a preprocessor for making GObjects with inline C code so that
    1677       generated files are not edited. Syntax is inspired by
    1678       <application>Java</application> and <application>Yacc</application> or
    1679       <application>Lex</application>. The implementation is intentionally kept
    1680       simple, and no C actual code parsing is done.</para>
    1681 
    1682       <itemizedlist spacing="compact">
    1683         <listitem>
    1684           <para>Project Home Page: <ulink
    1685           url="http://www.5z.com/jirka/gob.html"/></para>
    1686         </listitem>
    1687         <listitem>
    1688           <para>Download Location: <ulink
    1689           url="http://ftp.5z.com/pub/gob/"/></para>
     2037      <para>
     2038        <application>GOB</application> (<application>GOB2</application>
     2039        anyway) is a preprocessor for making GObjects with inline C code so
     2040        that generated files are not edited. Syntax is inspired by
     2041        <application>Java</application> and <application>Yacc</application> or
     2042        <application>Lex</application>. The implementation is intentionally
     2043        kept simple, and no C actual code parsing is done.
     2044      </para>
     2045
     2046      <itemizedlist spacing="compact">
     2047        <listitem>
     2048          <para>
     2049            Project Home Page: <ulink
     2050            url="http://www.5z.com/jirka/gob.html"/>
     2051          </para>
     2052        </listitem>
     2053        <listitem>
     2054          <para>
     2055            Download Location: <ulink
     2056            url="http://ftp.5z.com/pub/gob/"/>
     2057          </para>
    16902058        </listitem>
    16912059      </itemizedlist>
     
    16962064      <title>GTK+/GNOME Language Bindings (wrappers)</title>
    16972065
    1698       <para><application>GTK+</application>/<application>GNOME</application>
    1699       language bindings allow <application>GTK+</application> to be used from
    1700       other programming languages, in the style of those languages.</para>
    1701 
    1702       <itemizedlist spacing="compact">
    1703         <listitem>
    1704           <para>Project Home Page: <ulink
    1705           url="http://www.gtk.org/language-bindings.php"/></para>
     2066      <para>
     2067        <application>GTK+</application>/<application>GNOME</application>
     2068        language bindings allow <application>GTK+</application> to be used from
     2069        other programming languages, in the style of those languages.
     2070      </para>
     2071
     2072      <itemizedlist spacing="compact">
     2073        <listitem>
     2074          <para>
     2075            Project Home Page: <ulink
     2076            url="http://www.gtk.org/language-bindings.php"/>
     2077          </para>
    17062078        </listitem>
    17072079      </itemizedlist>
     
    17102082        <title>Java-GNOME</title>
    17112083
    1712         <para><application>Java-GNOME</application> is a set of Java bindings
    1713         for the <application>GNOME</application> and
    1714         <application>GTK+</application> libraries that allow
    1715         <application>GNOME</application> and <application>GTK+</application>
    1716         applications to be written in Java. The
    1717         <application>Java-GNOME</application> API has been carefully designed
    1718         to be easy to use, maintaining a good OO paradigm, yet still wrapping
    1719         the entire functionality of the underlying libraries.
    1720         <application>Java-GNOME</application> can be used with the
    1721         <application>Eclipse</application> development environment and Glade
    1722         user interface designer to create applications with ease.</para>
     2084        <para>
     2085          <application>Java-GNOME</application> is a set of Java bindings
     2086          for the <application>GNOME</application> and
     2087          <application>GTK+</application> libraries that allow
     2088          <application>GNOME</application> and <application>GTK+</application>
     2089          applications to be written in Java. The
     2090          <application>Java-GNOME</application> API has been carefully designed
     2091          to be easy to use, maintaining a good OO paradigm, yet still wrapping
     2092          the entire functionality of the underlying libraries.
     2093          <application>Java-GNOME</application> can be used with the
     2094          <application>Eclipse</application> development environment and Glade
     2095          user interface designer to create applications with ease.
     2096      </para>
    17232097
    17242098        <itemizedlist spacing="compact">
    17252099          <listitem>
    1726             <para>Project Home Page: <ulink
    1727             url="http://java-gnome.sourceforge.net/4.0/"/></para>
     2100            <para>
     2101              Project Home Page: <ulink
     2102              url="http://java-gnome.sourceforge.net/4.0/"/>
     2103            </para>
    17282104          </listitem>
    17292105          <listitem>
    1730             <para>Download Location: <ulink
    1731             url="http://java-gnome.sourceforge.net/4.0/get/"/></para>
     2106            <para>
     2107              Download Location: <ulink
     2108              url="http://java-gnome.sourceforge.net/4.0/get/"/>
     2109            </para>
    17322110          </listitem>
    17332111        </itemizedlist>
     
    17382116        <title>gtk2-perl</title>
    17392117
    1740         <para><application>gtk2-perl</application> is the collective name for
    1741         a set of Perl bindings for <application>GTK+</application> 2.x and
    1742         various related libraries. These modules make it easy to write
    1743         <application>GTK</application> and <application>GNOME</application>
    1744         applications using a natural, Perlish, object-oriented syntax.</para>
     2118        <para>
     2119          <application>gtk2-perl</application> is the collective name for
     2120          a set of Perl bindings for <application>GTK+</application> 2.x and
     2121          various related libraries. These modules make it easy to write
     2122          <application>GTK</application> and <application>GNOME</application>
     2123          applications using a natural, Perlish, object-oriented syntax.
     2124      </para>
    17452125
    17462126        <itemizedlist spacing="compact">
    17472127          <listitem>
    1748             <para>Project Home Page: <ulink
    1749             url="http://gtk2-perl.sourceforge.net/"/></para>
     2128            <para>
     2129              Project Home Page: <ulink
     2130              url="http://gtk2-perl.sourceforge.net/"/>
     2131            </para>
    17502132          </listitem>
    17512133          <listitem>
    1752             <para>Download Location: <ulink
    1753             url="&sourceforge-dl;/gtk2-perl"/></para>
     2134            <para>
     2135              Download Location: <ulink
     2136              url="&sourceforge-dl;/gtk2-perl"/>
     2137            </para>
    17542138          </listitem>
    17552139        </itemizedlist>
     
    17622146      <title>KDE Language Bindings</title>
    17632147
    1764       <para><application>KDE</application> and most
    1765       <application>KDE</application> applications are implemented using the
    1766       C++ programming language, however there are number of bindings to other
    1767       languages are available. These include scripting languages like
    1768       <application>Perl</application>, <application>Python</application> and
    1769       <application>Ruby</application>, and systems programming languages such
    1770       as Java and C#.</para>
    1771 
    1772       <itemizedlist spacing="compact">
    1773         <listitem>
    1774           <para>Project Home Page: <ulink
    1775           url="http://techbase.kde.org/Development/Languages"/></para>
     2148      <para>
     2149        <application>KDE</application> and most
     2150        <application>KDE</application> applications are implemented using the
     2151        C++ programming language, however there are number of bindings to other
     2152        languages are available. These include scripting languages like
     2153        <application>Perl</application>, <application>Python</application> and
     2154        <application>Ruby</application>, and systems programming languages such
     2155        as Java and C#.
     2156      </para>
     2157
     2158      <itemizedlist spacing="compact">
     2159        <listitem>
     2160          <para>
     2161            Project Home Page: <ulink
     2162            url="http://techbase.kde.org/Development/Languages"/>
     2163          </para>
    17762164        </listitem>
    17772165      </itemizedlist>
     
    17822170      <title>Numerical Python (Numpy)</title>
    17832171
    1784       <para><application>Numerical Python</application> adds a fast array
    1785       facility to the <application>Python</application> language.</para>
    1786 
    1787       <itemizedlist spacing="compact">
    1788         <listitem>
    1789           <para>Project Home Page: <ulink
    1790           url="http://numeric.scipy.org/"/></para>
    1791         </listitem>
    1792         <listitem>
    1793           <para>Download Location: <ulink
    1794           url="&sourceforge-dl;/numpy/"/></para>
     2172      <para>
     2173        <application>Numerical Python</application> adds a fast array
     2174        facility to the <application>Python</application> language.
     2175      </para>
     2176
     2177      <itemizedlist spacing="compact">
     2178        <listitem>
     2179          <para>
     2180            Project Home Page: <ulink
     2181            url="http://numeric.scipy.org/"/>
     2182          </para>
     2183        </listitem>
     2184        <listitem>
     2185          <para>
     2186            Download Location: <ulink
     2187            url="&sourceforge-dl;/numpy/"/>
     2188          </para>
    17952189        </listitem>
    17962190      </itemizedlist>
     
    18012195      <title>Perl Scripts and Additional Modules</title>
    18022196
    1803       <para>There are many <application>Perl</application> scripts and
    1804       additional modules located on the Comprehensive Perl Archive Network
    1805       (CPAN) web site. Here you will find
    1806       <quote>All Things Perl</quote>.</para>
    1807 
    1808       <itemizedlist spacing="compact">
    1809         <listitem>
    1810           <para>Project Home Page: <ulink
    1811           url="http://cpan.org/"/></para>
    1812         </listitem>
    1813       </itemizedlist>
    1814 
    1815     </sect3>
    1816 
    1817 <!-- now included in the book
    1818     <sect3 role="package">
    1819       <title>SWIG</title>
    1820 
    1821       <para><application>SWIG</application> is a software development tool
    1822       that connects programs written in C and C++ with a variety of high-level
    1823       programming languages. <application>SWIG</application> is used with
    1824       different types of languages including common scripting languages such as
    1825       <application>Perl</application>, <application>Python</application>,
    1826       <application>Tcl</application>/<application>Tk</application> and
    1827       <application>Ruby</application>. The list of supported languages also
    1828       includes non-scripting languages such as <application>C#</application>,
    1829       <application>Common Lisp</application> (Allegro CL),
    1830       <application>Java</application>, <application>Modula-3</application>
    1831       and <application>OCAML</application>. Also several interpreted and
    1832       compiled Scheme implementations (<application>Chicken</application>,
    1833       <application>Guile</application>, <application>MzScheme</application>)
    1834       are supported. <application>SWIG</application> is most commonly used to
    1835       create high-level interpreted or compiled programming environments, user
    1836       interfaces, and as a tool for testing and prototyping C/C++ software.
    1837       <application>SWIG</application> can also export its parse tree in the
    1838       form of XML and Lisp s-expressions.</para>
    1839 
    1840       <itemizedlist spacing="compact">
    1841         <listitem>
    1842           <para>Project Home Page: <ulink
    1843           url="http://www.swig.org/"/></para>
    1844         </listitem>
    1845         <listitem>
    1846           <para>Download Location: <ulink
    1847           url="&sourceforge-dl;/swig/"/></para>
    1848         </listitem>
    1849       </itemizedlist>
    1850 
    1851     </sect3>
    1852 -->
     2197      <para>
     2198        There are many <application>Perl</application> scripts and
     2199        additional modules located on the Comprehensive Perl Archive Network
     2200        (CPAN) web site. Here you will find <quote>All Things Perl</quote>.
     2201      </para>
     2202
     2203      <itemizedlist spacing="compact">
     2204        <listitem>
     2205          <para>
     2206            Project Home Page: <ulink
     2207            url="http://cpan.org/"/>
     2208          </para>
     2209        </listitem>
     2210      </itemizedlist>
     2211
     2212    </sect3>
     2213
    18532214  </sect2>
    18542215
     
    18592220      <title>A-A-P</title>
    18602221
    1861       <para><application>A-A-P</application> makes it easy to locate, download,
    1862       build and install software. It also supports browsing source code,
    1863       developing programs, managing different versions and distribution of
    1864       software and documentation. This means that
    1865       <application> A-A-P</application> is useful both for users and for
    1866       developers.</para>
    1867 
    1868       <itemizedlist spacing="compact">
    1869         <listitem>
    1870           <para>Project Home Page: <ulink
    1871           url="http://www.a-a-p.org/index.html"/></para>
    1872         </listitem>
    1873         <listitem>
    1874           <para>Download Location: <ulink
    1875           url="http://www.a-a-p.org/download.html"/></para>
     2222      <para>
     2223        <application>A-A-P</application> makes it easy to locate, download,
     2224        build and install software. It also supports browsing source code,
     2225        developing programs, managing different versions and distribution of
     2226        software and documentation. This means that
     2227        <application>A-A-P</application> is useful both for users and for
     2228        developers.
     2229      </para>
     2230
     2231      <itemizedlist spacing="compact">
     2232        <listitem>
     2233          <para>
     2234            Project Home Page: <ulink
     2235            url="http://www.a-a-p.org/index.html"/>
     2236          </para>
     2237        </listitem>
     2238        <listitem>
     2239          <para>
     2240            Download Location: <ulink
     2241            url="http://www.a-a-p.org/download.html"/>
     2242          </para>
    18762243        </listitem>
    18772244      </itemizedlist>
     
    18822249      <title>Anjuta</title>
    18832250
    1884       <para><application>Anujuta</application> is a versatile Integrated
    1885       Development Environment (IDE) for C and C++ on GNU/Linux. It has been
    1886       written for <application>GTK</application>/GNOME and features a number
    1887       of advanced programming facilities. These include project management,
    1888       application wizards, an on-board interactive debugger, and a powerful
    1889       source editor with source browsing and syntax highlighting.</para>
    1890 
    1891       <itemizedlist spacing="compact">
    1892         <listitem>
    1893           <para>Project Home Page: <ulink
    1894           url="http://projects.gnome.org/anjuta/index.shtml"/></para>
    1895         </listitem>
    1896         <listitem>
    1897           <para>Download Location: <ulink
    1898           url="http://projects.gnome.org/anjuta/downloads.html"/></para>
     2251      <para>
     2252        <application>Anujuta</application> is a versatile Integrated
     2253        Development Environment (IDE) for C and C++ on GNU/Linux. It has been
     2254        written for <application>GTK</application>/GNOME and features a number
     2255        of advanced programming facilities. These include project management,
     2256        application wizards, an on-board interactive debugger, and a powerful
     2257        source editor with source browsing and syntax highlighting.
     2258      </para>
     2259
     2260      <itemizedlist spacing="compact">
     2261        <listitem>
     2262          <para>
     2263            Project Home Page: <ulink
     2264            url="http://projects.gnome.org/anjuta/index.shtml"/>
     2265          </para>
     2266        </listitem>
     2267        <listitem>
     2268          <para>
     2269            Download Location: <ulink
     2270            url="http://projects.gnome.org/anjuta/downloads.html"/>
     2271          </para>
    18992272        </listitem>
    19002273      </itemizedlist>
     
    19052278      <title>Eclipse</title>
    19062279
    1907       <para><application>Eclipse</application> is an open source community
    1908       whose projects are focused on providing an extensible development
    1909       platform and application frameworks for building software.
    1910       <application>Eclipse</application> contains many projects, including an
    1911       Integrated Development Environment (IDE) for Java.</para>
    1912 
    1913       <itemizedlist spacing="compact">
    1914         <listitem>
    1915           <para>Project Home Page: <ulink
    1916           url="http://www.eclipse.org/"/></para>
    1917         </listitem>
    1918         <listitem>
    1919           <para>Download Location: <ulink
    1920           url="http://www.eclipse.org/downloads/"/></para>
     2280      <para>
     2281        <application>Eclipse</application> is an open source community
     2282        whose projects are focused on providing an extensible development
     2283        platform and application frameworks for building software.
     2284        <application>Eclipse</application> contains many projects, including an
     2285        Integrated Development Environment (IDE) for Java.
     2286      </para>
     2287
     2288      <itemizedlist spacing="compact">
     2289        <listitem>
     2290          <para>
     2291            Project Home Page: <ulink
     2292            url="http://www.eclipse.org/"/>
     2293          </para>
     2294        </listitem>
     2295        <listitem>
     2296          <para>
     2297            Download Location: <ulink
     2298            url="http://www.eclipse.org/downloads/"/>
     2299          </para>
    19212300        </listitem>
    19222301      </itemizedlist>
     
    19272306      <title>Mozart</title>
    19282307
    1929       <para>The <application>Mozart</application> Programming System is an
    1930       advanced development platform for intelligent, distributed applications.
    1931       <application>Mozart</application> is based on the Oz language, which
    1932       supports declarative programming, object-oriented programming, constraint
    1933       programming, and concurrency as part of a coherent whole. For
    1934       distribution, <application>Mozart</application> provides a true network
    1935       transparent implementation with support for network awareness, openness,
    1936       and fault tolerance. Security is upcoming. It is an ideal platform for
    1937       both general-purpose distributed applications as well as for hard
    1938       problems requiring sophisticated optimization and inferencing
    1939       abilities.</para>
    1940 
    1941       <itemizedlist spacing="compact">
    1942         <listitem>
    1943           <para>Project Home Page: <ulink
    1944           url="http://mozart.github.io/"/></para>
    1945         </listitem>
    1946         <listitem>
    1947           <para>Download Location: <ulink
    1948           url="https://github.com/mozart/mozart2#downloads"/></para>
     2308      <para>
     2309        The <application>Mozart</application> Programming System is an advanced
     2310        development platform for intelligent, distributed applications.
     2311        <application>Mozart</application> is based on the Oz language, which
     2312        supports declarative programming, object-oriented programming,
     2313        constraint programming, and concurrency as part of a coherent whole.
     2314        For distribution, <application>Mozart</application> provides a true
     2315        network transparent implementation with support for network awareness,
     2316        openness, and fault tolerance. Security is upcoming. It is an ideal
     2317        platform for both general-purpose distributed applications as well as
     2318        for hard problems requiring sophisticated optimization and inferencing
     2319        abilities.
     2320      </para>
     2321
     2322      <itemizedlist spacing="compact">
     2323        <listitem>
     2324          <para>
     2325            Project Home Page: <ulink
     2326            url="http://mozart.github.io/"/>
     2327          </para>
     2328        </listitem>
     2329        <listitem>
     2330          <para>
     2331            Download Location: <ulink
     2332            url="https://github.com/mozart/mozart2#downloads"/>
     2333          </para>
    19492334        </listitem>
    19502335      </itemizedlist>
     
    19602345      <title>cachecc1</title>
    19612346
    1962       <para><application>cachecc1</application> is a
    1963       <application>GCC</application> cache. It can be compared with the well
    1964       known <application>ccache</application> package. It has some unique
    1965       features including the use of an LD_PRELOADed shared object to catch
    1966       invocations to <command>cc1</command>, <command>cc1plus</command> and
    1967       <command>as</command>, it transparently supports all build methods, it
    1968       can cache <application>GCC</application> bootstraps and it can be
    1969       combined with <application>distcc</application> to transparently
    1970       distribute compilations.</para>
    1971 
    1972       <itemizedlist spacing="compact">
    1973         <listitem>
    1974           <para>Project Home Page: <ulink
    1975           url="http://cachecc1.sourceforge.net/"/></para>
    1976         </listitem>
    1977         <listitem>
    1978           <para>Download Location: <ulink
    1979           url="&sourceforge-dl;/cachecc1"/></para>
     2347      <para>
     2348        <application>cachecc1</application> is a
     2349        <application>GCC</application> cache. It can be compared with the well
     2350        known <application>ccache</application> package. It has some unique
     2351        features including the use of an LD_PRELOADed shared object to catch
     2352        invocations to <command>cc1</command>, <command>cc1plus</command> and
     2353        <command>as</command>, it transparently supports all build methods, it
     2354        can cache <application>GCC</application> bootstraps and it can be
     2355        combined with <application>distcc</application> to transparently
     2356        distribute compilations.
     2357      </para>
     2358
     2359      <itemizedlist spacing="compact">
     2360        <listitem>
     2361          <para>
     2362            Project Home Page: <ulink
     2363            url="http://cachecc1.sourceforge.net/"/>
     2364          </para>
     2365        </listitem>
     2366        <listitem>
     2367          <para>
     2368            Download Location: <ulink
     2369            url="&sourceforge-dl;/cachecc1"/>
     2370          </para>
    19802371        </listitem>
    19812372      </itemizedlist>
     
    19862377      <title>ccache</title>
    19872378
    1988       <para><application>ccache</application> is a compiler cache. It acts as
    1989       a caching pre-processor to C/C++ compilers, using the <option>-E</option>
    1990       compiler switch and a hash to detect when a compilation can be satisfied
    1991       from cache. This often results in 5 to 10 times faster speeds in common
    1992       compilations.</para>
    1993 
    1994       <itemizedlist spacing="compact">
    1995         <listitem>
    1996           <para>Project Home Page: <ulink
    1997           url="http://ccache.samba.org/"/></para>
    1998         </listitem>
    1999         <listitem>
    2000           <para>Download Location: <ulink
    2001           url="http://samba.org/ftp/ccache/"/></para>
     2379      <para>
     2380        <application>ccache</application> is a compiler cache. It acts as
     2381        a caching pre-processor to C/C++ compilers, using the
     2382        <option>-E</option> compiler switch and a hash to detect when a
     2383        compilation can be satisfied from cache. This often results in 5 to
     2384        10 times faster speeds in common compilations.
     2385      </para>
     2386
     2387      <itemizedlist spacing="compact">
     2388        <listitem>
     2389          <para>
     2390            Project Home Page: <ulink
     2391            url="https://ccache.dev"/>
     2392          </para>
     2393        </listitem>
     2394        <listitem>
     2395          <para>
     2396            Download Location: <ulink
     2397            url="https://github.com/ccache/ccache/releases/"/>
     2398          </para>
    20022399        </listitem>
    20032400      </itemizedlist>
     
    20082405      <title>DDD (GNU Data Display Debugger)</title>
    20092406
    2010       <para><application>GNU DDD</application> is a graphical front-end for
    2011       command-line debuggers such as <application>GDB</application>,
    2012       <application>DBX</application>, <application>WDB</application>,
    2013       <application>Ladebug</application>, <application>JDB</application>,
    2014       <application>XDB</application>, the <application>Perl</application>
    2015       debugger, the <application>Bash</application> debugger, or the
    2016       <application>Python</application> debugger. Besides <quote>usual</quote>
    2017       front-end features such as viewing source texts,
    2018       <application>DDD</application> has an interactive graphical data display,
    2019       where data structures are displayed as graphs..</para>
    2020 
    2021       <itemizedlist spacing="compact">
    2022         <listitem>
    2023           <para>Project Home Page: <ulink
    2024           url="http://www.gnu.org/software/ddd/"/></para>
    2025         </listitem>
    2026         <listitem>
    2027           <para>Download Location: <ulink
    2028           url="&gnu-http;/ddd/"/></para>
     2407      <para>
     2408        <application>GNU DDD</application> is a graphical front-end for
     2409        command-line debuggers such as <application>GDB</application>,
     2410        <application>DBX</application>, <application>WDB</application>,
     2411        <application>Ladebug</application>, <application>JDB</application>,
     2412        <application>XDB</application>, the <application>Perl</application>
     2413        debugger, the <application>Bash</application> debugger, or the
     2414        <application>Python</application> debugger. Besides
     2415        <quote>usual</quote> front-end features such as viewing source texts,
     2416        <application>DDD</application> has an interactive graphical data
     2417        display, where data structures are displayed as graphs.
     2418      </para>
     2419
     2420      <itemizedlist spacing="compact">
     2421        <listitem>
     2422          <para>
     2423            Project Home Page: <ulink
     2424            url="http://www.gnu.org/software/ddd/"/>
     2425          </para>
     2426        </listitem>
     2427        <listitem>
     2428          <para>
     2429            Download Location: <ulink
     2430            url="&gnu-http;/ddd/"/>
     2431          </para>
    20292432        </listitem>
    20302433      </itemizedlist>
     
    20352438      <title>distcc</title>
    20362439
    2037       <para><application>distcc</application> is a program to distribute builds
    2038       of C, C++, Objective C or Objective C++ code across several machines on a
    2039       network. <application>distcc</application> should always generate the
    2040       same results as a local build, is simple to install and use, and is
    2041       usually much faster than a local compile.
    2042       <application>distcc</application> does not require all machines to share
    2043       a filesystem, have synchronized clocks, or to have the same libraries or
    2044       header files installed. They can even have different processors or
    2045       operating systems, if cross-compilers are installed.</para>
    2046 
    2047       <itemizedlist spacing="compact">
    2048         <listitem>
    2049           <para>Project Home Page: <ulink
    2050           url="http://distcc.samba.org/"/></para>
    2051         </listitem>
    2052         <listitem>
    2053           <para>Download Location: <ulink
    2054           url="http://distcc.samba.org/download.html"/></para>
     2440      <para>
     2441        <application>distcc</application> is a program to distribute builds
     2442        of C, C++, Objective C or Objective C++ code across several machines
     2443        on a network. <application>distcc</application> should always generate
     2444        the same results as a local build, is simple to install and use, and
     2445        is usually much faster than a local compile.
     2446        <application>distcc</application> does not require all machines to
     2447        share a filesystem, have synchronized clocks, or to have the same
     2448        libraries or header files installed. They can even have different
     2449        processors or operating systems, if cross-compilers are installed.
     2450      </para>
     2451
     2452      <itemizedlist spacing="compact">
     2453        <listitem>
     2454          <para>
     2455            Project Home Page: <ulink
     2456            url="https://distcc.github.io/"/>
     2457          </para>
     2458        </listitem>
     2459        <listitem>
     2460          <para>
     2461            Download Location: <ulink
     2462            url="https://github.com/distcc/distcc/releases"/>
     2463          </para>
    20552464        </listitem>
    20562465      </itemizedlist>
     
    20612470      <title>Exuberant Ctags</title>
    20622471
    2063       <para><application>Exuberant Ctags</application> generates an index (or
    2064       tag) file of language objects found in source files that allows these
    2065       items to be quickly and easily located by a text editor or other utility.
    2066       A tag signifies a language object for which an index entry is available
    2067       (or, alternatively, the index entry created for that object). Tag
    2068       generation is supported for the following languages: Assembler, AWK, ASP,
    2069       BETA, Bourne/Korn/Zsh Shell, C, C++, COBOL, Eiffel, Fortran, Java, Lisp,
    2070       Lua, Make, Pascal, Perl, PHP, Python, REXX, Ruby, S-Lang, Scheme, Tcl,
    2071       Vim, and YACC. A list of editors and tools utilizing tag files may be
    2072       found at <ulink url="http://ctags.sourceforge.net/tools.html"/>.</para>
    2073 
    2074       <itemizedlist spacing="compact">
    2075         <listitem>
    2076           <para>Project Home Page: <ulink
    2077           url="http://ctags.sourceforge.net/"/></para>
    2078         </listitem>
    2079         <listitem>
    2080           <para>Download Location: <ulink
    2081           url="&sourceforge-dl;/ctags/"/></para>
    2082         </listitem>
    2083       </itemizedlist>
    2084 
    2085     </sect3>
    2086 
     2472      <para>
     2473        <application>Exuberant Ctags</application> generates an index (or
     2474        tag) file of language objects found in source files that allows these
     2475        items to be quickly and easily located by a text editor or other
     2476        utility. A tag signifies a language object for which an index entry
     2477        is available (or, alternatively, the index entry created for that
     2478        object). Tag generation is supported for the following languages:
     2479        Assembler, AWK, ASP, BETA, Bourne/Korn/Zsh Shell, C, C++, COBOL,
     2480        Eiffel, Fortran, Java, Lisp, Lua, Make, Pascal, Perl, PHP, Python,
     2481        REXX, Ruby, S-Lang, Scheme, Tcl, Vim, and YACC. A list of editors and
     2482        tools utilizing tag files may be found at <ulink
     2483        url="http://ctags.sourceforge.net/tools.html"/>.
     2484      </para>
     2485
     2486      <itemizedlist spacing="compact">
     2487        <listitem>
     2488          <para>
     2489            Project Home Page: <ulink
     2490            url="http://ctags.sourceforge.net/"/>
     2491          </para>
     2492        </listitem>
     2493        <listitem>
     2494          <para>
     2495            Download Location: <ulink
     2496            url="&sourceforge-dl;/ctags/"/>
     2497          </para>
     2498        </listitem>
     2499      </itemizedlist>
     2500
     2501    </sect3>
     2502<!-- Untouched since 2008. There is a variable with a similar name that can be
     2503     used when compiling Go projects. So this porject can be considered dead.
    20872504    <sect3 role="package">
    20882505      <title>gocache (GNU Object Cache)</title>
    20892506
    2090       <para><application>ccache</application> is a clone of
    2091       <application>ccache</application>, with the goal of supporting
    2092       compilers other than <application>GCC</application> and adding additional
    2093       features. Embedded compilers will especially be in focus.</para>
    2094 
    2095       <itemizedlist spacing="compact">
    2096         <listitem>
    2097           <para>Project Home Page: <ulink
    2098           url="http://sourceforge.net/projects/gocache/"/></para>
    2099         </listitem>
    2100         <listitem>
    2101           <para>Download Location: <ulink
    2102           url="&sourceforge-dl;/gocache/"/></para>
    2103         </listitem>
    2104       </itemizedlist>
    2105 
    2106     </sect3>
    2107 
     2507      <para>
     2508        <application>goache</application> is a clone of
     2509        <application>ccache</application>, with the goal of supporting
     2510        compilers other than <application>GCC</application> and adding
     2511        additional features. Embedded compilers will especially be in focus.
     2512      </para>
     2513
     2514      <itemizedlist spacing="compact">
     2515        <listitem>
     2516          <para>
     2517            Project Home Page: <ulink
     2518            url="http://sourceforge.net/projects/gocache/"/>
     2519          </para>
     2520        </listitem>
     2521        <listitem>
     2522          <para>
     2523            Download Location: <ulink
     2524            url="&sourceforge-dl;/gocache/"/>
     2525          </para>
     2526        </listitem>
     2527      </itemizedlist>
     2528
     2529    </sect3>
     2530-->
    21082531    <sect3 role="package">
    21092532      <title>OProfile</title>
    21102533
    2111       <para><application>OProfile</application> is a system-wide profiler for
    2112       Linux systems, capable of profiling all running code at low overhead.
    2113       <application>OProfile</application> is released under the GNU GPL. It
    2114       consists of a kernel driver and a daemon for collecting sample data, and
    2115       several post-profiling tools for turning data into information.
    2116       <application>OProfile</application> leverages the hardware performance
    2117       counters of the CPU to enable profiling of a wide variety of interesting
    2118       statistics, which can also be used for basic time-spent profiling. All
    2119       code is profiled: hardware and software interrupt handlers, kernel
    2120       modules, the kernel, shared libraries, and applications.
    2121       <application>OProfile</application> is currently in alpha status; however
    2122       it has proven stable over a large number of differing configurations. It
    2123       is being used on machines ranging from laptops to 16-way NUMA-Q
    2124       boxes.</para>
    2125 
    2126       <itemizedlist spacing="compact">
    2127         <listitem>
    2128           <para>Project Home Page: <ulink
    2129           url="http://oprofile.sourceforge.net/news/"/></para>
    2130         </listitem>
    2131         <listitem>
    2132           <para>Download Location: <ulink
    2133           url="http://oprofile.sourceforge.net/download/"/></para>
     2534      <para>
     2535        <application>OProfile</application> is a system-wide profiler for
     2536        Linux systems, capable of profiling all running code at low overhead.
     2537        <application>OProfile</application> is released under the GNU GPL. It
     2538        consists of a kernel driver and a daemon for collecting sample data,
     2539        and several post-profiling tools for turning data into information.
     2540        <application>OProfile</application> leverages the hardware performance
     2541        counters of the CPU to enable profiling of a wide variety of
     2542        interesting statistics, which can also be used for basic time-spent
     2543        profiling. All code is profiled: hardware and software interrupt
     2544        handlers, kernel modules, the kernel, shared libraries, and
     2545        applications.  <application>OProfile</application> is currently in
     2546        alpha status; however it has proven stable over a large number of
     2547        differing configurations. It is being used on machines ranging from
     2548        laptops to 16-way NUMA-Q boxes.
     2549      </para>
     2550
     2551      <itemizedlist spacing="compact">
     2552        <listitem>
     2553          <para>
     2554            Project Home Page: <ulink
     2555            url="http://oprofile.sourceforge.net/news/"/>
     2556          </para>
     2557        </listitem>
     2558        <listitem>
     2559          <para>
     2560            Download Location: <ulink
     2561            url="http://oprofile.sourceforge.net/download/"/>
     2562          </para>
    21342563        </listitem>
    21352564      </itemizedlist>
     
    21402569      <title>strace</title>
    21412570
    2142       <para><application>strace</application> is a system call tracer, i.e., a
    2143       debugging tool which prints out a trace of all the system calls made by
    2144       another process or program.</para>
    2145 
    2146       <itemizedlist spacing="compact">
    2147         <listitem>
    2148           <para>Project Home Page: <ulink
    2149           url="http://sourceforge.net/projects/strace/"/></para>
    2150         </listitem>
    2151         <listitem>
    2152           <para>Download Location: <ulink
    2153           url="&sourceforge-dl;/strace/"/></para>
    2154         </listitem>
    2155       </itemizedlist>
    2156 
    2157     </sect3>
    2158 
    2159 <!--
    2160     We actually have valgrind now.
    2161     <sect3 role="package">
    2162       <title>Valgrind</title>
    2163 
    2164       <para><application>Valgrind</application> is a collection of five tools:
    2165       two memory error detectors, a thread error detector, a cache profiler and
    2166       a heap profiler used for debugging and profiling Linux programs. Features
    2167       include automatic detection of many memory management and threading bugs
    2168       as well as detailed profiling to speed up and reduce memory use of your
    2169       programs.</para>
    2170 
    2171       <itemizedlist spacing="compact">
    2172         <listitem>
    2173           <para>Project Home Page: <ulink
    2174           url="http://valgrind.org/"/></para>
    2175         </listitem>
    2176         <listitem>
    2177           <para>Download Location: <ulink
    2178           url="http://valgrind.org/downloads/source_code.html"/></para>
    2179         </listitem>
    2180       </itemizedlist>
    2181 
    2182     </sect3>
    2183 -->
     2571      <para>
     2572        <application>strace</application> is a system call tracer, i.e., a
     2573        debugging tool which prints out a trace of all the system calls made by
     2574        another process or program.
     2575      </para>
     2576
     2577      <itemizedlist spacing="compact">
     2578        <listitem>
     2579          <para>
     2580            Project Home Page: <ulink
     2581            url="https://strace.io"/>
     2582          </para>
     2583        </listitem>
     2584        <listitem>
     2585          <para>
     2586            Download Location: <ulink
     2587            url="https://strace.io/files/"/>
     2588          </para>
     2589        </listitem>
     2590      </itemizedlist>
     2591
     2592    </sect3>
    21842593
    21852594  </sect2>
Note: See TracChangeset for help on using the changeset viewer.