- 207
- 241 843
IOG Academy
Mexico
เข้าร่วมเมื่อ 6 ม.ค. 2022
Haskell Course - Lesson 19 - Applicative Functors and Effects
Repo: github.com/input-output-hk/haskell-course
Playlist: th-cam.com/play/PLNEK_Ejlx3x1D9Vq5kqeC3ZDEP7in4dqb.html
Canvas: iohk.instructure.com/enroll/3BAAGG
Outline:
0:00 - Introduction and Outline
0:50 - Why Applicative functors?
6:07 - Function application at the Functor level 🥇
19:04 - Being pure 😇
24:30 - The Applicative type class
29:45 - The Applicative laws
40:41 - 🎆 Programming with effects 🎆
50:24 - Extra functions and Applicative as defined in base
Playlist: th-cam.com/play/PLNEK_Ejlx3x1D9Vq5kqeC3ZDEP7in4dqb.html
Canvas: iohk.instructure.com/enroll/3BAAGG
Outline:
0:00 - Introduction and Outline
0:50 - Why Applicative functors?
6:07 - Function application at the Functor level 🥇
19:04 - Being pure 😇
24:30 - The Applicative type class
29:45 - The Applicative laws
40:41 - 🎆 Programming with effects 🎆
50:24 - Extra functions and Applicative as defined in base
มุมมอง: 707
วีดีโอ
Haskell Course - Lesson 18 - Functors
มุมมอง 4777 หลายเดือนก่อน
Repo: github.com/input-output-hk/haskell-course Playlist: th-cam.com/play/PLNEK_Ejlx3x1D9Vq5kqeC3ZDEP7in4dqb.html Canvas: iohk.instructure.com/enroll/3BAAGG You only need to prove one Functor law: www.schoolofhaskell.com/user/edwardk/snippets/fmap Outline: 0:00 - Introduction and Outline 1:13 - Abstracting the map function 6:10 - Abstracting the Functor type class 19:35 - Defining Functor insta...
Haskell Course - Lesson 17 - Semigroup and Monoid
มุมมอง 4519 หลายเดือนก่อน
Repo: github.com/input-output-hk/haskell-course Playlist: th-cam.com/play/PLNEK_Ejlx3x1D9Vq5kqeC3ZDEP7in4dqb.html Canvas: iohk.instructure.com/enroll/3BAAGG Proving Monoid (and Semigroup) laws: th-cam.com/users/liveV7673JaWXaA?si=tJGxBbmOh6j rtq&t=715 Outline: 0:00 - Introduction and Outline 0:46 - What does it mean to abstract a pattern? 2:48 - Why abstracting patterns (in general)? 3:58 - Tea...
Haskell Course - Lesson 16 - Tips & Tricks
มุมมอง 4289 หลายเดือนก่อน
Repo: github.com/input-output-hk/haskell-course Playlist: th-cam.com/play/PLNEK_Ejlx3x1D9Vq5kqeC3ZDEP7in4dqb.html Canvas: iohk.instructure.com/enroll/3BAAGG Outline: 0:00 - Outline 0:26 - Tips: REPL 2:55 - Hackage 6:30 - Hoogle 9:25 - undefined 19:28 - Type Holes 32:14 - Section's Final Project
Haskell Course - Lesson 15 - Handling Errors
มุมมอง 931ปีที่แล้ว
Repo: github.com/input-output-hk/haskell-course Playlist: th-cam.com/play/PLNEK_Ejlx3x1D9Vq5kqeC3ZDEP7in4dqb.html Canvas: iohk.instructure.com/enroll/3BAAGG Prelude Module: hackage.haskell.org/package/base-4.18.0.0/docs/Prelude.html Outline: 0:00 - Introduction and Outline 3:05 - There're always exceptions to the rule 5:23 - Speed-running exceptions with a dumb self-driving car (Exception, thro...
Node course | Retiring a stake pool
มุมมอง 204ปีที่แล้ว
The handbook for this tutorial is stored here: cardano-course.gitbook.io/cardano-course/handbook/create-a-stake-pool/retiring-a-stake-pool #cardano #course #stakepool
Haskell Course - Lesson 14 - Cabal and Language Extensions
มุมมอง 1Kปีที่แล้ว
Repo: github.com/input-output-hk/haskell-course Playlist: th-cam.com/play/PLNEK_Ejlx3x1D9Vq5kqeC3ZDEP7in4dqb.html Canvas: iohk.instructure.com/enroll/3BAAGG Prelude Module: hackage.haskell.org/package/base-4.18.0.0/docs/Prelude.html Outline: 0:00 - Outline 1:04 - Introduction to Cabal 2:02 - cabal update 3:00 - cabal init 6:09 - Going over the .cabal file 11:48 - cabal build, cabal exec, and ca...
Node Course | Upgrading cardano node
มุมมอง 450ปีที่แล้ว
In this video we learn how to upgrade cardano-node and cardano-cli on a production server.
Haskell Course - Lesson 13 - Modules
มุมมอง 938ปีที่แล้ว
Repo: github.com/input-output-hk/haskell-course Playlist: th-cam.com/play/PLNEK_Ejlx3x1D9Vq5kqeC3ZDEP7in4dqb.html Canvas: iohk.instructure.com/enroll/3BAAGG Prelude Module: hackage.haskell.org/package/base-4.18.0.0/docs/Prelude.html Outline: 0:00 - Outline 1:07 - Importing Modules 9:40 - Managing our environment 13:47 - Managing our namespaces 24:02 - The Forest Game 31:47 - Creating our own mo...
Haskell Course - Lesson 12 - Installing Haskell Locally
มุมมอง 1.4Kปีที่แล้ว
Repo: github.com/input-output-hk/haskell-course Playlist: th-cam.com/play/PLNEK_Ejlx3x1D9Vq5kqeC3ZDEP7in4dqb.html Canvas: iohk.instructure.com/enroll/3BAAGG Outline: 0:00 - Outline 1:39 - Installing GHCup and Haskell tooling 6:21 - Using GHCup 7:44 - Uninstalling everything 8:20 - Installing VSCode extensions 9:33 - Writing, compiling, and running programs 12:17 - Homework
Cardano-node course | How to create and answer polls using the cardano-cli
มุมมอง 400ปีที่แล้ว
cardano-node 8.0.0 introduces the polling feature. A feature proposed and primarily developed by CF to run polls among stake pool operators to get their feedback on a variety of topics. On this video we demonstrate how to create and answer polls. The handbook for this tutorial is stored here: cardano-course.gitbook.io/cardano-course/handbook/module-7-cardano-governance/polls #cardano #course #p...
PPP 041002 - Developing a Dapp with MeshJS and PluTs (Typescript)
มุมมอง 471ปีที่แล้ว
PPP 041002 - Developing a Dapp with MeshJS and PluTs (Typescript)
PPP 041003 - Developing smart contracts with PluTs (Typescript)
มุมมอง 651ปีที่แล้ว
PPP 041003 - Developing smart contracts with PluTs (Typescript)
PPP 041001 - Introduction
มุมมอง 396ปีที่แล้ว
Plutus Pioneer Program, Iteration 4, Lecture 10, Part 1 #course #plutus #cardano #haskell
PPP 041004 - Developing smart contracts with OpShin and PyCardano (Python)
มุมมอง 679ปีที่แล้ว
Plutus Pioneer Program, Iteration 4, Lecture 10, Part 4 #course #plutus #cardano #haskell
PPP 041005 - Developing smart contracts with Plutarch (Haskell)
มุมมอง 498ปีที่แล้ว
Plutus Pioneer Program, Iteration 4, Lecture 10, Part 5 #course #plutus #cardano #haskell
PPP 040907 - Testing our Stablecoin's scripts
มุมมอง 181ปีที่แล้ว
PPP 040907 - Testing our Stablecoin's scripts
PPP 040906 - Burning Stablecoins and Liquidating positions
มุมมอง 201ปีที่แล้ว
PPP 040906 - Burning Stablecoins and Liquidating positions
PPP 040904 - Deploying Stablecoin's Reference Scripts
มุมมอง 244ปีที่แล้ว
PPP 040904 - Deploying Stablecoin's Reference Scripts
PPP 040902 - Using our Stablecoin Dapp UI
มุมมอง 456ปีที่แล้ว
PPP 040902 - Using our Stablecoin Dapp UI
PPP 040901 - Creating our own Stablecoin Dapp
มุมมอง 870ปีที่แล้ว
PPP 040901 - Creating our own Stablecoin Dapp
i'm having error related to docker can anyone tell me about the error: [10333 ms] error during connect: in the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect: Get "%2F%2F.%2Fpipe%2Fdocker_engine/v1.47/version": open //./pipe/docker_engine: Access is denied. in vs code while i'm clicking on Reopen in container it is showing this error: Docker returned an error. Make sure the Docker daemon is running.
Awesome lecture , thank you.
Glad you liked it! 😃 - Robertino
Great lecture Roberto
I meet some issues with npm start. The site opens but in not connected to my nami wallet. Should I maybe run npm run build after npm install? Is something wrong with nami extension?
Your teaching skills are excellent! Thank you!
Thank you so much! 😄 - Robertino
What if the tokens were is different address? lets say token were in Bob Address and the signed by Alice pkh now to burn token if Alice burn token will it burn from Bob's address? or token have to be in same wallet?
If I am not mistaken, Idris is able to constrain and prove associativity of operators, its type system is more powerful than Haskell
Yes!
Robertino, Are you argentinian/italian? Your accent sounds very familiar to me, either italian or rioplatense
I'm Argentinean, from Córdoba. Good ears! 😂
@@iogacademy Buenos Aires, feliz de encontrar a un compatriota!
Great lecture Robertino, I appreciate all you do
In the previous video I chose to set up the environment locally. Can I deploy this demo in my pc instead of using laptop?
For anyone interested there is a fourth iteration available in IOG Academy.
what is the type constructor
Does this apply to the latest cardano node 9.1.x installation ?
Lovely
Thank you Roberto for your well detailed lectures
you are the 1 st who explains what is mean by pattern and i am thankful of you for directly coming to the point
This is very high quality. Using notebooks is a nice touch. Thank you for putting this out!
You really confused lifting and application. fmap is lifting and should be used most of the time. <$> is application and should only really be used in imperative code aka inside of do notation
fmap = <$> literally by definition. So can you explain why fmap should be used most and the latter imperative code? @user-tx4wj7qk4t
@@Byron1694 one is a function and the other is an operator. They're used in entirely different ways. Lifting is about taking a function and turning it into another function which allows for function composition, which is the whole point of fp. Application is applying arguments to functions which is imperative
The canvas link is broken
Great
I would like to suggest that this guide would be better with a different zoom level and perhaps withut live stream of the person
Any advice for a beginner? I was the first in my school to complete our Python ceaser cypher coursework and am know interested in learning Plutus for Cardano smart contracts. I was recommended this course as a beginner to Haskell however I am not sure whether I should be learning more basics. For example, the third question on the homework is an extremely simple problem, but requires knowledge of receiving inputs in Haskell and then to call the function. Code like 'putStrLn "Enter the radius of the circle:'. Which contains syntax we haven't even learnt yet
I decided to continue and have noticed that the lessons from episode 2 are needed to answer homework from episode 01
Hola, tu tienes lecciones de haskell en espanol?
Hey Robertino, thanks for another great lesson!
Thank you, Erez!! 😄- Robertino
Great stuff. What IDE and color scheme are you using? And what is a "cell"? JB
Glad you liked it! I use Jupyter Notebook with a Haskell Kernel for these lessons. It's not a full-blown IDE, but it's great to present! :D
@@iogacademy Thanks for the tip. JB
Great lesson!
Glad you liked it!
Custom Typeclasses are used often... The entire point of them is extension on cases, that's why they exist
Your replace method could be done with one case by using record syntax to just grab the tag
You should be using newtypes for the record types. You should never be directly using int or string
Should've used `(+) . const 1` in the for length. Better would've been using fmap. Real question is why isn't there a foldr'
LOOOOL you missed the opportunity to ask for $99.99
Thanks for the inspiration guys. i have stack to a point... when i try to copy with : cp ./ cardano-node ~/.local.bin/ i get this error: cp: cannot create regular file '/home/sok/.local.bin/': Not a directory any help will be appreciated... or even a link to a help forum will do the job . thanks
Great to have Robertino back!!!!!
Thank you, Juan!! Glad to be back! 😄
--pool-margen 0.05 \
You are so funny :DDD catched me off guard
thanks a lot man!
What I don't understand totally is that I thought there was the need of another computer to generate keys, one that is not connected to the internet ?
You stopped doing step-by-step and lost me at 10:45 when you said "I have already installed Cardano node and I have produced a few things over here."
This is certainly a reversal of thought compared to the more recent object oriented languages that use something like stream.take(10).tail().filter(x -> x > 25).any(even). If the result you're looking for is simply a Bool, will this style of function composition resolve the functions for every element at each step, or will it compose a function that is applied iteratively to each element of the list, so if the first element matches all conditions then it won't continue to evaluate the other elements?
The latter. Haskell is a Lazy language. It will only evaluate what's needed. So, you could check if a list of 1 billion elements *2 contains an even number, and it'll evaluate only the first number. In cases you can short-circuit, Haskell is more efficient than strict languages. That's why, for example, compiler developers have to explicitly add checks at compile-time to simulate what Haskell does and avoid (as much as they can) evaluating things that they won't use.
for those who stucked with lucid /usr/bin/env: 'node': Permission denied error, just issue chown -R root:root lucid on lucid (and lucid-ref-script) folders
Mind-blown, thank you very much!
awesome
Cool! Thank you!!!
Thank you! it was an amazing explanation!!!
consulta. está en castellano?
Do you want to earn through TH-cam?
The docker container. How much download is it now? Earlier it was done in a jiffy.
Thank's PPP
i think in 18:43 `operator` should be `pkh` : ``` -- CS TN pkh rate redeemer context mkWrappedValidatorLucid :: BuiltinData -> BuiltinData -> BuiltinData -> BuiltinData -> BuiltinData -> BuiltinData -> () ```
thank you