Next: , Previous: Declarations, Up: Syntax


3.1.3 Object creation

3.1.3.1 Explicit creation

Objects are created using the make keyword:

     var = make Class(param1, param2, ...);

make returns the object itself, which can be used in method calls. The parameters passed into make will be passed to the constructor.

3.1.3.2 Implicit creation

Objects are implicitly created when operators are run upon them (for instance, adding two numbers). The supported operators are listed under the Operators section above.

3.1.3.3 Map/Reduce

Kite has built-in support for the map and reduce operators (<- and <|, respectively). Map applies a method to each element of an object (by default, any object that implements the iterator methods), while reduce constructs a single new object from another object using a method. For example:

     method mapping(a) [
         (a + 1);
     ];
     method reducing(a, b) [
         (a + b);
     ];
     
     ([1,2,3]<-mapping)|print;
     ([1,2,3]<|reducing)|print;

which outputs:

     [2,3,4]
     6