- 235
- 249 443
Konfy
United States
เข้าร่วมเมื่อ 12 พ.ค. 2020
Meet us on our next jLove conference on June 25th!
Tickets: www.tickettailor.com/events/konfy/521202
Read about jLove 2021: jlove.konfy.care
Meet all our lovely speakers: jlove.konfy.care/schedule
Tickets: www.tickettailor.com/events/konfy/521202
Read about jLove 2021: jlove.konfy.care
Meet all our lovely speakers: jlove.konfy.care/schedule
Ivan Gromakovskii - Exceptions and concurrency
Special thanks to the Haskell Foundation for supporting the production of this video!
Haskell Love 2021 schedule: emamo.com/event/haskell-love
Haskell Love twitter: _haskellove
While Haskell is pretty much different from mainstream imperative languages like C++ and Java, its notion of exceptions (and their handling) resembles exceptions in imperative languages quite closely. While you are in the `IO` monad, you can throw exceptions of any type (having `Exception` instance) from any place and they can be caught at higher level of the call stack. But the more we delve into the details, the more nuances and differences we will spot. One more of them comes from Haskell's purity: in Haskell, pure functions can throw exceptions, but this mechanism is quite different from exceptions in `IO`. Another source of caveats is concurrency: dealing with exceptions gets more complicated when your application uses multiple threads.
We will start with essential basic facts about exceptions in Haskell and then discuss architecture of full-blown applications using multiple threads.
Haskell Love 2021 schedule: emamo.com/event/haskell-love
Haskell Love twitter: _haskellove
While Haskell is pretty much different from mainstream imperative languages like C++ and Java, its notion of exceptions (and their handling) resembles exceptions in imperative languages quite closely. While you are in the `IO` monad, you can throw exceptions of any type (having `Exception` instance) from any place and they can be caught at higher level of the call stack. But the more we delve into the details, the more nuances and differences we will spot. One more of them comes from Haskell's purity: in Haskell, pure functions can throw exceptions, but this mechanism is quite different from exceptions in `IO`. Another source of caveats is concurrency: dealing with exceptions gets more complicated when your application uses multiple threads.
We will start with essential basic facts about exceptions in Haskell and then discuss architecture of full-blown applications using multiple threads.
มุมมอง: 605
วีดีโอ
Alejandro Serrano Mena - All You Wanted to Know About Type Classes
มุมมอง 1.1Kปีที่แล้ว
Special thanks to the Haskell Foundation for supporting the production of this video! Haskell Love 2021 schedule: emamo.com/event/haskell-love Haskell Love twitter: _haskellove This talk focuses on one important slice of the Haskell language, type classes, from the beginning to the myriad of extensions related to it. The goal is to understand the two axes in which type classes make ...
Ryan Orendorff - Functional Programming + Dependent Types ≡ Verified Linear Algebra
มุมมอง 1.4Kปีที่แล้ว
Special thanks to the Haskell Foundation for supporting the production of this video! Haskell Love 2021 schedule: emamo.com/event/haskell-love Haskell Love twitter: _haskellove Linear algebra is the backbone of many critical algorithms such as self driving cars and machine learning. Modern tooling makes it easy to program with linear algebra, but the resulting code is prone to bugs ...
Anton Kholomiov - Sound design with Haskell
มุมมอง 486ปีที่แล้ว
Special thanks to the Haskell Foundation for supporting the production of this video! Haskell Love 2021 schedule: emamo.com/event/haskell-love Haskell Love twitter: _haskellove [Csound-expression](hackage.haskell.org/package/csound-expression) is a mature and concise library for sound design and music. It's available on Hackage. It's designed for artists with basic knowledge of Hask...
Rebecca Skinner - Make It Purple: An Introduction To Type Level Programming
มุมมอง 2.4Kปีที่แล้ว
Special thanks to the Haskell Foundation for supporting the production of this video! Haskell Love 2021 schedule: emamo.com/event/haskell-love Haskell Love twitter: _haskellove Type level programing is fun, but it has a certain divisive mystique. Type level programs aren't simple haskell, and when you're learning how to write code at the type level you might find yourself force to c...
Dmitrii Kovanikov - One way and another
มุมมอง 423ปีที่แล้ว
Special thanks to the Haskell Foundation for supporting the production of this video! Haskell Love 2021 schedule: emamo.com/event/haskell-love Haskell Love twitter: _haskellove Handling of JSON, YAML, TOML, Protobufs, etc. became an essential part of modern web development. Data processing involves parsing, decoding, encoding, and printing. And usually, the code behind the logic for...
Noon van der Silk - Quantum Computing and Haskell - A Linear Love Story?
มุมมอง 750ปีที่แล้ว
Special thanks to the Haskell Foundation for supporting the production of this video! Haskell Love 2021 schedule: emamo.com/event/haskell-love Haskell Love twitter: _haskellove We will discuss the existing landscape for programming quantum computers, and the challenges. We'll review some research around how to deal with these problems and complexities, and finally we will see how in...
Andrew Boardman - The Historical Futurism of Haskell
มุมมอง 508ปีที่แล้ว
Special thanks to the Haskell Foundation for supporting the production of this video! Haskell Love 2021 schedule: emamo.com/event/haskell-love Haskell Love twitter: _haskellove Andrew from the future talks about the history of Haskell, with an emphasis on developments between the past's (present) experience and the current (future).
Jan Christopher Vogt - Software like Lego - how Haskell naturally delivers on a decades old dream
มุมมอง 449ปีที่แล้ว
Special thanks to the Haskell Foundation for supporting the production of this video! Haskell Love 2021 schedule: emamo.com/event/haskell-love Haskell Love twitter: _haskellove We long dreamed of creating software like Lego, assembled easily from re-usable blocks. Main stream languages have failed here. After 3 years of industry Haskell, I am stunned that out-of-the-box Haskell quit...
Veronika Romashkina - Haskell LOL
มุมมอง 1.4Kปีที่แล้ว
Special thanks to the Haskell Foundation for supporting the production of this video! Haskell Love 2021 schedule: emamo.com/event/haskell-love Haskell Love twitter: _haskellove Robustness, determinism, strongly typed code, predictable behaviour, correctness, compile-time guarantees, safety. These all are the things we love as functional developers. And they are the reasons why we ch...
Thomas Tuegel - Strict Haskell
มุมมอง 796ปีที่แล้ว
Special thanks to the Haskell Foundation for supporting the production of this video! Haskell Love 2021 schedule: emamo.com/event/haskell-love Haskell Love twitter: _haskellove Lazy evaluation is one of the features that sets Haskell drastically apart from other mainstream languages. Because it is so alien, it is often a stumbling block for beginners. Yet among advanced practitioner...
Andrew Lelechenko - Tasty-bench: featherlight benchmark framework
มุมมอง 261ปีที่แล้ว
Special thanks to the Haskell Foundation for supporting the production of this video! Haskell Love 2021 schedule: emamo.com/event/haskell-love Haskell Love twitter: _haskellove The talk is about architecture, UI and UX of hackage.haskell.org/package/tasty-bench, which is a new benchmark framework with an API mimicking `criterion` and `gauge`. Despite its young age, `tasty-bench` has...
Brent Yorgey - Competitive Programming in Haskell
มุมมอง 2.9Kปีที่แล้ว
Special thanks to the Haskell Foundation for supporting the production of this video! Haskell Love 2021 schedule: emamo.com/event/haskell-love Haskell Love twitter: _haskellove Competitive programming is an exciting mind sport where competitors race to solve difficult programming tasks as quickly as possible, either individually or as part of a team. It requires sharp problem-solvin...
Chris Penner - Alternative by example - A typeclass for parsing, concurrency, logic programming
มุมมอง 1.9Kปีที่แล้ว
Special thanks to the Haskell Foundation for supporting the production of this video! Haskell Love 2021 schedule: emamo.com/event/haskell-love Haskell Love twitter: _haskellove This talk is a deep-dive on the Alternative typeclass from `Control.Applicative`, which provides a monoid over applicative functors, we love monoids, and we love applicatives, what do we get when we combine t...
Gergo Erdi - Executable, Synthesizable, Human Readable: Pick Three
มุมมอง 480ปีที่แล้ว
Special thanks to the Haskell Foundation for supporting the production of this video! Haskell Love 2021 schedule: emamo.com/event/haskell-love Haskell Love twitter: _haskellove The great thing about Clash is that it is just Haskell. In this talk, we explore *why* this is great, by showing a simple hardware circuit developed using high-level Haskell abstractions: * Separation of mode...
Gershom Bazerman - The Best Reliable Software Technique You've Never Used: Unions
มุมมอง 500ปีที่แล้ว
Gershom Bazerman - The Best Reliable Software Technique You've Never Used: Unions
Jeremy Gibbons - Continuation-passing style, defunctionalization, and associativity
มุมมอง 3Kปีที่แล้ว
Jeremy Gibbons - Continuation-passing style, defunctionalization, and associativity
Marcin Szamotulski - Protocol pipelining in Typed-Protocols
มุมมอง 296ปีที่แล้ว
Marcin Szamotulski - Protocol pipelining in Typed-Protocols
Mikael Tonnberg - Knowledge as code - why we use Haskell at a fast growing startup
มุมมอง 1.2Kปีที่แล้ว
Mikael Tonnberg - Knowledge as code - why we use Haskell at a fast growing startup
Stephanie Weirich - How to Implement the Lambda Calculus, Quickly
มุมมอง 1.9Kปีที่แล้ว
Stephanie Weirich - How to Implement the Lambda Calculus, Quickly
Adam Fraser - Solve Your Concurrency Problems With ZIO STM
มุมมอง 1.4K2 ปีที่แล้ว
Adam Fraser - Solve Your Concurrency Problems With ZIO STM
Alex Archambault - Scala CLI a more powerful Scala command to get rid of build tools
มุมมอง 9632 ปีที่แล้ว
Alex Archambault - Scala CLI a more powerful Scala command to get rid of build tools
Alfonso Roa Redondo - Fast and furiously safe: type safe programming with Spark DataFrames
มุมมอง 4112 ปีที่แล้ว
Alfonso Roa Redondo - Fast and furiously safe: type safe programming with Spark DataFrames
Arseniy Zhizhelev - Relational Algebra in Scala3 - how is it possible?
มุมมอง 5662 ปีที่แล้ว
Arseniy Zhizhelev - Relational Algebra in Scala3 - how is it possible?
Holden Karau - Practical Spark Encoders + Teaching Kids Apache Spark
มุมมอง 6012 ปีที่แล้ว
Holden Karau - Practical Spark Encoders Teaching Kids Apache Spark
Jacob Wang - Difflicious - Readable and Flexible diffs for your tests
มุมมอง 1982 ปีที่แล้ว
Jacob Wang - Difflicious - Readable and Flexible diffs for your tests
Josep Prat - Preparing Apache Kafka for Scala 3
มุมมอง 4972 ปีที่แล้ว
Josep Prat - Preparing Apache Kafka for Scala 3
Juan Manuel Serrano - To type or not to type: a matter of logic
มุมมอง 3252 ปีที่แล้ว
Juan Manuel Serrano - To type or not to type: a matter of logic
Kacper Korban - Scala 3, but I have trust issues
มุมมอง 3152 ปีที่แล้ว
Kacper Korban - Scala 3, but I have trust issues
very good presentation, will use this for Kotlin
they fix the audio at 5:30
It would probably be better if "Monad" in the Haskell sense was just named "Effect" or something along those lines.
Effect-TS is this but for TypeScript. Inspired by ZIO, and others.
I agree with all the commenters here: very informative and inspiring! Thanks!
0:23
It seems that in Haskell you have to learn several languages rather than just one, you have to see the program, the program written at the type level, the program written using tacit style, the program using the different type classes... Haskell the terminology is completely alien from all other languages and often deliberately misleading like return for wrapping into a monad instead of wrap, join instead of flatten, bind for >>=. Lets not add that names like semigroup, magma, monad, monoid, cartesian closed categories, kleisi arrow, profunctor, mean very little until you learn them. I have an idea of naming Haskell things by their "type/code" like afa for return/liftM0, aifafi for map/liftA, aiufafifu for zipWith/liftA2, =<< would be amiami, $ would be aiai.
Yeah, sorry for the sound. In order to record the screen and merge audio from microphone and the game I fed both audio streams through a mixer. It seems like the game engine's CPU usage sometimes took priority over the mixer, so the mixer started messing up the audio.
Haskell has to compete with Scala(too complex), swift, Julia, Rust, Ocaml, reasonml, Python, Clojure, Racket, Eff language. If Haskell moves to the Jvm, Python byte code, web assembly, hmm
We need a good Haskell ide that shows data flowing through your functions, can easily apply rewriting rules to code so you can see the various different ways that code can look like, we also need automatic ways to rewrite your program so that monads and extra arguments are automatically threaded through your program. Haskell also needs a solver to help you code sort of like Agra and ide is. Also haskell should merge with hose languages. Another thing is Haskell should come with template haskell macros that can do trace rewriting so that people can visualize Haskell code easily.
I never thought of Kan extenstions this way, but it makes a lot of sense. Great food for thought!
Yes. Kotlin is definitely way better than Scala. I'd like to see Kotlin as the official API language for Spark.
It's nice to go back to this talk! Thanks a lot for the presentation.
This is the best explanation of the effects system ever. I was trying to explain it to my colleagues and this is the talk they need ! Thx you you ROCK!
ZIO is slow like a snail, trashes the GC by generating a ton of garbage objects for even the simplest computations, and has a ton of pointer redirections that bust the cache. Keep your (mutable) Actors, you are going to get 3x performance.
ZIO is basically a bunch of leaky abstractions in one library.
Very useful sugar explanation! 🔥🔥🔥
🔥🔥🔥
Another banger, thanks man
At first I thought this cli feature would be great for our very large cli system. We are seriously considering converting all our TCL code to Scala/Java. But now I don’t think so. We should use Maven and target all our Scala and Java code to native binary files and run each file with a simple ./xyz -arg1 -arg2 … Shouldn’t we be able to do this without any shell scripting?
This video could have been so much better if it had focused on topics that everyone could relate to. I had to think hard about the last time I had to program a memoize operator, and I probably never have. I don't even know what a memoize operator is. Now I'm forced to learn about memoize and operators just to follow along? There are so many other interesting topics and problems that could have been the backdrop of this talk, ones that people actually have to solve without all the quantum physics operatot jargon. I don't understand why the Scala community, by and large, is so cerebral. Sorry for the rant, but if everyone wonders about Scala's decline, that's a big chunk of the problem. Meager 1.1k views after 1 year speaks for itself.
I am really rigorously trying to stay away from the value-type dichotomy. So at around 14:00, I would say "Vec N is a dependent type because it depends on members of other types, in this case natural numbers which are members of type Nat". I think that presenting value-type dichotomy is the single biggest roadblock when it comes to practitioners understanding dependently type languages.
I would love to see this presentation revamped in light of Java 21 Virtual Threads, Structured Concurrency, and Scoped Values...
This talk is already talking about this.
And it talks about it. The runtime system of effects system has more features that loom is offering. I also see loom as not bringing values to Effect System usage. The loom can be exploited in the runtime implementation of the effect system.
@@MrDejvidkit too bad cala is DOA
Really great presentation. I just loved it.
8:30 bless this man...bless this man!
I thought the factorial problem would check for huge enough numbers so people cheating with an arbitrary large integer data type would fail due to inefficiency. Note that: H> (\k -> product [1..k] `mod` 10 :: Integer) <$> [0..] [1,1,2,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0..]
I only hate how bad is the caption in broken French. I need to translate it back to English to guess the intented meaning. I usually do not have this problem on other YT channels. An example: The French phrase "calculs de compilateur basés sur la pile que je connais" is probably meant to refer to the "the stack-based compiler computation that I know", while it actually means "compiler computation based on the stack that I know". Like if the guys knows a precise stack and he based his computation on it ? In French as in English. the definite article "the" changes everything, and it looks likes the model misinterpreted the expression "the stack-based x" as meaning the same thing as "x that is based on the stack" instead of "x that is based on a stack".
Thanks for a great talk! Do you have a recording of the last topics you had to skip over anywhere?
Great talk
Thanks for a great !talk
Auto wiring of JobScedular is not working
you should update version your jonrunr in maven\gradle to 5.x.x and more
getting following error, what can i do ? Description: Parameter 0 of constructor in com.example.demo.JobController required a bean of type 'org.jobrunr.scheduling.JobScheduler' that could not be found.
A great demonstration, thank You!
terrible speaker
Half of the screen is dedicated to a white background and the "Haskell Love conference" branding. Really? Who was the genius who decided that only one-third of the available space should be enough for the code section in a presentation about competitive programming?
Is it possible to integrate jira with gitbucket?
I was intrigued by the speaker's book before seeing this but now I have to read it and learn how to better weild the type system. Amazing talk.
Good overview
Great work. You created an interesting DSL, that is complex enough to make generalisations for other domains. I'm waiting eagerly for your book.
🤮
Vomiting on thyself are you?
Interesting intro to making sounds in Haskell. Very unfortunate that the talk is abruptly cut at the end...
For people watching on small screens, could you make the slides larger in the future?
On mobile, they added zooming, which made this easier, but yeah larger text would have gone a long way. Great talk!
Thank you for the insight!
Love this! also this remind me of Haskell Love 2020 video, th-cam.com/video/wppzFzzD4b8/w-d-xo.html
Thank you for this great keynote, and you've described and summarized perfectly the pathway (by chance and experimentation) I've followed this past two years :)
Esto on top lowz K
At last we get to see Haskell Love 2021
At 8:55, you said that the compiler didn't freak out when using an IsLabel instance and an ambiguous reference to a field name, but GHC 9.4.2 complains about an ambiguous reference when I define such an instance.
I missed this. Is there a way to watch it now?
Such a knowledgeable guy