4 ms·
This is a great idea. Of course, it's not new. Looks like Wisp was first described in 2013, the same year SRFI 110 [1] describing largely the same idea was also
by bloppe 4y ago
This is a great idea. Of course, it's not new. Looks like Wisp was first described in 2013, the same year SRFI 110 [1] describing largely the same idea was also published. That SRFI helpfully includes a "related" section describing prior art and more detailed raionale / tradeoff analysis that some might find interesting.
[1]: https://srfi.schemers.org/srfi-110/srfi-110.html https://srfi.schemers.org/srfi-110/srfi-110.html
Everybody seems to want to describe these ideas as "Python-like". I personally think the JSON / YAML distinction is a more apt comparison, since the latter is a backwards-compatible "superset" of the former, and it's also a nod to the duality of data / code in Lisp :)
- kazinator 4y agoAttempts to have some alernative syntax for Lisp go back to the orignal Lisp project. In addition to the abandoned M-expressions, there is a reason why the updated version of Lisp was Lisp 1.5. There was a Lisp 2 in the 1960's: a project which added Algol-like syntax and semantics on top of Lisp, with faster numeric processing. https://en.wikipedia.org/wiki/LISP_2 https://en.wikipedia.org/wiki/LISP_2 In the 1970's, there was CGOL, which the Wikipedia article says "may be regarded as a more successful incarnation of some of the essential ideas behind the earlier LISP 2 project". https://en.wikipedia.org/wiki/CGOL https://en.wikipedia.org/wiki/CGOL Fast forwarding to modern times, in addition to Wisp and the SRFI, there are also David Wheeler's Sweet Expressions and other things of that ilk.
- bloppe 4y agoInteresting. For the record, that SRFI is David Wheeler's Sweet Expressions :) I feel like your use of the word "attempts" implies these ideas were unsuccessful, but I would disagree. Perhaps Lisp in general has not "succeeded" in that its original purpose (AI research) has entirely abandoned it, but I think the problem of low general-purpose adoption is overstated. In particular, since Lisp does not play nicely with the C calling convention, it's ability to integrate into polyglot systems has always been problematic, but I have confidence that the future will be better for FFI's in general, perhaps starting with WASM, which hopes to create a "universal ecosystem" of libraries (components). In theory, any program written in Lisp, or Rust, or Javascript, could import any package from PyPI by means of a WASM component. If this becomes reality, Lisp would be much more appealing to people currently put off by the languishing ecosystem and lack of integration, and may yet even have a fighting chance of reclaiming it's AI research credentials, simply by importing numpy :)
- ArneBab 4y agoWisp was developed alongside SRFI-110 for a while and branched to SRFI-119[1], because SRFI-110 got more and more complex to improve edge cases while the focus of wisp is to preserve the simplicity of lisp. For more details, see the history part on the website[2]. The background of calling it Python-like is that this is the motivation behind starting Wisp: » I love the syntax of Python, but crave the simplicity and power of Lisp.« [1]: https://srfi.schemers.org/srfi-119/srfi-119.html https://srfi.schemers.org/srfi-119/srfi-119.html [2]: https://www.draketo.de/software/wisp#sec-5 https://www.draketo.de/software/wisp#sec-5
- ArneBab 4y agoA description like JSON / YAML with YAML as proper superset is close, yes, since you can embed arbitrary parenthesized Scheme in SRFI-110 (readable), SRFI-119 (wisp) and SRFI-49.