r5264 - in trunk/BOOK: . general/prog introduction/welcome

randy at linuxfromscratch.org randy at linuxfromscratch.org
Sun Nov 6 18:42:41 PST 2005


Author: randy
Date: 2005-11-06 19:42:39 -0700 (Sun, 06 Nov 2005)
New Revision: 5264

Modified:
   trunk/BOOK/general.ent
   trunk/BOOK/general/prog/other-tools.xml
   trunk/BOOK/introduction/welcome/changelog.xml
Log:
Added several programming languages to the 'Other Programming Tools' section

Modified: trunk/BOOK/general/prog/other-tools.xml
===================================================================
--- trunk/BOOK/general/prog/other-tools.xml	2005-11-07 02:33:01 UTC (rev 5263)
+++ trunk/BOOK/general/prog/other-tools.xml	2005-11-07 02:42:39 UTC (rev 5264)
@@ -58,6 +58,455 @@
     -->
 
     <sect3 role="package">
+      <title>A+</title>
+
+      <para><application>A+</application> is a powerful and efficient
+      programming language. It is freely available under the GNU General
+      Public License. It embodies a rich set of functions and operators, a
+      modern graphical user interface with many widgets and automatic
+      synchronization of widgets and variables, asynchronous execution of
+      functions associated with variables and events, dynamic loading of user
+      compiled subroutines, and many other features. Execution is by a rather
+      efficient interpreter. <application>A+</application> was created at
+      Morgan Stanley. Primarily used in a computationally-intensive business
+      environment, many critical applications written in
+      <application>A+</application> have withstood the demands of real world
+      developers over many years. Written in an interpreted language,
+      <application>A+</application> applications tend to be portable.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.aplusdev.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.aplusdev.org/Download/index.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>ASM</title>
+
+      <para><application>ASM</application> is a Java bytecode manipulation
+      framework. It can be used to dynamically generate stub classes or other
+      proxy classes, directly in binary form, or to dynamically modify
+      classes at load time, i.e., just before they are loaded into the Java
+      Virtual Machine. <application>ASM</application> offers similar
+      functionalities as BCEL or SERP, but is much smaller (33KB instead of
+      350KB for BCEL and 150KB for SERP) and faster than these tools (the
+      overhead of a load time class transformation is of the order of 60% with
+      <application>ASM</application>, 700% or more with BCEL, and 1100% or
+      more with SERP). Indeed <application>ASM</application> was designed to be
+      used in a dynamic way (though it works statically as well) and was
+      therefore designed and implemented to be as small and as fast as
+      possible.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://asm.objectweb.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://forge.objectweb.org/projects/asm/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title><bigwig></title>
+
+      <para><application><bigwig></application> is a high-level
+      programming language for developing interactive Web services. Programs
+      are compiled into a conglomerate of lower-level technologies such as C
+      code, HTTP, HTML, JavaScript, and SSL, all running on top of a runtime
+      system based on an Apache Web server module. It is a descendant of the
+      Mawl project but is a completely new design and implementation with
+      vastly expanded ambitions. The <application><bigwig></application>
+      language is really a collection of tiny domain-specific languages
+      focusing on different aspects of interactive Web services. These
+      contributing languages are held together by a C-like skeleton language.
+      Thus, <application><bigwig></application> has the look and feel of
+      C-programs but with special data and control structures.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.brics.dk/bigwig/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.brics.dk/bigwig/download/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Byte Code Engineering Library (BCEL)</title>
+
+      <para><application>BECL</application> is intended to give users a
+      convenient possibility to analyze, create, and manipulate (binary) Java
+      class files (those ending with
+      <filename class='extension'>.class</filename>). Classes are represented
+      by objects which contain all the symbolic information of the given class:
+      methods, fields and byte code instructions, in particular. Such objects
+      can be read from an existing file, be transformed by a program (e.g., a
+      class loader at run-time) and dumped to a file again. An even more
+      interesting application is the creation of classes from scratch at
+      run-time. The Byte Code Engineering Library may be also useful if you
+      want to learn about the Java Virtual Machine (JVM) and the format of Java
+      <filename class='extension'>.class</filename> files.
+      <application>BCEL</application> is already being used successfully in
+      several projects such as compilers, optimizers, obsfuscators, code
+      generators and analysis tools.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://jakarta.apache.org/bcel/index.html"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://jakarta.apache.org/site/downloads/downloads_bcel.cgi/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Bigloo</title>
+
+      <para><application>Bigloo</application> is a Scheme implementation
+      devoted to one goal: enabling Scheme based programming style where C(++)
+      is usually required. <application>Bigloo</application> attempts to make
+      Scheme practical by offering features usually presented by traditional
+      programming languages but not offered by Scheme and functional
+      programming. Bigloo compiles Scheme modules and delivers small and fast
+      stand-alone binary executables. It enables full connections between
+      Scheme and C programs, between Scheme and Java programs, and between
+      Scheme and C# programs.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www-sop.inria.fr/mimosa/fp/Bigloo/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="ftp://ftp-sop.inria.fr/mimosa/fp/Bigloo/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>C--</title>
+
+      <para><application>C--</application> is a portable assembly language that
+      can be generated by a front end and implemented by any of several code
+      generators. It serves as an interface between high-level compilers and
+      retargetable, optimizing code generators. Authors of front ends and code
+      generators can cooperate easily.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.cminusminus.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.cminusminus.org/code.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Caml</title>
+
+      <para><application>Caml</application> is a general-purpose programming
+      language, designed with program safety and reliability in mind. It is
+      very expressive, yet easy to learn and use.
+      <application>Caml</application> supports functional, imperative, and
+      object-oriented programming styles. It has been developed and distributed
+      by INRIA, France's national research institute for computer science,
+      since 1985. The Objective Caml system is the main implementation of the
+      <application>Caml</application> language. It features a powerful module
+      system and a full-fledged object-oriented layer. It comes with a
+      native-code compiler that supports numerous architectures, for high
+      performance; a bytecode compiler, for increased portability; and an
+      interactive loop, for experimentation and rapid development.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://caml.inria.fr/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://caml.inria.fr/pub/distrib/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Cayenne</title>
+
+      <para><application>Cayenne</application> is a simple(?) functional
+      language with a powerful type system. The basic types are functions,
+      products, and sums. Functions and products use dependent types to gain
+      additional power. There are very few building blocks in the language, but
+      a lot of <quote>syntactic sugar</quote> to make it more readable. There
+      is no separate module language in <application>Cayenne</application>
+      since the dependent types allow the normal expression language to be used
+      at the module level as well. The design of
+      <application>Cayenne</application> has been heavily influenced by
+      <application>Haskell</application> and constructive type theory and with
+      some things borrowed from Java. The drawback of such a powerful type
+      system is that the type checking becomes undecidable.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.cs.chalmers.se/~augustss/cayenne/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.cs.chalmers.se/~augustss/cayenne/get.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Ch</title>
+
+      <para><application>Ch</application> is an embeddable C/C++ interpreter
+      for cross-platform scripting, shell programming, 2D/3D plotting,
+      numerical computing, and embedded scripting.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.softintegration.com/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.softintegration.com/products/chstandard/download/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Clean</title>
+
+      <para><application>Clean</application> is a general purpose,
+      state-of-the-art, pure and lazy functional programming language designed
+      for making real-world applications. <application>Clean</application> is
+      the only functional language in the world which offers uniqueness typing.
+      This type system makes it possible in a pure functional language to
+      incorporate destructive updates of arbitrary data structures (including
+      arrays) and to make direct interfaces to the outside imperative world.
+      The type system makes it possible to develop efficient
+      applications.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.cs.ru.nl/~clean/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.cs.ru.nl/~clean/Download/download.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Cyclone</title>
+
+      <para><application>Cyclone</application> is a programming language based
+      on C that is safe, meaning that it rules out programs that have buffer
+      overflows, dangling pointers, format string attacks, and so on.
+      High-level, type-safe languages, such as Java, Scheme, or ML also provide
+      safety, but they don't give the same control over data representations
+      and memory management that C does (witness the fact that the run-time
+      systems for these languages are usually written in C.) Furthermore,
+      porting legacy C code to these languages or interfacing with legacy C
+      libraries is a difficult and error-prone process. The goal of
+      <application>Cyclone</application> is to give programmers the same
+      low-level control and performance of C without sacrificing safety, and to
+      make it easy to port or interface with legacy C code.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.research.att.com/projects/cyclone/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.eecs.harvard.edu/~greg/cyclone/software/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>D</title>
+
+      <para><application>D</application> is a general purpose systems and
+      applications programming language. It is a higher level language than
+      C++, but retains the ability to write high performance code and interface
+      directly with the operating system APIs and with hardware.
+      <application>D</application> is well suited to writing medium to large
+      scale million line programs with teams of developers. It is easy to
+      learn, provides many capabilities to aid the programmer, and is well
+      suited to aggressive compiler optimization technology.
+      <application>D</application> is not a scripting language, nor an
+      interpreted language. It doesn't come with a VM, a religion, or an
+      overriding philosophy. It's a practical language for practical
+      programmers who need to get the job done quickly, reliably, and leave
+      behind maintainable, easy to understand code.
+      <application>D</application> is the culmination of decades of experience
+      implementing compilers for many diverse languages, and attempting to
+      construct large projects using those languages. It draws inspiration from
+      those other languages (most especially C++) and tempers it with
+      experience and real world practicality.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.digitalmars.com/d/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="ftp://ftp.digitalmars.com/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>DMDScript</title>
+
+      <para><application>DMDScript</application> is Digital Mars'
+      implementation of the ECMA 262 scripting language. Netscape's
+      implementation is called JavaScript, Microsoft's implementation is
+      called JScript. <application>DMDScript</application> is much faster
+      than other implementations, which you can verify with the included
+      benchmark.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.digitalmars.com/dscript/index.html"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="ftp://ftp.digitalmars.com/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>DotGNU Portable.NET</title>
+
+      <para><application>DotGNU Portable.NET</application> goal is to build a
+      suite of free software tools to build and execute .NET applications,
+      including a C# compiler, assembler, disassembler, and runtime engine.
+      While the initial target platform was GNU/Linux, it is also known to run
+      under Windows, Solaris, NetBSD, FreeBSD, and MacOS X. The runtime engine
+      has been tested on the x86, PowerPC, ARM, Sparc, PARISC, s390, Alpha, and
+      IA-64 processors. <application>DotGNU Portable.NET</application> is part
+      of the DotGNU project, built in accordance with the requirements of the
+      GNU Project. DotGNU Portable.NET is focused on compatibility with the
+      ECMA specifications for CLI. There are other projects under the DotGNU
+      meta-project to build other necessary pieces of infrastructure, and to
+      explore non-CLI approaches to virtual machine implementation.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.southern-storm.com.au/portable_net.html"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.southern-storm.com.au/portable_net.html#download"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>E</title>
+
+      <para><application>E</application> is a secure distributed Java-based
+      pure-object platform and p2p scripting language. It has two parts: ELib
+      and the <application>E</application> Language. Elib provides the stuff
+      that goes on between objects. As a pure-Java library, ELib provides for
+      inter-process capability-secure distributed programming. Its
+      cryptographic capability protocol enables mutually suspicious Java
+      processes to cooperate safely, and its event-loop concurrency and promise
+      pipelining enable high performance deadlock free distributed pure-object
+      computing. The <application>E</application> Language can be used to
+      express what happens within an object. It provides a convenient and
+      familiar notation for the ELib computational model, so you can program
+      in one model rather than two. Under the covers, this notation expands
+      into Kernel-E, a minimalist lambda-language much like Scheme or
+      Smalltalk. Objects written in the <application>E</application> language
+      are only able to interact with other objects according to ELib's
+      semantics, enabling object granularity intra-process security, including
+      the ability to safely run untrusted mobile code (such as caplets).</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.erights.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.erights.org/download/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Erlang/OTP</title>
+
+      <para><application>Erlang/OTP</application> is a development environment
+      based on Erlang. Erlang is a programming language which has many features
+      more commonly associated with an operating system than with a programming
+      language: concurrent processes, scheduling, memory management,
+      distribution, networking, etc. The initial open-source Erlang release
+      contains the implementation of Erlang, as well as a large part of
+      Ericsson's middleware for building distributed high-availability systems.
+      Erlang is characterized by the following features: robustness, soft
+      real-time, hot code upgrades and incremental code loading.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.erlang.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.erlang.org/download.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
       <title>Euphoria</title>
 
       <para><application>Euphoria</application> is a simple, flexible, and
