Group: Guix/FOSDEM2019-devroom-proposal

From LibrePlanet
Jump to: navigation, search
(Create page for FOSDEM 2019 devroom proposal)
 
(Replaced content with "See FOSDEM2019-devroom-minimalism")
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page lists the devroom proposal for the "Minimalistic Languages - for big ideas" devroom.
+
See [[FOSDEM2019-devroom-minimalism]]
 
 
= Devroom name: =
 
 
 
Minimalistic Languages - for big ideas
 
 
 
= Devroom description: =
 
 
 
In computing the term
 
[[https://en.wikipedia.org/wiki/Minimalism_(computing)] [Minimalism]]
 
refers to the application of minimalist philosophies and principles in
 
the design and use of hardware and software. Minimalism, in this
 
sense, means designing systems that use the least hardware and
 
software resources possible. In an era where personal computer
 
perfomance capabilities expanded by orders of magnitude and mainstream
 
software becomes more and more complex, minimalistic programming
 
languages try to remain simple, elegant and use are little resources
 
as possible.
 
 
 
With the expansion of small hardware in phones, the internet of things
 
and embedded systems, free and open source software minimalism is key
 
to low energy use and secure systems.
 
 
 
Key organizers of this minimalistic languages dev room for big ideas
 
are Mes, GNU Guile and Lua. Other programming languages such as
 
Smalltalk, Tcl and Rebol will be asked to contribute talks. We expect
 
a broad interest in this room with very diverse talks.
 
 
 
We are very excited about GNU Mes, for example, because it allows from
 
source builds of Linux and Hurd distributions from a 200 byte
 
bootstrap binary. It consists of a mutual self-hosting Scheme
 
interpreter written in ~5,000 LOC of simple C and a Nyacc-based C
 
compiler written in Scheme.  This mes.c is being simplified to be
 
transpiled by M2-Planet.
 
 
 
GNU Guile is the preferred extension system for the GNU Project which
 
features an implementation of the Scheme programming language, a
 
dialect of Lisp with a mature community. GNU Guile is continually
 
improved where recent milestones were a new compiler infrastructure, a
 
virtual machine implementation, a switch to the Boehm-Demers-Weiser
 
garbage collector and many improvements to the Guile Scheme language
 
itself.  Major performance improvements were demonstrated at FOSDEM
 
with a new optimizing compiler which is now part of the recent 2.2
 
release. Other recent additions are a "sandbox" facility that can run
 
code from untrusted users and improved support for immutable data.
 
Big Guile ideas are GNU Shepherd which is a systemd replacement and
 
the GNU Guix project with over 300K lines of Scheme code to build
 
complete Linux and Hurd reproducible software distributions.
 
 
 
Lua is a powerful, efficient, lightweight, embeddable scripting
 
language. It supports procedural programming, object-oriented
 
programming, functional programming, data-driven programming, and data
 
description. Lua combines simple procedural syntax with powerful data
 
description constructs based on associative arrays and extensible
 
semantics. Lua is dynamically typed, runs by interpreting bytecode
 
with a register-based virtual machine, and has automatic memory
 
management with incremental garbage collection, making it ideal for
 
configuration, scripting, and rapid prototyping. LuaJIT is an
 
alternative implementation of Lua, achieving performance widely
 
considered to be one of the fastest dynamic language implementations.
 
Some big Lua ideas can be found in the gaming community, networking,
 
and in embedded systems.
 
 
 
Examples of the types of talks we envisage for this dev room are
 
 
 
- Mes bootstrapping full free software systems from source
 
- Tiny web servers for embedded systems
 
- Mobile/embedded software development with Lua
 
- Distributed applications using Flow-Based Programming on Racket Scheme
 
- Who Needs JSON when you can DSL?
 
- A Picture Language for Guile
 
- Hacking free software with GNU Guix
 
- Building domain specific languages with Tcl, Lua and Guile
 
- Alternative Lua implementations
 
- Languages that run on the Lua VM: MoonScript, Fennel, Urn
 
- Statically-typed languages based on Lua: Titan, Pallene
 
- Game development frameworks and libraries: Defold, Love2D, etc.
 
- Package management for minimalistic languages
 
- Lua as an in-kernel scripting language
 
 
 
= Related URLs =
 
 
 
  - MES and bootstrappable https://www.gnu.org/software/mes and
 
http://bootstrappable.org
 
  - Lua https://www.lua.org/
 
  - GNU Guile https://www.gnu.org/software/guile/
 
  - GNU Guile libs https://www.gnu.org/software/guile/libraries/
 
  - Scheme http://community.schemewiki.org/
 
  - Racket https://racket-lang.org/
 
  - Smalltalk http://smalltalk.org/
 
  - Tcl https://www.tcl.tk/about/language.html
 
  - Rebol http://www.rebol.org/
 
 
 
= Why should FOSDEM accept this proposal? =
 
 
 
Minimalism matters. Minimalism allows for smaller systems that take
 
less resources and consume less energy. More importantly, free and
 
open source minimalism allows for secure systems that are easy to
 
understand. Finally, we believe that minimalism is educational and
 
brings back the fun of the early days of computing where people learn
 
to understand systems from the ground up. Speakers will be asked to
 
accentuate the educational side of their projects.
 
 
 
Lua and GNU Guile are projects with a growing number of users and
 
active development. In 2016 and 2017 GNU Guile and Lua shared a
 
devroom at FOSDEM in the K building and both were a great success with
 
a continuous full house.  FOSDEM also gives these communities a great
 
impulse by getting developers together and projects like MES started
 
there. This devroom will be a great oportunity to attract new people,
 
new ideas from different backgrounds, as well as gather everyone
 
familiar with the projects together, to develop new free Software and
 
improve existing projects.
 
 
 
 
 
= Devroom organisers =
 
 
 
  - Ludovic Courtès (ludo@gnu.org) - GNU Guile project leader
 
  - Hisham Muhammad - LuaRocks lead developer (hisham@gobolinux.org)
 
  - Ricardo Wurmus (ricardo.wurmus@mdc-berlin.de)
 
  - Jan Nieuwenhuizen (janneke@gnu.org)
 
  - Pjotr Prins (pjotr.public445@thebird.nl)
 
  - Alex Sassmannshausen (alex.sassmannshausen@gmail.com)
 
  - Amirouche Boubekki (amirouche.boubekki@gmail.com)
 
  - Manolis Ragkousis (manolis837@gmail.com)
 
 
 
See also http://community.schemewiki.org/?FOSDEM2019 and http://lua-users.org/wiki/LuaAtFosdem
 

Latest revision as of 00:24, 16 October 2018