XU XUv0.8.8
中文

Docs / Language

Structure

A directory is a package: #util loads util/*.xu (not recursive), else util.xu. One package per directory. Only the project directory may use @main. Export with pub.

#path is file-scoped: declarations are package-wide, but each file must import to use qualified names.

Platform sources use header tags $macos / $linux / $windows / $unix, not _linux.xu suffixes.

Top level allows only: package decl and $ tags, # imports, const, struct/struct@/enum, fn. No globals, no top-level statements.

Package declarations and imports use slash paths: @team/util, #net/http. Domain paths preserve dots and use quoted declarations such as @"example.com/team/my-lib"; imports require an explicit alias. A directory project requires xu.xun; module identity and package identity are distinct.

Module manifests and dependencies