Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2020-11-11 18:06:54 × evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Quit: ZNC 1.8.2 - https://znc.in)
2020-11-11 18:07:34 <p0a> what does {..} mean?
2020-11-11 18:07:43 <p0a> I see stuff like `return Authority {..}'
2020-11-11 18:07:51 <dminuoso> p0a: RecordWildCards
2020-11-11 18:08:02 <dminuoso> It's the sane and useful part of that extension.
2020-11-11 18:08:09 <p0a> alright
2020-11-11 18:08:31 <dminuoso> (The not-so-useful part is when you use {..} for pattern matching, as in `f (Foo{..}) = ...`
2020-11-11 18:08:34 evanjs joins (~evanjs@075-129-098-007.res.spectrum.com)
2020-11-11 18:08:59 <p0a> I am not sure about that, I understand what {..} does now though
2020-11-11 18:09:17 <monochrom> Why is that not so useful?
2020-11-11 18:09:46 adm joins (~adm@43.229.89.44)
2020-11-11 18:10:03 <dminuoso> It can create subtle to find bugs
2020-11-11 18:10:08 × neiluj quits (~jco@24.104.204.77.rev.sfr.net) (Remote host closed the connection)
2020-11-11 18:10:20 <dminuoso> It invisibly introduced identifiers that can shadow other things.
2020-11-11 18:10:24 neiluj joins (~jco@24.104.204.77.rev.sfr.net)
2020-11-11 18:10:46 <dminuoso> NamedFieldPuns is a safer, albeit slightly more verbose, alternative
2020-11-11 18:11:16 <koz_> I agree on the 'subtle to find bugs' definitely. I've been bitten by this a lot.
2020-11-11 18:11:19 × invaser quits (~Thunderbi@128-124-107-154.mobile.vf-ua.net) (Read error: Connection reset by peer)
2020-11-11 18:11:21 wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-11-11 18:11:29 invaser joins (~Thunderbi@31.148.23.125)
2020-11-11 18:12:14 byorgey joins (~byorgey@155.138.238.211)
2020-11-11 18:13:11 <dminuoso> RecordWildCards on expression otoh is quite handy, especially for larger records. In the setting of parsers, `Foo <$> parseA <*> parseB <*> parseC` can easily lead to mistakes, especially if there's a lot of fields
2020-11-11 18:13:28 <dminuoso> (You could accidentally switch parseB and parseC for example, without noticing if the types line up)
2020-11-11 18:13:45 <dminuoso> It also gets increasingly difficult identifying which fragment corresponds to what field
2020-11-11 18:14:12 <monochrom> That one I know and agree.
2020-11-11 18:14:28 <dminuoso> if you hoever used (possibly Applicative-) do expressions `do { fA <- parseA; fB <- parseB; fC <- fieldC; pure Foo{..} }` it makes it more explicit without sacrificing too much extra typing
2020-11-11 18:14:30 × adm quits (~adm@43.229.89.44) (Ping timeout: 260 seconds)
2020-11-11 18:14:48 boxscape joins (54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55)
2020-11-11 18:15:49 <dminuoso> Amusingly, I sometimes accidentally write `Foo{..}` in a pattern instead of `Foo{}`. Since I often have RecordWildCards enabled for the above mentioned use case, that has hidden a nasty bug before.
2020-11-11 18:16:13 <dminuoso> muscle memory can be an annoying thing :)
2020-11-11 18:16:54 <monochrom> I have been writing a fair amount of Scheme lately.
2020-11-11 18:17:14 <dminuoso> Curious, what's the reason?
2020-11-11 18:17:14 <monochrom> Then I went to write some for loops in C. I started "(for i=0;"
2020-11-11 18:17:25 <monochrom> "wait, that doesn't look right"
2020-11-11 18:17:40 <dminuoso> heh
2020-11-11 18:18:00 <p0a> why do you write Scheme if you know Haskell?
2020-11-11 18:18:25 <monochrom> I am a substitute teacher for a course that uses Scheme.
2020-11-11 18:18:27 dminuoso bets is a Scheme course
2020-11-11 18:18:32 dminuoso was right
2020-11-11 18:18:34 <p0a> Alright lol
2020-11-11 18:18:53 <monochrom> Don't worry, there will be Haskell.
2020-11-11 18:18:57 <p0a> hehe
2020-11-11 18:19:01 <monochrom> THERE WILL BE BLOOD
2020-11-11 18:19:10 <dminuoso> monochrom: So out of curiosity. Do you have previous Scheme experience?
2020-11-11 18:19:12 <p0a> make a u-turn on the last week before finals
2020-11-11 18:19:17 <monochrom> yes
2020-11-11 18:19:48 <dminuoso> From substituting Scheme courses? ;p
2020-11-11 18:20:18 × teardown_ quits (~user@gateway/tor-sasl/mrush) (Remote host closed the connection)
2020-11-11 18:20:21 <monochrom> Not just that. A few years ago, my course had both Scheme and Haskell too.
2020-11-11 18:20:37 teardown joins (~user@gateway/tor-sasl/mrush)
2020-11-11 18:20:42 <dminuoso> Do you get to decide what's in your course, or how does that even work?
2020-11-11 18:20:56 <dminuoso> Is there a board that decides on what's on course?
2020-11-11 18:20:57 <monochrom> But I'm too annoyed at eager evaluation and uncurrying, so I dropped it.
2020-11-11 18:21:32 <p0a> When I substitute taught
2020-11-11 18:21:42 <monochrom> For better or worse, there is no board for this, I have liberty to add or drop topics at a whim.
2020-11-11 18:21:43 <p0a> I realized that nobody is checking on me, so yeah, you can teach whatever you want
2020-11-11 18:22:06 <dminuoso> So the students are truly at your merci
2020-11-11 18:22:12 <dminuoso> Or.. mercy.
2020-11-11 18:22:31 <dminuoso> Guess that
2020-11-11 18:22:38 <dminuoso> Guess that's how Darth Vader must feel.
2020-11-11 18:22:52 <monochrom> Although, if I am the intended instructor right on the first day, I have no guilt choosing my favourite topics; but if I'm a substitute teacher stepping in in the middle, I've got to honour the original intention of the original teacher.
2020-11-11 18:22:59 <dminuoso> Except, and that's as far as I can tell, he doesn't do functional programming.
2020-11-11 18:23:14 <dminuoso> That makes sense
2020-11-11 18:23:20 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
2020-11-11 18:23:35 <p0a> I ironically had more freedom instructing as a TA
2020-11-11 18:24:02 × Kaivo quits (~Kaivo@ec2-15-222-231-32.ca-central-1.compute.amazonaws.com) (Quit: WeeChat 2.9)
2020-11-11 18:24:03 <dminuoso> monochrom: So that begs the question, if you have complete autonomy, what exactly is in your job description?
2020-11-11 18:24:17 christo joins (~chris@81.96.113.213)
2020-11-11 18:24:22 <dminuoso> "Teaching what you like, when you like it to whomever you like"?
2020-11-11 18:24:26 <p0a> when you're a teacher you have to follow the syllabus (especially if the course is split among many teachers)
2020-11-11 18:24:35 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-11 18:24:42 <dminuoso> Or are you at least expected to deliver something compsci related?
2020-11-11 18:24:42 <p0a> Also student expectation is that you _will_ go on board and copy notes from the book
2020-11-11 18:24:48 <p0a> It can't be otherwise
2020-11-11 18:25:05 <monochrom> It goes like "develop course material, deliver lectures, admin duties"
2020-11-11 18:25:13 × boxscape quits (54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) (Ping timeout: 260 seconds)
2020-11-11 18:25:16 alp joins (~alp@2a01:e0a:58b:4920:2925:3e55:7d36:aa14)
2020-11-11 18:25:48 <dminuoso> So you could teach about the various ways of cooking fish and get away with it?
2020-11-11 18:25:56 <p0a> Not without tenure dminuoso
2020-11-11 18:25:57 <dminuoso> As long as you produce course material for it?
2020-11-11 18:26:17 <p0a> The trick is that there's nobody that can really evaluate you dminuoso you're literally the top head
2020-11-11 18:26:49 <p0a> Those above you have a very vague idea on the subject
2020-11-11 18:27:19 <tomsmeding> on... normal schools, I believe, there's this thing variously called "learning outcomes" that are stipulated beforehand and are to be followed by the teacher
2020-11-11 18:27:38 <p0a> yeah but those metrics are largely irrelevant
2020-11-11 18:27:41 <tomsmeding> though maybe that's a fancy coming from places where there are actually multiple people teaching the same course
2020-11-11 18:27:49 <dminuoso> You mean the curriculum?
2020-11-11 18:28:05 <p0a> I think he means the tests that students take
2020-11-11 18:28:07 <tomsmeding> I guess, though people also use that word for something on a higher level
2020-11-11 18:28:10 <tomsmeding> no!
2020-11-11 18:28:13 <tomsmeding> I do not mean the tests
2020-11-11 18:28:30 <tomsmeding> the test is derived from the learning outcomes
2020-11-11 18:28:31 <koz_> tomsmeding: In my entire experience as a TA in a place with 'learning outcomes', over damn near a decade, I met literally _one_ person who actually followed them.
2020-11-11 18:28:35 <p0a> The curicculum is just cargo cult nonsense
2020-11-11 18:28:36 <dminuoso> tomsmeding: Well, my girlfriend at least has to follow the federal curriculum
2020-11-11 18:28:38 × neiluj quits (~jco@24.104.204.77.rev.sfr.net) (Remote host closed the connection)
2020-11-11 18:28:41 <monochrom> Strangely enough I think they don't have very strong and clear language about course content, maybe only weak language; instead, it's the hiring qualification that clearly insists "must have experience in this course".
2020-11-11 18:28:42 <dminuoso> So her syllabus has to fit inside that
2020-11-11 18:28:55 neiluj joins (~jco@24.104.204.77.rev.sfr.net)
2020-11-11 18:29:02 <dminuoso> monochrom: I see, you should become a hobby cook then.
2020-11-11 18:29:06 <dminuoso> :)

All times are in UTC.