Sign in to confirm you’re not a bot
This helps protect our community. Learn more

Introduction

0:00

The Flix Principle

1:37

Type and Effect System

3:09

Effect Polymorphism

9:29

Catching Bugs

11:06

Summary: Effect System

12:29

Example: Sorting

17:11

Example: Adding Two Numbers

18:57

Example: Swapping Elements

20:01

Example: ToString

20:50

2 Summary: Region-based Memory

21:55

The Iterator Data Type

25:29

3 Summary: Iterators in Action

29:52

Selective Parallelism

32:46

Example II: Automatic Parallelization

34:46

A Fresh Take on Data Transformations

35:43

Summary: Purity Reflection

36:18

Visual Studio Code Support

37:19

Summary (1/2)

39:47

Outro

40:27
An Introduction to Functional Imperative Programming in Flix • Magnus Madsen • GOTO 2023
141Likes
16,300Views
2023Aug 1
This presentation was recorded at GOTO Aarhus 2023. #GOTOcon #GOTOaar https://gotoaarhus.com Magnus Madsen - Assistant Professor at Aarhus University RESOURCES https://flix.dev https://github.com/flix/flix   / flixlang   Magnus   / magnusmadsendk   https://github.com/magnus-madsen ABSTRACT Flix is a new functional, imperative, and logic programming language under development by programming language researchers at Aarhus University, the University of Waterloo, Universität Tübingen, and by a growing community of open-source contributors. In this talk, I will present several notable features of Flix, including its polymorphic type and effect systems and how to write pure functions in an imperative style. [...] TIMECODES 00:00 Introduction 01:37 The Flix Principle 03:09 Type and Effect System 09:29 Effect Polymorphism 11:06 Catching Bugs 12:29 Summary: Effect System 17:11 Example: Sorting 18:57 Example: Adding Two Numbers 20:01 Example: Swapping Elements 20:50 Example: ToString 21:55 2 Summary: Region-based Memory 25:29 The Iterator Data Type 29:52 3 Summary: Iterators in Action 32:46 Selective Parallelism 34:46 Example II: Automatic Parallelization 35:43 A Fresh Take on Data Transformations 36:18 Summary: Purity Reflection 37:19 Visual Studio Code Support 39:47 Summary (1/2) 40:27 Outro Download slides and read the full abstract here: https://gotoaarhus.com/2023/sessions/... RECOMMENDED BOOKS Richard Feldman • Elm in Action • https://amzn.to/387kujI Tim McNamara • Rust in Action • https://amzn.to/3ux2R9u Jeremy Fairbank • Programming Elm • https://amzn.to/2WhZCE8 Wolfgang Loder • Web Applications with Elm • https://amzn.to/3jblQ3q Cristian Salcescu • Functional Programming in JavaScript • https://amzn.to/3y75jBS   / gotocon     / goto-     / gotoconferences   #FlixLang #Flix #FunctionalProgramming #ImperativeProgramming #FunctionalImperativeProgramming Looking for a unique learning experience? Attend the next GOTO conference near you! Get your ticket at https://gotopia.tech Sign up for updates and specials at https://gotopia.tech/newsletter SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily. https://www.youtube.com/user/GotoConf...

Follow along using the transcript.

GOTO Conferences

1.05M subscribers

GOTO Aarhus 2023

1

Protect Your Code with GitHub Security Features • Rob Bos • GOTO 2023

GOTO Conferences
2

Has My IoT Device Been Hacked? Establishing Trust w/ Remote Attestation • Edlira Dushku • GOTO 2023

GOTO Conferences
3

Reduce System Complexity with Data-Oriented Programming • Yehonathan Sharvit • GOTO 2023

GOTO Conferences
4

Shaping The Future of Developer Productivity with Spotify Backstage • Lee Mills • GOTO 2023

GOTO Conferences
5

Concurrency Oriented Programming in a Modern World • Robert Virding & Francesco Cesarini • GOTO 2023

GOTO Conferences
6

How Work Works • James Lewis • GOTO 2023

GOTO Conferences
7

Pijul: Version-Control Post-Git • Pierre-Étienne Meunier • GOTO 2023

GOTO Conferences
8

Principles For Secure & Reliable Systems • Eleanor Saitta • GOTO 2023

GOTO Conferences
9

Shaping Language in Cybersecurity For People • Ceri Jones • GOTO 2023

GOTO Conferences
10

Writing For Nerds - Blogging For Fun and (Not Much) Profit • Charles Humble • GOTO 2023

GOTO Conferences
11

Java in the Cloud with GraalVM • Alina Yurenko • GOTO 2023

GOTO Conferences
12

Why Most Data Projects Fail & How to Avoid It • Jesse Anderson • GOTO 2023

GOTO Conferences
13

Sonic Pi - BEAM Up The VJ! • Sam Aaron • GOTO 2023

GOTO Conferences
14

How Autonomy Saved One of Spotify’s Most Loved Features • Joakim Sunden • GOTO 2023

GOTO Conferences
15

Agile Transformations Using The “Spotify Model” • Joakim Sunden • GOTO 2023

GOTO Conferences
16

Quantum & High-Performance Computing in The Cloud • Søren Gammelmark & Stig E. Rasmussen • GOTO 2023

GOTO Conferences
17

Remote Working Approaches That Worked (And Some That Didn’t) • Charles Humble • GOTO 2023

GOTO Conferences
18

Next-Generation Cloud Native Apps with Spring Boot 3 • Thomas Vitale • GOTO 2023

GOTO Conferences
19

Have I Been Pwned? • Troy Hunt • GOTO 2023

GOTO Conferences

An Introduction to Functional Imperative Programming in Flix • Magnus Madsen • GOTO 2023

GOTO Conferences
21

Energy-Efficient Software Architecture for Developers • Henrik Bærbak Christensen • GOTO 2023

GOTO Conferences
22

Software Rollout at Scale: Using GitOps to Scale Kubernetes Rollouts • Thor Lange • GOTO 2023

GOTO Conferences
23

Why Is My App SLOw? Defining Reliability in Platform Engineering • Jez Humble • GOTO 2023

GOTO Conferences
24

130 People – No Bosses: Too Good To Be True? • Helle Markmann • GOTO 2023

GOTO Conferences
25

The Treacherous Trek to Development • Whitney Lee & Viktor Farcic • GOTO 2023

GOTO Conferences
26

Concurrency Abstractions for Application Security • Bram Verburg • GOTO 2023

GOTO Conferences
27

5 Tricks To Make Your Apps Greener, Cheaper & Nicer • Holly Cummins • GOTO 2023

GOTO Conferences
28

Enabling Developers in a Multi-Cloud World • Mauricio Salatino • GOTO 2023

GOTO Conferences
29

Future Skills - How to Foster IT Creativity • Louise Overgaard • GOTO 2023

GOTO Conferences
30

Competence Development Through Capture the Flag & Virtual Hacker Labs • Jens M. Pedersen • GOTO 2023

GOTO Conferences
31

Predicting Optimal Temperature in The Transmission System • Maria Jensen • GOTO 2023

GOTO Conferences
32

Making Software & Data Architectures Sustainable • Madeleine Malmsten & Nikhil Srinidhi • GOTO 2023

GOTO Conferences