Packages

package nvm

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. abstract class AbstractScalaInstruction extends TokenHolder
  2. final class Activation extends api.Activation
  3. case class AnonymousCommand (procedure: Procedure, formals: Array[Let], lets: List[LetBinding], locals: Array[AnyRef]) extends AnonymousProcedure with api.AnonymousCommand with Product with Serializable
  4. sealed trait AnonymousProcedure extends AnyRef
  5. case class AnonymousReporter (body: Reporter, formals: Array[Let], lets: List[LetBinding], locals: Array[AnyRef]) extends AnonymousProcedure with api.AnonymousReporter with Product with Serializable
  6. class Argument extends api.Argument

    Passes arguments to extension primitives.

  7. class ArgumentTypeException extends RuntimePrimitiveException
  8. trait AssemblerAssistant extends AnyRef
  9. abstract class Command extends Instruction
  10. case class CompilerFlags (foldConstants: Boolean = true, useGenerator: Boolean = Version.useGenerator, useOptimizer: Boolean = Version.useOptimizer, optimizations: Seq[String] = Seq.empty[String]) extends Product with Serializable
  11. trait CompilerInterface extends AnyRef
  12. case class CompilerResults (proceduresMap: ListMap[String, Procedure], program: Program) extends Product with Serializable
  13. class ConcurrentJob extends Job
  14. final class Context extends api.Context
  15. trait CustomAssembled extends AnyRef
  16. trait CustomGenerated extends AnyRef
  17. class DefaultCompilerServices extends CompilerServices
  18. abstract class EngineException extends LogoException
  19. class ExclusiveJob extends Job
  20. class ExtensionContext extends api.Context
  21. trait ExtensionManager extends api.ExtensionManager
  22. trait FileManager extends AnyRef
  23. trait GeneratorInterface extends AnyRef
  24. class HaltException extends LogoException
  25. class ImportHandler extends LiteralImportHandler
  26. abstract class Instruction extends AbstractScalaInstruction
  27. abstract class Job extends AnyRef
  28. trait JobManagerInterface extends AnyRef
  29. trait JobManagerOwner extends AnyRef
  30. trait LabInterface extends AnyRef
  31. case class LetBinding (let: Let, value: AnyRef) extends Product with Serializable
  32. class LiftedLambda extends Procedure
  33. case class MutableDouble (value: Double) extends Product with Serializable
  34. case class MutableInteger (value: Int) extends Product with Serializable
  35. case class MutableLong (value: Long) extends Product with Serializable
  36. class NetLogoStackOverflow extends EngineException
  37. class NonLocalExit extends RuntimeException
  38. class Procedure extends FrontEndProcedure
  39. trait Pure extends AnyRef

    Reporters should implement the Constant interface (which extends Pure) if they are truly constant, i.e., _constdouble, _conststring.

    Reporters should implement the Constant interface (which extends Pure) if they are truly constant, i.e., _constdouble, _conststring.

    They should implement the Pure interface if they are constant-preserving (i.e. the result is constant when all of their args are constant.)

    The main point here is that this distinction allows us to compute some values at compile-time, rather than run-time.

    Specifically, PureConstantOptimizer looks for reporters that are entirely pure. A reporter is "entirely pure" if it implements Pure, and all of it's children are "entirely pure". Entirely pure reporters get evaluated at compile time, and replaced with the appropriate constant reporter.

    "Pure" reporters *must* not depend on "context", "workspace", "world", etc.

  40. trait Referencer extends Command
  41. abstract class Reporter extends Instruction
  42. class RuntimePrimitiveException extends EngineException with StackTraceBuilt
  43. trait StackTraceBuilt extends AnyRef
  44. abstract class Thunk [+T] extends AnyRef
  45. abstract class Tracer extends AnyRef
  46. trait Workspace extends api.Workspace with ImporterUser with JobManagerOwner with CompilerServices with RandomServices
  47. class WrappedExtensionException extends EngineException with StackTraceBuilt
  48. class WrappedLogoException extends EngineException with StackTraceBuilt

Value Members

  1. object AbstractScalaInstruction
  2. object AnonymousProcedure
  3. object ArgumentTypeException extends Serializable
  4. object EngineException extends Serializable
  5. object LabInterface
  6. object Procedure
  7. object StackTraceBuilder

    A stack trace is displayed to the user when an error occurs in running code.

    A stack trace is displayed to the user when an error occurs in running code. Example:

    division by zero error while observer running / called by plot 'plot 1' setup code called by RESET-TICKS called by procedure SETUP called by Command Center

    Entries in stack traces can come from different places.

    In the example, - "/" is the individual primitive in which the error occurred - "plot 'plot 1' setup code" is an anonymous procedure in a plot - "RESET-TICKS" is not a procedure, but a command that can trigger the execution of procedures (see also tick, setup-plots, update-plots) - "SETUP" is an ordinary procedure - "Command Center" is the display name of the dummy top level procedure wrapped around the user's code.

Ungrouped