Difference between revisions of "FOSDEM2023-devroom-proposal"

From LibrePlanet
Jump to: navigation, search
(Devroom organizers)
 
(One intermediate revision by the same user not shown)
Line 12: Line 12:
 
than describe how to accomplish it as a sequence of the programming
 
than describe how to accomplish it as a sequence of the programming
 
language primitives. Declarative programming is the basis for
 
language primitives. Declarative programming is the basis for
functional programming, logic programming and dataflow. At FOSDEM 2021
+
functional programming, logic programming and dataflow. At FOSDEM 2022
 
we organized the Declarative and Minimalistic Computing virtual
 
we organized the Declarative and Minimalistic Computing virtual
 
devroom which was a great success. In past editions, this devroom has
 
devroom which was a great success. In past editions, this devroom has
Line 20: Line 20:
  
 
In this year's virtual conference we will honour the late Professor
 
In this year's virtual conference we will honour the late Professor
[https://en.wikipedia.org/wiki/Dennis_Ritchie Dennis Ritchie] the creator of the C programming language and the Unix operating system.
+
[https://en.wikipedia.org/wiki/Dennis_Ritchie Dennis Ritchie] the creator of the C programming language and the Unix operating system. C was designed as a minimal language
 
+
that reflects the underlying CPU architecture closely, i.e., a high-level assembler. C
 +
is very popular today and the Linux kernel is almost completely written in C.
 +
In this edition we will also invite speakers that are working on new projects and languages in the spirit of C.
 +
 
Minimalism means designing systems that use the least
 
Minimalism means designing systems that use the least
 
hardware and software resources possible. In an era where personal
 
hardware and software resources possible. In an era where personal
Line 35: Line 38:
  
 
Key organizers of this declarative/minimalistic languages dev room for
 
Key organizers of this declarative/minimalistic languages dev room for
big ideas are members of the GNU projects for Mes, Guile, Gash and
+
big ideas are members of the GNU projects for Lua, Mes, Guile, Gash and
 
Guix. We will invite people from many other projects who contribute to
 
Guix. We will invite people from many other projects who contribute to
 
improve today's systems taking declarative/minimalistic approaches.
 
improve today's systems taking declarative/minimalistic approaches.
Line 45: Line 48:
 
# Hacking free software with declarative GNU Guix
 
# Hacking free software with declarative GNU Guix
 
# GNU Mes bootstrapping full free software systems from source
 
# GNU Mes bootstrapping full free software systems from source
 +
# Programming for open hardware architectures
 
# Building domain specific languages (DSLs)
 
# Building domain specific languages (DSLs)
 
# DSLs for logic programming
 
# DSLs for logic programming
Line 52: Line 56:
  
 
   - MES and bootstrappable https://www.gnu.org/software/mes and http://bootstrappable.org
 
   - MES and bootstrappable https://www.gnu.org/software/mes and http://bootstrappable.org
 +
  - Zig programming language https://ziglang.org/
 +
  - D as a better C https://dlang.org/blog/2017/08/23/d-as-a-better-c/
 
   - GNU Guile https://www.gnu.org/software/guile/
 
   - GNU Guile https://www.gnu.org/software/guile/
 
   - Scheme http://community.schemewiki.org/
 
   - Scheme http://community.schemewiki.org/
Line 89: Line 95:
 
   - Manolis Ragkousis (manolis837@gmail.com)
 
   - Manolis Ragkousis (manolis837@gmail.com)
 
   - Bonface Munyoki (me@bonfacemunyoki.com)
 
   - Bonface Munyoki (me@bonfacemunyoki.com)
 +
  - Jonathan McHugh indieterminacy@libre.brussels)
 
   - Arun Isaac (arunisaac@systemreboot.net)
 
   - Arun Isaac (arunisaac@systemreboot.net)
 
   - Amirouche Boubekki (amirouche.boubekki@gmail.com)
 
   - Amirouche Boubekki (amirouche.boubekki@gmail.com)

Latest revision as of 11:23, 10 November 2022

Devroom name: Declarative and Minimalistic Computing

Declarative computing - for big ideas

Devroom description

Declarative programming is a programming paradigm that expresses the logic of a computation without describing its control flow. Many languages that apply this style attempt to minimize side effects by describing what the program must accomplish in terms of the problem domain, rather than describe how to accomplish it as a sequence of the programming language primitives. Declarative programming is the basis for functional programming, logic programming and dataflow. At FOSDEM 2022 we organized the Declarative and Minimalistic Computing virtual devroom which was a great success. In past editions, this devroom has received presentations from a varied number of language communities, including Forth, Guile, Lua, Nim, Racket, Raku and Tcl as well as several experimental projects that push minimalism in new directions.

In this year's virtual conference we will honour the late Professor Dennis Ritchie the creator of the C programming language and the Unix operating system. C was designed as a minimal language that reflects the underlying CPU architecture closely, i.e., a high-level assembler. C is very popular today and the Linux kernel is almost completely written in C. In this edition we will also invite speakers that are working on new projects and languages in the spirit of C.

Minimalism 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. This year we will focus on declarative aspects of programming to make systems simpler, more robust and more secure.

With the expansion of small hardware in phones, the internet of things and embedded systems, free and open source software minimalism and declarative programming is essential to providing secure systems.

Key organizers of this declarative/minimalistic languages dev room for big ideas are members of the GNU projects for Lua, Mes, Guile, Gash and Guix. We will invite people from many other projects who contribute to improve today's systems taking declarative/minimalistic approaches.

Examples of the types of talks we envisage for this dev room are

  1. Declarative Mobile/embedded software development
  2. Distributed applications using Flow-Based Programming
  3. Hacking free software with declarative GNU Guix
  4. GNU Mes bootstrapping full free software systems from source
  5. Programming for open hardware architectures
  6. Building domain specific languages (DSLs)
  7. DSLs for logic programming
  8. Minimalistic virtual machines and OS

Related URLs

 - MES and bootstrappable https://www.gnu.org/software/mes and http://bootstrappable.org
 - Zig programming language https://ziglang.org/
 - D as a better C https://dlang.org/blog/2017/08/23/d-as-a-better-c/
 - GNU Guile https://www.gnu.org/software/guile/
 - Scheme http://community.schemewiki.org/
 - Racket https://racket-lang.org/
 - Minikanren http://minikanren.org/
 - Uxn https://wiki.xxiivv.com/site/uxn.html
 - Interim OS http://dump.mntmn.com/interim-paper/
 - Minimalistic and alternative OS Design https://scribe.rip/@enkiv2/composability-homogeneity-and-language-based-systems-fb00e2c2458

Why should FOSDEM accept this proposal?

Declarative programming and minimalism matters. Declarative programming allows for software that can more easily be reasoned about and is therefore more robust and secure. Minimalism allows for smaller systems that take less resources and consume less energy. More importantly, free and open source declarative software and minimalism allows for secure systems that are easy to understand. We believe these topics are educational and bring 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.

We have been organizing devrooms for some time. We expanded themes by adding minimalistic and experimental languages. Our devrooms have been very popular. We focus on a more theoretical level of software engineering inspired by the current developments in functional programming, logic programming and dataflow. FOSDEM gives our communities a great impulse by getting developers together. This devroom will be a great opportunity to attract new people, new ideas from different backgrounds, as well as gather everyone familiar with the projects to develop new free Software and improve existing projects in one (virtual) place.

Devroom organizers

 - Pjotr Prins (pjotr.public445@thebird.nl)
 - Manolis Ragkousis (manolis837@gmail.com)
 - Bonface Munyoki (me@bonfacemunyoki.com)
 - Jonathan McHugh indieterminacy@libre.brussels)
 - Arun Isaac (arunisaac@systemreboot.net)
 - Amirouche Boubekki (amirouche.boubekki@gmail.com)
 - Hisham Muhammad (hisham@gobolinux.org) 
 - Ludovic Courtès (ludo@gnu.org) - GNU Guile, GNU Guix
 - Jan Nieuwenhuizen (janneke@gnu.org) - GNU Mes project leader
 - Ricardo Wurmus (ricardo.wurmus@mdc-berlin.de)
 - Alex Sassmannshausen (alex.sassmannshausen@gmail.com)
 - William Byrd (webyrd@gmail.com)
 - Oliver Propst (oliver.propst@gmail.com)
 - Julien Lepiller (julien@lepiller.eu)