Skip to content

Commit 037b59b

Browse files
author
ken
committed
commit
1 parent 420fcb8 commit 037b59b

File tree

8 files changed

+74
-41
lines changed

8 files changed

+74
-41
lines changed

Diff for: SpaceTime01.graffle

-240 Bytes
Binary file not shown.

Diff for: contents/entries/entry0/entry.md

+68-35
Original file line numberDiff line numberDiff line change
@@ -46,25 +46,25 @@ This is the fundamental unit of *SpaceTime*.
4646
---
4747
###Pair points a pair of objects
4848

49-
![](http://localhost:18080/contents/img/pairab.png)
49+
![](http://localhost:18080/contents/img/002.svg)
5050

5151
Now, a `Pair` points objects: `a` and `b`.
5252

5353
---
5454
###Pair notation
55-
![](http://localhost:18080/contents/img/pairabnotation.png)
55+
![](http://localhost:18080/contents/img/003.svg)
5656

5757
When a `Pair` points objects: `a` and `b`, it's expressed as **{a b}** in `Pair notation`.
5858

5959
---
6060
###Pair can point itself
6161

62-
![](http://localhost:18080/contents/img/emptypairentity.png)
62+
![](http://localhost:18080/contents/img/004.svg)
6363

6464
---
6565
###Empty Pair
6666

67-
![](http://localhost:18080/contents/img/emptypairnotation.png)
67+
![](http://localhost:18080/contents/img/005.svg)
6868

6969

7070

@@ -75,7 +75,7 @@ Accordingly, the `Pair notaion` is { { {...} {...} } { {...} {...} } }, so we si
7575
---
7676
###Push Pair
7777

78-
![](http://localhost:18080/contents/img/push5.png)
78+
![](http://localhost:18080/contents/img/006.svg)
7979

8080
A `Pair` can point another `Pair` so that we can joint `Pair`s.
8181

@@ -90,7 +90,7 @@ The `Pair notation` is **{ {} 5 }**.
9090
---
9191
###Push another Pair
9292

93-
![](http://localhost:18080/contents/img/push2.png)
93+
![](http://localhost:18080/contents/img/007.svg)
9494

9595
In the same manner, we can `push` another `Pair`.
9696

@@ -101,12 +101,12 @@ The `Pair notation` is **{ { {} 5 } 2 }**.
101101
---
102102
###Push to any sequence
103103

104-
![](http://localhost:18080/contents/img/push7.png)
104+
![](http://localhost:18080/contents/img/008.svg)
105105

106106
---
107107
###Sequence
108108

109-
![](http://localhost:18080/contents/img/sequence527.png)
109+
![](http://localhost:18080/contents/img/009.svg)
110110

111111
Here, *SpaceTime* explicitly defines a term `Sequence` for this form.
112112
Please note this is the same term and meaning of [Sequence](http://en.wikipedia.org/wiki/Sequence) in Mathematics.
@@ -116,7 +116,7 @@ At the same time, instead of `Pair notation` : { { { {} 5 } 2 } 7 }, it can be s
116116
---
117117
###Push function
118118

119-
![](http://localhost:18080/contents/img/function5.png)
119+
![](http://localhost:18080/contents/img/010.svg)
120120

121121
A `Pair` can point `function`.
122122

@@ -127,36 +127,25 @@ In this case, we `push` a `function` to **(5)**.
127127
---
128128
###A case of Push function
129129

130-
![](http://localhost:18080/contents/img/plus52.png)
130+
![](http://localhost:18080/contents/img/011.svg)
131131

132132
When we push a `function` : `plus2` to **(5)**, the result is **(7)**.
133133

134134
---
135135
###Function is Sequence
136-
137-
![](http://localhost:18080/contents/img/functionissequence.png)
138-
139136
The `function` : `plus2` is fundamentally some `Sequence`.
140137

141138
`plus2` consists of a `Sequence` : **( plus (2) )**.
142139

143140
**(2)** is an `attribute Sequence` of the `function`.
144141

145-
---
146-
###Evaluation of a Sequence containing a function
147-
148-
![](http://localhost:18080/contents/img/fullsequence527.png)
149-
150142
**( 5 (plus (2)) )** is equivalent to **(7)**.
151143

152144
---
153-
### Everything is function and Sequence
145+
### Everything is a function and Sequence
154146

155-
![](http://localhost:18080/contents/img/think53.png)
147+
![](http://localhost:18080/contents/img/012.svg)
156148

157-
![](http://localhost:18080/contents/img/actually53is.png)
158-
![](http://localhost:18080/contents/img/so3isfunction.png)
159-
![](http://localhost:18080/contents/img/so3isfunction2.png)
160149

161150
Everything is `function` in *SpaceTime*.
162151

@@ -173,12 +162,12 @@ However, `3` is `3`. There is no other way to express than just `3` in *SpaceTim
173162
---
174163
###Every Sequence is a result of function to `Empty Pair`
175164

176-
![](http://localhost:18080/contents/img/so5isalsofunction.png)
165+
![](http://localhost:18080/contents/img/013.svg)
177166

178167
---
179168
###Function composition
180169

181-
![](http://localhost:18080/contents/img/functioncomposition.png)
170+
![](http://localhost:18080/contents/img/014.svg)
182171

183172
[Function composition](http://en.wikipedia.org/wiki/Function_composition) is naturally expressed in a form :
184173
**( *source function fucnction )** in *SpaceTime*.
@@ -188,21 +177,21 @@ Please note the `source` = **( 1 )** as a `Sequence`, not 1.
188177
---
189178
###1 +2 +3 = 6
190179

191-
![](http://localhost:18080/contents/img/plus123.png)
180+
![](http://localhost:18080/contents/img/015.svg)
192181

193182
*SpaceTime* has a short-cut notation : **+** corresponding to `plus` function.
194183

195184
---
196185
###1 +(2 +3) = 6
197186

198-
![](http://localhost:18080/contents/img/plust1and23.png)
187+
![](http://localhost:18080/contents/img/016.svg)
199188

200189
( 1 (+ ( 2 (+ ( 3 ) ) ) ) ) = ( 6 )
201190

202191
---
203192
###Indefinite sequence
204193

205-
![](http://localhost:18080/contents/img/naturaltake10.png)
194+
![](http://localhost:18080/contents/img/017.svg)
206195

207196
*SpaceTime* employes an [evaluation strategy](http://en.wikipedia.org/wiki/Evaluation_strategy) : [lazy evaluation, or call-by-need](http://en.wikipedia.org/wiki/Lazy_evaluation).
208197

@@ -211,26 +200,70 @@ Accordingly, *SpaceTime* can deal with Indefinite sequence such as [Natural numb
211200
---
212201
###I/O (Input and Output)
213202

214-
![](http://localhost:18080/contents/img/console5.png)
203+
![](http://localhost:18080/contents/img/018.svg)
215204

216205
[I/O](http://en.wikipedia.org/wiki/Input/output) does not affect the evaluation context of *SpaceTime* directly, so that it can preserve [Functional programming](http://en.wikipedia.org/wiki/Functional_programming) paradigm.
217206

218207
*SpaceTime* employes [FRP](http://en.wikipedia.org/wiki/Functional_reactive_programming) or `SpaceTime Programming paradigm`.
219208

220209
---
221-
###Hello world
222210

223-
![](http://localhost:18080/contents/img/helloworld.png)
224211

212+
##Basic
213+
---
214+
###Hello world
215+
`Code`
216+
```
217+
(
218+
"hello World"
219+
(map (CONSOLE))
220+
)
221+
```
222+
`Evalation`
223+
```
224+
("hello World")
225+
```
226+
`Console`
227+
```
228+
hello World
229+
```
225230
---
226231
###Hello world twice
227232

228-
![](http://localhost:18080/contents/img/helloworld2.png)
233+
`Code`
234+
```
235+
(
236+
"hello World"
237+
(map (CONSOLE))
238+
(map (CONSOLE))
239+
)
240+
```
241+
`Evalation`
242+
```
243+
("hello World")
244+
```
245+
`Console`
246+
```
247+
hello World
248+
hello World
249+
```
229250

230251
---
231-
###Map any Sequence to the console
232-
233-
![](http://localhost:18080/contents/img/fibconsole.png)
252+
###Boolean
253+
254+
255+
`Code`
256+
```
257+
(
258+
"hello World"
259+
(map (CONSOLE))
260+
(map (CONSOLE))
261+
)
262+
```
263+
`Evalation`
264+
```
265+
("hello World")
266+
```
234267

235268
---
236269

Diff for: contents/img/016.svg

+1-1
Loading

Diff for: contents/img/017.svg

+1-1
Loading

Diff for: contents/img/018.svg

+1-1
Loading

Diff for: contents/img/019.svg

+1-1
Loading

0 commit comments

Comments
 (0)