Compare commits

...

2 Commits

Author SHA1 Message Date
Scott Richmond
aba77569ac some pure-ludus string manipulation testing 2024-06-15 11:58:30 -04:00
Scott Richmond
223823ea68 0.1.16 2024-06-14 17:21:50 -04:00
3 changed files with 32 additions and 10 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "@ludus/ludus-js-pure", "name": "@ludus/ludus-js-pure",
"version": "0.1.15", "version": "0.1.16",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@ludus/ludus-js-pure", "name": "@ludus/ludus-js-pure",
"version": "0.1.15", "version": "0.1.16",
"license": "GPL-3.0", "license": "GPL-3.0",
"devDependencies": { "devDependencies": {
"shadow-cljs": "^2.26.0", "shadow-cljs": "^2.26.0",

View File

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

View File

@ -49,15 +49,37 @@
(set (out :draw) (post :draw)) (set (out :draw) (post :draw))
(-> out j/encode string)) (-> out j/encode string))
(comment # (comment
# (do (do
(def source ` (def source `
match :foo with { fn strip_punctuation {
:bar -> :baz ("{x},{y}") -> strip_punctuation ("{x}{y}")
:baz -> :quux ("{x}.{y}") -> strip_punctuation ("{x}{y}")
"thing {foo}" -> "worste" ("{x};{y}") -> strip_punctuation ("{x}{y}")
42 -> 23 ("{x}:{y}") -> strip_punctuation ("{x}{y}")
("{x}?{y}") -> strip_punctuation ("{x}{y}")
("{x}!{y}") -> strip_punctuation ("{x}{y}")
(x) -> x
} }
fn trim_left {
(" {x}") -> trim_left ("{x}")
("\n{x}") -> trim_left ("{x}")
("\t{x}") -> trim_left ("{x}")
(x) -> x
}
fn trim_right {
("{x} ") -> trim_right ("{x}")
("{x}\n") -> trim_right ("{x}")
("{x}\t") -> trim_right ("{x}")
(x) -> x
}
fn trim (x) -> do x > trim_left > trim_right
trim_left ("
foo")
`) `)
(def out (-> source (def out (-> source
ludus ludus