BuiltWithNOF
Bach 2

From the Welsh:
bach (adj.) (BAAKH) little; small; also: term of endearment --i.e. 'little one'
(the 'ch' is pronounced as in the scottish loch)
Last Edited: 16 Feb, 2004

Bach is a small but complete interpreter designed with an emphasis on speed.

  • Speed of execution:
    Bach typically runs 5 to 10 times faster than Python or Perl.  It can replace compiled code in many applications.
  • Speed of development:
    A byte-coded interpreter, Bach has no compile-link-run cycle. It has good error diagnostics, and it encourages 'printf' debugging. Garbage collection and dynamic arrays with bounds checking eliminate many common errors.
  • Speed of learning:
    Bach has few datatypes, and can be learned very quickly.
  • Speed of reading:
    The syntax is designed to produce readable programs, clear and unsurprising, so you can understand the code of others easily.

 

Latest:

  • 15 Feb 04      Bach 2.2
    • bugfixes (always)
    • fct()[2] functions may be indexed
    • &&= and && operators (append)
    • !! unary operator clones its argument
    • %V format spec for objects
    • ; comments the rest of line
    • #"..." string statement -- sent to stdout
    • $(expr) expressions embedded in strings
    • s[-1] Negative indexes
    • method :Point:move(... method class tags
    • s[3].x = 3 member access for sequence elements
    • defs and methods that 'yield' are coroutines
       
  • 29 Sep 03      Bach 2.1.4
    • Some bugfixes
    • Class members now typechecked
    • New math library routines
       
  • 29 Sep 03      Bach 2.1.1
    Initial version of Bach 2 released. Many new features & bugfixes. Libraries re-organized. All new documentation.

[Bach 2] [Language] [Getting Started] [Overview] [Packages]