Neko (programming language)

From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search
Paradigm object-oriented, structured, classless, scripting
Appeared in 2005
Developer Nicolas Cannasse
Stable release 1.8.0 (October 10, 2008)
Typing discipline dynamic
Major implementations Neko, haXe
OS Cross platform

Neko is a high-level dynamically typed programming language developed by Nicolas Cannasse as part of R&D efforts at Motion-Twin.



Neko has a compiler and a virtual machine with garbage collection. The compiler converts a source .neko file into a bytecode .n file that can be executed with the virtual machine. Since Neko is dynamically typed with no fixed classes, a developer only has to find the proper runtime mapping (as opposed to type mapping) so that code executes correctly. As the Neko FAQ puts it: " is easier to write a new or existing language on the NekoVM than it is for the CLR / JVM, since you don’t have to deal with a highlevel type system. Also, this means that languages can interoperate more easily since they only need to share the same data structures and not always the same types." [1]

Neko requires compilation before execution, like other scripting languages such as Groovy. Since Neko doesn't need to be interpreted at runtime, it executes faster.


Hello World

$print("Hello World!");

Type Conversions

$int("67.87"); // Converts string "67.87" to integer 67
$float(12345); // Converts integer 12345 to float 12345.0000
$string($array(1,2,3)); // Converts array [1,2,3] to string "[1,2,3]"


o = $new(null); // new empty object
o2 = $new(o); // makes a copy of o
o2 = $new(33); // if parameter is not an object, throw an exception
o.field = value; //sets field to value
o.field; // returns "field" value of object o


foo = function() {
o = $new(null);
o.x = 3; = function() { 
};; // prints 3

Function Scope

var x = 3;
f = function() {
x = 4;
f(); // print 3


var proto = $new(null); = function() { 
$print(this.msg) }
var o = $new(null);
o.msg = "hello";
$objsetproto(o,proto);; // print "hello"
$objsetproto(o,null); // remove proto; // exception

Web Functionality

Neko includes a mod_neko module for the Apache server. As such, it can process user input using GET and POST requests:

get_params = $loader.loadprim("mod_neko@get_params",0);
$print("PARAMS = "+get_params());

External links

fr:Neko (langage)


Personal tools

Served in 0.206 secs.