2022-05-02 00:00:13 +0200 | jhagborg | (~jhagborg@068-187-237-099.res.spectrum.com) |
2022-05-02 00:03:31 +0200 | romesrf | (~romes@185.5.8.134) (Quit: WeeChat 3.4.1) |
2022-05-02 00:04:08 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) (Ping timeout: 248 seconds) |
2022-05-02 00:07:02 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) |
2022-05-02 00:08:00 +0200 | king_gs | (~Thunderbi@187.201.77.157) (Read error: Connection reset by peer) |
2022-05-02 00:09:56 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-05-02 00:10:21 +0200 | king_gs | (~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d) |
2022-05-02 00:12:59 +0200 | nicbk | (~nicbk@user/nicbk) |
2022-05-02 00:13:07 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 240 seconds) |
2022-05-02 00:16:31 +0200 | jhagborg | (~jhagborg@068-187-237-099.res.spectrum.com) (Quit: Leaving) |
2022-05-02 00:17:07 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-05-02 00:17:55 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
2022-05-02 00:21:47 +0200 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2022-05-02 00:24:19 +0200 | acidjnk | (~acidjnk@p200300d0c73b4550c5e3a1b7598c6b95.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-05-02 00:30:40 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-05-02 00:34:25 +0200 | tcard | (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Remote host closed the connection) |
2022-05-02 00:34:32 +0200 | nut | (~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 248 seconds) |
2022-05-02 00:34:42 +0200 | tcard | (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) |
2022-05-02 00:41:22 +0200 | anomal | (~anomal@87.227.196.109) (Remote host closed the connection) |
2022-05-02 00:41:27 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-05-02 00:42:40 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2022-05-02 00:45:48 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-02 00:49:00 +0200 | AkechiShiro | (~licht@user/akechishiro) (Ping timeout: 240 seconds) |
2022-05-02 00:49:02 +0200 | tswett | (~androirc@72.138.180.115) |
2022-05-02 00:50:08 +0200 | AkechiShiro | (~licht@user/akechishiro) |
2022-05-02 00:50:40 +0200 | <tswett> | Hey everyone. Are there any guidelines or documentation for how to implement showsPrec? |
2022-05-02 00:52:42 +0200 | <hpc> | mostly just "don't" |
2022-05-02 00:52:56 +0200 | <tswett> | That's one option :D |
2022-05-02 00:53:06 +0200 | <hpc> | use deriving if you can |
2022-05-02 00:53:21 +0200 | <hpc> | or some more suitable mechanism if you're going to be outputting json or whatever |
2022-05-02 00:54:03 +0200 | <hpc> | you can try looking at existing instances in base |
2022-05-02 00:54:13 +0200 | <hpc> | there might be something there |
2022-05-02 00:54:59 +0200 | Teacup | (~teacup@user/teacup) (Quit: Teacup) |
2022-05-02 00:55:22 +0200 | <tswett> | Aha, I |
2022-05-02 00:55:30 +0200 | <jackdk> | Show should be considered debugging information IMHO, so `deriving Show` is fine for almost everything. If you're showing something unshowable, you're gonna generate nonsense anyway so I don't worry about `showsPrec` in such instances |
2022-05-02 00:55:41 +0200 | Teacup | (~teacup@user/teacup) |
2022-05-02 00:55:55 +0200 | <tswett> | *I just noticed that the documentation for showsPrec does in fact contain an example that seems pretty informative. |
2022-05-02 00:56:23 +0200 | Teacup | (~teacup@user/teacup) (Client Quit) |
2022-05-02 00:56:48 +0200 | Teacup | (~teacup@user/teacup) |
2022-05-02 00:57:12 +0200 | <tswett> | That said, I'm implementing the SKI combinator calculus, and I'd like a function which produces output like "S (K S)" instead of "Apply (EAtom S) (Apply (EAtom K) (EAtom S))". |
2022-05-02 00:57:32 +0200 | <tswett> | Maybe using that function as my Show instance is not a good idea. |
2022-05-02 00:59:08 +0200 | <jackdk> | I generally call those functions `renderFoo :: Foo -> Text` |
2022-05-02 01:00:01 +0200 | <EvanR> | make a pretty printer |
2022-05-02 01:00:25 +0200 | <EvanR> | ghci may have a way to use your pretty printer instead of show? |
2022-05-02 01:01:03 +0200 | <geekosaur> | https://downloads.haskell.org/ghc/9.0.2/docs/html/users_guide/ghci.html#using-a-custom-interactive… |
2022-05-02 01:01:08 +0200 | <jackdk> | Though you may need to write something like showsPrec if you want minimal bracketing. Gonzales has a neat trick for making simple pretty printers that get parentheses right: https://www.haskellforall.com/2020/11/pretty-print-syntax-trees-with-this-one.html |
2022-05-02 01:02:19 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-05-02 01:02:24 +0200 | <tswett> | By the way, I haven't been in #haskell much since around 2004. Are emoji discouraged in this channel? |
2022-05-02 01:02:55 +0200 | king_gs | (~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d) (Remote host closed the connection) |
2022-05-02 01:04:53 +0200 | <monochrom> | No, feel free to use emojis |
2022-05-02 01:05:15 +0200 | king_gs | (~Thunderbi@187.201.77.157) |
2022-05-02 01:06:04 +0200 | <EvanR> | emoji's a lot different now than in 2004, for instance we have :success_baby:, various animated rainbow memes, and that frog guy |
2022-05-02 01:06:21 +0200 | <EvanR> | oops that's discord |
2022-05-02 01:06:52 +0200 | <tswett> | 👍 |
2022-05-02 01:08:22 +0200 | <jackdk> | I don't particularly like 'em, but I'm in the minority and there's no official rule against them or anything. Besides, I'm just one guy. |
2022-05-02 01:15:25 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
2022-05-02 01:16:22 +0200 | xkuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2022-05-02 01:21:56 +0200 | <tswett> | In any case, thanks for the help, talk to y'all later 👋 |
2022-05-02 01:24:58 +0200 | king_gs1 | (~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d) |
2022-05-02 01:24:58 +0200 | king_gs | (~Thunderbi@187.201.77.157) (Read error: Connection reset by peer) |
2022-05-02 01:24:58 +0200 | king_gs1 | king_gs |
2022-05-02 01:25:05 +0200 | <exarkun> | is it still an emoji if you just type out :slightly_smiling_face: |
2022-05-02 01:26:43 +0200 | <jackdk> | Doesn't render that way for me, though other chat services seem to do taht |
2022-05-02 01:28:03 +0200 | zeenk | (~zeenk@2a02:2f04:a004:9b00:1efc:c1cf:378d:8b3d) (Quit: Konversation terminated!) |
2022-05-02 01:30:53 +0200 | <monochrom> | I guess I should have said "yes we discourage it". |
2022-05-02 01:32:35 +0200 | <monochrom> | People take "not discouraged" to mean "use as much as possible" as opposed to "when it makes sense". |
2022-05-02 01:36:06 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) (Ping timeout: 272 seconds) |
2022-05-02 01:36:57 +0200 | xaotuk | (~sasha@2a06:5b00:15fe:9b00::3) (Ping timeout: 248 seconds) |
2022-05-02 01:39:27 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 240 seconds) |
2022-05-02 01:41:52 +0200 | <dons> | morning all |
2022-05-02 01:42:00 +0200 | <EvanR> | is it still an emoji, ask wittgenstein |
2022-05-02 01:42:06 +0200 | <dons> | i note ghc 9.4.x is ready for testing. exciting |
2022-05-02 01:42:34 +0200 | <jackdk> | I look forward to taking my work repo beyond 8.10.7 one day |
2022-05-02 01:42:56 +0200 | <geekosaur> | exciting unless you're a little tired of getting whipsawed by new releases (then again 9.4 doesn't seem to have much new) |
2022-05-02 01:43:11 +0200 | <abastro[m]> | Will 9.4.x be more stable than 9.2.x |
2022-05-02 01:43:34 +0200 | <geekosaur> | it shoukld be on windows in particular |
2022-05-02 01:44:23 +0200 | <abastro[m]> | Ah, I wanted general stability :/ |
2022-05-02 01:44:38 +0200 | <abastro[m]> | Perhaps the bug I am experiencing might magically fix itself |
2022-05-02 01:46:53 +0200 | king_gs | (~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d) (Remote host closed the connection) |
2022-05-02 01:48:12 +0200 | king_gs | (~Thunderbi@187.201.77.157) |
2022-05-02 01:52:07 +0200 | <EvanR> | is the opposite of general stability colonel panic |
2022-05-02 01:53:23 +0200 | <dons> | yeah i'm pondering using 9.4.x as the step off 8.10.7 |
2022-05-02 01:54:24 +0200 | <Axman6> | time to rip the bandaid off |
2022-05-02 01:54:36 +0200 | irfan | (~irfan@user/irfan) |
2022-05-02 01:57:34 +0200 | <abastro[m]> | Anyway high hopes for 9.4.x :D |
2022-05-02 01:59:32 +0200 | eggplantade | (~Eggplanta@108.201.191.115) (Remote host closed the connection) |
2022-05-02 01:59:40 +0200 | gpncarl | (~gpncarl@120.244.220.254) |
2022-05-02 02:03:05 +0200 | modnar | (~modnar@shell.sonic.net) |
2022-05-02 02:04:36 +0200 | king_gs | (~Thunderbi@187.201.77.157) (Ping timeout: 272 seconds) |
2022-05-02 02:04:46 +0200 | Midjak | (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
2022-05-02 02:04:48 +0200 | gpncarl | (~gpncarl@120.244.220.254) (Ping timeout: 276 seconds) |
2022-05-02 02:05:34 +0200 | tswett | (~androirc@72.138.180.115) (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )) |
2022-05-02 02:05:44 +0200 | king_gs | (~Thunderbi@187.201.77.157) |
2022-05-02 02:07:06 +0200 | mmhat | (~mmh@2001:4090:a242:802a:ee08:6bff:fe09:5315) (Quit: WeeChat 3.5) |
2022-05-02 02:08:57 +0200 | Guest41 | (~Guest41@2607:f140:800:1::15b) |
2022-05-02 02:09:13 +0200 | nicbk | (~nicbk@user/nicbk) (Quit: nicbk) |
2022-05-02 02:09:48 +0200 | deadmarshal_ | (~deadmarsh@95.38.117.99) |
2022-05-02 02:12:34 +0200 | xff0x_ | (~xff0x@om126234061065.16.openmobile.ne.jp) |
2022-05-02 02:13:59 +0200 | deadmarshal_ | (~deadmarsh@95.38.117.99) (Ping timeout: 240 seconds) |
2022-05-02 02:17:07 +0200 | zebrag | (~chris@user/zebrag) |
2022-05-02 02:17:55 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
2022-05-02 02:21:25 +0200 | yauhsien | (~yauhsien@61-231-62-54.dynamic-ip.hinet.net) |
2022-05-02 02:22:24 +0200 | neceve | (~quassel@2.29.116.221) (Ping timeout: 246 seconds) |
2022-05-02 02:24:32 +0200 | kimjetwav | (~user@2607:fea8:2362:b400:32f6:ad39:28b3:1653) (Remote host closed the connection) |
2022-05-02 02:24:49 +0200 | kimjetwav | (~user@2607:fea8:2362:b400:5938:b414:69d0:3de2) |
2022-05-02 02:25:54 +0200 | yauhsien | (~yauhsien@61-231-62-54.dynamic-ip.hinet.net) (Ping timeout: 246 seconds) |
2022-05-02 02:32:28 +0200 | <sm> | who's having trouble with 9.2 ? I haven't hit any yet |
2022-05-02 02:32:45 +0200 | gurkenglas | (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 276 seconds) |
2022-05-02 02:34:12 +0200 | Guest41 | (~Guest41@2607:f140:800:1::15b) (Ping timeout: 252 seconds) |
2022-05-02 02:35:19 +0200 | king_gs | (~Thunderbi@187.201.77.157) (Read error: Connection reset by peer) |
2022-05-02 02:36:28 +0200 | kannon | (~kannon@74-95-14-193-SFBA.hfc.comcastbusiness.net) |
2022-05-02 02:38:31 +0200 | king_gs | (~Thunderbi@187.201.77.157) |
2022-05-02 02:38:42 +0200 | kannon | (~kannon@74-95-14-193-SFBA.hfc.comcastbusiness.net) (Client Quit) |
2022-05-02 02:39:33 +0200 | frost | (~frost@user/frost) |
2022-05-02 02:43:21 +0200 | ellie | ell |
2022-05-02 02:44:20 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-05-02 02:44:20 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-05-02 02:44:20 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-05-02 02:46:33 +0200 | <Bulby[m]> | nvim lsp is being mean; it says "no man entry for foo" |
2022-05-02 02:50:06 +0200 | <abastro[m]> | sm: I am having mysterious crashes |
2022-05-02 02:52:50 +0200 | <sm> | on windows ? doing what ? is there an open issue ? |
2022-05-02 02:55:42 +0200 | drakonis | (~drakonis@user/drakonis) |
2022-05-02 02:59:30 +0200 | king_gs1 | (~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d) |
2022-05-02 02:59:31 +0200 | king_gs | (~Thunderbi@187.201.77.157) (Read error: Connection reset by peer) |
2022-05-02 02:59:32 +0200 | king_gs1 | king_gs |
2022-05-02 03:00:18 +0200 | eggplantade | (~Eggplanta@108.201.191.115) |
2022-05-02 03:03:28 +0200 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2022-05-02 03:05:24 +0200 | eggplantade | (~Eggplanta@108.201.191.115) (Ping timeout: 272 seconds) |
2022-05-02 03:05:42 +0200 | bogart | (~e43921@167.224.152.242) |
2022-05-02 03:06:48 +0200 | kimjetwav | (~user@2607:fea8:2362:b400:5938:b414:69d0:3de2) (Remote host closed the connection) |
2022-05-02 03:07:05 +0200 | kimjetwav | (~user@2607:fea8:2362:b400:7bd6:bcaf:2d52:3bbf) |
2022-05-02 03:08:13 +0200 | stackdroid18 | (14094@user/stackdroid) (Quit: hasta la vista... tchau!) |
2022-05-02 03:08:24 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 250 seconds) |
2022-05-02 03:08:40 +0200 | stackdroid18 | (14094@user/stackdroid) |
2022-05-02 03:08:49 +0200 | stackdroid18 | (14094@user/stackdroid) (Client Quit) |
2022-05-02 03:10:36 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-05-02 03:11:11 +0200 | stackdroid18 | (14094@user/stackdroid) |
2022-05-02 03:11:13 +0200 | stackdroid18 | (14094@user/stackdroid) (Client Quit) |
2022-05-02 03:13:51 +0200 | bogart | (~e43921@167.224.152.242) (Ping timeout: 246 seconds) |
2022-05-02 03:16:43 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-05-02 03:17:09 +0200 | eggplantade | (~Eggplanta@108.201.191.115) |
2022-05-02 03:25:50 +0200 | kannon | (~NK@76.243.126.210) |
2022-05-02 03:26:14 +0200 | <kannon> | hello is this an active channel? |
2022-05-02 03:27:05 +0200 | echelon | (~echelon@gateway/tor-sasl/steerpike) |
2022-05-02 03:30:01 +0200 | echelon | (~echelon@gateway/tor-sasl/steerpike) () |
2022-05-02 03:30:18 +0200 | <jackdk> | Yes. |
2022-05-02 03:30:22 +0200 | <EvanR> | :cricket: |
2022-05-02 03:30:38 +0200 | <jackdk> | howzat! |
2022-05-02 03:34:14 +0200 | <abastro[m]> | sm: No, on linux. |
2022-05-02 03:34:29 +0200 | <abastro[m]> | sm: it is mysterious and hard to reproduce :/ |
2022-05-02 03:37:24 +0200 | wroathe | (~wroathe@user/wroathe) (Read error: Connection reset by peer) |
2022-05-02 03:40:18 +0200 | andrey__ | (~andrey@p200300dbcf06ad00ac6ace76fcaf9f34.dip0.t-ipconnect.de) |
2022-05-02 03:42:27 +0200 | andrey_ | (~andrey@p200300dbcf3c2800a83cd0cefcf2e84d.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-05-02 03:43:02 +0200 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) |
2022-05-02 03:45:41 +0200 | bogart | (~e43921@167.224.152.242) |
2022-05-02 03:46:28 +0200 | <Axman6> | kannon: it's as active as any IRC channel ever is - activity comes in fits and spurts |
2022-05-02 03:52:00 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-05-02 03:52:17 +0200 | img | (~img@user/img) |
2022-05-02 03:52:23 +0200 | <kannon> | thank you Axman6 |
2022-05-02 03:52:39 +0200 | <kannon> | https://paste.tomsmeding.com/KpdkO4K6 |
2022-05-02 03:53:05 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-05-02 03:53:05 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-05-02 03:53:05 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-05-02 03:53:52 +0200 | <kannon> | I do not understand the logic in the rule on the last line. also if it can be applied to return a boolean value. |
2022-05-02 03:54:05 +0200 | bogart | (~e43921@167.224.152.242) (Ping timeout: 256 seconds) |
2022-05-02 03:54:22 +0200 | <kannon> | it compiles |
2022-05-02 03:54:43 +0200 | EvanR | mentally inserts rule :: U Bool -> Bool |
2022-05-02 03:54:48 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
2022-05-02 03:55:14 +0200 | <Axman6> | looks pretty arbitrary to me, what don;'t you understand about the rule? |
2022-05-02 03:55:42 +0200 | <EvanR> | rule is just looking at 3 bools |
2022-05-02 03:56:06 +0200 | <EvanR> | when combined with Comonad maybe we can see some sparks fly |
2022-05-02 03:56:40 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-05-02 03:58:16 +0200 | <kannon> | can we apply the rule in ghci , to return a boolean? |
2022-05-02 03:59:23 +0200 | <EvanR> | it looks to me it has type U Bool -> Bool, so you need a U Bool to apply it |
2022-05-02 04:01:18 +0200 | <EvanR> | given Ham -> Eggs, you could have some Eggs, if you had some Ham |
2022-05-02 04:02:07 +0200 | <kannon> | thank you maybe we could pick this up later I have to go. cheers very appreciative. |
2022-05-02 04:02:27 +0200 | <EvanR> | \o/ |
2022-05-02 04:03:12 +0200 | hololeap | (~hololeap@user/hololeap) |
2022-05-02 04:03:55 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-05-02 04:07:03 +0200 | kannon | (~NK@76.243.126.210) (Ping timeout: 246 seconds) |
2022-05-02 04:09:43 +0200 | ajb | (~ajb@mimas.whatbox.ca) |
2022-05-02 04:13:50 +0200 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 250 seconds) |
2022-05-02 04:17:41 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2022-05-02 04:17:41 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2022-05-02 04:17:41 +0200 | finn_elija | FinnElija |
2022-05-02 04:17:44 +0200 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-05-02 04:19:08 +0200 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
2022-05-02 04:23:24 +0200 | yauhsien | (~yauhsien@61-231-62-54.dynamic-ip.hinet.net) |
2022-05-02 04:26:58 +0200 | AlexNoo_ | (~AlexNoo@178.34.162.108) |
2022-05-02 04:30:19 +0200 | Alex_test | (~al_test@178.34.160.71) (Ping timeout: 240 seconds) |
2022-05-02 04:30:19 +0200 | AlexZenon | (~alzenon@178.34.160.71) (Ping timeout: 240 seconds) |
2022-05-02 04:30:21 +0200 | AlexNoo | (~AlexNoo@178.34.160.71) (Ping timeout: 256 seconds) |
2022-05-02 04:30:40 +0200 | meinside | (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2022-05-02 04:30:54 +0200 | yauhsien | (~yauhsien@61-231-62-54.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
2022-05-02 04:33:43 +0200 | kannon | (~NK@135-180-218-226.fiber.dynamic.sonic.net) |
2022-05-02 04:34:29 +0200 | Alex_test | (~al_test@178.34.162.108) |
2022-05-02 04:34:39 +0200 | AlexZenon | (~alzenon@178.34.162.108) |
2022-05-02 04:39:25 +0200 | <kannon> | cojoin gg . rule |
2022-05-02 04:39:39 +0200 | <kannon> | oh sorry |
2022-05-02 04:40:41 +0200 | <hololeap> | cojoin? is that a comonad thing? |
2022-05-02 04:41:23 +0200 | <kannon> | yes I think it's like unfold |
2022-05-02 04:41:51 +0200 | <kannon> | trying to get this : http://blog.sigfpe.com/2006/12/evaluating-cellular-automata-is.html hololeap |
2022-05-02 04:42:06 +0200 | dsrt^ | (~dsrt@50.227.69.228) (Ping timeout: 276 seconds) |
2022-05-02 04:42:38 +0200 | <hololeap> | it's called 'duplicate' in the comonad package |
2022-05-02 04:42:50 +0200 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2022-05-02 04:43:09 +0200 | dsrt^ | (~dsrt@50.227.69.228) |
2022-05-02 04:45:39 +0200 | <kannon> | hmm |
2022-05-02 04:46:42 +0200 | <hololeap> | basically the dual of 'join', so instead of collapsing 'm (m a) -> m a', it does "the opposite": 'm a -> m (m a)' |
2022-05-02 04:47:37 +0200 | <hololeap> | it's fairly abstract but pretty fun when you grasp it. there are examples of people writing conway's game of life using the Store comonad floating around |
2022-05-02 04:49:04 +0200 | <kannon> | hololeap: hey you see this rule at the bottom of my paste? https://paste.tomsmeding.com/KpdkO4K6 |
2022-05-02 04:49:12 +0200 | king_gs | (~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d) (Remote host closed the connection) |
2022-05-02 04:49:31 +0200 | king_gs | (~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d) |
2022-05-02 04:49:40 +0200 | <kannon> | someone said to get it to work by using U (Bool) -> Bool |
2022-05-02 04:49:52 +0200 | <kannon> | but what does it look like? |
2022-05-02 04:50:00 +0200 | <systemfault> | Would be nice if someone would write a nice comonad tutorial/example for dumb people like me. |
2022-05-02 04:50:36 +0200 | <kannon> | I don't understand the type U (Bool) |
2022-05-02 04:50:55 +0200 | <EvanR> | rule has type U Bool -> Bool, a function type |
2022-05-02 04:51:06 +0200 | <systemfault> | Knowing that it's the dual of a monad doesn't give me any intuition of when I should use them |
2022-05-02 04:51:18 +0200 | <EvanR> | U Bool is a type, simply by taking U x you defined earlier and saying x = Bool |
2022-05-02 04:51:33 +0200 | <EvanR> | systemfault, probably never, unless it's advent of code and you want to flex |
2022-05-02 04:52:05 +0200 | <hololeap> | just like how you can string together functions in the form of (a -> m b) with monads, you can string together functions in the form of (m a -> b) with comonads |
2022-05-02 04:52:06 +0200 | <systemfault> | I see, so there are cases when they can be useful but it's not something I will often use in day to day code |
2022-05-02 04:52:27 +0200 | <systemfault> | s/when/where |
2022-05-02 04:52:39 +0200 | <EvanR> | even in cases where it's useful, it's more like "why did I need this category theory" |
2022-05-02 04:53:18 +0200 | <EvanR> | the monad library on the other hand is much more useful |
2022-05-02 04:53:24 +0200 | <EvanR> | comonad barely has a library |
2022-05-02 04:53:25 +0200 | <kannon> | I thought shifting the universes where the "focus" moved by one to left or right, was interesting |
2022-05-02 04:53:32 +0200 | <hololeap> | what it is saying is that you have your little universe and a reference point which is what U represents, and from it you can look around and create a value... in this case Bool |
2022-05-02 04:54:13 +0200 | <hololeap> | however, every you can construct a different U for every value in your original U, which will essentially be a copy but with a different reference point |
2022-05-02 04:54:28 +0200 | <hololeap> | s/every you/you/ |
2022-05-02 04:54:51 +0200 | <systemfault> | Which is why the Game of Life is a good case for showing comonad? |
2022-05-02 04:54:59 +0200 | <hololeap> | so you have a U that focuses on 0, a U that focuses on 1, etc |
2022-05-02 04:55:32 +0200 | <hololeap> | depending on which value U is focusing on determines what the Bool output of 'rule' will be |
2022-05-02 04:55:52 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Quit: Leaving) |
2022-05-02 04:56:07 +0200 | <kannon> | so I don't get the use of the rule. what is the data structure U Bool ? |
2022-05-02 04:56:53 +0200 | <hololeap> | so, cojoin essentially creates a new universe for every value, which allows you to apply 'rule' to it, and in the end you get 'U Bool' which is the result of 'rule' for every value |
2022-05-02 04:57:46 +0200 | <hololeap> | each new universe that cojoin creates is focused on the original value and should have the "neighborhood" you would expect. |
2022-05-02 04:58:47 +0200 | td_ | (~td@94.134.91.69) (Ping timeout: 240 seconds) |
2022-05-02 04:59:20 +0200 | <hololeap> | so for cellular automata, like conway's game of life, cojoin would create a new grid for every cell that is focused on that respective cell. this allows you to make a calculation for every cell that takes into account that cell's unique perspective. for instance, how many of its neighbors are alive |
2022-05-02 04:59:59 +0200 | <kannon> | apologies hololeap , what would you type in ghci to implement rule at bottom of paste? https://paste.tomsmeding.com/KpdkO4K6 |
2022-05-02 05:00:46 +0200 | td_ | (~td@94.134.91.43) |
2022-05-02 05:01:10 +0200 | <hololeap> | oh, it would be '(uni =>> rule) :: U Bool' |
2022-05-02 05:02:45 +0200 | <hololeap> | not quite, actually, because uni is 'U Int', and rule seems to want 'U Bool' |
2022-05-02 05:03:12 +0200 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 272 seconds) |
2022-05-02 05:03:46 +0200 | <kannon> | :t (gg =>> rule) |
2022-05-02 05:03:47 +0200 | <lambdabot> | error: |
2022-05-02 05:03:47 +0200 | <lambdabot> | • Variable not in scope: gg |
2022-05-02 05:03:48 +0200 | <lambdabot> | • Perhaps you meant ‘g’ (imported from Debug.SimpleReflect) |
2022-05-02 05:04:14 +0200 | <hololeap> | lambdabot doesn't know any of those definitions |
2022-05-02 05:04:26 +0200 | <kannon> | sorry using irssi . looks just like the interpreter! |
2022-05-02 05:05:30 +0200 | <kannon> | I understand the program, but the rule is confusing me |
2022-05-02 05:06:11 +0200 | <hololeap> | you could write out a logic table for it |
2022-05-02 05:07:31 +0200 | cyphase | (~cyphase@user/cyphase) |
2022-05-02 05:07:41 +0200 | <kannon> | thanks yeah; can you run it or should I comment out the rule ? |
2022-05-02 05:08:10 +0200 | xff0x_ | (~xff0x@om126234061065.16.openmobile.ne.jp) (Read error: Connection reset by peer) |
2022-05-02 05:08:24 +0200 | <hololeap> | not sure what you mean |
2022-05-02 05:09:30 +0200 | <Axman6> | you might find something like this useful: let s b = if b then "T" else " "; putStrLn $ unlines [unwords [s a, s b, s c,"=>", show rule a b c | a <- [False, True], b <- [False, True], c <- [False, True]] |
2022-05-02 05:09:47 +0200 | <hololeap> | the rule seems pretty arbitrary. for instance, giving it (a=True, b=True, c=False) would yield True, as would (a=True, b=True, c=True) and (a=False, b=False, c=False) |
2022-05-02 05:10:21 +0200 | <hololeap> | so it seems like just some rule that was made up for the sake of it |
2022-05-02 05:10:53 +0200 | <Axman6> | % let rule a b c = not (a && b && not c || (a==b)); s b = if b then "T" else " "; in putStrLn $ unlines [unwords [s a, s b, s c,"=>", show rule a b c | a <- [False, True], b <- [False, True], c <- [False, True]] |
2022-05-02 05:11:12 +0200 | <Axman6> | oh no, no yahb! |
2022-05-02 05:11:51 +0200 | <jackdk> | @botsnack at least we still have lambdabot |
2022-05-02 05:11:51 +0200 | <lambdabot> | :) |
2022-05-02 05:12:32 +0200 | <hololeap> | I used comonads to solve this: https://www.hackerrank.com/challenges/the-tree-of-life/problem |
2022-05-02 05:12:39 +0200 | <Axman6> | > let rule a b c = not (a && b && not c || (a==b)); s b = if b then "T" else " " in text $ unlines [unwords [s a, s b, s c,"=>", show (rule a b c) | a <- [False, True], b <- [False, True], c <- [False, True]] |
2022-05-02 05:12:40 +0200 | <lambdabot> | <hint>:1:148: error: parse error on input ‘|’ |
2022-05-02 05:12:55 +0200 | <Axman6> | > let rule a b c = not (a && b && not c || (a==b)); s b = if b then "T" else " " in text $ unlines [unwords [s a, s b, s c,"=>", show (rule a b c)] | a <- [False, True], b <- [False, True], c <- [False, True]] |
2022-05-02 05:12:56 +0200 | <lambdabot> | => False |
2022-05-02 05:12:56 +0200 | <lambdabot> | T => False |
2022-05-02 05:12:56 +0200 | <lambdabot> | T => True |
2022-05-02 05:13:54 +0200 | mbuf | (~Shakthi@171.61.201.63) |
2022-05-02 05:13:57 +0200 | <kannon> | man that is tough. at least I get the cellular automata idea |
2022-05-02 05:14:19 +0200 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 240 seconds) |
2022-05-02 05:17:14 +0200 | tommd | (~tommd@97-120-41-123.ptld.qwest.net) |
2022-05-02 05:17:34 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
2022-05-02 05:19:27 +0200 | cyphase | (~cyphase@user/cyphase) |
2022-05-02 05:20:12 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-05-02 05:24:12 +0200 | xff0x_ | (~xff0x@om126234061065.16.openmobile.ne.jp) |
2022-05-02 05:31:07 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
2022-05-02 05:31:24 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) |
2022-05-02 05:34:33 +0200 | julian | (~julian@20.83.116.49) (Killed (NickServ (GHOST command used by tos9_!~tos9@python/site-packages/Julian))) |
2022-05-02 05:37:10 +0200 | frost | (~frost@user/frost) (Ping timeout: 252 seconds) |
2022-05-02 05:37:12 +0200 | xff0x_ | (~xff0x@om126234061065.16.openmobile.ne.jp) (Read error: Connection reset by peer) |
2022-05-02 05:40:14 +0200 | <kannon> | thanks for helping everyone |
2022-05-02 05:41:53 +0200 | bogart | (~e43921@167.224.152.242) |
2022-05-02 05:46:06 +0200 | bogart | (~e43921@167.224.152.242) (Ping timeout: 246 seconds) |
2022-05-02 05:53:13 +0200 | deadmarshal_ | (~deadmarsh@95.38.117.99) |
2022-05-02 06:04:00 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds) |
2022-05-02 06:04:49 +0200 | uncomfy | (~uncomfy@103.164.146.133) |
2022-05-02 06:07:39 +0200 | kritzefitz | (~kritzefit@debian/kritzefitz) (Ping timeout: 240 seconds) |
2022-05-02 06:08:34 +0200 | kritzefitz | (~kritzefit@debian/kritzefitz) |
2022-05-02 06:09:59 +0200 | [Leary] | (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz) (Remote host closed the connection) |
2022-05-02 06:13:56 +0200 | Buggys | (~Buggys@185.149.90.52) () |
2022-05-02 06:14:46 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
2022-05-02 06:14:59 +0200 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 240 seconds) |
2022-05-02 06:17:10 +0200 | kannon | (~NK@135-180-218-226.fiber.dynamic.sonic.net) (Quit: leaving) |
2022-05-02 06:20:16 +0200 | cyphase | (~cyphase@user/cyphase) |
2022-05-02 06:25:00 +0200 | lawt | (~lawt@2601:200:8200:6870:dea6:32ff:fea1:adf9) (*.net *.split) |
2022-05-02 06:25:00 +0200 | Tisoxin | (~ikosit@user/ikosit) (*.net *.split) |
2022-05-02 06:25:00 +0200 | lagooned | (~lagooned@108-208-149-42.lightspeed.hstntx.sbcglobal.net) (*.net *.split) |
2022-05-02 06:25:00 +0200 | mrkajetanp | (~mrkajetan@2a01:4b00:ea36:6c00:7994:941c:3f5d:2b88) (*.net *.split) |
2022-05-02 06:25:00 +0200 | iphy | (sid67735@id-67735.lymington.irccloud.com) (*.net *.split) |
2022-05-02 06:25:00 +0200 | carbolymer | (~carbolyme@dropacid.net) (*.net *.split) |
2022-05-02 06:25:00 +0200 | piele | (~piele@tbonesteak.creativeserver.net) (*.net *.split) |
2022-05-02 06:25:00 +0200 | Clint | (~Clint@user/clint) (*.net *.split) |
2022-05-02 06:25:00 +0200 | barrucadu | (~barrucadu@carcosa.barrucadu.co.uk) (*.net *.split) |
2022-05-02 06:25:00 +0200 | Vq | (~vq@90-227-195-41-no77.tbcn.telia.com) (*.net *.split) |
2022-05-02 06:25:00 +0200 | dagit | (~dagit@c-24-21-226-72.hsd1.or.comcast.net) (*.net *.split) |
2022-05-02 06:25:00 +0200 | kitzman | (~kitzman@user/dekenevs) (*.net *.split) |
2022-05-02 06:25:00 +0200 | Sqaure | (~a@user/square) (*.net *.split) |
2022-05-02 06:25:00 +0200 | xerox | (~edi@user/edi) (*.net *.split) |
2022-05-02 06:25:00 +0200 | Patternmaster | (~georg@li1192-118.members.linode.com) (*.net *.split) |
2022-05-02 06:25:07 +0200 | Clint | (~Clint@user/clint) |
2022-05-02 06:25:12 +0200 | piele | (~piele@tbonesteak.creativeserver.net) |
2022-05-02 06:25:12 +0200 | Patternmaster | (~georg@li1192-118.members.linode.com) |
2022-05-02 06:25:13 +0200 | carbolymer | (~carbolyme@dropacid.net) |
2022-05-02 06:25:15 +0200 | iphy | (sid67735@id-67735.lymington.irccloud.com) |
2022-05-02 06:25:15 +0200 | xerox | (~edi@user/edi) |
2022-05-02 06:25:22 +0200 | lagooned | (~lagooned@108-208-149-42.lightspeed.hstntx.sbcglobal.net) |
2022-05-02 06:25:24 +0200 | Vq | (~vq@90-227-195-41-no77.tbcn.telia.com) |
2022-05-02 06:25:24 +0200 | barrucadu | (~barrucadu@carcosa.barrucadu.co.uk) |
2022-05-02 06:25:33 +0200 | Square | (~a@user/square) |
2022-05-02 06:25:34 +0200 | mrkajetanp | (~mrkajetan@2a01:4b00:ea36:6c00:7994:941c:3f5d:2b88) |
2022-05-02 06:25:40 +0200 | lawt | (~lawt@2601:200:8200:6870:dea6:32ff:fea1:adf9) |
2022-05-02 06:26:14 +0200 | Tisoxin | (~ikosit@user/ikosit) |
2022-05-02 06:26:51 +0200 | kitzman | (~kitzman@user/dekenevs) |
2022-05-02 06:28:28 +0200 | Deide | (~deide@user/deide) (*.net *.split) |
2022-05-02 06:28:28 +0200 | ishaan[m] | (~ishaanvma@2001:470:69fc:105::1:fb72) (*.net *.split) |
2022-05-02 06:28:28 +0200 | ozataman[m] | (~ozatamanm@2001:470:69fc:105::1:faa0) (*.net *.split) |
2022-05-02 06:28:28 +0200 | vestige[m] | (~vestigema@2001:470:69fc:105::1:f9dd) (*.net *.split) |
2022-05-02 06:28:28 +0200 | Andy[m]12 | (~anparrama@2001:470:69fc:105::1:6826) (*.net *.split) |
2022-05-02 06:28:28 +0200 | Jon | (jon@dow.land) (*.net *.split) |
2022-05-02 06:28:29 +0200 | hendi | (sid489601@id-489601.lymington.irccloud.com) (*.net *.split) |
2022-05-02 06:28:29 +0200 | alanz | (sid110616@id-110616.uxbridge.irccloud.com) (*.net *.split) |
2022-05-02 06:28:29 +0200 | sclv | (sid39734@haskell/developer/sclv) (*.net *.split) |
2022-05-02 06:28:29 +0200 | chessai | (sid225296@id-225296.lymington.irccloud.com) (*.net *.split) |
2022-05-02 06:28:29 +0200 | dyniec | (~dyniec@mail.dybiec.info) (*.net *.split) |
2022-05-02 06:28:29 +0200 | robertm | (robertm@lattice.rojoma.com) (*.net *.split) |
2022-05-02 06:28:29 +0200 | Unhammer | (~Unhammer@user/unhammer) (*.net *.split) |
2022-05-02 06:28:29 +0200 | megeve | (sid523379@id-523379.hampstead.irccloud.com) (*.net *.split) |
2022-05-02 06:28:29 +0200 | hook54321 | (sid149355@user/hook54321) (*.net *.split) |
2022-05-02 06:28:29 +0200 | Christoph[m] | (~hpotsirhc@2001:470:69fc:105::2ff8) (*.net *.split) |
2022-05-02 06:28:29 +0200 | Matthew|m | (~arathorn@2001:470:69fc:105::1f) (*.net *.split) |
2022-05-02 06:28:29 +0200 | jmcantrell | (~jmcantrel@user/jmcantrell) (*.net *.split) |
2022-05-02 06:28:29 +0200 | geoduck | (~X@71.182.184.253) (*.net *.split) |
2022-05-02 06:28:29 +0200 | bcmiller | (~bm3719@66.42.95.185) (*.net *.split) |
2022-05-02 06:28:29 +0200 | df | (~ben@justworks.xyz) (*.net *.split) |
2022-05-02 06:28:29 +0200 | dragestil | (~znc@user/dragestil) (*.net *.split) |
2022-05-02 06:28:29 +0200 | marienz__ | (~marienz@libera/staff/marienz) (*.net *.split) |
2022-05-02 06:28:29 +0200 | tristanC | (~tristanC@user/tristanc) (*.net *.split) |
2022-05-02 06:28:29 +0200 | relrod | (~relrod@redhat/ansible.staff.relrod) (*.net *.split) |
2022-05-02 06:28:29 +0200 | mht-wtf | (~mht@2a03:b0c0:3:e0::1e2:c001) (*.net *.split) |
2022-05-02 06:28:39 +0200 | Jon | (jon@dow.land) |
2022-05-02 06:28:39 +0200 | bcmiller | (~bm3719@66.42.95.185) |
2022-05-02 06:28:41 +0200 | sclv | (sid39734@haskell/developer/sclv) |
2022-05-02 06:28:41 +0200 | df | (~ben@justworks.xyz) |
2022-05-02 06:28:42 +0200 | relrod | (~relrod@redhat/ansible.staff.relrod) |
2022-05-02 06:28:43 +0200 | marienz_ | (marienz@libera/staff/marienz) |
2022-05-02 06:28:45 +0200 | dyniec | (~dyniec@mail.dybiec.info) |
2022-05-02 06:28:46 +0200 | megeve | (sid523379@id-523379.hampstead.irccloud.com) |
2022-05-02 06:28:46 +0200 | chessai | (sid225296@id-225296.lymington.irccloud.com) |
2022-05-02 06:28:46 +0200 | alanz | (sid110616@id-110616.uxbridge.irccloud.com) |
2022-05-02 06:28:48 +0200 | hendi | (sid489601@id-489601.lymington.irccloud.com) |
2022-05-02 06:28:51 +0200 | geoduck | (~X@71.182.184.253) |
2022-05-02 06:28:59 +0200 | tristanC | (~tristanC@user/tristanc) |
2022-05-02 06:29:00 +0200 | robertm | (robertm@lattice.rojoma.com) |
2022-05-02 06:29:01 +0200 | Unhammer | (~Unhammer@user/unhammer) |
2022-05-02 06:29:05 +0200 | mht-wtf | (~mht@2a03:b0c0:3:e0::1e2:c001) |
2022-05-02 06:29:19 +0200 | dragestil | (~znc@user/dragestil) |
2022-05-02 06:29:51 +0200 | hook54321 | (sid149355@user/hook54321) |
2022-05-02 06:30:47 +0200 | king_gs | (~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d) (Ping timeout: 240 seconds) |
2022-05-02 06:30:51 +0200 | jmcantrell | (~jmcantrel@user/jmcantrell) |
2022-05-02 06:31:01 +0200 | Matthew|m | (~arathorn@2001:470:69fc:105::1f) |
2022-05-02 06:31:02 +0200 | Christoph[m] | (~hpotsirhc@2001:470:69fc:105::2ff8) |
2022-05-02 06:31:57 +0200 | Andy[m]12 | (~anparrama@2001:470:69fc:105::1:6826) |
2022-05-02 06:32:44 +0200 | uncomfy | (~uncomfy@103.164.146.133) (Quit: uncomfy) |
2022-05-02 06:33:02 +0200 | [Leary] | (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz) |
2022-05-02 06:33:44 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2022-05-02 06:34:12 +0200 | vestige[m] | (~vestigema@2001:470:69fc:105::1:f9dd) |
2022-05-02 06:34:23 +0200 | ishaan[m] | (~ishaanvma@2001:470:69fc:105::1:fb72) |
2022-05-02 06:34:32 +0200 | ozataman[m] | (~ozatamanm@2001:470:69fc:105::1:faa0) |
2022-05-02 06:34:59 +0200 | Deide | (~deide@user/deide) |
2022-05-02 06:35:28 +0200 | cdman | (~dcm@27.2.217.184) |
2022-05-02 06:35:28 +0200 | cdman | (~dcm@27.2.217.184) (Changing host) |
2022-05-02 06:35:28 +0200 | cdman | (~dcm@user/dmc/x-4369397) |
2022-05-02 06:37:21 +0200 | coot | (~coot@213.134.190.95) |
2022-05-02 06:39:16 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2022-05-02 06:45:26 +0200 | benin | (~benin@183.82.204.110) |
2022-05-02 06:50:42 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::aa1d) (Ping timeout: 250 seconds) |
2022-05-02 06:57:20 +0200 | jargon | (~jargon@174-22-206-112.phnx.qwest.net) (Remote host closed the connection) |
2022-05-02 06:59:04 +0200 | nut | (~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2022-05-02 07:02:07 +0200 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2022-05-02 07:05:19 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2022-05-02 07:05:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-05-02 07:06:12 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 240 seconds) |
2022-05-02 07:07:18 +0200 | king_gs | (~Thunderbi@187.201.77.157) |
2022-05-02 07:08:02 +0200 | gentauro | (~gentauro@user/gentauro) |
2022-05-02 07:15:53 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-05-02 07:27:58 +0200 | king_gs | (~Thunderbi@187.201.77.157) (Read error: Connection reset by peer) |
2022-05-02 07:28:53 +0200 | king_gs | (~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d) |
2022-05-02 07:29:40 +0200 | king_gs | (~Thunderbi@2806:103e:29:1f3f:8da7:e5:2a3:824d) (Client Quit) |
2022-05-02 07:31:51 +0200 | michalz | (~michalz@185.246.204.126) |
2022-05-02 07:33:27 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-05-02 07:38:36 +0200 | gpncarl | (~gpncarl@120.244.220.74) |
2022-05-02 07:43:56 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) |
2022-05-02 07:47:09 +0200 | julian | (~julian@20.83.116.49) |
2022-05-02 07:51:03 +0200 | <juhp[m]> | Can anyone give me some clues about this cabal build failure: https://download.copr.fedorainfracloud.org/results/petersen/cabal-install/fedora-rawhide-x86_64/04… (5kB)? It's been driving me round the bend... |
2022-05-02 07:52:01 +0200 | <juhp[m]> | Basically I am trying to build cabal-install (with cabal-install) and it keeps failing silently on resolv during configure apparently (I can't reproduce it locally) |
2022-05-02 07:52:33 +0200 | <juhp[m]> | I may try with a newer cabal-install version... |
2022-05-02 07:54:57 +0200 | <juhp[m]> | Actually trying again now locally it fails on network for me... |
2022-05-02 07:55:23 +0200 | <juhp[m]> | cabal: Failed to build network-3.1.2.7 (which is required by exe:cabal ... |
2022-05-02 07:57:13 +0200 | <juhp[m]> | What does error 77 mean? |
2022-05-02 08:02:03 +0200 | noiobeforebed | (~noiobefor@2001:470:69fc:105::1:3c2d) (Quit: Reconnecting) |
2022-05-02 08:02:17 +0200 | noiobeforebed | (~noiobefor@2001:470:69fc:105::1:3c2d) |
2022-05-02 08:05:05 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2022-05-02 08:09:32 +0200 | inversed | (~inversed@94.13.111.159) (Quit: Connection error?!) |
2022-05-02 08:13:20 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 260 seconds) |
2022-05-02 08:15:57 +0200 | gpncarl | (~gpncarl@120.244.220.74) (Ping timeout: 276 seconds) |
2022-05-02 08:16:23 +0200 | inversed | (~inversed@94.13.111.159) |
2022-05-02 08:16:25 +0200 | gpncarl | (~gpncarl@120.244.220.74) |
2022-05-02 08:20:55 +0200 | gpncarl | (~gpncarl@120.244.220.74) (Ping timeout: 260 seconds) |
2022-05-02 08:32:02 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-05-02 08:37:36 +0200 | <[exa]> | juhp[m]: the error message is the same when it fails for network? |
2022-05-02 08:37:58 +0200 | <[exa]> | I'm a bit scared by the mention of RPM there |
2022-05-02 08:38:38 +0200 | <juhp[m]> | yes basically the same |
2022-05-02 08:39:13 +0200 | <juhp[m]> | The failure occurred during the configure step. The build process terminated with exit code 77 |
2022-05-02 08:39:16 +0200 | <[exa]> | are there any leftover logs or environment? |
2022-05-02 08:39:28 +0200 | nut | (~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 250 seconds) |
2022-05-02 08:39:32 +0200 | <[exa]> | would be nice to see what's the python thing doing there |
2022-05-02 08:39:43 +0200 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2022-05-02 08:39:57 +0200 | <juhp[m]> | Even with cabal install -v not much of interest |
2022-05-02 08:41:03 +0200 | mmhat | (~mmh@2001:4090:a242:802a:ee08:6bff:fe09:5315) |
2022-05-02 08:41:15 +0200 | <[exa]> | does 'resolv' build when you try to source it and install it from standalone source? (there you might have better chances to find the offending piece of code) |
2022-05-02 08:41:43 +0200 | <juhp[m]> | Well I think the final python error from mock (that is the chroot tool Fedora uses for building) can be ignored it allows appears when there is a failure - it doesn't provide interesting info :-) |
2022-05-02 08:41:55 +0200 | <juhp[m]> | s/allows/always/ |
2022-05-02 08:42:17 +0200 | <[exa]> | ._. pythons |
2022-05-02 08:42:25 +0200 | <juhp[m]> | Yeah let me try a bit more... |
2022-05-02 08:42:53 +0200 | <juhp[m]> | I just thought maybe someone had run into this before - but not so common perhaps |
2022-05-02 08:43:04 +0200 | <[exa]> | cabal get resolv; cd resolv-...; cabal configure; cabal build |
2022-05-02 08:43:18 +0200 | <[exa]> | I'm not on fedora and it builds awright |
2022-05-02 08:44:17 +0200 | <juhp[m]> | same here on Fedora |
2022-05-02 08:45:25 +0200 | <[exa]> | grep 77 errno.h ---> #define EBADFD 77 /* File descriptor in bad state */ |
2022-05-02 08:45:26 +0200 | <juhp[m]> | I don't think the problem is with resolv or network but some kind of build environment issue |
2022-05-02 08:45:45 +0200 | <juhp[m]> | Let me try with Fedora 35 |
2022-05-02 08:45:56 +0200 | <juhp[m]> | Yea I since found that too |
2022-05-02 08:46:07 +0200 | acidjnk | (~acidjnk@p200300d0c7033b32307b3d9e83ffd4d4.dip0.t-ipconnect.de) |
2022-05-02 08:46:27 +0200 | <juhp[m]> | Appreciate the help :-) |
2022-05-02 08:47:00 +0200 | <[exa]> | how's your /tmp mounted? |
2022-05-02 08:48:22 +0200 | <[exa]> | ah that's by the mock thing |
2022-05-02 08:49:28 +0200 | raym | (~raym@user/raym) (Ping timeout: 248 seconds) |
2022-05-02 08:50:08 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:aa56:2922:80a8:95ed) |
2022-05-02 08:50:18 +0200 | <[exa]> | btw recovering config.log would help a lot I guess |
2022-05-02 08:50:56 +0200 | <[exa]> | from what's in the configure script, I guess you might either have "C compiler can't make executables" or "can't compute sizeof(struct __res_state)" |
2022-05-02 08:55:06 +0200 | gpncarl | (~gpncarl@120.244.220.74) |
2022-05-02 08:56:24 +0200 | drdo | (~drdo@roach0.drdo.eu) (Quit: Ping timeout (120 seconds)) |
2022-05-02 08:56:30 +0200 | raoul | (~raoul@95.179.203.88) (Quit: Ping timeout (120 seconds)) |
2022-05-02 08:56:32 +0200 | bbear | (~znc@21212.s.t4vps.eu) (Quit: ZNC 1.7.4 - https://znc.in) |
2022-05-02 08:56:35 +0200 | drdo | (~drdo@roach0.drdo.eu) |
2022-05-02 08:56:47 +0200 | bbear | (~znc@21212.s.t4vps.eu) |
2022-05-02 08:56:51 +0200 | raoul | (~raoul@95.179.203.88) |
2022-05-02 08:57:33 +0200 | thaumavorio | (~thaumavor@thaumavor.io) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-05-02 08:57:33 +0200 | alp_ | (~alp@user/alp) |
2022-05-02 08:58:22 +0200 | thaumavorio | (~thaumavor@thaumavor.io) |
2022-05-02 08:59:00 +0200 | tchakka | (~tchakkazu@static-47-180-28-65.lsan.ca.frontiernet.net) (Ping timeout: 240 seconds) |
2022-05-02 08:59:24 +0200 | df | (~ben@justworks.xyz) (Ping timeout: 240 seconds) |
2022-05-02 08:59:24 +0200 | Logio | (em@kapsi.fi) (Ping timeout: 240 seconds) |
2022-05-02 08:59:33 +0200 | Logio | (em@kapsi.fi) |
2022-05-02 08:59:37 +0200 | df | (~ben@justworks.xyz) |
2022-05-02 09:01:06 +0200 | chele | (~chele@user/chele) |
2022-05-02 09:02:37 +0200 | abastro | (~abab9579@192.249.26.201) |
2022-05-02 09:08:55 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-05-02 09:10:20 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-05-02 09:16:16 +0200 | Pickchea | (~private@user/pickchea) |
2022-05-02 09:19:45 +0200 | mncheck | (~mncheck@193.224.205.254) |
2022-05-02 09:22:19 +0200 | ccntrq | (~Thunderbi@2a01:e34:eccb:b060:2d0b:56d2:55c6:6429) |
2022-05-02 09:27:38 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2022-05-02 09:29:45 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 260 seconds) |
2022-05-02 09:30:39 +0200 | joeyh | (joeyh@kitenet.net) (Ping timeout: 260 seconds) |
2022-05-02 09:30:46 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-05-02 09:33:56 +0200 | abastro | (~abab9579@192.249.26.201) (Remote host closed the connection) |
2022-05-02 09:35:57 +0200 | raym | (~raym@user/raym) |
2022-05-02 09:37:42 +0200 | coot | (~coot@213.134.190.95) |
2022-05-02 09:39:09 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-02 09:40:39 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2022-05-02 09:41:00 +0200 | raym | (~raym@user/raym) (Remote host closed the connection) |
2022-05-02 09:47:47 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2022-05-02 09:50:43 +0200 | sphynx | (~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288) (Ping timeout: 260 seconds) |
2022-05-02 09:52:25 +0200 | <hgolden> | the haskell wiki is down. i am working on fixing its configuration. |
2022-05-02 09:55:57 +0200 | sphynx | (~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288) |
2022-05-02 09:56:22 +0200 | raym | (~raym@user/raym) |
2022-05-02 09:58:20 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 272 seconds) |
2022-05-02 10:00:33 +0200 | raym | (~raym@user/raym) (Ping timeout: 246 seconds) |
2022-05-02 10:01:07 +0200 | sprout | (~quassel@2a02-a467-ccd6-1-c813-76d4-6151-9389.fixed6.kpn.net) (Ping timeout: 240 seconds) |
2022-05-02 10:01:30 +0200 | sprout | (~quassel@2a02-a467-ccd6-1-c813-76d4-6151-9389.fixed6.kpn.net) |
2022-05-02 10:05:29 +0200 | mmhat | (~mmh@2001:4090:a242:802a:ee08:6bff:fe09:5315) (Quit: WeeChat 3.5) |
2022-05-02 10:05:43 +0200 | neceve | (~quassel@2.29.116.221) |
2022-05-02 10:05:48 +0200 | tommd | (~tommd@97-120-41-123.ptld.qwest.net) (Ping timeout: 276 seconds) |
2022-05-02 10:06:34 +0200 | sprout | (~quassel@2a02-a467-ccd6-1-c813-76d4-6151-9389.fixed6.kpn.net) (Ping timeout: 250 seconds) |
2022-05-02 10:08:10 +0200 | mmhat | (~mmh@2001:4090:a242:802a:ee08:6bff:fe09:5315) |
2022-05-02 10:11:10 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) (Ping timeout: 260 seconds) |
2022-05-02 10:11:18 +0200 | abastro | (~abab9579@192.249.26.201) |
2022-05-02 10:11:45 +0200 | raym | (~raym@user/raym) |
2022-05-02 10:12:30 +0200 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) |
2022-05-02 10:14:12 +0200 | nut | (~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2022-05-02 10:15:18 +0200 | Pickchea | (~private@user/pickchea) |
2022-05-02 10:19:19 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2022-05-02 10:20:48 +0200 | gurkenglas | (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) |
2022-05-02 10:21:40 +0200 | abastro | (~abab9579@192.249.26.201) (Remote host closed the connection) |
2022-05-02 10:23:53 +0200 | [Leary] | (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz) (Remote host closed the connection) |
2022-05-02 10:24:45 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.4.1) |
2022-05-02 10:24:59 +0200 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 240 seconds) |
2022-05-02 10:27:17 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2022-05-02 10:28:05 +0200 | jgeerds | (~jgeerds@d53604b0.access.ecotel.net) |
2022-05-02 10:31:06 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2022-05-02 10:31:28 +0200 | [Leary] | (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz) |
2022-05-02 10:34:38 +0200 | nschoe | (~quassel@178.251.84.79) |
2022-05-02 10:35:01 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.4.1) |
2022-05-02 10:35:04 +0200 | Zemyla | (~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com) (Ping timeout: 248 seconds) |
2022-05-02 10:35:12 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2022-05-02 10:38:40 +0200 | eggplantade | (~Eggplanta@108.201.191.115) (Remote host closed the connection) |
2022-05-02 10:40:27 +0200 | shriekingnoise | (~shrieking@201.231.16.156) (Quit: Quit) |
2022-05-02 10:41:58 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2022-05-02 10:42:18 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-05-02 10:42:45 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.4.1) |
2022-05-02 10:43:13 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2022-05-02 10:46:11 +0200 | <juhp[m]> | [exa] right - I got it to build fine on current Fedora 35 - my suspicion is somehow it might be running out of FDs on Fedora 36... hmm |
2022-05-02 10:46:33 +0200 | <juhp[m]> | good point |
2022-05-02 10:47:23 +0200 | <juhp[m]> | anyway ya looks like this is a Fedora issue :( |
2022-05-02 10:48:10 +0200 | zeenk | (~zeenk@2a02:2f04:a004:9b00:1efc:c1cf:378d:8b3d) |
2022-05-02 10:49:26 +0200 | mastarija | (~mastarija@2a05:4f46:e04:6000:b03f:f8ad:9bc1:4a97) |
2022-05-02 10:50:38 +0200 | <mastarija> | is there a way to load module in repl as qualified? |
2022-05-02 10:50:48 +0200 | <mastarija> | e.g. :m + Data.Map as M |
2022-05-02 10:52:00 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 260 seconds) |
2022-05-02 10:52:08 +0200 | frost | (~frost@user/frost) |
2022-05-02 10:53:05 +0200 | <Taneb> | mastarija: you can use "import qualified Data.Map as M" in the repl |
2022-05-02 10:53:15 +0200 | <mastarija> | oh... |
2022-05-02 10:53:28 +0200 | <juhp[m]> | [exa]: you are right: checking whether the C compiler works... no |
2022-05-02 10:53:32 +0200 | <mastarija> | I've never tried that |
2022-05-02 10:53:46 +0200 | <Taneb> | mastarija: it didn't use to be the case so if you're using an old guide it might not suggest it |
2022-05-02 10:57:43 +0200 | hrdl | (~hrdl@mail.hrdl.eu) (Quit: leaving) |
2022-05-02 10:58:29 +0200 | <juhp[m]> | juhp: Likely something to do with gcc12 |
2022-05-02 11:02:20 +0200 | hrdl | (~hrdl@mail.hrdl.eu) |
2022-05-02 11:05:52 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2022-05-02 11:06:14 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-05-02 11:08:28 +0200 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) |
2022-05-02 11:08:40 +0200 | ajb | (~ajb@mimas.whatbox.ca) (Remote host closed the connection) |
2022-05-02 11:12:48 +0200 | xff0x_ | (~xff0x@om126234061065.16.openmobile.ne.jp) |
2022-05-02 11:15:03 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2022-05-02 11:17:57 +0200 | gpncarl | (~gpncarl@120.244.220.74) (Ping timeout: 276 seconds) |
2022-05-02 11:18:37 +0200 | gpncarl | (~gpncarl@120.244.220.74) |
2022-05-02 11:19:08 +0200 | cfricke | (~cfricke@user/cfricke) |
2022-05-02 11:20:49 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-05-02 11:22:16 +0200 | <juhp[m]> | Ah I think it worked it out - some new toolkit stuff in F36 |
2022-05-02 11:22:17 +0200 | <juhp[m]> | toolchain |
2022-05-02 11:22:53 +0200 | <juhp[m]> | probably LTO |
2022-05-02 11:23:04 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
2022-05-02 11:23:26 +0200 | <juhp[m]> | actually dunno what |
2022-05-02 11:24:29 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-05-02 11:24:45 +0200 | anomal | (~anomal@87.227.196.109) |
2022-05-02 11:24:49 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:aa56:2922:80a8:95ed) (Quit: WeeChat 2.8) |
2022-05-02 11:25:56 +0200 | gpncarl | (~gpncarl@120.244.220.74) (Ping timeout: 248 seconds) |
2022-05-02 11:26:00 +0200 | gpncarl_ | (~gpncarl@120.244.220.74) |
2022-05-02 11:27:32 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.5) |
2022-05-02 11:28:20 +0200 | __monty__ | (~toonn@user/toonn) |
2022-05-02 11:29:55 +0200 | acidjnk | (~acidjnk@p200300d0c7033b32307b3d9e83ffd4d4.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-05-02 11:35:30 +0200 | jespada | (~jespada@194.37.96.110) (Ping timeout: 276 seconds) |
2022-05-02 11:35:50 +0200 | jespada | (~jespada@146.70.119.87) |
2022-05-02 11:39:22 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-05-02 11:43:42 +0200 | MajorBiscuit | (~MajorBisc@145.94.235.5) |
2022-05-02 11:43:51 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2022-05-02 11:46:00 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 248 seconds) |
2022-05-02 11:46:40 +0200 | ridcully | (~ridcully@pd951f433.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2022-05-02 11:51:30 +0200 | CiaoSen | (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-05-02 11:53:03 +0200 | gpncarl_ | (~gpncarl@120.244.220.74) (Ping timeout: 276 seconds) |
2022-05-02 11:53:24 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 240 seconds) |
2022-05-02 11:54:35 +0200 | ridcully | (~ridcully@p57b52a1f.dip0.t-ipconnect.de) |
2022-05-02 11:56:55 +0200 | meinside | (uid24933@id-24933.helmsley.irccloud.com) |
2022-05-02 11:57:06 +0200 | coot | (~coot@213.134.190.95) |
2022-05-02 11:57:26 +0200 | <gurkenglas> | How annoying that ~ I have only one neuron for the concept of negation, so I have to split any statement involving multiple negations into parts before I can understand it. |
2022-05-02 12:00:13 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) |
2022-05-02 12:03:27 +0200 | <gurkenglas> | also that "exists forall" is different from "forall exists", so I can't just run pattern recognition on the bag of words in a statement. I think what I do instead is pattern recognition against both of those quoted phrases in parallel, is there some better way? Perhaps a language that replaces them with two separate words. |
2022-05-02 12:05:24 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 248 seconds) |
2022-05-02 12:05:49 +0200 | <gurkenglas> | i think the desire to do bag-of-words also underlies being drawn towards pointless style |
2022-05-02 12:07:19 +0200 | <gurkenglas> | yeah probably what you do in general is, any time the same bag of words can be assembled into two different things, you name those two things to distinguish them. |
2022-05-02 12:08:27 +0200 | <gurkenglas> | what are some examples of lines of code that can be rearranged for a different meaning? |
2022-05-02 12:09:41 +0200 | <int-e> | natural languages already have the property that order matters |
2022-05-02 12:10:18 +0200 | <int-e> | love triangle (drama). triangle love (nerdy). |
2022-05-02 12:10:45 +0200 | CiaoSen | (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-05-02 12:11:20 +0200 | <gurkenglas> | natural languages aren't intelligently designed, they descend gradients |
2022-05-02 12:11:58 +0200 | <int-e> | yoda funny also because this of |
2022-05-02 12:12:26 +0200 | <gurkenglas> | and yet understandable because we can pattern-match by bag-of-words |
2022-05-02 12:12:50 +0200 | <int-e> | well, order-dependence isn't a sign of absence of intelligent design |
2022-05-02 12:12:52 +0200 | int-e | shrugs |
2022-05-02 12:13:15 +0200 | <gurkenglas> | jsut as you can raed tihs setnence wihtout too mcuh toruble |
2022-05-02 12:13:47 +0200 | <tdammers> | there's a lot more to natural language than just packing quantifyable objective information into a data stream |
2022-05-02 12:14:12 +0200 | Midjak | (~Midjak@82.66.147.146) |
2022-05-02 12:14:39 +0200 | <gurkenglas> | I'm gonna venture a guess that dyslexics are those who are too far in bag-of-words mode |
2022-05-02 12:15:00 +0200 | <int-e> | aside... if you had the power to process two negations that would be enough for arbitrary boolean circuits... |
2022-05-02 12:15:13 +0200 | <tdammers> | Also: order dependence varies between languages. Word order matters a lot more in English than it does in Latin, for example. |
2022-05-02 12:15:24 +0200 | <gurkenglas> | int-e: I responded with the intelligent-design line because it sounded that you were arguing that order-dependence is good because it is natural |
2022-05-02 12:16:38 +0200 | <int-e> | gurkenglas: I wasn't judging. I'm saying it's not very hard to comprehend because of that... well, assuming your native tongue does that. |
2022-05-02 12:17:00 +0200 | <int-e> | "it" being order-dependence |
2022-05-02 12:17:05 +0200 | <gurkenglas> | I wonder how hard sentences become to understand if we sort their words alphabetically |
2022-05-02 12:17:15 +0200 | <int-e> | (comprehending "it" is hard... I should use "it" less) |
2022-05-02 12:17:15 +0200 | efertone | (~efertone@user/efertone) (Ping timeout: 260 seconds) |
2022-05-02 12:17:26 +0200 | <gurkenglas> | pointfree style! :) |
2022-05-02 12:18:45 +0200 | <gurkenglas> | I agree that brains manage to overcome order-dependence, and argue that we may have a much easier time if we made the need rarer |
2022-05-02 12:20:11 +0200 | <gurkenglas> | Contrived example: (*2) . (+1) vs (+1) . (*2). Are there ones outside arithmetic? |
2022-05-02 12:20:23 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2022-05-02 12:20:24 +0200 | <int-e> | I don't think you can do that with logic. Supporting evidence comes in the form of Ehrenfeucht-Fraisse games, where, obviously, reordering the moves by the different players can easily change the status (winning or losing) of the game. |
2022-05-02 12:20:53 +0200 | <gurkenglas> | I remember that Ehrenfeucht-Fraisse games suck and you try to hide them behind lemmata like with unsafePerformIO |
2022-05-02 12:20:58 +0200 | <gurkenglas> | Perhaps for that reason |
2022-05-02 12:21:42 +0200 | mastarija | (~mastarija@2a05:4f46:e04:6000:b03f:f8ad:9bc1:4a97) (Quit: Leaving) |
2022-05-02 12:22:00 +0200 | <int-e> | I suppose you can do silly things like roman numerals (which /could/ be order-independent except for the weird convention of writing IV for IIII (and IX, XL, etc.) |
2022-05-02 12:23:03 +0200 | <gurkenglas> | I imagine that's because you need to match against IIII in parallel to matching against III in any case, so the IIII might as well be IV |
2022-05-02 12:23:16 +0200 | <tdammers> | You can trivially turn anything into an order-independent representation by assigning an ordinal to every order-dependent step, and then pairing them up |
2022-05-02 12:23:43 +0200 | <gurkenglas> | tdammers: that may well be how brains solve the issue |
2022-05-02 12:23:57 +0200 | <int-e> | Fascinating as this may be, what does this have to do with Haskell anyway? |
2022-05-02 12:24:32 +0200 | <gurkenglas> | The initial despair is one I expect to pop up a lot in the kind of people who code Haskell! |
2022-05-02 12:24:39 +0200 | <gurkenglas> | Boolean blindness is a concept I encountered here |
2022-05-02 12:25:00 +0200 | <int-e> | Haskell is *very* order-dependent. |
2022-05-02 12:25:00 +0200 | xff0x_ | (~xff0x@om126234061065.16.openmobile.ne.jp) (Read error: Connection reset by peer) |
2022-05-02 12:25:12 +0200 | <int-e> | > ((-) 1 2, (-) 2 1) |
2022-05-02 12:25:13 +0200 | <gurkenglas> | Do you have an example less contrived than my arithmetic one? |
2022-05-02 12:25:14 +0200 | <lambdabot> | (-1,1) |
2022-05-02 12:25:49 +0200 | <gurkenglas> | Maybe it'll turn out that non-contrived examples tend to instantiate the words at different types in different orders, so that you can do bag-of-words so long as you equip each word with its type |
2022-05-02 12:26:26 +0200 | <gurkenglas> | which sounds better than ordinals because you don't have to keep repeating it for every offset to call 0 |
2022-05-02 12:26:28 +0200 | <int-e> | Even for composition... f . g != g . f is the normal case, not the exception |
2022-05-02 12:27:17 +0200 | <gurkenglas> | Yes, give some example of that please. I can see reverse . (0:) but that still feels somewhat contrived (though less than the arithmetic one) |
2022-05-02 12:27:18 +0200 | <int-e> | (in many cases where f . g works, g . f isn't even well-typed) |
2022-05-02 12:27:24 +0200 | <__monty__> | Or the difference between `id const` and `const id`. |
2022-05-02 12:27:32 +0200 | abastro | (~abab9579@192.249.26.201) |
2022-05-02 12:27:33 +0200 | <gurkenglas> | That's fine, if one isn't well-typed it won't match the bag |
2022-05-02 12:28:11 +0200 | <gurkenglas> | __monty__: even that I would call fine, because `id const` is just `id` so you wouldn't write it except perhaps to trick someone into seeing `const id` :D |
2022-05-02 12:28:40 +0200 | <__monty__> | id const = const /= id |
2022-05-02 12:29:11 +0200 | <gurkenglas> | um, right, yes. shame on me except at least i saw correctly that it's trivially reducible |
2022-05-02 12:29:13 +0200 | <__monty__> | As your bag of words gets bigger there'll be more and more well typed possible configurations. |
2022-05-02 12:29:55 +0200 | <gurkenglas> | __monty__: I think so too! And yet I can't actually think of a nice small example, which may be a hint that those tend to get names |
2022-05-02 12:30:37 +0200 | <gurkenglas> | And if those tend to get names that you use to reduce larger bags, maybe a good place for the language to be is when every reduced bag has one well-typed configuration |
2022-05-02 12:31:15 +0200 | <int-e> | gurkenglas: https://paste.debian.net/1239661/ |
2022-05-02 12:31:24 +0200 | <gurkenglas> | Compare to associativity, which is a really good property because it lets us do sequence-of-words instead of tree-of-words |
2022-05-02 12:31:40 +0200 | <int-e> | (I was too lazy to tokenize properly, so some small parts are actually intact) |
2022-05-02 12:32:29 +0200 | yauhsien | (~yauhsien@61-231-62-54.dynamic-ip.hinet.net) |
2022-05-02 12:32:54 +0200 | <gurkenglas> | int-e: that sure has a lot of points! |
2022-05-02 12:33:48 +0200 | <gurkenglas> | What is this example trying to show? |
2022-05-02 12:34:11 +0200 | <int-e> | what you get when you treat Haskell as a bag of words |
2022-05-02 12:34:21 +0200 | sprout | (~quassel@2a02-a45f-f170-1-ec22-a3b5-d794-656b.fixed6.kpn.net) |
2022-05-02 12:34:33 +0200 | <gurkenglas> | Oh yeah dangit I just now noticed the similarity to "sort alphabetically" |
2022-05-02 12:34:51 +0200 | <int-e> | it's safe to say that all meaning is lost (except maybe, that it's something with decimal representations of numbers) |
2022-05-02 12:35:18 +0200 | <gurkenglas> | you should have preserved the parenthesis-bubbles |
2022-05-02 12:35:25 +0200 | deadmarshal_ | (~deadmarsh@95.38.117.99) (Ping timeout: 256 seconds) |
2022-05-02 12:35:41 +0200 | <gurkenglas> | you're allowed to move a parentheses-subterm around inside its parent, and its children inside it, but nothing crosses in or out |
2022-05-02 12:35:42 +0200 | <int-e> | so... now you want an unordered tree instead? |
2022-05-02 12:35:53 +0200 | sprout | (~quassel@2a02-a45f-f170-1-ec22-a3b5-d794-656b.fixed6.kpn.net) (Client Quit) |
2022-05-02 12:36:06 +0200 | <gurkenglas> | you can flatten it into a single bag but then you should remove all the parentheses |
2022-05-02 12:36:08 +0200 | <int-e> | anyway, I think I've humored this enough... /me out |
2022-05-02 12:37:24 +0200 | yauhsien | (~yauhsien@61-231-62-54.dynamic-ip.hinet.net) (Ping timeout: 248 seconds) |
2022-05-02 12:37:40 +0200 | <gurkenglas> | While trying to parse your paste at one point I thought you were using some sort of unusual-fix notation :D |
2022-05-02 12:38:11 +0200 | <int-e> | All I did was putStrLn . unwords . sort . words =<< readFile "Foo.hs" |
2022-05-02 12:38:45 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) (Ping timeout: 260 seconds) |
2022-05-02 12:39:16 +0200 | <int-e> | incidentally, sort . unwords . words would have produced an entirely different result |
2022-05-02 12:39:17 +0200 | <gurkenglas> | makes sense, not your fault words has no special treatment for parentheses |
2022-05-02 12:39:40 +0200 | <gurkenglas> | int-e: yes but fortunately unwords . words is reducible |
2022-05-02 12:39:53 +0200 | <gurkenglas> | (except for that it actually isn't :( ) |
2022-05-02 12:40:33 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-05-02 12:40:37 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) |
2022-05-02 12:42:56 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-05-02 12:43:34 +0200 | <gurkenglas> | I concede that list manipulation is order-dependent, much like lists. I can only go "lists considered harmful" about it :P |
2022-05-02 12:45:42 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 276 seconds) |
2022-05-02 12:45:45 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2022-05-02 12:45:46 +0200 | CiaoSen | (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-05-02 12:46:21 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 276 seconds) |
2022-05-02 12:46:29 +0200 | <gurkenglas> | (related: language models based on the transformer architecture are an order-independent approach with position-information tacked on! :) ) |
2022-05-02 12:47:37 +0200 | <gurkenglas> | one example of the kind of order-dependence that might be less bad if you tack on type-information: fmap fmap vs. fmap fmap |
2022-05-02 12:48:27 +0200 | Lord_of_Life_ | Lord_of_Life |
2022-05-02 12:51:18 +0200 | frost | (~frost@user/frost) (Quit: Ping timeout (120 seconds)) |
2022-05-02 12:51:35 +0200 | frost | (~frost@user/frost) |
2022-05-02 12:56:45 +0200 | zyklotomic | (~ethan@res380d-128-61-87-118.res.gatech.edu) (Ping timeout: 276 seconds) |
2022-05-02 12:57:57 +0200 | zyklotomic | (~ethan@res380d-128-61-86-31.res.gatech.edu) |
2022-05-02 13:01:35 +0200 | abastro | (~abab9579@192.249.26.201) (Remote host closed the connection) |
2022-05-02 13:06:00 +0200 | kimjetwav | (~user@2607:fea8:2362:b400:7bd6:bcaf:2d52:3bbf) (Remote host closed the connection) |
2022-05-02 13:08:27 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer) |
2022-05-02 13:08:54 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) |
2022-05-02 13:09:14 +0200 | deadmarshal_ | (~deadmarsh@95.38.117.99) |
2022-05-02 13:09:57 +0200 | <Bulby[m]> | What is the correct way to allow opt in deriving of a class? |
2022-05-02 13:10:10 +0200 | Bulby[m] | sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/636336d321caccde299f06b79cef9525bf0d… |
2022-05-02 13:11:34 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2022-05-02 13:11:49 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-02 13:13:27 +0200 | ajb | (~ajb@mimas.whatbox.ca) |
2022-05-02 13:15:30 +0200 | phma | (~phma@host-67-44-208-94.hnremote.net) (Read error: Connection reset by peer) |
2022-05-02 13:16:29 +0200 | phma | (~phma@2001:5b0:211f:ee08:b696:84bd:7df8:f65) |
2022-05-02 13:20:49 +0200 | gpncarl_ | (~gpncarl@120.244.220.74) |
2022-05-02 13:21:00 +0200 | kaph | (~kaph@net-2-42-128-205.cust.vodafonedsl.it) |
2022-05-02 13:24:48 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2022-05-02 13:24:58 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:aa56:2922:80a8:95ed) |
2022-05-02 13:28:41 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-05-02 13:28:47 +0200 | gpncarl | (~gpncarl@120.244.220.74) |
2022-05-02 13:30:14 +0200 | gpncarl_ | (~gpncarl@120.244.220.74) (Ping timeout: 250 seconds) |
2022-05-02 13:33:09 +0200 | jgeerds | (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 276 seconds) |
2022-05-02 13:36:03 +0200 | lbseale | (~quassel@user/ep1ctetus) (Ping timeout: 256 seconds) |
2022-05-02 13:36:11 +0200 | pretty_d1 | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-05-02 13:36:17 +0200 | arjun | (~arjun@user/arjun) |
2022-05-02 13:37:48 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 240 seconds) |
2022-05-02 13:38:58 +0200 | pretty_d1 | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
2022-05-02 13:44:44 +0200 | lbseale | (~quassel@user/ep1ctetus) |
2022-05-02 13:45:33 +0200 | notzmv | (~zmv@user/notzmv) |
2022-05-02 13:46:19 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer) |
2022-05-02 13:49:31 +0200 | abastro | (~abab9579@192.249.26.201) |
2022-05-02 13:52:12 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) |
2022-05-02 13:52:40 +0200 | Simon75 | (~Simon@2001:4ca0:0:f237:81a2:7019:2075:ce94) |
2022-05-02 13:58:37 +0200 | Pickchea | (~private@user/pickchea) |
2022-05-02 14:01:20 +0200 | frost | (~frost@user/frost) (Ping timeout: 252 seconds) |
2022-05-02 14:03:31 +0200 | odnes | (~odnes@5-203-165-110.pat.nym.cosmote.net) |
2022-05-02 14:03:42 +0200 | lbseale | (~quassel@user/ep1ctetus) (Ping timeout: 276 seconds) |
2022-05-02 14:04:14 +0200 | lbseale | (~quassel@user/ep1ctetus) |
2022-05-02 14:06:44 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-02 14:12:00 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-05-02 14:12:19 +0200 | lbseale | (~quassel@user/ep1ctetus) (Ping timeout: 256 seconds) |
2022-05-02 14:13:34 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2022-05-02 14:17:26 +0200 | lbseale | (~quassel@user/ep1ctetus) |
2022-05-02 14:17:53 +0200 | joeyh | (joeyh@kitenet.net) |
2022-05-02 14:19:44 +0200 | Guest64 | (~Guest64@176.89.159.137) |
2022-05-02 14:20:25 +0200 | acidjnk | (~acidjnk@p200300d0c7033b32b80f7c05aa7bf5a6.dip0.t-ipconnect.de) |
2022-05-02 14:20:32 +0200 | Guest64 | (~Guest64@176.89.159.137) (Client Quit) |
2022-05-02 14:20:59 +0200 | xaotuk | (~sasha@2a06:5b00:15fe:9b00::3) |
2022-05-02 14:22:15 +0200 | Simon75 | (~Simon@2001:4ca0:0:f237:81a2:7019:2075:ce94) (Quit: Client closed) |
2022-05-02 14:25:24 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-02 14:26:50 +0200 | oxide | (~lambda@user/oxide) |
2022-05-02 14:27:00 +0200 | lbseale | (~quassel@user/ep1ctetus) (Ping timeout: 250 seconds) |
2022-05-02 14:28:40 +0200 | gpncarl_ | (~gpncarl@120.244.220.74) |
2022-05-02 14:29:24 +0200 | gpncarl | (~gpncarl@120.244.220.74) (Ping timeout: 248 seconds) |
2022-05-02 14:31:24 +0200 | AlexNoo_ | AlexNoo |
2022-05-02 14:35:54 +0200 | lbseale | (~quassel@user/ep1ctetus) |
2022-05-02 14:36:56 +0200 | abastro | (~abab9579@192.249.26.201) (Remote host closed the connection) |
2022-05-02 14:37:28 +0200 | frost | (~frost@user/frost) |
2022-05-02 14:37:42 +0200 | abastro | (~abab9579@192.249.26.201) |
2022-05-02 14:41:08 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-02 14:42:13 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-05-02 14:42:39 +0200 | arjun | (~arjun@user/arjun) (Remote host closed the connection) |
2022-05-02 14:45:11 +0200 | abastro | (~abab9579@192.249.26.201) (Remote host closed the connection) |
2022-05-02 14:45:47 +0200 | abastro | (~abab9579@192.249.26.201) |
2022-05-02 14:47:05 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2022-05-02 14:47:14 +0200 | zebrag | (~chris@user/zebrag) |
2022-05-02 14:48:59 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-05-02 14:49:32 +0200 | coot | (~coot@213.134.190.95) |
2022-05-02 14:50:30 +0200 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Ping timeout: 276 seconds) |
2022-05-02 15:03:34 +0200 | mbuf | (~Shakthi@171.61.201.63) (Quit: Leaving) |
2022-05-02 15:03:59 +0200 | frost | (~frost@user/frost) (Quit: Ping timeout (120 seconds)) |
2022-05-02 15:05:42 +0200 | abastro | (~abab9579@192.249.26.201) (Remote host closed the connection) |
2022-05-02 15:13:44 +0200 | gpncarl | (~gpncarl@120.244.220.74) |
2022-05-02 15:14:09 +0200 | gpncarl_ | (~gpncarl@120.244.220.74) (Ping timeout: 246 seconds) |
2022-05-02 15:18:18 +0200 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2022-05-02 15:18:20 +0200 | acidjnk | (~acidjnk@p200300d0c7033b32b80f7c05aa7bf5a6.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-05-02 15:19:45 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 256 seconds) |
2022-05-02 15:22:07 +0200 | vicfred | (~vicfred@user/vicfred) |
2022-05-02 15:24:50 +0200 | jgeerds | (~jgeerds@d53604b0.access.ecotel.net) |
2022-05-02 15:26:24 +0200 | vicfred | (~vicfred@user/vicfred) (Ping timeout: 246 seconds) |
2022-05-02 15:27:39 +0200 | lbseale | (~quassel@user/ep1ctetus) (Ping timeout: 260 seconds) |
2022-05-02 15:29:40 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
2022-05-02 15:34:58 +0200 | Zemyla | (~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com) |
2022-05-02 15:35:14 +0200 | lbseale | (~quassel@user/ep1ctetus) |
2022-05-02 15:41:09 +0200 | bogart | (~bogart@167.224.152.242) |
2022-05-02 15:42:08 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-05-02 15:44:15 +0200 | gpncarl | (~gpncarl@120.244.220.74) (Ping timeout: 260 seconds) |
2022-05-02 15:44:15 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-05-02 15:45:40 +0200 | bogart | (~bogart@167.224.152.242) (Ping timeout: 248 seconds) |
2022-05-02 15:46:08 +0200 | gpncarl | (~gpncarl@120.244.220.74) |
2022-05-02 15:47:45 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 260 seconds) |
2022-05-02 15:47:54 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-05-02 15:48:24 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-05-02 15:48:24 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-05-02 15:48:24 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-05-02 15:48:55 +0200 | lbseale | (~quassel@user/ep1ctetus) (Ping timeout: 260 seconds) |
2022-05-02 15:49:22 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2022-05-02 15:49:30 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 260 seconds) |
2022-05-02 15:51:12 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-05-02 15:51:41 +0200 | Guest38 | (~Guest38@188.147.98.147.nat.umts.dynamic.t-mobile.pl) |
2022-05-02 15:52:36 +0200 | Guest38 | (~Guest38@188.147.98.147.nat.umts.dynamic.t-mobile.pl) (Client Quit) |
2022-05-02 15:55:22 +0200 | lbseale | (~quassel@user/ep1ctetus) |
2022-05-02 15:57:31 +0200 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-05-02 15:58:28 +0200 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
2022-05-02 15:58:47 +0200 | abastro | (~abab9579@192.249.26.201) |
2022-05-02 16:00:42 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 246 seconds) |
2022-05-02 16:01:08 +0200 | lbseale | (~quassel@user/ep1ctetus) (Ping timeout: 248 seconds) |
2022-05-02 16:01:48 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2022-05-02 16:02:48 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2022-05-02 16:02:49 +0200 | odnes | (~odnes@5-203-165-110.pat.nym.cosmote.net) (Quit: Leaving) |
2022-05-02 16:03:22 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2022-05-02 16:05:01 +0200 | zer0bitz | (~zer0bitz@2001:2003:f444:8f00:b5b8:3c41:5641:4dcb) (Read error: Connection reset by peer) |
2022-05-02 16:11:22 +0200 | lbseale | (~quassel@user/ep1ctetus) |
2022-05-02 16:13:38 +0200 | julian | (~julian@20.83.116.49) (Killed (NickServ (GHOST command used by tos9_!~tos9@python/site-packages/Julian))) |
2022-05-02 16:17:34 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2022-05-02 16:20:09 +0200 | stevenxl | (~stevenxl@c-73-72-2-81.hsd1.il.comcast.net) |
2022-05-02 16:21:26 +0200 | xff0x_ | (~xff0x@om126234061065.16.openmobile.ne.jp) |
2022-05-02 16:24:05 +0200 | KingoftheHomeles | (~Kingofthe@89-233-195-143.cust.bredband2.com) |
2022-05-02 16:26:14 +0200 | sander | (~sander@user/sander) (Remote host closed the connection) |
2022-05-02 16:28:33 +0200 | sander | (~sander@user/sander) |
2022-05-02 16:29:00 +0200 | shriekingnoise | (~shrieking@201.231.16.156) |
2022-05-02 16:30:54 +0200 | <KingoftheHomeles> | I'm having woes involving type families and equality constraints, some regression introduced in GHC 9.2: it's essentially the question of being able to deduce `R ~ e ': some_tail` from the constraint `(R ~ e ': F R)` where R, F are type families. The inability to do this has caused a library of mine to break: |
2022-05-02 16:30:55 +0200 | <KingoftheHomeles> | https://github.com/KingoftheHomeless/in-other-words/issues/18 . The funny thing is that introducing the seemingly redundant constraint `r ~ R` allows deduction! I don't want to use that workaround though because introducing a type variable in the contexts my library is working in would require changing the API. My main question is: does anyone |
2022-05-02 16:30:55 +0200 | <KingoftheHomeles> | recognize this bug? |
2022-05-02 16:30:56 +0200 | romesrf | (~romes@185.5.8.134) |
2022-05-02 16:32:19 +0200 | <KingoftheHomeles> | Minimal reproducer: |
2022-05-02 16:32:19 +0200 | <KingoftheHomeles> | ``` |
2022-05-02 16:32:20 +0200 | <KingoftheHomeles> | data Dict (c :: Constraint) where |
2022-05-02 16:32:20 +0200 | <KingoftheHomeles> | Dict :: c => Dict c |
2022-05-02 16:32:21 +0200 | <KingoftheHomeles> | class Foo (e :: Type) (r :: [Type]) |
2022-05-02 16:32:21 +0200 | <KingoftheHomeles> | instance Foo e (e ': r) |
2022-05-02 16:32:22 +0200 | <KingoftheHomeles> | type family R :: [Type] |
2022-05-02 16:32:22 +0200 | <KingoftheHomeles> | type family F (a :: [Type]) :: [Type] |
2022-05-02 16:32:23 +0200 | <KingoftheHomeles> | compiles :: (R ~ Int ': F R, r ~ R) |
2022-05-02 16:32:23 +0200 | <KingoftheHomeles> | => Dict (Foo Int R) |
2022-05-02 16:32:24 +0200 | <KingoftheHomeles> | compiles = Dict |
2022-05-02 16:32:24 +0200 | <KingoftheHomeles> | errors :: (R ~ Int ': F R) |
2022-05-02 16:32:25 +0200 | <KingoftheHomeles> | => Dict (Foo Int R) |
2022-05-02 16:32:25 +0200 | <KingoftheHomeles> | errors = Dict |
2022-05-02 16:32:26 +0200 | <KingoftheHomeles> | ``` |
2022-05-02 16:32:28 +0200 | <KingoftheHomeles> | Oh, no code blocks. Oh well. |
2022-05-02 16:32:33 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
2022-05-02 16:33:17 +0200 | <[exa]> | KingoftheHomeles: can you pastebin pls? (IRC really doesn't work well for anything more than ~3 lines, and people get frowny) |
2022-05-02 16:33:28 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Quit: ec) |
2022-05-02 16:33:40 +0200 | <[exa]> | btw if I get it right, it worked before 9.2? |
2022-05-02 16:34:15 +0200 | <KingoftheHomeles> | Sure thing: https://pastebin.com/48BtadYw |
2022-05-02 16:34:20 +0200 | <KingoftheHomeles> | Yes, it works with 9.0.2 |
2022-05-02 16:34:24 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-05-02 16:34:36 +0200 | <KingoftheHomeles> | _wow_ pastebin has garbage haskell highlighting |
2022-05-02 16:35:02 +0200 | <merijn> | Use the one from topic :p |
2022-05-02 16:35:03 +0200 | <[exa]> | it's not very happy about the ' magicks, yes |
2022-05-02 16:35:23 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-05-02 16:35:23 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-05-02 16:35:35 +0200 | <[exa]> | KingoftheHomeles: btw you sure that r~R doesn't place any additional constraints on R? |
2022-05-02 16:35:47 +0200 | <KingoftheHomeles> | I haven't tested the reproducer on 9.0.2 admittedly, it just exhibits the same kind of behavior as the constraints in my library. |
2022-05-02 16:36:06 +0200 | <KingoftheHomeles> | Nnno, it shouldn't. |
2022-05-02 16:36:26 +0200 | <KingoftheHomeles> | Notably, there is no PolyKinds involved, which I know the type checker can get tripped up on. |
2022-05-02 16:43:21 +0200 | <[exa]> | ok wow |
2022-05-02 16:43:55 +0200 | Pickchea | (~private@user/pickchea) |
2022-05-02 16:45:18 +0200 | cosimone | (~user@2001:b07:ae5:db26:81ac:79ad:125a:4a01) |
2022-05-02 16:46:28 +0200 | abastro | (~abab9579@192.249.26.201) (Ping timeout: 248 seconds) |
2022-05-02 16:47:34 +0200 | <abastro[m]> | ... |
2022-05-02 16:48:04 +0200 | <KingoftheHomeles> | Can confirm the reproducer works on GHC 9.0.2 |
2022-05-02 16:48:05 +0200 | <abastro[m]> | Meh matrix bug.. :/ |
2022-05-02 16:50:35 +0200 | <janus> | KingoftheHomeles: default language is GHC2021 now, this means PolyKinds is enabled when you think it isn't |
2022-05-02 16:50:41 +0200 | <[exa]> | KingoftheHomeles: maybe the out-of-scope note here would match the problem? https://downloads.haskell.org/ghc/latest/docs/html/users_guide/9.2.1-notes.html#language |
2022-05-02 16:51:11 +0200 | <KingoftheHomeles> | janus PolyKinds being enabled or not doesn't matter in this case. All kinds involved are monomorphic. |
2022-05-02 16:51:12 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-05-02 16:51:23 +0200 | abiss27 | (~abiss27@user/abiss) |
2022-05-02 16:51:32 +0200 | <KingoftheHomeles> | Which is why I say it isn't involved. |
2022-05-02 16:51:44 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-02 16:54:28 +0200 | stackdroid18 | (~stackdroi@user/stackdroid) |
2022-05-02 16:54:31 +0200 | <KingoftheHomeles> | Remade the reproducer with complete imports and extensions on that better pastebin: https://paste.tomsmeding.com/Zcpe15sL |
2022-05-02 16:54:34 +0200 | <janus> | ooh ok, i understand |
2022-05-02 16:54:55 +0200 | <janus> | i thought you referred to PolyKinds as in the extension |
2022-05-02 16:56:12 +0200 | <KingoftheHomeles> | Unless they addressed the type issues the type checker had with PolyKinds by the way I'm surprised it became enabled by default in GHC2021 |
2022-05-02 16:57:24 +0200 | <abastro[m]> | discharging to `r` hmm |
2022-05-02 16:59:16 +0200 | CiaoSen | (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2022-05-02 17:00:44 +0200 | <KingoftheHomeles> | [exa] I don't see how it would apply. |
2022-05-02 17:01:49 +0200 | <janus> | KingoftheHomeles: i was not aware of those issues, do you know where i can read more? |
2022-05-02 17:02:28 +0200 | worldhelloworld1 | (uid543174@id-543174.helmsley.irccloud.com) |
2022-05-02 17:03:44 +0200 | abiss27 | (~abiss27@user/abiss) (Quit: hasta la vista... tchau!) |
2022-05-02 17:03:52 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 250 seconds) |
2022-05-02 17:04:11 +0200 | <janus> | KingoftheHomeles: it seems stupid, but have you tried giving kind signatures? because this resolved an issue in swagger2: https://github.com/GetShopTV/swagger2/pull/232/files |
2022-05-02 17:04:16 +0200 | <KingoftheHomeles> | The PolyKinds issue? It's more something I've experience of encountering . You can get fun stuff like "couldn't deduce 'A b' from the context 'A b'" from it. Let me see if I can cook up an example real quick. |
2022-05-02 17:04:46 +0200 | <KingoftheHomeles> | janus The reproducer uses kind signatures liberally, or are you talking about polykinds again? |
2022-05-02 17:05:30 +0200 | <janus> | well i am just still worried about whether PolyKinds includes something that isn't actually strictly for poly-kinds |
2022-05-02 17:05:46 +0200 | <janus> | but i guess since the Reproducer fails even with -XNoPolyKinds, that shouldn't be the case |
2022-05-02 17:06:39 +0200 | <janus> | i am way outta my dept :O looking forward to reading the ghc bug report though :) |
2022-05-02 17:07:11 +0200 | <KingoftheHomeles> | The PolyKinds issues I've had are indeed solved through kind signatures. My issue with it is that it gives rise to extremely weird error messages that give you no direction what to do, like "couldn't deduce 'A b' from the context 'A b'". But yeah, those are not related to *this* issue. |
2022-05-02 17:07:58 +0200 | <janus> | right, ok |
2022-05-02 17:08:15 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds) |
2022-05-02 17:09:46 +0200 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) |
2022-05-02 17:12:05 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2022-05-02 17:14:12 +0200 | neceve | (~quassel@2.29.116.221) (Ping timeout: 246 seconds) |
2022-05-02 17:15:15 +0200 | gpncarl | (~gpncarl@120.244.220.74) (Ping timeout: 260 seconds) |
2022-05-02 17:15:33 +0200 | Patternmaster | (~georg@li1192-118.members.linode.com) (Changing host) |
2022-05-02 17:15:33 +0200 | Patternmaster | (~georg@user/Patternmaster) |
2022-05-02 17:15:39 +0200 | gpncarl | (~gpncarl@120.244.220.74) |
2022-05-02 17:16:45 +0200 | xkuru | (~xkuru@user/xkuru) |
2022-05-02 17:17:45 +0200 | xkuru | (~xkuru@user/xkuru) (Remote host closed the connection) |
2022-05-02 17:18:09 +0200 | xkuru | (~xkuru@user/xkuru) |
2022-05-02 17:20:04 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
2022-05-02 17:22:59 +0200 | hololeap | (~hololeap@user/hololeap) |
2022-05-02 17:24:02 +0200 | pooryorick | (~pooryoric@87-119-174-173.tll.elisa.ee) (Quit: Lost terminal) |
2022-05-02 17:24:21 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 246 seconds) |
2022-05-02 17:25:34 +0200 | <abastro[m]> | Instead of monadic effect handling, there could have been categorical effect handling right? |
2022-05-02 17:26:32 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2022-05-02 17:26:50 +0200 | <dolio> | What does that mean? |
2022-05-02 17:26:58 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:aa56:2922:80a8:95ed) (Quit: WeeChat 2.8) |
2022-05-02 17:26:58 +0200 | coot | (~coot@213.134.190.95) |
2022-05-02 17:28:44 +0200 | <abastro[m]> | Using Kleisli category instead of Monad |
2022-05-02 17:30:03 +0200 | alp_ | (~alp@user/alp) |
2022-05-02 17:31:38 +0200 | Square | Sqaure |
2022-05-02 17:32:18 +0200 | <dolio> | That doesn't seem like it significantly changes anything. |
2022-05-02 17:32:34 +0200 | <c_wraith> | it doesn't change anything, because we have <=< |
2022-05-02 17:33:40 +0200 | <abastro[m]> | Well, by using general categories one could generalize it for many stuffs |
2022-05-02 17:34:11 +0200 | <abastro[m]> | Alike arrows without `arr` |
2022-05-02 17:35:23 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-05-02 17:36:00 +0200 | yauhsien | (~yauhsien@61-231-62-54.dynamic-ip.hinet.net) |
2022-05-02 17:37:13 +0200 | <abastro[m]> | `{ from :: a -> IO b, to :: b -> IO a }` could be one such category |
2022-05-02 17:38:14 +0200 | <c_wraith> | If you make categories the primary interface, you do have the issue that you're basically requiring everything to be done point-free |
2022-05-02 17:38:27 +0200 | Guest38 | (~Guest38@188.147.101.242.nat.umts.dynamic.t-mobile.pl) |
2022-05-02 17:39:04 +0200 | Guest38 | (~Guest38@188.147.101.242.nat.umts.dynamic.t-mobile.pl) () |
2022-05-02 17:41:06 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2022-05-02 17:41:12 +0200 | <abastro[m]> | I think one might introduce points as syntax sugar/convenience feature |
2022-05-02 17:41:30 +0200 | Pickchea | (~private@user/pickchea) (Ping timeout: 246 seconds) |
2022-05-02 17:41:47 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-05-02 17:42:00 +0200 | anomal | (~anomal@87.227.196.109) (Remote host closed the connection) |
2022-05-02 17:42:17 +0200 | <c_wraith> | depending on how you do that, you're either inventing something like proc notation, or restricting your interface to be only Kleisli categories |
2022-05-02 17:42:30 +0200 | <c_wraith> | and proc notation is a nightmare |
2022-05-02 17:42:59 +0200 | cdman | (~dcm@user/dmc/x-4369397) (Quit: Leaving) |
2022-05-02 17:43:27 +0200 | <dolio> | There's no point in introducing such syntax for arbitrary categories, because they have almost no structure. |
2022-05-02 17:43:42 +0200 | <dolio> | All there is is composition of arrows. |
2022-05-02 17:43:53 +0200 | dvdrw | (~dvdrw@user/dvdrw) |
2022-05-02 17:44:15 +0200 | <c_wraith> | like, at least Kleisli arrows guarantee you've got a function of some sort |
2022-05-02 17:44:16 +0200 | <abastro[m]> | Oh, arbitrary category might indeed be too simple |
2022-05-02 17:44:43 +0200 | _ht | (~quassel@231-169-21-31.ftth.glasoperator.nl) |
2022-05-02 17:44:54 +0200 | <abastro[m]> | I think e.g. Choice arrow and Product arrow exists for reason |
2022-05-02 17:45:17 +0200 | <KingoftheHomeles> | Created the GHC issue: https://gitlab.haskell.org/ghc/ghc/-/issues/21473 |
2022-05-02 17:45:17 +0200 | <c_wraith> | it really does seem like you're trying to reinvent Arrow and proc notation, and there's a reason that those are nearly unused |
2022-05-02 17:45:21 +0200 | econo | (uid147250@user/econo) |
2022-05-02 17:45:49 +0200 | <abastro[m]> | Arrow notation is nightmare, isn't it |
2022-05-02 17:46:06 +0200 | <abastro[m]> | I think one could do state bookkeeping tho |
2022-05-02 17:46:07 +0200 | <geekosaur> | the notation is fine, arr is the nightmare |
2022-05-02 17:46:29 +0200 | <abastro[m]> | Oh, is the notation fine? |
2022-05-02 17:47:07 +0200 | <geekosaur> | some people want cdhanges to it, but my understanding is that's mostly generalizing it |
2022-05-02 17:47:13 +0200 | <geekosaur> | (talk to Cale) |
2022-05-02 17:47:39 +0200 | geranim0 | (~geranim0@modemcable242.171-178-173.mc.videotron.ca) |
2022-05-02 17:47:45 +0200 | <geekosaur> | but having arr as a "backdoor" kills its usefulness |
2022-05-02 17:48:02 +0200 | Unicorn_Princess | (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
2022-05-02 17:49:30 +0200 | <abastro[m]> | Indeed, I can not think of good arrow usage with `arr` |
2022-05-02 17:49:45 +0200 | <abastro[m]> | If you have `arr`, it would already be too powerful |
2022-05-02 17:49:59 +0200 | benin | (~benin@183.82.204.110) (Quit: The Lounge - https://thelounge.chat) |
2022-05-02 17:50:17 +0200 | <geekosaur> | actually arr weakens it. arr is most uesful when you can inspect an arrow, but arr injects black boxes |
2022-05-02 17:50:30 +0200 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2022-05-02 17:51:02 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2022-05-02 17:51:13 +0200 | <abastro[m]> | Right, I mean it depends on perspective |
2022-05-02 17:51:57 +0200 | <abastro[m]> | Too powerful for users, too weak for implementors (hard to implement) |
2022-05-02 17:52:15 +0200 | cosimone | (~user@2001:b07:ae5:db26:81ac:79ad:125a:4a01) (Remote host closed the connection) |
2022-05-02 17:52:43 +0200 | KingoftheHomeles | (~Kingofthe@89-233-195-143.cust.bredband2.com) (Quit: Client closed) |
2022-05-02 17:53:44 +0200 | xff0x_ | (~xff0x@om126234061065.16.openmobile.ne.jp) (Read error: Connection reset by peer) |
2022-05-02 17:55:52 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) (Read error: Connection reset by peer) |
2022-05-02 17:56:22 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) |
2022-05-02 17:57:01 +0200 | <albet70> | what's an "arrow"? |
2022-05-02 17:58:22 +0200 | <geekosaur> | which part of that conversation do you mean? Arrows in the Haskell sense are defined by Control.Arrow |
2022-05-02 17:58:37 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-05-02 17:58:50 +0200 | <geekosaur> | there was also a mention of categorical arrows, which… being categorical, are somewhat difficult to characterize :) |
2022-05-02 17:59:27 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-05-02 17:59:32 +0200 | <albet70> | Control.Arrow |
2022-05-02 17:59:53 +0200 | <albet70> | what's its purpose? |
2022-05-02 18:00:18 +0200 | <geekosaur> | you could say it's an abstraction looking for a purpose :) |
2022-05-02 18:00:49 +0200 | <geekosaur> | but as designed… like c_wraith said above, there's a reason it's nearly unused |
2022-05-02 18:01:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-05-02 18:01:05 +0200 | <Rembane> | It has been looking for a very long time now, and every time there seems to be a good fit something else that actually works well shows up. |
2022-05-02 18:03:22 +0200 | <Cale> | abastro[m], geekosaur: It's not so much the existence of arr, but the reliance on it in order to route results around between computations which makes it so bad. If you add in some other bits, then arr can *mostly* be avoided (except when you really do want to do some arbitrary computation), and that tends to be good enough. |
2022-05-02 18:04:20 +0200 | <Cale> | Though, it really does belong in its own class. The rest of the stuff in Arrow is basically the setup for a symmetric monoidal category (with (,) as the product on objects). |
2022-05-02 18:04:31 +0200 | <geekosaur> | ^ albet70 here's who you really want to talk to if you want to know about Arrows |
2022-05-02 18:04:35 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-05-02 18:04:49 +0200 | <Cale> | There are better realizations of that idea on Hackage now, though the proc/do syntax never got updated to work with any of them. |
2022-05-02 18:06:21 +0200 | Sinbad | (~Sinbad@user/sinbad) |
2022-05-02 18:06:27 +0200 | tromp | (~textual@77.249.230.40) |
2022-05-02 18:09:02 +0200 | CiaoSen | (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-05-02 18:10:06 +0200 | <abastro[m]> | Is bookkeeping intermediate "state" an option |
2022-05-02 18:10:12 +0200 | raym | (~raym@user/raym) (Ping timeout: 248 seconds) |
2022-05-02 18:11:09 +0200 | <Cale> | You mean in the same sense as the State monad? |
2022-05-02 18:11:16 +0200 | <Cale> | (then yes) |
2022-05-02 18:11:26 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::aa1d) |
2022-05-02 18:11:42 +0200 | <abastro[m]> | Similar as State monad, yea |
2022-05-02 18:11:59 +0200 | <abastro[m]> | But instead it is categorical |
2022-05-02 18:12:01 +0200 | <Cale> | Though, I would want Arrow to have laws which would forbid that instance :) |
2022-05-02 18:12:19 +0200 | <Cale> | (but it explicitly doesn't) |
2022-05-02 18:12:53 +0200 | <abastro[m]> | Like composing... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/8ede47d8f4f464ddccbcac3cea6c141e0fe0…) |
2022-05-02 18:12:57 +0200 | <Cale> | Specifically, it's fairly essential for being able to reason about what's going on in an Arrow computation that (f >>> g) *** (h >>> k) = (f *** h) >>> (g *** k) |
2022-05-02 18:13:02 +0200 | <abastro[m]> | Each `si` serves as an intermediate state |
2022-05-02 18:13:33 +0200 | <Cale> | newtype StateA s a b = StateA { runStateA :: (s,a) -> (s,b) } |
2022-05-02 18:13:48 +0200 | <abastro[m]> | Oh I do not mean StateA |
2022-05-02 18:14:12 +0200 | <abastro[m]> | (Tho I guess it is sad how StateA is unlawful) |
2022-05-02 18:15:39 +0200 | <abastro[m]> | I was thinking of how to use categories more ergonomically |
2022-05-02 18:15:48 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 250 seconds) |
2022-05-02 18:17:32 +0200 | arjun | (~arjun@user/arjun) |
2022-05-02 18:18:32 +0200 | <Cale> | Oh, yeah... the best experiment I've seen in that direction is Conal's "concat" |
2022-05-02 18:18:57 +0200 | <Cale> | https://github.com/conal/concat |
2022-05-02 18:19:18 +0200 | nschoe | (~quassel@178.251.84.79) (Ping timeout: 246 seconds) |
2022-05-02 18:19:48 +0200 | nut | (~haskellfi@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Quit: WeeChat 3.5) |
2022-05-02 18:20:21 +0200 | <Cale> | Where you can basically write Haskell code (lambdas, etc.) and have it translated into code that works in an arbitrary category that satisfies a bunch of constraints that depend on what features you used. |
2022-05-02 18:20:32 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2022-05-02 18:23:54 +0200 | <abastro[m]> | Hmm, sounds quite ambitious |
2022-05-02 18:24:24 +0200 | <abastro[m]> | I wonder if it would work well |
2022-05-02 18:24:43 +0200 | CiaoSen | (~Jura@p200300c95732ec002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2022-05-02 18:25:02 +0200 | <Cale> | Yeah, I wouldn't be comfortable trying to put it into production yet, but the idea seems quite solid. |
2022-05-02 18:25:19 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2022-05-02 18:25:54 +0200 | <EvanR> | you got your code, which is simply a sentence in a language. Then you got your interpretation. In programming you don't immediately learn that they are different xD |
2022-05-02 18:26:09 +0200 | <EvanR> | and can even be mixed and matched |
2022-05-02 18:27:10 +0200 | eternalforms | (~obsrwr@46.101.168.131) |
2022-05-02 18:27:47 +0200 | jgeerds | (~jgeerds@d53604b0.access.ecotel.net) (Ping timeout: 240 seconds) |
2022-05-02 18:28:41 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 248 seconds) |
2022-05-02 18:30:50 +0200 | raym | (~raym@user/raym) |
2022-05-02 18:31:10 +0200 | MajorBiscuit | (~MajorBisc@145.94.235.5) (Quit: WeeChat 3.4) |
2022-05-02 18:32:24 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2022-05-02 18:32:25 +0200 | Sinbad | (~Sinbad@user/sinbad) (Ping timeout: 256 seconds) |
2022-05-02 18:34:45 +0200 | coot | (~coot@213.134.190.95) |
2022-05-02 18:38:45 +0200 | neceve | (~quassel@2.29.116.221) |
2022-05-02 18:39:25 +0200 | x_kuru | (~xkuru@user/xkuru) |
2022-05-02 18:42:45 +0200 | xkuru | (~xkuru@user/xkuru) (Ping timeout: 260 seconds) |
2022-05-02 18:43:11 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 260 seconds) |
2022-05-02 18:47:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-05-02 18:47:25 +0200 | Sinbad | (~Sinbad@user/sinbad) |
2022-05-02 18:47:34 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2022-05-02 18:51:47 +0200 | x_kuru | (~xkuru@user/xkuru) (Ping timeout: 240 seconds) |
2022-05-02 18:52:50 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-39.elisa-laajakaista.fi) |
2022-05-02 18:56:16 +0200 | <Bulby[m]> | how do you debug where an app crashed |
2022-05-02 18:56:52 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-05-02 18:58:36 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 260 seconds) |
2022-05-02 19:00:18 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::aa1d) (Ping timeout: 260 seconds) |
2022-05-02 19:02:03 +0200 | <Bulby[m]> | i see the people on discord use "dumpcore" |
2022-05-02 19:05:34 +0200 | werneta | (~werneta@137.79.197.49) |
2022-05-02 19:05:46 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-05-02 19:08:26 +0200 | <EvanR> | in its purest form, you read the message printed out during the crash |
2022-05-02 19:08:33 +0200 | <EvanR> | if any |
2022-05-02 19:08:44 +0200 | <Bulby[m]> | there is no message |
2022-05-02 19:08:59 +0200 | <EvanR> | my sympathies |
2022-05-02 19:12:33 +0200 | <EvanR> | as a pessimistic programmer I'm hyper paranoid about stuff like that, so any place I intentionally cause a crash, I put a message. |
2022-05-02 19:12:59 +0200 | <Bulby[m]> | right |
2022-05-02 19:13:00 +0200 | Bulby[m] | sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/90a36f3a354783143c8487b37d9d7207778c… |
2022-05-02 19:13:18 +0200 | <EvanR> | for code I didn't write, a review what kind of exceptions it can throw, or even check for flagrant non totalities |
2022-05-02 19:13:19 +0200 | <Bulby[m]> | i should use pactl, not pamixer |
2022-05-02 19:17:58 +0200 | <Bulby[m]> | are there regexs for haskell |
2022-05-02 19:18:10 +0200 | <Bulby[m]> | output of pactl is not nice |
2022-05-02 19:18:29 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-05-02 19:18:29 +0200 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-05-02 19:18:29 +0200 | wroathe | (~wroathe@user/wroathe) |
2022-05-02 19:18:37 +0200 | <Rembane> | Bulby[m]: There are regexen for Haskell, but we prefer parser combinators |
2022-05-02 19:19:00 +0200 | <Bulby[m]> | that's what I figured |
2022-05-02 19:19:11 +0200 | <dminuoso> | If you're curious, the least offending regexp library I have found so far is pcre-heavy |
2022-05-02 19:19:47 +0200 | <dminuoso> | While parser combinators are certainly far more robust and feature rich, sometimes its convenient to just have a one-liner do "the morally right thing" |
2022-05-02 19:19:51 +0200 | <Bulby[m]> | well i already know how to write parser combinator stuff |
2022-05-02 19:20:08 +0200 | <Bulby[m]> | the morally right thing? |
2022-05-02 19:20:46 +0200 | <gabriel_sevecek> | Hey, I'm experimenting with twain and I'm wondering what do you haskellers use for auto rebuild of the dev server? |
2022-05-02 19:21:11 +0200 | <dminuoso> | Well, it's certainly convenient to quickly cook up a regular expression. It takes a few seconds to write, might have some rare-or-will-never-trigger edge case, will probably perform not as nicely, backtracking introduces certain DoS angles - but honestly most of the time these are just philosophical issues. |
2022-05-02 19:21:20 +0200 | x88x88x | (~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) (Remote host closed the connection) |
2022-05-02 19:21:41 +0200 | <dminuoso> | gabriel_sevecek: You can trivially use ghcid to that effect. |
2022-05-02 19:21:44 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-05-02 19:22:02 +0200 | <dminuoso> | Note, you will have to go a bit further than the default (which just compiles it with ghci) |
2022-05-02 19:22:59 +0200 | <dminuoso> | I think this is one of the things that prevents adoption of Haskell - the lack of general tools to do simple and common tasks easily. |
2022-05-02 19:23:09 +0200 | <gabriel_sevecek> | I tried 'ghcid --command "cabal run thething"', that did not work |
2022-05-02 19:23:22 +0200 | <gabriel_sevecek> | But I will investigate more |
2022-05-02 19:23:25 +0200 | <gabriel_sevecek> | Thanks dminuoso |
2022-05-02 19:23:30 +0200 | <dminuoso> | gabriel_sevecek: https://binarin.ru/post/auto-reload-threepenny-gui/ |
2022-05-02 19:23:34 +0200 | <dminuoso> | Might give you some helpful pointers |
2022-05-02 19:24:23 +0200 | <gabriel_sevecek> | Cool |
2022-05-02 19:25:51 +0200 | <dminuoso> | In Python, you are exposed to simple tools to just do data crunching. Cooking up a program to take some text encoded data, and extract/process it, takes way less effort than in Haskell. I mean yes, to some degree it's not scalable and more brittle |
2022-05-02 19:25:58 +0200 | <dminuoso> | But sometimes that's perfectly fine |
2022-05-02 19:27:38 +0200 | x88x88x | (~x88x88x@149.28.53.172) |
2022-05-02 19:32:24 +0200 | tromp | (~textual@77.249.230.40) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-02 19:35:15 +0200 | <Bulby[m]> | solution to that issue: don't change code, just install pamixer 😄 |
2022-05-02 19:35:50 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds) |
2022-05-02 19:36:05 +0200 | <Bulby[m]> | wait my wireless isn't down |
2022-05-02 19:36:11 +0200 | ccntrq | (~Thunderbi@2a01:e34:eccb:b060:2d0b:56d2:55c6:6429) (Remote host closed the connection) |
2022-05-02 19:36:45 +0200 | pgib | (~textual@173.38.117.66) |
2022-05-02 19:39:06 +0200 | <gabriel_sevecek> | dminuoso: Was pretty easy with the link you've posted, thanks again |
2022-05-02 19:45:36 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 276 seconds) |
2022-05-02 19:49:36 +0200 | Frinasa[m] | Frikraaa[m] |
2022-05-02 19:49:37 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2022-05-02 19:51:38 +0200 | worldhelloworld1 | (uid543174@id-543174.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2022-05-02 19:51:39 +0200 | acidjnk | (~acidjnk@p200300d0c7033b32e85f61ca0273fe05.dip0.t-ipconnect.de) |
2022-05-02 19:53:11 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-05-02 19:53:32 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-05-02 19:55:34 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
2022-05-02 19:58:00 +0200 | irfan | (~irfan@user/irfan) (Quit: leaving) |
2022-05-02 19:58:21 +0200 | hololeap | (~hololeap@user/hololeap) |
2022-05-02 19:59:47 +0200 | <danso> | is there a conventional way to get a 3-bit integer, like a data type (an enum) with 8 constructors? |
2022-05-02 20:00:42 +0200 | <dminuoso> | You can use just that, a data type with 8 constructors. |
2022-05-02 20:01:12 +0200 | <dminuoso> | And that's the idiomatic way as well. |
2022-05-02 20:01:30 +0200 | <dminuoso> | Or a newtype hidden Word8 with smart constructors |
2022-05-02 20:01:38 +0200 | <dminuoso> | Depends a bit on what you want to do with it |
2022-05-02 20:02:37 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-05-02 20:04:47 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 256 seconds) |
2022-05-02 20:07:10 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2022-05-02 20:07:28 +0200 | coot | (~coot@213.134.190.95) |
2022-05-02 20:07:51 +0200 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
2022-05-02 20:08:17 +0200 | Sinbad | (~Sinbad@user/sinbad) (Quit: WeeChat 3.5) |
2022-05-02 20:13:20 +0200 | jgeerds | (~jgeerds@d53604b0.access.ecotel.net) |
2022-05-02 20:17:05 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-05-02 20:18:07 +0200 | <EvanR> | also, Three Bool xD |
2022-05-02 20:18:21 +0200 | alp_ | (~alp@user/alp) |
2022-05-02 20:19:38 +0200 | Pickchea | (~private@user/pickchea) |
2022-05-02 20:19:46 +0200 | <EvanR> | also Maybe (Maybe (Maybe (Maybe (Maybe (Maybe (Maybe ())))))) |
2022-05-02 20:20:04 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
2022-05-02 20:20:08 +0200 | <monochrom> | Unfortunately, for now 3 bools take up 8*3 bytes. |
2022-05-02 20:20:36 +0200 | <exarkun> | at least it's not 28*3 bytes |
2022-05-02 20:20:38 +0200 | <EvanR> | that's an improvement |
2022-05-02 20:21:07 +0200 | <EvanR> | GHC 10 will make 3 bools = 3 bits |
2022-05-02 20:21:14 +0200 | <EvanR> | GHC 11 will make 3 bools = 2 bits |
2022-05-02 20:21:28 +0200 | <exarkun> | Can't wait for GHC 12 then |
2022-05-02 20:21:34 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 240 seconds) |
2022-05-02 20:21:43 +0200 | <monochrom> | onoes |
2022-05-02 20:22:08 +0200 | <monochrom> | GHC 12 will do quantum computing by the holographic principle, I guess. |
2022-05-02 20:22:28 +0200 | <monochrom> | And GHC 13 will prove P=NP. |
2022-05-02 20:22:28 +0200 | <EvanR> | compression tech can't go beyond 2 bits, sorry |
2022-05-02 20:22:39 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 276 seconds) |
2022-05-02 20:22:39 +0200 | <exarkun> | _Current_ compression tech, EvanR |
2022-05-02 20:22:58 +0200 | <monochrom> | Yeah understood, it stops at the holographic principle >:) |
2022-05-02 20:23:19 +0200 | <EvanR> | GHC 13 runs on a black hole |
2022-05-02 20:23:37 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2022-05-02 20:24:51 +0200 | hololeap | (~hololeap@user/hololeap) |
2022-05-02 20:25:54 +0200 | <monochrom> | 3bools1bit --- like 3blue1brown but computer science >:) |
2022-05-02 20:27:14 +0200 | <monochrom> | "here is a visual analogy of the curry-howard isomorphism" |
2022-05-02 20:30:42 +0200 | <Bulby[m]> | 3 bool? |
2022-05-02 20:30:52 +0200 | <Bulby[m]> | Three Bool |
2022-05-02 20:31:36 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
2022-05-02 20:33:13 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::aa1d) |
2022-05-02 20:40:50 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2022-05-02 20:45:29 +0200 | arjun | (~arjun@user/arjun) (Remote host closed the connection) |
2022-05-02 20:52:21 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-02 20:58:20 +0200 | seydar | (~seydar@154-27-113-252.starry-inc.net) |
2022-05-02 20:58:50 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2022-05-02 21:00:17 +0200 | neceve | (~quassel@2.29.116.221) (Remote host closed the connection) |
2022-05-02 21:02:16 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2022-05-02 21:03:56 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-02 21:04:35 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2022-05-02 21:11:34 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
2022-05-02 21:14:23 +0200 | hololeap | (~hololeap@user/hololeap) |
2022-05-02 21:14:51 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2022-05-02 21:17:34 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-05-02 21:18:51 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-05-02 21:19:28 +0200 | julian | (~julian@20.83.116.49) |
2022-05-02 21:19:54 +0200 | <seydar> | decoding images seems... kinda tough |
2022-05-02 21:22:04 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
2022-05-02 21:22:53 +0200 | <seydar> | i'm gonna use the juicy pixels library -- is that the crowd favorite? |
2022-05-02 21:25:00 +0200 | <EvanR> | juicy pixels is great |
2022-05-02 21:25:07 +0200 | gpncarl | (~gpncarl@120.244.220.74) (Ping timeout: 260 seconds) |
2022-05-02 21:25:37 +0200 | hololeap | (~hololeap@user/hololeap) |
2022-05-02 21:25:53 +0200 | gpncarl | (~gpncarl@120.244.220.74) |
2022-05-02 21:26:32 +0200 | <EvanR> | it hits a sweet spot where the type system is guiding you without being over the top |
2022-05-02 21:27:36 +0200 | <Bulby[m]> | I LOVE THE TYPE SYSTEM |
2022-05-02 21:28:35 +0200 | janus | (janus@anubis.0x90.dk) () |
2022-05-02 21:30:21 +0200 | gpncarl | (~gpncarl@120.244.220.74) (Ping timeout: 256 seconds) |
2022-05-02 21:34:15 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-05-02 21:34:37 +0200 | <seydar> | i suppose i shouldn't be shocked at how complex it is to read an image |
2022-05-02 21:34:44 +0200 | <seydar> | these formats are not for the faint of heart |
2022-05-02 21:35:02 +0200 | <dolio> | bmp is probably easy, right? |
2022-05-02 21:40:20 +0200 | <dolio> | Oh no, ppm is the easy one. |
2022-05-02 21:41:24 +0200 | ss4 | (~wootehfoo@user/wootehfoot) |
2022-05-02 21:41:25 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-05-02 21:42:12 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-02 21:42:14 +0200 | oxide | (~lambda@user/oxide) (Quit: oxide) |
2022-05-02 21:42:39 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 246 seconds) |
2022-05-02 21:42:39 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2022-05-02 21:42:58 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Remote host closed the connection) |
2022-05-02 21:43:06 +0200 | metabulation | (~wootehfoo@user/wootehfoot) |
2022-05-02 21:43:52 +0200 | <EvanR> | truevision targa for life xD |
2022-05-02 21:44:50 +0200 | <dolio> | That one looks more complicated. |
2022-05-02 21:45:35 +0200 | <seydar> | I'm trying to do a DCT on an image (implementing blurhash as an exercise), but i'm kinda... stuck, type-wise. I get `Either String DynamicImage`, but I'm unable to figure out how to get a DynamicImage into a CArray for use with the FFT library |
2022-05-02 21:45:55 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2022-05-02 21:46:11 +0200 | <EvanR> | case analysis on DynamicImage to recover the true data, which you may find to be impossible because it's not in your expected format |
2022-05-02 21:46:41 +0200 | <EvanR> | react accordingly |
2022-05-02 21:47:04 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
2022-05-02 21:47:05 +0200 | ss4 | (~wootehfoo@user/wootehfoot) (Ping timeout: 260 seconds) |
2022-05-02 21:47:23 +0200 | littlebobeep | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-05-02 21:48:57 +0200 | <EvanR> | once you have the vector of encoded pixels you'll probably have to copy them into the structure needed by FFT, types unlikely to exactly match |
2022-05-02 21:51:12 +0200 | _ht | (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
2022-05-02 21:56:56 +0200 | <seydar> | EvanR: ah! i found convertRGBA16! this feels like step one |
2022-05-02 21:57:21 +0200 | <seydar> | that gets me out of DyanmicImage, and hopefully i can use the `toListOf imagePixels` curried function |
2022-05-02 21:57:46 +0200 | <EvanR> | conversion? I guess |
2022-05-02 21:57:58 +0200 | <EvanR> | list? I'm pretty skeptical |
2022-05-02 21:58:35 +0200 | <EvanR> | like I said the basic way to consume a DynamicImage is with case analysis |
2022-05-02 21:58:35 +0200 | anomal | (~anomal@87.227.196.109) |
2022-05-02 21:58:47 +0200 | <seydar> | https://github.com/phadej/JuicyPixels-scale-dct/blob/6ea69ac4baf4777f1129dbb7e5a7d8e3739dae4e/src/… |
2022-05-02 22:00:23 +0200 | dsrt^ | (~dsrt@50.227.69.228) (Ping timeout: 256 seconds) |
2022-05-02 22:00:38 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-02 22:01:57 +0200 | <danso> | i'm using Parsec on a ByteString stream. is it weird that the Stream instance reads the bytestring Char-by-Char instead of Word8-by-Word8 ? i feel like you might get surprising results with binary data. |
2022-05-02 22:02:34 +0200 | <danso> | for now i'm changing my Stream type to [Word8] and passing in a `ByteString.unpack`ed version instead |
2022-05-02 22:02:48 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-02 22:05:00 +0200 | alp_ | (~alp@user/alp) (Ping timeout: 240 seconds) |
2022-05-02 22:05:15 +0200 | <EvanR> | it just depends what reading Chars from a bytestring means |
2022-05-02 22:05:56 +0200 | <EvanR> | if it's binary data, it sounds wrong regardless xD |
2022-05-02 22:06:12 +0200 | <tomsmeding> | danso: have you considered using attoparsec |
2022-05-02 22:07:04 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
2022-05-02 22:07:14 +0200 | <tomsmeding> | it's like parsec, but on bytestrings :p |
2022-05-02 22:08:48 +0200 | <seydar> | EvanR: okay turns out `toListOf` is a function from that file i linked that is based on lenses and i could not possibly derive it myself |
2022-05-02 22:09:28 +0200 | deadmarshal_ | (~deadmarsh@95.38.117.99) (Ping timeout: 260 seconds) |
2022-05-02 22:10:18 +0200 | hololeap | (~hololeap@user/hololeap) |
2022-05-02 22:11:16 +0200 | alp_ | (~alp@user/alp) |
2022-05-02 22:12:06 +0200 | <danso> | i will now tomsmeding, thanks. i have heard of it before but didn't realize it was basically made for my use-case |
2022-05-02 22:13:23 +0200 | <EvanR> | seydar, the payloads of the various DynamicImage results contain vectors, which are arrays of pixels. Which sounds like what you need |
2022-05-02 22:13:34 +0200 | <EvanR> | as well as image width and height |
2022-05-02 22:13:42 +0200 | yauhsien | (~yauhsien@61-231-62-54.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-05-02 22:13:48 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2022-05-02 22:14:29 +0200 | yauhsien | (~yauhsien@61-231-62-54.dynamic-ip.hinet.net) |
2022-05-02 22:16:05 +0200 | <seydar> | EvanR: yep yep, seeing that now. granted, they're packed lines, so i'm trying to decide the best way to grapple with them. given that i'm ultimately seeking a CArray, and I don't want to use the lens stuff that the sample code is using, i'm looking for more intuitive and less efficient ways to get the pixels into a CArray |
2022-05-02 22:16:20 +0200 | anomal | (~anomal@87.227.196.109) (Ping timeout: 252 seconds) |
2022-05-02 22:16:51 +0200 | <EvanR> | what's a CArray |
2022-05-02 22:17:03 +0200 | <EvanR> | other than the obvious |
2022-05-02 22:18:18 +0200 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2022-05-02 22:18:29 +0200 | <tomsmeding> | seydar: can't you use pixelAt https://hackage.haskell.org/package/JuicyPixels-3.3.7/docs/Codec-Picture.html#v:pixelAt |
2022-05-02 22:18:57 +0200 | <tomsmeding> | convertRGB16 gives you an 'Image PixelRGB16' |
2022-05-02 22:18:58 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-02 22:19:00 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 276 seconds) |
2022-05-02 22:19:15 +0200 | yauhsien | (~yauhsien@61-231-62-54.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
2022-05-02 22:20:40 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2022-05-02 22:21:03 +0200 | <tomsmeding> | and PixelRGB16 implements that Pixel class |
2022-05-02 22:21:06 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2022-05-02 22:21:44 +0200 | <EvanR> | or just convert the array directly |
2022-05-02 22:21:54 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-02 22:22:08 +0200 | <EvanR> | whatever CArray is, it probably has a thing to load raw data |
2022-05-02 22:22:29 +0200 | <tomsmeding> | EvanR: I think seydar means 'Ptr Char' |
2022-05-02 22:22:49 +0200 | <EvanR> | no no nonoono |
2022-05-02 22:23:22 +0200 | <tomsmeding> | ah no it seems to be this thing https://hackage.haskell.org/package/carray-0.1.6.8/docs/Data-Array-CArray-Base.html#t:CArray |
2022-05-02 22:23:39 +0200 | <EvanR> | nicer |
2022-05-02 22:23:49 +0200 | <tomsmeding> | so 'ForeignPtr (Complex r)', not too far off :p |
2022-05-02 22:23:54 +0200 | <tomsmeding> | https://hackage.haskell.org/package/fft-0.1.8.7/docs/Math-FFT.html |
2022-05-02 22:24:38 +0200 | <EvanR> | fastest fourier transform in the west. China has something better? |
2022-05-02 22:25:42 +0200 | <tomsmeding> | presumably what seydar wants is to undo the row padding that juicypixels probably adds |
2022-05-02 22:25:59 +0200 | <tomsmeding> | but 'fft' is not super clear on its input format, and I'm too lazy to look up the fftw docs again :p |
2022-05-02 22:26:23 +0200 | <seydar> | EvanR, tomsmeding: i'm a simple man: just trying to use this https://hackage.haskell.org/package/fft-0.1.8.7/docs/Math-FFT.html |
2022-05-02 22:26:37 +0200 | <tomsmeding> | seydar: so I guessed correctly |
2022-05-02 22:27:56 +0200 | <seydar> | tomsmeding: whoops, missed it. yes, you did |
2022-05-02 22:28:14 +0200 | segfaultfizzbuzz | (~segfaultf@135-180-12-202.fiber.dynamic.sonic.net) |
2022-05-02 22:28:48 +0200 | <segfaultfizzbuzz> | okay, theory-ish question here: |
2022-05-02 22:28:48 +0200 | <EvanR> | I have not noticed juicy pixels adding any row padding |
2022-05-02 22:29:05 +0200 | <EvanR> | if anything it would unadd row padding if that is what the file format uses |
2022-05-02 22:29:10 +0200 | <segfaultfizzbuzz> | is it "hard" to (automatically) prove the equivalence of functions? |
2022-05-02 22:29:11 +0200 | <seydar> | "Internally pixel data is stored as consecutively packed lines from top to bottom, scanned from left to right within individual lines, from first to last color component within each pixel." |
2022-05-02 22:29:23 +0200 | dsrt^ | (~dsrt@50.227.69.228) |
2022-05-02 22:30:05 +0200 | <EvanR> | it's a 1D array expressing a 2D grid of pixels |
2022-05-02 22:30:06 +0200 | <segfaultfizzbuzz> | so i have function f, and somebody hands me function g. the question is, can f and g be interchanged. if you like we can talk about pure functions to keep things simpler to begin with |
2022-05-02 22:30:23 +0200 | <tomsmeding> | seydar: looking at the definition of pixelAt for PixelRGBA16 (and PixelRGB16, too) it seems the pixel data is just packed tightly as one would expect: row-major order, two bytes r, two bytes g, two bytes b, two bytes a, next pixel etc. |
2022-05-02 22:30:24 +0200 | <seydar> | okay, so I was afraid of the word "packed" for no good reason |
2022-05-02 22:30:49 +0200 | <tomsmeding> | so I mean you could hand-write the conversion to Complex if you don't like to use pixelAt for some reason |
2022-05-02 22:31:26 +0200 | <tomsmeding> | segfaultfizzbuzz: in general impossible, if we may assume nothing about the domain and codomain types of the functions |
2022-05-02 22:31:57 +0200 | <dminuoso> | segfaultfizzbuzz: Intrinsic or extrinsic equivalence? |
2022-05-02 22:31:58 +0200 | <tomsmeding> | in fact the 'functional extensionality' axiom describes the ability to do just that, and it's usually _not_ assumed (but sometimes is) |
2022-05-02 22:32:04 +0200 | <tomsmeding> | but yes that |
2022-05-02 22:32:06 +0200 | <dminuoso> | The former is trivial, but not necessarily useful |
2022-05-02 22:32:19 +0200 | <segfaultfizzbuzz> | i don't know the difference between intrinsic and extrinsic equivalence |
2022-05-02 22:32:27 +0200 | <EvanR> | prove equivalence... decide equivalence... ? |
2022-05-02 22:32:28 +0200 | <tomsmeding> | black boxes or do you have the implementation |
2022-05-02 22:32:35 +0200 | <dminuoso> | intrinsic equivalence is about the internals, whether the implementation is the same. |
2022-05-02 22:33:00 +0200 | <segfaultfizzbuzz> | i suppose i am interested in both questions |
2022-05-02 22:33:24 +0200 | <EvanR> | if someone hands you two concrete functions you maybe can prove something, another question is if a program could take two functions as input and spit out a proof |
2022-05-02 22:33:34 +0200 | <dminuoso> | extrinsitic equivalence can of course be tested, in case of a finite domain this is easy, in case of an infinite domain you can only hope to find a counter example. |
2022-05-02 22:33:42 +0200 | x88x88x | (~x88x88x@149.28.53.172) (Remote host closed the connection) |
2022-05-02 22:33:46 +0200 | <tomsmeding> | I mean, are 'return 42' and 'if collatzCounterExampleExists then return 42 else return 10' equal :p |
2022-05-02 22:33:49 +0200 | <segfaultfizzbuzz> | that being said i would probably be interested in "reasonable" restrictions. for example, we may assume a finite number of bits are involved (and a fixed maximum if necessary) |
2022-05-02 22:34:00 +0200 | <dminuoso> | Then you can simply try them all out. |
2022-05-02 22:34:08 +0200 | <segfaultfizzbuzz> | right but age of universe blah blah |
2022-05-02 22:34:21 +0200 | <EvanR> | the size of the function isn't as important as the size of the input space |
2022-05-02 22:34:43 +0200 | <tomsmeding> | there is some wonkyness even with infinite types though: http://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/ |
2022-05-02 22:34:44 +0200 | <segfaultfizzbuzz> | right, we can bound the size of the input (and output) space in number of bits |
2022-05-02 22:35:01 +0200 | <tomsmeding> | if the input type is [Bool], then you can _still_ decide equality, IF you assume that your functions are total |
2022-05-02 22:35:07 +0200 | <EvanR> | this question is getting more and more contrived xD |
2022-05-02 22:35:22 +0200 | <EvanR> | let's say the functions can only operate on C ints |
2022-05-02 22:35:27 +0200 | <geekosaur> | you pretty much have to contrive it to say anything about it |
2022-05-02 22:35:28 +0200 | <EvanR> | on a pentium 2 |
2022-05-02 22:35:32 +0200 | <geekosaur> | other than "mu" |
2022-05-02 22:35:50 +0200 | <[exa]> | segfaultfizzbuzz: in the infinite memory case, rice theorem shows the incomparability pretty well. In the finite case you often get a testing time very exponential in the size of available storage, which gets prohibitive (note that for testing all of 256bit storage you need to burn all electrons in observable universe) |
2022-05-02 22:36:12 +0200 | <dminuoso> | tomsmeding: of course, but thats getting into manual labor territory now. |
2022-05-02 22:36:17 +0200 | <segfaultfizzbuzz> | by storage you mean the number of input bits to the function is 256 bits? |
2022-05-02 22:36:18 +0200 | <tomsmeding> | :p |
2022-05-02 22:36:48 +0200 | <dminuoso> | I recall a haskell library giving us equality on functions over finite domains |
2022-05-02 22:36:48 +0200 | <EvanR> | are we headed for classical logic or finitism, can't tell |
2022-05-02 22:36:51 +0200 | <dminuoso> | What was that library called? |
2022-05-02 22:36:52 +0200 | brooke2k | (~brooke2k@128.226.162.210) |
2022-05-02 22:36:55 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-05-02 22:37:05 +0200 | <[exa]> | segfaultfizzbuzz: no, literally all available storage (you need to track internal state to see whether the function has diverged or not) |
2022-05-02 22:37:22 +0200 | <geekosaur> | @hackage universe |
2022-05-02 22:37:22 +0200 | <lambdabot> | https://hackage.haskell.org/package/universe |
2022-05-02 22:37:30 +0200 | <dminuoso> | That's the one, cheers geekosaur |
2022-05-02 22:37:53 +0200 | <segfaultfizzbuzz> | okay here is another way of looking at this question: |
2022-05-02 22:38:23 +0200 | <EvanR> | so that package answers segfaultfizzbuzz's question directly |
2022-05-02 22:38:24 +0200 | <segfaultfizzbuzz> | are there "reasonable restrictions" on f and g such that we can prove equivalence (in a reasonable amount of time, such as an hour or a day on a ~$1000 computer) |
2022-05-02 22:38:51 +0200 | <[exa]> | segfaultfizzbuzz: yes, many. For example the simply typed subset of lambda calculus |
2022-05-02 22:38:54 +0200 | <segfaultfizzbuzz> | for example, f maps 64 bits to 64 bits, as does g, and we have access to their definitions |
2022-05-02 22:39:32 +0200 | <segfaultfizzbuzz> | "simply typed" ? |
2022-05-02 22:39:49 +0200 | <[exa]> | precisely as in https://en.wikipedia.org/wiki/Simply_typed_lambda_calculus |
2022-05-02 22:40:08 +0200 | Midjak | (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
2022-05-02 22:40:48 +0200 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-05-02 22:41:49 +0200 | y04nn | (~y04nn@2001:ac8:28:93::a15e) |
2022-05-02 22:42:01 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2022-05-02 22:42:35 +0200 | x88x88x | (~x88x88x@149.28.53.172) |
2022-05-02 22:43:19 +0200 | riatre | (~quassel@2001:310:6000:f::5198:1) (Ping timeout: 240 seconds) |
2022-05-02 22:43:23 +0200 | <[exa]> | (actually, wait, the STLC allows you to dodge infinity problems, but you can still encode numbers in it, allowing the programs to take exponential time to compute) |
2022-05-02 22:43:23 +0200 | <tomsmeding> | segfaultfizzbuzz: no, let f () = 'if collatzCounterExampleExists then return 1 else return 0' |
2022-05-02 22:43:27 +0200 | <tomsmeding> | f :: () -> Bit |
2022-05-02 22:43:29 +0200 | riatre | (~quassel@2001:310:6000:f::5198:1) |
2022-05-02 22:44:11 +0200 | <tomsmeding> | okay that one is not STLC, so use collatzCounterExampleExistsBelowN with some arbitrarily large number, takes arbitrarily long time (probably) |
2022-05-02 22:44:31 +0200 | <[exa]> | +1 ^ |
2022-05-02 22:44:59 +0200 | <EvanR> | what is this finitist nonsense |
2022-05-02 22:45:00 +0200 | dsrt^ | (~dsrt@50.227.69.228) (Ping timeout: 276 seconds) |
2022-05-02 22:45:15 +0200 | brooke2k | (~brooke2k@128.226.162.210) (Quit: Client closed) |
2022-05-02 22:45:21 +0200 | dsrt^ | (~dsrt@50.227.69.228) |
2022-05-02 22:45:21 +0200 | <dminuoso> | segfaultfizzbuzz: By the way, without restrictions, this problem is equivalent to the halting problem. A general algorithm that determines the extrinsic equivalent for any two functions cannot exist. |
2022-05-02 22:45:22 +0200 | <EvanR> | you're ruining my theoretical purity |
2022-05-02 22:45:44 +0200 | <dminuoso> | (See rice's theorem) |
2022-05-02 22:45:48 +0200 | <[exa]> | EvanR: no worries our finitism is infinitely extensible |
2022-05-02 22:45:58 +0200 | <EvanR> | ok good |
2022-05-02 22:46:34 +0200 | <dminuoso> | Is there tooling to quickly list all licenses of a dependency closure? |
2022-05-02 22:46:56 +0200 | <dminuoso> | Or does cabal have some mechanisms to validate whether a given license is compatible with dependencies? |
2022-05-02 22:47:25 +0200 | <geekosaur> | https://hackage.haskell.org/package/licensor ? |
2022-05-02 22:47:39 +0200 | <tomsmeding> | sounds not too hard to use cabal-plan to get transitive dependency tree, 'ghc-pkg describe' to get the fields, and get the license identifier from there |
2022-05-02 22:47:51 +0200 | <geekosaur> | cabal itself does not. I don't think SPDX considers license compatibility |
2022-05-02 22:48:02 +0200 | <segfaultfizzbuzz> | ah equivalence to halting is interesting |
2022-05-02 22:48:45 +0200 | <dminuoso> | Ahh thanks |
2022-05-02 22:49:02 +0200 | <dminuoso> | geekosaur: That link let me to some more links, and then some. Then I found a note that cabal-plan can do this. |
2022-05-02 22:49:14 +0200 | <segfaultfizzbuzz> | so then we might add the restriction that f and g are both known to be total |
2022-05-02 22:49:15 +0200 | <dminuoso> | With flag license-report it has the command license-report |
2022-05-02 22:49:31 +0200 | <dminuoso> | cabal-dependency-licenses also appears to exist. |
2022-05-02 22:49:52 +0200 | <geekosaur> | but seemed somewhat old and I think pre-SPDX which should simplify things |
2022-05-02 22:49:52 +0200 | <dminuoso> | But given that I have cabal-plan everywhere anyway, I guess Ill just rebuild that with that flag |
2022-05-02 22:50:14 +0200 | <[exa]> | segfaultfizzbuzz: totality only gives you a certain, but basically unrestricted upper bound on how long the check takes |
2022-05-02 22:50:43 +0200 | <tomsmeding> | [exa]: doesn't it only give you the upper bound of "not infinite" |
2022-05-02 22:50:46 +0200 | <geekosaur> | ackermann function is total, but for most inputs takes longer than the lifetime of the universe |
2022-05-02 22:51:02 +0200 | <tomsmeding> | which is not a particularly useful bound in practice :p |
2022-05-02 22:51:11 +0200 | <[exa]> | tomsmeding: yes |
2022-05-02 22:51:33 +0200 | <segfaultfizzbuzz> | hmm, so f and g have fixed wallclock maximum execution time? |
2022-05-02 22:51:34 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
2022-05-02 22:51:35 +0200 | MoY | (~MoY@139.59.225.128) |
2022-05-02 22:51:40 +0200 | <[exa]> | segfaultfizzbuzz: in short, general programs are evil. |
2022-05-02 22:52:04 +0200 | <segfaultfizzbuzz> | is there a more uh "strict" restriction than totality? |
2022-05-02 22:52:33 +0200 | <tomsmeding> | why are you asking? :p |
2022-05-02 22:53:02 +0200 | <dminuoso> | EvanR | this question is getting more and more contrived xD |
2022-05-02 22:53:10 +0200 | <segfaultfizzbuzz> | so i can understand what a function is. but i can stop polluting the room if you like |
2022-05-02 22:53:21 +0200 | <[exa]> | segfaultfizzbuzz: any smaller complexity classes help, e.g. just PSPACE (usually simple to reach for many algorithms) restricts your program to NP-like running time |
2022-05-02 22:53:31 +0200 | <tomsmeding> | segfaultfizzbuzz: a mathematical function or a Haskell program? |
2022-05-02 22:53:43 +0200 | <[exa]> | ( segfaultfizzbuzz: we can migrate to #-offtopic if required ) |
2022-05-02 22:53:48 +0200 | <dminuoso> | We can also talk about intrinsic equivalence, because even that has shades of grey. |
2022-05-02 22:54:02 +0200 | <dminuoso> | We can have equivalence up to any number of isomorphisms. |
2022-05-02 22:54:19 +0200 | <EvanR> | the goal post is taking the form of an atomic orbital |
2022-05-02 22:54:36 +0200 | hololeap | (~hololeap@user/hololeap) |
2022-05-02 22:55:01 +0200 | <sclv> | there's a beautiful branch of math known as recursion theory and a whole collection of hierarchies of strength |
2022-05-02 22:55:13 +0200 | <segfaultfizzbuzz> | if you want a better question, here is my attempt: "what are the minimal (known?) restrictions on f and g such that my computer can probably prove they are equivalent?" |
2022-05-02 22:55:16 +0200 | <sclv> | one of the most basic places to start is primitive recursive functions https://en.wikipedia.org/wiki/Primitive_recursive_function |
2022-05-02 22:55:24 +0200 | <dminuoso> | "probably"? |
2022-05-02 22:55:42 +0200 | anomal | (~anomal@87.227.196.109) |
2022-05-02 22:55:46 +0200 | <EvanR> | greater than 50 50 chance |
2022-05-02 22:55:58 +0200 | <dminuoso> | Oh, so now we want a probability algorithm? |
2022-05-02 22:56:05 +0200 | <dminuoso> | I cant fathom how we got here |
2022-05-02 22:56:23 +0200 | <segfaultfizzbuzz> | ok, sounds like the room is unhappy, i will move to offtopic. thanks for indulging folks |
2022-05-02 22:56:46 +0200 | <[exa]> | I guess we meant "provably" ? |
2022-05-02 22:57:19 +0200 | <segfaultfizzbuzz> | see #haskell-offtopic, thanks folks |
2022-05-02 22:57:40 +0200 | <EvanR> | probability does come up in some examples of non computable numbers, functions |
2022-05-02 22:57:51 +0200 | <EvanR> | somehow |
2022-05-02 22:57:55 +0200 | <dminuoso> | If we just want a probalistic algorithm, I can give you one |
2022-05-02 22:58:05 +0200 | <dminuoso> | equivalent f g = False |
2022-05-02 22:58:21 +0200 | <dminuoso> | I guarantee, for a truly random choice of `f` and `g`, this will most of the time be right. |
2022-05-02 22:58:27 +0200 | MoY | (~MoY@139.59.225.128) (Quit: Client closed) |
2022-05-02 22:58:27 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds) |
2022-05-02 23:02:07 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2022-05-02 23:03:18 +0200 | abrantesasf | (~abrantesa@179.217.49.34) |
2022-05-02 23:03:57 +0200 | mjs2600 | (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
2022-05-02 23:06:23 +0200 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2022-05-02 23:06:47 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2022-05-02 23:16:17 +0200 | romesrf | (~romes@185.5.8.134) (Quit: WeeChat 3.4.1) |
2022-05-02 23:18:04 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
2022-05-02 23:18:16 +0200 | vicfred | (~vicfred@user/vicfred) |
2022-05-02 23:19:08 +0200 | michalz | (~michalz@185.246.204.126) (Remote host closed the connection) |
2022-05-02 23:21:00 +0200 | hololeap | (~hololeap@user/hololeap) |
2022-05-02 23:25:23 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2022-05-02 23:25:33 +0200 | stevenxl | (~stevenxl@c-73-72-2-81.hsd1.il.comcast.net) (Ping timeout: 246 seconds) |
2022-05-02 23:30:04 +0200 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 240 seconds) |
2022-05-02 23:34:17 +0200 | hololeap | (~hololeap@user/hololeap) |
2022-05-02 23:34:36 +0200 | mikoto-chan | (~mikoto-ch@213.177.151.239) (Ping timeout: 240 seconds) |
2022-05-02 23:36:12 +0200 | <tdammers> | given that there are infinitely many functions out there, for a truly random choice, it will *always* be right |
2022-05-02 23:36:36 +0200 | <tdammers> | (fsvo of "infinite", "truly", "random", "choice", and "always") |
2022-05-02 23:36:53 +0200 | deadmarshal_ | (~deadmarsh@95.38.228.138) |
2022-05-02 23:37:10 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2022-05-02 23:37:32 +0200 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2022-05-02 23:39:04 +0200 | mmhat | (~mmh@2001:4090:a242:802a:ee08:6bff:fe09:5315) (Quit: WeeChat 3.5) |
2022-05-02 23:41:25 +0200 | deadmarshal_ | (~deadmarsh@95.38.228.138) (Ping timeout: 260 seconds) |
2022-05-02 23:43:19 +0200 | <dminuoso> | Ill let Cantor sort out the details. |
2022-05-02 23:44:10 +0200 | <dminuoso> | tdammers: Since this is Haskell code, and the universe inside the cosmic horizon is finite in terms of matter that we can use to build a computer from, there's only a finite number of functions we can represent and thus test. |
2022-05-02 23:44:37 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2022-05-02 23:45:58 +0200 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.4.1) |
2022-05-02 23:46:17 +0200 | <monochrom> | I might just run Quickcheck for probable checks. |
2022-05-02 23:47:15 +0200 | <monochrom> | I think I understand the meaning and motivation of the original question, but it was worded poorly. |
2022-05-02 23:47:57 +0200 | <monochrom> | But there is a pun opportunity for s/I think I/I probably/ heh |
2022-05-02 23:51:12 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2022-05-02 23:56:54 +0200 | stackdroid18 | (~stackdroi@user/stackdroid) (Quit: hasta la vista... tchau!) |
2022-05-02 23:58:48 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |