2.4 KiB
2.4 KiB
Serene's Language Specification
\clearpageνll≠wpage
\chapter{Overview of Serene}
Basic Types
Special Forms
def
:
def
has the following form:
(def <NAME> <VALUE>)
- Defines a global binding
- Returns the name of the binding as a symbol
<NAME>
has to be a symbol- If
def
is not a top level expression, it will create anundef
global binding which will be set to the<VALUE>
when the execution flow reaches thedef
itself.
Unsorted
Eval
Evaluating any form using eval
will add the form to the namespace containing the
eval
expression.
Glossary
- Symbol
- A Lisp Symbol. Just a symbol. A name that might be bound to a value and evaluates to the value.
- IR Symbol
- The
Symbol
infrastructure essentially provides a non-SSA mechanism in which to refer to an
operation in IR symbolically with a name. On MLIR level they are different from native symbols even though we use them to refer to native symbols. But they don't necessarily map to native symbols.
- Native Sybol
- As the name suggests native symbols refer to native code symbols. Like those you find in an
object file.