Teal: a statically-typed dialect of Lua https://lobste.rs/s/bmcr63 #lua
https://teal-language.org/
Teal: a statically-typed dialect of Lua https://lobste.rs/s/bmcr63 #lua
https://teal-language.org/
release pandoc 3.7
Features:
• New option `--variable-json`. Structured variable values can now be passed via the command line.
• Rowspans and colspans are supported in grid-table output (#Markdown and #RST).
• Improved handling of inline TeX in #orgmode.
• #Lua subsystem: the `pandoc.read` function can now be used in “sandboxed” mode, restricting file or network access.
Please see the changelog for the full list of changes and bugfixes.
https://github.com/jgm/pandoc/releases/tag/3.7
Programming languages, I've tried a few. PHP, Javascript, Python, Nim, Rust (briefly), and Go. I've variously thought they are too yucky, warty, ugly, complex, or just plain too hard for me. I've never found my fit.
I'm starting to think that #Lua might be what I've been looking for... crazy?
on device charts and a major refactor!!
+ new start screen by jethero08!
a site for making bots for the fediverse https://lobste.rs/s/m65t5p #show #lua
https://fedibot.club
Some notable users of #Lua (beside @silverbulletmd of course):
Pico 8 https://www.lexaloffle.com/dl/docs/pico-8_manual.html
LOVE https://www.love2d.org/
Dwarf fortress: https://dwarffortresswiki.org/index.php/Lua_scripting
Neovim: https://neovim.io/doc/user/lua.html
Pandoc: https://pandoc.org/lua-filters.html
Roblox: https://luau.org/
Openresty https://openresty.org/en/
Minetest https://www.minetest.net/
Redis: https://redis.io/docs/latest/develop/interact/programmability/eval-intro/
ScyllaDB: https://opensource.docs.scylladb.com/stable/cql/functions.html
Some thoughts on what makes #Lua special in my mind:
1. The language is small and easy to learn. If you know any other procedural language, you will pick it up in a few hours tops.
2. Since Lua is designed to be embedded in an existing application, it doesn’t come with a huge general purpose library you have to learn. Like (1) lowering the barrier to entry.
3. This context suits a dynamic language very well. Little ceremony. Code that is straight to the point.
4. Cultural observation: since Lua is often used in more “casual” programming settings (game development, editor customization, environment tweaking) with relatively low stakes, practices that “proper” software engineering practice would oppose, become acceptable for convenience and productivity. Global variables? YOLO. Unit tests? Nah. Just get shit done.
So I think that now they're ACTUALLY putting me on that #golang work, finally.
Would you all agree that it's accurate to say that golang is somewhere between #Rust and #Lua? Trying to figure out just how excited I should be to learn it. Rust is the most fun for me, but sometimes I need something a little faster to iterate and prototype in, but Lua is just a bit too loosey-goosey for me personally. #Swift seems really cool but they're not making me learn it at work anyway
And while TypeScript is cool the build system is just an absolute nightmare
@zef #lua is one of the few languages I've kept using for decades. It's a simple enough, but immensely powerful. What we should've gotten for the web instead of #Javascript.
The one data structure grew on me. I kind of miss it when I'm not using the language. Cause you can do practically anything you need. And with metatables, you can make data structures function exactly how you need. With guards and limits to your heart's desire.
BatterySteve 1.2.0 Release!
Config file for advanced testing options (autotest, more cpu load, skip splashes etc)
Added a lot of more logging (model, mobo, battery life estimate etc)
Chart Generator 2.0: Way nicer to use and actually embeds battery stats to the image when exporting!
I'm going to take a break for now, if there's no massive bugs. Also now - feature parity with Nyanbat and beyond :D
Trying to reimplement Godot's moveTowards function in Lua. I'm accepting feedback about this code.
Ok, so I’m now a few months into building a custom (almost from scratch) #Lua implementation for @silverbulletmd dubbed #SpaceLua (for reasons).
A few things that panned out really well, and a few surprises that I did not anticipate:
0. General recommendation: don’t do this. Don’t just implement a full programming language because you think it’s a good idea. I also told this myself. It didn’t work. It was a “I’ve don’t this stuff before, I can do it again” type of deal. I was mostly right. But don’t do this.
1. Initially I opted for a custom interpreter (implemented in TypeScript) because I wanted to expose asynchronous (promise based) JS APIs to Lua, and I didn’t see how to do that nicely with a #Wasm-compiled version of the official Lua interpreter. Also I felt that having full control of the running system would turn out to be valuable down the line (I was right on this one).
2. I got the parser part mostly free. I found an existing Lua grammar for the Lezer parser library that #SilverBullet uses. Had to add a few things and had some struggles. This part was pretty seamless with a few glitches here and there.
3. Implementing the core interpreter runtime was actually quite easy. Lua is a mostly simple and small language. Again, I’ve done this before so that helped. Writing good test suites makes this doable and AI helped a lot generating those test suites (because it knows Lua).
4. What I didn’t anticipate is the pain in implementing the full Lua API, especially the `string.*` one which has its own pattern matching language (similar but distinct from regular expressions), which honestly I could do without. But it’s there, and people want to use it, so I need a full implementation. Issues keep coming up, though.
Ok. Day one of using @silverbulletmd in #Vim mode lead to already fixing some ugly UI glitches. Now thinking how to expand #Lua APIs to define Vim commands, bindings and other things. Also a reason to dive a bit deeper into @neovim which leans heavily on Lua. Also an interesting source of inspiration for Lua API design potentially.
BatterySteve 1.1.1 Released!
Download:
https://the-sauna.icu/BatterySteve/
Demo:
https://youtu.be/-4EQZ3YLNfg
This was a fuckton of refactoring haha
Music by @laamaa
My workshop on #Ardour #Lua Scripting was accepted at the #linuxaudio conference.
Come join me in Marie Curie Library in Lyon on June 26th, 17h
Registration is free: https://jimlac25.inria.fr/register/#register-to-lac-25
PS. There will be macarons :)
Saw this really funny graph about "Blogging vs Blog Setups":
https://rakhim.org/honestly-undefined/19/
And saw myself multiple times there. It reminded me of this post I made about #Lua usage in my #blog:
https://andregarzia.com/2025/03/why-i-choose-lua-for-this-blog.html