Skip to content

Commit 2d1611a

Browse files
committed
Update README.md
1 parent a1df89a commit 2d1611a

File tree

1 file changed

+28
-44
lines changed

1 file changed

+28
-44
lines changed

README.md

Lines changed: 28 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ It has been designed from concepts of Girard's transcendental syntax.
99

1010
## Key characteristics
1111

12-
- dynamically/statically **typed** but without primitive types nor type systems,
13-
by using very flexible assert-like expressions defining *sets of tests* to pass;
14-
- everything is based on **term unification**.
12+
- **typable** but without primitive types nor type systems
13+
- both computation and typing are based on basic **term unification** between
14+
blocks of terms.
1515

1616
It is multi-paradigm:
17-
- _logic programs_ called "constellations" are the elementary bricks of
18-
computation and typing;
19-
- _functional programs_ correspond to logic programs enforcing an order of
20-
interaction;
17+
- _logic programs_ called "constellations" are the elementary blocks of
18+
programming;
19+
- _functional programs_ correspond to layered constellations enforcing an order
20+
of interaction;
2121
- _imperative programs_ are iterative recipes constructing constellations;
2222
- _objects_ are ways to structure constellations.
2323

@@ -36,52 +36,36 @@ philosophy).
3636
Finite state machine
3737

3838
```
39-
(spec binary
40-
(const
41-
(star (-i e) ok)
42-
(star (-i [0 X]) (+i X))
43-
(star (-i [1 X]) (+i X))))
39+
(spec binary [
40+
[(-i e) ok]
41+
[(-i [0 X]) (+i X)]
42+
[(-i [1 X]) (+i X)]])
4443
4544
'input words
4645
(:: e binary)
47-
(def e
48-
(const (star (+i e))))
46+
(:= e (+i e))
4947
5048
(:: 000 binary)
51-
(def 000
52-
(const (star (+i [0 0 0 e]))))
49+
(:= 000 (+i [0 0 0 e]))
5350
5451
(:: 010 binary)
55-
(def 010
56-
(const (star (+i [0 1 0 e]))))
52+
(:= 010 (+i [0 1 0 e]))
5753
5854
(:: 110 binary)
59-
(def 110
60-
(const (star (+i [1 1 0 e]))))
61-
62-
(def a1
63-
(galaxy
64-
(initial
65-
(const
66-
(star (-i W) (+a W q0))))
67-
(final
68-
(const
69-
(star (-a e q2) accept)))
70-
(transitions
71-
(const
72-
(star (-a [0 W] q0) (+a W q0))
73-
(star (-a [0 W] q0) (+a W q1))
74-
(star (-a [1 W] q0) (+a W q0))
75-
(star (-a [0 W] q1) (+a W q2))))))
76-
77-
(show (kill (exec
78-
(union @#e #a1))))
79-
(show (kill (exec
80-
(union @#000 #a1))))
81-
(show (kill (exec
82-
(union @#010 #a1))))
83-
(show (kill (exec
84-
(union @#110 #a1))))
55+
(:= 110 (+i [1 1 0 e]))
56+
57+
(:= a1 [
58+
[(-i W) (+a W q0)]
59+
[(-a e q2) accept]
60+
[(-a [0 W] q0) (+a W q0)]
61+
[(-a [0 W] q0) (+a W q1)]
62+
[(-a [1 W] q0) (+a W q0)]
63+
[(-a [0 W] q1) (+a W q2)]])
64+
65+
<show kill exec (union @#e #a1)>
66+
<show kill exec (union @#000 #a1)>
67+
<show kill exec (union @#010 #a1)>
68+
<show kill exec (union @#110 #a1)>
8569
```
8670

8771
More examples can be found in `examples/`.

0 commit comments

Comments
 (0)