diff --git a/lib/Minilisp.pm b/lib/Minilisp.pm index bcce925..5f0a6ea 100644 --- a/lib/Minilisp.pm +++ b/lib/Minilisp.pm @@ -271,6 +271,13 @@ my %stdctx = ( } return $v; }, + 'mod' => sub { + my ($number, $divisor) = @_; + $number += $divisor while ( $number < 0 ); + $number -= $divisor while ( $number >= $divisor ); + + return $number; + }, # String comparison 'string=' => sub { my ($a, $b) = @_; return to_lisp_bool($a eq $b); },