Model patterns: strange behavior with sym and grouped forms
#2688
Answered
by
Kodiologist
KevinMGranger
asked this question in
Q&A
-
|
Perhaps I'm misunderstanding how these model patterns work, or maybe (import hy.model-patterns [pexpr sym FORM whole])
(defn parse-foo-2 [parser] (.parse parser ['(foo 2)]))
(print "Wrong:")
(setv bad-parser (pexpr (sym "foo") FORM))
(try
(parse-foo-2 bad-parser)
(except [e TypeError] (print e)))
; Output: 'Integer' object is not iterable
(print "Right:")
(setv good-parser (pexpr (+ (sym "foo") FORM)))
(print (hy.repr (parse-foo-2 good-parser)))
; Output: '(2)It seems strange to require that additional level of nesting. Easy enough to fix (albeit unergonomically) but still strange. For this specific case, maybe |
Beta Was this translation helpful? Give feedback.
Answered by
Kodiologist
Mar 17, 2026
Replies: 1 comment 1 reply
-
|
This looks like a bug related to See #2691. |
Beta Was this translation helpful? Give feedback.
1 reply
Answer selected by
KevinMGranger
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This looks like a bug related to
wholefailing to listify its parsed value if one of the arguments is skipped. I'm working on it.See #2691.