Apogee Communications Technologies, Inc

Home

About

Solutions

News and Views

Product Focus

Links

Contact


Incorporated in 1994, providing consulting services in the New York Metro area in communications technologies - security, networking, systems architecture, design, implementation, certification and deployment.
 


 Mapping -
n 1. Math. A Rule of correspondance established between two mathematical sets that associates each member of the first set with a single member of the second. 1
 


What is 001?

Taken from Philip Wadlers's Real World Page, “001 is a graphical, executable specification language that adopts (or reinvents) many ideas from functional programming, including assign-once semantics, type parameters, higher-order parameterization, and something quite similar to linear types (but invented earlier and independently of Girard's work). It is a clear example of functional programming in the real world.” [Note added by yours truly – 001 has been around in one form or another since the '70s. It predates functional programming]

It has Type Maps (TMaptm), similar to UML2 class composition structure diagrams (see http://csdl.computer.org/comp/mags/so/2003/04/s4toc.htm and http://www.omg.org) and Function Maps (FMaptm), which are tree like compositions of functions connected by bookeeping nodes that show the structure (parallel, sequential, or choice) in the Zen-like discovery that there are only 3 fundamerntal structures that describe everything (i.e., data and the relationships between functions)

For more, see HTI's page at NASA.

Python/Jython

From the Python Web site - quote: Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. [Editor's note – IMO it is a much higher level than those quoted]

Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. Python is also usable as an extension language for applications that need a programmable interface.

The Python implementation is portable: it runs on many brands of UNIX, on Windows, OS/2, Mac, Amiga, and many other platforms. If your favorite system isn't listed here, it may still be supported, if there's a C compiler for it. Ask around on news:comp.lang.python -- or just try compiling Python yourself.

The Python implementation is copyrighted but freely usable and distributable, even for commercial use.

Python - why settle for snake oil when you can have the whole snake?

-- From Usenet posting by Mark Jackson, June 1998

End of quote.

001 functions can take and return any number of separate variables. Python prefers to process lists. To map 001 to Python requires the dynamic creation and destruction of lists at each method invocation. 001 is probably significantly more efficient than Python and IMO much much easier to maintain. But they do map to some degree in that a round trip from Python to 001 and back is quite possible. The reverse (001-.Python->001) seems feasible too, if you make a OneOf into a list and don't instantiate the unchosen.

Haskell

from http://www.haskell.org “About Haskell

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, hence the lambda we use as a logo. “

Here's an example of qsort in both 001 and Haskell, read 001 from right to left (think of basic algebra, and it makes sense).



Copyright © 2002 Apogee Communications Technologies Inc., All Rights Reserved. Privacy Statement. Comments or suggestions? Please send email to the site administrator

1American Heritage Dictionary, 1982