Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

Support Mental Health. Or I'll kill you.


devel / comp.lang.scheme / [ANN] LIPS Scheme version 1.0.0-beta.15

SubjectAuthor
o [ANN] LIPS Scheme version 1.0.0-beta.15Jakub T. Jankiewicz

1
[ANN] LIPS Scheme version 1.0.0-beta.15

<0d6f0d9b-2045-4262-9634-c1e4dc8be5f5n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=82&group=comp.lang.scheme#82

  copy link   Newsgroups: comp.lang.scheme
X-Received: by 2002:a05:6214:c66:: with SMTP id t6mr10671700qvj.51.1635724110548;
Sun, 31 Oct 2021 16:48:30 -0700 (PDT)
X-Received: by 2002:a05:6808:1a14:: with SMTP id bk20mr11740525oib.52.1635724110332;
Sun, 31 Oct 2021 16:48:30 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.scheme
Date: Sun, 31 Oct 2021 16:48:30 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=185.129.114.198; posting-account=vNJYPwoAAADS62q2La3KfvKT1ecTRahv
NNTP-Posting-Host: 185.129.114.198
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0d6f0d9b-2045-4262-9634-c1e4dc8be5f5n@googlegroups.com>
Subject: [ANN] LIPS Scheme version 1.0.0-beta.15
From: jcubic.jj@gmail.com (Jakub T. Jankiewicz)
Injection-Date: Sun, 31 Oct 2021 23:48:30 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 36
 by: Jakub T. Jankiewicz - Sun, 31 Oct 2021 23:48 UTC

The new version of the LIPS Scheme got released.

https://github.com/jcubic/lips

The most important features:
* Binary Compiler (I call it dumb because it's just a form of lisp data serialization) that speeds up loading standard library that is written in Scheme in Browser and CLI.
* Lists are now JavaScript iterators, which allows making an interesting mix of JavaScript and lisp code, like:

(Array.from '(1 2 3))
;; => #(1 2 3)

Array.from is just a JavaScript function that is called from Scheme, that works with iterators.

* Also a lot of bug fixes.

If you don't know LIPS, the main features are:

* Great integration with JavaScript, it should work with any existing JavaScript library.
* It supports automatic async..await which makes code shorter than equivalent JavaScript. But you still can quote the promises and use them as values.
* Built-in SXML support that allows creating Preact (React was not tested) applications in S-Expression syntax instead of JSX.
* It has a built-in help system like ELisp and web REPL show tooltips with help messages.
* It supports literals regular expressions, right now have a final syntax same as in Gauche.
* It has a feature that I've called syntax extensions that allow to extend the parser at runtime. This feature was used to implement vector and object literals.
* It also has a feature that allows custom data types (like records or classes that are just JavaScript function constructors) to have the same representing in code and when printed. So you don't lose homoiconic when creating a custom syntax extension.
* It supports lisp and hygienic macros (syntax rules have a few known bugs that I plan to fix in version 1.1 when introducing expansion time), this is the most unit tested feature of the language (that is probably most complicated to make right).
* It implements a full numerical tower (not fully tested).
* It has a few functional helper procedures inspired by the RamdaJS library, like curry, pipe, or compose.

The most up to date documentation can be found on a Wiki
https://github.com/jcubic/lips/wiki/v1.0.0

Another interesting usage is a bookmark that will create REPL on any website (that doesn't implement CSP). https://lips.js.org/#bookmark

The most critical missing features are:
* TOC, call/cc, and R7RS libraries.
Those are on my TODO list for version 1.0.

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor