Verse: A New Functional Logic Language • Lennart Augustsson • GOTO 2023

  Рет қаралды 161,146

GOTO Conferences

GOTO Conferences

Күн бұрын

This presentation was recorded at GOTO Copenhagen 2023. #GOTOcon #GOTOcph
gotocph.com
Lennart Augustsson - Principal Programmer at Epic Games
RESOURCES
/ augustsson
/ augustss
github.com/augustss
ABSTRACT
Verse is a new programming language, being designed at Epic Games as the language of the metaverse. Verse is a functional logic language, with a bunch of innovative ideas. Like Haskell, Verse is declarative (a variable in Verse stands for just one, immutable value), and higher order (lambdas are first class). But Verse goes well beyond Haskell, with existential variables, unification, expressions that yield multiple values, and much more besides.
In this talk we'll give you a sense of what functional logic programming is about, what it looks like to program in Verse, and how we can give meaning to Verse programs using rewrite rules. [...]
TIMECODES
00:00 Intro
04:10 Verse: a language for the metaverse
05:47 Do we really need a new language?
07:48 Where are we?
09:23 View from 100,000 feet
11:39 A taste of Verse
12:26 Bindings
13:45 Functions & lambda
14:47 Conditionals & recursion
15:09 Choice
16:04 Binding & choices
17:19 Nested choices
19:02 Nested choices & funky order
20:55 Conditionals
21:51 Comparisons
24:14 Conjunction & disjunction
25:13 Equality
26:16 From choice to tuples
27:04 Order is important
27:21 From tuples to choice
28:18 Generalising for
30:15 Indexing arrays as[i]
31:19 Narrowing
32:27 Function calls & failure
33:33 Separating "bring into scope" from "give value"
35:09 Towards functional logic programming
36:10 Outro
Download slides and read the full abstract here:
gotocph.com/2023/sessions/2896
RECOMMENDED BOOKS
Greg Keast • Verse Code Examples • amzn.to/4aQsfsG
Uberto Barbini • From Objects to Functions • amzn.to/4cMDOmH
Rebecca Skinner • Effective Haskell • amzn.to/3SxTpwY
Vitaly Bragilevsky • Haskell in Depth • amzn.to/3EXpmbe
Venkat Subramaniam • Functional Programming in Java • amzn.to/3bzFNNQ
Clinton L. Jeffery • Build your own Programming Language • amzn.to/3vUeDxJ
/ gotocon
/ goto-
/ goto_con
/ gotoconferences
#Verse #Verselang #VerseLanguage #EpicGames #Metaverse #FunctionalProgramming #Programming #Haskell #FunctionalLogicLanguage #Immutability #Lambda #UnrealEngine #LennartAugustsson
Looking for a unique learning experience?
Attend the next GOTO conference near you! Get your ticket at gotopia.tech
Sign up for updates and specials at gotopia.tech/newsletter
SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
kzfaq.info...
Video Credit
Unreal Engine: • The Matrix Awakens: An...

Пікірлер: 3
@kalsenksangma
@kalsenksangma Ай бұрын
Wow nice video full support like ❤👍🙏
@themcchuck8400
@themcchuck8400 2 ай бұрын
This talk was not well done. Several essential language features were unclear or explanations were contradictory. Are for loops iterators, generators, or some weird other thing? Is (1 | 3) a tuple generator, iterator, or some weird other thing? Verse does not appear to be appropriate for beginning programmers. If you want a programming language that embraces fail states, use Unicon instead.
@palanijohnson1651
@palanijohnson1651 2 ай бұрын
The explanations are quite clear actually. They spent a decent chunk of the talk explaining what choice is and how it works. If you want to look into it more the idea comes from logic programming, where you specify program constraints the engine/runtime/language solves those constraints. In many ways this is higher level than a tuple generator or iterator. You can model iterators/generators with these logic constructs but they can be used to model many other things too. Being "appropriate for beginning programmers" is entirely arbitrary. A talk explaining the unique features of a language will tend to focus on the parts of the language that might be difficult for a beginner to grasp. For example, if I'm teaching a student Javascript I'm not going to immediately introduce them to object prototypes, even though those are one of the fundamental building blocks of the language.
The purest coding style, where bugs are near impossible
10:25
Coderized
Рет қаралды 885 М.
1❤️#thankyou #shorts
00:21
あみか部
Рет қаралды 80 МЛН
Китайка и Пчелка 10 серия😂😆
00:19
KITAYKA
Рет қаралды 2,1 МЛН
100❤️
00:20
Nonomen ノノメン
Рет қаралды 69 МЛН
Rust & Zig Combined • Richard Feldman • GOTO 2023
45:34
GOTO Conferences
Рет қаралды 67 М.
Build Abstractions Not Illusions • Gregor Hohpe • YOW! 2023
47:37
GOTO Conferences
Рет қаралды 15 М.
A Simple Kafka and Python Walkthrough
11:34
Quix
Рет қаралды 6 М.
The Vlang Drama
43:35
ThePrimeTime
Рет қаралды 96 М.
Every Weird Math Paradox
11:15
ThoughtThrill
Рет қаралды 20 М.
Why Everybody Hates Agile • Jesper Boeg • GOTO 2023
47:19
GOTO Conferences
Рет қаралды 6 М.
Choosing Your Language: Python or Mojo?
14:33
ArjanCodes
Рет қаралды 110 М.
Dear Functional Bros
16:50
CodeAesthetic
Рет қаралды 462 М.
📦Он вам не медведь! Обзор FlyingBear S1
18:26
AI от Apple - ОБЪЯСНЯЕМ
24:19
Droider
Рет қаралды 112 М.
keren sih #iphone #apple
0:16
kadangaruan
Рет қаралды 1,6 МЛН
Карточка Зарядка 📱 ( @ArshSoni )
0:23
EpicShortsRussia
Рет қаралды 786 М.
Samsung S24 Ultra professional shooting kit #shorts
0:12
Photographer Army
Рет қаралды 16 МЛН
Дени против умной колонки😁
0:40
Deni & Mani
Рет қаралды 12 МЛН