Documentation
¶
Overview ¶
Package stdlib describes compiler-known portable and platform packages. Definitions are semantic contracts; backends lower their intrinsic IDs to target APIs without leaking those APIs into the TypeRB source language.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsReservedPath ¶
func LookupReceiverMethod ¶
func LookupRuntimeExport ¶ added in v0.1.9
func LookupRuntimeExport(name string) (*Package, RuntimeExport, bool)
LookupRuntimeExport returns the compiler-owned package that declares name. Inferred library result types may use these declarations internally, while source annotations still require an explicit import.
Types ¶
type Package ¶
type Package struct {
Path string
ModulePath string
RuntimeAlias string
RuntimeExports []RuntimeExport
Source string
Kind Kind
Internal bool
Targets map[string]bool
NativeSyntax bool
TypeProvider string
Symbols map[string]Symbol
}
func RuntimeDependenciesForType ¶ added in v0.1.5
RuntimeDependenciesForType returns compiler-owned modules whose runtime declarations are named by a library intrinsic's result type. Source code still needs an explicit import to refer to those declarations directly.
func (*Package) DefaultAlias ¶
type RuntimeExport ¶ added in v0.1.5
type Symbol ¶
type Symbol struct {
Name string
Intrinsic string
// RuntimeIndependent marks an intrinsic that is fully lowered by every
// backend even when its public package also provides a source wrapper.
RuntimeIndependent bool
RequiredSymbols []string
TypeParameters []string
EqualityTypes []types.Type
Receiver types.Type
ReceiverMutable bool
Parameters []Parameter
Return types.Type
Variadic bool
Inference string
RuntimeDependencies []types.Type
}
func Instantiate ¶
Instantiate substitutes compiler-owned type parameters inferred from call arguments. The first occurrence fixes a type variable; later occurrences are checked against that substitution by the ordinary checker.
func ReceiverMethods ¶ added in v0.1.6
ReceiverMethods returns the portable receiver methods available for a checked type. Language tooling uses the same contracts as the checker so completion cannot advertise target-native or otherwise invalid members.