Re: State of Scheme in the Browser Lassi Kortela (31 Jul 2019 16:36 UTC)
Re: State of Scheme in the Browser John Cowan (31 Jul 2019 18:46 UTC)
Re: State of Scheme in the Browser Lassi Kortela (31 Jul 2019 18:55 UTC)
Re: State of Scheme in the Browser John Cowan (31 Jul 2019 19:20 UTC)
Re: State of Scheme in the Browser Lassi Kortela (31 Jul 2019 20:14 UTC)
Re: State of Scheme in the Browser Amirouche Boubekki (31 Jul 2019 20:49 UTC)
Re: State of Scheme in the Browser John Cowan (31 Jul 2019 20:51 UTC)
Re: State of Scheme in the Browser Lassi Kortela (31 Jul 2019 20:55 UTC)
Re: State of Scheme in the Browser John Cowan (31 Jul 2019 21:00 UTC)
Re: State of Scheme in the Browser Lassi Kortela (31 Jul 2019 21:21 UTC)
Re: State of Scheme in the Browser John Cowan (31 Jul 2019 22:03 UTC)
Re: State of Scheme in the Browser Lassi Kortela (01 Aug 2019 09:40 UTC)
Re: State of Scheme in the Browser Amirouche Boubekki (01 Aug 2019 11:25 UTC)
Re: State of Scheme in the Browser John Cowan (01 Aug 2019 14:18 UTC)
Re: State of Scheme in the Browser Lassi Kortela (02 Aug 2019 10:24 UTC)
Re: State of Scheme in the Browser Amirouche Boubekki (02 Aug 2019 19:19 UTC)
Re: State of Scheme in the Browser Lassi Kortela (02 Aug 2019 20:42 UTC)
Re: State of Scheme in the Browser Arthur A. Gleckler (02 Aug 2019 00:55 UTC)
Re: State of Scheme in the Browser John Cowan (02 Aug 2019 01:17 UTC)
Re: State of Scheme in the Browser Arthur A. Gleckler (02 Aug 2019 01:28 UTC)
Re: State of Scheme in the Browser John Cowan (02 Aug 2019 02:28 UTC)
Re: State of Scheme in the Browser Lassi Kortela (01 Aug 2019 09:48 UTC)

Re: State of Scheme in the Browser Lassi Kortela 31 Jul 2019 20:55 UTC

>>> Would it be worth specifying a version of Scheme without tail calls and
>>> continuations (I know..) that maps easily to JavaScript?
>>
>> A possible place to start is <https://bitbucket.org/cowan/r7rs-wg1-infra/src/default/BottomScheme.md>, which is only a spec at present (you can ignore the implementation section).  You could add things to it.
>
> A subset of Scheme that does not have at least delimited continuation
> is a step backward as it would require the developer to rely on
> callback-based code.

Humans would not actually write source code in this language. It would
just be a "normal form" emitted by classical Scheme compilers. Similar
to how some C compilers like LLVM convert code to a single-assignment
form for convenience. It gives compilers a common target to aim for.

Compilers would do the difficult work of translating tail calls to this
form, but if a common intermediate representation is found, it would be
possible to easily write common tools to handle it (stuff like
converting from Scheme syntax to JS syntax, bundling many scripts to one
like webpack or rollup, dependency tracking and bundling, etc.)