This is really cool! Please continue doing videos like this!
@sachindraragul109410 ай бұрын
Great intro to Haskell for Javascript devs
@raianmr2843 Жыл бұрын
So many languages, so little time to learn. Right now my learning queue goes like Rust -> Clojure -> Haskell -> programming endgame?. Would've probably started Haskell by now if it were more popular and man do I wish Haskell were more popular.
@ProjectExMachina
9 ай бұрын
How is it going?
@vikingthedude
8 ай бұрын
Clojure is great. I'm a year into it and I love its simplicity. it takes a bit more thought to create an "elegant" solution to problems if you're from an imperative/OOP background, but once that kind of thinking becomes second-nature, the code really does read very well
@user-tx4wj7qk4t
5 ай бұрын
It's pretty popular, but go learn PureScript instead which works on node and the browser
@hashtag9990 Жыл бұрын
javascript will never be fixed, that's the beauty of it.
@raianmr2843
Жыл бұрын
sounds like ur in a toxic relationship my dude
@hashtag9990
Жыл бұрын
@@raianmr2843 if javascipt was to be fixed, it would've been ages ago, and we don't have to rely on transpilers, 100s of frameworks
@echoptic775
Жыл бұрын
@@hashtag9990its impossible to change js cuz you cant make any breaking changes
@vgilalejandria Жыл бұрын
Got a notification from this channel and I was like "who is this girl?, Why I'm subscribe to her?, Why does she have a better voice than I?" Until I realized the channel theme 😛...
@licriss9 ай бұрын
Lol the lodash description for curry is absolutely horrendous
@DB-nl9xw10 ай бұрын
can you explain the a -> a -> a I still don't understand
@stevenpe781
9 ай бұрын
related to partial application (a 2 param fun is in fact a 1 param fun returning a function)
@licriss
9 ай бұрын
The Haskell: a -> a -> a add x y = x + y In plain JS terms that would be like: function add(x) { return (y) => x + y; } And calling it would be like: const x = add(1)(2) In this case 'a' refers to the type for the values, so x, y, z should all be the same type for it to be equivalent to "a -> a -> a" meaning const x = add("Hello ")("Currying") Would also fit that function type
@Takyodor28 ай бұрын
I hope nobody considers "true + 1 = 2" to be a "feature". That language broken, yo.
@taududeblobber221 Жыл бұрын
i watched the first 2 minutes of this and i don't really understand it at all. maybe it's because i only know python and scratch.
@raianmr2843
Жыл бұрын
come back to this video next year, im sure it'll make a whole lot more sense then. i have a whole playlist of videos that i return to every single year and it's testament to my learning that i always find something new in them.
@kazuhisamatsumoto938311 ай бұрын
I'm not fluent in English, so I use Google Translate. Thanks for the interesting video. I'm just starting to re-learn category theory using Haskell and Javascript. I wrote a simple program about function composition, associativity, identity morphism, and unit rate. Javascript f = x => { return (x + 2) } g = x => { return (x * 2) } h = x => { return (x ** 2) } i = x => { return h( g(x)) } j = x => { return g( f(x)) } id = x => { return x } c1 = x => { return h(g(f(x))) } c4 = x => { return i ( f(x) ) } c5 = x => { return h(j (x) ) } c1 (3) => c4 (3) => c5 (3) => 100 c1(id(3)) => c4(id(3)) => c5(id(3)) => 100 id(c1(3)) => id(c4(3)) => id(c6(3)) => 100 Haskell f = \x -> x + 2 g = \x -> x * 2 h = \x -> x ^ 2 i = h . g j = g . f c1 = h . g . f c2 = (h . g) . f c3 = h . (g . f) c4 = i . f c5 = h . j c1 3 => c2 3 => c3 3 => c4 3 => c5 3 => 100 Since Haskell provides id (identity function) as standard, we omit the explanation. The result is similar to Javascript. It was so timely and I was so happy that I commented.
Пікірлер: 21
This is really cool! Please continue doing videos like this!
Great intro to Haskell for Javascript devs
So many languages, so little time to learn. Right now my learning queue goes like Rust -> Clojure -> Haskell -> programming endgame?. Would've probably started Haskell by now if it were more popular and man do I wish Haskell were more popular.
@ProjectExMachina
9 ай бұрын
How is it going?
@vikingthedude
8 ай бұрын
Clojure is great. I'm a year into it and I love its simplicity. it takes a bit more thought to create an "elegant" solution to problems if you're from an imperative/OOP background, but once that kind of thinking becomes second-nature, the code really does read very well
@user-tx4wj7qk4t
5 ай бұрын
It's pretty popular, but go learn PureScript instead which works on node and the browser
javascript will never be fixed, that's the beauty of it.
@raianmr2843
Жыл бұрын
sounds like ur in a toxic relationship my dude
@hashtag9990
Жыл бұрын
@@raianmr2843 if javascipt was to be fixed, it would've been ages ago, and we don't have to rely on transpilers, 100s of frameworks
@echoptic775
Жыл бұрын
@@hashtag9990its impossible to change js cuz you cant make any breaking changes
Got a notification from this channel and I was like "who is this girl?, Why I'm subscribe to her?, Why does she have a better voice than I?" Until I realized the channel theme 😛...
Lol the lodash description for curry is absolutely horrendous
can you explain the a -> a -> a I still don't understand
@stevenpe781
9 ай бұрын
related to partial application (a 2 param fun is in fact a 1 param fun returning a function)
@licriss
9 ай бұрын
The Haskell: a -> a -> a add x y = x + y In plain JS terms that would be like: function add(x) { return (y) => x + y; } And calling it would be like: const x = add(1)(2) In this case 'a' refers to the type for the values, so x, y, z should all be the same type for it to be equivalent to "a -> a -> a" meaning const x = add("Hello ")("Currying") Would also fit that function type
I hope nobody considers "true + 1 = 2" to be a "feature". That language broken, yo.
i watched the first 2 minutes of this and i don't really understand it at all. maybe it's because i only know python and scratch.
@raianmr2843
Жыл бұрын
come back to this video next year, im sure it'll make a whole lot more sense then. i have a whole playlist of videos that i return to every single year and it's testament to my learning that i always find something new in them.
I'm not fluent in English, so I use Google Translate. Thanks for the interesting video. I'm just starting to re-learn category theory using Haskell and Javascript. I wrote a simple program about function composition, associativity, identity morphism, and unit rate. Javascript f = x => { return (x + 2) } g = x => { return (x * 2) } h = x => { return (x ** 2) } i = x => { return h( g(x)) } j = x => { return g( f(x)) } id = x => { return x } c1 = x => { return h(g(f(x))) } c4 = x => { return i ( f(x) ) } c5 = x => { return h(j (x) ) } c1 (3) => c4 (3) => c5 (3) => 100 c1(id(3)) => c4(id(3)) => c5(id(3)) => 100 id(c1(3)) => id(c4(3)) => id(c6(3)) => 100 Haskell f = \x -> x + 2 g = \x -> x * 2 h = \x -> x ^ 2 i = h . g j = g . f c1 = h . g . f c2 = (h . g) . f c3 = h . (g . f) c4 = i . f c5 = h . j c1 3 => c2 3 => c3 3 => c4 3 => c5 3 => 100 Since Haskell provides id (identity function) as standard, we omit the explanation. The result is similar to Javascript. It was so timely and I was so happy that I commented.