unexported

A lower-case name from another package is used.

compile error, shown by synod check.

Capitalization has one meaning: exported. Only names that start upper-case (phrase heads, record types, record fields and node fields) can be used outside the package that declares them. To share a name, spell it upper-case where it is declared.

Example

Check this program to see the diagnostic.

# package p
use example.com/explain/q

define Go
  result (q.secret 1)
# package q
define secret [n: number]
  result n

Diagnostic

p/p.synod:5:13: error[unexported]: "q.secret" is not exported by q
  hint: only names starting upper-case are visible outside q

Fix

Export the phrase by giving it an upper-case head.

# package p
use example.com/explain/q

define Go
  result (q.Secret 1)
# package q
define Secret [n: number]
  result n