language · language ·

Using and external declarations

using imports a dotted package path. external makes an eligible top-level declaration visible outside its package.

cpuexternallanguagepackagesusingyeho

Use using for a dependency you actually call and external only for the smallest intentional package API.

using package.path
external thing Name { ... }
external Function(...) { ... }

Status: stable

Complete program

Import real packages and expose a helper with external. The export spelling is unavailable.

cpu · language · type checked

using dolphin.math
using dolphin.spatial3d

external DistanceToGoal(Vector3 position) -> float
{
    return DolphinDistance3(position, Vector3(3.0, 4.0, 0.0))
}
Console.Log(Text.From(DistanceToGoal(Vector3(0.0, 0.0, 0.0))))
project.mech
manifestVersion = "2"
package = "api.example.language__using_external"
version = "0.1.0"
languageEdition = "yeho-core-2026.1"

[app]
kind = "headless"

[[dependencies]]
package = "dolphin.math"
version = "0.1.0"
path = "../../../dolphin/packages/math"

[[dependencies]]
package = "dolphin.spatial3d"
version = "0.1.0"
path = "../../../dolphin/packages/spatial3d"
Notes and source

external applies only to top-level type, function, extern, or compute declarations.

The old export spelling is rejected. Use external.

yeho/parser_core.cpp run and parseTopLevelCallableOrStatement; conformance packages.using-external