(let [input "whatever"
      [v1 v2] [(input:match "([aeiou]).*([aeiou])")]]
  (print :vowels v1 v2))
;; local input = "whatever"
;; local v1,v2 = input:match("([aeiou]).*([aeiou])")
;; print("vowels", v1, v2)

(fn x [] (values a b))
;; local function x()
;;   return a, b
;; end

(let [[y z] [(x)]]
  (print y z))
;; local y,z = x()
;; print(y, z)

(let [[x [y z]] [(values a [(x)])]]
  (print z y z))
;; local _let_1_ = {a, {x()}} -- <- Table Created
;; local x0 = _let_1_[1]
;; local _let_2_ = _let_1_[2]
;; local y = _let_2_[1]
;; local z = _let_2_[2]

(let [(x [y z]) (values a [(x)])]
  (print z y z))
;; local x0, _let_3_ = a, {x()} -- <- Table Created
;; local _let_4_ = _let_3_
;; local y = _let_4_[1]
;; local z = _let_4_[2]
;; return print(z, y, z)

(let [(x (y z)) (values a (x))]
  (print z y z))
;; Compile error: can't nest multi-value destructuring

Generated by alexjgriffith using scpaste at Sun Oct 5 21:38:42 2025. EDT. (original)