Package kawa.standard

Class SchemeCompilation

All Implemented Interfaces:
SourceLocator, SourceLocator, Locator

public class SchemeCompilation extends Translator
  • Field Details

    • applyFieldDecl

      public static final Declaration applyFieldDecl
    • lambda

      public static final Lambda lambda
    • mlambda

      public static final Lambda mlambda
    • repl

      public static final kawa.repl repl
  • Constructor Details

  • Method Details

    • applyFunction

      public Expression applyFunction(Expression func)
      Description copied from class: Compilation
      A language-dependent "apply" function for generic application.
      Overrides:
      applyFunction in class Compilation
    • isApplyFunction

      public boolean isApplyFunction(Expression exp)
      Overrides:
      isApplyFunction in class Compilation
    • isSimpleApplyFunction

      public boolean isSimpleApplyFunction(Expression exp)
      Description copied from class: Compilation
      A simple apply function maps actual arguments to formals directly. E.g. no distribution of multiple values.
      Overrides:
      isSimpleApplyFunction in class Compilation
    • appendBodyValues

      public boolean appendBodyValues()
      Should the values of body/block be appended as multiple values? Otherwise, just return the result of the final expression.
      Overrides:
      appendBodyValues in class Translator
    • checkDefaultBinding

      public Expression checkDefaultBinding(Symbol symbol, Translator tr)
      If a symbol is lexically unbound, look for a default binding. Recognizes typename? as a type predicate, ->typename as a conversion function, plus whatever the overridden method handles.
      Overrides:
      checkDefaultBinding in class Translator
      Returns:
      null if no binding, otherwise an Expression.