You can edit almost every page by Creating an account. Otherwise, see the FAQ.

Jsish

From EverybodyWiki Bios & Wiki

Jsi
ParadigmMulti-paradigm: JavaScript, scripting (glue language), imperative (procedural, prototype-based, object-oriented), functional
DeveloperPeter MacDonald
First appeared2015; 9 years ago (2015)
Stable release
2.6[1] / October 26, 2018; 6 years ago (2018-10-26)[2]
Typing disciplinedynamic, strong, duck
Implementation languageC99, or C++
OSCross-platform
LicenseMIT License, libraries are various [1]
Filename extensions.jsi
Websitejsish.org/fossil/jsi (archived)
{{URL|example.com|optional display text}}
Influenced by
Tcl, SQLite, Fossil, WebSocket

Search Jsish on Amazon.

JavaScript Interpreter SHell (Jsish or Jsi for short) is a scripting language designed for use in embedded systems.

It is a language used primarily by applications written in C or C++ using GNU tool-chains. MinGW provides Windows compatibility.

Jsi code compiles as either C99 or C++, with the C++ support being native instead of "extern C".

History[edit]

Jsi was created as an embedded application replacement for Tcl and JimTcl.[3] Its main goal is to provide embedded scripting using a mostly standard syntax (JavaScript), as opposed to the idiosyncratic ones used in Tcl, Lua, and Python. A secondary goal is data compatibility with Web browsers using JSON. Speed is not a major goal.

Life for Jsi started as a fork of the quad-wheel interpreter.[4] Eventually, most of the major internal features of Tcl were added. The current implementation is nearly 10 times the size of the original, and very little of the original code remains.

Features[edit]

Jsi comes with builtin support for SQLite, WebSocket,[5] and self-hosting ZIP file-systems. The jsish executable is unusual in that it integrates a self-mounting file system containing builtin utilities and applications. These include Debugger and Web-Server; the latter is used to provide web user-interfaces for Debugger and SQLite. Each of these applications can be accessed via jsish command-line arguments.

Jsi is highly independent:

  • The configuration script for Jsi is itself written in Jsi. To achieve this, a minimal standalone jsish is first built to bootstrap configuration.
  • An amalgamated source file is provided to support trivial integration into existing applications.
  • The jsish binary can be built and statically linked against musl to produce a standalone with no external dependencies.

Scripts and extensions are unusually robust due to functions that support duck typed-parameters. The implementation is mature and has a rich and resilient development environment that includes integrated logging, asserts and strict mode.

As of version 2.4, released in December 2017, Jsi is considered to be feature-stable.

ECMAScript[edit]

Jsi implements version 5.1.[6] of the ECMAScript standard, with the following deviations:

  • No automatic semicolon insertion.
  • Empty array/object elements are not supported.
  • It is an error to use return inside of a try/catch body.
  • The Error object is unimplemented: the argument to catch() is just a string.
  • The Date object is unimplemented: use strftime/strptime.
  • The value of typeof [] is "array" instead of "object".
  • UTF is currently not supported.

There is one major extension: function definitions can use types and defaults.

See also[edit]


Other articles of the topic Computer programming : Software release life cycle, Software developer, Programmer
Some use of "" in your query was not closed by a matching "".Some use of "" in your query was not closed by a matching "".

References[edit]

  1. "Tags". Retrieved 14 November 2018.
  2. "1 check-in tagged with v2.6". Retrieved 14 November 2018.
  3. "Jim Tcl". Retrieved 2017-12-01.
  4. "Quadwheel". Retrieved 2017-12-01.
  5. "LibWebsockets". Retrieved 2017-12-01.
  6. "ECMAScript 5.1". Retrieved 2017-12-01.

External links[edit]

  • Lua error in Module:Official_website at line 90: attempt to index field 'wikibase' (a nil value).
  • jsish on GitHub


This article "Jsish" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Jsish. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.