SECDマシン
SECDマシンはスタックベースであり、関数(組み込み関数とユーザー定義関数)はスタックから引数を取り出す。一方、命令のオペランドは命令形式に含まれている。
他の内部データ構造と同様にスタックもリストとなっている。Sレジスタはそのリストの先頭を指している。リスト構造であるため、このスタックは連続したメモリブロックである必要がなく、リスト用のセルが空いていればスタックを伸ばすことができる。全てのセルが使用されている場合でも、ガベージコレクションで空きメモリが見つかる可能性がある。
Cレジスタは評価(実行)すべきコードのリストの先頭を指している。その命令を実行したら、Cはリスト上の次の命令を指す。これはちょうど通常のCPUの命令ポインタと同じだが、コード自体もリスト構造であるため、次の命令がメモリ上連続した位置にあることは滅多にない。
現在の変数の環境はEレジスタによって管理される。Eはリストのリストを指している。ここで、各リストは環境レベルを表しており、現在の関数の引数はそのリストの先頭にある。現在の環境では束縛されていないがそれを取り囲む関数では束縛されている変数は、その次のリストにある。
Dレジスタの指すダンプとは、他のレジスタの内容を一時的に保管するのに使われ、例えば関数呼び出しの際などに使われる。これは、いわゆるコールスタックの役目を果たしている。
SECDマシンのメモリ構成は多くの関数型言語インタプリタと同様である。