Monkey is an actively used programming language created in 2011. Monkey X is a high-level programming language designed for video game development for many different platforms, including desktop and laptop computers, mobile phones, tablets, and video game consoles. The language itself is an object-oriented dialect of BASIC, which the compiler translates into native source code for several target platforms. The resulting code is then compiled normally. Read more on Wikipedia...
- Monkey ranks in the top 10% of languages
- the Monkey wikipedia page
- Monkey first appeared in 2011
- file extensions for Monkey include monkey and monkey2
- Have a question about Monkey not answered here? Email me and let me know how I can help.
Example code from Linguist:
'Showcases use of Lambda functions and Generics. #Import "<std>" Using std.. Function Main() Local testStack := New Stack< MyObject > For Local n := 1 To 20 Local newItem := New MyObject newItem.depth = Rnd( 0, 100 ) testStack.Push( newItem ) Next testStack.Sort( Lambda:Int( x:MyObject,y:MyObject ) Return x.depth<=>y.depth End ) For Local n := Eachin testStack Print( n.depth ) Next End Struct MyObject Field depth := 0 End
Example code from Wikipedia:
' The 'Player' class, as referenced previously (Placement does not matter): Class Player ' Declare all of our fields (Class-local variables): ' These two variables will act as our position on the screen. ' (Alternatively, an 'Array or third-party class could be used) Field x:Float, y:Float ' This will be a reference to an 'Image' object we'll specify. Field image:Image ' Constructor(s): ' Overloading 'New' mainly works the same way as constructors in other languages. ' Returning is generally not recommended for constructors. Method New(img:Image, x:Float=100, y:Float=100) ' Due to the arguments using the same names, 'Self' ' is required to resolve our fields' names: Self.image = img Self.x = x Self.y = y End ' Methods: ' This will be our main render-method for this object: Method Draw:Void() ' Draw the 'image' object to the screen using our 'x' and 'y' fields. DrawImage(image, x, y) ' Returning in a 'Void' function is not required. (Some still recommend it) Return End End
Last updated June 22nd, 2020