GOO(1)
π GOO β the manual, but make it slay π
okay bestie, sit down, hydrate, because we're talking about goo and g2c β aka the generic object-orientator, which is a whole programming language. β¨ This is the General Commands Manual page for them, and yes I'm gonna explain every last crumb. no crumbs left behind. π
π¦ NAME π¦
goo, g2c β generic object-orientator (programming language). that's the whole name. iconic behavior honestly. π
β¨ SYNOPSIS β¨
goo
g2c
that's it. that's the vibe. no flags, no drama. π
π DESCRIPTION π
So this manual page documents briefly the goo and g2c commands. briefly!! we're doing the short version bestie, the trailer not the whole movie. π
goo and g2c interactively evaluate statements in GOO, which is a dynamic, type-based, object-oriented language living in the same family as Dylan and Scheme. and the language itself? designed to be:
- simple
- productive
- powerful
- extensible
- dynamic
- efficient
- real-time
seven personality traits, all of them valid, all of them eating. π₯
Now here's the tea β β goo and g2c support two evaluation modes, and which one you get is controlled by the environment variable GOO_EVAL_MODE. the two commands are literally the same except for which mode is the default. twins. π
- ast mode β short for "abstract syntax tree", and this is the default for
goo. in this mode they directly interpret parsed goo expressions. - g2c mode β this is the default for
g2c. in this mode, instead of interpreting, they translate expressions into dynamically compiled C code. yes. C code. at runtime. main character energy fr fr. πβ¨
π OPTIONS π
None.
that's it. zero options. not a single flag. she simply does not take requests. π
πΈ USAGE πΈ
Typing goo or g2c at your shell will start up a goo read-eval-print loop (the classic REPL, we love her π«Ά). she accepts s-expressions and top-level commands commencing with a comma. so if you see a comma, that's a command, not a vibe.
here's the full list of available commands, no skips:
,quitβ Exit the program. bye bestie, love u, text me. π^C(control-C) β Invoke a recursive read-eval-print loop. yes, a REPL inside a REPL. she contains multitudes. π,g2c-evalβ Change to dynamic compilation evaluation.,ast-evalβ Change to ast evaluation.,in ,nameβ Change to module name.
ngl the ^C one is lowkey the funniest thing here, it's giving inception π
π ENVIRONMENT π
GOO_EVAL_MODEβ Determines evaluation mode, as documented in DESCRIPTION above. (go scroll up bestie, it's the ast vs g2c thing π)GOO_ROOTβ Installation root (/usron Debian systems); files needed at runtime can be found under${GOO_ROOT}/lib/goo. so if she can't find her stuff, this is where she's looking. π
π§ SEE ALSO π§
The full GOO reference manual lives at:
/usr/share/doc/goo/goo.pdf.gz/usr/share/doc/goo/manual/goomanual.html
go read it, it's giving β¨ extended universe β¨
π AUTHOR π
goo was written by Jonathan Bachrach. shoutout to the founder, the OG, the blueprint. π
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). generous!! we love a reusable license moment. π
so yeah. that's the whole page. goo and g2c, dated 2005-08-04, from the General Commands Manual for GOO(1) β and that's a wrap, bestie. go start a REPL and interpret some s-expressions. you got this. mwah. πβ¨π¦πΈππ
π«Ά
π¦ where this page comes from
- debian bookworm: goo 0.155+ds-4 Β· GPL-2.0-or-later
- debian trixie: goo 0.155+ds-6 Β· GPL-2.0-or-later
- ubuntu jammy: goo 0.155+ds-4 Β· GPL-2.0-or-later
- ubuntu noble: goo 0.155+ds-4 Β· GPL-2.0-or-later
- ubuntu questing: goo 0.155+ds-6
- ubuntu resolute: goo 0.155+ds-6build1 Β· GPL-2.0-or-later
- ubuntu stonking: goo 0.155+ds-6build1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms