-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable useBitLib option by default? #56
Comments
I don't disagree that it could be enabled by default, but I am hesitant to do it because it isn't a complete compatibility layer: "The integer division operator (//) is only available in Lua 5.3+" and they "cannot be used as higher-order functions". I think that puts some onus on the user to know what they want to use and how they can use it so it should probably be opt in. |
I was just reading the Fennel reference and saw that passage. I guess
That's always true though, LuaJIT or not.
There is, indeed, nothing that can be done in this case. Still, not using the option is definitely the less correct solution for Neovim (at least so long as LuaJIT is the only supported implementation). |
Hello! Seeing this issue and fennel's supports for bitlib, how do I enable it within hotpot? require("hotpot").setup {
provide_require_fennel = true,
enable_hotpot_diagnostics = true,
compiler = {
["--use-bit-lib"] = true,
["use-bit-lib"] = true,
"--use-bit-lib",
"use-bit-lib",
modules = {
correlate = true,
},
},
} |
It needs to go in the
You might have to |
Many thanks |
Lua 5.3 added bitwise operators (
<<
,>>
,&
,|
,~
).LuaJIT has the
bit
module.Fennel has the functions
lshift
,rshift
,band
,bor
,bxor
,bnot
.By default, these compile to be Lua 5.3 operators. You can pass the option
useBitLib
to the Fennel compiler to make it use thebit
module. This is not mentioned in the API reference so it may not be considered "stable" but it's what the Fennel CLI uses for the--use-bit-lib
argument.Given that hotpot targets Neovim specifically I think this should always be done.
The text was updated successfully, but these errors were encountered: