summaryrefslogtreecommitdiff
path: root/.trash/books/sicp-paused/chapter-1.md
diff options
context:
space:
mode:
authorJasper Ras <jras@hostnet.nl>2025-01-08 10:48:09 +0100
committerJasper Ras <jras@hostnet.nl>2025-01-08 10:48:09 +0100
commited0753ad224f0c65133bd7a63180257eecd9f5e3 (patch)
treecc662868574fe17db58be9e0faadd452c84dc59c /.trash/books/sicp-paused/chapter-1.md
parent493be30dc981eaf762a95a1218f96893b1976727 (diff)
vault backup: 2025-01-08 10:48:09
Diffstat (limited to '.trash/books/sicp-paused/chapter-1.md')
-rw-r--r--.trash/books/sicp-paused/chapter-1.md22
1 files changed, 22 insertions, 0 deletions
diff --git a/.trash/books/sicp-paused/chapter-1.md b/.trash/books/sicp-paused/chapter-1.md
new file mode 100644
index 0000000..0bf25d9
--- /dev/null
+++ b/.trash/books/sicp-paused/chapter-1.md
@@ -0,0 +1,22 @@
+Every powerful programming language should have the following three things:
+* Primitive data types and procedures
+* Means to create compound elements from primitive ones
+* Means to create abstractions; compound elements are named and can be manipulated
+
+Primitives are elementary particles of programming languages.
+Primitive data are booleans, integer numbers, floating point numbers and characters (which are encoded as integers).
+Primitive procedures operate on primitive data: + * / etc.
+
+Expression: anything that has a result.
+Combination: list of expressions wrapped (delimited) by parenthesis
+ (+ 1 2)
+ ^ --> operands -> evaluate -> arguments
+ operator |
+ ^ |
+ procedure <-----------------------<
+
+prefix notation:
+ - unambigously specify any nr of operands
+ - arbritary nesting (+ 1 (+ 1 (+ 1 2))) is easy
+
+bookmark: https://sarabander.github.io/sicp/html/1_002e1.xhtml#g_t1_002e1 1.1.2