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

randy at linuxfromscratch.org randy at linuxfromscratch.org
Sun Nov 13 11:45:28 PST 2005


Author: randy
Date: 2005-11-13 12:45:21 -0700 (Sun, 13 Nov 2005)
New Revision: 5272

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

Modified: trunk/BOOK/general/prog/other-tools.xml
===================================================================
--- trunk/BOOK/general/prog/other-tools.xml	2005-11-12 17:21:25 UTC (rev 5271)
+++ trunk/BOOK/general/prog/other-tools.xml	2005-11-13 19:45:21 UTC (rev 5272)
@@ -864,6 +864,31 @@
     </sect3>
 
     <sect3 role="package">
+      <title>HLA (High Level Assembly)</title>
+
+      <para>The <application>HLA</application> language was developed as a tool
+      to help teach assembly language programming and machine organization to
+      University students at the University of California, Riverside. The basic
+      idea was to teach students assembly language programming by leveraging
+      their knowledge of high level languages like C/C++ and Pascal/Delphi. At
+      the same time, <application>HLA</application> was designed to allow
+      advanced assembly language programmers write more readable and more
+      powerful assembly language code.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://webster.cs.ucr.edu/AsmTools/HLA/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://webster.cs.ucr.edu/AsmTools/HLA/dnld.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
       <title>Icon</title>
 
       <para><application>Icon</application> is a high-level, general-purpose
@@ -935,6 +960,29 @@
     </sect3>
 
     <sect3 role="package">
+      <title>Joy</title>
+
+      <para><application>Joy</application> is a purely functional programming
+      language. Whereas all other functional programming languages are based on
+      the application of functions to arguments, <application>Joy</application>
+      is based on the composition of functions. All such functions take a stack
+      as an argument and produce a stack as a value. Consequently much of
+      <application>Joy</application> looks like ordinary postfix notation.
+      However, in <application>Joy</application> a function can consume any
+      number of parameters from the stack and leave any number of results on
+      the stack. The concatenation of appropriate programs denotes the
+      composition of the functions which the programs denote.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.latrobe.edu.au/philosophy/phimvt/joy.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
       <title>Judo</title>
 
       <para><application>Judo</application> is a practical, functional
@@ -993,6 +1041,36 @@
     </sect3>
 
     <sect3 role="package">
+      <title>Lava</title>
+
+      <para><application>Lava</application> is a name unfortunately chosen for
+      several unrelated software development languages/projects. So it doesn't
+      appear as though BLFS has a preference for one over another, the project
+      web sites are listed below, without descriptions of the capabilities or
+      features for any of them.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://lavape.sourceforge.net/index.htm"/></para>
+        </listitem>
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://javalab.cs.uni-bonn.de/research/darwin/#The%20Lava%20Language"/></para>
+        </listitem>
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.md.chalmers.se/~koen/Lava/"/></para>
+        </listitem>
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://members.tripod.com/mathias/IavaHomepage.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
       <title>Lua</title>
 
       <para><application>Lua</application> is a powerful light-weight
@@ -1039,6 +1117,32 @@
     </sect3>
 
     <sect3 role="package">
+      <title>Mercury</title>
+
+      <para><application>Mercury</application> is a new logic/functional
+      programming language, which combines the clarity and expressiveness of
+      declarative programming with advanced static analysis and error detection
+      features. Its highly optimized execution algorithm delivers efficiency
+      far in excess of existing logic programming systems, and close to
+      conventional programming systems. <application>Mercury</application>
+      addresses the problems of large-scale program development, allowing
+      modularity, separate compilation, and numerous optimization/time
+      trade-offs.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.cs.mu.oz.au/research/mercury/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.cs.mu.oz.au/research/mercury/download/release.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
       <title>Mono</title>
 
       <para><application>Mono</application> provides the necessary software to
@@ -1062,6 +1166,143 @@
     </sect3>
 
     <sect3 role="package">
