![Javascript to Elm artwork](https://is5-ssl.mzstatic.com/image/thumb/Podcasts123/v4/ae/06/b5/ae06b52b-64ae-9a7e-1f31-b293a2085da9/mza_3840978457865575010.png/100x100bb.jpg)
66: Getting Haskell Lesson 21
Javascript to Elm
English - January 17, 2019 11:00 - 19 minutes - 15.9 MB - ★★★★★ - 4 ratingsTechnology elm javascript programming Homepage Download Apple Podcasts Google Podcasts Overcast Castro Pocket Casts RSS feed
We are getting to apply all that theory we went over into command line examples, building on what we've learned brick by brick. It's getting pretty exciting to actually understand most of what's going on!
Haskell IO Doing the exercises Haskell read, let’s us take a String IO and read out a Double
2 value assignments in the where clause, but got an error til the spacing lined up?
unit-4/pizzaCost.hs:15:32: error: parse error on input ‘=’ Perhaps you need a ‘let’ in a ‘do’ block? e.g. ‘let x = 5’ instead of ‘x = 5’ Do Notationa member of the type class Monad
Maybe is also a member of Monad
I always try to spell pizza with an ‘e’ instead of an ‘a’. lol
do-notation as a convenient way to perform IO actions in Haskell
It’s important to contextualize this statement with where and when. We are 1/2 half into a getting started book for Haskell. Is this a complete definition of do-notation ? Most certainly not. Is it the most complete, and comprehensive? not likely, remember I’m just getting started, a novice.
The point is, when it comes to teaching or conveying your ideas, there is a point of diminishing returns for how much information you give the student. Too little, and they’ll be confused and incomplete Too much, and you’ll overwhelm them, and you guessed it confuse them. Richard Feldman’s Teaching Elm. What you leave out is just as important as what you talk about. What gets the student to their goal directly? NOT what is the most complete and comprehensive explanation. These are fundamentally different goals. Is the goal to get it working? or to understand it on a deeply theoretical level? That will help to guide and weight just how much to give. RecapIO is a specialized parametrized type
It’s purpose is to isolate the messy outside world of Side Effects from the pure reasonable logic of our Haskell program.
do-notation allows us to write Haskell as if we weren’t stuck in IO, it’s context contains the side effects for us, and won’t let it escape.
Questions Left Open
Map.Map Int Double as a Type signature Map.fromList [(1, 20.0), (2, 15.0)] What am I looking at for a return ?I guess we could do an entire episode on Map ?
Next up Lazy I/O !!!!
Resources Get Programming With HaskellRichard’s Elm Conf 2017, Teaching Elm to Beginners
FollowJavaScript to Elm
Twitter: @jstoelmEmail: [email protected]
Jesse Tomchak
Twitter: @jtomchak