Value
Oriented Programming
Value
• 10
• 1000.00
• “Hello”
• [10, 20, 30]
• {:name “Weerasak”}
Place/Memory
• MOV AX, 10
• ADD AX, 20
• MOV BX, AX
Place/Memory
package main



import “fmt”
func main() {

a := 10

a := a + 20

fmt.Println(a)

}
Place Variable Name
10
a (0xFF1010)
a := 10
Value in Place

Mutable
a := 10

a += 20
Value Variable Binding
10
a
(def a 10)
Variable Binding 

Value

Immutable
(comment “rebinding”)

(def a 10)

(def a (+ a 20)
Thank you



@iporsut

Value Oriented Programming