Not logged in

Jsi is a javascript interpreter with:

Jsi is designed to be simple embed into a C application.

The main enhancement is functions that support typed parameters and default values, eg.

function foo (n:number, str:string=''):number { return n+str.length; }

The addition of types not only simplifies code development and maintenance, it makes creating C-extensions almost trivial.


See the download page.


Aside from Reference, the Index provides a list of all topics organized by category.

Following is a list of selected topics:

Name Description
Amalgamation Building-in Jsi using file: jsi.c
Build Configuring and building jsish
Debug Using debuggers and directives
Functions Functions with argument types and/or defaults
Packages Packages for both javascript and binary
Modules Javascript modules
System Jsi built-in methods
Interp Context for javascript execution
Info Interpreter introspection
Filesystem File, Channel, Zvfs, exec, console, etc...
Websocket Websocket extension
Sqlite Sqlite database extension
MySql MySql database extension
Socket Socket (TCP and UDP) extension
Zvfs Zipping files and Zero Install application
Jsi-Lite C-code usable without an interpreter
Carray Simplified C structs to scripting and/or Sqlite
Extending Creating user defined C-extensions
Threads Threads and mutex
Profile Execution profile and code coverage
Syntax Jsi language syntax