gilch

Results 164 comments of gilch

Using a mutable data structure for Hy code is a bit dangerous, but convenient in macros. If the compiler has to look at the same code object more than once,...

> using pop to iterate through a list is slow See hylang/hy#1406. > we'd have to be pretty careful using immutable data structures, and definitely not linked lists. Performance claims...

As for the limitations, in particular, `defshadowed` doesn't support any &-syntax, like `&rest` in its arguments list. It only works on simple templates. The function definition expands it in advance,...

@vodik can you elaborate more on that? Also, @hylang/core, any takers for maintaining vim-hy? If not, I guess the next candidates would be people who cared enough to make a...

@vodik interesting. So we could get even more editors than vim and emacs working with Hy without too much extra effort. Good tooling is important for the community. @ekaschalk what...

For comparison, this is what Hy is doing currently to the above example. (#824 has been merged) ``` Hy => (print (and 1 2 3 (setv x 1) 4 5...

Maybe related to #1324. It's easy to force a compile at runtime though, just use `hy.eval`, e.g. ```Hy (hy.eval '(print hy.macros._hy-macros)) ```

Here's an interesting illustration. ``` => (do (setv x "Spam!")(defmacro foo[] `(print ~x))(foo)) File "", line 1, column 49 (do (setv x "Spam!")(defmacro foo[] `(print ~x))(foo)) ^---^ HyMacroExpansionError: b'expanding `foo\':...

I don't think this is correct at all, considering how other Lisps work, hence the "bug" label. If this was the intended design, it's insane. I think we simply didn't...

> Delegating the expansion process to helper functions in the same module works fine, provided you only invoke the macro after the file is compiled, rather than inside the very...