diff options
Diffstat (limited to 'third_party/immer/extra/guile/example.scm')
-rw-r--r-- | third_party/immer/extra/guile/example.scm | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/third_party/immer/extra/guile/example.scm b/third_party/immer/extra/guile/example.scm deleted file mode 100644 index 6649508cedc3..000000000000 --- a/third_party/immer/extra/guile/example.scm +++ /dev/null @@ -1,51 +0,0 @@ -;; -;; immer: immutable data structures for C++ -;; Copyright (C) 2016, 2017, 2018 Juan Pedro Bolivar Puente -;; -;; This software is distributed under the Boost Software License, Version 1.0. -;; See accompanying file LICENSE or copy at http://boost.org/LICENSE_1_0.txt -;; - -;; include:intro/start -(use-modules (immer) - (rnrs base)) - -(let ((v1 (ivector 1 "hola" 3 'que #:tal))) - (assert (eq? (ivector-ref v1 3) 'que)) - - (let* ((v2 (ivector-set v1 3 'what)) - (v2 (ivector-update v2 2 (lambda (x) (+ 1 x))))) - (assert (eq? (ivector-ref v1 2) 3)) - (assert (eq? (ivector-ref v1 3) 'que)) - (assert (eq? (ivector-ref v2 2) 4)) - (assert (eq? (ivector-ref v2 3) 'what)) - - (let ((v3 (ivector-push v2 "hehe"))) - (assert (eq? (ivector-length v3) 6)) - (assert (eq? (ivector-ref v3 (- (ivector-length v3) 1)) "hehe"))))) - -(let ((v (apply ivector (iota 10)))) - (assert (eq? (ivector-length v) 10)) - (assert (eq? (ivector-length (ivector-drop v 3)) 7)) - (assert (eq? (ivector-length (ivector-take v 3)) 3)) - (assert (eq? (ivector-length (ivector-append v v)) 20))) - -(let ((v1 (make-ivector 3)) - (v2 (make-ivector 3 ":)"))) - (assert (eq? (ivector-ref v1 2) - (vector-ref (make-vector 3) 2))) - (assert (eq? (ivector-ref v2 2) ":)"))) -;; include:intro/end - -;; Experiments - -(let ((d (dummy))) - (dummy-foo d) - (dummy-bar d 42)) -(gc) - -(func1) -(func2) -(func3 (dummy) 12) -(foo-func1) -(gc) |