Logs on 2024-09-30 (liberachat/#haskell)
| 00:03:55 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 00:04:15 | → | pavonia joins (~user@user/siracusa) |
| 00:06:53 | × | polyphem quits (~rod@p3ee3f695.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 00:07:20 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:08:53 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 00:09:06 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 00:09:32 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds) |
| 00:12:39 | → | bh34e5 joins (~bh34e5@user/bh34e5) |
| 00:19:43 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 00:22:09 | × | xff0x quits (~xff0x@2405:6580:b080:900:2db7:1968:c949:1e07) (Ping timeout: 260 seconds) |
| 00:24:54 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 00:34:51 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 00:35:31 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 00:40:47 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 00:40:48 | × | synchromesh quits (~john@2406:5a00:241a:5600:e176:3a40:8bde:547a) (Read error: Connection reset by peer) |
| 00:41:15 | → | synchromesh joins (~john@2406:5a00:241a:5600:e176:3a40:8bde:547a) |
| 00:45:44 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 00:46:00 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 00:46:03 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 00:49:06 | <Inst> | why does it need to make sense to practical people? |
| 00:50:07 | <geekosaur> | context is someone asked me about it on finding I have practical/internals database experience |
| 00:52:32 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 00:53:54 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 01:01:26 | <Inst> | ehhh |
| 01:01:26 | <Inst> | https://www.categoricaldata.net/cql/Broad_SoftEng.pdf |
| 01:04:55 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 01:10:16 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 01:11:19 | <JuanDaugherty> | when a thing not worth doing is done nicely |
| 01:14:39 | → | troojg joins (~troojg@user/troojg) |
| 01:17:53 | → | xff0x joins (~xff0x@182.169.73.28) |
| 01:20:07 | → | athan joins (~athan@syn-098-153-145-140.biz.spectrum.com) |
| 01:20:32 | <Inst> | it looks like CQL is a thing, which is probably relevant to you geekosaur |
| 01:20:44 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 01:21:12 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
| 01:22:34 | × | troojg quits (~troojg@user/troojg) (Remote host closed the connection) |
| 01:22:55 | → | troojg joins (~troojg@user/troojg) |
| 01:23:25 | × | misterfish quits (~misterfis@87.215.131.102) (Ping timeout: 244 seconds) |
| 01:25:41 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 01:29:50 | × | zero quits (~z@user/zero) (Ping timeout: 252 seconds) |
| 01:32:28 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 01:34:07 | → | zero joins (~z@user/zero) |
| 01:38:00 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 01:39:35 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 01:40:53 | <Inst> | was this why hoogle went down? |
| 01:40:57 | <Inst> | https://blog.haskell.org/haskell-foundation-and-committee-merger/ |
| 01:42:07 | <geekosaur> | no? hoogle's been unstable for a while now, I think it just got too big (hoogle v5 has some fairly strict database size limits) |
| 01:45:24 | <Inst> | it was the first time i saw hoogle go down |
| 01:46:10 | <geekosaur> | it's been over a month. I'm certain because I've reported it to #haskell-infrastructure multiple times |
| 01:47:44 | × | troojg quits (~troojg@user/troojg) (Ping timeout: 260 seconds) |
| 01:48:15 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 01:56:13 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 01:56:45 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Remote host closed the connection) |
| 01:58:07 | × | Typedfern quits (~Typedfern@2a02:9130:9c34:14e4:d11e:8149:a19f:6793) (Ping timeout: 265 seconds) |
| 01:58:59 | × | identity quits (~identity@user/ZharMeny) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)) |
| 01:59:55 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 02:01:19 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 02:02:52 | → | caconym joins (~caconym@user/caconym) |
| 02:03:10 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Remote host closed the connection) |
| 02:04:14 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 02:07:48 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 02:12:49 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 02:16:16 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 260 seconds) |
| 02:16:38 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 02:23:04 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Remote host closed the connection) |
| 02:23:37 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 02:25:09 | × | Inst quits (~Inst@user/Inst) (Remote host closed the connection) |
| 02:25:34 | → | Inst joins (~Inst@user/Inst) |
| 02:26:47 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 02:28:34 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 02:31:20 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Remote host closed the connection) |
| 02:32:14 | × | bh34e5 quits (~bh34e5@user/bh34e5) (Ping timeout: 255 seconds) |
| 02:35:14 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 02:39:22 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 02:41:20 | × | td_ quits (~td@i53870935.versanet.de) (Ping timeout: 252 seconds) |
| 02:43:11 | → | td_ joins (~td@i53870928.versanet.de) |
| 02:44:14 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Remote host closed the connection) |
| 02:44:16 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 02:48:34 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 02:50:30 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 02:51:36 | × | rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
| 02:52:12 | → | rvalue joins (~rvalue@user/rvalue) |
| 02:55:08 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 03:00:33 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 03:05:55 | × | athan quits (~athan@syn-098-153-145-140.biz.spectrum.com) (Quit: Konversation terminated!) |
| 03:06:23 | → | Typedfern joins (~Typedfern@2a02:9130:9c34:14e4:3caf:37c0:2522:467b) |
| 03:08:06 | → | weary-traveler joins (~user@user/user363627) |
| 03:10:57 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 03:12:17 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 03:15:48 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 03:22:56 | → | youthlic joins (~Thunderbi@user/youthlic) |
| 03:26:42 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 03:31:53 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 03:42:31 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 03:43:29 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds) |
| 03:44:35 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 03:45:32 | → | athan joins (~athan@syn-098-153-145-140.biz.spectrum.com) |
| 03:47:06 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 03:52:40 | × | machinedgod quits (~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 265 seconds) |
| 03:53:22 | → | michalz joins (~michalz@185.246.207.197) |
| 03:57:57 | × | jle` quits (~jle`@2603:8001:3b02:84d4:4e01:3d77:727d:559b) (Ping timeout: 252 seconds) |
| 03:58:18 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 03:58:57 | → | jle` joins (~jle`@2603:8001:3b02:84d4:467d:3e5f:31ca:9a0a) |
| 04:03:08 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 04:07:30 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 04:12:29 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 04:23:12 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 04:25:57 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 04:27:01 | × | youthlic quits (~Thunderbi@user/youthlic) (Ping timeout: 248 seconds) |
| 04:31:14 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 04:42:11 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 04:47:17 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 04:49:39 | → | machinedgod joins (~machinedg@d50-99-47-73.abhsia.telus.net) |
| 04:50:01 | → | youthlic joins (~Thunderbi@user/youthlic) |
| 04:53:08 | → | Guest88 joins (~Guest99@2806:2f0:1000:c843:4888:b302:2f13:2d52) |
| 04:57:58 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 04:58:53 | Guest88 | is now known as Laverga |
| 05:03:09 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 05:09:27 | <haskellbridge> | <thirdofmay18081814goya> is there some sort of useful mathematical representation of trees? maybe with some linear algebra? |
| 05:09:29 | → | Vajb joins (~Vajb@n7m8bu6eaitlx0eukg2-1.v6.elisa-mobile.fi) |
| 05:10:01 | × | Laverga quits (~Guest99@2806:2f0:1000:c843:4888:b302:2f13:2d52) (Ping timeout: 256 seconds) |
| 05:11:05 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:11:58 | × | bliminse quits (~bliminse@user/bliminse) (Quit: leaving) |
| 05:13:45 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 05:15:02 | <Lears> | thirdofmay: I don't know what you're looking for---a tree is already a mathematical object. But as a graph its adjacency relation can be written as a matrix I suppose. |
| 05:18:23 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 05:18:36 | <haskellbridge> | <thirdofmay18081814goya> hm right, I was thinking what sort of mathematical representation would be useful for thinking about transformations on trees |
| 05:18:52 | <haskellbridge> | <thirdofmay18081814goya> will look up how to express them wrt adjecency relation, ty |
| 05:19:00 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 05:20:07 | → | alp joins (~alp@2001:861:e3d6:8f80:8ed3:89ad:bffe:2596) |
| 05:20:13 | × | alp quits (~alp@2001:861:e3d6:8f80:8ed3:89ad:bffe:2596) (Changing host) |
| 05:20:13 | → | alp joins (~alp@user/alp) |
| 05:23:04 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Client Quit) |
| 05:29:02 | <haskellbridge> | <Bowuigi> thirdofmay18081814goya which kinds of transformations on trees? Recursion schemes may help, specially cata. You get equational reasoning for free too |
| 05:29:31 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 05:29:45 | <haskellbridge> | <thirdofmay18081814goya> hm right |
| 05:30:00 | <haskellbridge> | <thirdofmay18081814goya> yeah any tree is just some datatype defined through a fixpoint |
| 05:30:07 | <haskellbridge> | <thirdofmay18081814goya> right |
| 05:30:08 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 05:30:09 | <haskellbridge> | <thirdofmay18081814goya> this could work |
| 05:31:01 | → | andrewboltachev joins (~andrey@178.141.123.3) |
| 05:33:17 | <haskellbridge> | <Bowuigi> Yeah, you might even be able to skip over some cases by sort of unrolling loops and simplifying sums, like, "List a = 1 + (a * rec)" being expanded to "a * a * ... * 1", that is, "a^n". Might not happen on every tree but it can be useful |
| 05:33:18 | × | rvalue quits (~rvalue@user/rvalue) (Ping timeout: 276 seconds) |
| 05:33:35 | <haskellbridge> | <thirdofmay18081814goya> it's a good idea ty for recommendation! |
| 05:34:39 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 05:35:17 | <haskellbridge> | <Bowuigi> Good luck and remember to Reason Isomorphically! |
| 05:45:20 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 05:46:56 | → | gdown joins (~gavin@h69-11-148-150.kndrid.broadband.dynamic.tds.net) |
| 05:50:09 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 05:50:31 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 05:52:27 | gdown | is now known as floyza |
| 05:53:36 | × | floyza quits (~gavin@h69-11-148-150.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection) |
| 05:53:53 | → | gdown joins (~gavin@h69-11-148-150.kndrid.broadband.dynamic.tds.net) |
| 05:54:07 | <Axman6> | That just sounds like the reasoning I already have! |
| 05:54:21 | → | acidjnk joins (~acidjnk@p200300d6e72cfb276c1c454e32c34a99.dip0.t-ipconnect.de) |
| 05:54:25 | × | gdown quits (~gavin@h69-11-148-150.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection) |
| 05:54:42 | → | gdown joins (~gavin@h69-11-148-150.kndrid.broadband.dynamic.tds.net) |
| 05:54:57 | × | gdown quits (~gavin@h69-11-148-150.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection) |
| 05:55:15 | → | floyza joins (~gavin@h69-11-148-150.kndrid.broadband.dynamic.tds.net) |
| 05:56:03 | × | floyza quits (~gavin@h69-11-148-150.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection) |
| 06:01:07 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 06:03:33 | → | bliminse joins (~bliminse@user/bliminse) |
| 06:06:13 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 06:07:30 | × | alp quits (~alp@user/alp) (Remote host closed the connection) |
| 06:07:48 | → | alp joins (~alp@2001:861:e3d6:8f80:5ec8:1cec:7a:413a) |
| 06:07:50 | × | alp quits (~alp@2001:861:e3d6:8f80:5ec8:1cec:7a:413a) (Changing host) |
| 06:07:50 | → | alp joins (~alp@user/alp) |
| 06:10:37 | × | youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection) |
| 06:13:07 | → | youthlic joins (~Thunderbi@user/youthlic) |
| 06:16:04 | × | Xe quits (~cadey@perl/impostor/xe) (Ping timeout: 260 seconds) |
| 06:16:47 | <jackdk> | dohohoho |
| 06:16:52 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 06:22:04 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 06:23:44 | → | rvalue joins (~rvalue@user/rvalue) |
| 06:27:13 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 06:27:25 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 06:32:40 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 06:35:01 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 06:36:49 | <haskellbridge> | <Bowuigi> I was mostly referring to the paper of the same name by Hinze and James, but it works either way |
| 06:37:29 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 06:39:34 | <haskellbridge> | <Bowuigi> Is there any formalization of System F with type operators but without type abstractions? In particular, with Haskell-style newtypes and taking built-in type operators into account |
| 06:40:30 | <haskellbridge> | <Bowuigi> Outside of System FC, that is. That extension has way more than what I need |
| 06:41:29 | → | poscat0x04 joins (~poscat@user/poscat) |
| 06:41:54 | × | poscat quits (~poscat@user/poscat) (Ping timeout: 260 seconds) |
| 06:42:36 | <haskellbridge> | <Bowuigi> I could just grab the kinding from Leijen2004 (or any type system with type constructors) and call it a day, but if there are any better ways to do this I'm open to suggestions |
| 06:43:11 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 06:44:40 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 06:48:17 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 06:50:46 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 06:54:25 | × | ft quits (~ft@p4fc2acce.dip0.t-ipconnect.de) (Quit: leaving) |
| 06:58:58 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 06:59:43 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds) |
| 07:00:02 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 07:00:42 | → | caconym joins (~caconym@user/caconym) |
| 07:06:29 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 07:09:25 | → | misterfish joins (~misterfis@87.215.131.102) |
| 07:18:39 | → | cipherrot joins (~znc-user@user/petrichor) |
| 07:20:18 | × | petrichor quits (~znc-user@user/petrichor) (Ping timeout: 272 seconds) |
| 07:20:23 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 07:29:03 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
| 07:31:29 | × | econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 07:34:08 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 07:35:54 | → | CiaoSen joins (~Jura@2a05:5800:2e8:8f00:ca4b:d6ff:fec1:99da) |
| 07:36:56 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 07:41:55 | × | alp quits (~alp@user/alp) (Remote host closed the connection) |
| 07:42:35 | → | cyphase joins (~cyphase@user/cyphase) |
| 07:43:33 | → | alp joins (~alp@2001:861:e3d6:8f80:5ec8:1cec:7a:413a) |
| 07:43:41 | × | alp quits (~alp@2001:861:e3d6:8f80:5ec8:1cec:7a:413a) (Changing host) |
| 07:43:41 | → | alp joins (~alp@user/alp) |
| 07:47:27 | → | vincent42 joins (uid574193@id-574193.hampstead.irccloud.com) |
| 07:47:43 | × | vincent42 quits (uid574193@id-574193.hampstead.irccloud.com) (Changing host) |
| 07:47:43 | → | vincent42 joins (uid574193@user/vincent42) |
| 07:48:27 | × | alp quits (~alp@user/alp) (Remote host closed the connection) |
| 07:53:51 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 246 seconds) |
| 07:55:28 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 07:55:47 | × | cyphase quits (~cyphase@user/cyphase) (Ping timeout: 265 seconds) |
| 07:58:20 | → | merijn joins (~merijn@77.242.116.146) |
| 07:58:22 | → | alp joins (~alp@2001:861:e3d6:8f80:5ec8:1cec:7a:413a) |
| 07:58:23 | × | alp quits (~alp@2001:861:e3d6:8f80:5ec8:1cec:7a:413a) (Changing host) |
| 07:58:23 | → | alp joins (~alp@user/alp) |
| 08:00:09 | → | kuribas joins (~user@ptr-17d51emnflxb1h2uq90.18120a2.ip6.access.telenet.be) |
| 08:07:39 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds) |
| 08:11:07 | <haskellbridge> | <carbolymer`> @pl mconcat . map |
| 08:11:16 | <haskellbridge> | <carbolymer`> how do I call lambdabot from matrix |
| 08:11:44 | <geekosaur> | put a blank line first |
| 08:12:12 | <haskellbridge> | <geekosaur> @pl mconcat . map |
| 08:12:23 | <haskellbridge> | <geekosaur> m, my client didn't play along there |
| 08:12:29 | <haskellbridge> | <carbolymer`> :D |
| 08:12:37 | <haskellbridge> | <carbolymer`> @pl mconcat . map |
| 08:12:38 | <haskellbridge> | <geekosaur> @b52 |
| 08:12:39 | <haskellbridge> | <carbolymer`> no bueno |
| 08:12:57 | <haskellbridge> | <geekosaur> I wonder if the latest update removes them. this used to work :( |
| 08:14:11 | → | merijn joins (~merijn@77.242.116.146) |
| 08:14:36 | <haskellbridge> | <geekosaur> . |
| 08:14:36 | <haskellbridge> | @pl mconcat . map |
| 08:14:47 | <geekosaur> | it's also inserting spaces 😞 |
| 08:16:05 | × | misterfish quits (~misterfis@87.215.131.102) (Ping timeout: 265 seconds) |
| 08:20:33 | → | chele joins (~chele@user/chele) |
| 08:22:36 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 08:23:30 | → | cyphase joins (~cyphase@user/cyphase) |
| 08:26:59 | × | troydm quits (~troydm@user/troydm) (Read error: Connection reset by peer) |
| 08:34:21 | <lortabac> | in a multi-package project, is there a way to specify ghc-options for all the packages in cabal.project.local? |
| 08:39:23 | <lortabac> | nevermind, I found it. You can start a stanza with 'package *' |
| 08:44:23 | → | troydm joins (~troydm@user/troydm) |
| 08:46:53 | × | cyphase quits (~cyphase@user/cyphase) (Ping timeout: 252 seconds) |
| 08:52:20 | → | cyphase joins (~cyphase@user/cyphase) |
| 08:57:04 | × | cyphase quits (~cyphase@user/cyphase) (Ping timeout: 260 seconds) |
| 08:57:51 | × | synchromesh quits (~john@2406:5a00:241a:5600:e176:3a40:8bde:547a) (Read error: Connection reset by peer) |
| 08:58:53 | → | synchromesh joins (~john@2406:5a00:241a:5600:a1ef:6d76:30da:3d0e) |
| 08:59:54 | → | polyphem joins (~rod@pd9fbf2fe.dip0.t-ipconnect.de) |
| 09:00:28 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 09:01:51 | → | cyphase joins (~cyphase@user/cyphase) |
| 09:04:07 | × | Vengeance_ quits (~Vengeance@2.219.56.221) (Ping timeout: 252 seconds) |
| 09:04:08 | → | Xe joins (~cadey@perl/impostor/xe) |
| 09:07:19 | → | __monty__ joins (~toonn@user/toonn) |
| 09:11:16 | → | misterfish joins (~misterfis@178.229.145.184) |
| 09:21:59 | × | youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection) |
| 09:23:21 | → | vanced joins (~Vengeance@2.219.56.221) |
| 09:24:29 | → | youthlic joins (~Thunderbi@user/youthlic) |
| 09:24:30 | × | youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection) |
| 09:27:15 | → | youthlic joins (~Thunderbi@user/youthlic) |
| 09:37:55 | <haskellbridge> | <carbolymer`> @pl |
| 09:39:08 | <haskellbridge> | <carbolymer`> tbf @ is not a great choice for command character for a bot |
| 09:40:12 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2) |
| 09:42:53 | <tomsmeding> | carbolymer`: on irc there is no special behaviour for @ ;) |
| 09:43:43 | <haskellbridge> | <carbolymer`> tomsmeding: yes, but it's used to mark OP in quite a lot of clients, so when you're writing to someone, sometimes @ gets copied |
| 09:44:59 | <tomsmeding> | % putStrLn "@pl \x -> x" |
| 09:44:59 | <yahb2> | <interactive>:17:17: error: [GHC-21231] ; lexical error in string/character literal at character ' ' |
| 09:45:03 | <tomsmeding> | % putStrLn "@pl \\x -> x" |
| 09:45:03 | <yahb2> | @pl \x -> x |
| 09:45:10 | <tomsmeding> | ah, lambdabot ignores yahb2 |
| 09:45:18 | <tomsmeding> | @botsnack |
| 09:45:18 | <lambdabot> | :) |
| 09:46:43 | → | briandaed joins (~root@185.234.210.211) |
| 09:51:22 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 09:54:37 | <Inst> | huh |
| 09:54:58 | <Inst> | in Haskell, a :: Peano; a = S a is a valid value |
| 09:55:57 | <tomsmeding> | > let ones = 1 : ones in ones |
| 09:55:59 | <lambdabot> | [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1... |
| 09:56:16 | <ncf> | the natural numbers and conatural numbers coincide in haskell |
| 09:58:36 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 10:01:04 | × | youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection) |
| 10:01:27 | × | xff0x quits (~xff0x@182.169.73.28) (Ping timeout: 265 seconds) |
| 10:02:49 | <int-e> | are those the chosen ones |
| 10:03:29 | <Inst> | by lambdabot, yes |
| 10:03:49 | → | youthlic joins (~Thunderbi@user/youthlic) |
| 10:06:25 | <ski> | afaik, IRC clients normally don't copy channel status like `@' or `+', when completing nicknames |
| 10:07:33 | <ski> | (i also think `@' is a good choice, to subtly encourage people to not add `@' willynilly to nicknames when addressing them) |
| 10:09:00 | <__monty__> | ski: They're using the haskellbridge. On the Matrix side you have to prefix names with @ to "mention" someone. |
| 10:10:49 | <Inst> | monty: why are you a dunder method? |
| 10:16:31 | <ski> | yea, i was talking about people on the IRC side, __monty__ |
| 10:17:10 | × | vincent42 quits (uid574193@user/vincent42) (Quit: Connection closed for inactivity) |
| 10:18:26 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 10:22:41 | <Inst> | hmmm, I wonder what happens if |
| 10:23:17 | <Inst> | > fmap (+1) [minBound .. maxBound] == fmap (+1) ([minBound .. maxBound] :: [Int]) |
| 10:23:23 | <lambdabot> | mueval-core: Time limit exceeded |
| 10:23:54 | <Inst> | i'm still waiting for haskell to show function equality on my ghci :( |
| 10:24:04 | <Inst> | for the simple case |
| 10:26:23 | <int-e> | why. you won't live to see that finish on a 64 bit system. |
| 10:28:54 | <Inst> | ~10^19, yup :( |
| 10:32:42 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 10:33:31 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 10:37:13 | <ncf> | 19? |
| 10:37:30 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 276 seconds) |
| 10:37:46 | <int-e> | > 64 * logBase 10 2 |
| 10:37:48 | <lambdabot> | 19.265919722494793 |
| 10:37:56 | <ncf> | ah |
| 10:43:04 | <__monty__> | Inst: You've started on the road to a pun. |
| 10:45:26 | × | misterfish quits (~misterfis@178.229.145.184) (Ping timeout: 265 seconds) |
| 10:48:13 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 10:58:17 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 11:06:50 | → | misterfish joins (~misterfis@87.215.131.102) |
| 11:07:11 | × | Typedfern quits (~Typedfern@2a02:9130:9c34:14e4:3caf:37c0:2522:467b) (Ping timeout: 265 seconds) |
| 11:10:45 | → | xff0x joins (~xff0x@2405:6580:b080:900:4c01:617c:3138:9e79) |
| 11:10:50 | × | CiaoSen quits (~Jura@2a05:5800:2e8:8f00:ca4b:d6ff:fec1:99da) (Ping timeout: 272 seconds) |
| 11:18:04 | → | comerijn joins (~merijn@77.242.116.146) |
| 11:20:00 | → | Typedfern joins (~Typedfern@2a02:9130:9c33:296c:4caa:2c3a:afbd:6119) |
| 11:20:32 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 255 seconds) |
| 11:32:34 | × | Typedfern quits (~Typedfern@2a02:9130:9c33:296c:4caa:2c3a:afbd:6119) (Ping timeout: 244 seconds) |
| 11:33:05 | × | comerijn quits (~merijn@77.242.116.146) (Ping timeout: 244 seconds) |
| 11:43:18 | → | merijn joins (~merijn@77.242.116.146) |
| 11:44:13 | → | Typedfern joins (~Typedfern@2a02:9130:9c33:296c:d6c0:1874:d2f5:c68c) |
| 11:56:24 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 246 seconds) |
| 11:56:57 | <geekosaur> | Inst, https://hackage.haskell.org/package/universe-1.2.3/docs/Data-Universe-Instances-Reverse.html? |
| 11:58:05 | <geekosaur> | (with, indeed, the problem of time; but that's your problem 😛 ) |
| 11:59:34 | × | alp quits (~alp@user/alp) (Remote host closed the connection) |
| 12:05:37 | × | cipherrot quits (~znc-user@user/petrichor) (Read error: Connection reset by peer) |
| 12:08:21 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 248 seconds) |
| 12:08:56 | → | petrichor joins (~znc-user@user/petrichor) |
| 12:09:06 | × | petrichor quits (~znc-user@user/petrichor) (Read error: Connection reset by peer) |
| 12:14:50 | → | merijn joins (~merijn@77.242.116.146) |
| 12:19:41 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 265 seconds) |
| 12:24:35 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
| 12:24:56 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 12:25:49 | × | pointlessslippe1 quits (~pointless@62.106.85.17) (Read error: Connection reset by peer) |
| 12:31:10 | → | identity joins (~identity@user/ZharMeny) |
| 12:34:00 | → | pointlessslippe1 joins (~pointless@62.106.85.17) |
| 12:34:10 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 12:35:17 | → | merijn joins (~merijn@77.242.116.146) |
| 12:38:38 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds) |
| 12:43:01 | × | xff0x quits (~xff0x@2405:6580:b080:900:4c01:617c:3138:9e79) (Ping timeout: 252 seconds) |
| 12:47:49 | → | CiaoSen joins (~Jura@2a05:5800:2e8:8f00:ca4b:d6ff:fec1:99da) |
| 12:55:52 | → | xff0x joins (~xff0x@2405:6580:b080:900:4c01:617c:3138:9e79) |
| 13:06:49 | × | synchromesh quits (~john@2406:5a00:241a:5600:a1ef:6d76:30da:3d0e) (Read error: Connection reset by peer) |
| 13:07:31 | → | synchromesh joins (~john@2406:5a00:241a:5600:a1ef:6d76:30da:3d0e) |
| 13:11:57 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 13:16:43 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 265 seconds) |
| 13:20:53 | → | Guest10 joins (~Guest10@2400:56a0:3c1:6224:aab1:a164:91f6:1222) |
| 13:21:32 | → | mzg joins (mzg@abusers.hu) |
| 13:22:13 | × | Guest10 quits (~Guest10@2400:56a0:3c1:6224:aab1:a164:91f6:1222) (Client Quit) |
| 13:22:16 | <cheater> | i honestly don't really understand what people are using universe for |
| 13:22:32 | <cheater> | it seems like something that belongs in drupal |
| 13:25:36 | × | youthlic quits (~Thunderbi@user/youthlic) (Quit: youthlic) |
| 13:27:20 | → | youthlic joins (~Thunderbi@user/youthlic) |
| 13:31:13 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 265 seconds) |
| 13:33:41 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 13:36:03 | × | CiaoSen quits (~Jura@2a05:5800:2e8:8f00:ca4b:d6ff:fec1:99da) (Ping timeout: 244 seconds) |
| 13:40:40 | → | merijn joins (~merijn@77.242.116.146) |
| 13:42:31 | → | weary-traveler joins (~user@user/user363627) |
| 13:43:12 | → | codaraxis joins (~codaraxis@user/codaraxis) |
| 13:53:23 | → | Shires joins (~Shires@81.170.22.200) |
| 13:54:24 | ← | Shires parts (~Shires@81.170.22.200) () |
| 13:58:11 | → | Yesman joins (~Yesman@103.182.161.2) |
| 13:59:52 | × | Yesman quits (~Yesman@103.182.161.2) (Client Quit) |
| 14:00:03 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 14:00:22 | → | Guest9426 joins (~User@103.182.161.2) |
| 14:01:25 | → | spew joins (~spew@201.141.99.170) |
| 14:01:40 | × | misterfish quits (~misterfis@87.215.131.102) (Ping timeout: 265 seconds) |
| 14:02:05 | <Guest9426> | Can someone recommend a good learning resource to start learning haskell since there seems to be way too many to choose from and a lot of them might be outdated |
| 14:02:43 | <ski> | @where CIS194 |
| 14:02:43 | <lambdabot> | <https://github.com/byorgey/haskell-course>,<https://www.seas.upenn.edu/~cis194/spring13/lectures.html> |
| 14:03:54 | <opqdonut> | Guest9426: https://haskell.mooc.fi is a fairly up-to-date course on the basics |
| 14:05:09 | <Guest9426> | Aight cheers I'll go take a look |
| 14:10:00 | → | raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) |
| 14:13:07 | × | Guest9426 quits (~User@103.182.161.2) (Quit: Client closed) |
| 14:20:31 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 265 seconds) |
| 14:21:16 | → | merijn joins (~merijn@77.242.116.146) |
| 14:28:49 | → | codaraxis__ joins (~codaraxis@user/codaraxis) |
| 14:32:17 | × | codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 252 seconds) |
| 14:38:47 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 14:39:26 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 255 seconds) |
| 14:40:22 | → | aforemny_ joins (~aforemny@2001:9e8:6cd4:700:eda4:904a:ed7b:86ce) |
| 14:40:49 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 14:40:49 | × | aforemny quits (~aforemny@i59F4C7BB.versanet.de) (Ping timeout: 265 seconds) |
| 14:40:50 | ljdarj1 | is now known as ljdarj |
| 14:45:00 | → | merijn joins (~merijn@77.242.116.146) |
| 15:07:15 | → | floyza joins (~gavin@h69-11-148-150.kndrid.broadband.dynamic.tds.net) |
| 15:15:55 | → | misterfish joins (~misterfis@84.53.85.146) |
| 15:20:56 | × | misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 265 seconds) |
| 15:21:22 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2) |
| 15:21:30 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 246 seconds) |
| 15:23:54 | <Inst> | why doesn't Haskell accept this? |
| 15:25:20 | <Inst> | https://paste.tomsmeding.com/ZFG0CItc |
| 15:25:54 | <Inst> | should Haskell accept this? |
| 15:26:07 | <ski> | you can't match on functions with data constructors |
| 15:26:20 | <Rembane> | Inst: Try Left{} instead |
| 15:26:52 | <ski> | each data constructor pattern must be a data constructor fully applied to patterns corresponding to all the component arguments of the data constructor |
| 15:27:01 | <ncf> | your match isn't complete, if anything |
| 15:27:15 | <ski> | yea, that too |
| 15:27:17 | <ncf> | consider foo @Bool (bool (Left True) (Right False)) |
| 15:27:30 | <Inst> | yeah I thought it was a weird exception that'd allow me to match on functions since data constructosr are functions |
| 15:27:40 | <ski> | (and using `Left {}' doesn't help with this) |
| 15:27:54 | <ski> | `False' is a data constructor that is not a function |
| 15:28:39 | <Inst> | or in other words, haskell can only match on fully applied data constructors |
| 15:28:58 | <ski> | yes |
| 15:29:17 | <Inst> | or in other words, why? |
| 15:29:43 | <Inst> | iirc function equality is a complete nightmare to deal with |
| 15:30:07 | <Inst> | is that why, since if / case compiles to case foo of True; False in core |
| 15:30:22 | <ski> | think of `Node :: a -> [Tree a] -> Tree a' as a function that takes an `a', returning a new function that takes a list of trees of `a's, and *then* constructs an aggregate compound that contains/holds these two items, for later retrieval |
| 15:31:00 | <ski> | if you only applied it to an `a', getting a `[Tree a] -> Tree a' back, the container hasn't been created yet, so you can't match to extract things from it |
| 15:31:25 | <Inst> | there's a hacky way to do it, though |
| 15:31:26 | <ski> | function equality is not decidable, in general |
| 15:31:46 | <Inst> | well, plain unsafe / unidiomatic |
| 15:31:47 | <ski> | that's how an implementation would probably implement it |
| 15:32:34 | <ski> | in OCaml, you can't even partially apply a data constructor, you must always spell it out fully applied. if you want the constructor function, you must type a lambda, like `fun x -> Some x', rather than just `Some' |
| 15:33:02 | <ski> | in Haskell, think of (unapplied) `Left' as being shorthand for `\x -> Left x' |
| 15:33:20 | <Inst> | https://paste.tomsmeding.com/VypZIobC |
| 15:33:37 | <Inst> | sorry for the unintentional obscenity |
| 15:34:05 | <ski> | Inst : now try `f (\x -> seq x (Left x))' |
| 15:34:46 | <Inst> | hence why it's unsafe |
| 15:34:47 | <ski> | or `f (\b -> if b then Left (not b) else Right 42)' |
| 15:35:29 | <ski> | (the latter case, as well as ncf's example, shows why you're not exhausetive, not covering all cases) |
| 15:36:34 | <ski> | (not all functions returning an `Either' decides to return a `Left', alternatively a `Right', *independently* of what the argument was) |
| 15:37:18 | <Inst> | which i guess answers my question, for Haskell to accept this you'd have to give data constructors special types |
| 15:43:44 | <monochrom> | Are you sure you do not want instead (forall a. a -> Either a a) -> String, which actually narrows down the possibilities? |
| 15:44:17 | <Inst> | still doesn't get rid of seq |
| 15:44:36 | <monochrom> | But then why not simplify it to Bool -> String? |
| 15:45:10 | <Inst> | but thanks, monochrom, that fixes the unsafe code |
| 15:46:09 | → | jimbob88 joins (~jimbob88@shef-16-b2-v4wan-169443-cust2838.vm3.cable.virginm.net) |
| 15:46:40 | <monochrom> | That may be my next exam question. :) Prove: If e :: forall a. a -> Either a a, then e = Left or e = Right. |
| 15:48:15 | <monochrom> | But "foo e = case e () of Left _ -> x; Right _ -> y" does not need seq. |
| 15:48:25 | × | anpad quits (~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in) |
| 15:48:46 | <monochrom> | if foo is rank-2 so e is polymorphic so you can choose (). |
| 15:49:05 | <Inst> | yeah, I used unit as well in the fixed code |
| 15:51:05 | <Inst> | but we get a fun type error here |
| 15:51:21 | <Inst> | let u = Left :: String -> Either String a |
| 15:51:23 | × | jimbob88 quits (~jimbob88@shef-16-b2-v4wan-169443-cust2838.vm3.cable.virginm.net) (Ping timeout: 265 seconds) |
| 15:52:02 | <ski> | need to actually pass a polymorphic argument |
| 15:52:55 | <Inst> | i mean i know it'll produce a type error |
| 15:53:38 | <monochrom> | String -> Either String a has more possibilities than Left. For example, Left . reverse. |
| 15:55:09 | <monochrom> | And by the time you tell me "a" is not really a variable, just a secret, you really have String -> Either String Int, then "\x -> if null x then Left "hello" else Right (length x)" is also possible so it is not "always Left" or "always Right". |
| 15:55:31 | <tomsmeding> | monochrom: that exam question sounds tricky. Is `e = undefined` Left or Right? |
| 15:55:58 | <monochrom> | The extra polymorphism I added is important to ensure that the input cannot be arbitrary. |
| 15:56:15 | <monochrom> | tomsmeding: For that topic, we ignore bottoms. :) |
| 15:56:48 | <tomsmeding> | do you actually cover parametricity and the laws you can derive rigorously that way? |
| 15:56:53 | <tomsmeding> | that's pretty advanced |
| 15:56:55 | <monochrom> | It is not a grad course, so I won't be teaching a version of parametricity that respects bottoms. >:) |
| 15:57:04 | <tomsmeding> | even ignoring bottoms |
| 15:57:12 | tomsmeding | never got that |
| 15:57:16 | <monochrom> | Yes :) https://www.cs.utoronto.ca/~trebla/CSCC24-2024-Summer/abs-type-param.html |
| 15:57:16 | <Inst> | what do you call the fact that we're ignoring id? |
| 15:57:26 | <monochrom> | I found a way to make it not advanced. |
| 15:57:54 | <monochrom> | Type error is why id cannot be X -> Either X Y |
| 15:58:19 | <monochrom> | or forall a. a -> Either a a |
| 15:58:25 | <tomsmeding> | monochrom: found a typo: the `in` in polyUse should be `ins` |
| 15:58:42 | <monochrom> | Ooohhhh I thought I caught all typos. |
| 15:59:30 | <monochrom> | Fixed! |
| 15:59:35 | <tomsmeding> | yay! |
| 16:01:01 | <monochrom> | There is a second instance of the same typo. But a second upload fixed it. |
| 16:02:26 | <monochrom> | Eventually you will find that my trick is to use dynamic scoping! >:) |
| 16:04:46 | <Inst> | hmmm, but in theory, it makes sense that Haskell could match on data constructors and partially applied data constructors, no? |
| 16:05:18 | <ski> | how ? |
| 16:05:19 | <tomsmeding> | in haskell we like eta-reduction/eta-abstraction to not do anything semantically |
| 16:05:31 | <tomsmeding> | i.e. we'd like "\x -> f x" and "f" to behave the same |
| 16:06:05 | <__monty__> | I wonder why I always have the most trouble implementing <*> of all the Functor to Monad concepts. |
| 16:06:09 | <tomsmeding> | if we'd allow matching on partially-applied data constructors, then somehow "C" would behave differently from "\x -> C x", which is not a partially-applied datacon but instead a function |
| 16:06:24 | <tomsmeding> | and also, we want stuff like "you can match on this" to be determinable from types alonr |
| 16:06:26 | <tomsmeding> | *alone |
| 16:06:29 | <tomsmeding> | Inst: hence that won't work |
| 16:06:35 | <tomsmeding> | __monty__: (<*>) = ap |
| 16:06:36 | <ski> | __monty__ : `liftA2's simpler ? |
| 16:06:36 | → | econo_ joins (uid147250@id-147250.tinside.irccloud.com) |
| 16:08:39 | <Inst> | tomsmeding: i'm actually hard-pressed to imagine a case where being able to match on data constructosr would be useful |
| 16:08:51 | <Inst> | data Foo = Bar Int | Baz Char |
| 16:08:56 | <tomsmeding> | on a *partially applied data constructor, I guess you mean? |
| 16:09:04 | <Inst> | in this case, though, it'd be a simple type violation, no? |
| 16:09:16 | <tomsmeding> | what would you expect the syntax to even be |
| 16:09:33 | <__monty__> | ski: Presuming <*>, yes. |
| 16:10:08 | <tomsmeding> | and without <*>? :p |
| 16:11:52 | <ski> | __monty__ : sometimes `join' is easier or clearer to write directly, rather than `(>>=)'. i was wondering what you similarly thought about `liftA2' vs. `(<*>)' |
| 16:13:00 | <c_wraith> | > case Left "hello" of Left{} -> 1 ; Right{} -> 2 -- Inst |
| 16:13:01 | <lambdabot> | 1 |
| 16:13:26 | <Inst> | tomsmeding: something like just parensing a partially applied data constructor, but either case, Left / Right is like a special case, otherwise it's usually just begging for inconsistent types |
| 16:13:34 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 272 seconds) |
| 16:13:42 | <Inst> | c_wraith: wait, do people actually use that syntax? |
| 16:13:47 | <c_wraith> | sometimes. |
| 16:14:00 | <tomsmeding> | sometimes, yes |
| 16:14:10 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 16:14:21 | <tomsmeding> | still not sure where the inconsistent types come from or what you really mean :p |
| 16:15:45 | <c_wraith> | It mostly depends on what kinds of changes you're expecting. Like, you'd never expect Either to change its definition, so it really doesn't matter. But if you have some domain type that might frequently change during development it can matter. |
| 16:16:26 | × | raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 252 seconds) |
| 16:16:29 | <Inst> | if you're trying to top level pattern match on a constructor from Foo |
| 16:16:32 | <c_wraith> | You'd use positional match syntax if you want to reconsider your definition when the type changes. You'd use record match syntax when you want to ignore changes to the definition. |
| 16:16:38 | <Inst> | what is the type of your function? |
| 16:16:55 | <Inst> | Bar :: Int -> Foo; Baz :: Char -> Foo |
| 16:17:28 | <tomsmeding> | the {} syntax is just from record syntax; it just allows you to elide the actual fields |
| 16:17:34 | <tomsmeding> | there's nothing "partially applied" going on here |
| 16:17:53 | <Inst> | you asked "what would you expect the syntax to even be" |
| 16:18:11 | <Inst> | i pointed out there's a possible syntax but it makes no sense in a statically typed language |
| 16:18:20 | <tomsmeding> | `f Left = ...`? |
| 16:18:33 | <Inst> | I mean data Foo = Bar Int | Baz Char |
| 16:18:39 | <tomsmeding> | `f Bar = ...`? |
| 16:18:59 | <tomsmeding> | that syntax is indeed free, but typing indeed presents a problem |
| 16:19:03 | <Inst> | f Bar = ...; f Baz = ...; f :: ??? |
| 16:19:09 | <Inst> | That said: |
| 16:19:24 | <Inst> | f Left Bar works |
| 16:19:25 | <tomsmeding> | but also the eta-expansion argument that I gave which tells you that even if you'd have a data type for which the types do line up, we still don't want this |
| 16:19:40 | × | andrewboltachev quits (~andrey@178.141.123.3) (Quit: Leaving.) |
| 16:20:22 | <tomsmeding> | because if you'd have `data Foo = Bar Int | Baz Int`, then perhaps `f :: (Int -> Foo) -> _`, but from that type I should also be able to pass `\n -> if n == 0 then Bar 42 else Baz 100` to f |
| 16:20:24 | <tomsmeding> | and that ain't going to work |
| 16:20:31 | <__monty__> | ski: Haven't written enough liftA2s to have an opinion TBH. |
| 16:21:06 | <Inst> | the if expression isn't well-typed |
| 16:21:25 | <ski> | __monty__ : well, if you do, you can use `(<*>) = liftA2 ($)' |
| 16:21:31 | <tomsmeding> | % data Foo = Bar Int | Baz Char |
| 16:21:32 | <yahb2> | <no output> |
| 16:21:42 | <tomsmeding> | % :t \n -> if n == 0 then Bar 42 else Baz 100 |
| 16:21:42 | <yahb2> | <interactive>:1:38: error: [GHC-39999] ; • Could not deduce ‘Num Char’ arising from the literal ‘100’ ; from the context: (Eq a, Num a) ; bound by the inferred type of it :: (Eq a... |
| 16:21:48 | <tomsmeding> | % data Foo = Bar Int | Baz Int |
| 16:21:48 | <yahb2> | <no output> |
| 16:21:50 | <tomsmeding> | % :t \n -> if n == 0 then Bar 42 else Baz 100 |
| 16:21:50 | <yahb2> | \n -> if n == 0 then Bar 42 else Baz 100 ; :: (Eq a, Num a) => a -> Foo |
| 16:21:56 | <tomsmeding> | sorry that's what I meant |
| 16:22:19 | <tomsmeding> | ah, and also what I said |
| 16:23:35 | <tomsmeding> | monochrom: thanks, I learned about parametricity today! |
| 16:24:25 | <tomsmeding> | monochrom: final sentence: "more kind of bugs" -> "more kinds of bugs" |
| 16:25:57 | <Inst> | tomsmeding: I guess what I'm really looking for with all this match partially-applied constructor nonsense is |
| 16:25:58 | <Inst> | https://hackage.haskell.org/package/base-4.20.0.1/docs/Type-Reflection.html#t:TypeRep |
| 16:34:35 | → | raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) |
| 16:39:15 | <Inst> | regarding the records abuse, c_wairth |
| 16:39:27 | <Inst> | c_wraith, that's interesting, but it's just something more complicated to read :( |
| 16:39:56 | <Inst> | you have trade-offs over that, it's more expressive than Foo _ _ etc especially since it's arity polymorphic |
| 16:40:43 | <Inst> | insofar as you want to signify the arity polymorphism |
| 16:42:48 | × | athan quits (~athan@syn-098-153-145-140.biz.spectrum.com) (Ping timeout: 276 seconds) |
| 16:43:30 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 16:44:13 | <tomsmeding> | the typical tradeoff for me is: do I want a compiler error if the number of fields of this constructor changes? |
| 16:46:12 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 16:50:11 | → | misterfish joins (~misterfis@84.53.85.146) |
| 16:56:14 | × | briandaed quits (~root@185.234.210.211) (Quit: Lost terminal) |
| 16:58:04 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 16:59:03 | → | anpad joins (~pandeyan@user/anpad) |
| 17:00:47 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Client Quit) |
| 17:04:07 | <cheater> | *sigh* haskell is on the front page of the orange site again |
| 17:04:26 | <monochrom> | Sorry, what is the orange site? |
| 17:04:35 | <cheater> | oh, summer child |
| 17:05:16 | <cheater> | maybe it's better you remain oblivious |
| 17:05:39 | <monochrom> | Yeah :) |
| 17:07:12 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 17:09:00 | <haskellbridge> | <sm> what's the title ? |
| 17:09:26 | <haskellbridge> | <sm> A Burrito Is a Monad ? |
| 17:09:41 | × | machinedgod quits (~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 265 seconds) |
| 17:10:03 | <haskellbridge> | <sm> If so - nothing to see there, yet anyway |
| 17:11:16 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 17:16:24 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 17:18:54 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:20:31 | <mauke> | well, it's either pornhub or hackernews |
| 17:21:01 | → | athan joins (~athan@syn-098-153-145-140.biz.spectrum.com) |
| 17:21:20 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds) |
| 17:22:15 | <monochrom> | Oh Hacker News is orange. I almost forgot. |
| 17:22:21 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 17:22:41 | <geekosaur> | yeh, I got that immediately and I pretty much ignore HN as noise |
| 17:23:29 | <monochrom> | Me too. |
| 17:23:49 | <monochrom> | Worse than slashdot. :) |
| 17:24:28 | <monochrom> | On slashdot, at least someone posts "have you actually read the linked article?" |
| 17:24:29 | → | codaraxis___ joins (~codaraxis@user/codaraxis) |
| 17:24:31 | → | ft joins (~ft@p4fc2acce.dip0.t-ipconnect.de) |
| 17:24:45 | → | RedFlamingos joins (~RedFlamin@user/RedFlamingos) |
| 17:26:23 | <mauke> | +1, inciteful |
| 17:26:41 | <monochrom> | :) |
| 17:27:02 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 17:27:19 | <haskellbridge> | <sm> I don't agree, I find great stuff on Hacker News |
| 17:27:56 | <geekosaur> | how much dross do you have to dig through, though? |
| 17:28:39 | × | codaraxis__ quits (~codaraxis@user/codaraxis) (Ping timeout: 260 seconds) |
| 17:30:13 | <haskellbridge> | <sm> oh, plenty but it's more skim-scroll.. same as most places on the net these days |
| 17:32:24 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 17:32:50 | <haskellbridge> | <sm> usually at two levels - first I scroll through new stories which auto-marks them read in bazqux. I manually unflag the ones I want to check later. Later when reading those, a quick look tells me whether/how much to read comments. |
| 17:32:53 | <monochrom> | I am lazy, I thank people like you who screen the net and curate the 0.01% good stuff and trickle it to me. :) |
| 17:32:58 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 17:33:18 | <haskellbridge> | <sm> +1 |
| 17:33:55 | <haskellbridge> | <sm> usually at two levels - first I scroll through the new story titles which auto-marks them read in bazqux. I manually unflag the ones I want to check later. Later when reading those, a quick look tells me whether/how much to read comments. |
| 17:34:09 | <haskellbridge> | <sm> usually at two levels - first I scroll through the new story titles which auto-marks them read in bazqux. I manually unmark the ones I want to check later. Later when reading those, a quick look tells me whether/how much to read comments. |
| 17:34:18 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 17:34:36 | <geekosaur> | (sigh, edits to older messages can't be edits) |
| 17:35:03 | <monochrom> | No worries, I understand. |
| 17:35:25 | <geekosaur> | speaking of IRCv3 enhancements we need |
| 17:36:36 | × | euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 17:37:28 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 17:37:40 | × | iteratee quits (~kyle@162.218.222.207) (Remote host closed the connection) |
| 17:40:57 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 17:43:29 | → | euphores joins (~SASL_euph@user/euphores) |
| 17:44:54 | → | codaraxis__ joins (~codaraxis@user/codaraxis) |
| 17:45:56 | × | raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 265 seconds) |
| 17:48:38 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 17:49:19 | × | codaraxis___ quits (~codaraxis@user/codaraxis) (Ping timeout: 265 seconds) |
| 17:51:25 | × | kuribas quits (~user@ptr-17d51emnflxb1h2uq90.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 17:53:40 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 18:04:25 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 18:05:25 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 18:09:37 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 18:13:59 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 18:14:05 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 18:18:08 | × | misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 255 seconds) |
| 18:20:13 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 18:20:23 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds) |
| 18:23:55 | → | raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) |
| 18:25:07 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 18:26:37 | lyxia_ | is now known as lyxia |
| 18:34:09 | × | athan quits (~athan@syn-098-153-145-140.biz.spectrum.com) (Quit: Konversation terminated!) |
| 18:35:59 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 18:41:02 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 18:44:21 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 18:44:45 | → | andrewboltachev joins (~andrey@178.141.123.3) |
| 18:46:46 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 18:47:51 | × | smalltalkman quits (uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 18:48:34 | × | vglfr quits (~vglfr@2601:14d:4701:3b30:1fe4:7d96:24fc:3638) (Ping timeout: 260 seconds) |
| 18:49:10 | → | vglfr joins (~vglfr@2607:fb90:ead1:52bb:ac39:c397:67b3:8dc) |
| 18:50:14 | <cheater> | geekosaur: how about a shorter name for the haskellbridge |
| 18:50:35 | <[exa]> | +1 ^ |
| 18:51:07 | <monochrom> | Wide screen 20:1 monitors are the norm, I don't mind "long". |
| 18:51:13 | <geekosaur> | suppose you're going to demand a 1-char name again and Libera rules be damned? |
| 18:51:24 | <cheater> | hopefully 1-char |
| 18:51:29 | <cheater> | 2-char if not |
| 18:51:29 | <monochrom> | My students routinely hand in 500-characters-long lines in their code anyway. |
| 18:51:46 | <cheater> | we're not talking about asylum inpatients |
| 18:51:54 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 18:52:46 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 18:52:54 | <mauke> | [m] would be a funny nick |
| 18:53:26 | <dolio> | Maybe that's their problem. The lines are so long they can't even read their own code. |
| 18:54:06 | × | vglfr quits (~vglfr@2607:fb90:ead1:52bb:ac39:c397:67b3:8dc) (Ping timeout: 276 seconds) |
| 18:54:30 | → | ^|{`-}_{ joins (trebla@shell.vex.net) |
| 18:54:38 | → | vglfr joins (~vglfr@2607:fb91:891:b16:ad3:f757:b319:f3ab) |
| 18:54:39 | <[exa]> | what, the 0-char nickname is already taken?! |
| 18:54:47 | <monochrom> | I have the funnier nick. It's not even speakable. >:) |
| 18:54:51 | <cheater> | maybe they like to type in a duo, like two people playing a piano? |
| 18:54:51 | <geekosaur> | no, we seem to be talking about someone who thinks everyone else is entitled to their I'm-still-using-a-VIC-20 preferences? |
| 18:54:57 | <monochrom> | err sorry, wrong window! |
| 18:55:06 | <cheater> | pair programming, you write the first 250 characters and the other guy writes the other 250 |
| 18:55:14 | <^|{`-}_{> | I have the funnier nick. It is not even speakable. >:) |
| 18:55:19 | <monochrom> | There! |
| 18:55:28 | × | ^|{`-}_{ quits (trebla@shell.vex.net) (Client Quit) |
| 18:55:33 | <dolio> | Is that J code or something? |
| 18:55:59 | <monochrom> | haha I don't know. I just read irc server source code and check that it's legal. |
| 18:56:23 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 18:56:25 | <cheater> | i used to use a nickname that had almost all of those characters |
| 18:56:31 | <cheater> | but that was in the 90s |
| 18:56:54 | <monochrom> | IIRC back when IRC was invented in Scandinavia, they stood for some uppercase non-English letters. |
| 18:57:42 | <int-e> | monochrom: nice use of lower case |
| 18:57:42 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 18:57:47 | <cheater> | ah yes, i forgot Scandinavian had other letters |
| 18:57:57 | <monochrom> | or yeah lowercase, I forgot the details. |
| 18:58:16 | <int-e> | ""Because of IRC's scandanavian origin, the characters {}| are considered to be the lower case equivalents of the characters []\, respectively."" |
| 18:58:17 | <mauke> | {} is uppercase [] |
| 18:58:24 | <mauke> | oh, lowercase? |
| 18:58:29 | <mauke> | weird |
| 18:58:37 | <int-e> | > ord 'a' > ord 'A' |
| 18:58:39 | <lambdabot> | True |
| 18:58:51 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds) |
| 18:59:09 | <int-e> | > ord '{' > ord '[' |
| 18:59:11 | <lambdabot> | True |
| 18:59:19 | <mauke> | > [ord '{', ord '['] |
| 18:59:21 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 18:59:21 | <lambdabot> | [123,91] |
| 18:59:38 | <mauke> | right |
| 19:00:01 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 19:00:37 | × | ljdarj1 quits (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds) |
| 19:00:38 | → | caconym joins (~caconym@user/caconym) |
| 19:00:51 | <cheater> | this must explain why scandinavians were so quick to sign stop killing games |
| 19:02:33 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 19:02:47 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 265 seconds) |
| 19:03:26 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 19:03:45 | × | Typedfern quits (~Typedfern@2a02:9130:9c33:296c:d6c0:1874:d2f5:c68c) (Ping timeout: 265 seconds) |
| 19:04:40 | <mauke> | https://en.wikipedia.org/wiki/Code_page_1018 |
| 19:05:57 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds) |
| 19:06:43 | × | xstill_ quits (xstill@fimu/xstill) (Ping timeout: 244 seconds) |
| 19:07:28 | → | xstill_ joins (xstill@fimu/xstill) |
| 19:07:33 | × | ljdarj1 quits (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds) |
| 19:09:10 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 19:10:13 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 19:10:23 | × | AlexZenon quits (~alzenon@178.34.162.53) (Ping timeout: 245 seconds) |
| 19:10:30 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 19:10:31 | → | aljazmc joins (~aljazmc@user/aljazmc) |
| 19:12:32 | → | athan joins (~athan@syn-098-153-145-140.biz.spectrum.com) |
| 19:13:54 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 19:13:55 | ljdarj1 | is now known as ljdarj |
| 19:14:59 | → | Typedfern joins (~Typedfern@2a02:9130:9c33:296c:faee:c6d9:5df4:858) |
| 19:16:58 | → | AlexZenon joins (~alzenon@178.34.162.53) |
| 19:17:45 | <tomsmeding> | > (ord 'a' - ord 'A', ord '{' - ord '[') |
| 19:17:46 | <lambdabot> | (32,32) |
| 19:18:38 | × | youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection) |
| 19:19:04 | <tomsmeding> | > map chr (map (\c -> ord c .|. 32) "ABCDEFGHIJKLMNOPQRSTUVWXYZ[]\\") |
| 19:19:06 | <lambdabot> | "abcdefghijklmnopqrstuvwxyz{}|" |
| 19:19:30 | <tomsmeding> | the "shift" key originally masked the 32-bit |
| 19:20:07 | × | identity quits (~identity@user/ZharMeny) (Read error: Connection reset by peer) |
| 19:20:07 | <tomsmeding> | > map chr (map (\c -> ord c .&. complement 32) "abcdefghijklmnopqrstuvwxyz{}|") |
| 19:20:09 | <lambdabot> | "ABCDEFGHIJKLMNOPQRSTUVWXYZ[]\\" |
| 19:20:15 | <tomsmeding> | I guess this is the more appropriate presentation |
| 19:21:12 | → | youthlic joins (~Thunderbi@user/youthlic) |
| 19:21:21 | <int-e> | . o O ( the "shift" key originally lifted the *typing noise* case stamp ) |
| 19:21:46 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 19:22:15 | <tomsmeding> | (case stamp?) |
| 19:22:59 | → | identity joins (~identity@user/ZharMeny) |
| 19:22:59 | <int-e> | According to Wikipedia. I've seen and to a small extent used mechanical typewriters. I don't know what most of the parts are called. |
| 19:23:38 | <int-e> | But I do know that the "shift" term originates from those. :P |
| 19:24:26 | <tomsmeding> | I see |
| 19:24:33 | <tomsmeding> | originally-originally :p |
| 19:24:44 | <darkling> | And it was usually quite heavy to press, because of lifting more or less all of the mechanism. |
| 19:24:51 | <geekosaur> | on the ones I've used, shift either raised or lowered the stamp (or the bed) slightly; keys had two leads on them, so that determined what got typed |
| 19:25:09 | <darkling> | (This much I remember from using one) |
| 19:25:45 | <geekosaur> | (this of course didn't apply to IBM Selectrics ("golf balls")) |
| 19:25:54 | → | weary-traveler joins (~user@user/user363627) |
| 19:26:45 | <darkling> | Those used electricity. That's cheating. :) |
| 19:26:52 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 19:29:02 | × | vglfr quits (~vglfr@2607:fb91:891:b16:ad3:f757:b319:f3ab) (Read error: Connection reset by peer) |
| 19:29:21 | → | vglfr joins (~vglfr@2601:14d:4701:3b30:c3ef:3b3e:5ca1:502f) |
| 19:29:27 | → | echoreply joins (~echoreply@45.32.163.16) |
| 19:30:49 | × | Typedfern quits (~Typedfern@2a02:9130:9c33:296c:faee:c6d9:5df4:858) (Ping timeout: 265 seconds) |
| 19:33:21 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 19:37:33 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 19:38:13 | → | petrichor joins (~znc-user@user/petrichor) |
| 19:42:46 | → | Typedfern joins (~Typedfern@2a02:9130:9c24:82f5:944f:4f4:c394:420c) |
| 19:42:49 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 19:45:04 | × | raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 252 seconds) |
| 19:49:48 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 19:49:49 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Client Quit) |
| 19:50:57 | → | codaraxis___ joins (~codaraxis@user/codaraxis) |
| 19:53:22 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 19:55:01 | × | codaraxis__ quits (~codaraxis@user/codaraxis) (Ping timeout: 248 seconds) |
| 19:58:44 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 20:06:28 | → | gmg joins (~user@user/gehmehgeh) |
| 20:06:59 | → | todi joins (~todi@p57803331.dip0.t-ipconnect.de) |
| 20:09:06 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 20:12:18 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 20:14:14 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 20:19:53 | × | Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 252 seconds) |
| 20:23:26 | → | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 20:24:54 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 20:25:15 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
| 20:26:07 | × | Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Max SendQ exceeded) |
| 20:29:48 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 20:34:34 | → | dpk joins (~dpk@jains.nonceword.org) |
| 20:36:13 | <dpk> | is the author of https://learnyouahaskell.com/ around? the stylesheet on the online version of the book is broken for me because my browser refuses to load HTTP stylesheets on HTTPS pages, and the pages themselves only get served over HTTPS |
| 20:38:35 | <geekosaur> | long gone, I'm afraid |
| 20:40:41 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 20:41:53 | <int-e> | the last time this came up somebody pointed out that https://learnyouahaskell.github.io/ exists |
| 20:43:02 | → | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 20:45:02 | <int-e> | @where+ lyah http://www.learnyouahaskell.com/ or the slightly updated fork https://learnyouahaskell.github.io/ |
| 20:45:02 | <lambdabot> | Good to know. |
| 20:45:41 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 20:47:47 | × | michalz quits (~michalz@185.246.207.197) (Remote host closed the connection) |
| 20:52:00 | × | target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 20:55:24 | × | Eoco quits (~ian@128.101.131.218) (Ping timeout: 265 seconds) |
| 20:56:27 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 20:57:11 | → | Eoco joins (~ian@128.101.131.218) |
| 21:01:20 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 21:04:51 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:08:05 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:08:24 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 21:12:26 | × | andrewboltachev quits (~andrey@178.141.123.3) (Quit: Leaving.) |
| 21:14:00 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 21:15:03 | → | BOB joins (~BOB@2607:fea8:400:38f0::f733) |
| 21:15:27 | BOB | is now known as Guest7983 |
| 21:16:26 | × | Guest7983 quits (~BOB@2607:fea8:400:38f0::f733) (Client Quit) |
| 21:22:24 | × | aljazmc quits (~aljazmc@user/aljazmc) (Quit: Leaving) |
| 22:03:02 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:04:01 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 22:04:01 | × | youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection) |
| 22:06:36 | → | youthlic joins (~Thunderbi@user/youthlic) |
| 22:12:16 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 22:15:46 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 22:16:28 | × | polyphem quits (~rod@pd9fbf2fe.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 22:16:46 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:20:19 | × | juri_ quits (~juri@implicitcad.org) (Ping timeout: 260 seconds) |
| 22:20:32 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 22:31:32 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 22:32:10 | → | juri_ joins (~juri@implicitcad.org) |
| 22:36:39 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 22:47:18 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 22:52:22 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 22:53:20 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 22:58:57 | × | athan quits (~athan@syn-098-153-145-140.biz.spectrum.com) (Ping timeout: 246 seconds) |
| 23:03:06 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 23:08:03 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 23:08:36 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 23:08:44 | × | gmg quits (~user@user/gehmehgeh) (Killed (NickServ (Forcing logout gmg -> gehmehgeh))) |
| 23:08:44 | gehmehgeh | is now known as gmg |
| 23:11:42 | → | troojg joins (~troojg@user/troojg) |
| 23:18:54 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 23:23:41 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 23:28:00 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 246 seconds) |
| 23:34:40 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 23:39:44 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 23:44:24 | → | athan joins (~athan@syn-098-153-145-140.biz.spectrum.com) |
| 23:50:28 | → | merijn joins (~merijn@204-220-045-062.dynamic.caiway.nl) |
| 23:55:24 | × | merijn quits (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 23:56:10 | × | sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 265 seconds) |
All times are in UTC on 2024-09-30.