Kodi Arfer

Results 48 issues of Kodi Arfer

It looks like `funcparserlib` has no way to allow backtracking, in the manner of Parsec's `try`. #43 provides one example of where you might want this. I found myself wanting...

``` => (hy.eval (hy.read "(defreader r 5)")) Traceback (most recent call last): File "stdin-27f203d5d830092f5be52fd45c79e54c119e57b6", line 1, in (hy.eval (hy.read "(defreader r 5)")) hy.errors.HyEvalError: module 'hy' has no attribute 'hyx_XampersandXreader' ```...

bug

Right now they're hard-coded into `HyReader`.

complaint / disgust

Currently there is no (official) way to read code that uses reader macros defined by the active reader.

complaint / disgust

Consider ``` (do (defreader r 5) (print #r)) ``` The result is `LexException: reader macro '#r' is not defined`. Perhaps `defreader` shouldn't be legal here in the first place, but...

bug

Currently, `foo.bar` parses as `(Symbol "foo.bar")`, and the compiler is responsible for interpreting the dot. Macros often have to specifically consider dotted identifiers, too. Things would be simpler if `foo.bar`...

backend

`'` isn't allowed in identifiers, but `` ` ``, `~`, and `@` are. Thus, compare: - `a'b` → `HySymbol('a'), HyExpression([HySymbol('quote'), HySymbol('b')])` - ``a`b`` → ``HySymbol('a`b')`` - ``a~b`` → `HySymbol('a~b')` -...

complaint / disgust

In light of #2251, consider (setv c '(f)) ```[~a ~~b ~~~c] This returns ``[~a ~~b ~~(f)] but a more useful, and perhaps more logical, behavior would be ``[~a ~~b (f)]...

We could give `hy2py` a recursive mode that goes through a source tree and saves a matching Python file for each Hy file, if an up-to-date one doesn't already exist....

feature