New

From MiniScript Wiki
Revision as of 03:24, 21 May 2026 by JoeStrout (talk | contribs) (fix syntax)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

new is a keyword unary operator used to create a subclass or instance. It is part of MiniScript's support for object-oriented programming.

new acts on a map, and returns a new map with __isa set to the operand.

In MiniScript, the new keyword is a unary operator used for object-oriented programming. It creates either:

a new instance of an object, or a subclass derived from another map/object.

When new is applied to a map, it returns a fresh map whose __isa field points to the original operand. That creates prototype-style inheritance.

Animal = {}
Animal.speak = function
    print "..."
end function

Dog = new Animal

Dog.speak = function
    print "Woof!"
end function

myDog = new Dog
myDog.speak

Dog.__isa == Animal
myDog.__isa == Dog

This inheritance chain lets MiniScript look up methods and properties through parent objects automatically.