ASPL User Guide v 1.00
© 2025 Bassem W. Jamaleddine


6. 1
   ASPL Basic Set Operations

 

The following are the basic set operators

# density push pop split common purge merge lmerge gmerge copy = .=* *=* *= equal subset disjoint superset

cardinality of set variables

      # a1 [a2 a3 .. aN]       where a1 a2 [a3 .. aN] are set variables

density of set variables

      density a1 [a2 a3 .. aN]

push set variables on the stack

      push a1 [a2 a3 .. aN]

pop the stack and assign it to a set variable

      pop setvar

split a set variable into its consituent labeling group

      split a1 [a2 .. aN] into trg1 trg2 ..      where a1 [a2 .. aN] trg1 trg2 .. are set variables

get the common labeled groups found in a set variable

      common a1 [a2 .. aN] in targetvar      where a1 [a2 .. aN] targetvar are set variables

merge one or many datasets into a set variables

      merge s1 [s2 .. sN] into targetvar      where s1 [s2 .. sN] targetvar are set variables

lmerge to loosely merge datasets whose labels match the leftmost variable group label

      lmerge s1 [s2 .. sN] into targetvar       where s1 [s2 .. sN] targetvar are set variables

gmerge loosely merges set variables into a set variable using concatenaded group labels

      gmerge s1 [s2 .. sN] into targetvar       where s1 [s2 .. sN] targetvar are set variables

purge one or many datasets from a set variable

      purge s1 [s2 .. sN] from somevar into targetvar      where s1 [s2 .. sN] somevar targetvar are set variables

copy a set variable into another

      copy a1 a2

= assigns a dataset to a set variable

      v1 = v2       where v1 v2 are set variables

*= starassign as the union translation of one or more set variables into a binned set variable

      binnedvar *= a1 [a2 .. aN]       where a1 [a2 .. aN] are set variables

*=* starassignstar assignment operator for binned set variables

      binnedvar1 *=* binnedvar2       where binnedvar1 binnedvar2 are binned variables

.=* transforms binned set variables and assign them to set variables

      setvar .=* binnedvar1 [binnedvar2 .. binnedvarN]       where setvar is set variable and binnedvar1 [binnedvar2 .. binnedvarN] are binned set variables

equal checks if setvar1 is equal to setvar2

      equal setvar1 setvar2

subset checks if setvar1 is a subset of setvar2

      subset setvar1 setvar2

disjoint checks if setvar1 and setvar2 are disjoint

      disjoint setvar1 setvar2

superset checks if setvar1 is a superset of setvar2

      superset setvar1 setvar2

Basic Set Operations

●  ASPL Basic Set Operations

Aside from the set operators that perform group operations on set variables, ASPL has several basic built in operators as such: #, density, push, pop, split, common, merge, lmerge, gmerge, purge, copy, =, .=*, *=*, *= , equal, subset, disjoint, and superset.

For examples on using these operators refer to ASPL Operations Guide.

 

USING BASIC OPERATORS

The following example shows how to use ASP basic set operators.

 

USING BASIC OPERATORS

# aspl WS1

①  aspl> # a1 a2 a3 into a123
    display the cardinality of a1 a2 a3

②  aspl> density a1 a2 a3
    display the density of a1 a2 a3

③  aspl> merge a1 a2 a3 into a123
    merge a1 a2 a3 into set variable a123

④  aspl> u123 = gU a1 a2 a3
    get the group union of a1 a2 a3 and assign it to u123

⑤  aspl> v
    view symbol table

⑥  aspl> equal a123 u123
    compare set equality of a123 and u123

⑦  aspl> looselyequal a123 u123
    loosely compare set equality of a123 and u123

⑧  aspl> split a123 into s1 s2 s3
    split a123 into s1 s2 s3

⑨  aspl> equal a1 s1
    check set equality of a1 and s1

⑩  aspl> v
    view symbol table