Logs: liberachat/#haskell
| 2021-08-21 01:31:07 | → | t0zy joins (~t0zy@49.207.193.1) |
| 2021-08-21 01:33:35 | × | t0zy quits (~t0zy@49.207.193.1) (Read error: Connection reset by peer) |
| 2021-08-21 01:35:56 | → | t0zy joins (~t0zy@49.207.193.1) |
| 2021-08-21 01:39:24 | <monochrom> | In the case of State and its "get", I have had weaker students, but still very wise, who didn't understand it, but they were wise because they thought up "I think it would help if you and I together expand 'runState foo 5' by hand to see why 'get >>= ...' isn't given a parameter there so where does the parameter come from?" |
| 2021-08-21 01:39:40 | <monochrom> | It's very brutal, but it worked. |
| 2021-08-21 01:40:59 | <Cajun> | what like entirely desugar it? |
| 2021-08-21 01:41:07 | <monochrom> | Yes. |
| 2021-08-21 01:41:20 | <c_wraith> | be the compiler. inline. simplify. |
| 2021-08-21 01:41:34 | <monochrom> | runState (get >>= \x -> put (x+1) >> get >>= \y -> return y) 5 |
| 2021-08-21 01:41:44 | <monochrom> | evaluate by hand. |
| 2021-08-21 01:42:13 | <Cajun> | i wish i didnt know about do notation until i *actually* understood monads |
| 2021-08-21 01:42:17 | <monochrom> | brutal, but it explicitly shows 5 goes to the 1st get, 5+1 goes to the 2nd get. |
| 2021-08-21 01:42:40 | <monochrom> | Oh yeah that too, another of my trick is to never mention do-notation. |
| 2021-08-21 01:43:22 | <Cajun> | do you teach haskell in uni? |
| 2021-08-21 01:43:40 | × | xff0x quits (~xff0x@2001:1a81:5207:3100:686a:e8fd:47a9:633d) (Ping timeout: 240 seconds) |
| 2021-08-21 01:43:45 | <arahael> | whats this "allow newer" thing in cabal.project that adamCS mentioned last night (probably this morning for most of you here...) |
| 2021-08-21 01:43:48 | <Cajun> | since you mentioned having students |
| 2021-08-21 01:44:17 | <c_wraith> | arahael: it allows cabal to ignore upper bounds when solving the package constraints. |
| 2021-08-21 01:44:31 | <adamCS> | arahuel: It lets cabal ignore the upper bounds...What c_wraith said. |
| 2021-08-21 01:44:37 | <monochrom> | So many of my students are very good, they don't need this expansion to see, they can imagine it just after seeing the definitions of get, >>=, runState, etc. A few are weaker, but only weaker at this level of abstractions and jumps, they just need to see a concrete session of running it through. |
| 2021-08-21 01:44:43 | <adamCS> | arahael: ^ |
| 2021-08-21 01:44:54 | <c_wraith> | arahael: you can enable it for all packages, or specific ones that you know can have newer versions. |
| 2021-08-21 01:45:16 | <monochrom> | What I am still impressed is that they know what they need, they just need my help to ensure that they do it right. |
| 2021-08-21 01:45:49 | <monochrom> | Yes. |
| 2021-08-21 01:45:52 | → | xff0x joins (~xff0x@2001:1a81:523e:7200:987e:5abc:19e1:66f6) |
| 2021-08-21 01:45:57 | <lechner> | haskell needs a teacher |
| 2021-08-21 01:46:03 | <c_wraith> | Yeah, being willing to actually do the work is way more than I saw from the weaker students when I was at college |
| 2021-08-21 01:46:47 | <arahael> | c_wraith: that sounds *possibly* what i want, assuming it works with monadfail. I'll check out the docs. |
| 2021-08-21 01:47:02 | <arahael> | adamCS: thanks :) that gives another option! |
| 2021-08-21 01:47:08 | <adamCS> | arahael: You can do "allow-newer: base" which allows cabal to ignore the upper bound on base in any other package or "allow-newer: diagrams:base" which only allows it in diagrams, e.g., |
| 2021-08-21 01:47:45 | × | t0zy quits (~t0zy@49.207.193.1) (Read error: Connection reset by peer) |
| 2021-08-21 01:47:57 | <Cajun> | ive heard haskell being taught to freshmen and alternatively being taught to upperclassmen (who have already taken an imperative programming course) and the latter being more effective at teaching the language |
| 2021-08-21 01:48:51 | → | t0zy joins (~t0zy@49.207.193.1) |
| 2021-08-21 01:48:54 | <yushyin> | arahael: https://cabal.readthedocs.io/en/3.4/cabal-project.html?#cfg-field-allow-newer |
| 2021-08-21 01:49:50 | <lechner> | Cajun: selection bias? |
| 2021-08-21 01:50:15 | <arahael> | adamCS: that sounds like what i want! so basically unless it actually has an api breakage, it should probably work and i'll find out once it builds (or fails to build). |
| 2021-08-21 01:50:25 | <arahael> | yushyin: thanks - already on it! |
| 2021-08-21 01:50:34 | <adamCS> | arahael: Yep. |
| 2021-08-21 01:50:47 | <yushyin> | arahael: good! ;) |
| 2021-08-21 01:50:48 | <Cajun> | lechner: huh? i meant that ive read teaching HS/FP to people who have programming knowledge bears more fruits than teaching a freshman with limited experience in programming |
| 2021-08-21 01:51:26 | <adamCS> | arahael: Using the more specific version can help you remember which packages might need updating and is a little more controlled, but I usually just start throwing stuff in there until it compiles or I get a compiler error. |
| 2021-08-21 01:51:27 | × | awschnap quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-08-21 01:51:31 | <monochrom> | Hrm, I guess I can see a sweet spot. |
| 2021-08-21 01:51:46 | <lechner> | Cajun: did all of the freshmen take the advanced class? |
| 2021-08-21 01:52:07 | <monochrom> | We already know what happens to teaching to people who boast "40 years in the industry". |
| 2021-08-21 01:52:32 | <arahael> | adamCS: yeah, i've a lot of dependencies, this is a personal side project afterall, so i'll probably do it for specific dependencies. |
| 2021-08-21 01:52:41 | <monochrom> | OTOH a clean slate who hasn't become comfortable with induction thinking is also a lost cause. |
| 2021-08-21 01:52:51 | <Cajun> | im not sure, i read it in `Masterminds of Programming Conversations with the Creators of Major Programming Languages ` |
| 2021-08-21 01:52:57 | <Cajun> | lechner: ^ |
| 2021-08-21 01:53:29 | <monochrom> | OTOOH a very naive kid who haven't thought of questioning the validity of recursion is also fine >:) |
| 2021-08-21 01:53:54 | <lechner> | Cajun: okay, thanks! |
| 2021-08-21 01:56:02 | <arahael> | monochrom: why would you question recursion, though? ;) |
| 2021-08-21 01:56:04 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2) |
| 2021-08-21 01:56:42 | <monochrom> | I know right? Why would anyone? >:) |
| 2021-08-21 01:59:16 | <Cajun> | monochrom: well the reason stated was because they find the supposed power of side effects: "The reason is that students quickly conclude that FLs are toy languages, |
| 2021-08-21 01:59:16 | <Cajun> | since, after all, they were used in their intro classes, mostly on toy examples. And once |
| 2021-08-21 01:59:17 | <Cajun> | they discover the “power” of side effects, many of them never turn back. What a shame!" |
| 2021-08-21 01:59:31 | <Cajun> | the formatted of that really got messed up :P |
| 2021-08-21 01:59:37 | <Cajun> | formatting* |
| 2021-08-21 01:59:51 | × | alx741 quits (~alx741@181.196.68.120) (Quit: alx741) |
| 2021-08-21 02:01:32 | <Cajun> | and then this: "It seems to me that the best things about FP aren’t often appreciated by beginners. It’s only after you’ve programmed for awhile that the benefits become apparent." |
| 2021-08-21 02:03:26 | → | lavaman joins (~lavaman@98.38.249.169) |
| 2021-08-21 02:05:07 | → | sleblanc joins (~sleblanc@user/sleblanc) |
| 2021-08-21 02:05:27 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Ping timeout: 245 seconds) |
| 2021-08-21 02:05:32 | × | supersven quits (uid501114@charlton.irccloud.com) (Ping timeout: 245 seconds) |
| 2021-08-21 02:05:39 | → | supersven joins (uid501114@id-501114.charlton.irccloud.com) |
| 2021-08-21 02:05:53 | <monochrom> | I guess then Paul Hudak's approach would work well for them. HIs book has effects (making pictures, sounds, animations) at early, middle, late points. |
| 2021-08-21 02:05:57 | × | angerman quits (sid209936@charlton.irccloud.com) (Ping timeout: 245 seconds) |
| 2021-08-21 02:06:11 | × | andreas3- quits (andreas303@ip227.orange.bnc4free.com) (Ping timeout: 252 seconds) |
| 2021-08-21 02:06:17 | <monochrom> | The problem is he's dead, his library suffers bit rot. |
| 2021-08-21 02:06:24 | → | angerman joins (sid209936@id-209936.charlton.irccloud.com) |
| 2021-08-21 02:06:44 | × | elcaro quits (~anonymous@45.32.191.75) (Ping timeout: 252 seconds) |
| 2021-08-21 02:06:50 | → | andreas303 joins (andreas303@ip227.orange.bnc4free.com) |
| 2021-08-21 02:07:12 | × | nrr quits (sid20938@id-20938.tooting.irccloud.com) (Ping timeout: 256 seconds) |
| 2021-08-21 02:07:21 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 2021-08-21 02:07:25 | → | alx741 joins (~alx741@181.196.68.120) |
| 2021-08-21 02:07:29 | → | elcaro joins (~anonymous@45.32.191.75) |
| 2021-08-21 02:07:46 | × | mrckndt quits (~mrckndt@user/mrckndt) (Ping timeout: 256 seconds) |
| 2021-08-21 02:07:58 | → | nrr joins (sid20938@id-20938.tooting.irccloud.com) |
| 2021-08-21 02:07:58 | → | mrckndt joins (~mrckndt@user/mrckndt) |
| 2021-08-21 02:08:02 | × | slep quits (~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net) (Ping timeout: 245 seconds) |
| 2021-08-21 02:08:15 | → | slep joins (~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net) |
| 2021-08-21 02:09:55 | <Cajun> | bit rot is such a scary sounding term ): |
| 2021-08-21 02:20:48 | × | alx741 quits (~alx741@181.196.68.120) (Quit: alx741) |
| 2021-08-21 02:22:34 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 250 seconds) |
| 2021-08-21 02:24:27 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 2021-08-21 02:26:40 | × | dtman34 quits (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 2021-08-21 02:29:06 | → | dtman34 joins (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) |
| 2021-08-21 02:32:23 | → | keutoi joins (~keutoi@157.47.6.137) |
| 2021-08-21 02:32:54 | → | zebrag joins (~chris@user/zebrag) |
| 2021-08-21 02:38:22 | → | o1lo01ol1o joins (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) |
| 2021-08-21 02:41:18 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 2021-08-21 02:41:25 | × | td_ quits (~td@94.134.91.77) (Ping timeout: 268 seconds) |
| 2021-08-21 02:42:41 | × | o1lo01ol1o quits (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Ping timeout: 248 seconds) |
| 2021-08-21 02:42:41 | → | td_ joins (~td@muedsl-82-207-238-079.citykom.de) |
| 2021-08-21 02:44:46 | → | drsocks joins (~aaashutos@113.199.143.57) |
| 2021-08-21 02:45:40 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 240 seconds) |
| 2021-08-21 02:53:54 | × | drsocks quits (~aaashutos@113.199.143.57) (Quit: Konversation terminated!) |
| 2021-08-21 03:06:04 | × | dtman34 quits (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) (Ping timeout: 268 seconds) |
| 2021-08-21 03:06:20 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
All times are in UTC.