Skip to content

Metadata Types


RelName tests whether a value corresponds to a Symbol. A Symbol begins with the character :.

Strictly speaking, Symbols are metadata and result in specialized relations.

They are used extensively in modules — see Modules. The column names of imported CSV files are of type RelName. See CSV Import for details.


RelName constants start with a ::

// read query
def T = :bar
module T
    def foo = true
def output = T

Type Relation: RelName(x)

RelName(x) tests whether x is a RelName:

// read query
def mymodule:f = 1
ic { subset(mymodule, (RelName, Int)) }
def output = mymodule

Noteworthy Operations

relname_string converts RelName into String:

// read query
def output:string = relname_string[:foo]


// read query
module myrel
   def foo = 1
def myrel:bar = 2
ic relname_ic {subset(myrel, (RelName, Int))}
def names(name) = myrel(name, _)
ic names_ic { subset(names, RelName) }
def output = names

Next: Other Data Types

Was this doc helpful?