Logs on 2023-02-13 (liberachat/#haskell)
| 00:11:05 | → | merijn joins (~merijn@145.90.225.11) |
| 00:13:51 | × | lackita quits (~lackita@73.114.250.252) (Ping timeout: 248 seconds) |
| 00:14:11 | → | lackita joins (~lackita@73.114.250.252) |
| 00:16:37 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 00:20:36 | <cheater> | any suggestions on a library to store a single haskell value in a file? like a record that contains stuff that's showable and readable. i don't need it to be a database or whatever. |
| 00:20:47 | × | lackita quits (~lackita@73.114.250.252) (Ping timeout: 248 seconds) |
| 00:20:54 | <cheater> | a record that contains tuples and lists of strings and ints |
| 00:21:36 | → | lackita joins (~lackita@73.114.250.252) |
| 00:21:42 | <cheater> | i thought maybe haskey-mtl but... nah, that's too complex and too involved |
| 00:22:21 | <sm> | just show and writeFile ? |
| 00:22:27 | <cheater> | yeah, i was thinking of that honestly. |
| 00:28:40 | <sm> | pretty-show if you like, I think it's still readable |
| 00:29:09 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:cd1a:e6be:bfd3:350) (Remote host closed the connection) |
| 00:32:45 | <cheater> | yeah i was just thinking of that sm |
| 00:33:05 | <cheater> | you mean 'read' - able, don't you |
| 00:33:08 | <cheater> | yeah i think it is |
| 00:36:12 | <cheater> | hmm, once you get past the obtuse lack of documentation and weird-ass example code, msgpack-rpc-conduit is unoffensive to use |
| 00:36:15 | <dsal> | cheater: I need a pretty good excuse to not use sqlite |
| 00:36:33 | <cheater> | dsal: i don't want to think about sqlite |
| 00:36:36 | <cheater> | that's my excuse |
| 00:37:34 | <cheater> | of course, msgpack-rpc-conduit can do rpc of IO values, but as the caller it leaves you in the dark about stuff like exceptions happening |
| 00:37:48 | <cheater> | which is less nice |
| 00:38:02 | <dsal> | I don't want to think about whether the file is corrupt from a partial write or how I might recover from something dumb happening. |
| 00:38:13 | × | acidjnk quits (~acidjnk@2003:d6:e715:c488:698a:1110:aea1:4b48) (Ping timeout: 252 seconds) |
| 00:38:58 | <dsal> | File IO is kind of hard on the edges. SQLite is one of the most deployed bits of software in the world and does all the file writes. I enjoy not having to think about that. :) |
| 00:41:10 | <hpc> | "hard on the edges" is putting it lightly - https://danluu.com/filesystem-errors/ |
| 00:45:33 | × | merijn quits (~merijn@145.90.225.11) (Ping timeout: 252 seconds) |
| 00:46:47 | <cheater> | yeah that's a good point dsal |
| 00:46:49 | <cheater> | but also |
| 00:46:52 | <cheater> | this is for junk code |
| 00:47:28 | × | lackita quits (~lackita@73.114.250.252) (Ping timeout: 248 seconds) |
| 00:47:43 | → | lackita joins (~lackita@73.114.250.252) |
| 00:48:17 | <dsal> | I live off of junk code. |
| 00:50:22 | × | wroathe quits (~wroathe@user/wroathe) (Quit: Reconnecting) |
| 00:50:35 | → | wroathe joins (~wroathe@207.153.38.140) |
| 00:50:35 | × | wroathe quits (~wroathe@207.153.38.140) (Changing host) |
| 00:50:35 | → | wroathe joins (~wroathe@user/wroathe) |
| 00:50:46 | <geekosaur> | thing is, if people really believed that, they wouldn't only use sqlite, they'd use zfs |
| 00:53:35 | <cheater> | and backup |
| 00:55:19 | <EvanR> | sqlite is great. For storing a single haskell value that can be restored it's overkill |
| 00:56:08 | <EvanR> | also `read' would be wrong here because the file could easily contain nonsense. Use reads and pattern match on the results |
| 00:58:03 | <EvanR> | to overwrite the file be sure to write to a temp file first, then issue a filesystem move which is atomic (I think) |
| 00:58:13 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving) |
| 00:58:30 | <geekosaur> | only on a single local filesystem |
| 00:59:33 | <dsal> | Yeah, I'm using sqlite on zfs. :) |
| 01:00:06 | <Clinton[m]> | If I've got a function:... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/b0a7b9764fbfa0e6ab5b6652a09bc68e6c8d6b80>) |
| 01:00:12 | × | johnw quits (~johnw@2600:1700:cf00:db0:9d96:30a:a02f:6e8d) (Quit: ZNC - http://znc.in) |
| 01:01:34 | × | Tuplanolla quits (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.) |
| 01:02:16 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 01:02:57 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 01:03:59 | → | califax joins (~califax@user/califx) |
| 01:04:36 | <Clinton[m]> | If I've got a function:... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/1d928c530c98ce3ccef743af98c146ecf8a7c997>) |
| 01:10:47 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:12:01 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 01:16:55 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:17:13 | × | maximalmuncher quits (~maximalmu@108.168.13.112) (Quit: Leaving) |
| 01:17:47 | <EvanR> | Clinton[m], isn't that an impredicative type |
| 01:18:33 | × | mechap quits (~mechap@user/mechap) (Ping timeout: 252 seconds) |
| 01:18:36 | <EvanR> | you could make a datatype to stand for forall v. c v => m v |
| 01:18:42 | <EvanR> | and then make a list of that |
| 01:20:44 | → | mechap joins (~mechap@user/mechap) |
| 01:21:31 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 252 seconds) |
| 01:23:16 | <monochrom> | Can you convert f to f' :: t -> (forall u. c u -> m u)? Because then map f' x has the type you want. Turning on ImpredicativeTypes. |
| 01:26:06 | <monochrom> | The conversion can be as simple as f' x = f x. Although f' = f is a type error due to simple subsumption. |
| 01:27:47 | <monochrom> | Oh haha because of that, you can simply map (\x -> f x) x. |
| 01:29:36 | <monochrom> | This is beautiful. The downside of simple subsumption is that we lose eta equivalence. The upside is that we can pass type checking just by eta expanding. :) |
| 01:29:38 | → | eggplantade joins (~Eggplanta@104.55.37.220) |
| 01:29:49 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 01:30:03 | <EvanR> | map (\x -> f x) xs -- the pain... |
| 01:30:26 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 01:32:25 | <monochrom> | Unpopular opinion: Simple subsumption obsoletes hlint. |
| 01:32:48 | <monochrom> | At least its "why not f?" advice. |
| 01:33:57 | × | eggplantade quits (~Eggplanta@104.55.37.220) (Ping timeout: 252 seconds) |
| 01:36:31 | × | xff0x quits (~xff0x@138.64.81.74) (Ping timeout: 252 seconds) |
| 01:36:41 | × | Ranhir quits (~Ranhir@157.97.53.139) (Read error: Connection reset by peer) |
| 01:36:54 | → | freeside joins (~mengwong@103.252.202.170) |
| 01:38:52 | → | Ranhir joins (~Ranhir@157.97.53.139) |
| 01:42:23 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 252 seconds) |
| 01:44:46 | → | son0p joins (~ff@190.158.28.118) |
| 01:48:02 | → | razetime joins (~Thunderbi@117.193.7.116) |
| 01:51:10 | <EvanR> | what does simple subsumption have to do with impredicative types (or am I walking into an "Everything") |
| 01:55:42 | × | bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 02:13:55 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 02:14:35 | × | gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
| 02:14:53 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:cd1a:e6be:bfd3:350) |
| 02:18:54 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 02:24:19 | → | xff0x joins (~xff0x@125.103.176.34) |
| 02:24:33 | × | ddellacosta quits (~ddellacos@146.70.166.203) (Ping timeout: 252 seconds) |
| 02:25:17 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
| 02:25:19 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 252 seconds) |
| 02:26:43 | → | ddellacosta joins (~ddellacos@146.70.166.139) |
| 02:26:49 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 02:27:05 | × | Unode quits (~Unode@194.94.44.220) (Ping timeout: 255 seconds) |
| 02:27:45 | → | Hammdist joins (~Hammdist@67.169.114.135) |
| 02:27:59 | × | son0p quits (~ff@190.158.28.118) (Ping timeout: 255 seconds) |
| 02:29:11 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 02:33:58 | → | Unode joins (~Unode@fg-ext-220.embl.de) |
| 02:37:25 | → | yl53[m] joins (~yl53matri@2001:470:69fc:105::85b) |
| 02:42:19 | → | merijn joins (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) |
| 02:43:59 | → | freeside joins (~mengwong@103.252.202.170) |
| 02:50:35 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 252 seconds) |
| 02:55:31 | × | gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 02:56:35 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 02:57:52 | × | oldfashionedcow quits (~Rahul_San@user/oldfashionedcow) (Quit: WeeChat 3.8) |
| 02:58:46 | → | retrosenator joins (~retrosena@174.211.101.209) |
| 03:11:19 | <monochrom> | Impredicative typing and type inference didn't mix well until the paper for how to do it with bidirectional type inference, but it needs simple subsumption. |
| 03:11:23 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:11:23 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 03:11:23 | finn_elija | is now known as FinnElija |
| 03:12:32 | <monochrom> | The "quick look" paper. |
| 03:14:48 | × | jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection) |
| 03:15:10 | → | emmanuelux_ joins (~emmanuelu@user/emmanuelux) |
| 03:15:52 | × | merijn quits (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
| 03:18:40 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Ping timeout: 252 seconds) |
| 03:20:05 | × | gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 03:20:21 | → | gentauro joins (~gentauro@user/gentauro) |
| 03:23:46 | × | [Leary] quits (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
| 03:33:31 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds) |
| 03:38:00 | → | gpncarl joins (~gpncarl@210.12.195.6) |
| 03:46:42 | pi1 | is now known as johnjaye |
| 03:48:59 | × | razetime quits (~Thunderbi@117.193.7.116) (Ping timeout: 255 seconds) |
| 03:50:30 | → | MQ-17J joins (~MQ-17J@d192-24-122-179.try.wideopenwest.com) |
| 03:52:11 | → | [Leary] joins (~Leary]@user/Leary/x-0910699) |
| 03:56:35 | × | td_ quits (~td@83.135.9.6) (Ping timeout: 252 seconds) |
| 03:58:30 | → | td_ joins (~td@83.135.9.23) |
| 03:58:42 | → | thongpv87 joins (~thongpv87@2402:9d80:3fd:3cf0:4fbb:f51:da03:f653) |
| 04:00:00 | × | Taneb quits (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (Quit: I seem to have stopped.) |
| 04:01:09 | → | Taneb joins (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) |
| 04:07:07 | → | freeside joins (~mengwong@103.252.202.170) |
| 04:11:15 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 252 seconds) |
| 04:14:24 | × | [Leary] quits (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
| 04:15:17 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 04:17:51 | → | [Leary] joins (~Leary]@user/Leary/x-0910699) |
| 04:32:44 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 04:32:49 | → | razetime joins (~Thunderbi@117.193.7.116) |
| 04:34:32 | × | superbil quits (~superbil@1-34-176-171.hinet-ip.hinet.net) (Quit: WeeChat 3.7.1) |
| 04:36:55 | → | king_gs joins (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) |
| 04:37:10 | → | superbil joins (~superbil@1-34-176-171.hinet-ip.hinet.net) |
| 04:37:20 | × | ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 260 seconds) |
| 04:46:55 | × | thongpv87 quits (~thongpv87@2402:9d80:3fd:3cf0:4fbb:f51:da03:f653) (Ping timeout: 248 seconds) |
| 04:47:02 | × | king_gs quits (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) (Quit: king_gs) |
| 04:49:53 | → | mbuf joins (~Shakthi@49.204.138.212) |
| 04:55:45 | → | ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
| 04:58:26 | × | retrosenator quits (~retrosena@174.211.101.209) (Quit: Lost terminal) |
| 04:58:26 | × | Vajb quits (~Vajb@2001:999:404:9516:d621:6cbe:c71e:5686) (Read error: Connection reset by peer) |
| 04:59:01 | → | Vajb joins (~Vajb@88.195.165.27) |
| 05:00:21 | × | dolio quits (~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in) |
| 05:01:57 | → | dolio joins (~dolio@130.44.134.54) |
| 05:04:21 | × | dolio quits (~dolio@130.44.134.54) (Client Quit) |
| 05:04:56 | → | freeside joins (~mengwong@103.252.202.170) |
| 05:07:47 | → | dolio joins (~dolio@130.44.134.54) |
| 05:09:19 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 248 seconds) |
| 05:11:45 | × | Vajb quits (~Vajb@88.195.165.27) (Read error: Connection reset by peer) |
| 05:14:15 | → | merijn joins (~merijn@145.90.225.11) |
| 05:18:43 | × | merijn quits (~merijn@145.90.225.11) (Ping timeout: 252 seconds) |
| 05:19:44 | → | Vajb joins (~Vajb@2001:999:404:9516:d621:6cbe:c71e:5686) |
| 05:20:09 | → | freeside joins (~mengwong@103.252.202.170) |
| 05:24:50 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 255 seconds) |
| 05:27:32 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 05:32:00 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 05:40:03 | → | cole-k joins (~cole@rrcs-24-43-123-86.west.biz.rr.com) |
| 05:41:13 | <cole-k> | I figure it doesn't exist, but I wanted to know if there was a flag you can pass to runghc to get it to set stdin's buffering to NoBuffering. |
| 05:47:11 | <dsal> | I'd expect your program to be responsible for that. |
| 05:47:30 | → | freeside joins (~mengwong@103.252.202.170) |
| 05:48:05 | → | phma_ joins (phma@2001:5b0:211b:c4b8:e97:ef7f:945d:9d26) |
| 05:48:08 | × | phma quits (~phma@host-67-44-208-154.hnremote.net) (Read error: Connection reset by peer) |
| 05:51:22 | <cole-k> | unfortunate, that's what i figured. couldn't find "stdin" or "buffering" or anything related to that in the docs |
| 05:51:43 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 252 seconds) |
| 05:52:00 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds) |
| 05:54:37 | <dsal> | https://hackage.haskell.org/package/base-4.17.0.0/docs/System-IO.html |
| 05:55:16 | <cole-k> | yeah i'm aware of that. was hoping to configure it from the CLI to save on chars in my entry to the tiny game jam |
| 05:56:02 | <cole-k> | which i will admit is kind of cheating but it's sooooo many characters just to set NoBuffering :( |
| 05:58:25 | → | shapr joins (~user@net-5-88-238-17.cust.vodafonedsl.it) |
| 05:59:09 | <Axman6> | cole-k: I thin you could all the command to do that to a .ghci file |
| 06:00:45 | <Axman6> | cole-k: https://downloads.haskell.org/ghc/latest/docs/users_guide/ghci.html?highlight=ghci#the-ghci-and-haskeline-files |
| 06:00:52 | → | rlj joins (~rlj@194-218-34-180.customer.telia.com) |
| 06:02:35 | <cole-k> | Thanks Axman6 for the suggestion, unfortunately I think that reading from an external file is explicitly not allowed in the rules (i was trying to exploit a more gray area loophole) |
| 06:02:57 | <cole-k> | i'm guessing they'd count .ghci toward that |
| 06:03:02 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 06:03:49 | → | califax joins (~califax@user/califx) |
| 06:04:56 | × | analoq quits (~yashi@user/dies) (Ping timeout: 246 seconds) |
| 06:06:43 | → | analoq joins (~yashi@user/dies) |
| 06:07:18 | → | freeside joins (~mengwong@103.252.202.170) |
| 06:10:15 | × | cole-k quits (~cole@rrcs-24-43-123-86.west.biz.rr.com) (Remote host closed the connection) |
| 06:11:35 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 246 seconds) |
| 06:20:04 | <EvanR> | is modifying the compiler explicitly not allowed in the rules? xD |
| 06:25:41 | → | thongpv joins (~thongpv87@123.31.163.143) |
| 06:34:56 | → | freeside joins (~mengwong@103.252.202.170) |
| 06:36:22 | → | king_gs joins (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) |
| 06:37:57 | → | takuan joins (~takuan@178.116.218.225) |
| 06:39:23 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 252 seconds) |
| 06:40:07 | → | trev joins (~trev@user/trev) |
| 06:41:34 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 06:42:45 | × | king_gs quits (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) (Quit: king_gs) |
| 06:44:54 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 06:57:05 | → | freeside joins (~mengwong@103.252.202.170) |
| 07:00:45 | × | nattiestnate quits (~nate@202.138.250.62) (Quit: WeeChat 3.8) |
| 07:01:13 | × | thongpv quits (~thongpv87@123.31.163.143) (Remote host closed the connection) |
| 07:03:43 | → | thongpv joins (~thongpv87@123.31.163.143) |
| 07:04:19 | × | opticblast quits (~Thunderbi@172.58.84.5) (Quit: opticblast) |
| 07:06:08 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 248 seconds) |
| 07:07:37 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 252 seconds) |
| 07:09:02 | → | thongpv87 joins (~thongpv87@123.31.163.143) |
| 07:11:27 | × | thongpv quits (~thongpv87@123.31.163.143) (Ping timeout: 248 seconds) |
| 07:11:31 | → | johnw joins (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
| 07:11:56 | × | falafel quits (~falafel@2607:fb91:143f:e47f:3f5:ed1d:a924:9b13) (Ping timeout: 255 seconds) |
| 07:14:43 | → | merijn joins (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) |
| 07:14:55 | → | michalz joins (~michalz@185.246.204.126) |
| 07:23:49 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 252 seconds) |
| 07:27:17 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:c665:fff:9207:b36e) |
| 07:42:53 | → | freeside joins (~mengwong@103.252.202.170) |
| 07:49:16 | × | merijn quits (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds) |
| 07:49:40 | × | emmanuelux_ quits (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 07:50:39 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 260 seconds) |
| 07:52:45 | × | MQ-17J quits (~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer) |
| 07:55:02 | × | shriekingnoise quits (~shrieking@186.137.175.87) (Quit: Quit) |
| 07:55:21 | → | shriekingnoise joins (~shrieking@186.137.175.87) |
| 07:58:02 | → | MQ-17J joins (~MQ-17J@104.28.248.165) |
| 07:59:15 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 08:00:22 | → | thongpv joins (~thongpv87@123.31.163.143) |
| 08:01:09 | × | dolio quits (~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in) |
| 08:01:53 | × | thongpv87 quits (~thongpv87@123.31.163.143) (Ping timeout: 252 seconds) |
| 08:02:37 | × | razetime quits (~Thunderbi@117.193.7.116) (Ping timeout: 252 seconds) |
| 08:02:49 | → | dolio joins (~dolio@130.44.134.54) |
| 08:03:07 | → | mncheckm joins (~mncheck@193.224.205.254) |
| 08:03:08 | × | rlj quits (~rlj@194-218-34-180.customer.telia.com) (Ping timeout: 260 seconds) |
| 08:03:42 | → | freeside joins (~mengwong@103.252.202.170) |
| 08:10:12 | → | merijn joins (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) |
| 08:18:18 | → | razetime joins (~Thunderbi@117.193.7.116) |
| 08:18:25 | × | azure_vermilion quits (~azure_ver@164.39.138.83) (Ping timeout: 252 seconds) |
| 08:19:55 | × | andjjj23 quits (~irc@107.170.228.47) (Remote host closed the connection) |
| 08:25:53 | → | andjjj23 joins (~irc@107.170.228.47) |
| 08:27:22 | → | zeenk joins (~zeenk@2a02:2f04:a214:1e00::7fe) |
| 08:29:20 | → | cfricke joins (~cfricke@user/cfricke) |
| 08:32:23 | × | mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8) |
| 08:32:50 | → | Sinbad joins (~Sinbad@user/sinbad) |
| 08:32:57 | → | acidjnk joins (~acidjnk@p200300d6e715c4786dabe743f9921989.dip0.t-ipconnect.de) |
| 08:36:09 | → | razetime1 joins (~Thunderbi@117.193.7.116) |
| 08:37:31 | × | razetime quits (~Thunderbi@117.193.7.116) (Ping timeout: 248 seconds) |
| 08:37:31 | razetime1 | is now known as razetime |
| 08:38:40 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 08:46:07 | × | danso quits (~danso@danso.ca) (Quit: ZNC - https://znc.in) |
| 08:49:02 | → | thongpv87 joins (~thongpv87@2402:9d80:3fd:3cf0:3e46:edf8:8925:b955) |
| 08:50:34 | → | danso joins (~danso@2600:3c04::f03c:91ff:fe05:6954) |
| 08:51:43 | × | thongpv quits (~thongpv87@123.31.163.143) (Ping timeout: 248 seconds) |
| 08:55:25 | → | avicenzi joins (~avicenzi@2a00:ca8:a1f:b004::c32) |
| 08:56:19 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 08:58:51 | → | Guest8 joins (~Guest8@174-21-178-142.tukw.qwest.net) |
| 09:00:06 | × | srid[m] quits (~sridmatri@2001:470:69fc:105::1c2) (Quit: You have been kicked for being idle) |
| 09:00:10 | → | kenran joins (~user@user/kenran) |
| 09:01:13 | × | kenran quits (~user@user/kenran) (*.net *.split) |
| 09:01:13 | × | phma_ quits (phma@2001:5b0:211b:c4b8:e97:ef7f:945d:9d26) (*.net *.split) |
| 09:01:13 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (*.net *.split) |
| 09:01:13 | × | notzmv quits (~zmv@user/notzmv) (*.net *.split) |
| 09:01:13 | × | dsrt^ quits (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) (*.net *.split) |
| 09:01:13 | × | agevelt[m] quits (~ageveltmo@2001:470:69fc:105::3:16db) (*.net *.split) |
| 09:01:13 | × | foghorn quits (~foghorn@user/foghorn) (*.net *.split) |
| 09:01:13 | × | Guest4659 quits (~m-mzmz6l@vmi833741.contaboserver.net) (*.net *.split) |
| 09:01:13 | × | mjs2600_ quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (*.net *.split) |
| 09:01:13 | × | remexre quits (~remexre@mail.sift.net) (*.net *.split) |
| 09:01:13 | × | Artem[m] quits (~artemtype@2001:470:69fc:105::75b) (*.net *.split) |
| 09:01:13 | × | vladan[m] quits (~vladanmat@2001:470:69fc:105::2:24df) (*.net *.split) |
| 09:01:13 | × | maerwald[m] quits (~maerwaldm@user/maerwald) (*.net *.split) |
| 09:01:13 | × | jean-paul[m] quits (~jean-paul@2001:470:69fc:105::d1ab) (*.net *.split) |
| 09:01:13 | × | zebrag[m] quits (~inkbottle@2001:470:69fc:105::2ff5) (*.net *.split) |
| 09:01:13 | × | ericson2314 quits (~ericson23@2001:470:69fc:105::70c) (*.net *.split) |
| 09:01:13 | × | elvishjerricco quits (~elvishjer@2001:470:69fc:105::6172) (*.net *.split) |
| 09:01:13 | × | Guillaum[m] quits (~guiboumat@2001:470:69fc:105::1:72ac) (*.net *.split) |
| 09:01:13 | × | dgpratt[m] quits (~dgprattma@2001:470:69fc:105::1:dcdd) (*.net *.split) |
| 09:01:13 | × | ncf quits (~n@monade.li) (*.net *.split) |
| 09:01:14 | × | riatre_ quits (~quassel@2001:310:6000:f::5198:1) (*.net *.split) |
| 09:01:14 | × | earthy quits (~arthurvl@2a02-a469-f5e2-1-ba27-ebff-fea0-40b0.fixed6.kpn.net) (*.net *.split) |
| 09:01:14 | × | liskin quits (~liskin@xmonad/liskin) (*.net *.split) |
| 09:01:14 | × | kawzeg_ quits (kawzeg@2a01:7e01::f03c:92ff:fee2:ec34) (*.net *.split) |
| 09:01:14 | × | farn_ quits (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (*.net *.split) |
| 09:01:14 | × | vito quits (sid1962@user/vito) (*.net *.split) |
| 09:01:14 | × | NiKaN quits (sid385034@id-385034.helmsley.irccloud.com) (*.net *.split) |
| 09:01:14 | × | nrr____ quits (sid20938@id-20938.lymington.irccloud.com) (*.net *.split) |
| 09:01:14 | × | ProofTechnique quits (sid79547@id-79547.ilkley.irccloud.com) (*.net *.split) |
| 09:01:14 | × | acertain quits (sid470584@id-470584.hampstead.irccloud.com) (*.net *.split) |
| 09:01:14 | × | edmundnoble quits (sid229620@id-229620.helmsley.irccloud.com) (*.net *.split) |
| 09:01:14 | × | Moyst quits (~moyst@user/moyst) (*.net *.split) |
| 09:01:14 | × | df quits (~ben@justworks.xyz) (*.net *.split) |
| 09:01:14 | × | PHO` quits (~pho@akari.cielonegro.org) (*.net *.split) |
| 09:01:14 | × | Rembane quits (~Rembane@li346-36.members.linode.com) (*.net *.split) |
| 09:01:22 | → | Rembane joins (~Rembane@li346-36.members.linode.com) |
| 09:01:23 | → | remexre joins (~remexre@user/remexre) |
| 09:01:28 | → | df joins (~ben@justworks.xyz) |
| 09:01:30 | → | kenran joins (~user@user/kenran) |
| 09:01:30 | → | root joins (~m-mzmz6l@38.242.236.220) |
| 09:01:31 | → | mjs2600 joins (~mjs2600@24.91.3.49) |
| 09:01:32 | → | ProofTechnique joins (sid79547@2a03:5180:f:3::1:36bb) |
| 09:01:32 | → | vito joins (sid1962@user/vito) |
| 09:01:43 | → | notzmv joins (~zmv@user/notzmv) |
| 09:01:43 | → | dsrt^ joins (~dsrt@24.30.76.89) |
| 09:01:45 | → | earthy joins (~arthurvl@2a02:a469:f5e2:1:ba27:ebff:fea0:40b0) |
| 09:01:45 | → | farn_ joins (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) |
| 09:01:45 | → | liskin joins (~liskin@xmonad/liskin) |
| 09:01:47 | → | kawzeg_ joins (kawzeg@2a01:7e01::f03c:92ff:fee2:ec34) |
| 09:02:02 | root | is now known as Guest5069 |
| 09:02:05 | → | edmundnoble joins (sid229620@helmsley.irccloud.com) |
| 09:02:10 | → | phma_ joins (phma@2001:5b0:211b:c4b8:e97:ef7f:945d:9d26) |
| 09:02:10 | → | acertain joins (sid470584@hampstead.irccloud.com) |
| 09:02:12 | → | nrr____ joins (sid20938@5.254.36.59) |
| 09:02:15 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 09:02:24 | → | PHO` joins (~pho@akari.cielonegro.org) |
| 09:02:28 | → | riatre joins (~quassel@2001:310:6000:f::5198:1) |
| 09:02:38 | → | NiKaN joins (sid385034@helmsley.irccloud.com) |
| 09:02:53 | → | maerwald[m] joins (~maerwaldm@2001:470:69fc:105::1ee) |
| 09:02:57 | → | vladan[m] joins (~vladanmat@2001:470:69fc:105::2:24df) |
| 09:03:17 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 09:03:54 | × | Guest8 quits (~Guest8@174-21-178-142.tukw.qwest.net) (Quit: Client closed) |
| 09:03:55 | → | Artem[m] joins (~artemtype@2001:470:69fc:105::75b) |
| 09:04:03 | → | ncf joins (~n@monade.li) |
| 09:04:04 | × | avicenzi quits (~avicenzi@2a00:ca8:a1f:b004::c32) (Ping timeout: 252 seconds) |
| 09:04:29 | phma_ | is now known as phma |
| 09:04:34 | → | foghorn joins (~foghorn@user/foghorn) |
| 09:05:53 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 09:06:29 | → | Moyst joins (~moyst@user/moyst) |
| 09:06:44 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Client Quit) |
| 09:07:25 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 09:07:26 | → | ericson2314 joins (~ericson23@2001:470:69fc:105::70c) |
| 09:07:56 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 09:08:13 | → | dgpratt[m] joins (~dgprattma@2001:470:69fc:105::1:dcdd) |
| 09:08:53 | → | Guillaum[m] joins (~guiboumat@2001:470:69fc:105::1:72ac) |
| 09:09:31 | → | elvishjerricco joins (~elvishjer@2001:470:69fc:105::6172) |
| 09:09:42 | → | zebrag[m] joins (~inkbottle@2001:470:69fc:105::2ff5) |
| 09:09:46 | → | chele joins (~chele@user/chele) |
| 09:09:51 | → | jean-paul[m] joins (~jean-paul@2001:470:69fc:105::d1ab) |
| 09:10:04 | → | agevelt[m] joins (~ageveltmo@2001:470:69fc:105::3:16db) |
| 09:11:19 | × | shapr quits (~user@net-5-88-238-17.cust.vodafonedsl.it) (Remote host closed the connection) |
| 09:14:05 | × | tcard_ quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection) |
| 09:14:17 | → | tcard_ joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 09:16:13 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 09:18:55 | ← | nerdypepper parts (~nerdypepp@user/nerdypepper) (WeeChat 3.8) |
| 09:19:19 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 09:20:53 | → | rlj joins (~rlj@c-5eea65c2-74736162.cust.telenor.se) |
| 09:25:59 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 09:28:23 | × | [Leary] quits (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
| 09:29:40 | → | gurkenglas joins (~gurkengla@dynamic-046-114-178-040.46.114.pool.telefonica.de) |
| 09:32:11 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 246 seconds) |
| 09:32:58 | → | enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
| 09:36:50 | → | [Leary] joins (~Leary]@user/Leary/x-0910699) |
| 09:38:26 | → | maroloccio joins (~marolocci@90.167.158.133) |
| 09:40:41 | × | [Leary] quits (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
| 09:44:10 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 09:51:47 | → | [Leary] joins (~Leary]@user/Leary/x-0910699) |
| 09:53:56 | → | CiaoSen joins (~Jura@p200300c9570460002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 09:55:38 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 09:59:20 | → | freeside joins (~mengwong@103.252.202.170) |
| 10:03:43 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 248 seconds) |
| 10:04:23 | → | nschoe joins (~q@141.101.51.197) |
| 10:05:57 | × | gurkenglas quits (~gurkengla@dynamic-046-114-178-040.46.114.pool.telefonica.de) (Ping timeout: 268 seconds) |
| 10:06:19 | × | ft quits (~ft@p3e9bc443.dip0.t-ipconnect.de) (Quit: leaving) |
| 10:07:11 | → | gurkenglas joins (~gurkengla@dynamic-046-114-178-040.46.114.pool.telefonica.de) |
| 10:09:52 | × | rlj quits (~rlj@c-5eea65c2-74736162.cust.telenor.se) (Quit: Client closed) |
| 10:15:31 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:cd1a:e6be:bfd3:350) (Remote host closed the connection) |
| 10:16:49 | × | xff0x quits (~xff0x@125.103.176.34) (Ping timeout: 252 seconds) |
| 10:18:07 | × | lackita quits (~lackita@73.114.250.252) (Ping timeout: 248 seconds) |
| 10:18:18 | → | lackita joins (~lackita@73.114.250.252) |
| 10:19:52 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 10:20:41 | × | [Leary] quits (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
| 10:20:44 | → | shapr joins (~user@net-5-88-238-17.cust.vodafonedsl.it) |
| 10:22:18 | × | jespada_ quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 10:24:14 | → | [Leary] joins (~Leary]@user/Leary/x-0910699) |
| 10:25:28 | × | xerox quits (~edi@user/edi) (Ping timeout: 252 seconds) |
| 10:27:14 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 10:31:14 | → | xerox joins (~edi@user/edi) |
| 10:32:05 | → | __monty__ joins (~toonn@user/toonn) |
| 10:33:56 | → | rlj joins (~rlj@c-5eea65c2-74736162.cust.telenor.se) |
| 10:35:15 | × | lackita quits (~lackita@73.114.250.252) (Ping timeout: 260 seconds) |
| 10:35:48 | → | lackita joins (~lackita@73.114.250.252) |
| 10:38:14 | × | lackita quits (~lackita@73.114.250.252) (Read error: Connection reset by peer) |
| 10:38:25 | → | lackita joins (~lackita@2600:1000:b04a:d8ea:543f:fb7f:d1cf:2dc5) |
| 10:38:43 | × | lackita quits (~lackita@2600:1000:b04a:d8ea:543f:fb7f:d1cf:2dc5) (Read error: Connection reset by peer) |
| 10:38:55 | → | lackita joins (~lackita@73.114.250.252) |
| 10:42:26 | × | lackita quits (~lackita@73.114.250.252) (Read error: Connection reset by peer) |
| 10:42:58 | → | lackita joins (~lackita@73.114.250.252) |
| 10:47:37 | → | freeside joins (~mengwong@103.252.202.170) |
| 10:47:52 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 10:49:16 | <Inst> | i finally learned how to love monads once I understood the fuss about monads as a fuss about monadic eDSLs |
| 10:49:20 | <Inst> | how dumb is this: |
| 10:49:48 | <Inst> | "The relationship between imperative programming and monadic do is as the relationship between euclidean geometry and non-euclidean geometry" |
| 10:51:45 | <kuribas> | More like the relationship between euclidean geometry, and any geometry (including euclidean and non-euclidean) |
| 10:51:50 | × | gpncarl quits (~gpncarl@210.12.195.6) (Read error: Connection reset by peer) |
| 10:52:00 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 252 seconds) |
| 10:52:13 | → | gpncarl joins (~gpncarl@222.249.231.3) |
| 10:53:47 | <Inst> | thanks for correction |
| 10:54:08 | <kuribas> | although monads are for from geometry. |
| 10:54:16 | <kuribas> | it's a generalization of a concept. |
| 10:54:24 | <kuribas> | s/for/far |
| 10:56:15 | × | shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 260 seconds) |
| 10:56:25 | <kuribas> | you first separate bind (<<=) :: (a -> m b) -> m a -> m b from pure apply ($) :: (a -> b) -> a -> b. |
| 10:56:41 | <kuribas> | Then by generalizing bind you get a monad. |
| 10:56:57 | <kuribas> | That is generalizing `IO` to a type variable m. |
| 10:58:39 | <kuribas> | or kleisly arrow vs composition (.) :: (b -> c) -> (a -> b) -> (a -> c), vs (>=>) :: (b -> m c) -> (a -> m b) -> (a -> m c) |
| 11:00:02 | <kuribas> | You can see that a Monad generalizes function application, or function composition. |
| 11:00:21 | <kuribas> | If you use the Identity monad, you get back pure function composition |
| 11:00:32 | <kuribas> | :t (>=>) @ Identity |
| 11:00:33 | <lambdabot> | error: |
| 11:00:33 | <lambdabot> | Pattern syntax in expression context: (>=>)@Identity |
| 11:00:33 | <lambdabot> | Did you mean to enable TypeApplications? |
| 11:01:27 | <kuribas> | Monad doesn't just generalize imperative programming, it generalizes composition. |
| 11:01:43 | <mauke> | :t (>=>) |
| 11:01:44 | <lambdabot> | Monad m => (a -> m b) -> (b -> m c) -> a -> m c |
| 11:01:58 | <kuribas> | right :) |
| 11:02:03 | <kuribas> | :t (.) |
| 11:02:05 | <lambdabot> | (b -> c) -> (a -> b) -> a -> c |
| 11:02:16 | <kuribas> | :t (<=<) |
| 11:02:17 | <lambdabot> | Monad m => (b -> m c) -> (a -> m b) -> a -> m c |
| 11:02:46 | <mauke> | oh yeah, and with Identity, all the m's just disappear |
| 11:06:11 | <Inst> | interesting |
| 11:07:51 | × | unlucy quits (sid572875@2a03:5180:f::8:bdcb) () |
| 11:08:26 | → | patrl joins (~patrl@user/patrl) |
| 11:11:43 | → | xff0x joins (~xff0x@2405:6580:b080:900:9474:b05a:3851:1ef1) |
| 11:12:10 | × | [Leary] quits (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
| 11:12:26 | × | rlj quits (~rlj@c-5eea65c2-74736162.cust.telenor.se) (Quit: Client closed) |
| 11:13:27 | → | [Leary] joins (~Leary]@user/Leary/x-0910699) |
| 11:16:00 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:cd1a:e6be:bfd3:350) |
| 11:17:29 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds) |
| 11:20:00 | → | use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) |
| 11:20:25 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:cd1a:e6be:bfd3:350) (Ping timeout: 260 seconds) |
| 11:25:35 | → | freeside joins (~mengwong@103.252.202.170) |
| 11:25:59 | <Inst> | i can see how monads generalize function application and composition now |
| 11:26:09 | <Inst> | and why Control.Category has kleisi arrows |
| 11:26:14 | → | biberu\ joins (~biberu@user/biberu) |
| 11:26:31 | <Inst> | well, Control.Arrow |
| 11:26:38 | → | AlexNoo_ joins (~AlexNoo@178.34.160.79) |
| 11:27:16 | → | neightchan joins (~nate@98.45.169.16) |
| 11:27:54 | → | MironZ5 joins (~MironZ@nat-infra.ehlab.uk) |
| 11:28:26 | → | npmania1 joins (~Thunderbi@45.8.223.203) |
| 11:28:44 | → | mniip_ joins (mniip@libera/staff/mniip) |
| 11:28:52 | → | haskl[error] joins (~haskl@user/haskl) |
| 11:28:53 | → | haritzondo joins (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) |
| 11:28:59 | → | gabiruh_ joins (~gabiruh@vps19177.publiccloud.com.br) |
| 11:29:00 | → | davl_ joins (~davl@207.154.228.18) |
| 11:29:02 | → | tstat_ joins (~tstat@user/tstat) |
| 11:29:09 | → | Philonous_ joins (~Philonous@user/philonous) |
| 11:29:20 | → | goober_ joins (~goober@90-231-13-185-no3430.tbcn.telia.com) |
| 11:29:34 | → | Ekho- joins (~Ekho@user/ekho) |
| 11:30:23 | → | turlando_ joins (~turlando@user/turlando) |
| 11:30:24 | → | freeside_ joins (~mengwong@103.252.202.170) |
| 11:30:33 | → | guygastineau joins (~guygastin@137.184.131.156) |
| 11:30:36 | → | dminuoso_ joins (~dminuoso@user/dminuoso) |
| 11:30:54 | → | telser_ joins (~quassel@user/telser) |
| 11:31:02 | → | thaumavorio_ joins (~thaumavor@thaumavor.io) |
| 11:31:11 | → | hammond__ joins (proscan@gateway02.insomnia247.nl) |
| 11:31:18 | → | laman2 joins (~laman@rego.ai) |
| 11:31:24 | → | dfordvm joins (~dfordivam@tk2-219-19469.vs.sakura.ne.jp) |
| 11:31:24 | → | cjay- joins (cjay@nerdbox.nerd2nerd.org) |
| 11:31:25 | → | tomku|two joins (~tomku@user/tomku) |
| 11:31:40 | → | Cheery_ joins (~cheery@server-239-7.tentacle.cloud) |
| 11:31:40 | → | kaol joins (~kaol@94-237-42-30.nl-ams1.upcloud.host) |
| 11:31:42 | → | aku joins (~aku@163.172.137.34) |
| 11:31:50 | <trev> | how can i turn `f n e = divMod n $ 10^e` into a composed function, like `f = flip divMod . (^) 10` ? can't seem to get it right |
| 11:31:51 | → | Logio_ joins (em@kapsi.fi) |
| 11:31:53 | → | AWizzArd_ joins (~code@gehrels.uberspace.de) |
| 11:31:54 | → | myme1 joins (~myme@40.51-175-185.customer.lyse.net) |
| 11:32:10 | → | gh0stbuster joins (~admin@user/ghostbuster) |
| 11:32:29 | → | aforemny_ joins (~aforemny@static.248.158.34.188.clients.your-server.de) |
| 11:32:30 | → | ell6 joins (~ellie@user/ellie) |
| 11:32:31 | → | noctux1 joins (Zx24REiiwW@user/noctux) |
| 11:32:36 | → | heath1 joins (~heath@user/heath) |
| 11:32:40 | → | vgtw_ joins (~vgtw@user/vgtw) |
| 11:32:52 | → | energizer_ joins (~energizer@user/energizer) |
| 11:32:55 | → | noteness_ joins (~noteness@user/noteness) |
| 11:33:07 | <__monty__> | trev: You'd need the blackbird operator. |
| 11:33:20 | → | mcglk_ joins (~mcglk@131.191.49.120) |
| 11:33:27 | <mauke> | @pl f n e = divMod n $ 10^e |
| 11:33:27 | <lambdabot> | f = (. (10 ^)) . divMod |
| 11:33:54 | <trev> | whaaat the... |
| 11:33:54 | <__monty__> | @hoogle Data.Birds |
| 11:33:54 | <lambdabot> | No results found |
| 11:34:01 | <trev> | mauke how does @pl work? |
| 11:34:04 | <mauke> | @pl f e n = divMod n $ 10^e |
| 11:34:04 | <lambdabot> | f = flip divMod . (10 ^) |
| 11:34:24 | → | user2 joins (~user@162.255.84.96) |
| 11:34:31 | <mauke> | ~magic~ |
| 11:34:31 | <__monty__> | @hoogle Data.Aviary.Birds |
| 11:34:31 | <lambdabot> | No results found |
| 11:34:39 | <trev> | ;_; |
| 11:34:40 | <__monty__> | Fine, https://hackage.haskell.org/package/data-aviary |
| 11:34:50 | → | joeyh_ joins (joeyh@2600:3c03::f03c:91ff:fe73:b0d2) |
| 11:34:52 | <mauke> | I don't actually know how it works |
| 11:35:06 | <trev> | HaskellGPT?? |
| 11:35:07 | <mauke> | I assume it systematically eliminates lambdas by rewriting them to certain predefined combinators |
| 11:35:12 | <trev> | yeah prob |
| 11:35:20 | <trev> | thank you for that trick |
| 11:35:25 | <trev> | no birds for me |
| 11:35:36 | <mauke> | I mean, there are entire compilers built on that trick |
| 11:35:43 | <__monty__> | trev: You should also know that once you need flip or any of the birds you've crossed the threshold of when to give up on the point-free style. Hence the name of the @pl command -> Point*Less*. |
| 11:36:01 | <trev> | __monty__ i'm code golfing |
| 11:36:04 | → | sm[i]_ joins (~user@li229-222.members.linode.com) |
| 11:36:13 | × | acidjnk quits (~acidjnk@p200300d6e715c4786dabe743f9921989.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 11:36:17 | <__monty__> | Then you'll want to use the blackbird. |
| 11:36:20 | <trev> | ah pointless, yes. thanks |
| 11:36:28 | × | freeside quits (~mengwong@103.252.202.170) (*.net *.split) |
| 11:36:28 | × | biberu quits (~biberu@user/biberu) (*.net *.split) |
| 11:36:28 | × | npmania quits (~Thunderbi@45.8.223.203) (*.net *.split) |
| 11:36:28 | × | tomku quits (~tomku@user/tomku) (*.net *.split) |
| 11:36:28 | × | AlexNoo quits (~AlexNoo@178.34.160.79) (*.net *.split) |
| 11:36:28 | × | gabiruh quits (~gabiruh@vps19177.publiccloud.com.br) (*.net *.split) |
| 11:36:28 | × | sm[i] quits (~user@plaintextaccounting/sm) (*.net *.split) |
| 11:36:28 | × | AWizzArd quits (~code@user/awizzard) (*.net *.split) |
| 11:36:28 | × | telser quits (~quassel@user/telser) (*.net *.split) |
| 11:36:28 | × | MironZ quits (~MironZ@nat-infra.ehlab.uk) (*.net *.split) |
| 11:36:28 | × | mcglk quits (~mcglk@131.191.49.120) (*.net *.split) |
| 11:36:28 | × | turlando quits (~turlando@user/turlando) (*.net *.split) |
| 11:36:28 | × | inversed quits (~inversed@bcdcac82.skybroadband.com) (*.net *.split) |
| 11:36:28 | × | haritz quits (~hrtz@user/haritz) (*.net *.split) |
| 11:36:28 | × | aku_ quits (~aku@163.172.137.34) (*.net *.split) |
| 11:36:28 | × | kaol_ quits (~kaol@94-237-42-30.nl-ams1.upcloud.host) (*.net *.split) |
| 11:36:28 | × | witcher quits (~witcher@wiredspace.de) (*.net *.split) |
| 11:36:28 | × | cyphase quits (~cyphase@user/cyphase) (*.net *.split) |
| 11:36:28 | × | vgtw quits (~vgtw@user/vgtw) (*.net *.split) |
| 11:36:28 | × | haskl quits (~haskl@user/haskl) (*.net *.split) |
| 11:36:28 | × | esph quits (~weechat@user/esph) (*.net *.split) |
| 11:36:28 | × | paddymahoney quits (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (*.net *.split) |
| 11:36:28 | × | heath quits (~heath@user/heath) (*.net *.split) |
| 11:36:28 | × | energizer quits (~energizer@user/energizer) (*.net *.split) |
| 11:36:28 | × | tstat quits (~tstat@user/tstat) (*.net *.split) |
| 11:36:28 | × | ell quits (~ellie@user/ellie) (*.net *.split) |
| 11:36:28 | × | rendar quits (~Paxman@user/rendar) (*.net *.split) |
| 11:36:28 | × | q0r quits (~user@162.255.84.96) (*.net *.split) |
| 11:36:28 | × | RMSBach quits (~guygastin@137.184.131.156) (*.net *.split) |
| 11:36:28 | × | tomboy64 quits (~tomboy64@user/tomboy64) (*.net *.split) |
| 11:36:28 | × | Philonous quits (~Philonous@user/philonous) (*.net *.split) |
| 11:36:28 | × | natechan quits (~nate@98.45.169.16) (*.net *.split) |
| 11:36:28 | × | hammond_ quits (proscan@user/hammond2) (*.net *.split) |
| 11:36:28 | × | ghostbuster quits (~admin@user/ghostbuster) (*.net *.split) |
| 11:36:28 | × | shailangsa quits (~shailangs@host165-120-169-78.range165-120.btcentralplus.com) (*.net *.split) |
| 11:36:28 | × | myme quits (~myme@40.51-175-185.customer.lyse.net) (*.net *.split) |
| 11:36:28 | × | noteness quits (~noteness@user/noteness) (*.net *.split) |
| 11:36:28 | × | joeyh quits (~joeyh@kitenet.net) (*.net *.split) |
| 11:36:28 | × | goober quits (~goober@90-231-13-185-no3430.tbcn.telia.com) (*.net *.split) |
| 11:36:28 | × | mniip quits (mniip@libera/staff/mniip) (*.net *.split) |
| 11:36:28 | × | thaumavorio quits (~thaumavor@thaumavor.io) (*.net *.split) |
| 11:36:28 | × | cjay quits (cjay@nerdbox.nerd2nerd.org) (*.net *.split) |
| 11:36:28 | × | bcoppens quits (~bartcopp@vpn2.bartcoppens.be) (*.net *.split) |
| 11:36:28 | × | meejah quits (~meejah@rutas.meejah.ca) (*.net *.split) |
| 11:36:28 | × | Logio quits (em@kapsi.fi) (*.net *.split) |
| 11:36:28 | × | Cheery quits (~cheery@7-239-179-185.static.tentacle.fi) (*.net *.split) |
| 11:36:28 | × | Hafydd quits (~Hafydd@user/hafydd) (*.net *.split) |
| 11:36:28 | × | noctuks quits (v2dJtUbze5@user/noctux) (*.net *.split) |
| 11:36:28 | × | Zemyla quits (~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com) (*.net *.split) |
| 11:36:28 | × | Ekho quits (~Ekho@user/ekho) (*.net *.split) |
| 11:36:28 | × | SoF quits (~skius@user/skius) (*.net *.split) |
| 11:36:28 | × | alp quits (~alp@user/alp) (*.net *.split) |
| 11:36:28 | × | dminuoso quits (~dminuoso@user/dminuoso) (*.net *.split) |
| 11:36:28 | × | davl quits (~davl@207.154.228.18) (*.net *.split) |
| 11:36:28 | × | dfordivam1 quits (~dfordivam@tk2-219-19469.vs.sakura.ne.jp) (*.net *.split) |
| 11:36:28 | × | asm quits (~alexander@user/asm) (*.net *.split) |
| 11:36:28 | × | aforemny quits (~aforemny@static.248.158.34.188.clients.your-server.de) (*.net *.split) |
| 11:36:28 | × | laman1 quits (~laman@rego.ai) (*.net *.split) |
| 11:36:29 | × | voidzero quits (~voidzero@user/voidzero) (*.net *.split) |
| 11:36:35 | biberu\ | is now known as biberu |
| 11:36:35 | MironZ5 | is now known as MironZ |
| 11:36:38 | npmania1 | is now known as npmania |
| 11:36:39 | ell6 | is now known as ell |
| 11:36:39 | <__monty__> | A single operator is still shorter than a flip and an operator. |
| 11:36:42 | <trev> | i am restricting myself to Base only |
| 11:37:03 | → | cyphase joins (~cyphase@user/cyphase) |
| 11:37:18 | <trev> | it's for https://github.com/haskell-game/tiny-games-hs, if anyone else wants to play and doesn't know about it |
| 11:37:23 | → | SoF joins (~skius@user/skius) |
| 11:37:23 | → | inversed joins (~inversed@bcdcac82.skybroadband.com) |
| 11:37:28 | <mauke> | __monty__: no, that costs a cabal install and a whole import line |
| 11:38:10 | → | Zemyla joins (~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com) |
| 11:39:00 | → | meejah joins (~meejah@rutas.meejah.ca) |
| 11:39:05 | → | acidjnk joins (~acidjnk@p200300d6e715c4786dabe743f9921989.dip0.t-ipconnect.de) |
| 11:40:25 | → | jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 11:40:28 | → | alp joins (~alp@user/alp) |
| 11:41:23 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 11:41:50 | → | bcoppens joins (~bartcopp@vpn2.bartcoppens.be) |
| 11:41:59 | → | voidzero joins (~voidzero@user/voidzero) |
| 11:42:00 | → | asm joins (~alexander@burner.asm89.io) |
| 11:42:24 | → | rodental joins (~rodental@38.146.5.222) |
| 11:42:24 | → | Hafydd joins (~Hafydd@user/hafydd) |
| 11:43:11 | → | esph joins (~weechat@user/esph) |
| 11:43:21 | → | tomboy64 joins (~tomboy64@user/tomboy64) |
| 11:43:27 | → | witcher joins (~witcher@wiredspace.de) |
| 11:43:59 | × | CiaoSen quits (~Jura@p200300c9570460002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 11:44:07 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 252 seconds) |
| 11:44:17 | → | paddymahoney joins (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) |
| 11:44:48 | × | hpc quits (~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 252 seconds) |
| 11:45:19 | × | malte quits (~malte@152.89.107.66) (Remote host closed the connection) |
| 11:46:25 | → | malte joins (~malte@mal.tc) |
| 11:46:38 | → | hpc joins (~juzz@ip98-169-35-163.dc.dc.cox.net) |
| 11:50:58 | × | [Leary] quits (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
| 11:53:21 | → | Inst_ joins (~Inst@2601:6c4:4081:54f0:d621:5cdd:9051:c240) |
| 11:54:39 | → | [Leary] joins (~Leary]@user/Leary/x-0910699) |
| 11:56:35 | × | Inst quits (~Inst@2601:6c4:4081:54f0:d621:5cdd:9051:c240) (Ping timeout: 260 seconds) |
| 11:59:16 | × | Guest67 quits (~Guest67@159.153.150.4) (Quit: Client closed) |
| 12:01:17 | × | gurkenglas quits (~gurkengla@dynamic-046-114-178-040.46.114.pool.telefonica.de) (Ping timeout: 268 seconds) |
| 12:02:08 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 12:02:58 | → | gurkenglas joins (~gurkengla@dynamic-046-114-178-040.46.114.pool.telefonica.de) |
| 12:05:51 | → | oldfashionedcow joins (~Rahul_San@user/oldfashionedcow) |
| 12:09:56 | → | shailangsa_ joins (~shailangs@host165-120-169-78.range165-120.btcentralplus.com) |
| 12:14:19 | → | MajorBiscuit joins (~MajorBisc@145.94.131.152) |
| 12:14:41 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 12:28:43 | → | CiaoSen joins (~Jura@p200300c9570460002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 12:37:04 | → | chele_ joins (~chele@user/chele) |
| 12:39:27 | × | chele quits (~chele@user/chele) (Ping timeout: 252 seconds) |
| 12:40:17 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 12:43:01 | × | malte quits (~malte@mal.tc) (Remote host closed the connection) |
| 12:44:01 | → | malte joins (~malte@152.89.107.66) |
| 12:46:06 | × | chele_ quits (~chele@user/chele) (Read error: Connection reset by peer) |
| 12:47:27 | → | chele_ joins (~chele@user/chele) |
| 12:48:25 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 12:48:25 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 12:48:25 | finn_elija | is now known as FinnElija |
| 12:50:36 | → | kayvank joins (~user@52-119-115-185.PUBLIC.monkeybrains.net) |
| 12:52:25 | aforemny_ | is now known as aforemny |
| 12:54:30 | → | mmhat joins (~mmh@p200300f1c7067e4aee086bfffe095315.dip0.t-ipconnect.de) |
| 12:55:42 | × | mmhat quits (~mmh@p200300f1c7067e4aee086bfffe095315.dip0.t-ipconnect.de) (Client Quit) |
| 13:03:04 | → | chele__ joins (~chele@user/chele) |
| 13:04:02 | → | tremon joins (~tremon@83-85-213-108.cable.dynamic.v4.ziggo.nl) |
| 13:05:04 | × | freeside_ quits (~mengwong@103.252.202.170) (Ping timeout: 248 seconds) |
| 13:05:47 | × | chele_ quits (~chele@user/chele) (Ping timeout: 248 seconds) |
| 13:06:10 | → | lyle joins (~lyle@104.246.145.237) |
| 13:06:16 | → | freeside joins (~mengwong@103.252.202.170) |
| 13:06:58 | → | chele_ joins (~chele@user/chele) |
| 13:09:43 | × | chele__ quits (~chele@user/chele) (Ping timeout: 260 seconds) |
| 13:10:51 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 256 seconds) |
| 13:12:32 | → | freeside joins (~mengwong@103.252.202.170) |
| 13:12:51 | → | igghibu joins (~igghibu@91.193.5.10) |
| 13:14:39 | × | kaction quits (~kaction@173.66.188.18) (Ping timeout: 252 seconds) |
| 13:17:05 | × | jinsun quits (~jinsun@user/jinsun) (Ping timeout: 260 seconds) |
| 13:18:35 | × | gurkenglas quits (~gurkengla@dynamic-046-114-178-040.46.114.pool.telefonica.de) (Ping timeout: 260 seconds) |
| 13:18:54 | → | gurkenglas joins (~gurkengla@dynamic-046-114-178-040.46.114.pool.telefonica.de) |
| 13:21:02 | × | califax quits (~califax@user/califx) (Ping timeout: 255 seconds) |
| 13:21:50 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
| 13:22:00 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 13:23:02 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 13:23:26 | → | califax joins (~califax@user/califx) |
| 13:23:40 | × | igghibu quits (~igghibu@91.193.5.10) (Quit: igghibu) |
| 13:26:44 | → | yoneda joins (~mike@193.206.102.122) |
| 13:27:55 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 13:28:04 | × | gurkenglas quits (~gurkengla@dynamic-046-114-178-040.46.114.pool.telefonica.de) (Ping timeout: 252 seconds) |
| 13:29:22 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 13:32:46 | <trev> | how do you make stack stop trying to download the latest version? |
| 13:32:54 | <trev> | before installing packages |
| 13:33:36 | <freeside> | the latest version of what? |
| 13:33:41 | <trev> | ghc |
| 13:34:00 | <dminuoso_> | it doesnt download the latest version. |
| 13:34:41 | <dminuoso_> | or well, it will fetch the latest corresponding to your resolver. |
| 13:34:54 | <freeside> | if you want it to use a different version that you already have installed, edit your stack.yaml |
| 13:34:54 | <trev> | hmm that must be it |
| 13:35:13 | <trev> | i didn't know i had a stack.yaml (just want to install a package globally) |
| 13:35:19 | <trev> | outside of a project |
| 13:37:15 | <freeside> | https://stackoverflow.com/questions/49504206/recommended-approach-to-use-stack-as-global-package-manager |
| 13:37:23 | <freeside> | you might still have a ~/.stack/global-project/stack.yaml |
| 13:37:35 | <freeside> | maybe edit the resolver line in that |
| 13:40:10 | <trev> | dang |
| 13:40:15 | <trev> | maybe i'll just use cabal |
| 13:40:20 | <trev> | :D |
| 13:41:11 | <freeside> | whatever works! |
| 13:42:31 | <trev> | actually the wiki says it's a bad idea to install a package globally.. |
| 13:42:34 | <freeside> | i was doing an npm install the other day and got an error, somehow one of the source files had gotten truncated during the download/unpack and npm just went ahead to try building anyway |
| 13:45:40 | <freeside> | if installing a package globally means some executable ends up in ~/.local/bin/, i don't see the problem with that |
| 13:46:17 | × | juri_ quits (~juri@84-19-175-179.pool.ovpn.com) (Ping timeout: 246 seconds) |
| 13:47:47 | → | juri_ joins (~juri@84-19-175-179.pool.ovpn.com) |
| 13:51:06 | × | razetime quits (~Thunderbi@117.193.7.116) (Remote host closed the connection) |
| 13:54:28 | → | notzmv joins (~zmv@user/notzmv) |
| 13:56:09 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 13:58:19 | → | kaction joins (~kaction@70.21.17.108) |
| 13:59:38 | × | gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 14:01:07 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 14:02:55 | × | raym quits (~ray@user/raym) (Quit: kernel update, rebooting...) |
| 14:03:32 | → | jespada_ joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 14:03:45 | × | jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 260 seconds) |
| 14:03:46 | × | lackita quits (~lackita@73.114.250.252) (Ping timeout: 252 seconds) |
| 14:03:54 | → | lackita joins (~lackita@73.114.250.252) |
| 14:06:19 | <trev> | meh tried installed @pl but can't get it to build |
| 14:08:31 | × | noctux quits (~noctux@user/noctux) (Remote host closed the connection) |
| 14:10:48 | <freeside> | i am now running cabal install lambdabot |
| 14:11:26 | × | gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
| 14:11:30 | → | noctux joins (~noctux@user/noctux) |
| 14:11:47 | → | gmg joins (~user@user/gehmehgeh) |
| 14:12:00 | → | jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
| 14:13:29 | × | asm quits (~alexander@burner.asm89.io) (Changing host) |
| 14:13:29 | → | asm joins (~alexander@user/asm) |
| 14:13:47 | <geekosaur> | there are several sticking points as of last time I tried; lots of bitrotted addons 😞 |
| 14:14:02 | × | kaction quits (~kaction@70.21.17.108) (Quit: leaving) |
| 14:14:29 | <freeside> | i tried running cabal install pointfree and i got a MonadFail error |
| 14:14:34 | <freeside> | that would be the bitrot |
| 14:14:35 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 264 seconds) |
| 14:15:03 | <geekosaur> | that should be easy enough to fix |
| 14:15:25 | <freeside> | wow, my .cabal directory is larger than the entire internet was in 1990 |
| 14:15:56 | <geekosaur> | import Control.Monad.Fail and add a MonadFail instance (docs should be in Control.Monad.Fail) |
| 14:16:01 | <geekosaur> | 🙂 |
| 14:16:37 | <geekosaur> | I think I have more memory on my phone than the whole internet back then 🙂 |
| 14:17:07 | <geekosaur> | it's been a wild ride |
| 14:18:50 | <freeside> | lambdabot runs for me, and @pl works, despite pointfree not installing |
| 14:19:18 | <freeside> | good bot |
| 14:19:24 | → | alternateved joins (~user@staticline-31-183-180-86.toya.net.pl) |
| 14:19:33 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 14:19:50 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 14:20:13 | → | thegeekinside joins (~thegeekin@189.180.83.186) |
| 14:21:37 | <freeside> | now i am running 'hoogle generate' |
| 14:22:21 | <freeside> | i wonder if the haskell foundation interfaces with google summer of code to fix these kinds of bitrot |
| 14:22:36 | <freeside> | or, maybe, we just need one program transformation expert |
| 14:23:07 | <trev> | cabal install pointfree doesn't even attempt to install the latest version it seems |
| 14:23:15 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 14:23:16 | <trev> | but i am getting that same error |
| 14:23:52 | <geekosaur> | you will; it's dependent on the ghc version, not the pointfree version |
| 14:24:32 | <geekosaur> | unless the latest pointfree was modified for `fail` being removed from `Monad` a few years ago |
| 14:25:10 | <freeside> | https://hackage.haskell.org/package/pointfree-1.1.1.9/reports/1 |
| 14:25:37 | <int-e> | `cabal install --allow-newer=base pointfree` produces an install plan with pointfree-1.1.1.9 at least |
| 14:25:49 | <int-e> | with ghc-9.4 that is |
| 14:26:54 | <int-e> | and it compiles too |
| 14:27:12 | <trev> | nice |
| 14:27:15 | <int-e> | `base` is just too big for the PVP to be useful for it |
| 14:27:47 | <int-e> | (this is in addition to the fact that it's tied to the compiler) |
| 14:28:04 | <geekosaur> | which is why there is work afoot to break it up some more including reducing that compiler footprint |
| 14:28:23 | <int-e> | pointfree has an upper bound base < 4.16; 9.4 ships with 4.17 |
| 14:28:37 | <freeside> | ah, without --allow-newer, cabal chooses pointfree 1.0.3. thanks. |
| 14:28:40 | <int-e> | geekosaur: yeah and it may even manifest before the end of the century |
| 14:28:55 | <geekosaur> | yeh 😕 |
| 14:29:48 | freeside | goes back to reading 'Modules Matter Most' |
| 14:29:56 | <int-e> | the *idea* is attractive, but anybody who actually does more than break out a few modules that are rarely used will be remembered as the person who broke everything (again) |
| 14:30:30 | <freeside> | you either die a hero or live long enough to become a maintainer |
| 14:30:50 | <int-e> | There's way more Brownie points to earn elsewhere. |
| 14:31:17 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
| 14:32:13 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 14:40:33 | <freeside> | neat! i have finally installed pointfree, lambdabot, and hoogle. i have been meaning to do that for years. |
| 14:40:50 | <geekosaur> | actually I'd suspect even if it existed now, it wouldn't help: `fail` would be known-key because it's used in pattern matches inside `do` |
| 14:42:30 | <geekosaur> | hm, unless they just generate normal code I guess, but then they could do the same for guards and `True`/`False` |
| 14:43:51 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 14:44:09 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 14:45:07 | → | son0p joins (~ff@190.248.133.154) |
| 14:51:31 | → | burnsidesLlama joins (~burnsides@119.247.164.140) |
| 14:51:32 | → | raym joins (~ray@user/raym) |
| 14:53:19 | × | ddellacosta quits (~ddellacos@146.70.166.139) (Ping timeout: 248 seconds) |
| 14:53:55 | × | foul_owl quits (~kerry@157.97.134.60) (Read error: Connection reset by peer) |
| 14:57:20 | → | Cale joins (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) |
| 14:58:24 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 15:02:14 | → | ddellacosta joins (~ddellacos@146.70.165.10) |
| 15:06:07 | × | chele_ quits (~chele@user/chele) (Remote host closed the connection) |
| 15:07:21 | → | notzmv joins (~zmv@user/notzmv) |
| 15:09:02 | → | chele joins (~chele@user/chele) |
| 15:13:01 | → | foul_owl joins (~kerry@157.97.134.63) |
| 15:14:33 | × | ddellacosta quits (~ddellacos@146.70.165.10) (Quit: WeeChat 3.7.1) |
| 15:15:28 | → | ddellacosta joins (~ddellacos@146.70.165.10) |
| 15:16:07 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 15:17:22 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.8) |
| 15:17:34 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 15:22:19 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 15:26:48 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 15:36:50 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Quit: WeeChat 3.8) |
| 15:36:55 | → | razetime joins (~Thunderbi@117.193.7.116) |
| 15:40:08 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 15:42:24 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 15:42:49 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 15:44:53 | → | nattiestnate joins (~nate@202.138.250.17) |
| 15:50:03 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 268 seconds) |
| 15:51:30 | → | mvk joins (~mvk@2607:fea8:5caa:ac00::fa57) |
| 15:53:15 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 248 seconds) |
| 16:00:04 | × | aaronv quits (~aaronv@user/aaronv) (Quit: You have been kicked for being idle) |
| 16:04:49 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 16:05:42 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 16:07:38 | × | patrl quits (~patrl@user/patrl) (Ping timeout: 246 seconds) |
| 16:08:35 | × | thongpv87 quits (~thongpv87@2402:9d80:3fd:3cf0:3e46:edf8:8925:b955) (Ping timeout: 260 seconds) |
| 16:15:27 | × | Hammdist quits (~Hammdist@67.169.114.135) (Quit: Client closed) |
| 16:18:45 | → | bitmapper joins (uid464869@id-464869.lymington.irccloud.com) |
| 16:20:19 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 16:20:24 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:50a4:25c9:e12:371f) |
| 16:24:43 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:50a4:25c9:e12:371f) (Ping timeout: 248 seconds) |
| 16:27:00 | → | shriekingnoise joins (~shrieking@186.137.175.87) |
| 16:30:28 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:c665:fff:9207:b36e) (Quit: WeeChat 2.8) |
| 16:33:05 | → | mechap joins (~mechap@user/mechap) |
| 16:35:00 | → | sidy joins (~sidy@user/sidy) |
| 16:36:21 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 16:37:17 | → | notzmv joins (~zmv@user/notzmv) |
| 16:38:11 | × | razetime quits (~Thunderbi@117.193.7.116) (Quit: See You Space Cowboy) |
| 16:41:17 | × | alternateved quits (~user@staticline-31-183-180-86.toya.net.pl) (Remote host closed the connection) |
| 16:43:10 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:50a4:25c9:e12:371f) |
| 16:43:56 | × | mbuf quits (~Shakthi@49.204.138.212) (Quit: Leaving) |
| 16:44:39 | <anatta> | Why does the following fail with "*** Exception: Prelude.read: no parse" |
| 16:44:43 | <anatta> | getCurrentTime >>= print . read . show |
| 16:44:54 | <anatta> | where getCurrentTime :: IO UTCTime |
| 16:45:50 | <sm> | anatta: UTFTime does not have a Read-able Show instance, unfortunately |
| 16:46:09 | <sm> | UTCTime, even |
| 16:46:32 | <geekosaur> | yeh, it's a broken Show instance |
| 16:47:06 | <sm> | use eg https://hackage.haskell.org/package/time-1.12.2/docs/Data-Time-Format.html#v:parseTimeOrError |
| 16:47:22 | <anatta> | hmhm, I see |
| 16:47:32 | <anatta> | (that should be illegal :@ ) |
| 16:48:10 | <sm> | you should launch an investigation |
| 16:48:11 | <sm> | name names |
| 16:49:04 | <anatta> | I might have to rewrite some code then - the code I'm using is serializing data to text and then back again in different places |
| 16:49:56 | <anatta> | so it doesn't really help that a different parsing function exists, but thanks - I'll remember it for next time I run into time parsing at least |
| 16:50:29 | <anatta> | but in this case I might not get a time - I just get some "a" in text form |
| 16:50:31 | <sm> | well, you can use it in your custom reader (and formatTIme in your writer) |
| 16:50:50 | <anatta> | hm |
| 16:51:18 | <anatta> | yeah, something like that could probably work |
| 16:51:28 | <anatta> | thanks for the help |
| 16:51:33 | <sm> | or.. convert UTCTIme to a custom well behaved type for writing/reading ? |
| 16:52:26 | <sm> | it's an unfortunate roadbump |
| 16:54:14 | <Cale> | (or maybe use aeson or something) |
| 16:54:59 | <anatta> | aeson might work, if I don't break the code by rewriting it |
| 16:55:08 | <anatta> | it's for web purposes originally anyway |
| 16:55:12 | <anatta> | so aeson would make sense |
| 16:55:16 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 16:55:50 | <anatta> | you have code on one end that's storing arbitrary data in text form in a container and sends it to a different place where it's later unpacked |
| 16:56:17 | <anatta> | so any solution wouldn't be able to specifically do things with e.g. UTCTime |
| 16:56:27 | <anatta> | at the moment it's just a (Show a, Read a) constraint |
| 16:58:33 | <geekosaur> | unfortunately, you pretty much have to use something like json/yaml/bson/etc. any more. Show and Read are unreliable |
| 16:58:45 | <geekosaur> | and have horrid error handling on top |
| 16:59:29 | <anatta> | it doesn't surprise me tbh - and it does make a lot of sense to separate presentation from serialization anyway |
| 16:59:36 | <geekosaur> | "no parse" gee. thanks |
| 17:00:26 | <anatta> | just a bit frustrating when I got code that was specifically made to use show/read :p |
| 17:00:47 | <anatta> | but I guess I'll have to roll up my sleeves and fix it |
| 17:01:53 | <mauke> | isn't the issue that print . read . show uses an ambiguous type? |
| 17:02:18 | <sm> | and yet... I have some code that appears to read UTCTIme.. |
| 17:02:56 | <c_wraith> | mauke is correct |
| 17:03:03 | <c_wraith> | compile with -Wall |
| 17:03:10 | <merijn> | This is why you enable -Wall and fix type defaulting :p |
| 17:03:17 | <merijn> | It's trying to parse () :p |
| 17:03:27 | <sm> | I was all wrong, sorry. I think mauke is right |
| 17:03:40 | <merijn> | > (read . show) True |
| 17:03:42 | <lambdabot> | *Exception: Prelude.read: no parse |
| 17:03:45 | <merijn> | > (read . show) () |
| 17:03:46 | <lambdabot> | () |
| 17:03:52 | <merijn> | > (read . show) True :: Bool |
| 17:03:54 | <lambdabot> | True |
| 17:04:04 | <anatta> | hm |
| 17:05:01 | <anatta> | what if the code is polymorphic? |
| 17:06:27 | <anatta> | can you still force it to read that, polymorphic type? |
| 17:06:29 | <anatta> | somehow |
| 17:07:03 | <c_wraith> | no, because the polymorphism doesn't exist at run time. it needs to know what code to run to parse with |
| 17:09:09 | <anatta> | :( |
| 17:09:54 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:50a4:25c9:e12:371f) (Remote host closed the connection) |
| 17:13:59 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 264 seconds) |
| 17:15:05 | × | son0p quits (~ff@190.248.133.154) (Ping timeout: 260 seconds) |
| 17:16:59 | × | phma quits (phma@2001:5b0:211b:c4b8:e97:ef7f:945d:9d26) (Read error: Connection reset by peer) |
| 17:17:56 | → | phma joins (~phma@host-67-44-208-29.hnremote.net) |
| 17:18:48 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:50a4:25c9:e12:371f) |
| 17:20:51 | → | beteigeuze joins (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
| 17:22:55 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 17:24:57 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 17:29:40 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 17:30:36 | → | werneta joins (~werneta@70.142.214.115) |
| 17:33:39 | → | kurbus joins (~kurbus@user/kurbus) |
| 17:35:21 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
| 17:36:38 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:50a4:25c9:e12:371f) (Remote host closed the connection) |
| 17:39:55 | → | econo joins (uid147250@user/econo) |
| 17:40:08 | → | eggplantade joins (~Eggplanta@104.55.37.220) |
| 17:41:11 | × | kurbus quits (~kurbus@user/kurbus) (Quit: Client closed) |
| 17:41:24 | × | nschoe quits (~q@141.101.51.197) (Quit: Switching off) |
| 17:42:23 | → | kurbus joins (~kurbus@user/kurbus) |
| 17:42:36 | × | kurbus quits (~kurbus@user/kurbus) (Client Quit) |
| 17:42:41 | → | kurbus13 joins (~kurbus@user/kurbus) |
| 17:42:54 | kurbus13 | is now known as kurbus |
| 17:46:27 | × | jespada_ quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 255 seconds) |
| 17:46:55 | × | Xeroine quits (~Xeroine@user/xeroine) (Ping timeout: 265 seconds) |
| 17:47:42 | → | jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 17:48:17 | → | notzmv joins (~zmv@user/notzmv) |
| 17:49:56 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 17:50:22 | <AndreasK> | You can have `Read a => Foo -> a` but at some point the a will have to become concrete for read to fire |
| 17:51:51 | × | burnsidesLlama quits (~burnsides@119.247.164.140) (Remote host closed the connection) |
| 17:53:35 | → | Xeroine_ joins (~Xeroine@user/xeroine) |
| 17:55:52 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 17:56:35 | × | CiaoSen quits (~Jura@p200300c9570460002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 17:59:30 | → | falafel joins (~falafel@2607:fb91:143f:e47f:f0e6:3edd:a80e:ec1) |
| 18:00:27 | × | jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 260 seconds) |
| 18:02:52 | × | kayvank quits (~user@52-119-115-185.PUBLIC.monkeybrains.net) (Remote host closed the connection) |
| 18:03:30 | → | jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 18:03:45 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 18:03:57 | → | Tuplanolla joins (~Tuplanoll@91.159.68.152) |
| 18:04:32 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Max SendQ exceeded) |
| 18:04:53 | × | MajorBiscuit quits (~MajorBisc@145.94.131.152) (Ping timeout: 246 seconds) |
| 18:12:23 | × | jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Max SendQ exceeded) |
| 18:13:11 | × | kurbus quits (~kurbus@user/kurbus) (Quit: Client closed) |
| 18:13:46 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:14:48 | → | jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 18:16:56 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:17:20 | <anatta> | AndreasK: Apparently I'm just stupid - I had a parsing bug, and thought I had isolated it, so that's what I asked about here |
| 18:17:22 | <anatta> | but in reality |
| 18:17:54 | <anatta> | my problem was that I was passing data in the wrong order, so it (obviously) gave the same error message (no parse), but it had nothing to do with what I was asking about |
| 18:18:42 | <anatta> | solved the problem now by using <> instead of : in a couple of places |
| 18:18:45 | <anatta> | so I think it works |
| 18:20:44 | <anatta> | might be better to put a reverse somewhere and let it cons |
| 18:20:47 | → | jtza8 joins (~user@165.255.145.244) |
| 18:20:51 | <anatta> | but that's for future me |
| 18:27:02 | × | kimiamania quits (~924ba01c@user/kimiamania) (Quit: PegeLinux) |
| 18:27:58 | × | maroloccio quits (~marolocci@90.167.158.133) (Quit: WeeChat 3.7.1) |
| 18:28:19 | → | kimiamania joins (~65804703@user/kimiamania) |
| 18:28:59 | × | lackita quits (~lackita@73.114.250.252) (Ping timeout: 264 seconds) |
| 18:29:28 | → | lackita joins (~lackita@73.114.250.252) |
| 18:30:20 | × | beteigeuze quits (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 260 seconds) |
| 18:31:59 | × | merijn quits (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds) |
| 18:33:39 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:33:51 | × | lackita quits (~lackita@73.114.250.252) (Ping timeout: 256 seconds) |
| 18:33:59 | → | lackita joins (~lackita@73.114.250.252) |
| 18:36:11 | × | nattiestnate quits (~nate@202.138.250.17) (Quit: WeeChat 3.8) |
| 18:40:39 | AlexNoo_ | is now known as AlexNoo |
| 18:41:57 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 18:51:07 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 18:51:51 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 18:52:07 | → | gmg joins (~user@user/gehmehgeh) |
| 18:55:24 | × | Xeroine_ quits (~Xeroine@user/xeroine) (Ping timeout: 255 seconds) |
| 18:59:20 | → | Xeroine_ joins (~Xeroine@user/xeroine) |
| 19:00:34 | × | jtza8 quits (~user@165.255.145.244) (Remote host closed the connection) |
| 19:01:33 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 19:03:11 | × | ddellacosta quits (~ddellacos@146.70.165.10) (Ping timeout: 264 seconds) |
| 19:04:26 | × | mechap quits (~mechap@user/mechap) (Ping timeout: 252 seconds) |
| 19:04:49 | → | ddellacosta joins (~ddellacos@146.70.165.139) |
| 19:09:14 | → | beteigeuze joins (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) |
| 19:12:57 | × | Sinbad quits (~Sinbad@user/sinbad) (Quit: WeeChat 3.8) |
| 19:13:57 | → | kurbus joins (~kurbus@user/kurbus) |
| 19:15:26 | × | MQ-17J quits (~MQ-17J@104.28.248.165) (Ping timeout: 252 seconds) |
| 19:16:08 | → | Guest50 joins (~Guest50@121.190.69.115) |
| 19:16:16 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 19:16:50 | × | eggplantade quits (~Eggplanta@104.55.37.220) (Remote host closed the connection) |
| 19:17:27 | × | Guest50 quits (~Guest50@121.190.69.115) (Client Quit) |
| 19:18:03 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 256 seconds) |
| 19:21:30 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 19:21:39 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 19:22:59 | → | Joao003 joins (~Joao003@2804:840:8309:8700:3096:7857:f0fb:bcf4) |
| 19:23:22 | <Joao003> | hey guys look i made a point free snoc |
| 19:23:30 | <Joao003> | flip (flip (.) reverse . (.) reverse . (:)) |
| 19:23:44 | <Joao003> | > (flip (flip (.) reverse . (.) reverse . (:))) [1, 2, 3] 4 |
| 19:23:46 | <lambdabot> | [1,2,3,4] |
| 19:24:17 | <Joao003> | lets see if lambdabot confirms with my implementation |
| 19:24:29 | <int-e> | @pl \a b -> a ++ (b : []) |
| 19:24:29 | <lambdabot> | (. return) . (++) |
| 19:24:40 | <Joao003> | my impl is kinda dumb |
| 19:25:03 | <int-e> | @pl \a b -> reverse (b : reverse a) |
| 19:25:03 | <lambdabot> | (reverse .) . flip (:) . reverse |
| 19:25:19 | <Joao003> | @pl flip (\x -> reverse . (x :) . reverse) |
| 19:25:19 | <lambdabot> | flip ((reverse .) . (. reverse) . (:)) |
| 19:25:25 | <EvanR> | this plan is great for short lists |
| 19:25:32 | <EvanR> | not great for infinite lists |
| 19:25:48 | <Joao003> | i just reverse then cons then reverse again |
| 19:26:31 | <Joao003> | and i need all of those flips and .s just to make it point-free |
| 19:26:47 | <EvanR> | making it point free is the questionable part |
| 19:27:05 | <Joao003> | im just challenging myself don't ask :D |
| 19:27:24 | <monochrom> | Ugh the irony of using flip twice to help with using reverse twice... >:) |
| 19:27:31 | <Joao003> | lol |
| 19:27:52 | <Joao003> | lets see another function |
| 19:28:04 | <Joao003> | hmm what if it made (>>=) point-free |
| 19:28:05 | <monochrom> | "yo dawg I heard you love reversing twice so we added flipping twice so you could flip while you reverse" |
| 19:28:17 | <EvanR> | (>>=) is point-free |
| 19:29:18 | <Joao003> | @pl \f g x -> f (g x) x |
| 19:29:18 | <lambdabot> | flip flip id . liftM2 |
| 19:29:22 | <Joao003> | wth |
| 19:29:36 | <Joao003> | here comes double flip again |
| 19:29:50 | <EvanR> | flip is itself flipped here |
| 19:29:59 | <monochrom> | haha |
| 19:30:13 | <Joao003> | why would you flip flip lol |
| 19:30:15 | <EvanR> | you'd think that would just be id but no |
| 19:30:54 | <Joao003> | because of left associativity thats (flip flip id) . liftM2 right? |
| 19:31:03 | <monochrom> | Also consider uncurry uncurry >:) |
| 19:31:19 | <xerox> | @. djinn type flip flip |
| 19:31:20 | <lambdabot> | f a b c = b c a |
| 19:31:47 | <Joao003> | yo whats flip flip flip then |
| 19:31:54 | <EvanR> | Joao003, function application binds tighter than operators |
| 19:32:06 | <Joao003> | @. djinn type flip flip flip |
| 19:32:07 | <lambdabot> | f a b = a b (\ c d e -> c e d) |
| 19:32:14 | <Joao003> | yo what |
| 19:32:15 | <xerox> | :))) |
| 19:32:28 | <EvanR> | :t flip flip |
| 19:32:29 | <lambdabot> | b -> (a -> b -> c) -> a -> c |
| 19:32:36 | <Joao003> | :t flip flip flip |
| 19:32:37 | <lambdabot> | (a1 -> ((a2 -> b -> c1) -> b -> a2 -> c1) -> c2) -> a1 -> c2 |
| 19:32:43 | <Joao003> | YOOOOOOOOOOOOOOOOOO |
| 19:32:55 | <Joao003> | THATS A LONG TYPE SIGNATURE |
| 19:33:00 | <EvanR> | flip flip looks slightly more handy |
| 19:33:00 | <xerox> | @. djinn type flip flip flip flip flip flip flip flip flip |
| 19:33:02 | <lambdabot> | f a b = a b (\ c d e -> c e d) |
| 19:33:05 | → | freeside joins (~mengwong@103.252.202.170) |
| 19:33:16 | <Joao003> | @. djinn type flip flip flip flip |
| 19:33:17 | <lambdabot> | f a b = a b (\ c d e -> c e d) |
| 19:33:19 | <xerox> | it ends there |
| 19:33:26 | <EvanR> | :t flip flip flip flip |
| 19:33:27 | <lambdabot> | (a1 -> ((a2 -> b -> c1) -> b -> a2 -> c1) -> c2) -> a1 -> c2 |
| 19:33:27 | <Joao003> | ok it just stops fizzling out there |
| 19:33:33 | <monochrom> | "is that a fixed point?" |
| 19:33:46 | <EvanR> | a flipxed point |
| 19:33:59 | <Joao003> | uncurry curry is an evil move isn't it |
| 19:34:11 | <Joao003> | @. djinn type uncurry curry |
| 19:34:12 | <lambdabot> | f (a, b) c = a (b, c) |
| 19:34:36 | <monochrom> | But I prefer uncurry uncurry |
| 19:35:50 | <Joao003> | let me djinn that |
| 19:35:58 | <Joao003> | @. djinn type uncurry uncurry |
| 19:35:59 | <lambdabot> | f (a, (b, c)) = a b c |
| 19:36:05 | <Joao003> | oh my god no |
| 19:36:32 | <Joao003> | wait uncurry curry uncurry is just id right |
| 19:36:35 | <monochrom> | It's pretty nice. |
| 19:36:41 | <Joao003> | @. djinn type uncurry curry uncurry |
| 19:36:41 | <monochrom> | @type uncurry uncurry |
| 19:36:42 | <lambdabot> | Cannot parse command |
| 19:36:42 | <lambdabot> | Djinn> Cannot parse command |
| 19:36:42 | <lambdabot> | Djinn> Cannot parse command |
| 19:36:43 | <lambdabot> | (a -> b -> c, (a, b)) -> c |
| 19:36:45 | × | kurbus quits (~kurbus@user/kurbus) (Quit: Client closed) |
| 19:37:13 | <monochrom> | It applies a curried 2-ary function to a 2-tuple. |
| 19:37:32 | <monochrom> | Not entirely contrived. |
| 19:37:42 | <Joao003> | :t uncurry curry uncurry |
| 19:37:43 | <lambdabot> | error: |
| 19:37:43 | <lambdabot> | • Couldn't match expected type ‘((a1, b) -> c, a1)’ |
| 19:37:43 | <lambdabot> | with actual type ‘(a0 -> b0 -> c0) -> (a0, b0) -> c0’ |
| 19:37:46 | <Joao003> | wth |
| 19:37:59 | <Joao003> | :t (uncurry curry) uncurry |
| 19:37:59 | <lambdabot> | error: |
| 19:37:59 | <lambdabot> | • Couldn't match expected type ‘((a1, b) -> c, a1)’ |
| 19:37:59 | <lambdabot> | with actual type ‘(a0 -> b0 -> c0) -> (a0, b0) -> c0’ |
| 19:38:35 | <monochrom> | Yeah this is where intuition doesn't work, "blind" crunching the symbols and the algebra does. |
| 19:38:44 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:40:15 | × | falafel quits (~falafel@2607:fb91:143f:e47f:f0e6:3edd:a80e:ec1) (Ping timeout: 248 seconds) |
| 19:43:16 | Ekho- | is now known as Ekho |
| 19:44:47 | × | dsrt^ quits (~dsrt@24.30.76.89) (Ping timeout: 252 seconds) |
| 19:48:24 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 19:49:54 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 19:50:54 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:50a4:25c9:e12:371f) |
| 19:51:50 | → | ft joins (~ft@p3e9bc443.dip0.t-ipconnect.de) |
| 19:53:28 | × | zeenk quits (~zeenk@2a02:2f04:a214:1e00::7fe) (Quit: Konversation terminated!) |
| 19:54:01 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in) |
| 19:54:33 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 19:55:15 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 19:58:30 | <Joao003> | can we pf uncurry |
| 19:58:47 | <Joao003> | @pl \f (a, b) -> f a b |
| 19:58:47 | <lambdabot> | (`ap` snd) . (. fst) |
| 19:58:54 | <Joao003> | i hate you haskell |
| 20:04:37 | × | ubert1 quits (~Thunderbi@p200300ecdf13019b2eac5c41519fc3af.dip0.t-ipconnect.de) (Quit: ubert1) |
| 20:05:13 | → | falafel joins (~falafel@2607:fb91:143f:e47f:7d40:6e46:8a50:1b0f) |
| 20:06:15 | × | Joao003 quits (~Joao003@2804:840:8309:8700:3096:7857:f0fb:bcf4) (Quit: Leaving) |
| 20:06:20 | → | azimut_ joins (~azimut@gateway/tor-sasl/azimut) |
| 20:06:29 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 20:09:36 | → | merijn joins (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) |
| 20:11:51 | → | Guest|10 joins (~Guest|10@cpc98318-croy25-2-0-cust150.19-2.cable.virginm.net) |
| 20:11:54 | → | bilegeek joins (~bilegeek@2600:1008:b09e:5b5c:fb38:650f:1536:6b2d) |
| 20:13:01 | → | pavonia joins (~user@user/siracusa) |
| 20:14:48 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 20:16:14 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 20:19:04 | → | rlj joins (~rlj@194-218-34-180.customer.telia.com) |
| 20:24:12 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:50a4:25c9:e12:371f) (Remote host closed the connection) |
| 20:28:19 | <kronicma1> | anyone know what recursion scheme i can use to recurse on two layers at a time? |
| 20:28:32 | <kronicma1> | i'm trying to implement eta-reduction on a lambda calculus ast with a recursion scheme |
| 20:29:26 | <kronicma1> | so essentially I want to look for `Abstraction v x` where `x` is an `Application f v` where `v` isn't free in `f` |
| 20:29:34 | <kronicma1> | but a catamorphism doesn't let you inspect that far |
| 20:29:38 | <kronicma1> | what should I use instead? |
| 20:34:43 | <monochrom> | That is vague but I suppose the algebra you give to a catamorphism can be built from another catamorphism. |
| 20:34:48 | × | trev quits (~trev@user/trev) (Remote host closed the connection) |
| 20:37:33 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 255 seconds) |
| 20:42:57 | × | merijn quits (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds) |
| 20:43:16 | → | opticblast joins (~Thunderbi@172.58.80.43) |
| 20:44:12 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 255 seconds) |
| 20:46:41 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:50:49 | → | freeside joins (~mengwong@103.252.202.170) |
| 20:53:24 | × | lyle quits (~lyle@104.246.145.237) (Quit: WeeChat 3.8) |
| 20:54:10 | → | TheCoffeMaker_ joins (~TheCoffeM@200.126.137.246) |
| 20:54:23 | × | TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 256 seconds) |
| 20:56:16 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 20:56:17 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 252 seconds) |
| 21:03:31 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 21:05:13 | × | Guest|10 quits (~Guest|10@cpc98318-croy25-2-0-cust150.19-2.cable.virginm.net) (Quit: Connection closed) |
| 21:05:40 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 252 seconds) |
| 21:07:50 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 21:09:59 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 21:16:08 | → | azathough joins (uid589374@user/azathough) |
| 21:16:37 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 21:19:27 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 21:21:25 | → | PotentialUser-23 joins (~Potential@2600:8800:7b00:2aa0:829e:a723:57f0:e3b8) |
| 21:24:36 | → | freeside joins (~mengwong@103.252.202.170) |
| 21:24:42 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:50a4:25c9:e12:371f) |
| 21:28:02 | → | son0p joins (~ff@181.136.122.143) |
| 21:29:25 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:50a4:25c9:e12:371f) (Ping timeout: 260 seconds) |
| 21:29:25 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 260 seconds) |
| 21:30:58 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 21:33:46 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 21:34:33 | → | mechap joins (~mechap@user/mechap) |
| 21:41:12 | × | mvk quits (~mvk@2607:fea8:5caa:ac00::fa57) (Quit: Going elsewhere) |
| 21:41:57 | × | ddellacosta quits (~ddellacos@146.70.165.139) (Quit: WeeChat 3.7.1) |
| 21:48:09 | → | ddellacosta joins (~ddellacos@143.244.47.81) |
| 21:51:58 | × | shapr quits (~user@net-5-88-238-17.cust.vodafonedsl.it) (Ping timeout: 265 seconds) |
| 21:52:43 | → | nattiestnate joins (~nate@202.138.250.53) |
| 21:53:25 | × | takuan quits (~takuan@178.116.218.225) (Remote host closed the connection) |
| 21:54:08 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 246 seconds) |
| 21:55:23 | gh0stbuster | is now known as ghostbuster |
| 21:55:55 | × | bilegeek quits (~bilegeek@2600:1008:b09e:5b5c:fb38:650f:1536:6b2d) (Remote host closed the connection) |
| 21:56:19 | → | bilegeek joins (~bilegeek@2600:1008:b09e:5b5c:fb38:650f:1536:6b2d) |
| 21:58:05 | → | freeside joins (~mengwong@103.252.202.170) |
| 21:58:05 | → | tjakway joins (~tjakway@cpe-107-184-74-161.socal.res.rr.com) |
| 21:58:25 | <tjakway> | What's the best way to get ctags nowadays? |
| 21:58:55 | <tjakway> | I used hasktags for a long time but it's rather finicky and hasn't been updated in years |
| 21:59:56 | → | accord joins (uid568320@id-568320.hampstead.irccloud.com) |
| 22:01:57 | <geekosaur> | fast-tags, hs-tags, ghc-tags |
| 22:02:36 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 255 seconds) |
| 22:03:09 | <tjakway> | ghc-tags just came out, no? |
| 22:03:20 | <tjakway> | it's what I'm looking forward to |
| 22:03:31 | <tjakway> | since it's the only contender that actually parses Haskell |
| 22:03:37 | <geekosaur> | it's on hackage |
| 22:04:46 | <geekosaur> | but I'm not biased against solutions that don't actually parse, because tags generators for other languages don't actually parse either |
| 22:04:55 | <geekosaur> | mostly they look for simple regexes |
| 22:06:10 | × | falafel quits (~falafel@2607:fb91:143f:e47f:7d40:6e46:8a50:1b0f) (Ping timeout: 260 seconds) |
| 22:06:53 | <tjakway> | of course |
| 22:07:26 | <tjakway> | I'm more curious what difference it'll make |
| 22:07:56 | <tjakway> | since I use universal-ctags for everything and it works quite well |
| 22:10:51 | × | tjakway quits (~tjakway@cpe-107-184-74-161.socal.res.rr.com) (Quit: WeeChat 3.5) |
| 22:11:55 | → | king_gs joins (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) |
| 22:12:06 | × | king_gs quits (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) (Client Quit) |
| 22:13:44 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 255 seconds) |
| 22:14:52 | <geekosaur> | there will be limits because tags files are limited |
| 22:15:30 | <geekosaur> | the secret reason for everyone using dumb regexes is that tags files use dumb regexes |
| 22:15:48 | <geekosaur> | and emacs TAGS files are even more limited |
| 22:16:34 | → | freeside joins (~mengwong@103.252.202.170) |
| 22:17:41 | × | lackita quits (~lackita@73.114.250.252) (Ping timeout: 252 seconds) |
| 22:18:34 | → | lackita joins (~lackita@73.114.250.252) |
| 22:20:00 | → | gurkenglas joins (~gurkengla@46.114.176.170) |
| 22:22:24 | × | johnjaye quits (~pi@173.209.64.74) (Ping timeout: 248 seconds) |
| 22:24:15 | → | johnjaye joins (~pi@173.209.64.74) |
| 22:28:18 | × | Tuplanolla quits (~Tuplanoll@91.159.68.152) (Quit: Leaving.) |
| 22:36:16 | × | danso quits (~danso@2600:3c04::f03c:91ff:fe05:6954) (Changing host) |
| 22:36:16 | → | danso joins (~danso@user/danso) |
| 22:37:02 | × | Feuermagier_ quits (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 22:38:25 | × | bilegeek quits (~bilegeek@2600:1008:b09e:5b5c:fb38:650f:1536:6b2d) (Remote host closed the connection) |
| 22:39:06 | → | bilegeek joins (~bilegeek@2600:1008:b09e:5b5c:fb38:650f:1536:6b2d) |
| 22:40:15 | × | michalz quits (~michalz@185.246.204.126) (Remote host closed the connection) |
| 22:45:51 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 22:52:23 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 264 seconds) |
| 22:54:02 | × | hpc quits (~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 246 seconds) |
| 22:54:10 | → | waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) |
| 22:54:13 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:54:20 | × | azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 22:55:47 | → | hpc joins (~juzz@ip98-169-35-163.dc.dc.cox.net) |
| 22:56:10 | → | sagax joins (~sagax_nb@user/sagax) |
| 22:59:01 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 23:01:57 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 23:16:58 | × | rlj quits (~rlj@194-218-34-180.customer.telia.com) (Quit: Client closed) |
| 23:17:45 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 255 seconds) |
| 23:19:51 | × | tremon quits (~tremon@83-85-213-108.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in) |
| 23:20:25 | × | bilegeek quits (~bilegeek@2600:1008:b09e:5b5c:fb38:650f:1536:6b2d) (Remote host closed the connection) |
| 23:20:55 | → | bilegeek joins (~bilegeek@2600:1008:b09e:5b5c:fb38:650f:1536:6b2d) |
| 23:23:41 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 23:24:05 | → | mvk joins (~mvk@2607:fea8:5caa:ac00::fa57) |
| 23:24:08 | <justsomeguy> | I found a good quote! "A LISP programmer knows the value of everything, but the cost of nothing." ~ Alan Perlis |
| 23:24:30 | × | jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 255 seconds) |
| 23:24:43 | × | mvk quits (~mvk@2607:fea8:5caa:ac00::fa57) (Client Quit) |
| 23:29:41 | → | merijn joins (~merijn@86.86.29.250) |
| 23:30:40 | → | freeside joins (~mengwong@103.252.202.170) |
| 23:32:49 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 23:34:19 | <monochrom> | I think it fits us more than them. |
| 23:35:09 | → | jespada joins (~jespada@77.98.179.16) |
| 23:35:18 | <monochrom> | Then again there was a time Haskell didn't exist, so Lisp had no contender. |
| 23:35:25 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 260 seconds) |
| 23:35:29 | <hpc> | a rust programmer borrows everything and never throws out the garbage |
| 23:38:12 | <hpc> | but yeah, lisp was the original "you don't know the underlying representation" language |
| 23:38:29 | <hpc> | you "knew", but it didn't have to be that way in every implementation |
| 23:48:09 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:58:01 | → | freeside joins (~mengwong@103.252.202.170) |
All times are in UTC on 2023-02-13.