A SET PROGRAMMING LANGUAGE
ASPL VERSION # 1.00

 

PREFACE


The most common aggregate of information structure is the object, and a computer system can be viewed as manipulator of objects. An object represents a dataset, and a computer can compare various datasets to see what they have in common by assigning these datasets to variables then processing these variables to reveal their similarities and differences.

The importance of group operations, classification, sequence analysis, and similarity calculation are emphasized in many disciplines. But the lack of a calculator that can operate on algebraic datasets, make one resorts to the use of complex software or to write custom programs to compare aggregated datasets; however this is costly, system resource consuming, results are delayed, lack homogeneity in dataset comparisons, and lack the semantic interactivity aspects of users interaction with their datasets.

What is needed is a set calculator where the user can quickly interact with objects to compare datasets. A calculator that can run on top of the UNIX system shell that is easy and convenient to use without exhausting the system resources.

A Set Programming Language, ASPL, is an interpreted language that runs on the UNIX system and provides a prompt allowing the user to interact with his datasets for instantaneous data analysis, to visualize and to compare them. ASPL interpreter containments use the basic of the UNIX system resources and run on top of the standard Perl interpreter virtual machine. The user does not need to know about the ASPL internals as the interpreter offers simple statements to do set operations transparently.

Creating, modifying, processing (such as merging, intersecting, differentiating, etc.), and storing and retrieving objects are accomplished by invoking simple commands at the ASPL prompt.

ASPL is a software that restructures (or reshapes) data objects into shapes all of which have named labels and where each name refers either to a list of attributes or to another object.

The interpreter has a rich operational characteristics to perform set operations and to provide the users with real time semantic interactivity with their datasets. It has abundant operators to do set operations, sequence operations, similarity calculation, and density calculation. It can aggregate datasets based on predicates and even interrogate the source of a dataset scrutinizing any changes in its elements and archiving its result for historical data warehousing and comparison. All of these complex algebraic set calculations are performed with simple commands.

Traditional calculators are programmed to do arithmetic operations and resolve formula: data is typically processed while being transitioned between the processor registers and the stack memory. Doing operations on datasets require a totally different approach: data must be structured, objectified, accumulated, expressively matched, etc. Therefore the implementation of a set calculator is completely different than the implementation of a typical calculator. However, it was important to deliver a set calculator that resemble the classical calculator, and the ASPL calculator shares some features found in the traditional one:
  • mnemonics for symbolic operators that are easy to remember
  • a stack to hold the last operations
  • operators without any operands acts on the top of the stack
  • a dash showing where the results are held
  • a data objects accumulator
  • an interative prompt for users interacting with the datasets
  • a colorful display to visualize data and contrast the analyzed objects
In this book we refer to the UNIX shell prompt with hash as shown here

aspl

The commands issued at the aspl prompt start with aspl> as shown here

aspl> sim a1 a2 a3
    (show the similarity between a1, a2, and a3)



A series of commands can be numbered, for example:

①  aspl> sim a1 a2 a3
    (show the similarity between a1, a2, and a3)

②  aspl> sim`c a1 a2 a3
    (show the similarity between a1, a2, and a3 considering the checksum attribute)

③  aspl> sima123 = sim a1 a2 a3
    (assign to the COS variable sima123 the similarity result)



This book is arranged for easy understanding of the functions and for full utilization of the ASPL interpreter in mining datasets. This manual is composed of thirteen chapters and appendices.


  • 1. What is ASPL
  • 2. Using Your ASPL Calculator
  • 3. ASPL Grouping Containment
  • 4. ASPL Set Operators
  • 5. Setness Comparison Operators
  • 6. ASPL Similarity Operations
  • 7. ASPL Sequence Alignment Operators
  • 8. ASPL Checksum Set Operators
  • 9. ASPL Fuzzy Set Operators
  • 10. ASPL Shallow Set Operators
  • 11. ASPL by Examples
  • 12. ASPL Scripts by Examples
  • 13. ASPL Basic Operators
  • A. ASPL Synopsis
  • B. Environment Variables
  • C. ASPL envvar
  • D. Technical Specifications


Chapter 1 should be read first to become familiar with the nomenclature concerning this appliance.

A language is as good as its documentation. This book explains the usage of ASPL while providing the essential documentation. It can be used as a reference manual showing the exact specifications of the language, and as tutorial or an introductory manual.

At your fingertips is the premier calculator that provide operations on algebraic datasets. To best understand a calculator is to use it.

Bassem W. Jamaleddine June 2024 New York, NY


Contents