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