From d64165e9e6af92bfe350e5d2cc46545b28dbb5c0 Mon Sep 17 00:00:00 2001 From: Joel Kronqvist Date: Tue, 5 Aug 2025 18:07:50 +0300 Subject: Added vectors and tests for their evaluation and typing --- src/sexp/step.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/sexp/step.rs') diff --git a/src/sexp/step.rs b/src/sexp/step.rs index d66b1bd..535b183 100644 --- a/src/sexp/step.rs +++ b/src/sexp/step.rs @@ -220,6 +220,23 @@ impl SExp { /// Ok(scons(Quote, scons(1, scons(2, Nil)))) /// ); /// ``` + /// + /// **Vectors** + /// + /// The same as quotes functionally, but they require + /// the elements to be of the same type. + /// ```rust + /// use myslip::sexp::{SExp::*, SLeaf::*, util::*}; + /// assert_eq!( + /// scons(Vector, scons(1, scons(2, Nil))).step(), + /// Ok(scons(Vector, scons(1, scons(2, Nil)))) + /// ); + /// assert_eq!( + /// scons(Vector, scons( + /// scons(Sub, scons(2, scons(1, Nil))), + /// scons(2, Nil))).step(), + /// Ok(scons(Vector, scons(1, scons(2, Nil)))) + /// ); pub fn step(self) -> Result { match self { -- cgit v1.2.3