LambdaConf 2015 - How to Learn Haskell in Less Than 5 Years Chris Allen

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

I think there's some great content here, and I really like the speaker's data-driven, results-oriented approach to teaching a language considered arcane by many. I'm wondering though, does anyone else feel dissonance between the speaker's humble, empathetic approach to teaching and his dismissive mannerisms? The mannerisms (sighs, extended arm shrugs, rhetorical questions) remind me of the satirical condescending/exasperated tone of Twitter's HaskellCEO

Some timestamp examples: 1 2 3 4 5

👍︎︎ 8 👤︎︎ u/rarely_beagle 📅︎︎ Mar 18 2016 🗫︎ replies

More like "How to Teach Haskell in Less Than 5 years"

👍︎︎ 3 👤︎︎ u/hyperhopper 📅︎︎ Mar 20 2016 🗫︎ replies
Captions
I'm Chris most of my contributions to ask community centered around helping people learn Haskell this title that's how long it took me I am not particularly smart but I can empathize with how hard it is for people now to be fair this isn't steady progress right I got bouncing off the surface kept trying to come back and I just want to talk about why this seems to be common at least to me among people who try to learn Haskell and does this need to happen I'm not gonna teach you how school in this talk that was yesterday if you missed it I'm sorry yesterday was fanservice I'm not gonna teach you how to teach Haskell takes too long best way to do that is to hang out in the IRC Channel Haskell beginners on freenode just it's not even me teaching other people do an amazing job there I don't even have time to teach there anymore you can learn from them they're a great I'm not gonna convince you to learn Haskell sorry just kind of an axiomatic assumption like we're talking about learning Haskell so I'm not here to do sales and I'm not gonna do that Twitter either so don't bother I haven't heard some of the problems I had and some of the problems other independent learners have had which is another kind of key assumption here I'm talking about independent learners I didn't go to school I don't teach you to university these are all self learners trying to help each other out different assumptions are evolved different limitations are involved so yeah it it took me a long time my dad bought me a copy of world haskell back in like oh seven oh eight pretty copy I didn't get very far partly cause I'm lazy but there there are other issues too yeah let's get them like a stone I kept getting frustrated I would learn a little bit and then I'll try to do a practical project and then I wouldn't understanding the library's no one understand what was going on what's this functor thing why do I need to care why can't I just make it do something and then I would burn out like there's no way this is practical why should I have to care about all this stuff why do I have to learn all the stuff I just wanna make a web app right so yeah I'd like to learn a little bit fail because I try to do a practical project learn a little bit fail on and on for about five years so you know if you go through this experience and it's this frustrating how does anybody who's Haskell how can there possibly any be any happy production users of Pascal just so you're not in suspense I use Haskell production I'm very happy there's a happy ending it's a Disney story but you do start to wonder eventually right like they all have like really high IQs like what's going on maybe there's a secret Haskell cabal oh no that's the package manager so I eventually made it first thing is I'm gonna be honest the way I learned Haskell is not the way I teach Haskell because I don't want anybody else to have to work that hard but the important part is to understand that the way I teach Haskell is not a reflection of how I learned it and we have to remember that most people have a very big disconnect there I spent a lot of time bouncing between different resources if I made people learn Haskell the way I learned it probably at least a year for some people may be slower people like me five years so I've been teaching Haskell for about two years but you should be aware that the beginning of those two years I was really bad really really bad one of the first person first people I gave a tutorial to on functor applicative monad his company now uses Haskell but he did all the work what I taught him was almost useless it was terrible I I'm glad he forgives me basically he was my test subject he was my victim but we also have to be aware of that when we're first starting out teaching we don't have students we have victims we owe them not the other way around we're giving us their time right these days I do in-person tutorials I give talks at meetups I help people via email IRC I pop into Skype and hang out sometimes to do like a quick like 30 40 minute kind of sprint or something they're stuck on this is partly so I get better at teaching oh I should explain the motivation so I started teaching Haskell because I knew that I wasn't gonna be able to use Haskell at work unless I could train my own co-workers because otherwise what am I gonna do tell them to go Google and then they go through the same five years I did we're not gonna get to use Haskell at work if they do that right so I had to know how to train people in order to use the tools that I wanted to use so I had to take responsibility for educating myself and other people turns out I actually just kind of liked teaching that was an accident I didn't actually that wasn't the point as I said earlier some very experienced people who were much better teaching than I am even in Haskell beginners there's you know people that are doing the PhD just you know self-taught people that have no affiliation really diverse group amazing people very nice and we run a pretty tight ship on there it's not quite the open fray that some other IRC channels are you're either getting help you're helping that's it I started the guide about a year ago this was partly so I didn't have to keep like okay do this then that then that and keep writing it out over and over but again this is not just me the guide is input from other people that are also teaching other people Haskell the core recommendations I didn't write either of those courses I didn't write see you someone in for and I didn't write Nick the course Nate of course I found out about through the Australian Haskell hacker community and I also found my CS one in four from the Australian Haskell hacker community by the way the Australian Haskell errs are amazing to get a chance to talk to any of them over the Internet or Twitter please do so there were really nice people and it's been translated German French Spanish how Portugese by volunteers so now people that aren't totally comfortable in English it's listed right at the top of the guide you're white in your own language go here they do trail a little bit because I have a habit of changing things too much but they're there so the career recommendation is to do cs1 for spring 13 specifically I know I know I know there's newer ones I know I checked them every time they get pushed followed by the NICTA course I used to just recommend the NICTA course I don't want to drive people to depression so we warm up with CS 1 & 4 now native course is amazing but it is it was designed for people getting an in-person tutorial so you're running through exercises but you're not doing it on your own you're getting help so when the tutor sees you get stuck they can help you get unstuck and kind of you know figure out how to wiggle into what you're having problems with when you're learning independently you don't have this bi-directional exchange of information they have to just try to anticipate everything upfront that's really hard so that's partly why of the IRC channel to help people get unstuck it's also partly we have the warm up with CS 194 and the recommendations they don't go on the guide unless I've tested them and I don't mean on myself I already know Haskell that doesn't do any good that's not data that's just a person reading we tested with people learning Haskell before it gets recommended to anybody this is important you do not know how difficult it is if you've been doing this for any length of time you do not know how effective it's going to be up front you have to collect data I know the end can't be that large there are limitations but you need to at least try it's very important that you test your learning materials and everything in the guide subject to getting removed modify to replace if somebody makes a better csy for it'll go up right now the newer versions see us one in four they're good but they're not appropriate for a beginners introduction to high school they cover some more intermediate to material which is great but I think they're covering some of the more our stuff in a different class now I have to like tell them like do a couple sections here a couple sectors there I'm not gonna do that the more complicated the guide is the more people just start ignoring it so yeah there's no control group I'm not claiming to be scientific in this process I have to try to run people through stuff get feedback try to find out what works try to identify some patterns right I'm not a scientist I'm sorry I don't I don't have enough volunteers to do that even if I did I wouldn't know how to design a proper educational experiment there's a lot to learn from the University classes but the situation is very different as an example UT University of Texas Austin they have a class where you learn Haskell it's their PL class but that's not a first or second year class you cannot assume the self learners had two years of CS education like just a moment ago even if they've had a CS education how do you know it was the last year what if it's 20 years later I think I remember everything you can't assume that so there's a lot to learn but it all has to be kind of run through this transmogrifier of well but we can't do that because we can't assume that some of the people learning Haskell through the guy through our UC community some of them are students some of them are bored with their classes and want to learn something more interesting but again you don't know where they're at so one of the patterns with Haskell learning materials and this applies to some of the books as well they had this pattern doing show don't tell that's a good start that's not good enough if you don't make them write code and if you don't exercise their ability to synthesize what you've showed them you have to assume it'll go in out gone it won't stick what you're gonna do is you're going to plant some seeds for later but all the pain is going to happen all at once when they go to try to apply that knowledge that's not what you want if you front-load all the pain at once they're gonna burn out and they're gonna quit and you just lost another Haskell user you cannot do that you have to try to figure out an even ramp you also want to reinforce proximal to the material you're introducing as much as possible anyway so you want to you know okay we showed you this do a bit with it show you this do a bit with it dudes the key word don't just show them show them too but showing them is part of the explanation that's not an exercise the exercise follows after that a good example so you want to iterate and have exercises that iterate over a theme it's fine to explain case guards if-then-else separately we do in our book but you need to make them reintegrate it and see how they compare what's similar what's different make them write the same function in two three different ways they aren't going to know how everything relates unless you make them do that if you don't do that they have to do it later all at once then they're gonna get frustrated then they're gonna give up then you lost another hacks a Pascal user okay so I kind of alluded to this most people believe that the way they teach Haskell is the way they learned it I think there are reasons for this it's usually not true most people are have created a narrative around how they learned things that is mostly not true I'm not saying their lives everybody walks around with all kinds of self to Lou right like we all like I believe I'm a nice person that's totally not true but I need to believe it so I can sleep my dog likes me it's good enough so my dog's a nice person so we create these narratives around how we learn things we believe you know we're the you know the super brainy you know Ruffman well okay depends on your cultural background I mean I guess in academia is different but like definitely among the self learners one of the anti patterns if you will they believe that you know the rough-and-tumble haskell well maja specifically I'm just hacker that figured it out and get it all themselves and yeah that's nonsense I've seen all the questions that you know people have to go through on IRC and mailing us getting help is good just to be clear but don't tell yourself that you didn't get help you did you got a lot some of it was synchronous talking to somebody some of it was asynchronous expository explanations in addition to some core course like you're reading something in a book the explanation didn't make sense what the hell is this functor stuff I don't understand it they're just showing me some code and I don't know what's going on then they proceeded to google and go through a bunch of other functor explanations then they understand it but what are they going to tell the next person that wants to learn functor oh I read this book that's not true that's not the whole truth and it's important that we understand that's not the whole truth because otherwise the recommendations we're giving people are subjecting them the same pain that we've already gone through and that's not necessary we can fix that that I shouldn't myth so this is kind of specific to Haskell it might be kind of specific to FP in general we fetishize difficult materials this really has to stop this is bad we are fetishizing materials just because it makes us look smarter that is a tremendous waste of people's time there is an essential difficulty ramp to these materials don't get me wrong fix points figuring out how to pull a fixed point out of a data type instead of direct self recursion in the data type that's definitely that takes a leap beyond just a recursively defined data type so there is in some sense an elaboration is it more difficult I don't know maybe once you've gotten recursion it's not a big deal but there is an elaboration there but does does this mean that the only resources on this topic should be white papers they're dense with jargon that they're not gonna know I'm not saying these papers aren't valuable but they're not written for self learners or for your typical working programmer for that matter I'm also not saying that we should Boulder eyes our terminology you will never hear me call functor mapable there is a specific reason for this the names we use for things are not an opportunity for branding exercises I'm not going to rebrand functor and be like hey look I've invented a computation expression or some nonsense no it's a Monet it has a history you need to be able to know how to look it up if I give it a new name you can't find any of the history of it I have white your ability to find out the entire genealogy of that topic and I've deprived you of the opportunity to deepen your understanding that is also just in my opinion totally unacceptable and that has to stop we have to tell them where to find out more we don't have to tell them all at once we don't have to tell them in one resource but citations footnotes more here something like that that would be great that would be an immense help like you write about a topic I use these papers to write about this topic learn more here stuff like hassles often wanna learn category theory because I think they need to I'm not really in Ithorian category thing I don't understand category theory but I will say that I am a happy and productive user Pascal who is able to understand the advanced talks that scene so far with no true meaningful understanding of category theory so at least to that extent we can say that it's not strictly necessary I do think it informs a lot of new developments in Haskell so if you want to be on the frontier and develop new interesting stuff it helps to know what's already been done category theory is very important for that but if you just want to use Haskell or some similar language not there's very many of the are like Haskell you don't need to learn category theory you don't but if you want to awesome but yeah like recommending McClain's you're wasting their time that was written for grad students who've just gone through a bunch of mathematics education this is this is like buying the art of programming and leaving it on your bookshelf that's not how you learn category theory unless you're a grad student but you're not so don't don't do that I mean unless you know your audience really well and you know they're actually gonna be able handle a book there's always caveats but come on so yeah we we recommend material that makes us look smart like oh I learned it using the super hard thing when really the truth is I read some blog articles about category theory you're not helping people when you do that you have to get off the happy path has stolen my opinion has good tie fairs for people who understand them and are used to them for beginners there are some problems Simon Peyton Jones knows about these problems he would love it if somebody worked on that worked on making the existing errors more beginner friendly and they've even posited the idea of having beginners mode that would add kind of helpful suggestions like maybe this is happening maybe you made this mistake that kind of thing but when you're introducing people to a concept or some syntactic construction you need to anticipate what they might get wrong what if they miss type this what if they forget a bracket whatever do they get is it going to say syntax error or is it going to give them a bogus type error you can't anticipate everything but you need to get off the happy path sometimes show them what it looks like explain the type error and why it may not sound like it's about what they actually did wrong yeah you my co-author has been adding a lot of the non happy path stuff partly because she has a bit more proximity to having these confusions so she's a great job on those so far so yeah you have to get off the happy path so I mean the guy I put together I only know if somebody had a problem if they come tell me right I mean I have my own personal experiences learning Haskell I worked with my co-author and helped her learn Haskell these days she's really just learning it from the book as she goes though which is good because that tests the material in addition to the other people we test with all right if I don't if we don't know then we don't know there's any number of unbounded people dropping out failing having problems with the learning material and we just don't know so that's another problem I chose to optimize minimizing the rate of which people drop out basically trying to optimize for avoiding burnout that's the main consideration just keep them going if it takes them one month to learn Haskell well enough to use it fine three months fine six months fine whatever whatever it takes assuming you're not going to quit programming in the next year probably worth your while to learn Haskell that's not a sales pitch just an ROI another problem is that some of the most well known materials for learning Haskell are nowhere they're not really in the top five this is a problem because now the onus is on you to explain to them why they shouldn't use the popular thing fair fair so I wrote a whole blog post about it now some authors on Twitter angry at me fine I'd be happy to work with anybody whose work I've criticized to help them improve it I would be happy to nobody's taking me up on that yet I'm not naming names I'm not doing that sorry I have a blog post I go over at detail and in that context I also mentioned prose so it softens it but because every resource does have good points just be clear every year service does have good points but I can't craft a path for learning Haskell by cherry-picking page numbers out of ten different resources that's ludicrous I'm not going to that I'm not going to expect the readers to do that either so another problem is that most authors and I understand why being in the middle of writing a book myself they they craft one explanation for a topic well what did I mention earlier you read the explanation in the book about functor you reach the end of the chapter about functor you still don't understand functor now you have to go google other resources and explanations my hypothesis and this is not well-established is that people just need to see things from different angles before they really feel like they get it sometimes they actually understand it just don't believe they do sometimes they actually don't understand it another important here part here is you need to so just as I talked about getting off the happy path you need to craft with positive and negative space just like design it's not enough to show them what's good and what works you need to anticipate what they're gonna do wrong what they may want to do because they're just not familiar with it that isn't good or wrong or some kind of misunderstanding and you need to actively target that and excites it and show them why that's not true if you don't do that it just lurks and then you get people thinking functors they're just things like lists they're not not at all so the single explanation problem I'll have a thing up here in a moment to show you why that's a problem but I don't think Haskell is particularly difficult to use I don't think it really needs to be all that difficult to learn I do think there is a high novelty associated with it relative to the programming language already learned if you go from Python to JavaScript what are you really learning syntax most people don't use prototype so don't tell me that makes a difference what is it you call it an object as debbye dictionary how much is really new there I'm not trying to make fun of the languages and just let be honest how many new concepts are they actually learning now if you go from JavaScript to Haskell what are they learning everything from the ground up you're learning how to program so you might as well just write Haskell books as if they're learning how to program because they are there's no point making any analogies they won't make sense so that's why we're writing our book for non-programmers there's no point we can't reuse anything so we'll just assume you don't out a program so most resources don't use like best known effective explanations for most things they do have bright spots some are better than others for example here I'll I'll call out a name and give you a strong example Hutton's book has really good material and parser combinators really good so again the goal here is to prevent dropout we're also assuming that the people aren't going to ask us for help every time they get stuck so we want people to be able to continue to make progress without having to ask for help ideally ideally so okay to ask for help we're just trying to make things easier now if I provide one explanation or one demonstration of each of these concepts is that one explanation going to work harder percent of the time no right so what happens if it works 80% of the time 80% would actually be a tremendous success if you have an explanation that works the first time 80% of the time you have written some truly masterful material really all right what's the problem here they don't have to learn one thing when they go to Haskell right lots of novelty now let's see in a good way it's different right but there is a lot to learn lots of stuff that isn't familiar stuff that doesn't have a sensible analogy to what they already know so the problem is is the by the time we run these people through these 80% filters over and over we're down to 60% of our cohort that's not good that sucks they're going to be really and the 16% they're probably really frustrated already and they haven't even written and what about rails can make a web app in five minutes why can't we in Haskell right I'll give you a hint it's because you're typing rails new not because you're actually programming anyway so how do we avoid this well we avoid this by having elaboration you attack it from different angles and you try to figure out different ways of thinking about the same thing but you ideally want to avoid analogies and things that aren't strictly true it is more permissible in my experience to use approximate explanations earlier in the process of explaining a concept than later so if you want to make the analogy that functors are about containers or lists or something keep-keep that early but try to like you know kind of work on X icing out the bad parts of the explanation later and try to show them how that's not really true or you could just skip the line to the part anyway so they see it worse with functor applicative in monad I'm gonna pick out i/o how many people here know how i/o works in Haskell now we have couple all right more than expected your that or you're really honest crowd all right so here's the problem one problem is that some resources will introduce IO and Moana at the same time they're now really related yes I am oh net were introduced to the programming language at the same time but conceptually there's no meaning there io as a data type doesn't do anything semantically it only does things operationally part of the problem with these explanations about IO in terms of monad is they don't actually tell you anything about what IO does because the IO monad doesn't actually do anything for the purposes of a strict beginner they can pretend it's identity and it doesn't do anything that's not theirs operational differences but what does that reduce Damona that's do the type not the interface you used to work with the type so you need to unclear these things another problem these explanations is that if I tell you that has to perform can perform side effects because an IO call is a prayer to the sun-god raw who will then inject the side effecting code that is approximately as true and useful as most the explanations of Io I've seen if your explanation does not give them the ability to predict what code does when it does or does not have IO at the end of the type and I don't mean the presence of side effects I mean the operational difference don't bother don't even say anything just pretend it's identity because for their purposes it is it doesn't matter either your explanation provides explanatory power explanatory power means they can read it and predict what it'll do without executing it because that's the whole point of this type thing right we should be able to just read code note it does so if your explanation is not in service of that faculty drop it there's no point you'll just be wasting their time and yours so there were a lot of house where resources written in the 90s that were actually pretty damn good but they were written in the 90s why is this a problem well high schoolers really like discovering new things that are useful and that's great that's a good thing we should have languages they're able to evolve however practice has gotten ahead of pedagogy even this phunkderp liggett of monad it's a good start you're still going to need no monad transformers if you write a web app probably unless you use something it just slaps I own everything but you could and I actually think that's valid by the way like when you write your first you know web app after learning some Haskell keep it simple don't don't try to you know go for maximum you know fanciness keep it simple but yeah practice has gotten ahead of of a lot of our learning resources that were already really good so the problem is how do we connect the dots right we've got to catch up one thing to consider is that Mona it's been around in Haskell for a while since 93 I think that was before it was a tight class which is syntactic but applicative not really a thing until 2008 rewrote Haskell was written before that it was pretty important but it's important not just because of how we use it it's actually important cuz actually helps with the understand the whole functor applicative monad thing so let's have a leap from functor to monad that way so I recommend cs1 and for Nick the course because it's a compromise between appropriateness thoroughness and it covers what you need to know also the other reason I recommend this because they have exercises kind of a low bar but the extra is actually pretty good they are difficult and I don't consider that a plus unless it's truly necessary but it works so another thing with it people don't seem their stand is that Haskell kind of builds on things it has a pretty orthogonal design this is great it makes the design simpler more unified cleaner but it does mean that things kind of build on top of each other because we're not just like baking special syntax for every new thing we invent in Haskell we're using the primitives that are already available to us so what do you need to understand to understand functor data constructors type constructors functions function composition some types product type and I did forget something type classes constructor classes who here knows what I mean by constructor class nobody's read the classics all right so constructor classes were inventing gopher it was a dialect I guess a passel this is an alternative implementation the author gopher pioneered constructor classes their constructor class is a construct it's a type class where the instances are not for concrete types they're for type constructors thus constructor class we have since conflated those categories but that's not how we discovered them concrete normal type classes were invented first and then constructor classes came later it's fine to refer to them generically as type classes but we need to where this is actually a leap this is an elaboration that we need to call out as being distinct when we're explaining things we can't just take it for granted the same thing it's not you have a higher kind to type for your type variable for the class that's different that requires explanation so sometimes the history can help understand like how we can convey these things so you can use the hand wave explanation for all funked RF map over lists is kind of like F map over whatever your F is but I'm not fond of it but I know why people use it and again earlier okay but your understanding of functor does not end there it begins there if that's your understanding of function not denigrating anybody but your you've started that's good keep going so it's dangerous if all you tell them but it's just a bootstrap for a more detailed and accurate explanation fine as long as you're making it clear that it's not strictly true well it's true in a lexical sense because you're kind of just swapping out the types of director and you know so alright why is the hand-wave problematic because there are valid functor instances which are perfectly law-abiding which contradicts this intuition right and intuitions are useful that's another thing we don't work backwards from formal definitions that's not how human beings learn I'm just gonna go on point a flag in the ground here we work our way towards formal explanations from informal experiences with those structures you build your way up they develop some familiarity you tell them how the formalization works then they understand the formalization you can't just drop an equation on somebody be like deal with it that's not education that's definition that's a dictionary so don't believe you're helping somebody by doing that but so institutions are good this is how we build our way our way towards a more principled and accurate understanding of what we're working with but we want our intuitions to be accurate right does the intuition of the functors kind of listy hold for the cons type what happens to our f are we doing with F or after the argument not the functor F nothing so if we think a function is being like list this doesn't really work because we're only allowed to not apply that function because b is phantom if like lists the type variable we're mapping over has a witness in the type we are obligated by the type system to use that function to produce the value of a new type it won't let us do anything else but I can just work with this solve simple example and we can see how it's not really true so what is functor really and I'm a little more unfair than I should be here but so acquitting functor with question containers it'll deprive them of some nicer more useful intuitions of where they're gonna find a functor of what a functor is it works okay because like to be honest like a lot of the functors and the stuff we map over in Haskell a lot of them just look like a STS anyway because you're modeling some domain the debate ends up looking kind of like a grammar the grammar is basically an AST right that's a lot of like business logic in Haskell so that intuition kind of holds like a tree basically so that's that's okay it goes it takes you places just not everywhere but examples aren't enough for functor either it's a good start but they've got to do more than that try to stick to the facts again the hand waves penalize them in your mind when you're working out how to write something like associated cost with introducing an approximate explanation yeah because you'll just end up having to roll it back later and then they're frustrated because something they thought was true wasn't so make certain the bootstraps kind of paying for itself so I've already talked about category theory it's I'm not an authority on anyway don't don't listen to me about that um so what do we need to do to learn functor at least as far as Haskell is concerned I'm not talking about category three examples that work example that don't work examples they need to fix that are broken remember happy path right lots of functor instances for data types right lots of code that commends the use of F map invent data types that need a functor different angles if you are simply told something you're probably not gonna learn it here reads read it I'll admit it Haskell Sabra it's not that who reads uh hacker news I really need to know about that okay I have any lobsters in here ah there we go cool all right okay those are great communities especially lobsters and the ask will separate it but what do you do on those sites you're reading right have you ever thought yourself oh I just learned something can you think of anything right now that you learned from those sites that you just read I can't mm-hmm that's news I fair point so news announcements all right well like learning a concept if I write a post about functor on my blog and I post it to lobsters or hacker news or read it and they just read it even if I have exercises they're not gonna do them so are they gonna remember that are they gonna be able to apply that are they gonna understand functor you cannot learn something just from reading it you have to be doing work yes it takes longer but you're gonna stop lying to yourself about what you understand because the exercises are going to force you to generate a it's a proof obligation prove you understand this fill in the proof obligations right no proof and learning you have to do the work you have to do the work it sucks I know but it it takes less time you just do the work then to spend five years bouncing between blog posts uh quick note about learning learn uh Edward Quebec gave a really good talk I think of it yeah Lana jam last year you can find it just by the talk name called stop treading water learning Lauren really good talk it's I think reasonably entertaining you should really check it out and if you're interested in how my co-author and I are teaching hassle we've released our book at Haskell book calm for early access it is not done this is for people that want to contribute they want to help us write the book and it was a lot to ask but we're doing this partly because the book is gonna be really long it's gonna be longer than real-world Haskell we think so we need to start testing material with a wider audience now so that we don't have to do it all once later and we'd also like to know if we need to reorder things and just kind of change our general approach up front so if anything I've said interests you if you think you'd like to learn how score you just like to help us with the book by all means check it out if that doesn't issue that's perfectly okay you still wanna learn Haskell you can't afford the book you don't want to get a book that's super early cuz it is right now check out my guide you can get help and not just my channel but also the the Haskell IRC channel has great people who spent years teaching this stuff it's not always the most helpful explanations but they will help you thank you you
Info
Channel: Confreaks
Views: 38,036
Rating: undefined out of 5
Keywords:
Id: Bg9ccYzMbxc
Channel Id: undefined
Length: 42min 29sec (2549 seconds)
Published: Mon Jan 04 2016
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.