~technomancy

WA, USA

https://technomancy.us

tryin' to catch the last train out of Omelas

Trackers

~technomancy/fennel

Last active 3 hours ago

#146 error message for non-head use of operators is puzzling 2 hours ago

Comment by ~technomancy on ~technomancy/fennel

What do you think about this message?

Compile error in scratch.fnl:1:13
  tried to reference a special form without calling it

(fn [a b] (a > b))
* Try making sure to use prefix operators, not infix.
* Try wrapping the special in a function if you need it to be first class.

There will certainly be false positives where this is triggered for other cases than accidental infix, but it feels like a big improvement over what we have now. The "can only appear in call position" suggestion is also good, but I think it's worth calling out accidental infix specifically since it's something new-to-lisp people are more likely to hit. But maybe it's worth having both?

#144 Macro wont output/expand expressions in seq without preceeding expression 2 days ago

Comment by ~technomancy on ~technomancy/fennel

Yeah, this is not a bug, but it is intentional behavior which it's easy to trigger by accident, because this form is somewhat obscure.

I wonder if we could find a way to make this more obvious; maybe flagging it as a compile error if it's clear that it's not intended as metadata? Like perhaps a table which has only numeric keys? (unfortunately we can't use utils.sequence? here because the table might not come from the parser but from a macro like in the case above)

#145 Can't use $... in nested hashfn 5 days ago

Comment by ~technomancy on ~technomancy/fennel

Nice catch; thanks for reporting. I think we got a fix in 39e836b

REPORTED RESOLVED FIXED

#145 Can't use $... in nested hashfn 6 days ago

bug added by ~technomancy on ~technomancy/fennel

#144 Macro wont output/expand expressions in seq without preceeding expression 6 days ago

bug added by ~technomancy on ~technomancy/fennel

#143 broken link in fennel-lang.org 6 days ago

Comment by ~technomancy on ~technomancy/fennel

Thanks for the heads up! Fixed in 6f5e1ea but the site itself won't get updated until the next release unfortuantely.

REPORTED RESOLVED FIXED

#141 Optimize away useless `if true` 9 days ago

enhancement added by ~technomancy on ~technomancy/fennel

#141 Optimize away useless `if true` 9 days ago

Ticket created by ~technomancy on ~technomancy/fennel

While there is no runtime cost for an (if true x) instead of x, the compiler output would be more readable if it were optimized away by the if special. Similarly the (if x x-body true y-body) could be turned into (if x x-body y-body) instead.

This would make certain macros a little simpler.

#140 Binary Compilation on Lua 5.1 fails with format error 9 days ago

Comment by ~technomancy on ~technomancy/fennel

Pushed a fix; thanks for the report.

REPORTED RESOLVED FIXED

#140 Binary Compilation on Lua 5.1 fails with format error 9 days ago

Comment by ~technomancy on ~technomancy/fennel

Hm; yes, changing it to arg[1] makes it no longer error out, but the resulting instruction is incorrect.

I think it's better to default to just "fennel" when the runtime refuses to provide the name of the current executable.