git @ Cat's Eye Technologies Robin / f6b03f3
Merge branch 'develop-0.5' into env-data-map Chris Pressey 5 years ago
4 changed file(s) with 31 addition(s) and 2 deletion(s). Raw diff Collapse all Expand all
00 History of Robin
11 ================
22
3 Robin 0.5 (Sep 2019)
3 Robin 0.5 (Late Sep 2019)
44 ---------
55
66 * The `define-if-absent` top-level form was added.
1717 * Allowed the reference implementation to run under Hugs,
1818 in part by providing a `HugsMain.hs` which only includes the
1919 facilities that are supported by Hugs.
20 * Modelled environments with their own algebraic data type
21 (`Env`). Experimented with implementing them with
22 `Data.Map.Strict`, with limited success (Robin's semantics
23 define an environment to be able to shadow old bindings.)
2024
2125 Robin 0.4 (Early Sep 2019)
2226 ---------
55 Overview
66 --------
77
8 **Robin** is a functional programming language with
8 **Robin** is an [excessively principled](doc/Rationale.md)
9 functional programming language with
910 [eager evaluation, latent typing, and a homoiconic syntax](#scheme),
1011 based on a [radically simple core semantics](#forth) in which
1112 [the macro, rather than the function, is the fundamental abstraction](#picolisp).
3030
3131 Stdlib
3232 ------
33
34 Built-in implementation of `gte?` et al.
3335
3436 Rename "small" to "core" or "base" or something.
3537
66
77 In this document, "Robin" refers to the Robin programming language
88 version 0.5.
9
10 Robin is excessively principled
11 -------------------------------
12
13 Many times I have encountered some badly designed corner of a
14 programming language or system and have said to myself, "No!
15 This is categorically wrong. Programming languages should never
16 do this. A correct design would..." et cetera, et cetera.
17
18 Robin is, in some sense, the result of recording various
19 instances of this and putting them together in a single
20 language. (Plus some random stuff that I'm not sure how it
21 ended up in here.)
22
23 How well does the result cohere? Not really.
24
25 It started off as an idea for how I would like to design an
26 operating system based on [Pixley][]. It is no longer an
27 operating system design, but the reactive portion of it is
28 still reminiscent of that.
929
1030 Macro as fundamental abstraction
1131 --------------------------------
270290
271291 </td></tr>
272292 </table>
293
294 [Pixley]: https://catseye.tc/node/Pixley