BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Pentabarf//Schedule 0.3//EN CALSCALE:GREGORIAN METHOD:PUBLISH X-WR-CALDESC;VALUE=TEXT:Minimalistic, Experimental and Emerging Languages devroom X-WR-CALNAME;VALUE=TEXT:Minimalistic, Experimental and Emerging Languages devroom X-WR-TIMEZONE;VALUE=TEXT:Europe/Brussels BEGIN:VEVENT METHOD:PUBLISH UID:9921@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T093000 DTEND:20200202T095000 SUMMARY:Making poetry with Racket DESCRIPTION:
Racket allows us to create languages on the fly. It's extremely practical for making DSLs (domain specific languages), but can it also be used to make art?That's what we'll see in this talk, making (executable) poetry with Racket!
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/racket_poetry/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Jérôme Martin":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:9678@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T095000 DTEND:20200202T101000 SUMMARY:A small, FRP DSL for distributed systems DESCRIPTION:Mgmt is a next gen config management tool that takes a fresh look at existing automation problems.The tool has two main parts: the engine, and the language.This presentation will have a large number of demos of the language.The language is a minimalistic, functional, reactive DSL.It was designed to both constrain the user with safe types, and no core looping constructs, but also to empower the user to build powerful real-time distributed systems.This year we will expand on last years talk by showing more of the core language features like classes, functions, closures and more!Finally we'll talk about some of the future designs we're planning and make it easy for new users to get involved and help shape the project.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/mgmtconfigmore/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="James Shubin":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:9147@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T101000 DTEND:20200202T103000 SUMMARY:XL, an extensible programming language DESCRIPTION:XL is an extensible programming language, designed to grow with Moore's law instead of being killed by it.Extensible means that programmers can add features and notations much like they would add functions or classes in existing languages.The mechanisms are based on meta-programming, and are a bit similar to the macros that gave Lisp its longevity, but with interesting twists.As a proof of this extensibility, basic arithmetic (addition, multiplication, etc) or control statements (if-then-else, loops, etc) are implemented by libraries in XL, yet offer similar performance and usability as built-in features in C++.Another validation of the extensibility is Tao3D, an XL-based interactive graphic language that will be used to give the presentation.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/xllang/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Christophe de Dinechin":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:10224@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T103000 DTEND:20200202T105000 SUMMARY:Forth - The New Synthesis DESCRIPTION:The "new synthesis" of Forth is an ongoing effort in spirit of the Forth Modification Laboratory workshops. Its aim is to identify the essentials of Forth and to combine them in a new way to build systems that can scale-down as Forth always didand can scale-up to large applications and development projects.
The new synthesis is guided by the two principles biological analogy and disaggregation.
We scrutinize many aspects of traditional and modern Forth implementations trying to separate techniques that are normally deeply intertwined. After isolating the techniques we thrive to combine them in new ways.
The talk describes two mile stones of the ongoing project:
preForth (< 500 LOCs) a minimalistic non-interactive Forth kernel that can bootstrap itself and can be used as an easy-to-port basis for a full Forth implementation or implementing other programming languages. It is an open ended language that inherits functionality from the target platform's development tools.
seedForth (<550 LOCs) a minimal stack based extensible programming system accepting tokenized source code. seedForth can be extended in various ways: as stand alone applications, as fully interactive systems, as umbilical target system for embedded system's programming
We try to use Forth wherever possible in order to minimize semantic and formalism mismatches. Everything should be readily available - no hidden secrets.
Of course many of the subjects we are looking at have been used by others in the Forth community and outside - we are dwarfs standing on the shoulders of giants - however we believe our new synthesis to be original.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/forth_new_synthesis/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Ulrich Hoffmann":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:9439@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T105000 DTEND:20200202T111000 SUMMARY:A minimal pur object-oriented reflective language DESCRIPTION:Pharo is a minimalist reflective dynamically typed object-oriented language. Pharo is inspired from Smalltalk: Its full syntax fits on a postcard.Its model is simple: everything is an object instance of a class, methods are all public virtual, attributes are first class objects and are protected. There is single inheritance andtraits. And nothing else! (see http://mooc.pharo.org). Still Pharo is a real language that is started to be used in industry http://pharo.org/success and http://consortium.pharo.org. The entire Pharo stack is MIT.Pharo reflective core is bootstrapped from source code. Experiences shows that we can have down to 11k (adding 2 smallint) and that a simple web app can betrim down to 500 kb.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/pharominimalreflectivelang/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Stephane Ducasse":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:9443@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T111000 DTEND:20200202T113000 SUMMARY:Bootstrapping minimal reflective language kernels DESCRIPTION:In this talk, we present a series of tools to bootstrapping smaller crafted kernel languages.Smaller kernels allow us to run applications in resources limited environments (IoT).Also, it allows us to modify and study language modifications and extensions easing the evolution of new and existing languages.These experiments are performed in a fully debuggable simulated environment, allowing us to overcome common mistakes and problems.This is not only an experimental environment as it allows us to generate production-ready language kernels.
We use Pharo to generate language kernels that are intended to run on top of the Pharo VM.These tools are also used to bootstrap bigger systems as Pharo itself.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/pharominimalrefllangkernels/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Pablo Tesone":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:10710@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T113000 DTEND:20200202T115000 SUMMARY:Universal package & service discovery with Guix DESCRIPTION:GNU Guix is a universal functional package manager and operating system whichrespects the freedom of computer users. It focuses on bootstrappability andreproducibility to give the users strong guarantees on the integrity of the fullsoftware stack they are running. It supports atomic upgrades and roll-backswhich make for an effectively unbreakable system.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/gnuguixpackagemanager/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Pierre Neidhardt":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:9959@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T115000 DTEND:20200202T121000 SUMMARY:GNU Mes DESCRIPTION:Last year GNU Mes brought the Reduced Binary Seed bootstrap to GNU Guix: gcc, glibc and binutils were removed and the size of the bootstrap binaries went down from 250MB to 130MB. This year we introduce the Scheme-only bootstrap: Awk, Bash, Core Utilities, Grep, Gzip, Make, Sed, Tar are replaced by Gash and Gash Core Utils, halving the size of the Guix bootstrap seed again, to 60MB. Next up, the Full Source bootstrap!
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/gnumes/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Jan Nieuwenhuizen (janneke)":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:9993@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T121000 DTEND:20200202T124000 SUMMARY:Lisp everywhere! DESCRIPTION:Minimalism matters in computing. Minimalism allows for smaller systemsthat take less resources and consume less energy. More importantly,free and open source minimalism allows for secure systems that areeasy to understand. Minimalism is also educational and brings back thefun of the early days of computing where people learn to understandsystems from the ground up. As a co-organizer of this devroom I willtalk about my journey through many programming languages and ending upwith Scheme (a minimal Lisp). Lisp is the second oldest language inuse today and growing. I'll show you that once you master Lisp you canuse it everywhere from software deployment, the shell, the editor anddebugging and for programming systems and in the browser. As a matterof fact, Lisp is everywhere!
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/lispeverywhere/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Pjotr Prins":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:9987@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T124000 DTEND:20200202T131000 SUMMARY:Celebrating Guile 2020 DESCRIPTION:Guile maintainer Andy Wingo shares his thoughts on the last lap of the race to Guile 3. We'll go over ways that Guile got faster, more capable, and more minimal at the same time.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/guile2020/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Andy Wingo":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:10269@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T131000 DTEND:20200202T134000 SUMMARY:Introduction to G-Expressions DESCRIPTION:This talk will present an overview of G-Expressions and how the GNU Guix project uses them.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/gexpressionsguile/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Christopher Marusich":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:10415@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T134000 DTEND:20200202T140000 SUMMARY:Let me tell you about Raku DESCRIPTION:Most languages steadily incorporate new programming concepts in new releases, and new languages have these concepts already baked in. These concepts are related to how functions work and are considered and invoked, different data structures and working with things like Unicode. There's a language, Raku, that incorporates most of the new concepts that have appeared in this century. This talk is an introduction to the language by way of the concepts it uses.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/rakulang/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Juan Julián Merelo":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:9683@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T140000 DTEND:20200202T143000 SUMMARY:Minimalistic typed Lua is here DESCRIPTION:In this talk I will present a typed dialect of Lua with a minimalistic implementation. I will discuss the design choices that went into the design, implementation and development approach. We will also discuss whether Lua's minimalism is retained and ponder on the nature of the resulting dialect. This is a sequel for last year talk in which I discussed the challenges on typing dynamic languages and Lua in particular, presenting the results achieved since then.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/minimalistictypedlua/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Hisham Muhammad":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:9735@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T143000 DTEND:20200202T145000 SUMMARY:RaptorJIT: a fast, dynamic systems programming language DESCRIPTION:RaptorJIT is a Lua implementation suitable for high-performance low-level system programming. With the project scope reduced to the systems programming domain we want RaptorJIT fit one use case and excel at it, and we’re not afraid of radical change.
This talk will be about our efforts to reduce the project’s complexity to improve maintain-ablility and pave the way for new features. A story about porting the LuaJIT interpreter from assembly to C, ruthless trade-offs, and ambitious performance targets in an expressive language.
Topics include: predictable performance in JIT compilers, always-on profilers, memory safety in low-level programming
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/raptorjit_lua/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Max Rottenkolber":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:10553@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T145000 DTEND:20200202T152000 SUMMARY:The best of both worlds? DESCRIPTION:Long has raged the war between static and dynamic typing proponents. Dynamic typing promises speedy development, less verbose code, and happier developers. Static typing promises to find bugs earlier, help you fix them when they're found, and ease refactoring. Crystal is a statically typed language, but with several novel features aimed in a different direction: the perfect compromise between the two. In this talk I will cover the history and basics of Crystal, and explore the type system which makes Crystal unique.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/crystal_lang/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Steph Hobbs":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:10220@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T152000 DTEND:20200202T155000 SUMMARY:Nim on everything DESCRIPTION:Nim is an interesting new language whose design is focused around the concept of a small core and great extensibility through a powerful macro system and multiple compilation targets. In this talk I want to showcase how Nim compiles to both C/C++ and JavaScript, and what this means for how easy interoperability and targeting many different platforms can be. Showcasing how the same language can be used for programming anything from the tiniest resource scarce microcontrollers to web-sites or web-technology based desktop applications (like Electron) to normal desktop applications and server applications.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/nimoneverything/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Peter Munch-Ellingsen":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:10238@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T155000 DTEND:20200202T162000 SUMMARY:Move semantics in Nim DESCRIPTION:This talk explains Nim's move semantics and their connection to reference counting, how Nim's model differs from C++ and why move semantics can offer superior performance. Nim with deterministic memory management never has been easier.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/nimmovesemantics/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Andreas Rumpf (Araq)":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:10144@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T162000 DTEND:20200202T164000 SUMMARY:Designing an ultra low-overhead multithreading runtime for Nim DESCRIPTION:While multithreading abstractions are consolidating over a couple of basic primitives around the notion of tasks and futures, under the hood implementations are vastly differing.The abstraction "details" are significant in the current era as developers now have to find parallelism opportunities for 16+ cores on consumer CPUs.
We go over the design space of task-parallel and data-parallel multithreading runtime library and present an unique, scalable approachbased on message passing.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/nimultralowoverheadruntime/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Mamy Ratsimbazafy ":invalid:nomail END:VEVENT BEGIN:VEVENT METHOD:PUBLISH UID:10182@FOSDEM20@fosdem.org TZID:Europe-Brussels DTSTART:20200202T164000 DTEND:20200202T170000 SUMMARY:Async await in Nim DESCRIPTION:The most basic API for async IO that is high level uses callbacks, but working with those becomes convoluted very quickly. A great solution is async await, but implementing it in a language is a complex endeavour. That is unless your language is flexible enough with strong enough metaprogramming support to make it possible to implement it without modifications to the compiler. Nim is one such language and its async await implementation is entirely implemented inside the standard library. In this talk I will describe how async await in Nim works, both at the syntax level and the event loop level.
CLASS:PUBLIC STATUS:CONFIRMED CATEGORIES:Minimalistic, Experimental and Emerging Languages URL:https:/fosdem.org/2020/schedule/2020/schedule/event/asyncawaitnim/ LOCATION:AW1.125 ATTENDEE;ROLE=REQ-PARTICIPANT;CUTYPE=INDIVIDUAL;CN="Dominik Picheta":invalid:nomail END:VEVENT END:VCALENDAR