+      <title>Mozart</title>
+
+      <para>The <application>Mozart</application> Programming System is an
+      advanced development platform for intelligent, distributed applications.
+      <application>Mozart</application> is based on the Oz language, which
+      supports declarative programming, object-oriented programming, constraint
+      programming, and concurrency as part of a coherent whole. For
+      distribution, <application>Mozart</application> provides a true network
+      transparent implementation with support for network awareness, openness,
+      and fault tolerance. Security is upcoming. It is an ideal platform for
+      both general-purpose distributed applications as well as for hard
+      problems requiring sophisticated optimization and inferencing
+      abilities.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.mozart-oz.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.mozart-oz.org/download/view.cgi"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>MPD</title>
+
+      <para><application>MPD</application> is a variant of the
+      <application>SR</application> programming language.
+      <application>SR</application> has a Pascal-like syntax and uses guarded
+      commands for control statements. <application>MPD</application> has a
+      C-like syntax and C-like control statements. However, the main components
+      of the two languages are the same: resources, globals, operations, procs,
+      procedures, processes, and virtual machines. Moreover,
+      <application>MPD</application> supports the same variety of concurrent
+      programming mechanisms as <application>SR</application>: co statements,
+      semaphores, call/send/forward invocations, and receive and input
+      statements.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.cs.arizona.edu/mpd/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.cs.arizona.edu/mpd/download/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Nemerle</title>
+
+      <para><application>Nemerle</application> is a high-level statically-typed
+      programming language for the .NET platform. It offers functional,
+      object-oriented and imperative features. It has a simple C#-like syntax
+      and a powerful meta-programming system. Features that come from the
+      functional land are variants, pattern matching, type inference and
+      parameter polymorphism (aka generics). The meta-programming system allows
+      great compiler extensibility, embedding domain specific languages,
+      partial evaluation and aspect-oriented programming.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://nemerle.org/Main_Page"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://nemerle.org/Download"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Octave</title>
+
+      <para>GNU <application>Octave</application> is a high-level language,
+      primarily intended for numerical computations. It provides a convenient
+      command line interface for solving linear and nonlinear problems
+      numerically, and for performing other numerical experiments using a
+      language that is mostly compatible with Matlab. It may also be used as
+      a batch-oriented language. <application>Octave</application> has
+      extensive tools for solving common numerical linear algebra problems,
+      finding the roots of nonlinear equations, integrating ordinary functions,
+      manipulating polynomials, and integrating ordinary differential and
+      differential-algebraic equations. It is easily extensible and
+      customizable via user-defined functions written in
+      <application>Octave</application>'s own language, or using dynamically
+      loaded modules written in C++, C, Fortran, or other languages.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.octave.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.octave.org/download.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>OO2C (Optimizing Oberon-2 Compiler)</title>
+
+      <para><application>OO2C</application> is an Oberon-2 development
+      platform. It consists of an optimizing compiler, a number of related
+      tools, a set of standard library modules and a reference manual.
+      Oberon-2 is a general-purpose programming language in the tradition of
+      Pascal and Modula-2. Its most important features are block structure,
+      modularity, separate compilation, static typing with strong type checking
+      (also across module boundaries) and type extension with type-bound
+      procedures. Type extension makes Oberon-2 an object-oriented
+      language.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://ooc.sourceforge.net/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://prdownloads.sourceforge.net/ooc/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
       <title>Ordered Graph Data Language (OGDL)</title>
 
       <para><application>OGDL</application> is a structured textual format that
@@ -1082,9 +1323,9 @@
     </sect3>
 
     <sect3 role="package">
-      <title>pike</title>
+      <title>Pike</title>
 
-      <para><application>pike</application> is a dynamic programming language
+      <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
@@ -1104,6 +1345,71 @@
     </sect3>
 
     <sect3 role="package">
