---
name: "goo"
section: "1"
platform: "linux"
package: "goo"
version: "0.155+ds-6"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/goo"
---

# goo(1)

generic object-orientator (programming language)

## NAME

goo, g2c - generic object-orientator (programming language)

## SYNOPSIS

**goo**\
 **g2c**

## DESCRIPTION

This manual page documents briefly the **goo** and **g2c** commands.

**goo** and **g2c** interactively evaluate statements in GOO, a dynamic, type-based, object-oriented language in the same family as Dylan and Scheme. The language is designed to be simple, productive, powerful, extensible, dynamic, efficient, and real-time.

**goo** and **g2c** support two evaluation modes, controlled by the environment variable **GOO\_EVAL\_MODE**; the two commands differ only in which mode is the default. In **ast** mode (short for "abstract syntax tree", and the default for **goo**), they directly interpret parsed goo expressions. In **g2c** mode (the default for **g2c**), they instead translate expressions into dynamically compiled C code.

## OPTIONS

None.

## USAGE

Typing **goo** or **g2c** at your shell will start up a **goo** read-eval-print loop, which accepts s-expressions and top-level commands commencing with a comma. The following is a list of available commands:

- **,quit**

  Exit the program.

- **^C** (control-C)

  Invoke a recursive read-eval-print loop.

- **,g2c-eval**

  Change to dynamic compilation evaluation.

- **,ast-eval**

  Change to ast evaluation.

- **,in ,***name*

  Change to module *name*.

## ENVIRONMENT

- GOO\_EVAL\_MODE

  Determines evaluation mode, as documented in DESCRIPTION above.

- GOO\_ROOT

  Installation root (**/usr** on Debian systems); files needed at runtime can be found under **${GOO\_ROOT}/lib/goo**.

## SEE ALSO

The full GOO reference manual: /usr/share/doc/goo/goo.pdf.gz or /usr/share/doc/goo/manual/goomanual.html .

## AUTHOR

goo was written by Jonathan Bachrach.

This manual page was written by Aaron M. Ucko \<ucko@debian.org\>, for the Debian project based on Jonathan's documentation (but may be used by others).
