lec 05 notes
This commit is contained in:
10 files changed
+249
No files matched your search
@@ -0,0 +1,12 @@
|
||||
(* we can impliment our own ref type *)
|
||||
type 'a ref = { mutable contents: 'a };;
|
||||
|
||||
(* reference and dereference implimentation *)
|
||||
let ref x = { contents = x };;
|
||||
let (!) r = r.contents;;
|
||||
|
||||
(* assign to a mutable field *)
|
||||
let (:=) r x = r.contents <- x;;
|
||||
|
||||
let incr r = r.contents <- r.contents + 1;;
|
||||
let decr r = r.contents <- r.contents - 1;;
|
||||
Reference in new issue
Block a user