Luon is the New Programming Language Combining Lua and Oberon
Luon, a newly introduced high-level programming language, merges syntax elements from Oberon+, Oberon-07, and Oberon-2, while incorporating features from Lua and targeting the LuaJIT VM. With its statically typed design, Luon offers a fresh take on Lua, as reflected in its name, a combination of “Lua” and “Oberon.” The language enables developers to declare external procedures, allowing integration with Lua and C libraries through the LuaJIT foreign function interface. This feature enhances the reusability of existing libraries, making Luon a versatile choice for programmers. The language is announced with a whole new IDE which makes it even better for developers using it. According to the project’s creator, Rochus Keller, the development of Luon stems from his experience with Smalltalk-80 and SOM VM implementation, along with aspirations to create a LuaJIT-based Interlisp VM. While similar to Oberon+, Luon eliminates pointers, relying instead on reference semantics for all structured data types, which are dynamically created. The language introduces key data types such as ARRAY, HASHMAP (ensuring compatibility with Lua), and an immutable STRING type with value semantics. Luon specifically addresses several shortcomings observed in Lua during prior projects, offering improvements such as: Conditional compilation: Enables or disables debugging statements to save computation time. Efficient constants: Eliminates the need for local slots or hashed element access. Inline declaration: Provides better code structuring without additional context switches. Compile-time error detection: Prevents implicit global declarations and other errors. Strict local usage: Ensures locals cannot be used before declaration. Switch/case statements: Reduces repetitive relational expressions. The language specification and sample code are available in the project’s repository, providing developers a comprehensive guide to Luon’s capabilities. Discussions on Hacker News highlight how developers have been waiting for such a programming language. Keller, also present in the discussions, explained that he intercepted his Micron language projects to implement Luon, as this seemed more important to him at this moment.
The language enables developers to declare external procedures, allowing integration with Lua and C libraries through the LuaJIT foreign function interface.
The language enables developers to declare external procedures, allowing integration with Lua and C libraries through the LuaJIT foreign function interface.
["AI in Programming", "Luon Programming Language"]
["Luon Programming Language", "programming_languages:R", "AI", "Ray", "R", "AI in Programming"]
["AI", "Ray", "R", "programming_languages:R"]
Mohit writes about AI in simple, explainable, and often funny words. He's especially passionate about chatting with those building AI for Bharat, with the occasional detour into AGI.