| 2022-11-03 00:01:31 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2022-11-03 00:03:11 +0000 | crns | (~netcrns@p4ff5e3ac.dip0.t-ipconnect.de) |
| 2022-11-03 00:03:11 +0000 | crns | (~netcrns@p4ff5e3ac.dip0.t-ipconnect.de) (Changing host) |
| 2022-11-03 00:03:11 +0000 | crns | (~netcrns@user/crns) |
| 2022-11-03 00:03:33 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 255 seconds) |
| 2022-11-03 00:10:50 +0000 | lambdap237 | (~lambdap@static.167.190.119.168.clients.your-server.de) (Read error: Software caused connection abort) |
| 2022-11-03 00:11:22 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 00:12:06 +0000 | mvk | (~mvk@2607:fea8:5ce3:8500::4b68) (Ping timeout: 255 seconds) |
| 2022-11-03 00:12:55 +0000 | lambdap237 | (~lambdap@static.167.190.119.168.clients.your-server.de) |
| 2022-11-03 00:15:48 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 248 seconds) |
| 2022-11-03 00:25:15 +0000 | k8yun_ | (~k8yun@user/k8yun) (Quit: Leaving) |
| 2022-11-03 00:27:06 +0000 | lbseale | (~quassel@user/ep1ctetus) (Ping timeout: 260 seconds) |
| 2022-11-03 00:27:11 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 00:27:24 +0000 | lbseale | (~quassel@user/ep1ctetus) |
| 2022-11-03 00:28:29 +0000 | mmhat | (~mmh@p200300f1c7307621ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.7.1) |
| 2022-11-03 00:29:24 +0000 | Topsi1 | (~Topsi@ipb218f713.dynamic.kabel-deutschland.de) |
| 2022-11-03 00:30:34 +0000 | Topsi | (~Topsi@ipb218f713.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 2022-11-03 00:32:13 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds) |
| 2022-11-03 00:34:24 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 2022-11-03 00:35:22 +0000 | tcard | (~tcard@2400:4051:5801:7500:19ce:ed82:2ab7:90f9) (Read error: Software caused connection abort) |
| 2022-11-03 00:37:00 +0000 | tcard | (~tcard@2400:4051:5801:7500:19ce:ed82:2ab7:90f9) |
| 2022-11-03 00:37:05 +0000 | finsternis | (~X@23.226.237.192) |
| 2022-11-03 00:40:54 +0000 | nilradical | (~nilradica@user/naso) |
| 2022-11-03 00:45:00 +0000 | olivermead | (~olivermea@cpc72329-sotn15-2-0-cust205.15-1.cable.virginm.net) |
| 2022-11-03 00:51:42 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2022-11-03 00:52:20 +0000 | jakalx | (~jakalx@base.jakalx.net) () |
| 2022-11-03 00:56:51 +0000 | ski | (~ski@remote11.chalmers.se) (Read error: Software caused connection abort) |
| 2022-11-03 00:58:55 +0000 | gabiruh_ | (~gabiruh@vps19177.publiccloud.com.br) |
| 2022-11-03 00:59:14 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:756c:6d4e:8007:23ff) (Remote host closed the connection) |
| 2022-11-03 00:59:43 +0000 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) (Ping timeout: 252 seconds) |
| 2022-11-03 01:00:46 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b8c3:aabe:4f47:1efb) |
| 2022-11-03 01:01:15 +0000 | jakalx | (~jakalx@base.jakalx.net) |
| 2022-11-03 01:01:28 +0000 | ub | (~Thunderbi@77.119.196.32.wireless.dyn.drei.com) |
| 2022-11-03 01:01:47 +0000 | califax | (~califax@user/califx) (Remote host closed the connection) |
| 2022-11-03 01:02:12 +0000 | zeenk | (~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494) (Quit: Konversation terminated!) |
| 2022-11-03 01:02:44 +0000 | ubert | (~Thunderbi@91.141.39.16.wireless.dyn.drei.com) (Ping timeout: 248 seconds) |
| 2022-11-03 01:02:44 +0000 | ub | ubert |
| 2022-11-03 01:02:50 +0000 | califax | (~califax@user/califx) |
| 2022-11-03 01:03:05 +0000 | ski | (~ski@remote11.chalmers.se) |
| 2022-11-03 01:09:38 +0000 | chomwitt | (~chomwitt@athe730-c-multi-217.home.otenet.gr) (Ping timeout: 246 seconds) |
| 2022-11-03 01:11:13 +0000 | nilradical | (~nilradica@user/naso) () |
| 2022-11-03 01:11:51 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 2022-11-03 01:12:00 +0000 | _leo92_ | (~emmanuelu@user/emmanuelux) |
| 2022-11-03 01:13:22 +0000 | emmanuelux | (~emmanuelu@user/emmanuelux) (Ping timeout: 255 seconds) |
| 2022-11-03 01:14:34 +0000 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 252 seconds) |
| 2022-11-03 01:16:36 +0000 | bgamari_ | (~bgamari@64.223.168.223) |
| 2022-11-03 01:16:44 +0000 | bgamari | (~bgamari@64.223.227.132) (Ping timeout: 268 seconds) |
| 2022-11-03 01:16:48 +0000 | monochrom | (trebla@216.138.220.146) (Read error: Software caused connection abort) |
| 2022-11-03 01:17:17 +0000 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 2022-11-03 01:17:59 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 2022-11-03 01:20:46 +0000 | monochrom | (trebla@216.138.220.146) |
| 2022-11-03 01:21:24 +0000 | Xeroine | (~Xeroine@user/xeroine) (Ping timeout: 248 seconds) |
| 2022-11-03 01:21:36 +0000 | <chromoblob> | suppose i define reals in [-1, 1] as signed digit streams: data R = M1 R | Z R | P1 R. what is the type that is equivalent to type of functions R -> R? |
| 2022-11-03 01:22:44 +0000 | Xeroine | (~Xeroine@user/xeroine) |
| 2022-11-03 01:25:15 +0000 | <chromoblob> | i'm struggling because R is recursive data type, and because of laziness (maybe these both are a same point) |
| 2022-11-03 01:25:40 +0000 | <ski> | what's the intended interpretation of `M1',`Z',`P1' ? |
| 2022-11-03 01:26:14 +0000 | <chromoblob> | minus one digit, zero digit, one digit |
| 2022-11-03 01:26:41 +0000 | <chromoblob> | one could code thus data Digit = M1 | Z | P1; data R = R Digit R |
| 2022-11-03 01:27:55 +0000 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 2022-11-03 01:28:41 +0000 | califax | (~califax@user/califx) (Ping timeout: 255 seconds) |
| 2022-11-03 01:30:17 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds) |
| 2022-11-03 01:30:59 +0000 | <ski> | chromoblob : symmetric base three ? |
| 2022-11-03 01:31:12 +0000 | califax | (~califax@user/califx) |
| 2022-11-03 01:31:48 +0000 | <ski> | anyway, `R = Nat -> Digit', so `R -> R = (Nat -> Digit) -> Nat -> Digit = Nat -> Cont Digit Nat' |
| 2022-11-03 01:32:05 +0000 | <ski> | (not sure if that helps, really .. just noting it) |
| 2022-11-03 01:32:42 +0000 | <ski> | .. i guess maybe you could do some bar recursion or fan theorem kind of thing .. hmm |
| 2022-11-03 01:33:13 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-11-03 01:34:18 +0000 | <ski> | type R_to_R = (Tree,Tree,Tree) |
| 2022-11-03 01:34:18 +0000 | <ski> | data Tree = Const Digit | Branch Tree Tree Tree |
| 2022-11-03 01:34:44 +0000 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 248 seconds) |
| 2022-11-03 01:36:18 +0000 | nate3 | (~nate@98.45.169.16) |
| 2022-11-03 01:36:18 +0000 | <ski> | (that's a redundant representation, not "tight") |
| 2022-11-03 01:36:19 +0000 | <chromoblob> | i don't see how it reflects a function |
| 2022-11-03 01:36:45 +0000 | <chromoblob> | there's only one digit at the end of each path |
| 2022-11-03 01:36:57 +0000 | <ski> | er, hm, `type R_to_R = Nat -> Tree', rather |
| 2022-11-03 01:38:23 +0000 | <ski> | imagine writing a `phi :: (Nat -> Digit) -> Digit'. you go `phi p = ..(p 0)..(p 1)....' .. since you produce a finite output, you can only look at finitely many elements of the stream `p' |
| 2022-11-03 01:38:48 +0000 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
| 2022-11-03 01:39:15 +0000 | <ski> | which means that you can encode `phi' as a tree, where you go down the branch which corresponds to the current element of the input stream `p', until you reach `Const d', at which point you ignore the rest of the stream and just return `d' |
| 2022-11-03 01:41:21 +0000 | nate3 | (~nate@98.45.169.16) (Ping timeout: 272 seconds) |
| 2022-11-03 01:42:21 +0000 | <ski> | <https://math.andrej.com/2009/10/12/constructive-gem-double-exponentials/> has the basic idea |
| 2022-11-03 01:42:29 +0000 | <ski> | you may also want to compare with |
| 2022-11-03 01:42:33 +0000 | <ski> | @where impossible |
| 2022-11-03 01:42:34 +0000 | <lambdabot> | <http://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/>,<http://math.andrej.com/2008/11/21/a-haskell-monad-for-infinite-search-in-finite-time/> |
| 2022-11-03 01:48:46 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 01:53:37 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
| 2022-11-03 01:58:34 +0000 | taeaad | (~taeaad@user/taeaad) (Ping timeout: 252 seconds) |
| 2022-11-03 02:01:04 +0000 | taeaad | (~taeaad@user/taeaad) |
| 2022-11-03 02:04:05 +0000 | glguy | (~glguy@libera/staff-emeritus/glguy) |
| 2022-11-03 02:04:46 +0000 | abhiroop | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) |
| 2022-11-03 02:05:26 +0000 | nate3 | (~nate@98.45.169.16) |
| 2022-11-03 02:07:54 +0000 | califax_ | (~califax@user/califx) |
| 2022-11-03 02:07:55 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 2022-11-03 02:07:57 +0000 | califax | (~califax@user/califx) (Remote host closed the connection) |
| 2022-11-03 02:09:37 +0000 | califax_ | califax |
| 2022-11-03 02:11:13 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 02:12:35 +0000 | bilegeek | (~bilegeek@2600:1008:b044:33bf:f451:b0ca:9bd5:7375) |
| 2022-11-03 02:12:59 +0000 | Kaipei | (~Kaiepi@108.175.84.104) (Ping timeout: 246 seconds) |
| 2022-11-03 02:14:03 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds) |
| 2022-11-03 02:14:03 +0000 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
| 2022-11-03 02:15:20 +0000 | Lord_of_Life_ | Lord_of_Life |
| 2022-11-03 02:16:18 +0000 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 255 seconds) |
| 2022-11-03 02:17:16 +0000 | olivermead | (~olivermea@cpc72329-sotn15-2-0-cust205.15-1.cable.virginm.net) (Ping timeout: 252 seconds) |
| 2022-11-03 02:21:15 +0000 | olivermead | (~olivermea@cpc72329-sotn15-2-0-cust205.15-1.cable.virginm.net) |
| 2022-11-03 02:30:47 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds) |
| 2022-11-03 02:31:34 +0000 | lbseale | (~quassel@user/ep1ctetus) (Ping timeout: 252 seconds) |
| 2022-11-03 02:32:05 +0000 | lbseale | (~quassel@user/ep1ctetus) |
| 2022-11-03 02:32:35 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2022-11-03 02:37:34 +0000 | mixfix41 | (~sdeny9ee@user/mixfix41) |
| 2022-11-03 02:40:52 +0000 | ksqsf | (~ksqsf@2001:da8:d800:611:302c:76b8:e8aa:8bc8) |
| 2022-11-03 02:56:52 +0000 | irrgit | (~irrgit@89.47.234.74) (Ping timeout: 252 seconds) |
| 2022-11-03 02:57:19 +0000 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 2022-11-03 02:59:32 +0000 | Sauvin | (~sauvin@user/Sauvin) (Ping timeout: 248 seconds) |
| 2022-11-03 02:59:53 +0000 | Athas | (~athas@2a01:7c8:aaac:1cf:ba6c:ed85:faef:e8b1) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2022-11-03 03:00:03 +0000 | Athas | (~athas@sigkill.dk) |
| 2022-11-03 03:01:42 +0000 | ksqsf | (~ksqsf@2001:da8:d800:611:302c:76b8:e8aa:8bc8) (Quit: Leaving...) |
| 2022-11-03 03:04:01 +0000 | nate3 | (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
| 2022-11-03 03:04:52 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 2022-11-03 03:09:24 +0000 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 255 seconds) |
| 2022-11-03 03:09:44 +0000 | irrgit | (~irrgit@86.106.90.226) |
| 2022-11-03 03:10:37 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
| 2022-11-03 03:11:00 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 2022-11-03 03:24:05 +0000 | polo | money |
| 2022-11-03 03:24:35 +0000 | td_ | (~td@83.135.9.45) (Ping timeout: 272 seconds) |
| 2022-11-03 03:26:11 +0000 | td_ | (~td@83.135.9.44) |
| 2022-11-03 03:31:07 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 03:35:59 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 272 seconds) |
| 2022-11-03 03:40:57 +0000 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
| 2022-11-03 03:40:57 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 2022-11-03 03:40:57 +0000 | finn_elija | FinnElija |
| 2022-11-03 03:41:35 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 03:44:14 +0000 | tgi | (~thegeekin@189.180.115.115) |
| 2022-11-03 03:47:50 +0000 | thegeekinside | (~thegeekin@189.180.115.115) (Ping timeout: 246 seconds) |
| 2022-11-03 03:48:57 +0000 | thegeekinside | (~thegeekin@189.180.115.115) |
| 2022-11-03 03:50:44 +0000 | tgi | (~thegeekin@189.180.115.115) (Ping timeout: 248 seconds) |
| 2022-11-03 03:51:12 +0000 | tgi | (~thegeekin@189.180.115.115) |
| 2022-11-03 03:53:24 +0000 | thegeekinside | (~thegeekin@189.180.115.115) (Ping timeout: 248 seconds) |
| 2022-11-03 03:57:19 +0000 | cleetus | (~cleetus@63.239.66.138) |
| 2022-11-03 03:57:37 +0000 | tomboy64 | (~tomboy64@user/tomboy64) (Ping timeout: 255 seconds) |
| 2022-11-03 03:59:23 +0000 | cleetus | (~cleetus@63.239.66.138) () |
| 2022-11-03 03:59:25 +0000 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 272 seconds) |
| 2022-11-03 04:03:47 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-11-03 04:05:11 +0000 | talismanick | (~talismani@2601:200:c100:c9e0::1b0b) |
| 2022-11-03 04:07:59 +0000 | <talismanick> | I factored and refactored some old code until it fit into the Procrustean bed of a monadic interpreter, then took the leap of faith and changed the placeholder `type M a = Wrapper a` to `type M a = Either String (Wrapper a)` and... it compiled |
| 2022-11-03 04:08:11 +0000 | abhiroop_ | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) |
| 2022-11-03 04:08:20 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds) |
| 2022-11-03 04:08:22 +0000 | abhiroop | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) (Ping timeout: 252 seconds) |
| 2022-11-03 04:08:22 +0000 | <talismanick> | does that mean the compiler uses Either String's MonadFail instance to turn all the calls to `error` into `Left`? |
| 2022-11-03 04:10:06 +0000 | <talismanick> | (leaving aside from the moment that `Left "an error occurred"` isn't that much better than an exception) |
| 2022-11-03 04:10:14 +0000 | niko | (niko@libera/staff/niko) (Ping timeout: 612 seconds) |
| 2022-11-03 04:10:15 +0000 | <talismanick> | for the moment* |
| 2022-11-03 04:15:25 +0000 | <talismanick> | nvm, it needs to be `fail`, not `error`, and no way to declare a non-orphan instance of MonadFail (Either String) :( |
| 2022-11-03 04:16:05 +0000 | <ski> | "turn all the calls to `error` into `Left`?" -- no, that's just failable `<pat> <- <act>' matches .. and there's no .. yea, what you said |
| 2022-11-03 04:16:33 +0000 | <ski> | @undo do Just x <- return Nothing; return x |
| 2022-11-03 04:16:33 +0000 | <lambdabot> | return Nothing >>= \ a -> case a of { Just x -> return x; _ -> fail ""} |
| 2022-11-03 04:17:18 +0000 | justsomeguy | (~justsomeg@user/justsomeguy) |
| 2022-11-03 04:19:27 +0000 | <talismanick> | Well, on the bright side, it won't be an orphan MonadFail instance if I write for my own more elaborate error-handling data structure |
| 2022-11-03 04:20:34 +0000 | <talismanick> | then s/error/fail/g and I'm off to the races |
| 2022-11-03 04:24:33 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 255 seconds) |
| 2022-11-03 04:27:39 +0000 | kadoban | (~kadoban@user/kadoban) () |
| 2022-11-03 04:37:31 +0000 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 2022-11-03 04:37:43 +0000 | tomboy64 | (~tomboy64@user/tomboy64) |
| 2022-11-03 04:44:04 +0000 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 248 seconds) |
| 2022-11-03 04:44:08 +0000 | mvk | (~mvk@2607:fea8:5ce3:8500::4b68) |
| 2022-11-03 04:44:36 +0000 | olivermead | (~olivermea@cpc72329-sotn15-2-0-cust205.15-1.cable.virginm.net) (Ping timeout: 248 seconds) |
| 2022-11-03 04:45:57 +0000 | Vajb | (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57) (Read error: Connection reset by peer) |
| 2022-11-03 04:46:07 +0000 | Vajb | (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) |
| 2022-11-03 04:46:49 +0000 | niko | (niko@libera/staff/niko) |
| 2022-11-03 04:50:28 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 248 seconds) |
| 2022-11-03 04:52:19 +0000 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 2022-11-03 04:59:36 +0000 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 2022-11-03 05:00:43 +0000 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 2022-11-03 05:08:01 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 05:12:11 +0000 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:50b:c529:3f17:f97) (Ping timeout: 246 seconds) |
| 2022-11-03 05:14:13 +0000 | bilegeek | (~bilegeek@2600:1008:b044:33bf:f451:b0ca:9bd5:7375) (Quit: Leaving) |
| 2022-11-03 05:24:26 +0000 | mixfix41 | (~sdeny9ee@user/mixfix41) (Ping timeout: 246 seconds) |
| 2022-11-03 05:25:57 +0000 | Vajb | (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 2022-11-03 05:26:20 +0000 | Vajb | (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57) |
| 2022-11-03 05:28:27 +0000 | mvk | (~mvk@2607:fea8:5ce3:8500::4b68) (Ping timeout: 255 seconds) |
| 2022-11-03 06:05:18 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-11-03 06:06:03 +0000 | jmorris | (uid537181@id-537181.uxbridge.irccloud.com) |
| 2022-11-03 06:17:33 +0000 | ncf | (~n@monade.li) (Ping timeout: 268 seconds) |
| 2022-11-03 06:17:52 +0000 | ncf | (~n@monade.li) |
| 2022-11-03 06:22:23 +0000 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
| 2022-11-03 06:25:34 +0000 | drdo | (~drdo@2a0b:b800:2:31e6::1) (Ping timeout: 268 seconds) |
| 2022-11-03 06:25:58 +0000 | chomwitt | (~chomwitt@2a02:587:dc18:4a00:1ac0:4dff:fedb:a3f1) |
| 2022-11-03 06:26:30 +0000 | Topsi1 | (~Topsi@ipb218f713.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds) |
| 2022-11-03 06:27:23 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b8c3:aabe:4f47:1efb) (Remote host closed the connection) |
| 2022-11-03 06:29:46 +0000 | olivermead | (~olivermea@cpc72329-sotn15-2-0-cust205.15-1.cable.virginm.net) |
| 2022-11-03 06:34:50 +0000 | irrgit_ | (~irrgit@146.70.27.242) |
| 2022-11-03 06:35:47 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
| 2022-11-03 06:37:58 +0000 | irrgit | (~irrgit@86.106.90.226) (Ping timeout: 252 seconds) |
| 2022-11-03 06:38:31 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 2022-11-03 06:42:05 +0000 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 2022-11-03 06:44:38 +0000 | abhiroop | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) |
| 2022-11-03 06:45:21 +0000 | abhiroop_ | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) (Ping timeout: 272 seconds) |
| 2022-11-03 06:45:46 +0000 | kenran | (~user@user/kenran) |
| 2022-11-03 06:53:47 +0000 | elevenkb | (~elevenkb@105.184.125.168) |
| 2022-11-03 06:55:37 +0000 | olivermead | (~olivermea@cpc72329-sotn15-2-0-cust205.15-1.cable.virginm.net) (Remote host closed the connection) |
| 2022-11-03 06:56:09 +0000 | tgi | (~thegeekin@189.180.115.115) (Ping timeout: 246 seconds) |
| 2022-11-03 06:57:22 +0000 | odnes | (~odnes@5-203-216-155.pat.nym.cosmote.net) |
| 2022-11-03 06:57:40 +0000 | odnes | (~odnes@5-203-216-155.pat.nym.cosmote.net) (Remote host closed the connection) |
| 2022-11-03 06:58:09 +0000 | olivermead | (~olivermea@cpc72329-sotn15-2-0-cust205.15-1.cable.virginm.net) |
| 2022-11-03 07:00:00 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2022-11-03 07:01:18 +0000 | nate3 | (~nate@98.45.169.16) |
| 2022-11-03 07:06:06 +0000 | nate3 | (~nate@98.45.169.16) (Ping timeout: 255 seconds) |
| 2022-11-03 07:08:01 +0000 | mncheck | (~mncheck@193.224.205.254) |
| 2022-11-03 07:13:35 +0000 | xax__ | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 2022-11-03 07:14:31 +0000 | acidjnk | (~acidjnk@p200300d6e7137a343957ed7bae49a26a.dip0.t-ipconnect.de) |
| 2022-11-03 07:14:38 +0000 | titibandit | (~titibandi@xdsl-87-79-250-160.nc.de) |
| 2022-11-03 07:18:55 +0000 | kenran` | (~user@user/kenran) |
| 2022-11-03 07:21:17 +0000 | kenran | (~user@user/kenran) (Ping timeout: 276 seconds) |
| 2022-11-03 07:24:08 +0000 | <dminuoso> | That being said, I think `fail` abused this way. |
| 2022-11-03 07:25:03 +0000 | Maeda | (~Maeda@91-161-10-149.subs.proxad.net) (Quit: leaving) |
| 2022-11-03 07:25:39 +0000 | Maeda | (~Maeda@91-161-10-149.subs.proxad.net) |
| 2022-11-03 07:26:26 +0000 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 2022-11-03 07:27:53 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b8c3:aabe:4f47:1efb) |
| 2022-11-03 07:32:59 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b8c3:aabe:4f47:1efb) (Ping timeout: 276 seconds) |
| 2022-11-03 07:35:16 +0000 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 248 seconds) |
| 2022-11-03 07:35:31 +0000 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving) |
| 2022-11-03 07:38:30 +0000 | kenran` | (~user@user/kenran) (Remote host closed the connection) |
| 2022-11-03 07:39:24 +0000 | kenran | (~user@user/kenran) |
| 2022-11-03 07:40:34 +0000 | chele | (~chele@user/chele) |
| 2022-11-03 07:42:02 +0000 | kenran` | (~user@user/kenran) |
| 2022-11-03 07:43:45 +0000 | kenran | (~user@user/kenran) (Ping timeout: 246 seconds) |
| 2022-11-03 07:49:27 +0000 | jonathanx | (~jonathan@98.128.168.222) |
| 2022-11-03 07:52:04 +0000 | elevenkb | (~elevenkb@105.184.125.168) (Remote host closed the connection) |
| 2022-11-03 07:54:14 +0000 | statusfailed | (~statusfai@statusfailed.com) (Quit: leaving) |
| 2022-11-03 07:54:29 +0000 | causal | (~user@50.35.83.177) (Quit: WeeChat 3.7.1) |
| 2022-11-03 07:56:40 +0000 | mmhat | (~mmh@2003:f1:c730:7621:ee08:6bff:fe09:5315) |
| 2022-11-03 07:58:50 +0000 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 2022-11-03 08:01:09 +0000 | hook54321 | (sid149355@user/hook54321) (Ping timeout: 268 seconds) |
| 2022-11-03 08:02:18 +0000 | CiaoSen | (~Jura@p200300c9571247002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 2022-11-03 08:02:48 +0000 | Kaipei | (~Kaiepi@108.175.84.104) |
| 2022-11-03 08:03:31 +0000 | hook54321 | (sid149355@user/hook54321) |
| 2022-11-03 08:04:02 +0000 | statusfailed | (~statusfai@statusfailed.com) |
| 2022-11-03 08:10:24 +0000 | zeenk | (~zeenk@2a02:2f04:a105:5d00:c862:f190:2ea:d494) |
| 2022-11-03 08:13:19 +0000 | Heyting | (~Heyting@193.198.16.217) |
| 2022-11-03 08:15:50 +0000 | jmorris | (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 2022-11-03 08:17:32 +0000 | shriekingnoise | (~shrieking@186.137.167.202) (Quit: Quit) |
| 2022-11-03 08:20:17 +0000 | RobertKrook | (~RobertKro@ext-1-087.eduroam.chalmers.se) |
| 2022-11-03 08:21:12 +0000 | RobertKrook | (~RobertKro@ext-1-087.eduroam.chalmers.se) (Client Quit) |
| 2022-11-03 08:22:50 +0000 | Robert43 | (~Robert@ext-1-087.eduroam.chalmers.se) |
| 2022-11-03 08:24:24 +0000 | <Robert43> | Good morning! |
| 2022-11-03 08:24:25 +0000 | <Robert43> | Brief question -- what kind of overheads does IORef impose? E.g imagine I am passing around a state explicitly in a recursive function. Lifting a component of the state or the complete state out to an IORef and mutating that instead. |
| 2022-11-03 08:25:43 +0000 | Heyting | (~Heyting@193.198.16.217) (Remote host closed the connection) |
| 2022-11-03 08:32:57 +0000 | talismanick | (~talismani@2601:200:c100:c9e0::1b0b) (Ping timeout: 255 seconds) |
| 2022-11-03 08:35:04 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-11-03 08:37:21 +0000 | <dminuoso> | Robert43: So in principle IORef has no overhead worthy mentioning, except that there is a linear GC cost in existing mutable references. |
| 2022-11-03 08:37:46 +0000 | <dminuoso> | If you just use IORef in a singular place, this is not relevant at all. But if you start using large numbers of IORefs concurrently that becomes a penalty worthy considering |
| 2022-11-03 08:38:02 +0000 | <dminuoso> | Under the hood its just a pointer to memory. |
| 2022-11-03 08:38:19 +0000 | Topsi | (~Topsi@ipb218f6c1.dynamic.kabel-deutschland.de) |
| 2022-11-03 08:38:51 +0000 | michalz | (~michalz@185.246.207.203) |
| 2022-11-03 08:38:53 +0000 | Topsi | (~Topsi@ipb218f6c1.dynamic.kabel-deutschland.de) (Client Quit) |
| 2022-11-03 08:40:00 +0000 | <dminuoso> | See https://gitlab.haskell.org/ghc/ghc/-/issues/7662\ |
| 2022-11-03 08:41:36 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 2022-11-03 08:43:08 +0000 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 2022-11-03 08:43:22 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
| 2022-11-03 08:48:13 +0000 | jargon_ | (~jargon@174-22-194-21.phnx.qwest.net) |
| 2022-11-03 08:48:17 +0000 | <dminuoso> | So as long as you dont keep say a huge tree of IORefs or something along these lines, there's no relevant overhead to talk about. |
| 2022-11-03 08:50:07 +0000 | jargon | (~jargon@174-22-194-21.phnx.qwest.net) (Ping timeout: 272 seconds) |
| 2022-11-03 08:51:18 +0000 | <merijn> | dminuoso: I mean the GC cost of IORef seems the same as "literally every other think that might reference something" |
| 2022-11-03 08:52:15 +0000 | <merijn> | Oh, I guess a tiny bit more maybe, because they can violate generations? but I find it hard to see how they'd create any notable impact worth mentioning separately? |
| 2022-11-03 08:52:40 +0000 | razetime | (~quassel@117.254.34.146) |
| 2022-11-03 08:54:17 +0000 | titibandit | (~titibandi@xdsl-87-79-250-160.nc.de) (Remote host closed the connection) |
| 2022-11-03 08:54:41 +0000 | <dminuoso> | merijn: well yes, but you pay this cost per minor GC |
| 2022-11-03 08:55:36 +0000 | <dminuoso> | You wouldnt pay this up front for arbitrary references |
| 2022-11-03 08:56:06 +0000 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
| 2022-11-03 08:56:52 +0000 | abhiroop | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) (Ping timeout: 248 seconds) |
| 2022-11-03 08:57:03 +0000 | abhiroop | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) |
| 2022-11-03 08:57:56 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 248 seconds) |
| 2022-11-03 09:00:03 +0000 | cp1313[m] | (~cp1313mat@2001:470:69fc:105::2:9293) (Quit: You have been kicked for being idle) |
| 2022-11-03 09:02:00 +0000 | ft | (~ft@p508dbd59.dip0.t-ipconnect.de) (Quit: leaving) |
| 2022-11-03 09:04:22 +0000 | fserucas_ | (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) |
| 2022-11-03 09:09:37 +0000 | mncheckm | (~mncheck@193.224.205.254) |
| 2022-11-03 09:09:54 +0000 | <Robert43> | Thanks for the help, I will run some experiments. I'll not have a huge number of them, never more than the number of available HECs |
| 2022-11-03 09:11:24 +0000 | <merijn> | I mean, I wouldn't even bother testing unless you were planning to go, like, >10k IORefs :p |
| 2022-11-03 09:11:55 +0000 | <dminuoso> | Even that number may not be too horrible, it really depends on how much GC latency you are willing to accept |
| 2022-11-03 09:12:28 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 09:12:31 +0000 | mncheck | (~mncheck@193.224.205.254) (Ping timeout: 252 seconds) |
| 2022-11-03 09:13:12 +0000 | <Robert43> | Hah okay, I'll just assume this cost is negligible then. I will have #HECs processes (at most), and I want to be able to install an exception handler (catch Ctrl-C) to them that can access some data they are continuously working with, and aggregate a result before terminating |
| 2022-11-03 09:13:28 +0000 | <merijn> | And really, if you have >10k IORef you should probably question what you're doing, tbh |
| 2022-11-03 09:13:33 +0000 | <Robert43> | Right |
| 2022-11-03 09:16:55 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
| 2022-11-03 09:18:38 +0000 | <dminuoso> | I dont know about that.. Im actually in a spot where I have about that number of IORefs for a while. |
| 2022-11-03 09:19:47 +0000 | <dminuoso> | I have a DSL that describes a tree, but its written in such a way that I need to continuously lookup previous nodes and mutate them. It turns out that using an IntTree (IORef a) is better than doing this purely on `IntTree a` in my case. |
| 2022-11-03 09:23:08 +0000 | <Robert43> | Interesting |
| 2022-11-03 09:25:04 +0000 | <dminuoso> | (But I dont keep this tree long, at the end I just do `traverse readIORef` over it, and all the IORefs are gone. So I guess I just temporarily pay a bit of minor GC latency |
| 2022-11-03 09:26:24 +0000 | <Robert43> | What about MVar vs IORef? MVars does some extra bookkeeping w.r.t blocked processes etc. There will be no concurrent reads or writes |
| 2022-11-03 09:28:28 +0000 | <dminuoso> | Robert43: MVar and IORef are exactly the same. |
| 2022-11-03 09:28:31 +0000 | <dminuoso> | data MVar a = MVar (MVar# RealWorld a) |
| 2022-11-03 09:28:40 +0000 | <dminuoso> | Ah hold on |
| 2022-11-03 09:28:43 +0000 | <dminuoso> | No I lied, they are not. |
| 2022-11-03 09:28:47 +0000 | <merijn> | dminuoso: No they're not?? |
| 2022-11-03 09:28:49 +0000 | <dminuoso> | I was thinking STRef. |
| 2022-11-03 09:28:54 +0000 | <dminuoso> | STRef and IORef are the same thing under the hood. |
| 2022-11-03 09:29:01 +0000 | Maeda | (~Maeda@91-161-10-149.subs.proxad.net) (Ping timeout: 252 seconds) |
| 2022-11-03 09:29:02 +0000 | <Robert43> | Yes |
| 2022-11-03 09:29:20 +0000 | vito | (sid1962@user/vito) (Ping timeout: 268 seconds) |
| 2022-11-03 09:29:28 +0000 | <merijn> | Robert43: The bookkeeping is mostly for blocked threads, but if no threads block on it, then that's not used |
| 2022-11-03 09:29:30 +0000 | vito | (sid1962@user/vito) |
| 2022-11-03 09:29:30 +0000 | <Robert43> | I guess I am wondering if I will pay some price for using an MVar instead of an IORef, if I don't use the MVar facilities for blocking etc |
| 2022-11-03 09:29:44 +0000 | <merijn> | Robert43: I mean, that's like a handful of pointers per MVar, so also fairly negligible |
| 2022-11-03 09:29:45 +0000 | <Robert43> | It has this nice property that you can create an empty mvar |
| 2022-11-03 09:30:17 +0000 | <Robert43> | Whereas for an IORef I'd need to do something like `IORef (Maybe a)` to create a logically 'empty' one |
| 2022-11-03 09:30:38 +0000 | <merijn> | Robert43: Basically, an MVar has 2 pointers to a queue for reads and a queue for writes, but if you never read from empty/write to full, those queues aren't used |
| 2022-11-03 09:30:52 +0000 | Maeda | (~Maeda@91-161-10-149.subs.proxad.net) |
| 2022-11-03 09:30:54 +0000 | <dminuoso> | Robert43: You can, if need be, also do `newIORef undefined` - with some discipline it *can* be fine |
| 2022-11-03 09:31:12 +0000 | <dminuoso> | (Or better yet `newIORef (error "uninitialized foo")`) |
| 2022-11-03 09:31:16 +0000 | <Robert43> | Ahaha right, I don't trust myself though dminuoso |
| 2022-11-03 09:31:17 +0000 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 276 seconds) |
| 2022-11-03 09:31:33 +0000 | <Robert43> | Thanks for the clarification @meri |
| 2022-11-03 09:31:36 +0000 | <Robert43> | merijn |
| 2022-11-03 09:32:13 +0000 | <dminuoso> | merijn: interesting, that reminds me a bit about how TChan is implemented. |
| 2022-11-03 09:34:29 +0000 | olivermead | (~olivermea@cpc72329-sotn15-2-0-cust205.15-1.cable.virginm.net) (Remote host closed the connection) |
| 2022-11-03 09:34:55 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 09:35:11 +0000 | <[Leary]> | Robert43: When I don't trust myself (which is most of the time), I like to try and craft safe interfaces overtop of the unsafe stuff, which stays confined to an internal module. You could do e.g. `newtype Empty a = Empty (IORef a); newEmpty = Empty <$> newIORef undefined; fill (Empty ref) a = writeIORef ref a $> ref`. |
| 2022-11-03 09:36:36 +0000 | <kuribas> | The great thing about haskell is not that you don't need low level unsafe stuff, but rather that you can isolute the unsafe parts to a few lines of code, and then create nice (safe) abstractions over it. |
| 2022-11-03 09:36:37 +0000 | <Robert43> | Sounds good :) |
| 2022-11-03 09:37:49 +0000 | <merijn> | That seems kinda pointless? |
| 2022-11-03 09:38:08 +0000 | <merijn> | Like, just delay "newIORef" until your "fill" call |
| 2022-11-03 09:38:34 +0000 | <merijn> | The type changes anyway and you're doing IO anyway, so you can just delay creation until the fill |
| 2022-11-03 09:39:51 +0000 | <[Leary]> | I just pulled that out of my arse to get the idea across, I'm not claiming it'll solve the problem as written. |
| 2022-11-03 09:40:51 +0000 | <[Leary]> | So long as there is a "discipline" for it, you should be able to turn that discipline into an interface and have the compiler make sure you follow it. |
| 2022-11-03 09:41:25 +0000 | <Robert43> | For my use case, an MVar sounds OK, and it will keep 'tricks' out of the code. While I may enjoy these tricks, I can't trust everyone to read the code to enjoy them as much |
| 2022-11-03 09:42:15 +0000 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 2022-11-03 09:42:17 +0000 | chele_ | (~chele@user/chele) |
| 2022-11-03 09:42:55 +0000 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 2022-11-03 09:43:31 +0000 | <dminuoso> | Robert43: Honestly, it doesnt really change anything. |
| 2022-11-03 09:43:47 +0000 | <dminuoso> | Robert43: If you try to read from an uninitialized MVar, it will block - this is just bottom. |
| 2022-11-03 09:43:59 +0000 | <dminuoso> | If you use an undefined/error from an IORef, it will crash - this too is bottom. |
| 2022-11-03 09:44:21 +0000 | <dminuoso> | Advantage of `newIORef (error "foo is not initialized")` is that you at least get some indicator about *which* *part* hasnt been initialized yet |
| 2022-11-03 09:44:35 +0000 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds) |
| 2022-11-03 09:44:40 +0000 | <dminuoso> | Or you end up using tryTakeMVar everywhere, but that's really the same as `IORef (Maybe a)` anyhow |
| 2022-11-03 09:44:58 +0000 | chele | (~chele@user/chele) (Ping timeout: 252 seconds) |
| 2022-11-03 09:45:02 +0000 | chexum | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 255 seconds) |
| 2022-11-03 09:45:13 +0000 | <Robert43> | I populate the MVar almost immediately, the rest of the code (rightly) assumes that it is filled |
| 2022-11-03 09:45:37 +0000 | <kuribas> | at lower cost (no semaphores needed) |
| 2022-11-03 09:46:34 +0000 | ec | (~ec@gateway/tor-sasl/ec) |
| 2022-11-03 09:46:45 +0000 | <dminuoso> | Robert43: Sure, but like I said: might as well use `error` instead. In the mvar case it will crash anyway (since the RTS can detect if no other thread has references to an MVar you are blocking on) |
| 2022-11-03 09:46:48 +0000 | <dminuoso> | Except it really wont tell you where. |
| 2022-11-03 09:46:59 +0000 | <dminuoso> | That makes MVar way less useful for what you're doing |
| 2022-11-03 09:47:17 +0000 | <dminuoso> | With `error` you at least can include a name for the thing you are planning to initialize |
| 2022-11-03 09:47:37 +0000 | chexum | (~quassel@gateway/tor-sasl/chexum) |
| 2022-11-03 09:48:29 +0000 | __monty__ | (~toonn@user/toonn) |
| 2022-11-03 09:49:20 +0000 | <dminuoso> | Robert43: What you *can* do to turn this bottom into a usable exception, is an extension of what [Leary] proposed. Initialize each IORef with `undefined`, and hide `readIORef` behind a wrapper that will `evaluate` the inner thing |
| 2022-11-03 09:49:54 +0000 | <dminuoso> | Turning the "uninitialized variable" into a proper IO exception (and you have IO anyway, since readIORef demands it) |
| 2022-11-03 09:52:05 +0000 | <dminuoso> | Along the lines of: readMyRef (MyRef nam ref) = do v <- readIORef ref; catch (evaluate v) (\(e :: SomeException) -> throwIO (InternalError ("Uninitialized variable " <> nam))) |
| 2022-11-03 09:52:28 +0000 | <dminuoso> | Well you get some other problems with respect to imprecise exception semantics, but oh well |
| 2022-11-03 09:55:30 +0000 | <Robert43> | I'll experiment with all of these variants |
| 2022-11-03 09:55:35 +0000 | vpan | (~0@212.117.1.172) |
| 2022-11-03 09:57:37 +0000 | <dminuoso> | Robert43: Or better yet, in that wrapper use an Maybe internally! |
| 2022-11-03 09:58:09 +0000 | <dminuoso> | `data MyRef a = MyRef { ref :: IORef (Maybe a), nam :: T.Text }` |
| 2022-11-03 09:58:31 +0000 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 2022-11-03 09:59:33 +0000 | CiaoSen | (~Jura@p200300c9571247002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 2022-11-03 10:03:08 +0000 | king_gs | (~Thunderbi@2806:103e:29:47b9:f34b:ffff:4cfc:90a6) |
| 2022-11-03 10:04:17 +0000 | Kaipii | (~Kaiepi@108.175.84.104) |
| 2022-11-03 10:06:58 +0000 | Kaipei | (~Kaiepi@108.175.84.104) (Ping timeout: 252 seconds) |
| 2022-11-03 10:10:09 +0000 | king_gs | (~Thunderbi@2806:103e:29:47b9:f34b:ffff:4cfc:90a6) (Ping timeout: 268 seconds) |
| 2022-11-03 10:14:25 +0000 | razetime | (~quassel@117.254.34.146) (Ping timeout: 246 seconds) |
| 2022-11-03 10:15:15 +0000 | razetime | (~quassel@117.254.34.146) |
| 2022-11-03 10:16:01 +0000 | teo | (~teo@user/teo) |
| 2022-11-03 10:16:19 +0000 | abhiroop | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) (Ping timeout: 252 seconds) |
| 2022-11-03 10:20:34 +0000 | fkjac | (~fkjac@gw1.compute.dtu.dk) |
| 2022-11-03 10:21:50 +0000 | fkjac | (~fkjac@gw1.compute.dtu.dk) (Client Quit) |
| 2022-11-03 10:22:46 +0000 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 2022-11-03 10:28:24 +0000 | MajorBiscuit | (~MajorBisc@145.94.167.250) |
| 2022-11-03 10:32:56 +0000 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) |
| 2022-11-03 10:35:41 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 2022-11-03 10:36:23 +0000 | vglfr | (~vglfr@145.224.100.22) |
| 2022-11-03 10:36:59 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2022-11-03 10:38:57 +0000 | jco | (~jco@90-228-194-139-no542.tbcn.telia.com) |
| 2022-11-03 10:42:10 +0000 | michalz | (~michalz@185.246.207.203) (Ping timeout: 252 seconds) |
| 2022-11-03 10:42:28 +0000 | michalz | (~michalz@185.246.207.222) |
| 2022-11-03 10:42:34 +0000 | <jco> | Hi, using Aeson, can I "flatten" the encoding of a sum type, so that instead of a nested object, I get the constructor name as a field name. It's kind of difficult to explain, so the short code example at https://paste.tomsmeding.com/fShsZw6D is maybe clearer? Is there something other than `ObjectWithSingleField` that I can use to get what I want. Thankful for any help. |
| 2022-11-03 10:46:41 +0000 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds) |
| 2022-11-03 10:49:36 +0000 | <kuribas> | jco: TaggedObject? https://hackage.haskell.org/package/aeson-1.3.1.1/docs/Data-Aeson-Types.html#t:SumEncoding |
| 2022-11-03 10:49:44 +0000 | ec | (~ec@gateway/tor-sasl/ec) |
| 2022-11-03 10:53:05 +0000 | <dminuoso> | jco: Just write out the instance by hand? |
| 2022-11-03 10:56:28 +0000 | _leo92_ | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 2022-11-03 10:57:22 +0000 | <jco> | kuribas: `TaggedObject` would only give me something like: `{"field_name":"Dummy","field_x":{"k":"cons_A","v":"Foo"}}` for `sumEncoding = TaggedObject "k" "v"`. |
| 2022-11-03 10:58:45 +0000 | Robert43 | (~Robert@ext-1-087.eduroam.chalmers.se) (Ping timeout: 255 seconds) |
| 2022-11-03 10:59:05 +0000 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
| 2022-11-03 10:59:11 +0000 | <kuribas> | "If the constructor is a record the encoded record fields will be unpacked into this object." |
| 2022-11-03 10:59:15 +0000 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
| 2022-11-03 10:59:49 +0000 | <kuribas> | If you have nested types, then you'll need to write the instance by hand, as dminuoso said. |
| 2022-11-03 11:02:30 +0000 | elevenkb | (~elevenkb@105.184.125.168) |
| 2022-11-03 11:02:47 +0000 | nate3 | (~nate@98.45.169.16) |
| 2022-11-03 11:04:10 +0000 | <jco> | dminuoso: Makes sense! :) |
| 2022-11-03 11:07:32 +0000 | nate3 | (~nate@98.45.169.16) (Ping timeout: 248 seconds) |
| 2022-11-03 11:09:56 +0000 | king_gs | (~Thunderbi@187.201.83.115) |
| 2022-11-03 11:11:14 +0000 | ski | notes Clean's `Dynamic' <https://wiki.clean.cs.ru.nl/download/html_report/CleanRep.2.2_10.htm> can store polymorphic (although not overloaded, yet) operations .. although not resources like `World' and `File', because you can serialize/marshall these `Dynamic's |
| 2022-11-03 11:15:20 +0000 | freeside_ | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 11:15:43 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
| 2022-11-03 11:17:44 +0000 | <ski> | also, due to having language sypport with pattern-matching, you can easily code up stuff like `dynApply :: Dynamic -> Dynamic -> Maybe Dynamic; dynApply (dynamic f :: a -> b) (dynamic x :: a) = Just (dynamic f x :: b); dynApply _ _ = Nothing' and `flexDynApply :: forall b. Typeable b => Dynamic -> Dynamic -> Maybe b; flexDynApply (dynamic f :: a -> b) (dynamic x :: a) = Just (f x); flexDynApply _ _ = |
| 2022-11-03 11:17:50 +0000 | <ski> | Nothing' yourself |
| 2022-11-03 11:18:41 +0000 | <ski> | (adapting the actual Clean syntax to an imagined Haskell syntax in those examples) |
| 2022-11-03 11:20:12 +0000 | <dminuoso> | jco: I think there's generally an overreliance on generic deriving for aeson. In many cases its a bad idea. |
| 2022-11-03 11:20:57 +0000 | <ski> | @type liftM Data.Dynamic.toDyn (System.IO.openFile "foobar" System.IO.ReadMode) |
| 2022-11-03 11:20:58 +0000 | <lambdabot> | IO Dynamic |
| 2022-11-03 11:21:00 +0000 | <ski> | @type liftM Data.Dynamic.toDyn (Data.IORef.newIORef ()) |
| 2022-11-03 11:21:01 +0000 | <lambdabot> | IO Dynamic |
| 2022-11-03 11:27:14 +0000 | bjourne | (~bjourne@2001:6b0:1:1140:42bf:ff4:f8fa:50e5) |
| 2022-11-03 11:29:52 +0000 | king_gs | (~Thunderbi@187.201.83.115) (Read error: Connection reset by peer) |
| 2022-11-03 11:29:56 +0000 | king_gs1 | (~Thunderbi@2806:103e:29:47b9:f34b:ffff:4cfc:90a6) |
| 2022-11-03 11:30:22 +0000 | CiaoSen | (~Jura@p200300c9571247002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 2022-11-03 11:31:15 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b8c3:aabe:4f47:1efb) |
| 2022-11-03 11:32:09 +0000 | <jco> | dminuoso: Yeah, I wasn't even thinking of doing it manually here. Simplest. |
| 2022-11-03 11:32:15 +0000 | king_gs1 | king_gs |
| 2022-11-03 11:35:39 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b8c3:aabe:4f47:1efb) (Ping timeout: 255 seconds) |
| 2022-11-03 11:43:50 +0000 | Sauvin | (~sauvin@user/Sauvin) |
| 2022-11-03 11:46:10 +0000 | elevenkb | (~elevenkb@105.184.125.168) (Remote host closed the connection) |
| 2022-11-03 11:49:37 +0000 | CiaoSen | (~Jura@p200300c9571247002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 2022-11-03 11:56:40 +0000 | cfricke | (~cfricke@user/cfricke) |
| 2022-11-03 11:57:17 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Read error: Connection reset by peer) |
| 2022-11-03 11:57:25 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-11-03 12:07:28 +0000 | king_gs | (~Thunderbi@2806:103e:29:47b9:f34b:ffff:4cfc:90a6) (Ping timeout: 246 seconds) |
| 2022-11-03 12:10:43 +0000 | freeside_ | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
| 2022-11-03 12:11:29 +0000 | jakalx | (~jakalx@base.jakalx.net) () |
| 2022-11-03 12:18:26 +0000 | zaquest | (~notzaques@5.130.79.72) |
| 2022-11-03 12:18:42 +0000 | jakalx | (~jakalx@base.jakalx.net) |
| 2022-11-03 12:19:06 +0000 | cods | (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 252 seconds) |
| 2022-11-03 12:19:19 +0000 | cods | (~fred@82-65-232-44.subs.proxad.net) |
| 2022-11-03 12:19:31 +0000 | teo | (~teo@user/teo) (Ping timeout: 252 seconds) |
| 2022-11-03 12:20:49 +0000 | teo | (~teo@user/teo) |
| 2022-11-03 12:22:35 +0000 | abhiroop | (~abhiroop@ext-1-450.eduroam.chalmers.se) |
| 2022-11-03 12:26:39 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 12:29:15 +0000 | Heyting | (~Heyting@193.198.16.217) |
| 2022-11-03 12:30:12 +0000 | Guest283 | (bnc4free@has.arrived.and.is.ready-to.party) (Remote host closed the connection) |
| 2022-11-03 12:34:29 +0000 | nilradical | (~nilradica@user/naso) |
| 2022-11-03 12:34:51 +0000 | Heyting | (~Heyting@193.198.16.217) (Remote host closed the connection) |
| 2022-11-03 12:35:55 +0000 | elevenkb | (~elevenkb@105.184.125.168) |
| 2022-11-03 12:37:25 +0000 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 2022-11-03 12:37:31 +0000 | kenran` | (~user@user/kenran) (Remote host closed the connection) |
| 2022-11-03 12:39:52 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2022-11-03 12:43:26 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 2022-11-03 12:55:13 +0000 | nicmollel[m] | nicm[m] |
| 2022-11-03 12:58:24 +0000 | justsomeguy | (~justsomeg@user/justsomeguy) |
| 2022-11-03 13:01:33 +0000 | elevenkb | (~elevenkb@105.184.125.168) (Ping timeout: 272 seconds) |
| 2022-11-03 13:02:29 +0000 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) |
| 2022-11-03 13:04:46 +0000 | elevenkb | (~elevenkb@197-101-14-138.ip.broadband.is) |
| 2022-11-03 13:04:58 +0000 | king_gs | (~Thunderbi@187.201.83.115) |
| 2022-11-03 13:11:24 +0000 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 2022-11-03 13:14:42 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:58cc:160d:9dd:aaf4) |
| 2022-11-03 13:15:00 +0000 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 248 seconds) |
| 2022-11-03 13:16:41 +0000 | ozkutuk5 | (~ozkutuk@176.240.173.153) |
| 2022-11-03 13:17:02 +0000 | xstill_ | (xstill@fimu/xstill) (Quit: Ping timeout (120 seconds)) |
| 2022-11-03 13:17:19 +0000 | xstill_ | (xstill@fimu/xstill) |
| 2022-11-03 13:17:25 +0000 | freeside_ | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 13:18:19 +0000 | haasn` | (~nand@haasn.dev) |
| 2022-11-03 13:18:55 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
| 2022-11-03 13:19:07 +0000 | kawen_ | (~quassel@static.208.191.216.95.clients.your-server.de) |
| 2022-11-03 13:19:51 +0000 | CiaoSen | (~Jura@p200300c9571247002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 2022-11-03 13:24:17 +0000 | freeside_ | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds) |
| 2022-11-03 13:27:19 +0000 | Sgeo | (~Sgeo@user/sgeo) |
| 2022-11-03 13:27:40 +0000 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 2022-11-03 13:28:15 +0000 | ozkutuk | (~ozkutuk@176.240.173.153) (Quit: Ping timeout (120 seconds)) |
| 2022-11-03 13:28:15 +0000 | ozkutuk5 | ozkutuk |
| 2022-11-03 13:28:36 +0000 | haasn | (~nand@haasn.dev) (Killed (NickServ (GHOST command used by haasn`))) |
| 2022-11-03 13:28:36 +0000 | haasn` | haasn |
| 2022-11-03 13:28:46 +0000 | Heyting | (~Heyting@193.198.16.217) |
| 2022-11-03 13:32:43 +0000 | xff0x | (~xff0x@2405:6580:b080:900:9a4a:3159:118e:c175) (Ping timeout: 255 seconds) |
| 2022-11-03 13:33:06 +0000 | Guest71 | (~Guest71@ext-1-450.eduroam.chalmers.se) |
| 2022-11-03 13:34:07 +0000 | kenran | (~user@user/kenran) |
| 2022-11-03 13:35:35 +0000 | nilradical | (~nilradica@user/naso) (Remote host closed the connection) |
| 2022-11-03 13:36:53 +0000 | littlefinger | (~littlefin@pool-108-53-194-91.nwrknj.fios.verizon.net) |
| 2022-11-03 13:37:01 +0000 | littlefinger | (~littlefin@pool-108-53-194-91.nwrknj.fios.verizon.net) () |
| 2022-11-03 13:37:24 +0000 | Heyting | (~Heyting@193.198.16.217) (Remote host closed the connection) |
| 2022-11-03 13:38:13 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 13:39:12 +0000 | juri_ | (~juri@84-19-175-179.pool.ovpn.com) (*.net *.split) |
| 2022-11-03 13:39:12 +0000 | drewolson | (~drewolson@user/drewolson) (*.net *.split) |
| 2022-11-03 13:39:12 +0000 | mtjm | (~mutantmel@2604:a880:2:d0::208b:d001) (*.net *.split) |
| 2022-11-03 13:39:12 +0000 | wz1000 | (~zubin@static.11.113.47.78.clients.your-server.de) (*.net *.split) |
| 2022-11-03 13:39:12 +0000 | kawen | (~quassel@static.208.191.216.95.clients.your-server.de) (*.net *.split) |
| 2022-11-03 13:39:12 +0000 | spider_ | (~spider@vps-951ce37a.vps.ovh.ca) (*.net *.split) |
| 2022-11-03 13:39:12 +0000 | vulpine | (xfnw@tilde.team) (*.net *.split) |
| 2022-11-03 13:39:12 +0000 | yaroot | (~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c) (*.net *.split) |
| 2022-11-03 13:39:12 +0000 | hololeap | (~quassel@user/hololeap) (*.net *.split) |
| 2022-11-03 13:42:55 +0000 | mmhat | (~mmh@2003:f1:c730:7621:ee08:6bff:fe09:5315) (Quit: WeeChat 3.7.1) |
| 2022-11-03 13:43:10 +0000 | nilradical | (~nilradica@user/naso) |
| 2022-11-03 13:44:08 +0000 | ygsjg | (~quassel@189.124.224.160) |
| 2022-11-03 13:44:20 +0000 | jtomas | (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) |
| 2022-11-03 13:45:15 +0000 | xff0x | (~xff0x@2405:6580:b080:900:aa5a:50b3:fed5:3fc2) |
| 2022-11-03 13:45:24 +0000 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Ping timeout: 248 seconds) |
| 2022-11-03 13:50:02 +0000 | Guest13 | (~Guest13@2001:6b0:4f:2801:1467:20e3:85d3:3c07) |
| 2022-11-03 13:50:27 +0000 | elevenkb | (~elevenkb@197-101-14-138.ip.broadband.is) (Remote host closed the connection) |
| 2022-11-03 13:53:33 +0000 | Guest13 | (~Guest13@2001:6b0:4f:2801:1467:20e3:85d3:3c07) (Client Quit) |
| 2022-11-03 13:55:04 +0000 | Xeroine | (~Xeroine@user/xeroine) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in) |
| 2022-11-03 13:57:37 +0000 | Xeroine | (~Xeroine@user/xeroine) |
| 2022-11-03 13:58:45 +0000 | king_gs | (~Thunderbi@187.201.83.115) (Read error: Connection reset by peer) |
| 2022-11-03 13:59:00 +0000 | comerijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-11-03 14:01:16 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 2022-11-03 14:01:43 +0000 | drewolson | (~drewolson@user/drewolson) |
| 2022-11-03 14:01:56 +0000 | king_gs | (~Thunderbi@2806:103e:29:47b9:f34b:ffff:4cfc:90a6) |
| 2022-11-03 14:04:14 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 2022-11-03 14:04:27 +0000 | nilradical | (~nilradica@user/naso) (Remote host closed the connection) |
| 2022-11-03 14:06:20 +0000 | <vpan> | hi, I'm trying to use a `newtype` to be able to define cassava instances for Data.Fixed types, see the reproducer I've minimized to - https://paste.tomsmeding.com/iHKJQS4D . What am I missing? |
| 2022-11-03 14:07:49 +0000 | <geekosaur> | that expects "Cents 7" instead of just "7" |
| 2022-11-03 14:08:57 +0000 | <geekosaur> | what are you trying to accomplish with the newtype, exactly? |
| 2022-11-03 14:09:03 +0000 | <kuribas> | {- LANGUAGE GeneralizedNewtypeDeriving -} |
| 2022-11-03 14:09:57 +0000 | <geekosaur> | you missed the pragma marks (`{-#`) and it won't help here |
| 2022-11-03 14:10:04 +0000 | <vpan> | geekosaur: I need `FromField` cassava instances to parse CSV fields into fields of fixed precision types |
| 2022-11-03 14:11:25 +0000 | <kuribas> | geekosaur: why not? |
| 2022-11-03 14:12:15 +0000 | <geekosaur> | it's not a deriving error, it's just not doing what vpan wants. unless you mean using it to auto-derive FromField, and in that case I'm still not sure it would DTRT |
| 2022-11-03 14:12:49 +0000 | jco | (~jco@90-228-194-139-no542.tbcn.telia.com) (Quit: leaving) |
| 2022-11-03 14:12:53 +0000 | <kuribas> | that's what I thought he wanted. |
| 2022-11-03 14:13:20 +0000 | <geekosaur> | instance FromField Centi where … -- may require FlexibleInstances |
| 2022-11-03 14:13:31 +0000 | thegeekinside | (~thegeekin@189.180.115.115) |
| 2022-11-03 14:13:44 +0000 | Xeroine | (~Xeroine@user/xeroine) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in) |
| 2022-11-03 14:17:16 +0000 | juri_ | (~juri@84-19-175-179.pool.ovpn.com) |
| 2022-11-03 14:17:16 +0000 | mtjm | (~mutantmel@2604:a880:2:d0::208b:d001) |
| 2022-11-03 14:17:16 +0000 | wz1000 | (~zubin@static.11.113.47.78.clients.your-server.de) |
| 2022-11-03 14:17:16 +0000 | spider_ | (~spider@vps-951ce37a.vps.ovh.ca) |
| 2022-11-03 14:17:16 +0000 | vulpine | (xfnw@tilde.team) |
| 2022-11-03 14:17:16 +0000 | yaroot | (~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c) |
| 2022-11-03 14:17:16 +0000 | hololeap | (~quassel@user/hololeap) |
| 2022-11-03 14:17:20 +0000 | hololeap | (~quassel@user/hololeap) (Max SendQ exceeded) |
| 2022-11-03 14:17:21 +0000 | vulpine | (xfnw@tilde.team) (Max SendQ exceeded) |
| 2022-11-03 14:17:25 +0000 | Xeroine | (~Xeroine@user/xeroine) |
| 2022-11-03 14:17:36 +0000 | hololeap | (~quassel@user/hololeap) |
| 2022-11-03 14:17:52 +0000 | vulpine | (xfnw@tilde.team) |
| 2022-11-03 14:20:34 +0000 | <vpan> | geekosaur: trying to define an instance for `Centi` fails - https://paste.tomsmeding.com/8w4ECAVb . That's why I tried a `newtype`. I realise the error is hinting at an extension, but I don't yet have an understanding which/how many extensions it is reasonable to enable, so I was trying to do it the "classic" way. :) |
| 2022-11-03 14:21:25 +0000 | <vpan> | i.e. without enabling an extension |
| 2022-11-03 14:22:09 +0000 | <geekosaur> | either use TypeSynonymInstances like it says, or define the instance for Fixed E2 instead of Centi |
| 2022-11-03 14:22:10 +0000 | zaquest | (~notzaques@5.130.79.72) (Ping timeout: 252 seconds) |
| 2022-11-03 14:22:43 +0000 | cods | (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 252 seconds) |
| 2022-11-03 14:23:22 +0000 | <vpan> | thanks |
| 2022-11-03 14:23:27 +0000 | <geekosaur> | that may still demand an extension because neither Fixed or E2 is a type variable; you can't escape that one |
| 2022-11-03 14:23:39 +0000 | <geekosaur> | \s/or/nor/ |
| 2022-11-03 14:23:49 +0000 | <kuribas> | a newtype is not a type synonym |
| 2022-11-03 14:23:52 +0000 | <geekosaur> | Fixed uses some type trickery |
| 2022-11-03 14:24:00 +0000 | Tuplanolla | (~Tuplanoll@91-159-69-11.elisa-laajakaista.fi) |
| 2022-11-03 14:24:03 +0000 | <comerijn> | kuribas: Centi isn't a newtype, so... |
| 2022-11-03 14:24:10 +0000 | <kuribas> | oh right |
| 2022-11-03 14:24:22 +0000 | <geekosaur> | it's a type alias for Fixed E2 |
| 2022-11-03 14:24:30 +0000 | cods | (~fred@82-65-232-44.subs.proxad.net) |
| 2022-11-03 14:25:58 +0000 | abhiroop_ | (~abhiroop@ext-1-450.eduroam.chalmers.se) |
| 2022-11-03 14:26:01 +0000 | abhiroop | (~abhiroop@ext-1-450.eduroam.chalmers.se) (Ping timeout: 252 seconds) |
| 2022-11-03 14:28:26 +0000 | motherfsck | (~motherfsc@user/motherfsck) |
| 2022-11-03 14:32:40 +0000 | nilradical | (~nilradica@user/naso) |
| 2022-11-03 14:33:24 +0000 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 2022-11-03 14:33:53 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b8c3:aabe:4f47:1efb) |
| 2022-11-03 14:35:35 +0000 | zaquest | (~notzaques@5.130.79.72) |
| 2022-11-03 14:38:21 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b8c3:aabe:4f47:1efb) (Ping timeout: 255 seconds) |
| 2022-11-03 14:39:35 +0000 | xsarnik | (xsarnik@lounge.fi.muni.cz) (Quit: Ping timeout (120 seconds)) |
| 2022-11-03 14:40:15 +0000 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2022-11-03 14:40:21 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 272 seconds) |
| 2022-11-03 14:40:36 +0000 | shriekingnoise | (~shrieking@186.137.167.202) |
| 2022-11-03 14:49:44 +0000 | xsarnik | (xsarnik@lounge.fi.muni.cz) |
| 2022-11-03 14:52:18 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 14:53:21 +0000 | jakalx | (~jakalx@base.jakalx.net) () |
| 2022-11-03 14:53:56 +0000 | nil | (~user@202.38.78.189) |
| 2022-11-03 14:54:09 +0000 | nil | (~user@202.38.78.189) () |
| 2022-11-03 14:54:28 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
| 2022-11-03 14:55:03 +0000 | jakalx | (~jakalx@base.jakalx.net) |
| 2022-11-03 14:56:49 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 272 seconds) |
| 2022-11-03 15:04:17 +0000 | nate3 | (~nate@98.45.169.16) |
| 2022-11-03 15:04:24 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b8c3:aabe:4f47:1efb) |
| 2022-11-03 15:04:32 +0000 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds) |
| 2022-11-03 15:05:56 +0000 | vglfr | (~vglfr@145.224.100.22) (Read error: Connection reset by peer) |
| 2022-11-03 15:06:07 +0000 | vglfr | (~vglfr@145.224.100.22) |
| 2022-11-03 15:06:31 +0000 | ec | (~ec@gateway/tor-sasl/ec) |
| 2022-11-03 15:08:53 +0000 | drdo | (~drdo@overlord.drdo.eu) |
| 2022-11-03 15:08:56 +0000 | nate3 | (~nate@98.45.169.16) (Ping timeout: 246 seconds) |
| 2022-11-03 15:09:14 +0000 | nilradical | (~nilradica@user/naso) (Remote host closed the connection) |
| 2022-11-03 15:10:32 +0000 | nilradical | (~nilradica@user/naso) |
| 2022-11-03 15:17:15 +0000 | hexeme | (~hexeme@user/hexeme) |
| 2022-11-03 15:17:17 +0000 | hexeme_ | (~hexeme@user/hexeme) (Ping timeout: 240 seconds) |
| 2022-11-03 15:19:22 +0000 | motherfsck | (~motherfsc@user/motherfsck) (Ping timeout: 252 seconds) |
| 2022-11-03 15:23:14 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 15:29:54 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b8c3:aabe:4f47:1efb) (Remote host closed the connection) |
| 2022-11-03 15:30:19 +0000 | vglfr | (~vglfr@145.224.100.22) (Remote host closed the connection) |
| 2022-11-03 15:30:44 +0000 | vglfr | (~vglfr@145.224.100.22) |
| 2022-11-03 15:35:13 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 2022-11-03 15:35:13 +0000 | AlexNoo | (~AlexNoo@178.34.163.109) (Read error: Connection reset by peer) |
| 2022-11-03 15:35:42 +0000 | vglfr | (~vglfr@145.224.100.22) (Remote host closed the connection) |
| 2022-11-03 15:35:57 +0000 | AlexNoo | (~AlexNoo@178.34.163.109) |
| 2022-11-03 15:36:08 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b8c3:aabe:4f47:1efb) |
| 2022-11-03 15:36:26 +0000 | vglfr | (~vglfr@145.224.100.22) |
| 2022-11-03 15:39:00 +0000 | Alex_test | (~al_test@178.34.163.109) (Ping timeout: 248 seconds) |
| 2022-11-03 15:39:32 +0000 | AlexZenon | (~alzenon@178.34.163.109) (Ping timeout: 248 seconds) |
| 2022-11-03 15:39:38 +0000 | motherfsck | (~motherfsc@user/motherfsck) |
| 2022-11-03 15:40:37 +0000 | AlexZenon | (~alzenon@178.34.163.109) |
| 2022-11-03 15:41:21 +0000 | kenran | (~user@user/kenran) (Remote host closed the connection) |
| 2022-11-03 15:43:46 +0000 | Alex_test | (~al_test@178.34.163.109) |
| 2022-11-03 15:43:54 +0000 | zebrag | (~chris@user/zebrag) |
| 2022-11-03 15:44:03 +0000 | catern | (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) (Ping timeout: 255 seconds) |
| 2022-11-03 15:47:27 +0000 | elevenkb | (~elevenkb@105.184.125.168) |
| 2022-11-03 15:47:55 +0000 | nilradical | (~nilradica@user/naso) () |
| 2022-11-03 15:49:13 +0000 | AlexNoo | (~AlexNoo@178.34.163.109) (Read error: Connection reset by peer) |
| 2022-11-03 15:49:19 +0000 | statusfailed | (~statusfai@statusfailed.com) () |
| 2022-11-03 15:49:36 +0000 | AlexNoo | (~AlexNoo@178.34.163.109) |
| 2022-11-03 15:57:40 +0000 | Xeroine | (~Xeroine@user/xeroine) (Ping timeout: 248 seconds) |
| 2022-11-03 15:58:46 +0000 | Xeroine | (~Xeroine@user/xeroine) |
| 2022-11-03 15:59:08 +0000 | <bjourne> | are alex and happy supported anymore? they seem very outdated |
| 2022-11-03 15:59:56 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b8c3:aabe:4f47:1efb) (Remote host closed the connection) |
| 2022-11-03 16:00:15 +0000 | CiaoSen | (~Jura@p200300c9571247002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 2022-11-03 16:00:52 +0000 | MajorBiscuit | (~MajorBisc@145.94.167.250) (Ping timeout: 248 seconds) |
| 2022-11-03 16:01:18 +0000 | <geekosaur[m]> | They're required to build GHC, not that you will be doing that |
| 2022-11-03 16:01:31 +0000 | econo | (uid147250@user/econo) |
| 2022-11-03 16:01:56 +0000 | Taneb | (~Taneb@runciman.hacksoc.org) (Quit: I seem to have stopped.) |
| 2022-11-03 16:02:16 +0000 | jonathanx | (~jonathan@98.128.168.222) (Ping timeout: 268 seconds) |
| 2022-11-03 16:02:36 +0000 | <geekosaur[m]> | And happy in particular should be fairly up to date. Alex doesn't generally need changes |
| 2022-11-03 16:03:01 +0000 | Taneb | (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) |
| 2022-11-03 16:03:44 +0000 | drewolson3 | (~drewolson@user/drewolson) |
| 2022-11-03 16:04:11 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 2022-11-03 16:04:44 +0000 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 2022-11-03 16:05:04 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
| 2022-11-03 16:05:22 +0000 | <bjourne> | the code generated by alex contains deprecation warnings |
| 2022-11-03 16:05:34 +0000 | drewolson | (~drewolson@user/drewolson) (Ping timeout: 252 seconds) |
| 2022-11-03 16:05:34 +0000 | drewolson3 | drewolson |
| 2022-11-03 16:05:55 +0000 | <comerijn> | bjourne: Which deprecation warning(s)? |
| 2022-11-03 16:12:54 +0000 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 2022-11-03 16:12:58 +0000 | <Hecate> | haha that fucking sucks |
| 2022-11-03 16:13:51 +0000 | <Hecate> | I believe ericson2314 has some leverage on Alex |
| 2022-11-03 16:14:41 +0000 | <AndreasK> | I find all the fun bugs https://gitlab.haskell.org/ghc/ghc/-/issues/22402 |
| 2022-11-03 16:15:33 +0000 | <Hecate> | AndreasK: :'''') |
| 2022-11-03 16:15:34 +0000 | <Hecate> | wow |
| 2022-11-03 16:15:59 +0000 | tgi | (~thegeekin@189.180.115.115) |
| 2022-11-03 16:17:07 +0000 | thegeekinside | (~thegeekin@189.180.115.115) (Ping timeout: 252 seconds) |
| 2022-11-03 16:17:24 +0000 | comerijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds) |
| 2022-11-03 16:18:55 +0000 | dcoutts__ | (~duncan@host86-163-164-210.range86-163.btcentralplus.com) |
| 2022-11-03 16:19:17 +0000 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.7.1) |
| 2022-11-03 16:19:56 +0000 | <AndreasK> | I will leave it at the diagnosis for today. But seems like a tricky one |
| 2022-11-03 16:21:24 +0000 | dcoutts_ | (~duncan@host86-163-164-210.range86-163.btcentralplus.com) (Ping timeout: 255 seconds) |
| 2022-11-03 16:21:31 +0000 | hololeap | (~quassel@user/hololeap) (Ping timeout: 252 seconds) |
| 2022-11-03 16:22:16 +0000 | hololeap | (~quassel@user/hololeap) |
| 2022-11-03 16:27:24 +0000 | dcoutts_ | (~duncan@host86-163-164-210.range86-163.btcentralplus.com) |
| 2022-11-03 16:27:34 +0000 | Tuplanolla | (~Tuplanoll@91-159-69-11.elisa-laajakaista.fi) (Ping timeout: 252 seconds) |
| 2022-11-03 16:27:42 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 255 seconds) |
| 2022-11-03 16:28:03 +0000 | Tuplanolla | (~Tuplanoll@91-159-69-11.elisa-laajakaista.fi) |
| 2022-11-03 16:28:52 +0000 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
| 2022-11-03 16:29:46 +0000 | dcoutts__ | (~duncan@host86-163-164-210.range86-163.btcentralplus.com) (Ping timeout: 252 seconds) |
| 2022-11-03 16:29:55 +0000 | olivermead | (~olivermea@cpc72329-sotn15-2-0-cust205.15-1.cable.virginm.net) |
| 2022-11-03 16:31:57 +0000 | <absence> | if I have a (SomeField r, SomeOtherField r) => ReaderT r m a, i sometimes find myself wanting to temporarily "add" fields to r. i can do that by defining a new record that wraps the old one, i.e. data Wrapper r = Wrapper { x :: ExcitingNewField, oldStuff :: r }, and call withReaderT Wrapper, but then I have to write instances for SomeField and SomeOtherField for the Wrapper. it's just boring boilerplate |
| 2022-11-03 16:32:03 +0000 | <absence> | that delegates to the oldStuff field, so i wonder if there's a better way to extend a reader? |
| 2022-11-03 16:33:50 +0000 | CiaoSen | (~Jura@p200300c9571247002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 2022-11-03 16:36:31 +0000 | Spukgespenst | (~user@user/siracusa) (Quit: Bye!) |
| 2022-11-03 16:40:09 +0000 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 2022-11-03 16:40:15 +0000 | <absence> | i suppose it's possible to use DerivingVia and HasField to reduce the amount of boilerplate, but maybe there are better options |
| 2022-11-03 16:40:55 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 16:44:08 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-11-03 16:47:35 +0000 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds) |
| 2022-11-03 16:49:58 +0000 | ec | (~ec@gateway/tor-sasl/ec) |
| 2022-11-03 16:50:08 +0000 | Alex_test_ | (~al_test@178.34.163.109) |
| 2022-11-03 16:50:08 +0000 | <[exa]> | absence: anything would prevent you from using the DuplicateRecordFields or so and just feeding it more data structures? |
| 2022-11-03 16:50:21 +0000 | rodental | (~rodental@38.146.5.222) (Remote host closed the connection) |
| 2022-11-03 16:50:21 +0000 | AlexNoo_ | (~AlexNoo@178.34.163.109) |
| 2022-11-03 16:50:22 +0000 | rodental | (~rodental@38.146.5.222) |
| 2022-11-03 16:51:39 +0000 | <[exa]> | (...still that makes you copy most of the structure definition which is likely not what you want) |
| 2022-11-03 16:52:05 +0000 | Alex_test | (~al_test@178.34.163.109) (Ping timeout: 272 seconds) |
| 2022-11-03 16:52:06 +0000 | teo_ | (~teo@user/teo) |
| 2022-11-03 16:53:59 +0000 | AlexNoo | (~AlexNoo@178.34.163.109) (Ping timeout: 272 seconds) |
| 2022-11-03 16:53:59 +0000 | teo | (~teo@user/teo) (Ping timeout: 272 seconds) |
| 2022-11-03 16:54:57 +0000 | <geekosaur> | row types when? |
| 2022-11-03 16:58:30 +0000 | <Hecate> | I wish |
| 2022-11-03 17:01:07 +0000 | irrgit_ | (~irrgit@146.70.27.242) (Ping timeout: 252 seconds) |
| 2022-11-03 17:04:16 +0000 | Alex_test_ | Alex_test |
| 2022-11-03 17:05:28 +0000 | AlexNoo_ | AlexNoo |
| 2022-11-03 17:06:51 +0000 | <absence> | [exa]: i guess that would move the boilerplate to the conversion function passed to withReaderT |
| 2022-11-03 17:08:49 +0000 | vglfr | (~vglfr@145.224.100.22) (Ping timeout: 252 seconds) |
| 2022-11-03 17:09:07 +0000 | vglfr | (~vglfr@145.224.100.22) |
| 2022-11-03 17:11:04 +0000 | drdo5 | (~drdo@overlord.drdo.eu) |
| 2022-11-03 17:11:36 +0000 | drdo | (~drdo@overlord.drdo.eu) (Killed (NickServ (GHOST command used by drdo5))) |
| 2022-11-03 17:11:47 +0000 | drdo5 | drdo |
| 2022-11-03 17:14:06 +0000 | irrgit_ | (~irrgit@146.70.27.242) |
| 2022-11-03 17:16:47 +0000 | causal | (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0d) |
| 2022-11-03 17:17:37 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 2022-11-03 17:17:47 +0000 | azimut | (~azimut@gateway/tor-sasl/azimut) |
| 2022-11-03 17:18:07 +0000 | Kaipii | (~Kaiepi@108.175.84.104) (Ping timeout: 268 seconds) |
| 2022-11-03 17:20:15 +0000 | ccapndave | (~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) |
| 2022-11-03 17:21:19 +0000 | causal | (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0d) (Ping timeout: 255 seconds) |
| 2022-11-03 17:24:27 +0000 | ccapndave | (~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) (Client Quit) |
| 2022-11-03 17:24:46 +0000 | teo_ | (~teo@user/teo) (Ping timeout: 252 seconds) |
| 2022-11-03 17:25:23 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) |
| 2022-11-03 17:29:47 +0000 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1)) |
| 2022-11-03 17:35:24 +0000 | causal | (~user@50.35.83.177) |
| 2022-11-03 17:37:31 +0000 | mvk | (~mvk@2607:fea8:5ce3:8500::4b68) |
| 2022-11-03 17:38:04 +0000 | Alex_test_ | (~al_test@178.34.163.109) |
| 2022-11-03 17:38:25 +0000 | chele_ | (~chele@user/chele) (Remote host closed the connection) |
| 2022-11-03 17:39:36 +0000 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 2022-11-03 17:39:37 +0000 | Alex_test | (~al_test@178.34.163.109) (Ping timeout: 252 seconds) |
| 2022-11-03 17:40:11 +0000 | azimut | (~azimut@gateway/tor-sasl/azimut) |
| 2022-11-03 17:42:01 +0000 | razetime | (~quassel@117.254.34.146) (Remote host closed the connection) |
| 2022-11-03 17:43:17 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds) |
| 2022-11-03 17:44:27 +0000 | <Profpatsch> | I wish |
| 2022-11-03 17:45:55 +0000 | CiaoSen | (~Jura@p200300c9571247002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 2022-11-03 17:46:14 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-11-03 17:46:57 +0000 | Guest75 | (~Guest75@178.141.177.81) |
| 2022-11-03 17:47:51 +0000 | zebrag | (~chris@user/zebrag) (Read error: Connection reset by peer) |
| 2022-11-03 17:48:15 +0000 | zebrag | (~chris@user/zebrag) |
| 2022-11-03 17:48:21 +0000 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 2022-11-03 17:50:46 +0000 | <monochrom> | Buy row types on wish.com :) |
| 2022-11-03 17:51:10 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 2022-11-03 17:59:28 +0000 | Kaipii | (~Kaiepi@108.175.84.104) |
| 2022-11-03 17:59:39 +0000 | vpan | (~0@212.117.1.172) (Quit: Leaving.) |
| 2022-11-03 18:02:04 +0000 | ft | (~ft@80.141.189.89) |
| 2022-11-03 18:04:28 +0000 | olivermead | (~olivermea@cpc72329-sotn15-2-0-cust205.15-1.cable.virginm.net) (Ping timeout: 246 seconds) |
| 2022-11-03 18:07:10 +0000 | califax | (~califax@user/califx) (Remote host closed the connection) |
| 2022-11-03 18:07:39 +0000 | fserucas | (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Quit: Leaving) |
| 2022-11-03 18:07:41 +0000 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 2022-11-03 18:08:26 +0000 | talismanick | (~talismani@96-67-197-217-static.hfc.comcastbusiness.net) |
| 2022-11-03 18:09:58 +0000 | califax | (~califax@user/califx) |
| 2022-11-03 18:09:59 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 276 seconds) |
| 2022-11-03 18:12:42 +0000 | freeside | (~mengwong@115.66.48.84) |
| 2022-11-03 18:14:34 +0000 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 2022-11-03 18:14:34 +0000 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer) |
| 2022-11-03 18:15:22 +0000 | EvanR | (~EvanR@user/evanr) (Remote host closed the connection) |
| 2022-11-03 18:16:20 +0000 | EvanR | (~EvanR@user/evanr) |
| 2022-11-03 18:19:33 +0000 | olivermead | (~olivermea@cpc72329-sotn15-2-0-cust205.15-1.cable.virginm.net) |
| 2022-11-03 18:24:06 +0000 | freeside | (~mengwong@115.66.48.84) (Ping timeout: 268 seconds) |
| 2022-11-03 18:24:27 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 18:25:08 +0000 | Guest75 | (~Guest75@178.141.177.81) (Ping timeout: 260 seconds) |
| 2022-11-03 18:25:35 +0000 | fserucas_ | (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Ping timeout: 276 seconds) |
| 2022-11-03 18:26:13 +0000 | emmanuelux | (~emmanuelu@user/emmanuelux) |
| 2022-11-03 18:33:00 +0000 | chronon | (~chronon@user/chronon) (Quit: leaving) |
| 2022-11-03 18:33:08 +0000 | jakalx | (~jakalx@base.jakalx.net) () |
| 2022-11-03 18:34:28 +0000 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 248 seconds) |
| 2022-11-03 18:36:07 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 2022-11-03 18:36:08 +0000 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
| 2022-11-03 18:36:13 +0000 | jakalx | (~jakalx@base.jakalx.net) |
| 2022-11-03 18:39:12 +0000 | simple | (skralg@user/simple) |
| 2022-11-03 18:40:20 +0000 | gmg | (~user@user/gehmehgeh) |
| 2022-11-03 18:40:27 +0000 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 255 seconds) |
| 2022-11-03 18:41:30 +0000 | eggplant_ | (~Eggplanta@2600:1700:38c5:d800:b8c3:aabe:4f47:1efb) |
| 2022-11-03 18:43:25 +0000 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 2022-11-03 18:45:55 +0000 | king_gs | (~Thunderbi@2806:103e:29:47b9:f34b:ffff:4cfc:90a6) (Remote host closed the connection) |
| 2022-11-03 18:46:14 +0000 | king_gs | (~Thunderbi@2806:103e:29:47b9:f34b:ffff:4cfc:90a6) |
| 2022-11-03 18:46:16 +0000 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 2022-11-03 18:47:23 +0000 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 2022-11-03 18:49:52 +0000 | Guest71 | (~Guest71@ext-1-450.eduroam.chalmers.se) (Quit: Client closed) |
| 2022-11-03 18:52:37 +0000 | Alex_test_ | Alex_test |
| 2022-11-03 18:52:46 +0000 | rodental | (~rodental@38.146.5.222) (Ping timeout: 252 seconds) |
| 2022-11-03 18:53:10 +0000 | rodental | (~rodental@38.146.5.222) |
| 2022-11-03 18:53:32 +0000 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 2022-11-03 19:01:40 +0000 | finsternis | (~X@23.226.237.192) (Ping timeout: 248 seconds) |
| 2022-11-03 19:02:04 +0000 | finsternis | (~X@23.226.237.192) |
| 2022-11-03 19:03:55 +0000 | rond_ | (~rond_@87.74.205.31) |
| 2022-11-03 19:04:11 +0000 | ephemient | (uid407513@id-407513.lymington.irccloud.com) |
| 2022-11-03 19:04:38 +0000 | chronon | (~chronon@user/chronon) |
| 2022-11-03 19:05:25 +0000 | irrgit_ | (~irrgit@146.70.27.242) (Ping timeout: 252 seconds) |
| 2022-11-03 19:05:47 +0000 | nate3 | (~nate@98.45.169.16) |
| 2022-11-03 19:05:47 +0000 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2022-11-03 19:10:39 +0000 | nate3 | (~nate@98.45.169.16) (Ping timeout: 255 seconds) |
| 2022-11-03 19:12:00 +0000 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 2022-11-03 19:12:34 +0000 | vglfr | (~vglfr@145.224.100.22) (Ping timeout: 252 seconds) |
| 2022-11-03 19:13:07 +0000 | drdo1 | (~drdo@overlord.drdo.eu) |
| 2022-11-03 19:13:17 +0000 | vglfr | (~vglfr@145.224.100.22) |
| 2022-11-03 19:13:18 +0000 | drdo | (~drdo@overlord.drdo.eu) (Killed (NickServ (GHOST command used by drdo1))) |
| 2022-11-03 19:13:18 +0000 | drdo1 | drdo |
| 2022-11-03 19:13:45 +0000 | mvk | (~mvk@2607:fea8:5ce3:8500::4b68) (Ping timeout: 255 seconds) |
| 2022-11-03 19:14:48 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-11-03 19:17:34 +0000 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 2022-11-03 19:20:55 +0000 | jtomas | (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Ping timeout: 272 seconds) |
| 2022-11-03 19:23:26 +0000 | Alex_test_ | (~al_test@178.34.163.109) |
| 2022-11-03 19:23:34 +0000 | AlexNoo_ | (~AlexNoo@178.34.163.109) |
| 2022-11-03 19:24:11 +0000 | AlexNoo | (~AlexNoo@178.34.163.109) (Read error: Connection reset by peer) |
| 2022-11-03 19:25:21 +0000 | Alex_test | (~al_test@178.34.163.109) (Ping timeout: 271 seconds) |
| 2022-11-03 19:25:57 +0000 | ss4 | (~wootehfoo@user/wootehfoot) |
| 2022-11-03 19:27:14 +0000 | caryhartline | (~caryhartl@2603-8080-6a0e-8d88-01fd-d633-9a8e-c806.res6.spectrum.com) |
| 2022-11-03 19:28:38 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 246 seconds) |
| 2022-11-03 19:29:04 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 252 seconds) |
| 2022-11-03 19:33:30 +0000 | ss4 | (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 2022-11-03 19:35:52 +0000 | eggplant_ | (~Eggplanta@2600:1700:38c5:d800:b8c3:aabe:4f47:1efb) (Remote host closed the connection) |
| 2022-11-03 19:37:24 +0000 | Xeroine | (~Xeroine@user/xeroine) (Ping timeout: 248 seconds) |
| 2022-11-03 19:39:29 +0000 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 2022-11-03 19:43:36 +0000 | Xeroine | (~Xeroine@user/xeroine) |
| 2022-11-03 19:44:57 +0000 | gentauro | (~gentauro@user/gentauro) |
| 2022-11-03 19:49:25 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 2022-11-03 19:50:29 +0000 | lortabac | (~lortabac@2a01:e0a:541:b8f0:58cc:160d:9dd:aaf4) (Quit: WeeChat 2.8) |
| 2022-11-03 19:51:04 +0000 | zebrag | (~chris@user/zebrag) (Ping timeout: 252 seconds) |
| 2022-11-03 19:51:39 +0000 | zebrag | (~chris@user/zebrag) |
| 2022-11-03 19:53:31 +0000 | AlexNoo_ | AlexNoo |
| 2022-11-03 19:53:47 +0000 | Alex_test_ | Alex_test |
| 2022-11-03 19:56:49 +0000 | redmp | (~redmp@lib-02-subnet-194.rdns.cenic.net) |
| 2022-11-03 19:57:16 +0000 | burakcan- | (burakcank@2a01:4f8:c17:efa0::3) |
| 2022-11-03 19:57:23 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 20:00:22 +0000 | Kaipei | (~Kaiepi@108.175.84.104) |
| 2022-11-03 20:01:54 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 255 seconds) |
| 2022-11-03 20:03:43 +0000 | Kaipii | (~Kaiepi@108.175.84.104) (Ping timeout: 252 seconds) |
| 2022-11-03 20:04:11 +0000 | seriously_guest | (~seriously@2001:1c06:2715:c200:de2b:899c:1c2e:ded7) |
| 2022-11-03 20:09:01 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-11-03 20:13:29 +0000 | acidjnk | (~acidjnk@p200300d6e7137a343957ed7bae49a26a.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
| 2022-11-03 20:14:08 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds) |
| 2022-11-03 20:16:05 +0000 | jonathanx__ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 2022-11-03 20:16:05 +0000 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer) |
| 2022-11-03 20:16:55 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 20:19:04 +0000 | acidjnk | (~acidjnk@p200300d6e7137a515579cbbbe79af53b.dip0.t-ipconnect.de) |
| 2022-11-03 20:21:47 +0000 | pavonia | (~user@user/siracusa) |
| 2022-11-03 20:22:58 +0000 | olivermead | (~olivermea@cpc72329-sotn15-2-0-cust205.15-1.cable.virginm.net) (Ping timeout: 252 seconds) |
| 2022-11-03 20:23:44 +0000 | olivermead | (~olivermea@cpc72329-sotn15-2-0-cust205.15-1.cable.virginm.net) |
| 2022-11-03 20:25:03 +0000 | olivermead | (~olivermea@cpc72329-sotn15-2-0-cust205.15-1.cable.virginm.net) (Remote host closed the connection) |
| 2022-11-03 20:30:11 +0000 | whatsupdoc | (uid509081@2a03:5180:f:4::7:c499) |
| 2022-11-03 20:30:41 +0000 | <ski> | convoluted in the day, or well composed, i effect my actions |
| 2022-11-03 20:31:21 +0000 | sadmax | (~user@209.205.174.253) |
| 2022-11-03 20:33:02 +0000 | califax | (~califax@user/califx) (Ping timeout: 255 seconds) |
| 2022-11-03 20:34:06 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
| 2022-11-03 20:35:20 +0000 | califax | (~califax@user/califx) |
| 2022-11-03 20:36:21 +0000 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 2022-11-03 20:41:07 +0000 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 2022-11-03 20:44:53 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-11-03 20:49:36 +0000 | abhiroop_ | (~abhiroop@ext-1-450.eduroam.chalmers.se) (Ping timeout: 255 seconds) |
| 2022-11-03 20:57:34 +0000 | jlgw | (~jw@83-233-104-81.cust.bredband2.com) |
| 2022-11-03 21:03:46 +0000 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 2022-11-03 21:04:10 +0000 | gqplox | (~textual@147.188.245.207) |
| 2022-11-03 21:05:03 +0000 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 2022-11-03 21:05:10 +0000 | seriously_guest | (~seriously@2001:1c06:2715:c200:de2b:899c:1c2e:ded7) (Quit: Client closed) |
| 2022-11-03 21:06:11 +0000 | <gqplox> | hello guys |
| 2022-11-03 21:06:36 +0000 | <[exa]> | o/ |
| 2022-11-03 21:06:57 +0000 | <gqplox> | im going through some exercises, i wrote this function http://sprunge.us/1JnI85 but it is a bit stupid to see the isfactor 2, 3, etc. |
| 2022-11-03 21:07:20 +0000 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 2022-11-03 21:07:33 +0000 | <gqplox> | http://sprunge.us/xIWuRw |
| 2022-11-03 21:07:37 +0000 | <gqplox> | sorry here is all of it |
| 2022-11-03 21:07:42 +0000 | <gqplox> | so i wanted to make it better using all |
| 2022-11-03 21:07:55 +0000 | <gqplox> | but im confused how i can do that as I need two arguments for my isfactor function |
| 2022-11-03 21:07:56 +0000 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 2022-11-03 21:08:14 +0000 | <gqplox> | but i want to make it something like all isFactor n x [1..12 |
| 2022-11-03 21:08:17 +0000 | <byorgey> | gqplox: do you know about lambdas? |
| 2022-11-03 21:08:37 +0000 | chronon | (~chronon@user/chronon) (Ping timeout: 252 seconds) |
| 2022-11-03 21:09:08 +0000 | <gqplox> | yes i do |
| 2022-11-03 21:09:21 +0000 | <[exa]> | :t all |
| 2022-11-03 21:09:22 +0000 | <lambdabot> | Foldable t => (a -> Bool) -> t a -> Bool |
| 2022-11-03 21:09:37 +0000 | <[exa]> | > all isEven [2,4,6] |
| 2022-11-03 21:09:39 +0000 | <lambdabot> | error: |
| 2022-11-03 21:09:39 +0000 | <lambdabot> | Variable not in scope: isEven :: a0 -> Bool |
| 2022-11-03 21:09:46 +0000 | <byorgey> | gqplox: you're very much on the right track. You could just use a lambda to create a one-argument function that takes n as input and returns (isFactor n x) |
| 2022-11-03 21:10:00 +0000 | <byorgey> | then that lambda can be the input to 'all' |
| 2022-11-03 21:10:12 +0000 | chronon | (~chronon@user/chronon) |
| 2022-11-03 21:10:41 +0000 | <[exa]> | > all even [2,4,6] -- gqplox corrected example, sorry for the previous one |
| 2022-11-03 21:10:42 +0000 | <lambdabot> | True |
| 2022-11-03 21:11:52 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
| 2022-11-03 21:13:40 +0000 | harsy | (~harsy@2409:4072:6211:4f25::169f:60ad) |
| 2022-11-03 21:14:45 +0000 | jtomas | (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) |
| 2022-11-03 21:14:52 +0000 | <harsy> | for every cabal project haskell is downloaded again and again? |
| 2022-11-03 21:15:16 +0000 | <sclv> | what? no |
| 2022-11-03 21:16:19 +0000 | vglfr | (~vglfr@145.224.100.22) (Ping timeout: 252 seconds) |
| 2022-11-03 21:16:39 +0000 | <harsy> | okay thanks. i think its just checking all indexes |
| 2022-11-03 21:16:48 +0000 | <gqplox> | ah thank you byorgey |
| 2022-11-03 21:16:51 +0000 | <gqplox> | i have this now |
| 2022-11-03 21:16:52 +0000 | <gqplox> | http://sprunge.us/cioZM9 |
| 2022-11-03 21:17:36 +0000 | <gqplox> | so the x inside the lambda is being taken from outside of it? |
| 2022-11-03 21:18:45 +0000 | <harsy> | i have small doubt. can we use hackage packages in stack project? |
| 2022-11-03 21:19:05 +0000 | oo_miguel[m] | (~oomiguelm@2001:470:69fc:105::1:5ab0) |
| 2022-11-03 21:19:16 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds) |
| 2022-11-03 21:19:47 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 276 seconds) |
| 2022-11-03 21:19:55 +0000 | <[exa]> | harsy: https://github.com/commercialhaskell/stack/issues/2122 might be relevant |
| 2022-11-03 21:20:26 +0000 | <harsy> | thank you i will look into it. |
| 2022-11-03 21:20:33 +0000 | <ski> | all (`isFactor` x) [1 .. 12] -- gqplox |
| 2022-11-03 21:21:03 +0000 | <ski> | x `isFactor` y = y `mod` x == 0 -- is also possible |
| 2022-11-03 21:21:43 +0000 | <ski> | gqplox : yes, `x' was a nonlocal variable in the lambda abstraction |
| 2022-11-03 21:21:54 +0000 | <gqplox> | ah nice |
| 2022-11-03 21:22:16 +0000 | <gqplox> | so thats quite useful then i guess |
| 2022-11-03 21:22:21 +0000 | harsy | (~harsy@2409:4072:6211:4f25::169f:60ad) (Quit: Client closed) |
| 2022-11-03 21:22:44 +0000 | <gqplox> | oh cool that's even better `isFactor` x thank you |
| 2022-11-03 21:24:04 +0000 | <gqplox> | so how does that work? it just assumes because isFactor takes two that you will be supplied the first? |
| 2022-11-03 21:24:05 +0000 | ski | would call it `divides', though |
| 2022-11-03 21:24:13 +0000 | <gqplox> | oh yeah true |
| 2022-11-03 21:24:22 +0000 | <ski> | d `divides` n = n `mod` d == 0 |
| 2022-11-03 21:24:46 +0000 | nisstyre | (~wes@user/nisstyre) (Ping timeout: 260 seconds) |
| 2022-11-03 21:25:11 +0000 | <ski> | 0 `divides` n = n == 0 -- might want this special case, since `mod' (and `rem') doesn't like zero denominator/divisor, for silly reasons |
| 2022-11-03 21:25:55 +0000 | <gqplox> | oh right thanks |
| 2022-11-03 21:26:01 +0000 | <ski> | (doesn't really matter for `highlyDivisible', though) |
| 2022-11-03 21:26:24 +0000 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 2022-11-03 21:26:28 +0000 | <gqplox> | so in the all(`isFactor` x) the way you have left out the first argument, it is just implied? |
| 2022-11-03 21:26:46 +0000 | Alex_test | (~al_test@178.34.163.109) (Ping timeout: 252 seconds) |
| 2022-11-03 21:26:54 +0000 | <ski> | it's called a section |
| 2022-11-03 21:27:04 +0000 | Alex_test | (~al_test@178.34.163.109) |
| 2022-11-03 21:27:08 +0000 | <ski> | > map (^ 2) [0 .. 9] -- another example |
| 2022-11-03 21:27:10 +0000 | <lambdabot> | [0,1,4,9,16,25,36,49,64,81] |
| 2022-11-03 21:27:27 +0000 | <gqplox> | oh nice |
| 2022-11-03 21:27:49 +0000 | <ski> | `(^ 2)' means `\x -> x ^ 2'. `(2 ^)' means `\y -> 2 ^ y' (or `(^) 2' ..) |
| 2022-11-03 21:28:03 +0000 | <ski> | ditto for the nonsymbolic infix operators, using the backticks |
| 2022-11-03 21:28:32 +0000 | <gqplox> | very cool |
| 2022-11-03 21:28:33 +0000 | <gqplox> | thanks |
| 2022-11-03 21:28:50 +0000 | <gqplox> | really is very concise |
| 2022-11-03 21:29:21 +0000 | nineonine | (~nineonine@2604:3d08:7780:cd00:a9d4:e2db:2f89:8800) |
| 2022-11-03 21:29:30 +0000 | abhiroop_ | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) |
| 2022-11-03 21:29:37 +0000 | <Athas> | Like 80% of Haskell's greatness over other functional languages comes from such small syntactic niceties. |
| 2022-11-03 21:29:57 +0000 | sadmax` | (~user@209.205.174.253) |
| 2022-11-03 21:30:49 +0000 | sadmax` | (~user@209.205.174.253) (Client Quit) |
| 2022-11-03 21:31:00 +0000 | <[exa]> | ...such as monads |
| 2022-11-03 21:32:54 +0000 | off^ | (~off@76.145.185.103) |
| 2022-11-03 21:34:01 +0000 | ystael | (~ystael@user/ystael) (Quit: Lost terminal) |
| 2022-11-03 21:34:53 +0000 | Xeroine | (~Xeroine@user/xeroine) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in) |
| 2022-11-03 21:37:44 +0000 | Xeroine | (~Xeroine@user/xeroine) |
| 2022-11-03 21:38:21 +0000 | abhiroop_ | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) (Ping timeout: 272 seconds) |
| 2022-11-03 21:39:03 +0000 | jmdaemon | (~jmdaemon@user/jmdaemon) |
| 2022-11-03 21:40:04 +0000 | gqplox | (~textual@147.188.245.207) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 2022-11-03 21:40:35 +0000 | AlexNoo_ | (~AlexNoo@178.34.163.109) |
| 2022-11-03 21:44:03 +0000 | AlexNoo | (~AlexNoo@178.34.163.109) (Ping timeout: 272 seconds) |
| 2022-11-03 21:44:42 +0000 | gqplox | (~textual@147.188.245.207) |
| 2022-11-03 21:47:55 +0000 | michalz | (~michalz@185.246.207.222) (Remote host closed the connection) |
| 2022-11-03 21:48:13 +0000 | gentauro | (~gentauro@user/gentauro) (Ping timeout: 252 seconds) |
| 2022-11-03 21:48:26 +0000 | gentauro | (~gentauro@user/gentauro) |
| 2022-11-03 21:48:38 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 21:50:12 +0000 | talismanick | (~talismani@96-67-197-217-static.hfc.comcastbusiness.net) (Ping timeout: 248 seconds) |
| 2022-11-03 21:51:45 +0000 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) |
| 2022-11-03 21:53:10 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) (Ping timeout: 252 seconds) |
| 2022-11-03 21:54:02 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 2022-11-03 21:54:49 +0000 | sadmax | (~user@209.205.174.253) (Ping timeout: 272 seconds) |
| 2022-11-03 21:55:24 +0000 | gmg | (~user@user/gehmehgeh) |
| 2022-11-03 21:59:51 +0000 | ystael | (~ystael@user/ystael) |
| 2022-11-03 22:03:50 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex) |
| 2022-11-03 22:04:40 +0000 | catern | (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) |
| 2022-11-03 22:05:15 +0000 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
| 2022-11-03 22:06:32 +0000 | freeside | (~mengwong@bb115-66-48-84.singnet.com.sg) |
| 2022-11-03 22:09:07 +0000 | thegeekinside | (~thegeekin@189.180.115.115) |
| 2022-11-03 22:10:45 +0000 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
| 2022-11-03 22:11:05 +0000 | gqplox | (~textual@147.188.245.207) (Quit: Textual IRC Client: www.textualapp.com) |
| 2022-11-03 22:11:47 +0000 | tgi | (~thegeekin@189.180.115.115) (Ping timeout: 276 seconds) |
| 2022-11-03 22:16:35 +0000 | mvk | (~mvk@2607:fea8:5ce3:8500::4b68) |
| 2022-11-03 22:17:34 +0000 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 2022-11-03 22:19:16 +0000 | acidjnk | (~acidjnk@p200300d6e7137a515579cbbbe79af53b.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 2022-11-03 22:19:50 +0000 | tgi | (~thegeekin@189.180.115.115) |
| 2022-11-03 22:20:07 +0000 | jonathanx__ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 252 seconds) |
| 2022-11-03 22:22:19 +0000 | thegeekinside | (~thegeekin@189.180.115.115) (Ping timeout: 252 seconds) |
| 2022-11-03 22:27:27 +0000 | caryhartline | (~caryhartl@2603-8080-6a0e-8d88-01fd-d633-9a8e-c806.res6.spectrum.com) (Quit: caryhartline) |
| 2022-11-03 22:29:45 +0000 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 2022-11-03 22:35:57 +0000 | Topsi | (~Topsi@ipb218f69e.dynamic.kabel-deutschland.de) |
| 2022-11-03 22:37:20 +0000 | king_gs | (~Thunderbi@2806:103e:29:47b9:f34b:ffff:4cfc:90a6) (Quit: king_gs) |
| 2022-11-03 22:37:35 +0000 | king_gs | (~Thunderbi@187.201.83.115) |
| 2022-11-03 22:39:19 +0000 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
| 2022-11-03 22:39:47 +0000 | elevenkb | (~elevenkb@105.184.125.168) (Ping timeout: 272 seconds) |
| 2022-11-03 22:39:58 +0000 | rond_ | (~rond_@87.74.205.31) (Quit: Client closed) |
| 2022-11-03 22:42:06 +0000 | redmp | (~redmp@lib-02-subnet-194.rdns.cenic.net) (Ping timeout: 255 seconds) |
| 2022-11-03 22:46:00 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-11-03 22:52:51 +0000 | mncheckm | (~mncheck@193.224.205.254) (Ping timeout: 268 seconds) |
| 2022-11-03 22:54:21 +0000 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) (Remote host closed the connection) |
| 2022-11-03 22:55:23 +0000 | <Axman6> | anyone know of any parser combinator libraries that let you use regular expressions as part of the parser? |
| 2022-11-03 22:57:18 +0000 | Topsi | (~Topsi@ipb218f69e.dynamic.kabel-deutschland.de) (Quit: Leaving.) |
| 2022-11-03 23:00:01 +0000 | <geekosaur> | no parser combinator library that I know of… but perhaps this would be a good use case for alex+happy? |
| 2022-11-03 23:00:52 +0000 | jlgw_ | (~jw@83-233-104-81.cust.bredband2.com) |
| 2022-11-03 23:01:22 +0000 | jlgw | (~jw@83-233-104-81.cust.bredband2.com) (Ping timeout: 252 seconds) |
| 2022-11-03 23:02:09 +0000 | <geekosaur> | also, uh, which variety of regular expression? |
| 2022-11-03 23:04:08 +0000 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2022-11-03 23:06:52 +0000 | ski | . o O ( "Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby, ...)" by Russ Cox in 2007-01 at <https://swtch.com/~rsc/regexp/regexp1.html> ) |
| 2022-11-03 23:07:03 +0000 | <Axman6> | not sure - i feel it shouldnt be too hard to write a small library that adds attoparsec combinators to parse a given expression 'here'. I'm reading https://keleshev.com/compiling-to-assembly-from-scratch/ and its combination of parser combinators and regular expressions is quite nice |
| 2022-11-03 23:07:17 +0000 | nate3 | (~nate@98.45.169.16) |
| 2022-11-03 23:07:25 +0000 | jtomas | (~jtomas@191.red-88-17-199.dynamicip.rima-tde.net) (Ping timeout: 252 seconds) |
| 2022-11-03 23:08:00 +0000 | <Axman6> | one thing though would be that the regex would need to be resumable, if it hasn't succeeded or failed yet, but we run out of input |
| 2022-11-03 23:08:40 +0000 | <geekosaur> | it has occurred to me that pretty much any use of regex can be "compiled" to any parser combinator. and if you compile it to attoparsec it should be resumable |
| 2022-11-03 23:10:02 +0000 | <Axman6> | also, on a completely unrelated note, iGot this iPad Pro recently, and having the Blink app with mosh so I can rejoin IRC from anywhere, is fantastic |
| 2022-11-03 23:11:06 +0000 | <Axman6> | yeah thats an interesting idea - would the performance be comparable though? I guess all the tricks to make regex parsing linear would also apply to how you'd compile it too |
| 2022-11-03 23:12:20 +0000 | nate3 | (~nate@98.45.169.16) (Ping timeout: 248 seconds) |
| 2022-11-03 23:13:18 +0000 | <geekosaur> | I expect it'd be similar performance, but admit to optimizations that might well make it noticeably faster than most regexes can get |
| 2022-11-03 23:13:31 +0000 | absence | (torgeihe@hildring.pvv.ntnu.no) (Ping timeout: 246 seconds) |
| 2022-11-03 23:13:51 +0000 | teddyc | (theodorc@cassarossa.samfundet.no) (Ping timeout: 260 seconds) |
| 2022-11-03 23:19:27 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 2022-11-03 23:20:33 +0000 | dcoutts | (~duncan@host86-171-59-120.range86-171.btcentralplus.com) |
| 2022-11-03 23:22:16 +0000 | dcoutts_ | (~duncan@host86-163-164-210.range86-163.btcentralplus.com) (Ping timeout: 246 seconds) |
| 2022-11-03 23:25:24 +0000 | dcoutts_ | (~duncan@86.150.41.170) |
| 2022-11-03 23:27:27 +0000 | <AndreasK> | I remember hearing a talk about staging a regex compiler which then was a lot faster. But I don't remember where it was |
| 2022-11-03 23:27:37 +0000 | AlexNoo__ | (~AlexNoo@178.34.163.109) |
| 2022-11-03 23:27:46 +0000 | dcoutts | (~duncan@host86-171-59-120.range86-171.btcentralplus.com) (Ping timeout: 252 seconds) |
| 2022-11-03 23:27:53 +0000 | <Axman6> | I'd love to see that if you fi9nd it |
| 2022-11-03 23:28:34 +0000 | <AndreasK> | https://icfp22.sigplan.org/home/haskellsymp-2022# it was at icfp |
| 2022-11-03 23:28:49 +0000 | <AndreasK> | https://icfp22.sigplan.org/details/haskellsymp-2022/2/Staging-Regular-Expressions-with-Moore-Cayle… |
| 2022-11-03 23:29:04 +0000 | <Axman6> | A few months ago I ported this to our Daml codebase, because we needed a better implementation of regexes, and it happened to be for validating regular expressions defined in XML Schema: https://wiki.haskell.org/Regular_expressions_for_XML_Schema |
| 2022-11-03 23:29:11 +0000 | geekosaur | completely fails to be surprised |
| 2022-11-03 23:29:14 +0000 | <AndreasK> | https://www.youtube.com/watch?v=6oTJbtH0PeI |
| 2022-11-03 23:29:24 +0000 | <AndreasK> | The talk is on youtube it seems |
| 2022-11-03 23:30:23 +0000 | <Axman6> | You're a champ AndreasK |
| 2022-11-03 23:30:31 +0000 | Alex_test | (~al_test@178.34.163.109) (Ping timeout: 252 seconds) |
| 2022-11-03 23:31:04 +0000 | AlexNoo_ | (~AlexNoo@178.34.163.109) (Ping timeout: 252 seconds) |
| 2022-11-03 23:33:55 +0000 | redmp | (~redmp@mobile-166-170-43-0.mycingular.net) |
| 2022-11-03 23:36:01 +0000 | Alex_test | (~al_test@178.34.163.109) |
| 2022-11-03 23:36:07 +0000 | dyniec | (~dyniec@mail.dybiec.info) |
| 2022-11-03 23:37:16 +0000 | <monochrom> | No, translating regexes to most parser combinator libraries is an uphill battle, because most parser combinator libraries kill the very nondeterminism that regexes stand for. This is right at the API level. |
| 2022-11-03 23:38:03 +0000 | ski | . o O ( "IrRegex : IrRegular Expressions" at <http://synthcode.com/scheme/irregex/>,"irregex - Portable Efficient IrRegular Expressions" at <https://github.com/ashinn/irregex/>, by foof ) |
| 2022-11-03 23:38:04 +0000 | <monochrom> | For example, (00)* 0 (000)* is not going to be simply many "00" >> char "0" >> many "000". |
| 2022-11-03 23:39:31 +0000 | <monochrom> | Unless you go way back to the very original papers that use String -> [(a, String)] so full nondeterminism is restored. |
| 2022-11-03 23:39:52 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b8c3:aabe:4f47:1efb) |
| 2022-11-03 23:39:52 +0000 | <monochrom> | (which kills efficiency, which is why everyone ditched it) |
| 2022-11-03 23:43:07 +0000 | pyrex | coolbat666 |
| 2022-11-03 23:43:30 +0000 | <ski> | <https://hackage.haskell.org/package/base-4.17.0.0/docs/Text-ParserCombinators-ReadP.html> |
| 2022-11-03 23:43:37 +0000 | <ski> | @hackage parsek |
| 2022-11-03 23:43:37 +0000 | <lambdabot> | https://hackage.haskell.org/package/parsek |
| 2022-11-03 23:44:06 +0000 | <monochrom> | Yeah, or a few nondet parser libraries like ReadP. |
| 2022-11-03 23:44:12 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b8c3:aabe:4f47:1efb) (Ping timeout: 255 seconds) |
| 2022-11-03 23:44:25 +0000 | coolbat666 | pyrex |
| 2022-11-03 23:49:33 +0000 | dcoutts | (~duncan@host81-156-211-164.range81-156.btcentralplus.com) |
| 2022-11-03 23:51:41 +0000 | teddyc | (theodorc@cassarossa.samfundet.no) |
| 2022-11-03 23:51:58 +0000 | dcoutts_ | (~duncan@86.150.41.170) (Ping timeout: 252 seconds) |
| 2022-11-03 23:51:58 +0000 | gentauro | (~gentauro@user/gentauro) (Ping timeout: 252 seconds) |
| 2022-11-03 23:52:05 +0000 | abhiroop_ | (~abhiroop@217-209-157-8-no2000.tbcn.telia.com) |
| 2022-11-03 23:52:55 +0000 | dcoutts_ | (~duncan@host81-156-211-164.range81-156.btcentralplus.com) |
| 2022-11-03 23:53:37 +0000 | gentauro | (~gentauro@user/gentauro) |
| 2022-11-03 23:54:43 +0000 | dcoutts | (~duncan@host81-156-211-164.range81-156.btcentralplus.com) (Ping timeout: 252 seconds) |
| 2022-11-03 23:58:43 +0000 | dcoutts | (~duncan@host81-156-211-164.range81-156.btcentralplus.com) |
| 2022-11-03 23:59:58 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |