Not logged in

Jsi is a small javascript interpreter for embedded-C development.

Unlike C++ javascript-centric solutions such as Node-js, Jsi is a C-centric glue language based on the venerable Tcl API, including:

Jsi functions can also have types and defaults, eg:

function foo (a:number, b:string=''):number {
   return a+1;

While incompatible with Ecmascript, types can greatly improve maintainability for embedded development.

Following is a list of selected topics from Index:

Name Description
Reference A generated, single page reference for Jsi
Amalgamation Including Jsi via single source file: jsi.c
Functions Argument types and defaults values
Packages Packages, modules and demand loadable code
Debugger Debugging scripts
Profile Execution profile and code coverage
System Jsi built-in methods
Interp Context for javascript execution
Info Interpreter introspection
Filesystem File, Channel, Zvfs, exec, console, etc...
Sqlite Sqlite database extension
MySql MySql database extension
Websocket Websocket extension
Socket Socket (TCP and UDP) extension
Zvfs Zipping files and Zero Install application
Jsi-Lite C-code usable without an interpreter
Jsi_DbQuery Sqlite-C development simplified
User Extensions Creating user defined C-extensions
Modules On-demand load for source and extensions
Threads Threads and mutex