The main goal of the conference is to allow the
Lua community
to get together and meet in person and talk about the Lua language, its uses, and its implementation. The conference is open to everyone interested in Lua.
The spoken language of the conference is Russian. Some talks will be presented in English, without translation. See the schedule.
First-class functions (a.k.a. closures, lambdas, anonymous functions)
are a hallmark of functional languages, but they are a useful concept in
imperative languages, too.
In most imperative languages, however, first-class functions are an
advanced feature used by seasoned programmers. Lua, by contrast,
uses first-class functions as a building block of the language.
Lua programmers regularly benefit from diverse properties of its
functions for routine constructions such as exception handling, module
definitions, object-oriented programming, and iterators. Moreover,
first-class functions play a central role in the API between Lua and C.
In this talk, we will discuss how the mechanism of first-class
functions has impacted the design of Lua and will also glimpse at its
implementation.
Challenges Building Yet Another Lua Implementation Anton SoldatovIPONWEB
Vanilla Lua interpreter (aka PUC-Rio Lua) is quite fast, and Lua as a
language is designed to be easily embeddable into other systems. But
sometimes there is still a need for an alternative language
implementation: For example, there may be strict business requirements
about performance. At first glance, Lua ecosystem provides means for
building custom implementations of the language: There is a Reference
Manual which covers the language, including libraries and APIs. There
are also test suites (both official and third-party) for evaluating
compliance.
However, while working on a custom Lua implementation, we have faced
certain problems which I'd like to discuss in this talk with the focus
on:
• Interpreting the Reference Manual and integrating the official test suite;
• Choosing among multiple third party validation suites;
• Ensuring compliance for APIs provided by the Lua standard libraries.
Using Lua as a language for fault-resistant distributed backend web-applications Konstantin OsipovTarantool
Tarantool - DBMS and high-load applications server, so it has
special requirements to language. Reliability and performance -
are main values but ease of use is very valued too.
Lua, more specifically LuaJIT 2.1 is our main application language
for today. Recently we added support also for Rust, Swift,
C and C++. We have unique experience of "using" Lua as constantly
investigating accidents and crashes from Tarantool users,
which occurs both in production and developments stages.
So we've got a quite complete picture of requirements for
ideal language for back-end.
So my talk will be dedicated to hypothetical requirements for
"ideal" language: - reliability: program must never end of
host process. - predictability: garbage collection and runtime
actions should be predictable for developer. - security -
language syntax should be safe in runtime. This concerns
usage of undeclared variables and also type system, specifically
behavior at division by 0 or at overflow.
Can Lua become such language?
The rocky road to mcode Javier Guerra GiraldezCloudflare
LuaJIT can run Lua at amazing speeds, but it's often hard to know what
it really does and when, leading to mystification and cargo cults.
Here we follow step by step the journey from Lua source code to the
final machine code actually executed, using Loom as a visualization
and learning tool.
Build airplane yourself! Experience of prototyping online-marketing tools with Lua Dmitry PotapovLogicEditor
Today there are a plenty of tools for Internet-advertisement analysis –
Google Analytics, Yandex.Metrika etc. No less them for management and
automation of context-advertisements: R-broker, K50, Alytics etc.
These tools are good enough for their tasks. When development
of own toolset makes sense? How this toolset may look like, in what
sequence it should be created, what side projects may be useful?
Basing on self-experience, author will try to answer for these and
other questions.
Hard work of making native plugins for a crossplatform game engine Sergey LergSpiral Code Studio
Lua is a beautiful language, it makes complex things easy. In
crossplatform game engines one Lua function can lead to hundreds of
lines of native code (C++/Java/Obj-C) which are hidden from the game
developer and let focus on the end product.
In this talk I show how I create native plugins for the Corona SDK
game engine, how different implementations of the same thing on
different platforms turn into beautiful uniform Lua API.
How to make Lua-developers life better and more pleasant? Artyom ZotovIPONWEB
IPONWEB develops cross-platform solutions for online advertising
market and offers it for clients via SAAS model. Business logic
is implemented in Lua so IPONWEB seeks and hires Lua developers.
Problem:
search on hh.ru for vacancies with Lua keyword returns near 700 CVs.
Compare it with results for other keywords: Perl: 9000 CVs,
Python: 14 000 CVs, PHP: 55 000 CVs.
On job market are very few developers with Lua experience.
IPONWEB business grows very rapidly in recent years and company need
to hire more and more new Lua-developers.
What should be done? Creation of ideal conditions for work and
professional development.
How we are doing it? This is what my presentation will be about :)
Organization
The conference is organized by Alexander Gladysh and the sponsors below.