+      <title>pyc</title>
+
+      <para><application>pyc</application> is a compiler that compiles
+      <application>Python</application> source code to bytecode (from
+      <filename class='extension'>.py</filename> to
+      <filename class='extension'>.pyc</filename>), written entirely in
+      <application>Python</application> (based on code from the <quote>compiler
+      package</quote>). It can compile itself and pass a 3-stage bootstrap.
+      <application>pyc</application> performs advanced optimizations which
+      results in better (smaller) bytecode.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://students.ceid.upatras.gr/~sxanth/pyc/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Pyrex</title>
+
+      <para><application>Pyrex</application> is a language specially designed
+      for writing Python extension modules. It's designed to bridge the gap
+      between the nice, high-level, easy-to-use world of
+      <application>Python</application> and the messy, low-level world of C.
+      <application>Pyrex</application> lets you write code that mixes
+      <application>Python</application> and C data types any way you want, and
+      compiles it into a C extension for
+      <application>Python</application>.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Q</title>
+
+      <para><application>Q</application> is a functional programming language
+      based on term rewriting. Thus, a <application>Q</application> program or
+      <quote>script</quote> is simply a collection of equations which are used
+      to evaluate expressions in a symbolic fashion. The equations establish
+      algebraic identities and are interpreted as rewriting rules in order to
+      reduce expressions to <quote>normal forms</quote>.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://q-lang.sourceforge.net/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://prdownloads.sourceforge.net/q-lang/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
       <title>R</title>
 
       <para><application>R</application> is a language and environment for
@@ -1242,6 +1548,65 @@
     </sect3>
 
     <sect3 role="package">
+      <title>Squeak</title>
+
+      <para><application>Squeak</application> is an open, highly-portable
+      Smalltalk implementation whose virtual machine is written entirely in
+      Smalltalk, making it easy to debug, analyze, and change. To achieve
+      practical performance, a translator produces an equivalent C program
+      whose performance is comparable to commercial Smalltalks. Other
+      noteworthy aspects of <application>Squeak</application> include:
+      real-time sound and music synthesis written entirely in Smalltalk,
+      extensions of BitBlt to handle color of any depth and anti-aliased
+      image rotation and scaling, network access support that allows simple
+      construction of servers and other useful facilities, it runs
+      bit-identical on many platforms (Windows, Mac, Unix, and others), a
+      compact object format that typically requires only a single word of
+      overhead per object and a simple yet efficient incremental garbage
+      collector for 32-bit direct pointers efficient bulk-mutation of
+      objects.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.squeak.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.squeak.org/Download/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>SR (Synchronizing Resources)</title>
+
+      <para><application>SR</application> is a language for writing concurrent
+      programs. The main language constructs are resources and operations.
+      Resources encapsulate processes and variables they share; operations
+      provide the primary mechanism for process interaction.
+      <application>SR</application> provides a novel integration of the
+      mechanisms for invoking and servicing operations. Consequently, all of
+      local and remote procedure call, rendezvous, message passing, dynamic
+      process creation, multicast, and semaphores are supported.
+      <application>SR</application> also supports shared global variables and
+      operations.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.cs.arizona.edu/sr/index.html"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="ftp://ftp.cs.arizona.edu/sr/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
       <title>Standard ML</title>
 
       <para>Standard ML is a safe, modular, strict, functional, polymorphic
@@ -1333,6 +1698,85 @@
 
     </sect3>
 
+    <sect3 role="package">
+      <title>TinyCOBOL</title>
+
+      <para><application>TinyCOBOL</application> is a COBOL compiler being
+      developed by members of the free software community. The mission is to
+      produce a COBOL compiler based on the COBOL 85 standards.
+      <application>TinyCOBOL</application> is avaliable for the Intel
+      architecture (IA32) and compatible processors on the following platforms:
+      BeOS, FreeBSD, Linux and MinGW on Windows.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://tinycobol.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://prdownloads.sourceforge.net/tiny-cobol/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Yorick</title>
+
+      <para><application>Yorick</application> is an interpreted programming
+      language, designed for postprocessing or steering large scientific
+      simulation codes. Smaller scientific simulations or calculations, such as
+      the flow past an airfoil or the motion of a drumhead, can be written as
+      standalone yorick programs. The language features a compact syntax for
+      many common array operations, so it processes large arrays of numbers
+      very efficiently. Unlike most interpreters, which are several hundred
+      times slower than compiled code for number crunching,
+      <application>Yorick</application> can approach to within a factor of four
+      or five of compiled speed for many common tasks. Superficially,
+      <application>Yorick</application> code resembles C code, but
+      <application>Yorick</application> variables are never explicitly declared
+      and have a dynamic scoping similar to many Lisp dialects. The
+      <quote>unofficial</quote> home page for <application>Yorick</application>
+      can be found at <ulink url="http://www.maumae.net/yorick"/>.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="ftp://ftp-icf.llnl.gov/pub/Yorick/doc/index.html"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="ftp://ftp-icf.llnl.gov/pub/Yorick/doc/download.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>ZPL</title>
+
+      <para><application>ZPL</application> is an array programming language
+      designed from first principles for fast execution on both sequential
+      and parallel computers. It provides a convenient high-level programming
+      medium for supercomputers and large-scale clusters with efficiency
+      comparable to hand-coded message passing. It is the perfect alternative
+      to using a sequential language like C or Fortran and a message passing
+      library like MPI.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.cs.washington.edu/research/zpl/home/index.html"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.cs.washington.edu/research/zpl/download/download.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
   </sect2>
 
   <sect2>
