This presentation was recorded at GOTO Copenhagen 2023. #GOTOcon #GOTOcph https://gotocph.com Lennart Augustsson - Principal Programmer at Epic Games RESOURCES https://twitter.com/Augustsson https://www.linkedin.com/in/augustss https://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: https://gotocph.com/2023/sessions/2896 RECOMMENDED BOOKS Greg Keast • Verse Code Examples • https://amzn.to/4aQsfsG Uberto Barbini • From Objects to Functions • https://amzn.to/4cMDOmH Rebecca Skinner • Effective Haskell • https://amzn.to/3SxTpwY Vitaly Bragilevsky • Haskell in Depth • https://amzn.to/3EXpmbe Venkat Subramaniam • Functional Programming in Java • https://amzn.to/3bzFNNQ Clinton L. Jeffery • Build your own Programming Language • https://amzn.to/3vUeDxJ https://twitter.com/GOTOcon https://www.linkedin.com/company/goto- https://www.instagram.com/goto_con https://www.facebook.com/GOTOConferences #Verse #Verselang #VerseLanguage #EpicGames #Metaverse #FunctionalProgramming #Programming #Haskell #FunctionalLogicLanguage #Immutability #Lambda #UnrealEngine #LennartAugustsson CHANNEL MEMBERSHIP BONUS Join this channel to get early access to videos & other perks: https://www.youtube.com/channel/UCs_tLP3AiwYKwdUHpltJPuA/join 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/GotoConferences/?sub_confirmation=1 Video Credit Unreal Engine: https://youtu.be/WU0gvPcc3jQ
Get notified about new features and conference additions.