diff options
| author | Joel Martin <github@martintribe.org> | 2014-12-18 20:33:49 -0600 |
|---|---|---|
| committer | Joel Martin <github@martintribe.org> | 2015-01-09 16:16:50 -0600 |
| commit | b8ee29b22fbaa7a01f2754b4d6dd9af52e02017c (patch) | |
| tree | f4d977ed220e9a3f665cfbf4f68770a81e4c2095 /bash/core.sh | |
| parent | aaba249304b184e12e2445ab22d66df1f39a51a5 (diff) | |
| download | mal-b8ee29b22fbaa7a01f2754b4d6dd9af52e02017c.tar.gz mal-b8ee29b22fbaa7a01f2754b4d6dd9af52e02017c.zip | |
All: add keywords.
Also, fix nth and count to match cloure.
Diffstat (limited to 'bash/core.sh')
| -rw-r--r-- | bash/core.sh | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/bash/core.sh b/bash/core.sh index c8a0261..ca53c43 100644 --- a/bash/core.sh +++ b/bash/core.sh @@ -41,6 +41,11 @@ false? () { _false? "${1}" && r="${__true}" || r="${__false}"; } symbol? () { _symbol? "${1}" && r="${__true}" || r="${__false}"; } +# Keyword functions + +keyword? () { _keyword? "${1}" && r="${__true}" || r="${__false}"; } + + # Number functions number? () { _number? "${1}" && r="${__true}" || r="${__false}"; } @@ -230,6 +235,10 @@ concat () { nth () { _nth "${1}" "${ANON["${2}"]}" + if [ -z "${r}" ]; then + _error "nth: index out of bounds" + return + fi } empty? () { _empty? "${1}" && r="${__true}" || r="${__false}"; } @@ -316,7 +325,10 @@ declare -A core_ns=( [nil?]=nil? [true?]=true? [false?]=false? + [symbol]=_symbol [symbol?]=symbol? + [keyword]=_keyword + [keyword?]=keyword? [pr-str]=pr_str [str]=str |
