Pika, named after the North American lagomorph of the same name is a dynamic, object-oriented programming language. It has a friendly, easy to use syntax. Code is executed inside a stack-oriented byte-code based virtual machine. The interpreter can be embedded making Pika an ideal extension language for native C++ applications including video games. Pika’s command-line interpreter can use the built-in REPL, allowing interactive programming sessions. The runtime environment is sandboxed with automatic memory management and an incremental mark and sweep garbage collector.

Features Include
  • Class based object system
  • Incremental mark and sweep garbage collector
  • Properties with get & set accessor functions
  • Packages
  • Native API for binding with C/C++
  • Unified import system works with scripts and native C/C++ modules
  • Exception handling (trycatchfinally and raise)
  • Block finalizers for loops, functions, etc …
  • First class functions and Closures
  • Lambda expressions: (x, y)=> x + y
  • Anonymous function expressions
  • Default values for functions
  • Variable argument functions
  • Multiple return and yield values
  • Keyword arguments
  • Coroutines (aka cooperative threads)
  • Generators (light weight coroutines).
  • Annotation syntax for declarations
  • Mersenne Twister based pseudorandom number generator.