I feel a lot better now, knowing that the 4 years it took me to finish I'm A Strange Loop is not out of the ordinary
@danwroy5 күн бұрын
I'm promised a friendly explanation of what a monad is and I get an 18 minute demonstration of composing two redundant functions
@durutheguru24 күн бұрын
i want to be like Latif when I grow up
@paulpinecone2464Ай бұрын
Wow! I finally understand monads! It's a way to make something that's simple sound complicated. I am so glad that someone is worrying about my job security. I'm ready to drink the Kool-Aid as soon as you can help me with one thing. What is the incantation to use when someone asks me what they're for?
@TankorSmashАй бұрын
The file link is down :(
@aliozgurbaltaogluАй бұрын
Max Planck Institute in Marburg and the Philipps University in Marburg has stumbled upon the first regular molecular fractal in nature. April 2024
@BuleriaChkАй бұрын
Godel's "Theorem" is a complete farce and absolute bullshit. Godel assigns a unique number to all the symbols in real numbers via the Fundamental Theorem of Algebra: e.g., the syntactical symbols "+", "-", "x" (multiplication) as well as the actual numbers and powers (e.g. 3^2). By his criteria, a "proof" consists of a tautology on each side of the equal sign. At first, one might think the statement "3 + 4 = 7" is a "proof", since it can be reduced to a sum of units on either side. But that would be a contradiction, according to Godel, because "3 + 4" has a different Godel Number than "7". So the only "proofs" for Godel are G(wff) = G(wff); any other statement is a contradiction by Godel Number. I call BS - a giant twittering machine built on nothing, see my pdfs on physicsdiscussionforum dot org Remember, you read it here first... :)
@durutheguruАй бұрын
i want to be like Latif when I grow up 🥺
@rutwikmore7462Ай бұрын
Thank you for easy explaination!!
@Russ_PaulАй бұрын
I love it when things are described as trivial. I spent 5 minutes trying to figure out what (x + y ) % 12 was calculating. Now onto monads, lol.
@rutwikmore7462Ай бұрын
Awesome
@rutwikmore7462Ай бұрын
Thanks
@andrelu3561Ай бұрын
thx
@SahuaginАй бұрын
so you have generics. monads are just something cool you can do with generics of 1 type parameter. calling them "monads" is actually a bit confusing, because it's really more about the BIND function. there are three steps. (there are some additional technical requirements for these steps to really make you qualify, or else things won't work perfectly, but that's not important to understand the general concepts). (when I say "add a function" below, it means YOU need to DESIGN AND IMPLEMENT these functions. sometimes it will be obvious how to implement them, but you might have to be creative and make decisions about how the meaning of your type should flow when you design these.) step 1: start with a generic type of 1 type parameter. Thing<A>. add to it a Map function. Map converts Thing<A>s into Thing<B>s given a function A -> B. in LINQ this is called Select. for javascript arrays it is called map. doing this makes your Thing a "functor". Map lets you convert Thing<A>s to Thing<B>s converting _only_ the inside part (A and B). The outer enhancement part (whatever Thing does) is unaffected. step 2: add to Thing<A> an Apply function. Apply converts Thing<A>s to Thing<B>s given a Thing<function A -> B>. this is a bit weird but it allows you to merge a Thing<A> with a Thing<function A -> B> and get back a Thing<B> which has its uses. (in practice a Thing<A> does something magical to As; this lets you combine two Things together, one that is wrapping a transformation function. you could apply, for example, an IEnumerable<Func<int, string>> to an IEnumerable<int>.) doing this makes your Thing an "applicative". step 3: add to Thing<A> a Bind function. Bind converts Thing<A>s to Thing<B>s given a function A -> Thing<B>. this allows you to convert Thing<A>s to Thing<B>s while not just modifying the inner part (A and B) but also modifying the outer enhancement part (whatever Thing does). in LINQ this is SelectMany. (notice that Select cannot change the structure of the IEnumerable, it can only modify the internal elements. while SelectMany totally can change the whole structure. you can turn any IEnumerable into an empty IEnumerable with a single SelectMany call; or you can double or triple the number of elements, etc.) adding Bind makes your Thing a "monad". (with some other technical requirements; like you are supposed to be able to create a Thing<A> given an A, but that's kind of obvious.)
@freddykruger8229Ай бұрын
I purchased this book 3 years ago. Still haven't read a page😂. I am attempting to now.
@amanmotghare7196Ай бұрын
Extremly good explaination , IIIT Nagpur students must watch
@carloscoll52492 ай бұрын
Would infinity be a concept that would be considered true but not provable?
@KipIngram2 ай бұрын
I don't fear it - I just have no use for it.
@SahuaginАй бұрын
if you use IEnumerable + LINQ or javascript arrays with map and flatMap, you're already using it
@apppples2 ай бұрын
Is bind a function that takes an Ma to an a? If yes, why not say that, if no... Then I have no idea what a monad is inspite of everything leading up to it in the video being trivial
@SahuaginАй бұрын
bind takes an *Ma* and a function *a -> Mb* and returns an *Mb* . ( *Ma -> (a -> Mb) -> Mb* ). exactly why this is important though still eludes me but I think I'm close to getting it. (in some languages it is called "flatmap" because it "maps" (projects) but also flattens. in LINQ it is SelectMany. Notice that SelectMany projects but also flattens.)
@SahuaginАй бұрын
I basically get it now. Map/Select project the inner value into a new form while maintaining the outer enhancement. Bind/SelectMany project inner values into the monad type but "flatten" them (if you used Map/Select to do this you would get Monads of Monads, which can also be useful). this means that Bind/SelectMany can alter the structure/ehancement part of the monad, which is more powerful than Map/Select (but very often Map/Select is all you need).
@RUMPLEforeskin252 ай бұрын
When you have a high school education in math but still find this absolutely fascinating.. I wish I could go back in time. lol
@ShahFaisalKhan9872 ай бұрын
Which book do you refer sir?
@linz42132 ай бұрын
20+ times watch this, every time I got some new insight, this time is I'm more curious about the address part of the Actor model, it's the key to make it a really useful like Zenoh's key expression, a global dynamic name space, instead of more static integer based IP like address
@ehhhhhhhhhh2 ай бұрын
Wow, why the hell did MIT take this course down?!? I really wanted to know which readings were covered in each lecture. Does anyone know if there's a syllabus that says what the readings are?
@aliozgurbaltaoglu3 ай бұрын
what is the rule for being a tree?
@pedzsan3 ай бұрын
I gave up after 50 minutes. I found this presentation horrible. I can’t put it in a nice way. Five minutes at the Wikipedia page for Monads tells me far more than this presentation did in 50 minutes and he isn’t finished talking.
@SahuaginАй бұрын
sorry I take that back. I more or less get Monads now and this is not a great explanation after all.
@zenicv3 ай бұрын
it is not true that Zeon's paradox is resolved. It is a common fallacy, esp. to assume that Calculus solved it. Zeno was not that silly. He was referring to monism (how things can't be divided) and inherent complexities when you discretize a continuous concept like time or space. I've written a paper on it, refuting the claims of an MIT philosopher. Also, some books on philosophy of metaphysics throws more light into it.
@Failure-lv3lo3 ай бұрын
Hi. Are you alive? 12 years old video and no likes/dislike and only 200 views on this video?
@tdc9533 ай бұрын
At about 54:30, someone asks if we could write a computer program to tell if a program behaves like a recursive program and the lecturer doesn't seem to know for sure. That problem is undecidable, i.e., there is no computer program that can tell if a program behaves like a recursive program. Could be a nice assignment problem for a theory of computation course (I'm assuming there is a computable function that we consider to not be recursive).
@declup3 ай бұрын
SPJ, what a mensch.
@rumfordc3 ай бұрын
> Dont fear the monad > more than 1 hour long > *mission failed*
@sysarcher3 ай бұрын
WOW... I'm seeing this too late into my career! I've tried to explain this stuff without success. THIS IS THE VIDEO TO REFER TO!!
@TheVincent02683 ай бұрын
ik snap er nog steeds geen reet van
@mmxgn3 ай бұрын
Came to this video after a recommendation seeing if I can finally understand monads but alas I failed again. The video has the same shortcomings as lots of other "explaining monads simply" videos on the internet, that is: 1. Start with explaining intuitive and almost obvious concepts, making you think you finally got it. 2. Introducing the bind operator without actually saying what its purpose is, only much later that its somehow related to function composition. 3. Saying, "so you see, it is actually simple" without actually saying WHAT is a monad in all of this writing. Is it the bind operator? Is it a function? Repeating things such as: "See, it's not magic" lots of times doesn't make it more easy to understand. It doesn't help that at the most critical moment the person recording decided to keep the writing of Dr Beckman completely out of the picture. I actually understood much more on a video from "Studying with Alex" which shows step by step BY REGARDING NOTHING AS OBVIOUS how to implement a monad. Of course this was practical knowledge, but as a programmer interested in the monad pattern, that's what I needed. I do not give fault to Dr Beckam, the most difficult things to teach are the obvious ones.
@phol50824 ай бұрын
18:00
@obiwanpez4 ай бұрын
In most modern Precalc classes, students are taught, using a vector method, that squaring a complex number will double its angular component and square its magnitude. Makes it way easier to eyeball z^2.
@bladddeesa4 ай бұрын
Solved the MU puzzle in <10 minutes and feeling pretty proud of myself :)
@RobertCleggRC4 ай бұрын
Xeno, uh, just aim for 2x the distance to the laptop. Travel half the distance. Boom. No calculus. Im the first to have ever answered this without calculus and i didnt go to MIT. I would like my name to go down in the history of philosophy. A full scholarship wouldn't be bad either.
@obiwanpez4 ай бұрын
Him: “I’ll give $20 to the first person to prove MU from only these rules.” Me: “I wonder if this is a Millennial Problem…”
@obiwanpez4 ай бұрын
“When I taught this course two Springs ago…” as a Sophomore. I didn’t get up in front of a class and formally teach a subject until my Senior year, and that was about once every 2-3 class days, since all of us MathEd-majors had to take turns.
@mikebocchinfuso94375 ай бұрын
I have been at it (on and off) for 30 years now and still have not got through it!
@willw25966 ай бұрын
This is the best explanation of every aspect of the type checking notions, which most videos just gloss over. Thank you so much.
@doilyhead6 ай бұрын
Read the book independently while taking "Computability and Formal Languages" at Barnard/Columbia back in the 80s.
@Autom_te6 ай бұрын
For anyone confused he's refering to Erik Meijer and LINQ
@Max115516 ай бұрын
Next level MIT OCW. <3
@v.baranov4506 ай бұрын
Can someone explain 37:25? Does the actor use it's own balance when passing balance + deposit to another actor, or it'll be bould to the receiving actor's balance? Also it seems to me that the actor holds immutable data (balance in this case), but is it required for the actor model to work?
@fabricehategekimana53506 ай бұрын
Thanks for this informative video !
@archer-12036 ай бұрын
Is there a version for dummies?
@malcolmdavis-zl4xy6 ай бұрын
Very interesting! I have a question (if anyone still reads this!). Referring to the snowflake, discussed at about 21:+. Would the perimeter reach a limit of a circle? The circumference being calculated from the extremities of the original snowflake?
@lawofearthКүн бұрын
circle is smooth(differentiable). while snowflake is jaggy and it continued to jaggy persistently if you zoom in
@taggosaurus7 ай бұрын
Nobody is talking about how he made the list 0 indexed at 1:30