Тёмный
Tsoding
Tsoding
Tsoding
Подписаться
Recreational Programming
Making Music with Haskell From Scratch
49:02
4 года назад
Secret Haskell Composition Technique
26:44
4 года назад
Why Linux Has This Syscall?!
2:05:25
4 года назад
K-d Tree in Python #4
11:56
4 года назад
My Haskell Setup
12:17
5 лет назад
Bubble Sort in Python 5
4:06
5 лет назад
What is IO monad?
36:32
5 лет назад
Fold -- HaskellRank Ep.05.1
10:09
6 лет назад
Between Two Sets -- HaskellRank #05
14:07
6 лет назад
Code Warrior -- HaskellRank #04
12:43
6 лет назад
Haskell for JavaScript programmers
16:51
6 лет назад
Комментарии
@Az181
@Az181 3 дня назад
why not isForbidden x = and $ map ($ x) [the list of predicates]
@MatthewPherigo
@MatthewPherigo 7 дней назад
Every time he scrolls down and we see a brief glimpse of the default solution, my jaw drops. I'm glad I don't have to work on a codebase like that.
@Turalcar
@Turalcar 8 дней назад
mmap is versatile in the same way read and write are, i.e. perfectly fine
@rahantr1
@rahantr1 8 дней назад
mmap is a posix system call. It's not supposed to be user friendly. It's supposed to be an interface all posix compliant OSes provide as standard. Old and low level code can't be judged by SOLID principles or design patterns. Those are luxuries that system engineers don't have or need.
@thatstupiddoll
@thatstupiddoll 9 дней назад
As a rust developer, I can confirm, I did go ballistic
@jony1710
@jony1710 9 дней назад
Pretty much nothing using morecore (a.k.a the sbrk syscall) on linux. I think plan9 still uses that approach. It's all mmap as far as I know these days.
@bhavyakukkar
@bhavyakukkar 11 дней назад
I rewrote this in rust
@nathaaaaaa
@nathaaaaaa 13 дней назад
It was an honor to penetrate parsers with you for one hour and 50 minutes
@fennecbesixdouze1794
@fennecbesixdouze1794 13 дней назад
Legendary video. Worth noting that this approach can also be followed in imperative languages (Javascript, anyone?) and leads to an incredibly succinct way of implementing parsers.
@luigidabro
@luigidabro 13 дней назад
Why is he no longer so rotund?
@sadhlife
@sadhlife 7 дней назад
started exercising :D
@shikanokonokokoshitantan
@shikanokonokokoshitantan 14 дней назад
2020 Tsoding: Linus Torvalds 2024 Tsoding: Mark Succerburg
@halfsourlizard9319
@halfsourlizard9319 15 дней назад
1:11:30 Yesssss, I was *hoping* that the punchline was going to be Sieve of Eratosthenes ... Such a classic / nice example ... So satisfying!
@halfsourlizard9319
@halfsourlizard9319 15 дней назад
54:00 Re: Haskell fanatics: You're absolutely right. Trying to 'debug' performance problems in a lazy language is mind-bendingly difficult -- anything that you do to investigate, while it won't change input -> output mapping, *may* change what gets evaluated and when. If you want to checkmate a Haskell fanatic's 'silver-bullet' arguments, ask them why `seq` exists.
@halfsourlizard9319
@halfsourlizard9319 15 дней назад
42:30 It's almost unreasonable how many good ideas there have been in functional languages that have been 'soaked up' by normie languages ... Wonder if dysfunctional (?) / nonfunctional (?) people will ever 'do the induction' and realise that we ought to replace all of the derpy OO / procedural languages with functional ones ...
@halfsourlizard9319
@halfsourlizard9319 15 дней назад
The largest benefit of functional languages is equational reasoning / referential transparency. You can't 'soak [that] up' incrementally; it's a fundamental property of purity that cannot be added to a language with effects.
@halfsourlizard9319
@halfsourlizard9319 15 дней назад
So, this is really call-by-name, rather than lazy evaluation -- things are evaluated only when needed ... but may be evaluated repeatedly. Also, your intuition that thunks are not used to implement this is generally right; traditionally, graph reduction has been used ... afaik, modern GHC uses some more-sophisticated abstract machine (It was STG at some point, but I'm not sure what's being used now.).
@halfsourlizard9319
@halfsourlizard9319 15 дней назад
17:20 Wait ... are there still people who believe that static typing isn't the obvious / only choice!?
@halfsourlizard9319
@halfsourlizard9319 15 дней назад
Why do people who come from Java / OO use `T` as the first type parameter? In functional languages (Haskell, SML, etc.) we start with `A` ... which seems like the obvious place to start.
@andreffrosa
@andreffrosa 15 дней назад
I think it would be cool to now explain monads but instead using an imperative language, like C.
@10Dima01
@10Dima01 17 дней назад
Tsoding was right when he said it's a nice (probably best) video on his channel.
@Sinthoras155
@Sinthoras155 22 дня назад
I really want to add Haskell to my repository of languages I know really good
@kumarjitdas1999
@kumarjitdas1999 27 дней назад
I am a JetBrains user. Am I invited?
@user-kn4wt
@user-kn4wt Месяц назад
8:26 woah that multi-cursor 🤯
@TheCyberBully420
@TheCyberBully420 Месяц назад
ADA 95? from 1995?
@xlcoldj
@xlcoldj Месяц назад
Still "Yes"🧠
@FrankBudino
@FrankBudino Месяц назад
AYO!
@user-su7cg3rh3x
@user-su7cg3rh3x Месяц назад
Awesome explanation, very helpful, thank you!
@AK-vx4dy
@AK-vx4dy Месяц назад
Respect... you really understad Monads and solid chunk of Haskell 🤯
@SecondShiftPleb
@SecondShiftPleb Месяц назад
As I was going to college for CS, Ada was replaced by Java in the curriculum. The general thought was that Ada was a great language, but it was out-of-fashion and too difficult to teach. After a few decades of thinking about it, I think Ada got most everything right in the first place, and most modern languages that followed were just superficial re-writes. I think it's time for Ada to make a comeback. I suppose a lot of people don't like the English-oriented syntax of BASIC/Pascal/Ada, but there's really no reason a more internationally neutral syntax layer couldn't be developed.
@potatopassingby
@potatopassingby Месяц назад
you seemed so nice and soft 6 years ago lmao
@rusi6219
@rusi6219 Месяц назад
going through all that pain with the GUI when you could just emacs -nw
@nincako
@nincako Месяц назад
What is side effect? Since it is not stated, I am stopping this explanation. downvote!
@JackHoffmanRN
@JackHoffmanRN Месяц назад
We have too many people in government talking about things they don't know about. I cringed every time they used the word "algorithm" when questioning that tiktok guy. Like that was their big word for the month.
@dooptydoo90x
@dooptydoo90x Месяц назад
I'm not a programmer by trade, just a hobbyist. I looked into Ada and found it really interesting, but really did get lost in build system goop. I think I may look into it again with this more minimalist, simple mentality and hopefully get more out of it. Good video, thanks.
@valenciawalker6498
@valenciawalker6498 Месяц назад
Thank youu
@stintaa
@stintaa 2 месяца назад
Rewatching your old videos, and this intro hit as hard as it did 4 years ago :D
@mishaerementchouk
@mishaerementchouk 2 месяца назад
24:23 with “Hello from AdaglBlendFunc”. I like the casual example of an out of bounds read achieved in an approved “safe” language. PS Thanks for an interesting overview of Ada. It’s turned out to be quite a curious creature.
@0LoneTech
@0LoneTech 2 месяца назад
I prefer avoiding unneeded indices. divisibleSumPairs k ar = length [x | (h:xs) <- init (Data.List.tails ar), x<-xs, 0==(h+x)`mod`k]
@0LoneTech
@0LoneTech 2 месяца назад
There is a meaning to having templates, in isolating what your task is. The task wasn't to parse input streams into numbers, but to fill in the body of one function. Unfortunately, the scaffolding was indeed ridiculous. E.g. compare: arTemp <- getLine let ar = Data.List.map (read :: String -> Int) . words $ arTemp ar :: [Int] <- map read . words <$> getLine readMultipleLinesAsStringArray = sequence . flip replicate getLine
@cheshy2289
@cheshy2289 2 месяца назад
We all know the answer is Rust
@kreaweb-be
@kreaweb-be 2 месяца назад
I learned Ada in the early nineties. I loved it.
@eliseulucenabarros3920
@eliseulucenabarros3920 2 месяца назад
bro basically speedrun the accession of ADA for the rest of the world with a ready template for games, LMAO
@bordeux
@bordeux 2 месяца назад
nope.
@honkhonk8009
@honkhonk8009 2 месяца назад
hoily fuck this nigga was WIDE before he started cutting. Thats actually insane bro
@MisterFanwank
@MisterFanwank 2 месяца назад
hasn't yet
@NoOne-ev3jn
@NoOne-ev3jn 2 месяца назад
Tsoding is just underrated
@AeroSW
@AeroSW 2 месяца назад
Combination of Snake and Pascal cases (Pascal_Snake case). (camelCase for having humps in the middle of the name like a camel.)
@sealsharp
@sealsharp 2 месяца назад
Today in the category "Video titles that could have existed in the 80ies"...
@Walter-Montalvo
@Walter-Montalvo 2 месяца назад
Oracle PL/SQL was designed from ADA, including the .pls and .plb analog file extensions
@5555S5
@5555S5 2 месяца назад
If anything ever is going to replace c/c++ it's almost 100% going to be rust.
@T1Oracle
@T1Oracle 2 месяца назад
Ada is a beautiful language, but Rust does most of the same thing while being modern. It would make more sense to improve Rust than use Ada.