Parser: skip unit suffix when next ident is a comparison keyword (starts, ends, contains, matches, is, does, in, precedes, follows). Fixes "123 starts with '12'" returning "123starts" instead of true. eval-hs: use hs-compile directly instead of hs-to-sx-from-source with "return " prefix, which was causing the parser to consume the comparison as a string suffix. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
25 lines
759 B
Plaintext
25 lines
759 B
Plaintext
(defcomp
|
|
(&key data)
|
|
:affinity :server
|
|
(let-match
|
|
{:stats stats :desc desc :title title :filename filename :platform-interface platform-interface :sections sections}
|
|
data
|
|
(~docs/page
|
|
:title (str title " — Explorer")
|
|
(~specs-explorer/spec-explorer-header
|
|
:filename filename
|
|
:title title
|
|
:desc desc
|
|
:slug (replace filename ".sx" ""))
|
|
(~specs-explorer/spec-explorer-stats :stats stats)
|
|
(map
|
|
(fn
|
|
(section)
|
|
(~specs-explorer/spec-explorer-section
|
|
:section section
|
|
:filename filename))
|
|
sections)
|
|
(when
|
|
(not (empty? platform-interface))
|
|
(~specs-explorer/spec-platform-interface :items platform-interface)))))
|