gooo A small language, running real functions.

THE GO PORTS LAB / EXPERIMENTAL

Try real Gooo ports.

Gooo is an experimental language for describing what programs should do and inspecting how they are built and run. Enter an input to try its Go library ports.

Inspect pasted text to see code point positions, letters, decimal digits, whitespace, and UTF-8 / UTF-16 lengths together.

Find a literal phrase to get its first UTF-8 byte position and non-overlapping count from a Gooo program.

Inspect a UUID parse to see success, the returned UUID and error together, including partial values on failure.

Plan a crop to clip requested coordinates to supplied bounds, including exact 64-bit coordinates and empty regions.

Try a small Gooo program to change two inputs, read the source, and download the project to edit locally.

Compare Gooo with generated Go in four verified, read-only source examples.

Edit Gooo and generate Go with the experimental browser compiler. Generates code without running it; first load is about 22 MB.

Loading WebAssembly…

Precompiled Gooo → Go → WebAssembly.
Runs in this browser. No model needed.

Report a problem

21 functions · actual compiled code

Look up the standard description of an HTTP status code.

Input domain int64

-9223372036854775808 to 9223372036854775807

Use a decimal integer. Unknown status codes return an empty string.

or press Enter

Result

NOT RUN

Your result appears here

Choose an input, then run the function.

Gooo packagego/net/http

MAKE IT CHECKABLE

Compare with the Go reference.

Run the bundled cases through this same WebAssembly program. Expected results come from the pinned Go reference. Invalid-input checks are counted separately.

Checks have not been run in this browser.

MEET THE LANGUAGE

What is Gooo?

Gooo names data types as entity declarations and typed operations as activity declarations. Explicit IDs connect declarations to generated code and execution records.

package checker
namespace checker
import utf8 "go/unicode/utf8"
entity Integer id "gooo://std/integer"
entity Boolean id "gooo://std/boolean"
activity Valid(Integer) -> Boolean id "gooo://example/checker/valid" computes `return utf8.ValidRune(input)`

Valid takes an Integer and returns a Boolean. Its computes body calls the imported Unicode port. The complete guide includes the workspace, inputs, and saved replay.

For a graphics example, read how subpixel bounds become pixel coordinates, including empty selections and the original Go ceiling overflow.

For UUID format checking, run the Google UUID inspector locally to see the original format error and UTF-8 byte length. Download its fixed source and follow the guide; setup needs Git and Go. This example is not included in the browser tools.

FOLLOW THE SOURCE

From source to this build.

The calculations are written in Gooo and compiled ahead of time. This demo runs those functions; it does not compile arbitrary Gooo source.

These are selected function ports, not complete HTTP, Unicode, byte, color, or time packages. Passing finite reference cases is evidence for those cases, not a proof of full compatibility.

Build records describe the published artifact. The check button above records a fresh observation in your browser.

For a fixed snapshot, choose an experimental release. Each release lists its included tools, source, execution evidence, and standalone browser download. This page may use a newer revision.