@@ -1760,6 +2204,33 @@
     </sect3>
 
     <sect3 role="package">
+      <title>Exuberant Ctags</title>
+
+      <para><application>Exuberant Ctags</application> generates an index (or
+      tag) file of language objects found in source files that allows these
+      items to be quickly and easily located by a text editor or other utility.
+      A tag signifies a language object for which an index entry is available
+      (or, alternatively, the index entry created for that object). Tag
+      generation is supported for the following languages: Assembler, AWK, ASP,
+      BETA, Bourne/Korn/Zsh Shell, C, C++, COBOL, Eiffel, Fortran, Java, Lisp,
+      Lua, Make, Pascal, Perl, PHP, Python, REXX, Ruby, S-Lang, Scheme, Tcl,
+      Vim, and YACC. A list of editors and tools utilizing tag files may be
+      found at <ulink url="http://ctags.sourceforge.net/tools.html"/>.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://ctags.sourceforge.net/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://prdownloads.sourceforge.net/ctags/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
       <title>GDB (GNU Debugger)</title>
 
       <para><application>GDB</application> is the GNU Project debugger. It

Modified: trunk/BOOK/general.ent
===================================================================
--- trunk/BOOK/general.ent	2005-11-12 17:21:25 UTC (rev 5271)
+++ trunk/BOOK/general.ent	2005-11-13 19:45:21 UTC (rev 5272)
@@ -1,4 +1,4 @@
-<!ENTITY day          "12">
+<!ENTITY day          "13">
 <!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-12 17:21:25 UTC (rev 5271)
+++ trunk/BOOK/introduction/welcome/changelog.xml	2005-11-13 19:45:21 UTC (rev 5272)
@@ -42,10 +42,21 @@
 -->
 
     <listitem>
+      <para>November 13th, 2005</para>
+      <itemizedlist>
+        <listitem>
+          <para>[randy] - Added several more entries to the 'Other Programming
+          Tools' section. Many thanks to Miguel Bazdresch for his suggestions
+          and other contributions.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
       <para>November 12th, 2005</para>
       <itemizedlist>
         <listitem>
-          <para>[dj] - Updated gcc4 patches for mozilla projects to include 
+          <para>[dj] - Updated GCC4 patches for Mozilla projects to include 
           xptinfo.h anonymous enum patch.</para>
         </listitem>
       </itemizedlist>

Modified: trunk/BOOK/introduction/welcome/credits.xml
===================================================================
--- trunk/BOOK/introduction/welcome/credits.xml	2005-11-12 17:21:25 UTC (rev 5271)
+++ trunk/BOOK/introduction/welcome/credits.xml	2005-11-13 19:45:21 UTC (rev 5272)
@@ -340,6 +340,12 @@
       </listitem>
 
       <listitem>
+        <para><emphasis>Miguel Bazdresch</emphasis>
+        for many suggestions and contributions to the Other Programming Tools
+        section.</para>
+      </listitem>
+
+      <listitem>
         <para><emphasis>Gerard Beekmans</emphasis>
         for generally putting up with us and for running the whole LFS
         project.</para>




More information about the blfs-book mailing list