User:Kuriel/sandbox

Orb-Weaver is multipurpose virtual machine that can be implemented for different type of purpose, it is formerly designed to act as bridge between user application and system level APIs on programmable smart card device. the virtual machine itself is based on stack machine architecture, each variable are interpreted as dynamic object therefore it's type cannot be predicted during compile time, it is also equipped with heap allocator, garbage collector and exception handler. Orb-Weaver designed to increase the scalability factor in building application while allowing execution on constrained environment such as smart card, each variable cannot exceed more than 255 bytes (though on some device this limitation later increased to 64K). the total resources needed in order to run Orb-Weaver virtual machine is less 20Kb program size and around 2Kb RAM size (bigger RAM would automatically increase user heap space, increasing capacity for more and larger dynamic objects). Orb-Weaver virtual machine execute a user bytecodes compiled by an Orb-Weaver compiler, the compiler enable compilation of high level programming language based on Generic Purpose Language (which is derived from JavaScript subset), it works by encapsulating the low-level system APIs by wrapping it into an Orb-Weaver APIs which can be called from user level application, this kind of mechanism enable both user application and system APIs to works in loosely coupled environment. Porting Orb-Weaver virtual machine to different platform would require developer to port the core APIs