@@ -85,6 +534,195 @@
     </sect3>
 
     <sect3 role="package">
+      <title>GNU Smalltalk</title>
+
+      <para><application>GNU Smalltalk</application> is a free implementation
+      of the Smalltalk-80 language which runs on most versions on Unix and, in
+      general, everywhere you can find a POSIX-compliance library. An uncommon
+      feature of it is that it is well-versed to scripting tasks and headless
+      processing. See <ulink
+      url="http://www.gnu.org/software/smalltalk/gst-manual/gst_1.html#SEC1"/>
+      for a more detailed explanation of
+      <application>GNU Smalltalk</application>.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.gnu.org/software/smalltalk/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://ftp.gnu.org/gnu/smalltalk/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Haskell</title>
+
+      <para>Haskell is a computer programming language. In particular, it is a
+      polymorphicly typed, lazy, purely functional language, quite different
+      from most other programming languages. The language is named for Haskell
+      Brooks Curry, whose work in mathematical logic serves as a foundation for
+      functional languages. Haskell is based on lambda calculus. There are many
+      implementations of Haskell, among them:</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>GHC: <ulink
+          url="http://www.haskell.org/ghc/"/></para>
+        </listitem>
+        <listitem>
+          <para>HBC: <ulink
+          url="http://www.cs.chalmers.se/~augustss/hbc/hbc.html"/></para>
+        </listitem>
+        <listitem>
+          <para>Helium: <ulink
+          url="http://www.cs.uu.nl/helium/"/></para>
+        </listitem>
+        <listitem>
+          <para>Hugs: <ulink
+          url="http://www.haskell.org/hugs/"/></para>
+        </listitem>
+        <listitem>
+          <para>nhc98: <ulink
+          url="http://www.haskell.org/nhc98/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Jamaica</title>
+
+      <para><application>Jamaica</application>, the JVM Macro Assembler, is an
+      easy-to-learn and easy-to-use assembly language for JVM bytecode
+      programming. It uses Java syntax to define a JVM class except for the
+      method body that takes bytecode instructions, including
+      <application>Jamaica</application>'s built-in macros. In
+      <application>Jamaica</application>, bytecode instructions use mnemonics
+      and symbolic names for all variables, parameters, data fields, constants
+      and labels.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.judoscript.com/jamaica.html"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.judoscript.com/download.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Judo</title>
+
+      <para><application>Judo</application> is a practical, functional
+      scripting language. It is designed to cover the use cases of not only
+      algorithmic/object-oriented/multi-threaded programming and Java scripting
+      but also a number of major application domain tasks, such as scripting
+      for JDBC, WSDL, ActiveX, OS, multiple file/data formats, etc. Despite its
+      rich functionality, the base language is extremely simple, and domain
+      support syntax is totally intuitive to domain experts, so that even
+      though you have never programmed in <application>Judo</application>, you
+      would have little trouble figuring out what the code does.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.judoscript.com/home.html"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.judoscript.com/download.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>JWIG</title>
+
+      <para><application>JWIG</application> is a Java-based high-level
+      programming language for development of interactive Web services. It
+      contains an advanced session model, a flexible mechanism for dynamic
+      construction of XML documents, in particular XHTML, and a powerful API
+      for simplifying use of the HTTP protocol and many other aspects of Web
+      service programming. To support program development,
+      <application>JWIG</application> provides a unique suite of highly
+      specialized program analyses that at compile time verify for a given
+      program that no runtime errors can occur while building documents or
+      receiving form input, and that all documents being shown are valid
+      according to the document type definition for XHTML 1.0. The main goal of
+      the <application>JWIG</application> project is to simplify development of
+      complex Web services, compared to alternatives, such as, Servlets, JSP,
+      ASP, and PHP. <application>JWIG</application> is a descendant of the
+      <application><bigwig></application> research language.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.brics.dk/JWIG/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.brics.dk/JWIG/download.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Lua</title>
+
+      <para><application>Lua</application> is a powerful light-weight
+      programming language designed for extending applications. It is also
+      frequently used as a general-purpose, stand-alone language. It is free
+      software. <application>Lua</application> combines simple procedural
+      syntax with powerful data description constructs based on associative
+      arrays and extensible semantics. It is dynamically typed, interpreted
+      from bytecodes, and has automatic memory management with garbage
+      collection, making it ideal for configuration, scripting, and rapid
+      prototyping. A fundamental concept in the design of
+      <application>Lua</application> is to provide meta-mechanisms for
+      implementing features, instead of providing a host of features directly
+      in the language. For example, although <application>Lua</application> is
+      not a pure object-oriented language, it does provide meta-mechanisms for
+      implementing classes and inheritance. <application>Lua</application>'s
+      meta-mechanisms bring an economy of concepts and keep the language small,
+      while allowing the semantics to be extended in unconventional ways.
+      Extensible semantics is a distinguishing feature of
+      <application>Lua</application>. <application>Lua</application> is a
+      language engine that you can embed into your application. This means
+      that, besides syntax and semantics, it has an API that allows the
+      application to exchange data with <application>Lua</application> programs
+      and also to extend <application>Lua</application> with C functions. In
+      this sense, it can be regarded as a language framework for building
+      domain-specific languages. <application>Lua</application> is implemented
+      as a small library of C functions, written in ANSI C, and compiles
+      unmodified in all known platforms. The implementation goals are
+      simplicity, efficiency, portability, and low embedding cost. The result
+      is a fast language engine with small footprint, making it ideal in
+      embedded systems too.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.lua.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.lua.org/download.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
       <title>Mono</title>
 
       <para><application>Mono</application> provides the necessary software to
