Compare commits

..

No commits in common. "ec7ffbdd9aec4471612f909b8f6c12b7cf680560" and "6a71e3c244f29c5273a038ad7f37bf0ade9e75dd" have entirely different histories.

3 changed files with 12 additions and 15 deletions

View File

@ -1,6 +1,6 @@
{
"name": "@ludus/ludus-js-pure",
"version": "0.1.39",
"version": "0.1.37",
"description": "A Ludus interpreter in a pure JS function.",
"type": "module",
"main": "build/ludus.mjs",

View File

@ -81,7 +81,7 @@ fn eq? {
(x, y) -> base :eq? (x, y)
(x, y, ...zs) -> if eq? (x, y)
then loop (y, zs) with {
(a, [b]) -> if eq? (a, x) then eq? (a, b) else false
(a, []) -> eq? (a, x)
(a, [b, ...cs]) -> if eq? (a, x)
then recur (b, cs)
else false
@ -123,14 +123,17 @@ fn not {
(_) -> false
}
fn neq? {
fn neq? {
"Returns true if none of the arguments have the same value."
(x) -> false
(x, y) -> not (eq? (x, y))
(x, y, ...zs) -> {
let z_set = set(zs)
let xyz_set = ${x, y, ...z_set}
eq? (count (xyz_set), add(2, count (zs)))
(x, y, ...zs) -> if eq? (x, y)
then false
else loop (y, zs) with {
(a, []) -> neq? (a, x)
(a, [b, ...cs]) -> if neq? (a, x)
then recur (b, cs)
else false
}
}
@ -504,11 +507,6 @@ fn mult {
((x, y), scalar as :number) -> mult (scalar, (x, y))
}
fn pow {
"Raises a number to the power of another number."
(x as :number, y as :number) -> base :pow (x, y)
}
fn div {
"Divides numbers. Panics on division by zero."
(x as :number) -> x

View File

@ -286,7 +286,6 @@
"div" /
"doc" doc
"downcase" string/ascii-lower
"e" math/e
"eq?" deep=
"first" first
"floor" math/floor
@ -303,7 +302,6 @@
"nth" ludus/get
"or" ludus/or
"pi" math/pi
"pow" math/pow
"print!" print!
"prn" prn
"push" array/push
@ -336,3 +334,4 @@
(set (b (keyword k)) v))
b))
(to_number " 123 a ")