cl-interpret: builtin.rs whitespace changes

This commit is contained in:
John 2024-07-11 04:43:25 -05:00
parent aa7612926e
commit 15c4b89bce

View File

@ -32,6 +32,7 @@ builtins! {
} }
Ok(ConValue::Empty) Ok(ConValue::Empty)
} }
/// Unstable variadic println function /// Unstable variadic println function
pub fn println<_, args> () -> IResult<ConValue> { pub fn println<_, args> () -> IResult<ConValue> {
let mut out = stdout().lock(); let mut out = stdout().lock();
@ -41,6 +42,7 @@ builtins! {
writeln!(out).ok(); writeln!(out).ok();
Ok(ConValue::Empty) Ok(ConValue::Empty)
} }
/// Prints the [Debug](std::fmt::Debug) version of the input values /// Prints the [Debug](std::fmt::Debug) version of the input values
pub fn dbg<_, args> () -> IResult<ConValue> { pub fn dbg<_, args> () -> IResult<ConValue> {
let mut out = stdout().lock(); let mut out = stdout().lock();
@ -49,6 +51,7 @@ builtins! {
} }
Ok(args.into()) Ok(args.into())
} }
/// Dumps info from the environment /// Dumps info from the environment
pub fn dump<env, _>() -> IResult<ConValue> { pub fn dump<env, _>() -> IResult<ConValue> {
println!("{}", *env); println!("{}", *env);
@ -65,6 +68,7 @@ builtins! {
_ => Err(Error::TypeError)? _ => Err(Error::TypeError)?
}) })
} }
/// Division `a / b` /// Division `a / b`
pub fn div(lhs, rhs) -> IResult<ConValue> { pub fn div(lhs, rhs) -> IResult<ConValue> {
Ok(match (lhs, rhs){ Ok(match (lhs, rhs){
@ -73,6 +77,7 @@ builtins! {
_ => Err(Error::TypeError)? _ => Err(Error::TypeError)?
}) })
} }
/// Remainder `a % b` /// Remainder `a % b`
pub fn rem(lhs, rhs) -> IResult<ConValue> { pub fn rem(lhs, rhs) -> IResult<ConValue> {
Ok(match (lhs, rhs) { Ok(match (lhs, rhs) {
@ -91,6 +96,7 @@ builtins! {
_ => Err(Error::TypeError)? _ => Err(Error::TypeError)?
}) })
} }
/// Subtraction `a - b` /// Subtraction `a - b`
pub fn sub(lhs, rhs) -> IResult<ConValue> { pub fn sub(lhs, rhs) -> IResult<ConValue> {
Ok(match (lhs, rhs) { Ok(match (lhs, rhs) {
@ -108,6 +114,7 @@ builtins! {
_ => Err(Error::TypeError)?, _ => Err(Error::TypeError)?,
}) })
} }
/// Shift Right `a >> b` /// Shift Right `a >> b`
pub fn shr(lhs, rhs) -> IResult<ConValue> { pub fn shr(lhs, rhs) -> IResult<ConValue> {
Ok(match (lhs, rhs) { Ok(match (lhs, rhs) {
@ -126,6 +133,7 @@ builtins! {
_ => Err(Error::TypeError)?, _ => Err(Error::TypeError)?,
}) })
} }
/// Bitwise Or `a | b` /// Bitwise Or `a | b`
pub fn or(lhs, rhs) -> IResult<ConValue> { pub fn or(lhs, rhs) -> IResult<ConValue> {
Ok(match (lhs, rhs) { Ok(match (lhs, rhs) {
@ -135,6 +143,7 @@ builtins! {
_ => Err(Error::TypeError)?, _ => Err(Error::TypeError)?,
}) })
} }
/// Bitwise Exclusive Or `a ^ b` /// Bitwise Exclusive Or `a ^ b`
pub fn xor(lhs, rhs) -> IResult<ConValue> { pub fn xor(lhs, rhs) -> IResult<ConValue> {
Ok(match (lhs, rhs) { Ok(match (lhs, rhs) {
@ -149,22 +158,27 @@ builtins! {
pub fn lt(lhs, rhs) -> IResult<ConValue> { pub fn lt(lhs, rhs) -> IResult<ConValue> {
cmp!(lhs, rhs, false, <) cmp!(lhs, rhs, false, <)
} }
/// Tests whether `a <= b` /// Tests whether `a <= b`
pub fn lt_eq(lhs, rhs) -> IResult<ConValue> { pub fn lt_eq(lhs, rhs) -> IResult<ConValue> {
cmp!(lhs, rhs, true, <=) cmp!(lhs, rhs, true, <=)
} }
/// Tests whether `a == b` /// Tests whether `a == b`
pub fn eq(lhs, rhs) -> IResult<ConValue> { pub fn eq(lhs, rhs) -> IResult<ConValue> {
cmp!(lhs, rhs, true, ==) cmp!(lhs, rhs, true, ==)
} }
/// Tests whether `a != b` /// Tests whether `a != b`
pub fn neq(lhs, rhs) -> IResult<ConValue> { pub fn neq(lhs, rhs) -> IResult<ConValue> {
cmp!(lhs, rhs, false, !=) cmp!(lhs, rhs, false, !=)
} }
/// Tests whether `a <= b` /// Tests whether `a <= b`
pub fn gt_eq(lhs, rhs) -> IResult<ConValue> { pub fn gt_eq(lhs, rhs) -> IResult<ConValue> {
cmp!(lhs, rhs, true, >=) cmp!(lhs, rhs, true, >=)
} }
/// Tests whether `a < b` /// Tests whether `a < b`
pub fn gt(lhs, rhs) -> IResult<ConValue> { pub fn gt(lhs, rhs) -> IResult<ConValue> {
cmp!(lhs, rhs, false, >) cmp!(lhs, rhs, false, >)
@ -179,6 +193,7 @@ builtins! {
}; };
Ok(ConValue::RangeExc(lhs, rhs.saturating_sub(1))) Ok(ConValue::RangeExc(lhs, rhs.saturating_sub(1)))
} }
/// Inclusive Range `a..=b` /// Inclusive Range `a..=b`
pub fn range_inc(lhs, rhs) -> IResult<ConValue> { pub fn range_inc(lhs, rhs) -> IResult<ConValue> {
let (&ConValue::Int(lhs), &ConValue::Int(rhs)) = (lhs, rhs) else { let (&ConValue::Int(lhs), &ConValue::Int(rhs)) = (lhs, rhs) else {
@ -197,6 +212,7 @@ builtins! {
_ => Err(Error::TypeError)?, _ => Err(Error::TypeError)?,
}) })
} }
/// Inverts the ConValue /// Inverts the ConValue
pub fn not(tail) -> IResult<ConValue> { pub fn not(tail) -> IResult<ConValue> {
Ok(match tail { Ok(match tail {
@ -206,6 +222,7 @@ builtins! {
_ => Err(Error::TypeError)?, _ => Err(Error::TypeError)?,
}) })
} }
pub fn deref(tail) -> IResult<ConValue> { pub fn deref(tail) -> IResult<ConValue> {
Ok(match tail { Ok(match tail {
ConValue::Ref(v) => Rc::as_ref(v).clone(), ConValue::Ref(v) => Rc::as_ref(v).clone(),