@@ -128,6 +766,28 @@
     </sect3>
 
     <sect3 role="package">
+      <title>pike</title>
+
+      <para><application>pike</application> is a dynamic programming language
+      with a syntax similar to Java and C. It is simple to learn, does not
+      require long compilation passes and has powerful built-in data types
+      allowing simple and really fast data manipulation. Pike is released under
+      the GNU GPL, GNU LGPL and MPL.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://pike.ida.liu.se/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://pike.ida.liu.se/download/pub/pike"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
       <title>R</title>
 
       <para><application>R</application> is a language and environment for
@@ -159,6 +819,173 @@
 
     </sect3>
 
+    <sect3 role="package">
+      <title>Regina Rexx</title>
+
+      <para><application>Regina</application> is a Rexx interpreter that has
+      been ported to most Unix platforms (Linux, FreeBSD, Solaris, AIX, HP-UX,
+      etc.) and also to OS/2, eCS, DOS, Win9x/Me/NT/2k/XP, Amiga, AROS, QNX4.x,
+      QNX6.x BeOS, MacOS X, EPOC32, AtheOS, OpenVMS, SkyOS and OpenEdition.
+      Rexx is a programming language that was designed to be easy to use for
+      inexperienced programmers yet powerful enough for experienced users. It
+      is also a language ideally suited as a macro language for other
+      applications.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://regina-rexx.sourceforge.net/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://prdownloads.sourceforge.net/regina-rexx"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Serp</title>
+
+      <para><application>Serp</application> is an open source framework for
+      manipulating Java bytecode. The goal of the
+      <application>Serp</application> bytecode framework is to tap the full
+      power of bytecode modification while lowering its associated costs. The
+      framework provides a set of high-level APIs for manipulating all aspects
+      of bytecode, from large-scale structures like class member fields to the
+      individual instructions that comprise the code of methods. While in order
+      to perform any advanced manipulation, some understanding of the class
+      file format and especially of the JVM instruction set is necessary, the
+      framework makes it as easy as possible to enter the world of bytecode
+      development.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://serp.sourceforge.net/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://serp.sourceforge.net/files/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Small Device C Compiler (SDCC)</title>
+
+      <para><application>SDCC</application> is a Freeware, retargettable,
+      optimizing ANSI-C compiler that targets the Intel 8051, Maxim 80DS390
+      and the Zilog Z80 based MCUs. Work is in progress on supporting the
+      Motorola 68HC08 as well as Microchip PIC16 and PIC18 series. The entire
+      source code for the compiler is distributed under GPL.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://sdcc.sourceforge.net/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://sdcc.sourceforge.net/snap.php#Source"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Standard ML</title>
+
+      <para>Standard ML is a safe, modular, strict, functional, polymorphic
+      programming language with compile-time type checking and type inference,
+      garbage collection, exception handling, immutable data types and
+      updatable references, abstract data types, and parametric modules. It has
+      efficient implementations and a formal definition with a proof of
+      soundness. There are many implementations of Standard ML, among them:</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>ML Kit: <ulink
+          url="http://www.it-c.dk/research/mlkit/"/></para>
+        </listitem>
+        <listitem>
+          <para>MLton: <ulink
+          url="http://mlton.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Moscow ML: <ulink
+          url="http://www.dina.kvl.dk/~sestoft/mosml.html"/></para>
+        </listitem>
+        <listitem>
+          <para>Poly/ML: <ulink
+          url="http://www.polyml.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Standard ML of New Jersey: <ulink
+          url="http://www.smlnj.org/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Steel Bank Common Lisp (SBCL)</title>
+
+      <para><application>SBCL</application> is an open source (free software)
+      compiler and runtime system for ANSI Common Lisp. It provides an
+      interactive environment including an integrated native compiler, a
+      debugger, and many extensions. <application>SBCL</application> runs on a
+      number of platforms.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.sbcl.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://prdownloads.sourceforge.net/sbcl/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Tiny C Compiler (TCC)</title>
+
+      <para><application>Tiny C Compiler</application> is a small C compiler
+      that can be used to compile and execute C code everywhere, for example
+      on rescue disks (about 100KB for x86 TCC executable, including C
+      preprocessor, C compiler, assembler and linker).
+      <application>TCC</application> is fast. It generates optimized x86 code,
+      has no byte code overhead and compiles, assembles and links several times
+      faster than <application>GCC</application>.
+      <application>TCC</application> is versatile, any C dynamic library can be
+      used directly. It is heading torward full ISOC99 compliance and can
+      compile itself. The compiler is safe as it includes an optional memory
+      and bound checker. Bound checked code can be mixed freely with standard
+      code. <application>TCC</application> compiles and executes C source
+      directly. No linking or assembly necessary. A full C preprocessor and
+      GNU-like assembler is included. It is C script supported; just add
+      <quote>#!/usr/local/bin/tcc -run</quote> on the first line of your C
+      source, and execute it directly from the command line. With libtcc, you
+      can use <application>TCC</application> as a backend for dynamic code
+      generation.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.tinycc.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://fabrice.bellard.free.fr/tcc/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
   </sect2>
 
   <sect2>

Modified: trunk/BOOK/general.ent
===================================================================
--- trunk/BOOK/general.ent	2005-11-07 02:33:01 UTC (rev 5263)
+++ trunk/BOOK/general.ent	2005-11-07 02:42:39 UTC (rev 5264)
@@ -1,4 +1,4 @@
-<!ENTITY day          "05">
+<!ENTITY day          "07">
 <!ENTITY month        "11">
 <!ENTITY year         "2005">
 <!ENTITY version      "svn-&year;&month;&day;">

Modified: trunk/BOOK/introduction/welcome/changelog.xml
===================================================================
--- trunk/BOOK/introduction/welcome/changelog.xml	2005-11-07 02:33:01 UTC (rev 5263)
+++ trunk/BOOK/introduction/welcome/changelog.xml	2005-11-07 02:42:39 UTC (rev 5264)
@@ -42,6 +42,16 @@
 -->
 
     <listitem>
+      <para>November 7th, 2005</para>
+      <itemizedlist>
+        <listitem>
+          <para>[randy] - Added several programming languages to the 'Other
+          Programming Tools' section.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
       <para>November 5th, 2005</para>
       <itemizedlist>
         <listitem>




More information about the blfs-book mailing list