Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
20
Task/Generic-swap/EchoLisp/generic-swap.l
Normal file
20
Task/Generic-swap/EchoLisp/generic-swap.l
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
;; 1)
|
||||
;; a macro will do it, as shown in Racket (same syntax)
|
||||
(define-syntax-rule (swap a b)
|
||||
(let ([tmp a])
|
||||
(set! a b)
|
||||
(set! b tmp)))
|
||||
|
||||
(define A 666)
|
||||
(define B "simon")
|
||||
(swap A B)
|
||||
A → "simon"
|
||||
B → 666
|
||||
|
||||
;; 2)
|
||||
;; The list-swap! function allows to swap two items inside a list, regardless of their types
|
||||
;; This physically alters the list
|
||||
|
||||
(define L ' ( 1 2 3 4 🎩 ))
|
||||
(list-swap! L 1 ' 🎩 )
|
||||
→ (🎩 2 3 4 1)
|
||||
Loading…
Add table
Add a link
Reference in a new issue