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