Package avail.interpreter.primitive.methods

Types

Link copied to clipboard
object P_AbstractMethodDeclaration : Primitive

Primitive: Declare method as abstract. This identifies responsibility for definitions that want to be concrete.

Link copied to clipboard
object P_AbstractMethodDeclarationForAtom : Primitive

Primitive: Declare method as abstract. This identifies responsibility for definitions that want to be concrete.

Link copied to clipboard
object P_AddSemanticRestriction : Primitive

Primitive: Add a type restriction function.

Link copied to clipboard
object P_AddSemanticRestrictionForAtom : Primitive

Primitive: Add a type restriction function.

Link copied to clipboard
object P_Alias : Primitive

Primitive: Alias a name to another name.

Link copied to clipboard
object P_BundleHasDefinitionForArgumentTypes : Primitive

Primitive: Does the method have a unique definition for the specified tuple of parameter types?

Link copied to clipboard
object P_BundleHasRestrictions : Primitive

Primitive: Answer whether precedence restrictions have been defined (yet) for this bundle.

Link copied to clipboard
object P_BundleMessageParts : Primitive

Primitive: Answer a message bundle's message parts (a tuple of strings).

Link copied to clipboard
object P_BundleParametersCount : Primitive

Primitive: Answer the number of arguments expected by the specified method.

Link copied to clipboard
object P_BundleRestrictions : Primitive

Primitive: Answer the current precedence restrictions for this bundle.

Link copied to clipboard
object P_BundleSignatures : Primitive

Primitive: Answer a set of all currently defined definitions for the true message name represented by bundle. This includes abstract signatures and forward signatures.

Link copied to clipboard
object P_CopyMacros : Primitive

Primitive: Copy all macros from the first A_Atom's A_Bundle into the second A_Atom's A_Bundle. Fail if the second bundle has an incompatible signature, or if there are duplicates with the same signature. Only copy the macros that are visible in the current module, or were defined by the system.

Link copied to clipboard
object P_DefinitionBodySignature : Primitive

Primitive: Answer this definition'sbody's type.

Link copied to clipboard
object P_DefinitionForArgumentTypes : Primitive

Primitive: Lookup the unique definition in the specified message bundle'smethod by the tuple of parameter types.

Link copied to clipboard
object P_DescribeNoncanonicalMessage : Primitive

Primitive: Answer a string describing why the given string is unsuitable as a message name. If the given string is actually suitable, answer the empty string.

Link copied to clipboard
object P_ExistsMethodWithName : Primitive

Primitive: Does a method exist with the specified true name?

Link copied to clipboard
object P_ForwardMethodDeclaration : Primitive

Primitive: Forward declare a method (for recursion or mutual recursion).

Link copied to clipboard
object P_ForwardMethodDeclarationForAtom : Primitive

Primitive: Forward declare a method (for recursion or mutual recursion).

Link copied to clipboard
object P_GrammaticalRestriction : Primitive

Primitive: Message precedence declaration with tuple of sets of messages to exclude for each argument position. Note that the tuple's elements should correspond with occurrences of underscore in the method names, not with the (top-level) arguments of the method. This distinction is only apparent when guillemet notation is used to accept tuples of arguments.

Link copied to clipboard
object P_GrammaticalRestrictionFromAtoms : Primitive

Primitive: Message precedence declaration with tuple of sets of messages to exclude for each argument position. Note that the tuple's elements should correspond with occurrences of underscore in the method names, not with the (top-level) arguments of the method. This distinction is only apparent when guillemet notation is used to accept tuples of arguments.

Link copied to clipboard
object P_MessageBundleName : Primitive

Primitive: Answer the true name associated with the given message bundle. This is generally only used when Avail code is saving or loading Avail code in the object dumper / loader.

Link copied to clipboard
object P_MethodDeclarationFromAtom : Primitive

Primitive: Define a concrete method implementation.

Link copied to clipboard
object P_MethodDefinitionBody : Primitive

Primitive: Answer this method signature'sbody.

Link copied to clipboard
object P_MethodDefinitions : Primitive

Primitive: Answer the definitions of the specified method.

Link copied to clipboard
object P_MethodFromName : Primitive

Primitive: Answer the method associated with the given true name.

Link copied to clipboard
object P_MethodNameContainsGroups : Primitive

Primitive: Treating the argument as a method name, answer whether it contains groups.

Link copied to clipboard
object P_MethodNameParametersCount : Primitive

Primitive: Treating the string argument as a method name, answer the number of arguments expected for a valid send of the name.

Link copied to clipboard
object P_SealMethod : Primitive

Primitive: Seal the named method at the specified signature. No further definitions may be added below this signature.

Link copied to clipboard
object P_SealMethodByAtom : Primitive

Primitive: Seal the named method at the specified signature. No further definitions may be added below this signature.

Link copied to clipboard
object P_SealMethodsAtExistingDefinitions : Primitive

Primitive: Seal the namedA_Method at each existing definition. Ignore macros and forward definitions.

Link copied to clipboard
object P_Seals : Primitive

Primitive: Answer all seals placed upon the specified method.

Link copied to clipboard
object P_SemanticRestrictions : Primitive

Primitive: Answer a tuple of restriction functions that would run for a call site for the specified method and tuple of argument types.

Link copied to clipboard
object P_SimpleLexerDefinitionForAtom : Primitive

Primitive: Simple lexer definition. The first argument is the lexer name (an atom). The second argument is a (stable, pure) filter function which takes a character and answers true if the lexer should run when that character is encountered in the input, otherwise false. The third argument is the body function, which takes a character, the source string, and the current (one-based) index into it. It may invoke a primitive to accept zero or more lexings and/or a primitive to reject the lexing with a diagnostic message.

Link copied to clipboard
object P_SimpleMacroDeclaration : Primitive

Primitive: Simple macro definition. The first argument is the macro name, and the second argument is a tuple of functions returning ⊤, one for each occurrence of a section sign (§) in the macro name. The third argument is the function to invoke for the complete macro. It is constrained to answer a method.

Link copied to clipboard
object P_SimpleMacroDefinitionForAtom : Primitive

Primitive: Simple macro definition. The first argument is the macro name, and the second argument is a tuple of functions returning ⊤, one for each occurrence of a section sign (§) in the macro name. The third argument is the function to invoke for the complete macro. It is constrained to answer a phrase.

Link copied to clipboard
object P_SimpleMethodDeclaration : Primitive

Primitive: Add a method definition, given a string for which to look up the corresponding atom in the current module and the function which will act as the body of the method definition. An optional (tuple of size 0 or 1) styling function can also be provided.