Logs on 2024-03-29 (liberachat/#haskell)
| 00:05:33 | → | peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 00:07:41 | × | waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 240 seconds) |
| 00:14:52 | × | rvalue quits (~rvalue@user/rvalue) (Ping timeout: 268 seconds) |
| 00:14:59 | × | mizlan quits (~mizlan@c-69-181-82-43.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
| 00:15:37 | → | EvanR joins (~EvanR@user/evanr) |
| 00:15:55 | × | xff0x quits (~xff0x@2405:6580:b080:900:5b9d:a4d:114b:3b13) (Ping timeout: 246 seconds) |
| 00:17:40 | × | acidjnk_new quits (~acidjnk@p200300d6e714dc9271191991819977af.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 00:24:13 | → | rvalue joins (~rvalue@user/rvalue) |
| 00:24:22 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
| 00:24:28 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 00:27:10 | → | xff0x joins (~xff0x@2405:6580:b080:900:5b9d:a4d:114b:3b13) |
| 00:29:45 | → | mizlan joins (~mizlan@c-69-181-82-43.hsd1.ca.comcast.net) |
| 00:30:47 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 00:32:45 | → | pavonia joins (~user@user/siracusa) |
| 00:38:27 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 00:49:53 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 00:50:26 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 00:53:06 | × | peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds) |
| 00:55:11 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds) |
| 00:59:20 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 01:02:58 | × | mizlan quits (~mizlan@c-69-181-82-43.hsd1.ca.comcast.net) (Ping timeout: 268 seconds) |
| 01:13:42 | <koala_man> | geekosaur: welp, my gitlab account request was rejected so I can't file those cross-compilation bugs |
| 01:14:07 | <geekosaur> | rejected? |
| 01:14:34 | <geekosaur> | ben was just clearing out a bunch of spam accounts, maybe he overdid it slightly |
| 01:14:55 | → | mizlan joins (~mizlan@c-69-181-82-43.hsd1.ca.comcast.net) |
| 01:15:58 | <Hecate> | hey koala_man 👋 |
| 01:16:31 | <geekosaur> | I'd apply again, especially if your account name included some non-ASCII |
| 01:18:58 | <haskellbridge> | <sm> not easy to be a ghc contributor! |
| 01:24:35 | <geekosaur> | not easy to deal with spammers trying anything they can think of to roost in our project 😞 |
| 01:28:25 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 01:30:51 | → | mei joins (~mei@user/mei) |
| 01:34:38 | → | mud joins (~mud@user/kadoban) |
| 01:39:29 | × | qqq quits (~qqq@92.43.167.61) (Ping timeout: 272 seconds) |
| 01:42:46 | → | qqq joins (~qqq@92.43.167.61) |
| 01:48:00 | <haskellbridge> | <sm> what's up with that.. is it because ghc is on gitlab ? I don't see this on github |
| 01:48:36 | <haskellbridge> | <sm> or because they are managing their own gitlab ? |
| 01:49:26 | <geekosaur> | it seems li,ke they din't (or possibly can't) abuse github that way, but they used to be able to get a github account, use it to access our gitlab instance, and get auto-approved |
| 01:49:37 | <geekosaur> | they now go into the approval queue |
| 01:50:15 | <geekosaur> | anyway yes, gitlab works differently from github here |
| 01:58:11 | → | igemnace joins (~ian@user/igemnace) |
| 01:58:28 | × | xff0x quits (~xff0x@2405:6580:b080:900:5b9d:a4d:114b:3b13) (Ping timeout: 268 seconds) |
| 02:03:30 | × | Lycurgus quits (~georg@user/Lycurgus) (Quit: leaving) |
| 02:07:37 | × | euleritian quits (~euleritia@dynamic-176-000-155-070.176.0.pool.telefonica.de) (Ping timeout: 256 seconds) |
| 02:08:23 | → | euleritian joins (~euleritia@dynamic-176-005-137-111.176.5.pool.telefonica.de) |
| 02:14:46 | × | mud quits (~mud@user/kadoban) (Quit: quit) |
| 02:20:01 | × | otto_s quits (~user@p5b044569.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 02:21:06 | → | otto_s joins (~user@p5de2f9c4.dip0.t-ipconnect.de) |
| 02:27:16 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 02:33:15 | → | peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 02:36:29 | × | mizlan quits (~mizlan@c-69-181-82-43.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 02:45:09 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 02:50:11 | × | quintasan quits (~quassel@quintasan.pl) () |
| 03:08:25 | → | parahola joins (~a@112.78.178.130) |
| 03:10:47 | × | peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds) |
| 03:14:50 | → | sp1ff joins (~user@c-24-21-45-157.hsd1.wa.comcast.net) |
| 03:37:17 | × | td_ quits (~td@i53870908.versanet.de) (Ping timeout: 256 seconds) |
| 03:38:59 | → | td_ joins (~td@i53870932.versanet.de) |
| 03:40:39 | → | Inst_ joins (~Inst@120.244.192.126) |
| 03:43:18 | × | Inst quits (~Inst@120.244.192.126) (Ping timeout: 268 seconds) |
| 03:51:44 | → | dbaoty joins (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) |
| 03:59:18 | × | Inst_ quits (~Inst@120.244.192.126) (Remote host closed the connection) |
| 03:59:26 | × | aniketd quits (32aa4844cd@2a03:6000:1812:100::dcb) (Read error: Connection reset by peer) |
| 03:59:34 | → | aniketd joins (32aa4844cd@2a03:6000:1812:100::dcb) |
| 03:59:35 | × | Franciman quits (~Franciman@mx1.fracta.dev) (Read error: Connection reset by peer) |
| 03:59:38 | × | bsima1 quits (9d7e39c8ad@2a03:6000:1812:100::dd) (Write error: Connection reset by peer) |
| 03:59:38 | → | Inst_ joins (~Inst@120.244.192.126) |
| 03:59:40 | × | ursa-major quits (114efe6c39@2a03:6000:1812:100::11f3) (Read error: Connection reset by peer) |
| 03:59:44 | × | raghavgururajan quits (ea769b8000@user/raghavgururajan) (Read error: Connection reset by peer) |
| 03:59:46 | → | bsima1 joins (9d7e39c8ad@2a03:6000:1812:100::dd) |
| 03:59:47 | × | jakzale quits (6291399afa@user/jakzale) (Read error: Connection reset by peer) |
| 03:59:47 | → | Franciman joins (~Franciman@mx1.fracta.dev) |
| 03:59:50 | → | ursa-major joins (114efe6c39@2a03:6000:1812:100::11f3) |
| 03:59:50 | → | raghavgururajan joins (ea769b8000@user/raghavgururajan) |
| 03:59:51 | × | shreyasminocha quits (51fdc93eda@user/shreyasminocha) (Read error: Connection reset by peer) |
| 03:59:55 | → | jakzale joins (6291399afa@user/jakzale) |
| 03:59:57 | × | Pent quits (sid313808@id-313808.lymington.irccloud.com) (Ping timeout: 256 seconds) |
| 03:59:57 | × | hook54321 quits (sid149355@user/hook54321) (Ping timeout: 256 seconds) |
| 03:59:57 | × | jakesyl_____ quits (sid56879@id-56879.hampstead.irccloud.com) (Ping timeout: 256 seconds) |
| 03:59:59 | → | shreyasminocha joins (51fdc93eda@user/shreyasminocha) |
| 04:00:31 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Ping timeout: 256 seconds) |
| 04:00:57 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 04:00:59 | × | turlando quits (~turlando@user/turlando) (Quit: No Ping reply in 180 seconds.) |
| 04:01:18 | → | jakesyl_____ joins (sid56879@id-56879.hampstead.irccloud.com) |
| 04:01:23 | → | Pent joins (sid313808@id-313808.lymington.irccloud.com) |
| 04:02:13 | × | Pozyomka quits (~pyon@user/pyon) (Ping timeout: 256 seconds) |
| 04:02:13 | → | turlando joins (~turlando@user/turlando) |
| 04:02:20 | → | hook54321 joins (sid149355@user/hook54321) |
| 04:03:10 | → | Pozyomka joins (~pyon@user/pyon) |
| 04:03:55 | × | cross quits (~cross@spitfire.i.gajendra.net) (Ping timeout: 256 seconds) |
| 04:05:01 | → | cross joins (~cross@spitfire.i.gajendra.net) |
| 04:24:28 | ← | dbaoty parts (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) () |
| 04:57:58 | → | aforemny_ joins (~aforemny@i59F516CE.versanet.de) |
| 04:59:23 | × | aforemny quits (~aforemny@i59F516F8.versanet.de) (Ping timeout: 264 seconds) |
| 05:01:45 | × | parahola quits (~a@112.78.178.130) (Remote host closed the connection) |
| 05:16:47 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 05:21:23 | × | qqq quits (~qqq@92.43.167.61) (Quit: leaving) |
| 05:23:41 | × | poscat quits (~poscat@user/poscat) (Quit: Bye) |
| 05:27:37 | → | poscat joins (~poscat@user/poscat) |
| 05:46:03 | × | notzmv quits (~daniel@user/notzmv) (Ping timeout: 255 seconds) |
| 05:49:56 | → | michalz joins (~michalz@185.246.207.221) |
| 05:58:29 | → | notzmv joins (~daniel@user/notzmv) |
| 06:14:44 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 06:18:02 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:29:42 | × | Maeda quits (~Maeda@91-161-10-149.subs.proxad.net) (Ping timeout: 255 seconds) |
| 06:31:39 | × | phma quits (~phma@host-67-44-208-21.hnremote.net) (Ping timeout: 268 seconds) |
| 06:32:09 | → | phma joins (~phma@host-67-44-208-48.hnremote.net) |
| 06:34:29 | × | son0p quits (~ff@167.0.169.98) (Ping timeout: 240 seconds) |
| 06:50:43 | → | Sachin joins (~Sachin@103.134.250.242) |
| 06:54:29 | <Sachin> | hi |
| 06:57:05 | × | Sachin quits (~Sachin@103.134.250.242) (Quit: Client closed) |
| 07:40:05 | <hololeap> | I see a Binary instance for Data.Array.Array, but not sure where to find something similar for Vector |
| 07:42:36 | × | euleritian quits (~euleritia@dynamic-176-005-137-111.176.5.pool.telefonica.de) (Ping timeout: 255 seconds) |
| 07:43:48 | → | vpan joins (~vpan@212.117.1.172) |
| 07:48:57 | × | foul_owl quits (~kerry@174-21-71-155.tukw.qwest.net) (Ping timeout: 252 seconds) |
| 07:53:47 | <lyxia> | hololeap: https://hackage.haskell.org/package/vector-binary-instances ? |
| 07:54:55 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:55:21 | <hololeap> | thx |
| 08:00:16 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:02:57 | → | foul_owl joins (~kerry@185.216.231.179) |
| 08:03:29 | × | tzh quits (~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz) |
| 08:14:27 | → | dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 08:16:13 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 08:17:36 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 08:18:49 | → | akegalj joins (~akegalj@141-136-184-96.dsl.iskon.hr) |
| 08:19:34 | × | dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 268 seconds) |
| 08:38:33 | × | igemnace quits (~ian@user/igemnace) (Read error: Connection reset by peer) |
| 08:40:09 | × | mei quits (~mei@user/mei) (Remote host closed the connection) |
| 08:42:10 | → | mei joins (~mei@user/mei) |
| 08:53:01 | → | son0p joins (~ff@152.203.72.114) |
| 08:54:59 | × | tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection) |
| 08:56:02 | → | acidjnk_new joins (~acidjnk@p200300d6e714dc05100e436667b532df.dip0.t-ipconnect.de) |
| 08:56:06 | → | igemnace joins (~ian@user/igemnace) |
| 08:58:31 | × | raym quits (~ray@user/raym) (Ping timeout: 260 seconds) |
| 08:59:48 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 09:01:46 | → | puke joins (~puke@user/puke) |
| 09:01:59 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 09:02:01 | → | waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 09:02:01 | → | tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 09:04:31 | → | raym joins (~ray@user/raym) |
| 09:05:24 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 09:17:31 | × | econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 09:31:06 | × | Square2 quits (~Square@user/square) (Ping timeout: 268 seconds) |
| 09:34:15 | <Arsen> | https://paste.sr.ht/~arsen/c61b0c595c9a100f2b4834d2064c8216eb4700bb emacs' haskell-mode indents this data declaration like this. is this the correct convention for wrapping record syntax? is it haskell-mode screwing up? |
| 09:37:42 | <ncf> | what's a correct convention, but also this looks mighty screwed up to me |
| 09:38:24 | × | waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 252 seconds) |
| 09:38:41 | <Arsen> | well, that makes it incorrect ;P |
| 09:38:48 | <Arsen> | correct = looks not-screwed-up |
| 09:40:58 | → | dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 09:43:20 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 09:43:39 | → | gmg joins (~user@user/gehmehgeh) |
| 09:44:00 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 09:44:43 | → | gmg joins (~user@user/gehmehgeh) |
| 09:47:31 | <Arsen> | ah, the error is mine! naturally |
| 09:47:35 | <Arsen> | I had extranious commas |
| 09:52:47 | × | phma quits (~phma@host-67-44-208-48.hnremote.net) (Quit: Konversation terminated!) |
| 09:53:23 | → | phma joins (phma@2001:5b0:215d:ba58:a61a:48b0:3e33:afde) |
| 09:54:35 | <phma> | Is there a stack command that gets rid of old versions of GHC in ~/.stack/programs/? |
| 09:55:24 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 09:56:04 | × | akegalj quits (~akegalj@141-136-184-96.dsl.iskon.hr) (Quit: leaving) |
| 09:59:34 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 09:59:37 | <phma> | I have 16 GB in that directory. |
| 10:06:50 | → | mmhat joins (~mmh@p200300f1c706a268ee086bfffe095315.dip0.t-ipconnect.de) |
| 10:07:01 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 10:07:35 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 260 seconds) |
| 10:09:01 | <cheater> | can i have a list that has multiple different proxies inside? like [Proxy @Type1, Proxy @Type2, ...] |
| 10:09:03 | × | EvanR quits (~EvanR@user/evanr) (Remote host closed the connection) |
| 10:09:18 | → | EvanR joins (~EvanR@user/evanr) |
| 10:11:17 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 10:13:13 | <cheater> | guess not |
| 10:13:23 | <cheater> | would like to figure out how.. |
| 10:17:02 | <[Leary]> | % data HList c f xs where { Nil :: HList c f '[]; (:~) :: c x => f x -> HList c f xs -> HList c f (x:xs) }; infixr 6 :~ |
| 10:17:02 | <yahb2> | <no output> |
| 10:17:07 | <[Leary]> | % :t Proxy @Int :~ Proxy @Char :~ Nil |
| 10:17:07 | <yahb2> | Proxy @Int :~ Proxy @Char :~ Nil ; :: (c Int, c Char) => HList c Proxy '[Int, Char] |
| 10:21:44 | <cheater> | i'll need a few stiff shots before i can understand that |
| 10:23:02 | <cheater> | hmm |
| 10:23:20 | <cheater> | ok, i guess this makes sense |
| 10:23:23 | <cheater> | thanks |
| 10:23:44 | <cheater> | is HList like a widely used thing? |
| 10:23:47 | <cheater> | does it come in some package? |
| 10:24:23 | × | hiredman quits (~hiredman@frontier1.downey.family) (Ping timeout: 260 seconds) |
| 10:28:29 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 10:32:48 | <lyxia> | it's a widely known concept but there is no standard implementation because there are so many trade offs |
| 10:33:38 | <lyxia> | There's Hlist, vinyl, and a lot of the effect libraries also roll their own variant of it. |
| 10:34:49 | <lyxia> | a lot of the libraries that "solve" the record problem are some opinionated API on top of hlists. |
| 10:35:32 | <c_wraith> | Honestly, I don't really understand the use case for HList. vinyl at least names the fields so that they can be order-independent |
| 10:37:42 | × | mei quits (~mei@user/mei) (Ping timeout: 268 seconds) |
| 10:38:15 | × | myxokephale quits (~myxos@065-028-251-121.inf.spectrum.com) (Remote host closed the connection) |
| 10:41:28 | <cheater> | hmm right |
| 10:42:30 | → | myxos joins (~myxos@065-028-251-121.inf.spectrum.com) |
| 10:44:53 | → | hiredman joins (~hiredman@frontier1.downey.family) |
| 10:49:17 | <[exa]> | Is there something that would allow me to (invisibly and very naively) compare addresses of 2 things to detect if they are different? The use case would be something updating a structure (rewriting) and me detecting whether it (by any accident) changed. In STG it would literally be a comparison of 2 pointers, false positives are OK. I'd say this would be near `unsafeCoerce` but can't find anything |
| 10:50:15 | <c_wraith> | https://hackage.haskell.org/package/base-4.19.1.0/docs/GHC-Exts.html#v:reallyUnsafePtrEquality |
| 10:51:56 | <[exa]> | ok good I like the `reallyUnsafe` prefix |
| 10:52:02 | <[exa]> | thanks! |
| 10:54:29 | → | MajorBiscuit joins (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3) |
| 10:55:16 | <c_wraith> | I think it can have false negatives, but not false positives. |
| 10:55:48 | [exa] | wondering which case is positive and which is negative |
| 10:55:49 | <c_wraith> | ie, it won't evaluate its arguments, so two things that might be the same when evaluated would return 0# |
| 10:56:12 | <[exa]> | yeah that's ok for me |
| 10:56:35 | × | tt12310 quits (~tt1231@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Ping timeout: 260 seconds) |
| 10:56:40 | <[exa]> | I'm planning to shallowly `seq` the stuff anyway before testing |
| 10:56:50 | <[exa]> | perfect |
| 10:56:53 | <[exa]> | tahnks a lot! |
| 10:59:05 | → | alexherbo2 joins (~alexherbo@2a02-8440-3440-0ba5-dd7f-585d-7bb4-4d97.rev.sfr.net) |
| 10:59:40 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 11:04:50 | × | tv quits (~tv@user/tv) (Ping timeout: 268 seconds) |
| 11:10:48 | <ski> | @type Control.Parallel.pseq |
| 11:10:49 | <lambdabot> | a -> b -> b |
| 11:13:10 | ski | would indent the opening braces more than the data constructors, fwiw, Arsen |
| 11:14:33 | ncf | . o O ( is haskell indented or discodered? ) |
| 11:17:47 | → | tv joins (~tv@user/tv) |
| 11:20:25 | → | __monty__ joins (~toonn@user/toonn) |
| 11:28:06 | × | MajorBiscuit quits (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3) (Ping timeout: 256 seconds) |
| 11:29:43 | <Arsen> | ski: that seems to be the common theme yeah |
| 11:37:01 | → | MajorBiscuit joins (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3) |
| 11:44:53 | → | mechap joins (~mechap@user/mechap) |
| 11:45:21 | × | mechap quits (~mechap@user/mechap) (Max SendQ exceeded) |
| 11:45:46 | → | mechap joins (~mechap@user/mechap) |
| 12:08:42 | × | mechap quits (~mechap@user/mechap) (Quit: WeeChat 4.2.1) |
| 12:11:05 | → | gmg joins (~user@user/gehmehgeh) |
| 12:11:31 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 12:13:22 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 12:16:32 | → | waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 12:20:41 | → | xff0x joins (~xff0x@2405:6580:b080:900:2b2b:eb19:37de:d4bd) |
| 12:20:43 | → | magus3 joins (~Thunderbi@2804:14c:65e4:8219:4056:ec55:c70d:fa8b) |
| 12:22:12 | × | megaTherion quits (~therion@unix.io) (Remote host closed the connection) |
| 12:23:48 | → | megaTherion joins (~therion@unix.io) |
| 12:25:38 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 12:26:33 | → | gmg joins (~user@user/gehmehgeh) |
| 12:35:33 | × | MajorBiscuit quits (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3) (Ping timeout: 255 seconds) |
| 12:41:12 | × | magus3 quits (~Thunderbi@2804:14c:65e4:8219:4056:ec55:c70d:fa8b) (Ping timeout: 256 seconds) |
| 12:45:43 | → | califax_ joins (~califax@user/califx) |
| 12:45:54 | × | califax quits (~califax@user/califx) (Ping timeout: 260 seconds) |
| 12:46:33 | → | hallucinagen joins (~prodmezha@123.63.203.210) |
| 12:46:58 | califax_ | is now known as califax |
| 13:18:21 | → | magus3 joins (~Thunderbi@189.6.35.139) |
| 13:18:33 | → | MajorBiscuit joins (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3) |
| 13:20:19 | × | mmhat quits (~mmh@p200300f1c706a268ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 13:20:41 | → | mmhat joins (~mmh@p200300f1c706a223ee086bfffe095315.dip0.t-ipconnect.de) |
| 13:37:23 | → | df joins (~ben@justworks.xyz) |
| 13:39:03 | × | jrm quits (~jrm@user/jrm) (Quit: ciao) |
| 13:40:34 | → | jrm joins (~jrm@user/jrm) |
| 13:58:49 | × | MajorBiscuit quits (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3) (Ping timeout: 255 seconds) |
| 14:02:45 | × | __monty__ quits (~toonn@user/toonn) (Ping timeout: 256 seconds) |
| 14:12:07 | × | magus3 quits (~Thunderbi@189.6.35.139) (Ping timeout: 260 seconds) |
| 14:15:07 | → | mei joins (~mei@user/mei) |
| 14:20:10 | → | MajorBiscuit joins (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3) |
| 14:25:14 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Quit: _) |
| 14:25:21 | → | adanwan_ joins (~adanwan@gateway/tor-sasl/adanwan) |
| 14:26:49 | puke | is now known as Guest6882 |
| 14:26:49 | → | pyooque joins (~puke@user/puke) |
| 14:26:49 | × | Guest6882 quits (~puke@user/puke) (Killed (copper.libera.chat (Nickname regained by services))) |
| 14:26:49 | pyooque | is now known as puke |
| 14:27:11 | × | puke quits (~puke@user/puke) (Max SendQ exceeded) |
| 14:28:28 | → | puke joins (~puke@user/puke) |
| 14:29:52 | × | adanwan_ quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 14:30:10 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 14:35:13 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 14:35:31 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 14:39:39 | × | MajorBiscuit quits (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3) (Ping timeout: 260 seconds) |
| 14:42:40 | × | alexherbo2 quits (~alexherbo@2a02-8440-3440-0ba5-dd7f-585d-7bb4-4d97.rev.sfr.net) (Remote host closed the connection) |
| 14:43:02 | → | alexherbo2 joins (~alexherbo@2a02-8440-3440-0ba5-bc04-e657-4516-5627.rev.sfr.net) |
| 14:46:33 | × | alexherbo2 quits (~alexherbo@2a02-8440-3440-0ba5-bc04-e657-4516-5627.rev.sfr.net) (Remote host closed the connection) |
| 14:49:45 | × | chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
| 14:50:45 | → | chiselfuse joins (~chiselfus@user/chiselfuse) |
| 14:54:55 | → | ajr0d joins (~textual@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) |
| 14:55:17 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 14:58:37 | × | acidjnk_new quits (~acidjnk@p200300d6e714dc05100e436667b532df.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 15:12:23 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 15:13:58 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 15:14:57 | × | ajr0d quits (~textual@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Quit: big sleep) |
| 15:17:16 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 15:17:45 | → | Guest58 joins (~Guest92@103.119.241.94) |
| 15:18:11 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 15:18:47 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 15:19:49 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 15:20:06 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 15:20:55 | × | hallucinagen quits (~prodmezha@123.63.203.210) (Remote host closed the connection) |
| 15:21:26 | → | hallucinagen joins (~prodmezha@123.63.203.210) |
| 15:25:42 | × | [Leary] quits (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
| 15:26:54 | → | MajorBiscuit joins (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3) |
| 15:31:37 | × | Guest58 quits (~Guest92@103.119.241.94) (Quit: Client closed) |
| 15:33:20 | → | billchenchina- joins (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) |
| 15:33:37 | × | waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 246 seconds) |
| 15:33:41 | × | billchenchina- quits (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Read error: Connection reset by peer) |
| 15:34:04 | → | billchenchina- joins (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) |
| 15:41:19 | → | ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) |
| 15:42:34 | → | __monty__ joins (~toonn@user/toonn) |
| 15:43:12 | × | ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Client Quit) |
| 15:43:55 | → | ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) |
| 15:50:33 | × | Rodney_ quits (~Rodney@176.254.244.83) (Ping timeout: 256 seconds) |
| 15:51:59 | → | sharan joins (~shara@c-24-60-154-223.hsd1.ma.comcast.net) |
| 15:59:48 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 16:07:12 | × | igemnace quits (~ian@user/igemnace) (Quit: WeeChat 4.2.1) |
| 16:09:46 | → | Lycurgus joins (~georg@user/Lycurgus) |
| 16:11:58 | × | ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Quit: big sleep) |
| 16:13:04 | → | ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) |
| 16:13:41 | × | MajorBiscuit quits (~MajorBisc@2001:1c00:31c:8400:3d3d:8874:417f:fbf3) (Quit: WeeChat 4.2.1) |
| 16:14:10 | × | vpan quits (~vpan@212.117.1.172) (Quit: Leaving.) |
| 16:14:36 | → | fererrorocher joins (fererroroc@gateway/vpn/protonvpn/fererrorocher) |
| 16:19:14 | × | ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Quit: big sleep) |
| 16:19:47 | → | ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) |
| 16:23:43 | → | Rodney_ joins (~Rodney@176.254.244.83) |
| 16:32:12 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:33:30 | × | ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Quit: big sleep) |
| 16:33:56 | → | ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) |
| 16:34:50 | → | econo_ joins (uid147250@id-147250.tinside.irccloud.com) |
| 16:35:52 | → | tzh joins (~tzh@c-73-164-206-160.hsd1.or.comcast.net) |
| 16:36:38 | × | ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Client Quit) |
| 16:37:35 | → | acidjnk_new joins (~acidjnk@p200300d6e714dc05100e436667b532df.dip0.t-ipconnect.de) |
| 16:38:38 | → | ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) |
| 16:40:25 | → | euleritian joins (~euleritia@dynamic-176-004-216-230.176.4.pool.telefonica.de) |
| 16:42:35 | × | ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Client Quit) |
| 16:43:02 | → | ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) |
| 16:47:20 | × | ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Client Quit) |
| 16:50:01 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 16:55:43 | × | euleritian quits (~euleritia@dynamic-176-004-216-230.176.4.pool.telefonica.de) (Ping timeout: 268 seconds) |
| 16:57:17 | → | euleritian joins (~euleritia@dynamic-176-005-133-056.176.5.pool.telefonica.de) |
| 16:58:18 | → | zetef joins (~quassel@5.2.182.99) |
| 16:59:31 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 17:01:09 | × | dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 252 seconds) |
| 17:01:53 | → | ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) |
| 17:04:33 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
| 17:08:00 | → | dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 17:12:32 | × | ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Quit: big sleep) |
| 17:12:43 | × | hallucinagen quits (~prodmezha@123.63.203.210) (Ping timeout: 260 seconds) |
| 17:17:26 | × | Lycurgus quits (~georg@user/Lycurgus) (Quit: leaving) |
| 17:18:07 | <c_wraith> | [exa]: I just realized what ski was talking about - that's a case where you need pseq instead of seq to guarantee the behavior you want. |
| 17:23:56 | × | res0nat0r0844909 quits (~Fletch@falcon.whatbox.ca) (Ping timeout: 256 seconds) |
| 17:25:28 | × | fedorafansuper quits (~fedorafan@user/fedorafan) (Remote host closed the connection) |
| 17:25:40 | × | zetef quits (~quassel@5.2.182.99) (Ping timeout: 256 seconds) |
| 17:26:09 | → | fedorafan joins (~fedorafan@user/fedorafan) |
| 17:27:02 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 17:27:36 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 17:28:37 | → | ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) |
| 17:32:23 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds) |
| 17:32:46 | <shapr> | :t psq |
| 17:32:47 | <lambdabot> | error: Variable not in scope: psq |
| 17:32:49 | <shapr> | :t pseq |
| 17:32:50 | <lambdabot> | error: |
| 17:32:50 | <lambdabot> | • Variable not in scope: pseq |
| 17:32:50 | <lambdabot> | • Perhaps you meant ‘seq’ (imported from Prelude) |
| 17:33:12 | × | ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Client Quit) |
| 17:36:27 | × | tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 272 seconds) |
| 17:38:00 | × | rvalue quits (~rvalue@user/rvalue) (Ping timeout: 252 seconds) |
| 17:40:37 | → | tomboy64 joins (~tomboy64@user/tomboy64) |
| 17:45:36 | → | rvalue joins (~rvalue@user/rvalue) |
| 17:45:48 | <geekosaur> | :t Control.Parallel.pseq -- I think? |
| 17:45:49 | <lambdabot> | a -> b -> b |
| 17:48:00 | <c_wraith> | shapr: the difference is that seq says "when you evaluate the result of this, both arguments will be evaluated". pseq says "when you evaluate the result of this, first the first argument will be evaluated, then the second argument" |
| 17:48:25 | <shapr> | ah! |
| 17:48:27 | <shapr> | thanks |
| 17:48:44 | <c_wraith> | GHC has a lot of heuristics that make seq usually work correctly, but why rely on those when there is a different function that lets you specify exactly what you mean? |
| 17:49:27 | <c_wraith> | (I really wish pseq didn't need a weird import) |
| 17:51:27 | × | hueso quits (~root@user/hueso) (Ping timeout: 260 seconds) |
| 18:00:15 | → | res0nat0r0844909 joins (~Fletch@falcon.whatbox.ca) |
| 18:08:29 | → | hueso joins (~root@user/hueso) |
| 18:09:46 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:10:01 | × | df quits (~ben@justworks.xyz) (Ping timeout: 272 seconds) |
| 18:10:22 | × | destituion quits (~destituio@2a02:2121:655:c95b:ba41:7897:d01f:5f0f) (Ping timeout: 255 seconds) |
| 18:10:55 | → | destituion joins (~destituio@2001:4644:c37:0:6086:64f4:a213:b80d) |
| 18:13:40 | → | ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) |
| 18:15:09 | → | sm_ joins (~Thunderbi@plaintextaccounting/sm) |
| 18:19:19 | → | df joins (~ben@justworks.xyz) |
| 18:19:38 | → | califax_ joins (~califax@user/califx) |
| 18:20:30 | × | califax quits (~califax@user/califx) (Ping timeout: 260 seconds) |
| 18:20:50 | califax_ | is now known as califax |
| 18:21:58 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 18:23:34 | → | califax joins (~califax@user/califx) |
| 18:24:42 | × | _d0t quits (~{-d0t-}@user/-d0t-/x-7915216) (Remote host closed the connection) |
| 18:25:32 | → | _d0t joins (~{-d0t-}@user/-d0t-/x-7915216) |
| 18:31:19 | × | dsrt^ quits (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection) |
| 18:33:35 | → | ddellacosta joins (~ddellacos@ool-44c73d16.dyn.optonline.net) |
| 18:34:55 | → | tt12310 joins (~tt1231@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) |
| 18:36:49 | → | arjun joins (~arjun@user/arjun) |
| 18:37:49 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:40:45 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 18:41:43 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 18:42:37 | → | califax joins (~califax@user/califx) |
| 18:43:23 | × | mmhat quits (~mmh@p200300f1c706a223ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.2.1) |
| 18:45:05 | × | mei quits (~mei@user/mei) (Quit: mei) |
| 18:46:28 | → | ElectroSpecter joins (~textual@2601:646:401:6c30:696a:9dd4:81cb:4f83) |
| 18:47:16 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 18:47:37 | → | califax joins (~califax@user/califx) |
| 18:48:14 | → | mei joins (~mei@user/mei) |
| 18:50:25 | × | ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Quit: big sleep) |
| 18:52:34 | → | magus3 joins (~Thunderbi@189.6.35.139) |
| 18:54:34 | → | ph88 joins (~ph88@ip5b403f30.dynamic.kabel-deutschland.de) |
| 18:55:09 | → | waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 18:55:20 | <ph88> | https://play.haskell.org/saved/SNDBgTcs does the function f already exist somewhere? or is there a similar function? how could one describe what f is doing? |
| 18:57:57 | <ncf> | f = foldMap pure |
| 18:58:29 | × | sawilagar quits (~sawilagar@user/sawilagar) (Remote host closed the connection) |
| 18:59:03 | <mauke> | are there non-semigroup monoids? |
| 18:59:03 | × | gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 18:59:09 | <ncf> | no |
| 18:59:11 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 18:59:22 | <ncf> | hmm... does this say that a Foldable is universal among functors valued in monoids or something |
| 18:59:48 | × | dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection) |
| 19:00:11 | <ncf> | well, it's not valued in monoids itself |
| 19:00:12 | → | dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 19:01:36 | <ncf> | an equivalent function would be (Foldable w, Alternative v) => w a -> v a |
| 19:02:51 | <ncf> | (getAlt . foldMap (Alt . pure)) |
| 19:03:19 | <ncf> | this seems to come up often |
| 19:03:51 | <ncf> | (as asum . fmap pure , which does the same thing) |
| 19:05:04 | <ph88> | does this "pattern" have a name? perhaps something out of category theory or so? from one functor to another functor ? |
| 19:05:05 | → | gentauro joins (~gentauro@user/gentauro) |
| 19:05:25 | <ncf> | well this says that there's a natural transformation from any foldable to any alternative |
| 19:05:55 | <ph88> | cool thanks ! |
| 19:06:05 | <ncf> | so one level higher there's a natural transformation between the forgetful functor from Foldable to [Hask, Hask] to the forgetful functor from Alternative to [Hask, Hask] |
| 19:06:30 | <ncf> | er no |
| 19:06:46 | <ncf> | that makes no sense |
| 19:07:10 | <ph88> | :D |
| 19:11:02 | × | sawilagar quits (~sawilagar@user/sawilagar) (Remote host closed the connection) |
| 19:11:39 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 19:13:08 | × | sm_ quits (~Thunderbi@plaintextaccounting/sm) (Quit: sm_) |
| 19:15:11 | → | ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) |
| 19:20:08 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 19:21:42 | × | _________ quits (~nobody@user/noodly) (Quit: leaving) |
| 19:22:02 | × | ElectroSpecter quits (~textual@2601:646:401:6c30:696a:9dd4:81cb:4f83) (Quit: Textual IRC Client: www.textualapp.com) |
| 19:22:58 | × | magus3 quits (~Thunderbi@189.6.35.139) (Ping timeout: 256 seconds) |
| 19:25:37 | × | forell quits (~forell@user/forell) (Quit: ZNC - https://znc.in) |
| 19:26:54 | → | forell joins (~forell@user/forell) |
| 19:28:27 | × | xal quits (~xal@mx1.xal.systems) () |
| 19:28:39 | → | _________ joins (~nobody@user/noodly) |
| 19:29:16 | × | hueso quits (~root@user/hueso) (Ping timeout: 268 seconds) |
| 19:38:07 | → | Square2 joins (~Square@user/square) |
| 19:39:15 | × | euleritian quits (~euleritia@dynamic-176-005-133-056.176.5.pool.telefonica.de) (Ping timeout: 260 seconds) |
| 19:39:40 | → | euleritian joins (~euleritia@dynamic-176-007-133-071.176.7.pool.telefonica.de) |
| 19:40:35 | → | zetef joins (~quassel@5.2.182.99) |
| 19:41:23 | → | hueso joins (~root@user/hueso) |
| 19:43:24 | × | manwithluck quits (manwithluc@gateway/vpn/protonvpn/manwithluck) (Ping timeout: 252 seconds) |
| 19:44:37 | × | Ttech quits (~adran@botters/adran) (Quit: Este é o fim.) |
| 19:44:43 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:45:10 | × | sp1ff quits (~user@c-24-21-45-157.hsd1.wa.comcast.net) (Remote host closed the connection) |
| 19:49:56 | → | xal joins (~xal@mx1.xal.systems) |
| 19:49:59 | × | dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 19:51:47 | × | ph88 quits (~ph88@ip5b403f30.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 19:53:30 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 19:56:24 | × | sm quits (~user@plaintextaccounting/sm) (Remote host closed the connection) |
| 20:00:37 | × | sawilagar quits (~sawilagar@user/sawilagar) (Read error: Connection reset by peer) |
| 20:00:51 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 20:05:25 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 20:05:56 | → | califax joins (~califax@user/califx) |
| 20:09:46 | × | ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Quit: big sleep) |
| 20:13:43 | → | ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) |
| 20:15:52 | × | ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Client Quit) |
| 20:15:54 | <[exa]> | c_wraith: ski: pseq noted, thank you! |
| 20:20:04 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:21:12 | → | dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 20:22:18 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 20:26:58 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds) |
| 20:29:47 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 20:57:19 | → | magus3 joins (~Thunderbi@189.6.35.139) |
| 20:57:22 | ski | nods |
| 20:57:59 | × | arjun quits (~arjun@user/arjun) (Quit: Quit!) |
| 21:00:39 | → | sm_ joins (~anonymous@plaintextaccounting/sm) |
| 21:01:37 | × | sm_ quits (~anonymous@plaintextaccounting/sm) (Client Quit) |
| 21:01:53 | × | AlexZenon quits (~alzenon@94.233.240.255) (Read error: Connection reset by peer) |
| 21:02:12 | → | sm_ joins (~sm@plaintextaccounting/sm) |
| 21:02:13 | → | AlexZenon joins (~alzenon@94.233.240.255) |
| 21:07:46 | × | target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 21:08:12 | → | ajr0d joins (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) |
| 21:08:37 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 272 seconds) |
| 21:13:03 | × | ajr0d quits (~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 21:18:46 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 21:21:24 | × | sm_ quits (~sm@plaintextaccounting/sm) (Quit: sm_) |
| 21:23:21 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds) |
| 21:23:26 | × | haskellbridge quits (~haskellbr@069-135-003-034.biz.spectrum.com) (Remote host closed the connection) |
| 21:24:56 | → | sm joins (~znc@plaintextaccounting/sm) |
| 21:25:09 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
| 21:28:22 | × | billchenchina- quits (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Ping timeout: 255 seconds) |
| 21:29:12 | → | haskellbridge joins (~haskellbr@069-135-003-034.biz.spectrum.com) |
| 21:29:12 | ChanServ | sets mode +v haskellbridge |
| 21:35:12 | × | sm quits (~znc@plaintextaccounting/sm) (Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in) |
| 21:37:01 | → | sm joins (~znc@plaintextaccounting/sm) |
| 21:37:32 | × | dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 268 seconds) |
| 21:40:23 | → | peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 21:41:51 | × | sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 268 seconds) |
| 21:42:12 | × | magus3 quits (~Thunderbi@189.6.35.139) (Ping timeout: 252 seconds) |
| 21:46:34 | sm | gets fancy and sets up an IRC bouncer |
| 21:46:58 | <geekosaur> | so I see |
| 21:47:31 | <sm> | IRC is still scary to me, I feel always a noob :) |
| 21:48:27 | <sm> | if it would have nicely disappeared I could have forgotten about it but I suppose that won't be happening |
| 21:48:44 | × | dolio quits (~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in) |
| 21:49:17 | × | peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 240 seconds) |
| 21:49:36 | <geekosaur> | (oh look, there's another one) |
| 21:50:05 | <sm> | well continuing is also nice. And even improving, I see libera is planning to add persistence one of these days. |
| 21:50:27 | <geekosaur> | slowly IRC continues to evolve |
| 21:50:29 | → | dolio joins (~dolio@130.44.134.54) |
| 21:50:30 | <sm> | (another one ?) |
| 21:50:36 | <geekosaur> | the problem there is getting clients to keep up |
| 21:50:46 | <geekosaur> | [29 21:48:44] * dolio has quit (Quit: ZNC 1.8.2 - https://znc.in) |
| 21:51:08 | <geekosaur> | znc, bnc/psybnc, etc. |
| 21:51:37 | <geekosaur> | quassel |
| 21:52:20 | × | Inst_ quits (~Inst@120.244.192.126) (Ping timeout: 268 seconds) |
| 21:52:39 | × | dolio quits (~dolio@130.44.134.54) (Client Quit) |
| 21:52:47 | → | srk_ joins (~sorki@user/srk) |
| 21:53:05 | <geekosaur> | (I'm lazy and pay irccloud, then connect to their bouncer) |
| 21:54:00 | <sm> | +1 |
| 21:54:07 | <sm> | I spent a bunch of hours on this |
| 21:54:25 | × | srk quits (~sorki@user/srk) (Ping timeout: 246 seconds) |
| 21:55:24 | <geekosaur> | sadly hexchat doesn't support the IRC extension to group messages I sent via /msg on other devices, so those end up looking odd on my desktop |
| 21:55:53 | → | mizlan joins (~mizlan@c-69-181-82-43.hsd1.ca.comcast.net) |
| 21:56:14 | srk_ | is now known as srk |
| 21:56:30 | <geekosaur> | and yeh, I remember going through that back when I ran a znc on someone's droplet |
| 21:56:50 | <geekosaur> | that's the main reason I paid someone else to deal this time 🙂 |
| 21:57:28 | <geekosaur> | well, that and having a semi-sane android client to go with it |
| 21:58:20 | → | dolio joins (~dolio@130.44.134.54) |
| 21:58:48 | × | destituion quits (~destituio@2001:4644:c37:0:6086:64f4:a213:b80d) (Read error: Connection reset by peer) |
| 21:59:32 | → | destituion joins (~destituio@2001:4644:c37:0:6086:64f4:a213:b80d) |
| 22:00:24 | × | mizlan quits (~mizlan@c-69-181-82-43.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
| 22:01:59 | <sm> | System Information: Model: MacBook Air (M1, 2020) • OS: macOS (Version 14.3.1, Build 23D60) |
| 22:02:00 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 252 seconds) |
| 22:03:09 | <sm> | ok then. (I'm pressing all the knobs and switches in Textual 7, a very fancy mac irc client.) |
| 22:03:25 | <geekosaur> | yeh, I used to use Textual when I had a Mac |
| 22:03:43 | <geekosaur> | Linu IRC clients ought to up their game |
| 22:03:48 | <geekosaur> | *Linux |
| 22:04:21 | × | destituion quits (~destituio@2001:4644:c37:0:6086:64f4:a213:b80d) (Ping timeout: 272 seconds) |
| 22:11:14 | <sm> | last step: the reboot test |
| 22:11:18 | × | sm quits (~znc@plaintextaccounting/sm) (Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in) |
| 22:12:28 | → | sm joins (~znc@plaintextaccounting/sm) |
| 22:13:04 | <sm> | \o/ |
| 22:32:25 | × | euleritian quits (~euleritia@dynamic-176-007-133-071.176.7.pool.telefonica.de) (Ping timeout: 268 seconds) |
| 22:32:39 | → | euleritian joins (~euleritia@dynamic-176-005-145-045.176.5.pool.telefonica.de) |
| 22:41:55 | × | michalz quits (~michalz@185.246.207.221) (Quit: ZNC 1.8.2 - https://znc.in) |
| 22:44:26 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:45:02 | × | Yumemi quits (~Yumemi@2001:bc8:47a0:1b14::1) (Quit: .) |
| 22:45:43 | → | mizlan joins (~mizlan@c-69-181-82-43.hsd1.ca.comcast.net) |
| 22:45:54 | → | Yumemi joins (~Yumemi@chamoin.net) |
| 22:48:28 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 22:50:18 | × | mizlan quits (~mizlan@c-69-181-82-43.hsd1.ca.comcast.net) (Ping timeout: 268 seconds) |
| 22:55:27 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 22:56:18 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds) |
| 22:56:53 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 22:57:29 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 22:58:29 | → | img joins (~img@user/img) |
| 22:58:52 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 22:59:57 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 23:00:56 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:04:53 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 23:06:33 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:09:23 | → | destituion joins (~destituio@2001:4644:c37:0:6086:64f4:a213:b80d) |
| 23:19:11 | → | magus3 joins (~Thunderbi@189.6.35.139) |
| 23:21:36 | → | Achylles joins (~Achylles_@45.182.57.13) |
| 23:23:24 | → | nij- joins (~NIL@2601:180:8300:6610:742b:f451:84ff:e5af) |
| 23:24:10 | <shapr> | sm: we'll miss you |
| 23:24:23 | <shapr> | oh wait, was that \o/ *after* the reboot? |
| 23:25:28 | <geekosaur> | yes |
| 23:25:42 | <geekosaur> | I assume that means you have joins/parts muted |
| 23:26:55 | <sm> | yup! reboot and auto-reconnect was fast |
| 23:27:05 | <nij-> | Hello! May I ask a question? Usual OOP has classes and subclasses. While it maybe more flexible, function/method calls sometimes must wait until runtime to be specified. This makes optimizing compiled code harder, and could slow down the whole system. |
| 23:27:27 | <nij-> | I'm not familiar with haskell. But it seems that all function/method calls know exactly which implementation to use at compile time. |
| 23:27:42 | <nij-> | Q1 Is this true? -- Q2, If true, how was it achieved? |
| 23:27:45 | <geekosaur> | usually yes |
| 23:28:01 | → | dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 23:28:13 | <geekosaur> | (the exception is when a typeclass dictionary can't be optimized away, which usually means it's being used polymorphically) |
| 23:28:58 | <nij-> | I think I know what a type class is (e.g. Eq, Show, Monad).. but I don't know what a typeclass dictionary is.. |
| 23:29:22 | <geekosaur> | part of the implementation |
| 23:29:50 | <geekosaur> | you could (very, very loosely) say it's a vtable associated with a type |
| 23:30:43 | <geekosaur> | so if a type has an Ord instance, it has a typeclass dictionary containing the definitions of Ord's methods for that type |
| 23:31:17 | → | siw5ohs0 joins (~aiw5ohs0@user/aiw5ohs0) |
| 23:31:18 | <geekosaur> | (and because Ord requires Eq, it also includes a typeclass dictionary for Eq) |
| 23:31:45 | <nij-> | Eq is a superclass of Ord, right? |
| 23:31:45 | ← | siw5ohs0 parts (~aiw5ohs0@user/aiw5ohs0) (Leaving) |
| 23:32:03 | <geekosaur> | I kinda don't like that terminology because it doesn't really behave like a superclass |
| 23:32:28 | <nij-> | Hmm.. what's the correct terminology? |
| 23:32:38 | <nij-> | Fill in -00Eq is a _ of Ord. |
| 23:32:42 | <geekosaur> | for example, Monad has Applicative as a "superclass", but you can define the Applicative instance in terms of Monad |
| 23:32:44 | <nij-> | Fill in --- Eq .. |
| 23:32:56 | <geekosaur> | which would be a loop if it were an actual superclass |
| 23:33:28 | <geekosaur> | (specifically: instance Applicative MyMonad where { pure = return; (<*>) = ap }) |
| 23:34:07 | <geekosaur> | so they're reelated, but can be rather more tangled than an OO superclass |
| 23:34:17 | <nij-> | Say X is a super class of Y, can I redefine methods for X in Y? |
| 23:34:24 | <geekosaur> | no |
| 23:34:36 | <geekosaur> | it just means methods for X can be used in the definition of Y |
| 23:34:44 | <geekosaur> | it's not true OOP |
| 23:34:48 | <nij-> | Nice! That means |
| 23:35:06 | ← | jb3 parts (~jb3@core.jb3.dev) (Konversation terminated!) |
| 23:35:13 | <geekosaur> | so for example Ord can and does use (==) when defining comparison operators |
| 23:35:15 | <nij-> | method call can be determined at compile time! |
| 23:35:31 | <geekosaur> | but it can't define (==) itself; it must get it from the Eq instance |
| 23:35:56 | <nij-> | It's certainly less flexible though.. but compiler is happier. |
| 23:36:02 | <geekosaur> | right, Haskell's type system is all about insuring all types can be statically determined |
| 23:36:20 | <nij-> | How about when one really wants that behavior.. lemme come up with an example.. |
| 23:36:35 | <geekosaur> | typeclasses flex this by letting you pass what amount to records of functions ("typeclass dictionaries") around implicitly |
| 23:37:03 | × | magus3 quits (~Thunderbi@189.6.35.139) (Ping timeout: 255 seconds) |
| 23:37:24 | <geekosaur> | and there is also full polymorphism, but the only thing you can do with a polymorphic value is pass (a pointer to) it around unmodified, or ignore it |
| 23:37:33 | <geekosaur> | % :t length @[] |
| 23:37:33 | <yahb2> | length @[] :: [a] -> Int |
| 23:37:52 | <geekosaur> | length neither knows nor cares what `a` is |
| 23:38:08 | <nij-> | In this case.. |
| 23:38:19 | <nij-> | is it still possible for method selection to be determined at compile time? |
| 23:38:24 | <geekosaur> | in this case you can only count how many items are in the list |
| 23:38:26 | <c_wraith> | there's also polymorphic recursion, which is one of the few cases where *something* must survive to runtime to play the part of the typeclass dictionary |
| 23:39:14 | <nij-> | What is I really want to extend a method...... |
| 23:39:15 | <geekosaur> | `a` has no constraints, therefore no usable "methods" |
| 23:39:30 | <nij-> | Say I have People and Presidents. |
| 23:39:38 | <nij-> | And I have the method "sign". |
| 23:39:57 | <nij-> | Presidents, while signing, must append their signature with "President". |
| 23:39:58 | <geekosaur> | you can produce it unmodified (`id :: a -> a`), or you can operate on something containing it (as with `length` above), you can't otherwise touch it' |
| 23:40:11 | <nij-> | This is easy to do in OOP. How about Haskell? |
| 23:40:19 | × | xal quits (~xal@mx1.xal.systems) () |
| 23:41:00 | <geekosaur> | in Haskell the focus is on the function, so you would usually have a different function for that |
| 23:41:01 | × | waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.1.2) |
| 23:41:15 | <geekosaur> | typeclasses can sometimes do it but are usually a poor choice |
| 23:42:36 | <nij-> | c_wraith polymorphic recursion sounds like a deeper topic.. |
| 23:42:39 | → | waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 23:42:50 | <nij-> | any article I should read to learn more about it? |
| 23:42:57 | <nij-> | geekosaur Thanks :) |
| 23:43:17 | <nij-> | geekosaur Oh btw, why would having dependent types in Haskell be good or useful? |
| 23:44:55 | <c_wraith> | nij-: It's probably best illustrated with a simple (if silly) example, like... |
| 23:44:56 | <c_wraith> | > let showMany :: Show a => Int -> a -> String ; showMany 0 x = show x ; showMany n x = showMany (n - 1) (x, x) in showMany 3 'a' |
| 23:44:58 | <lambdabot> | "((('a','a'),('a','a')),(('a','a'),('a','a')))" |
| 23:45:41 | <c_wraith> | nij-: notably, the type of the second argument changes on each recursive call - polymorphic recursion |
| 23:46:42 | <geekosaur> | right, that's what I meant about not being able to optimize away a typeclass dictionary earlier: in that case, it has to be passed for `showMany` to know what it's doing |
| 23:46:44 | <c_wraith> | nij-: In principle, you have no way of knowing what type `show` is called at, because it could in principle depend on program input |
| 23:48:03 | <geekosaur> | re dependent types: it can be useful to have types which depend on runtime values. (look at the Servant webserver for an example, where routes are specified at type level and selectable based on network input) |
| 23:48:31 | <geekosaur> | this helps ensure you handle all cases |
| 23:48:51 | × | destituion quits (~destituio@2001:4644:c37:0:6086:64f4:a213:b80d) (Ping timeout: 272 seconds) |
| 23:49:03 | <geekosaur> | you can't accidentally forget to define a route, it will be a compile error |
| 23:50:01 | <geekosaur> | but working with such types is really painful in Haskell as it currently exists. dependent types support this kind of usage |
| 23:50:32 | <c_wraith> | I like polymorphic recursion as an example of what it does because it's Haskell98. You don't need to explain (or deal with) emulating dependent types. |
| 23:50:40 | <nij-> | c_wraith I see. That's a good example. |
| 23:51:22 | <c_wraith> | And yes, there are legitimate use cases for polymorphic recursion :) |
| 23:53:22 | <nij-> | Hmm.. here's an example AI gave me why dependent type is good. https://www.perplexity.ai/search/iwhy-do-haskellers-TUEyhVdwSa.azD11_PEGcQ#2 |
| 23:54:02 | <nij-> | It seems more flexible and clear, yes. |
| 23:54:15 | <nij-> | (when using dependent type) |
| 23:54:43 | <nij-> | However, I wonder if this would introduce some bad effects (e.g. it may become harder to do things at compile time? Just a guess.) |
| 23:56:17 | <c_wraith> | yes, dependent types make it more difficult to write code. The ideal is that they add more difficulty to incorrect code than they do to correct code. |
| 23:56:25 | <c_wraith> | +write |
| 23:57:00 | <c_wraith> | But you can easily end up in situations where you need to write non-trivial proofs in the type system in order to keep the type checker satisfied |
| 23:57:45 | <nij-> | Hmm.. is it fair to say that dep types make it easier to write "flexibly", but introduce other bad effects for the compiler to reason? |
| 23:58:00 | × | waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds) |
| 23:58:52 | <ncf> | that AI answer is (unsurprisingly) nonsensical garbage |
| 23:59:05 | <ncf> | please do not post garbage AI links in here |
| 23:59:51 | <nij-> | ncf Sorry |
All times are in UTC on 2024-03-29.