Penlight VS tl

Compare Penlight vs tl and see what are their differences.

Penlight

A set of pure Lua libraries focusing on input data handling (such as reading configuration files), functional programming (such as map, reduce, placeholder expressions,etc), and OS path management. Much of the functionality is inspired by the Python standard libraries. (by lunarmodules)

tl

The compiler for Teal, a typed dialect of Lua (by teal-language)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
Penlight tl
7 54
1,823 1,944
0.9% 1.9%
6.6 7.7
17 days ago 3 months ago
Lua Lua
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Penlight

Posts with mentions or reviews of Penlight. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-27.
  • Pluto, a Modern Lua Dialect
    9 projects | news.ycombinator.com | 27 Dec 2023
    To have enough batteries you kind of just need penlight[1] and maybe luastd. Of course there's posix, lfs, socket, luasec and you're semi set.

    [1]: https://lunarmodules.github.io/Penlight/

  • I love that Lua can access file so simply using io.open, can Lua be used to delete, copy and paste folders?
    1 project | /r/lua | 4 Apr 2023
    https://github.com/lunarmodules/Penlight provides a bunch of functionality for stuff like that.
  • [discussion] Why don't more (any?) plugin authors use penlight?
    3 projects | /r/neovim | 30 Sep 2022
    However, there's already a widely known, well-tested library in the lua community called penlight that covers a lot of lua's "missing" functionality. It's got sane string manipulation, ergonomic tables, a basic class mechanism, functional programming, enums, exceptions, path manipulation, etc...
  • What would be the significant benefits if one would develop equivalent libraries that are available for Python for Lua/Nelua?
    4 projects | /r/lua | 18 Sep 2022
    Lua is a small language and its "standard library" is very minimal. Lua's intended for embedding so usually the host program provides a broader standard library by exposing functions to lua. However, there are several standard library packages for lua: batteries and lume are focused on gamedev; Penlight aims at bringing the breadth of python's stdlib to lua; plenary.nvim for nvim plugins; and probably more for other domains. I'd definitely recommend checking these out to help get closer to functionality level of most other languages (I use both lume and batteries, but dropped penlight awhile back because I found some implementations confusing/overcomplicated/inconsistent).
  • Thoughts on LUA?
    4 projects | /r/gamedev | 13 Apr 2022
    Lua is a small language and its "standard library" is very minimal. This was one of my initial roadblocks. Lua's intended for embedding so usually the host program provides a broader standard library by exposing functions to lua. However, there are several standard library packages for lua: batteries, Penlight, or the aforementioned lume. I'd definitely recommend checking these out to help get closer to functionality level of most other languages (I use both lume and batteries, but dropped penlight awhile back).
  • Trying Fennel for GTK apps and it's surprisingly good
    5 projects | /r/lisp | 20 Sep 2021
    As for batteries, there's things like penlight which comes with a huge set of pure Lua libraries inspired by Python. And, well, there's Fennel libraries with macros and more lispy style APIs.
  • Lua's Lack of “Batteries”
    7 projects | news.ycombinator.com | 15 Jan 2021
    I'm very surprised there was no mention of Penlight in that article. Penlight, a supplemental standard library for Lua that is heavily inspired by Python's own standard library, has been around for years now:

    https://github.com/lunarmodules/Penlight

tl

Posts with mentions or reviews of tl. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-18.
  • Ravi is a dialect of Lua, with JIT and AOT compilers
    7 projects | news.ycombinator.com | 18 Mar 2024
    it's based off MIR, does it have something to do with https://mlir.llvm.org/ ?

    for typed lua, there is another effort https://github.com/teal-language/tl in addition to the mentioned typescript approach: https://github.com/andremm/typedlua

  • Lua Criticism Is Unwarranted
    4 projects | news.ycombinator.com | 26 Oct 2023
    I had the pleasure of working with Lua 5.1 back in the late noughties. For me it's replaced Tcl whenever I want something I can configure above a C library. At the time I used it I found it quite nice but I'll also not forget the hours I wasted tracking down nil table corruptions which could have easily been caught by a type checker.

    I had some hope that Luau https://luau-lang.org or Teal https://github.com/teal-language/tl would make things better but with the following example

        function foo(x: number): string
  • Why Fennel?
    12 projects | news.ycombinator.com | 13 Sep 2023
  • Algebraic data types in Lua (Almost) post
    2 projects | news.ycombinator.com | 18 Aug 2023
    I wonder why the author doesn't use Teal [0] - a typed dialect of lua.

    [O] https://github.com/teal-language/tl

  • Lua: The Little Language That Could
    19 projects | /r/programming | 28 May 2023
    Check out Teal
  • What's the deal with Fennel in Neovim?
    3 projects | /r/neovim | 10 Mar 2023
    There is already https://github.com/teal-language/tl, which is typed Lua. I think fennel exists to serve a different niche-- personally I use it not for any type features; I just like the syntax better, and others may find certain features like the macro system useful.
  • Using Lua with C++
    9 projects | news.ycombinator.com | 14 Feb 2023
  • Teal – Type Hints for Lua
    1 project | news.ycombinator.com | 11 Feb 2023
  • Using other languages
    6 projects | /r/ComputerCraft | 8 Feb 2023
    There's also some languages made to compile straight to Lua: - MoonScript is the most popular Lua wrapper - it's built to be more Python-like, featuring indentation-based scopes, function calls without parentheses, lambda syntax, list comprehension, and much more. - Yuescript is a modern update to MoonScript that adds more features (I haven't used it myself, so I'm not entirely sure exactly how it differs from MS). - Teal is a version of Lua that adds static typing for better code standards.
  • Bog – small, strongly typed, embeddable language
    13 projects | news.ycombinator.com | 29 Jan 2023
    Terra and Nelua are both very different in goals than Teal. Teal is literally gradual types integrated into Lua keeping as many of Lua's idioms as possible (to a fault[1]). Terra and Nelua are both very metaprogrammable systems programming languages. Nelua's goals are primarily to soften C's rough edges, comparable to something like Nim.

    There's another one you missed in Pallene[2]. But again, it's goal was to optimize the stack sharing involved in using the C API. It also adds types though and maintains Lua idioms as much as possible.

    [1]: https://github.com/teal-language/tl/discussions/339

    [2]: https://github.com/pallene-lang/pallene

What are some alternatives?

When comparing Penlight and tl you can also consider the following projects:

luafun - Lua Fun is a high-performance functional programming library for Lua designed with LuaJIT's trace compiler in mind.

luau - A fast, small, safe, gradually typed embeddable scripting language derived from Lua

Vermintide-2-Source-Code - Decompiled scripts from Warhammer: Vermintide 2.

OpenBBTerminal - Investment Research for Everyone, Everywhere.

luaforwindows - Lua for Windows is a 'batteries included environment' for the Lua scripting language on Windows. NOTICE: Looking for maintainer.

packer.nvim - A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config

lua-vips - Lua binding for the libvips image processing library

rpi-open-firmware - Open source VPU side bootloader for Raspberry Pi.

luakit - Fast, small, webkit based browser framework extensible by Lua.

sqlite.lua - SQLite LuaJIT binding with a very simple api.

pallene - Pallene Compiler