Logs on 2022-12-11 (liberachat/#haskell)
| 00:01:45 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 00:01:46 | <dsal> | `for_` is just `flip . traverse`. It fits code better sometimes. |
| 00:02:25 | <dsal> | :t flip traverse -- er, `flip traverse` |
| 00:02:26 | <lambdabot> | (Traversable t, Applicative f) => t a -> (a -> f b) -> f (t b) |
| 00:02:30 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 00:02:48 | <dsal> | Do you want the stuff first, or the thing to do first? |
| 00:06:14 | × | causal quits (~user@50.35.85.7) (Quit: WeeChat 3.7.1) |
| 00:08:11 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 00:10:19 | → | freeside joins (~mengwong@103.252.202.159) |
| 00:10:59 | × | Erutuon_ quits (~Erutuon@user/erutuon) (Ping timeout: 264 seconds) |
| 00:14:27 | → | Erutuon_ joins (~Erutuon@user/erutuon) |
| 00:21:40 | × | zant2 quits (~zant@62.214.20.26) (Ping timeout: 256 seconds) |
| 00:22:03 | × | hgolden quits (~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection) |
| 00:23:37 | → | hgolden joins (~hgolden@cpe-172-251-233-141.socal.res.rr.com) |
| 00:29:35 | → | ballast joins (~ballast@cpe-104-32-238-223.socal.res.rr.com) |
| 00:31:44 | <ballast> | i just installed doom emacs, what is the preferred way to set up haskell tooling? I found https://docs.doomemacs.org/latest/modules/lang/haskell/, but it's asking me to install ghc-mod which requires a version of GHC much older than my installed version. |
| 00:32:36 | → | codaraxis__ joins (~codaraxis@user/codaraxis) |
| 00:33:41 | <geekosaur> | the ghc-mod stuff there is out of date. the modern replacement is haskell-language-server, which ghcup will install for you |
| 00:34:38 | <ballast> | OK cool, so I just configure it with LSP and install HLS then? |
| 00:34:45 | <geekosaur> | yes |
| 00:34:53 | <ballast> | Thanks geekosaur |
| 00:34:59 | × | Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 260 seconds) |
| 00:36:10 | × | codaraxis___ quits (~codaraxis@user/codaraxis) (Ping timeout: 260 seconds) |
| 00:36:48 | <ballast> | do i even need hoogle on my path either? wondering if i can uninstall it |
| 00:37:25 | → | codaraxis joins (~codaraxis@user/codaraxis) |
| 00:40:22 | × | codaraxis__ quits (~codaraxis@user/codaraxis) (Ping timeout: 256 seconds) |
| 00:42:43 | → | Vajb joins (~Vajb@2001:999:504:3ad6:52a4:a3b5:32d8:e74d) |
| 00:45:51 | × | chomwitt quits (~chomwitt@2a02:587:7a05:dc00:1ac0:4dff:fedb:a3f1) (Ping timeout: 256 seconds) |
| 00:46:08 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 00:46:08 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 00:46:08 | → | wroathe joins (~wroathe@user/wroathe) |
| 00:46:10 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 00:47:36 | <geekosaur> | I don't know whether it's required for doom emacs or not. for standard haskell mode it's an optional component that lets you look up types of functions not in the current module |
| 00:48:57 | → | sammelweis joins (~quassel@c-68-48-18-140.hsd1.mi.comcast.net) |
| 00:49:06 | → | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 00:49:26 | × | Vajb quits (~Vajb@2001:999:504:3ad6:52a4:a3b5:32d8:e74d) (Ping timeout: 256 seconds) |
| 00:49:31 | <geekosaur> | but requires you to maintain a local hoogle database |
| 00:50:41 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt https://tinyurl.com/4m8d4kd5) |
| 00:51:32 | × | Katarushisu quits (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Ping timeout: 248 seconds) |
| 00:51:47 | → | Katarushisu joins (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) |
| 01:02:35 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 01:03:00 | × | Katarushisu quits (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Ping timeout: 260 seconds) |
| 01:04:35 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 01:07:12 | × | tremon quits (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in) |
| 01:10:26 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:12:30 | → | Katarushisu joins (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) |
| 01:13:29 | × | freeside quits (~mengwong@103.252.202.159) (Ping timeout: 246 seconds) |
| 01:13:56 | → | califax joins (~califax@user/califx) |
| 01:14:04 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 01:16:33 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:19:02 | → | freeside joins (~mengwong@103.252.202.159) |
| 01:23:26 | × | freeside quits (~mengwong@103.252.202.159) (Ping timeout: 256 seconds) |
| 01:24:34 | × | troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 256 seconds) |
| 01:25:16 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 01:29:58 | → | mestre joins (~mestre@191.177.185.178) |
| 01:31:28 | → | freeside joins (~mengwong@103.252.202.159) |
| 01:32:40 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 01:38:15 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds) |
| 01:42:08 | × | Kaiepi quits (~Kaiepi@108.175.84.104) (Ping timeout: 256 seconds) |
| 01:51:44 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::efb) |
| 01:53:30 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::efb) (Client Quit) |
| 01:56:39 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds) |
| 01:56:49 | → | johnw joins (~johnw@2600:1700:cf00:db0:25e7:ff95:4ec3:a64f) |
| 01:59:29 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 02:11:55 | → | money joins (~money@user/polo) |
| 02:17:24 | <dsal> | para doesn't seem to like infinite lists. |
| 02:23:14 | <EvanR> | :t para |
| 02:25:57 | <dsal> | para :: Recursive t => (Base t (t, a) -> a) -> t -> a |
| 02:26:47 | <dsal> | It's a fold that remembers the intermediate child results. But it starts at the wrong end, and also there has to be an end. |
| 02:26:55 | <[Leary]> | Urg. I wanted to say this last time when you were fighting hylo, but honestly, the recursion-schemes library makes me feel vaguely ill. `cata` and `para` should be operations on the least fixed point (which should only have finite members), and `ana` on the greatest, making `hylo` something of an abomination... |
| 02:27:17 | <dsal> | I just want to use like, one of these once. heh |
| 02:30:18 | × | Topsi quits (~Topsi@dyndsl-091-096-147-161.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 02:30:31 | → | razetime joins (~quassel@49.207.203.213) |
| 02:34:24 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 02:39:22 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 256 seconds) |
| 02:39:41 | <EvanR> | recursion is cool, scheme is cool |
| 02:39:51 | <EvanR> | just not necessarily recursion schemes |
| 02:40:00 | <dolio> | Least and greatest fixed points coincide for domains. |
| 02:40:32 | × | razetime quits (~quassel@49.207.203.213) (Remote host closed the connection) |
| 02:41:38 | × | freeside quits (~mengwong@103.252.202.159) (Ping timeout: 256 seconds) |
| 02:42:54 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 02:49:03 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 02:49:23 | × | money quits (~money@user/polo) (Ping timeout: 256 seconds) |
| 02:50:53 | <c_wraith> | dsal: wrong end? para starts at the value you tell it to start at. and it works just fine with infinite lists... |
| 02:52:31 | <dsal> | c_wraith: I'm afk, but was tracing a simple case and trying it with an infinite list and it seemed to always run from the end of my list. |
| 02:52:50 | <c_wraith> | I mean, that can happen if you're working too strictly |
| 02:53:00 | <c_wraith> | para benefits immensely from laziness |
| 02:53:20 | → | freeside joins (~mengwong@103.252.202.159) |
| 02:54:45 | <dsal> | Hmm... I was just trying to add some numbers and it seemed to go from tail in. It'd be really nice to be wrong. |
| 02:55:14 | × | xff0x_ quits (~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 256 seconds) |
| 02:55:43 | <c_wraith> | adding numbers tends to be strict |
| 02:56:04 | <c_wraith> | but like... \t -> para (\case Nil -> [] ; Cons x (y, z) | x == t -> y | othe |
| 02:56:04 | <c_wraith> | rwise -> x : z) |
| 02:56:12 | <c_wraith> | ... wow, thanks copying from terminal |
| 02:56:17 | <dsal> | Yeah, I was trying to add a stopping condition |
| 02:56:33 | <c_wraith> | anyway. that's a perfectly cromulent definition of delete |
| 02:56:42 | <c_wraith> | a function that works very nicely with para |
| 02:57:07 | <dsal> | Hmm. Alright. Thanks |
| 02:57:45 | <dsal> | I'm currently in the back of a truck because I told a neighbor they could use my truck if they ever needed to move something and later found out that I was somehow included in that. |
| 02:57:50 | <c_wraith> | importantly, para lets it skip traversing the remainder of the list after it finds the element to remove. It just shares the tail. |
| 02:58:06 | <c_wraith> | are you at least getting pizza out of the deal? |
| 02:58:49 | <EvanR> | cromulent is a more and more cromulent word \o/ |
| 02:59:10 | <dsal> | Heh. Probably the only thing I'll get is hurt. |
| 02:59:36 | <EvanR> | always buckle up when doing haskell |
| 02:59:47 | <dsal> | My actual problem is a list transform. Maybe I should've started there. |
| 03:00:03 | <dsal> | I have some rope. Could tie the knot. |
| 03:02:05 | <EvanR> | is this the AoC problem |
| 03:02:34 | <EvanR> | are you going to tell me scanl is not high performance enough |
| 03:02:42 | × | euandreh quits (~Thunderbi@179.214.113.107) (Ping timeout: 268 seconds) |
| 03:04:34 | → | money joins (~money@user/polo) |
| 03:04:51 | → | euandreh joins (~Thunderbi@179.214.113.107) |
| 03:05:10 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds) |
| 03:06:05 | × | lisbeths_ quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 03:08:39 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 03:10:26 | <dsal> | I'm not using scanl, but mostly I just want to use a recursion scheme |
| 03:11:55 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 03:14:08 | × | Guest75 quits (Guest75@2a01:7e01::f03c:92ff:fe5d:7b18) (Ping timeout: 260 seconds) |
| 03:17:17 | <dsal> | I just remembered that problem is about ropes and knots. I was trying to make a different joke. But yeah, the closest thing I have to a seatbelt is this finite length of rope. |
| 03:17:44 | <c_wraith> | well, an infinite-length seatbelt probably wouldn't help much anyway |
| 03:19:25 | <dsal> | Hopefully there are no spherical cows in the road. |
| 03:24:24 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 03:26:05 | → | use-value1 joins (~Thunderbi@2a00:23c6:8a03:2f01:3894:8a8f:75a1:1941) |
| 03:26:52 | × | ballast quits (~ballast@cpe-104-32-238-223.socal.res.rr.com) (Quit: Client closed) |
| 03:29:17 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 03:29:23 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:29:23 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 03:29:23 | finn_elija | is now known as FinnElija |
| 03:29:25 | × | use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Ping timeout: 260 seconds) |
| 03:29:46 | → | use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:a541:ddec:fa11:d52f) |
| 03:30:52 | × | use-value1 quits (~Thunderbi@2a00:23c6:8a03:2f01:3894:8a8f:75a1:1941) (Ping timeout: 265 seconds) |
| 03:34:45 | × | fizbin quits (~fizbin@user/fizbin) (Remote host closed the connection) |
| 03:38:29 | → | xff0x_ joins (~xff0x@ai071162.d.east.v6connect.net) |
| 03:38:41 | × | money quits (~money@user/polo) (Ping timeout: 256 seconds) |
| 03:39:19 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 03:39:33 | × | hgolden quits (~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection) |
| 03:40:51 | → | hgolden joins (~hgolden@cpe-172-251-233-141.socal.res.rr.com) |
| 03:41:08 | × | td_ quits (~td@83.135.9.5) (Ping timeout: 256 seconds) |
| 03:42:20 | → | money joins (~money@user/polo) |
| 03:42:34 | → | td_ joins (~td@83.135.9.54) |
| 03:44:25 | × | terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
| 03:45:47 | → | terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1) |
| 03:47:25 | → | merijn joins (~merijn@86.86.29.250) |
| 03:52:03 | × | merijn quits (~merijn@86.86.29.250) (Ping timeout: 260 seconds) |
| 03:55:36 | × | money quits (~money@user/polo) (Quit: money) |
| 03:57:00 | × | freeside quits (~mengwong@103.252.202.159) (Ping timeout: 256 seconds) |
| 04:04:01 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 04:06:03 | × | hgolden quits (~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection) |
| 04:06:30 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 04:08:33 | → | hgolden joins (~hgolden@cpe-172-251-233-141.socal.res.rr.com) |
| 04:15:29 | × | Erutuon_ quits (~Erutuon@user/erutuon) (Ping timeout: 246 seconds) |
| 04:20:47 | → | dsrt^ joins (~dsrt@76.145.185.103) |
| 04:20:53 | Guest5800 | is now known as money |
| 04:25:23 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 264 seconds) |
| 04:28:18 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 04:30:32 | → | freeside joins (~mengwong@103.252.202.159) |
| 04:34:23 | → | razetime joins (~quassel@49.207.203.213) |
| 04:42:54 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 04:45:22 | <dsal> | c_wraith: I changed the outcome by measuring it. heh (tracing does weird things) |
| 04:45:28 | → | money_ joins (~money@user/polo) |
| 04:46:41 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds) |
| 04:48:03 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 04:49:42 | <c_wraith> | indeed. |
| 04:49:54 | <c_wraith> | I've done that before, too |
| 04:50:24 | <c_wraith> | I remember one time I was trying to debug a slow space leak and my debugging code eliminated it. |
| 04:50:53 | <c_wraith> | I'm a lot more careful about that since then |
| 04:52:54 | × | johnw quits (~johnw@2600:1700:cf00:db0:25e7:ff95:4ec3:a64f) (Quit: ZNC - http://znc.in) |
| 04:53:06 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 04:53:40 | <EvanR> | so haskell is good practice for when we have to upgrade to programming quantum computers |
| 04:54:35 | <EvanR> | so your classical binary no longer runs on OSX olympus mons |
| 04:54:47 | <EvanR> | sorry* |
| 04:54:56 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 04:55:41 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds) |
| 04:56:31 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 04:57:04 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 256 seconds) |
| 04:59:09 | × | foul_owl quits (~kerry@193.29.61.77) (Ping timeout: 256 seconds) |
| 04:59:52 | × | money_ quits (~money@user/polo) (Quit: money_) |
| 05:03:20 | → | money_ joins (~money@user/polo) |
| 05:08:55 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 05:09:13 | <aeroplane> | https://www.indeed.com/career-advice/finding-a-job/highest-paid-programmers-by-language |
| 05:09:46 | <aeroplane> | They've put Haskell at the very top |
| 05:11:05 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 05:11:35 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit) |
| 05:13:20 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 265 seconds) |
| 05:13:44 | <aeroplane> | But the list doesn't has java or javascript |
| 05:13:55 | money | is now known as Guest8643 |
| 05:13:55 | money_ | is now known as money |
| 05:15:45 | → | foul_owl joins (~kerry@71.212.143.88) |
| 05:20:18 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 05:20:18 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 05:20:19 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Read error: Connection reset by peer) |
| 05:20:38 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 05:20:45 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 05:20:57 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 05:21:53 | × | ddellacosta quits (~ddellacos@143.244.47.100) (Ping timeout: 260 seconds) |
| 05:23:08 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 05:24:00 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 05:26:19 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 05:26:35 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 05:27:07 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds) |
| 05:27:54 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 05:38:41 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 05:38:41 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 05:38:41 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Write error: Connection reset by peer) |
| 05:38:41 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Write error: Connection reset by peer) |
| 05:38:41 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Write error: Connection reset by peer) |
| 05:38:41 | × | califax quits (~califax@user/califx) (Write error: Connection reset by peer) |
| 05:38:47 | → | fizbin joins (~fizbin@user/fizbin) |
| 05:38:56 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 05:39:09 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 05:39:09 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 05:39:20 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 05:39:42 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 05:49:02 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 05:54:07 | × | pyrex quits (~pyrex@user/pyrex) (Ping timeout: 252 seconds) |
| 06:03:47 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 264 seconds) |
| 06:06:12 | × | mestre quits (~mestre@191.177.185.178) (Ping timeout: 256 seconds) |
| 06:08:56 | <lisbeths> | Is it true that to define something in haskell it performs an operation similar to a let statement and all of the following code is executed from within the let statement? |
| 06:11:29 | <int-e> | kind of? You can think of a Haskell program as a single let expression, let Prelude.fst (x,y) = x; ...; main = putStrLn "Hello, world!" in main. Not sure how useful that view is. |
| 06:16:05 | <int-e> | At a low level, the implementation in ghc is a bit different... each global binding gets a corresponding global symbol (keyword inside ghc is "constant applicative form" or CAF) to enable separate compilation and linking. |
| 06:17:08 | <int-e> | A whole program compiler (is jhc still alive?) could do this differently. |
| 06:17:37 | × | wroathe quits (~wroathe@user/wroathe) (Quit: leaving) |
| 06:17:44 | <lisbeths> | I am building a lambda calculus interpreter and I am having trouble figuring out how to define define in terms of lambdas and my friend suggested using let |
| 06:20:00 | <int-e> | Oh for programming in lambda calculus this is certainly viable. And non-recursive lets can be seen as syntactic sugar for application, `let x = y in foo` can be turned into `(\y -> foo) x`. Recursion is trickier, you need some analysis and explcit fixed point constructions.. |
| 06:21:41 | × | EvanR quits (~EvanR@user/evanr) (Ping timeout: 252 seconds) |
| 06:22:16 | → | EvanR joins (~EvanR@user/evanr) |
| 06:23:44 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 06:23:52 | <lisbeths> | I am using an unnamed lambda calculus so my job is kind of tricky. thanks for your help |
| 06:27:39 | → | Kaiepi joins (~Kaiepi@108.175.84.104) |
| 06:30:25 | <int-e> | lisbeths: yeah I would recommend against programming that (using de Bruijn indices, I guess?) directly. |
| 06:36:09 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 06:36:40 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 06:37:55 | <mauke> | do you need analysis? I mean, you could just blindly turn 'let x = y in foo' into '(\x -> foo) (fix (\x -> y))' |
| 06:39:27 | <int-e> | I suppose. (Now do let x = f y; y = g x) |
| 06:40:10 | <int-e> | (not really hard, but a bit of a puzzle) |
| 06:43:22 | <mauke> | nah, if the programmer wants mutual recursion, they can (un)tuple it themselves |
| 06:47:39 | → | arahael joins (~arahael@193-119-109-208.tpgi.com.au) |
| 06:50:35 | <int-e> | let pxy = (\x y p -> p (x x y) (y x y)) (\x y -> f (y x y)) (\x y -> g (x x y)); x = pxy true; y = pxy false -- you can use some funny tricks instead of fixed point combinators |
| 06:51:02 | <int-e> | (related to how fixed point combinators are constructed, of course) |
| 06:53:38 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 06:53:46 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 07:04:55 | × | money quits (~money@user/polo) (Remote host closed the connection) |
| 07:05:31 | → | money joins (~money@user/polo) |
| 07:06:19 | <mauke> | let rec f = f f; pair a b c = c a b; fst p = p (\x y -> x); snd p = p (\x y -> y); pxy = rec (\pxy -> pair (f (snd (rec pxy))) (g (fst (rec pxy)))); x = fst pxy; y = snd pxy |
| 07:16:54 | × | goober quits (~goober@90-231-13-185-no3430.tbcn.telia.com) (Remote host closed the connection) |
| 07:17:58 | × | paulpaul1076 quits (~textual@95-29-5-111.broadband.corbina.ru) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 07:18:26 | → | gmg joins (~user@user/gehmehgeh) |
| 07:19:36 | → | paulpaul1076 joins (~textual@95-29-5-111.broadband.corbina.ru) |
| 07:19:38 | × | paulpaul1076 quits (~textual@95-29-5-111.broadband.corbina.ru) (Client Quit) |
| 07:20:06 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 07:20:18 | → | paulpaul1076 joins (~textual@95-29-5-111.broadband.corbina.ru) |
| 07:22:32 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 07:23:06 | <lisbeths> | Yes I am esentially using de bruijns notation |
| 07:25:08 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 07:28:13 | <lisbeths> | Every symbol in my language maps to a combinator |
| 07:31:00 | → | troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 07:32:15 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 07:32:22 | → | freeside_ joins (~mengwong@103.252.202.159) |
| 07:34:59 | × | freeside quits (~mengwong@103.252.202.159) (Ping timeout: 264 seconds) |
| 07:36:32 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 07:42:49 | → | king_gs joins (~Thunderbi@187.201.150.200) |
| 07:43:25 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 07:45:28 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 07:46:22 | → | gmg joins (~user@user/gehmehgeh) |
| 07:50:17 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds) |
| 07:50:44 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:51:17 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 07:53:46 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 08:01:43 | × | king_gs quits (~Thunderbi@187.201.150.200) (Read error: Connection reset by peer) |
| 08:02:02 | → | king_gs joins (~Thunderbi@2806:103e:29:cdd2:b2dd:cddc:5884:d05c) |
| 08:06:13 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 08:11:14 | <lisbeths> | I dont use the curch encoding for numerals. In my encoding the number 1101 is encoded as pair true pair true pair false pair true false |
| 08:11:52 | <lisbeths> | I believe that it is much more computationally efficient than the curch encoding |
| 08:14:09 | → | Tuplanolla joins (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) |
| 08:18:22 | <fizbin> | When ghci shows me this, is there any way to ask it "what type(s) were you assuming"? ghci> read "0 " :: Int |
| 08:18:22 | <fizbin> | 0 |
| 08:18:22 | <fizbin> | ghci> read "0 " :: Integer |
| 08:18:22 | <fizbin> | 0 |
| 08:18:22 | <fizbin> | ghci> read "0 " |
| 08:18:24 | <fizbin> | *** Exception: Prelude.read: no parse |
| 08:18:45 | ← | Jade[m] parts (~jade1024m@2001:470:69fc:105::2:d68a) () |
| 08:22:41 | × | codaraxis quits (~codaraxis@user/codaraxis) (Quit: Leaving) |
| 08:22:56 | <[Leary]> | % :set -Wtype-defaults |
| 08:22:56 | <yahb2> | <no output> |
| 08:23:03 | <[Leary]> | % read "()" |
| 08:23:03 | <yahb2> | <interactive>:82:1: warning: [-Wtype-defaults] ; • Defaulting the following constraints to type ‘()’ ; (Show a0) ; arising from a use of ‘Yahb2Defs.limitedPrint’ ; a... |
| 08:23:21 | <[Leary]> | % 3 + 5 |
| 08:23:21 | <yahb2> | Oops, something went wrong |
| 08:23:44 | <[Leary]> | Hmm. Well, you get the idea. fizbin ^ |
| 08:24:12 | <[Leary]> | It just comes down to some simple defaulting rules though. Mostly it's () or Integer. |
| 08:26:34 | <fizbin> | "-Wtype-defaults" is what I was missing, thanks. |
| 08:28:27 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 08:29:08 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 08:29:09 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 08:30:42 | × | euandreh quits (~Thunderbi@179.214.113.107) (Ping timeout: 256 seconds) |
| 08:38:26 | <whatsupdoc> | is http://learnyouahaskell.com/chapters a good guide for learning haskell? |
| 08:38:40 | <whatsupdoc> | willing to give it another try after being outcast by the community |
| 08:39:48 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 248 seconds) |
| 08:44:52 | → | bilegeek joins (~bilegeek@2600:1008:b066:78c1:d582:5f7c:7659:313c) |
| 08:45:35 | × | biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer) |
| 08:46:11 | × | fizbin quits (~fizbin@user/fizbin) (Ping timeout: 268 seconds) |
| 08:47:00 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 08:48:12 | → | acidjnk joins (~acidjnk@p200300d6e7137a06896a248372aab002.dip0.t-ipconnect.de) |
| 08:49:46 | money | is now known as bigdaddykane |
| 08:49:55 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 08:50:00 | bigdaddykane | is now known as money |
| 08:50:35 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 08:52:21 | → | biberu joins (~biberu@user/biberu) |
| 08:56:15 | <[exa]> | whatsupdoc: if you already know another programming language and are able to invent reasonable exercises yourself, LYAH is a nice introduction |
| 08:56:34 | <money> | what is it |
| 08:56:49 | <[exa]> | what is what |
| 08:57:19 | <money> | LYAH |
| 08:57:24 | <[exa]> | ah, learnyouahaskell |
| 08:58:12 | → | johnw joins (~johnw@2600:1700:cf00:db0:f544:7bad:14ec:5034) |
| 09:01:10 | <whatsupdoc> | is haskell like lisp? |
| 09:03:02 | <[exa]> | yeah much of the intuition from lisp carries to haskell, with some notable systematic exceptions |
| 09:03:41 | <whatsupdoc> | ok cool, i liked lisp |
| 09:03:46 | <[exa]> | if you're happy with lists, recursive functions, map/filter/fold combos and similar stuff, you won't have much initial problems |
| 09:05:30 | <[exa]> | the most painful difference for newcomers is that all IO has to be properly typed (and well, everything needs to be properly typed), which takes a bit of time to absorb because that's usually where you see monads for the first time |
| 09:10:05 | <mauke> | I don't think haskell is very lisp-like |
| 09:10:23 | <mauke> | lisp is like perl; haskell is more like ocaml |
| 09:11:49 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 09:11:53 | → | Sgeo_ joins (~Sgeo@user/sgeo) |
| 09:14:04 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 09:14:47 | × | cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds) |
| 09:18:00 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 09:22:26 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 246 seconds) |
| 09:24:32 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 09:33:12 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 09:44:49 | × | money quits (~money@user/polo) (Remote host closed the connection) |
| 09:48:51 | → | money joins (~money@user/polo) |
| 09:52:57 | × | rembo10 quits (~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in) |
| 09:53:37 | → | freeside joins (~mengwong@103.252.202.159) |
| 09:55:07 | → | rembo10 joins (~rembo10@main.remulis.com) |
| 09:56:29 | × | freeside_ quits (~mengwong@103.252.202.159) (Ping timeout: 268 seconds) |
| 09:56:52 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 09:57:51 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 10:06:14 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:44ff:72e2:5072:e2ac) (Remote host closed the connection) |
| 10:07:04 | → | safinaskar joins (~quassel@178.160.244.66) |
| 10:07:20 | <safinaskar> | is there some haskell playground, where all hackage libraries are available? |
| 10:07:20 | × | king_gs quits (~Thunderbi@2806:103e:29:cdd2:b2dd:cddc:5884:d05c) (Quit: king_gs) |
| 10:08:00 | <Rembane> | safinaskar: https://tryhaskell.org/ <- like this but all of hackage? |
| 10:08:10 | <safinaskar> | Rembane: yes :) |
| 10:09:01 | × | bilegeek quits (~bilegeek@2600:1008:b066:78c1:d582:5f7c:7659:313c) (Quit: Leaving) |
| 10:12:34 | <Rembane> | safinaskar: That would be useful. I don't know of one. Hopefully someone else here does. :) |
| 10:16:26 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 10:17:34 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 10:17:43 | → | chomwitt joins (~chomwitt@2a02:587:7a05:dc00:1ac0:4dff:fedb:a3f1) |
| 10:18:04 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds) |
| 10:18:49 | Lord_of_Life_ | is now known as Lord_of_Life |
| 10:28:44 | ← | safinaskar parts (~quassel@178.160.244.66) () |
| 10:32:21 | × | Sgeo_ quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 10:32:30 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 10:36:28 | → | kenaryn joins (~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr) |
| 10:37:03 | → | elevenkb joins (~elevenkb@105.224.37.83) |
| 10:37:14 | → | kenran joins (~user@user/kenran) |
| 10:37:21 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 10:40:44 | × | jargon quits (~jargon@174-22-192-24.phnx.qwest.net) (Ping timeout: 260 seconds) |
| 10:42:57 | × | money quits (~money@user/polo) (Quit: late) |
| 10:44:47 | → | money joins (~money@user/polo) |
| 10:45:56 | × | money quits (~money@user/polo) (Client Quit) |
| 10:49:33 | Guest8643 | is now known as money |
| 10:51:11 | <DigitalKiwi> | i tried to do it with stackage one time and it never completed lol |
| 10:55:23 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds) |
| 10:58:28 | <DigitalKiwi> | 2709 stackage-pkgs-list.txt |
| 10:59:36 | → | money_ joins (~money@user/polo) |
| 11:01:02 | × | V quits (~v@ircpuzzles/2022/april/winner/V) (Read error: Connection reset by peer) |
| 11:01:09 | × | Kaiepi quits (~Kaiepi@108.175.84.104) (Ping timeout: 260 seconds) |
| 11:01:31 | × | burakcan- quits (burakcank@has.arrived.and.is.ready-to.party) (Ping timeout: 248 seconds) |
| 11:01:32 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 11:01:36 | × | elevenkb quits (~elevenkb@105.224.37.83) (Quit: Ping timeout (120 seconds)) |
| 11:01:59 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds) |
| 11:02:14 | × | dequbed quits (~dequbed@banana-new.kilobyte22.de) (Read error: Connection reset by peer) |
| 11:02:19 | → | V joins (~v@ircpuzzles/2022/april/winner/V) |
| 11:02:25 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 11:02:37 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 11:03:22 | → | dequbed joins (~dequbed@banana-new.kilobyte22.de) |
| 11:04:49 | × | dextaa quits (~DV@user/dextaa) (Quit: Ping timeout (120 seconds)) |
| 11:05:00 | → | burakcan- joins (burakcank@has.arrived.and.is.ready-to.party) |
| 11:05:10 | → | dextaa joins (~DV@user/dextaa) |
| 11:06:44 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:44ff:72e2:5072:e2ac) |
| 11:07:59 | → | zant2 joins (~zant@62.214.20.26) |
| 11:08:27 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 11:08:44 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 255 seconds) |
| 11:08:57 | → | shameles1shill joins (~shamlesss@user/shamelessshill) |
| 11:09:04 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 11:09:20 | <shameles1shill> | Hello, folks .. anybody in here know if there is a channel/discord server/active mailing list et al for the Clean language? |
| 11:10:14 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 11:11:04 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:44ff:72e2:5072:e2ac) (Ping timeout: 256 seconds) |
| 11:13:08 | <dminuoso> | Hah, it occured to me that `many` is a kind of `ana` |
| 11:13:43 | <dminuoso> | After somebody pointed out that I dont need many and can just use explicit recursion instead, that seemed surprisingly similar to switching from `ana` to explicit recursion. |
| 11:17:23 | money | is now known as Guest2535 |
| 11:17:23 | money_ | is now known as money |
| 11:19:11 | <[exa]> | shameles1shill: might be useful to browse the mailing lists (or ask there) https://wiki.clean.cs.ru.nl/Mailing_lists |
| 11:19:34 | <[exa]> | ah wait, there's not much activity right |
| 11:20:08 | × | acidjnk quits (~acidjnk@p200300d6e7137a06896a248372aab002.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 11:26:22 | × | foul_owl quits (~kerry@71.212.143.88) (Ping timeout: 256 seconds) |
| 11:27:11 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds) |
| 11:27:11 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds) |
| 11:27:38 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 255 seconds) |
| 11:27:38 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 11:27:38 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
| 11:28:59 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 11:29:46 | → | gmg joins (~user@user/gehmehgeh) |
| 11:30:21 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 11:30:56 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 11:35:52 | → | ss4 joins (~wootehfoo@user/wootehfoot) |
| 11:36:40 | → | euandreh joins (~Thunderbi@179.214.113.107) |
| 11:37:30 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 11:38:31 | <maerwald> | hspec-golden is annoying... the generators are not stable across platforms |
| 11:39:02 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 265 seconds) |
| 11:40:20 | × | euandreh quits (~Thunderbi@179.214.113.107) (Remote host closed the connection) |
| 11:40:40 | → | foul_owl joins (~kerry@193.29.61.77) |
| 11:40:42 | × | zant2 quits (~zant@62.214.20.26) (Ping timeout: 268 seconds) |
| 11:41:09 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 11:41:36 | <carbolymer> | can I compose lenses in this, to not use fmap: `(^?! element n) <$> use myFieldLens` ? |
| 11:42:02 | shameles1shill | is now known as shamelessshill |
| 11:42:38 | → | euandreh1 joins (~Thunderbi@179.214.113.107) |
| 11:42:39 | <DigitalKiwi> | are we not talking about https://en.wikipedia.org/wiki/Clean_language |
| 11:50:20 | × | euandreh1 quits (~Thunderbi@179.214.113.107) (Remote host closed the connection) |
| 11:51:11 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 11:53:34 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 11:56:20 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds) |
| 11:56:22 | × | money quits (~money@user/polo) (Remote host closed the connection) |
| 12:01:29 | → | money joins (~money@user/polo) |
| 12:07:49 | × | shamelessshill quits (~shamlesss@user/shamelessshill) (Quit: leaving) |
| 12:09:03 | → | elevenkb joins (~elevenkb@105.224.37.83) |
| 12:19:26 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 12:24:19 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds) |
| 12:29:18 | Ellenor | is now known as Reinhilde |
| 12:32:08 | → | cheater joins (~Username@user/cheater) |
| 12:37:23 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 12:40:38 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 12:44:51 | × | freeside quits (~mengwong@103.252.202.159) (Ping timeout: 260 seconds) |
| 12:46:04 | → | Kaiepi joins (~Kaiepi@108.175.84.104) |
| 12:46:16 | × | xff0x_ quits (~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 256 seconds) |
| 12:46:29 | × | money quits (~money@user/polo) (Quit: late) |
| 12:48:39 | → | mikail joins (~mikail@2a02:c7c:6117:e00:a46b:e624:7683:e24e) |
| 12:50:38 | → | acidjnk joins (~acidjnk@p54ad5adb.dip0.t-ipconnect.de) |
| 12:52:45 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 12:55:50 | × | jpds2 quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 255 seconds) |
| 12:56:17 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 12:57:09 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 12:57:11 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds) |
| 12:57:16 | → | jpds2 joins (~jpds@gateway/tor-sasl/jpds) |
| 12:57:34 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 12:58:05 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 12:58:20 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 12:58:31 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 12:58:43 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 12:59:00 | Guest2535 | is now known as money |
| 12:59:01 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 12:59:09 | → | xff0x_ joins (~xff0x@ai071162.d.east.v6connect.net) |
| 12:59:22 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 12:59:51 | → | freeside joins (~mengwong@103.252.202.159) |
| 13:04:15 | → | fizbin joins (~fizbin@user/fizbin) |
| 13:04:34 | × | freeside quits (~mengwong@103.252.202.159) (Ping timeout: 268 seconds) |
| 13:04:57 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 13:07:14 | → | money_ joins (~money@user/polo) |
| 13:08:53 | × | aeroplane quits (~user@user/aeroplane) (Ping timeout: 268 seconds) |
| 13:22:01 | × | AlexNoo quits (~AlexNoo@178.34.161.14) (Quit: Leaving) |
| 13:22:33 | × | Alex_test quits (~al_test@178.34.161.14) (Quit: ;-) |
| 13:23:03 | × | AlexZenon quits (~alzenon@178.34.161.14) (Quit: ;-) |
| 13:25:56 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 13:31:39 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 265 seconds) |
| 13:33:21 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit) |
| 13:38:35 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
| 13:39:54 | → | gmg joins (~user@user/gehmehgeh) |
| 13:41:53 | → | Erutuon_ joins (~Erutuon@user/erutuon) |
| 13:45:20 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 13:45:20 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds) |
| 13:45:20 | × | jpds2 quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 255 seconds) |
| 13:47:23 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 13:47:40 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 13:47:55 | → | jpds2 joins (~jpds@gateway/tor-sasl/jpds) |
| 13:48:36 | → | califax joins (~califax@user/califx) |
| 13:49:00 | → | AlexNoo joins (~AlexNoo@178.34.161.14) |
| 13:50:14 | → | AlexZenon joins (~alzenon@178.34.161.14) |
| 13:51:57 | → | Alex_test joins (~al_test@178.34.161.14) |
| 13:52:36 | → | euandreh joins (~Thunderbi@179.214.113.107) |
| 13:57:33 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 13:59:48 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 14:02:22 | × | elevenkb quits (~elevenkb@105.224.37.83) (Quit: Client closed) |
| 14:10:32 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 14:15:09 | × | ss4 quits (~wootehfoo@user/wootehfoot) (Ping timeout: 265 seconds) |
| 14:17:08 | → | CiaoSen joins (~Jura@p200300c95747e0002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 14:20:27 | <Hecate> | hiya, I'm facing linking errors in CI (unfortunately not reproducible locally) and I was wondering what would be the best way to diagnose such a thing: haskell-servant/servant/actions/runs/3669289436/jobs/6203013983#step:7:660 |
| 14:22:19 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 14:22:41 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 14:22:44 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 14:24:29 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 14:24:30 | → | jonathanx_ joins (~jonathan@c-5eea6685-74736162.cust.telenor.se) |
| 14:27:03 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 260 seconds) |
| 14:27:06 | <geekosaur> | github? |
| 14:29:11 | <Hecate> | ugh, yes |
| 14:29:21 | <Hecate> | https://github.com/haskell-servant/servant/actions/runs/3669289436/jobs/6203013983#step:7:660 |
| 14:33:17 | × | CiaoSen quits (~Jura@p200300c95747e0002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 14:35:56 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 14:37:51 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 14:44:55 | → | blomberg joins (~default_u@117.247.121.213) |
| 14:45:24 | <blomberg> | f x |condition = ..., after that can i add non-guard code |
| 14:46:15 | <blomberg> | some expression and again guards and again some expressions |
| 14:54:17 | <geekosaur> | yes, you start it with `f …` again |
| 14:55:08 | <blomberg> | geekosaur:what |
| 14:55:19 | <geekosaur> | https://github.com/xmonad/xmonad/blob/master/src/XMonad/Main.hs#L287-L422 |
| 14:55:24 | <blomberg> | new function? |
| 14:55:27 | <blomberg> | i odn't know monads |
| 14:55:36 | <Rembane> | blomberg: You need to pattern match on something else than x. |
| 14:55:49 | <geekosaur> | new implementation of function. see the code I just linked for a fairly long example |
| 14:55:55 | <geekosaur> | with many branches |
| 14:56:16 | <geekosaur> | it's no different from: f [] = 0; f (x:xsa) = ... |
| 14:56:19 | <blomberg> | so without monads i can't? |
| 14:56:24 | <geekosaur> | huh? |
| 14:56:28 | <darkling> | It's nothing to do with monads. |
| 14:56:43 | <darkling> | The XMonad in the link there is just the name of the project with the example code in it. |
| 14:57:25 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 14:57:51 | <darkling> | You can match one pattern in a function head (the "f x" part), and then have multiple guards and expressions following it (the "| cond = expr" part), |
| 14:58:31 | <darkling> | and if you want to match different patterns in differnt branches of the function, you write the function head again ("f []", for example). That can also have guards if you need them. |
| 15:00:22 | <blomberg> | both of you say write the function again, so inside or begin afresh, ofc i can begin with new definitions |
| 15:01:35 | × | acidjnk quits (~acidjnk@p54ad5adb.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 15:03:29 | <darkling> | https://paste.tomsmeding.com/Pw32Styw |
| 15:03:54 | <darkling> | Note that there are two function heads there, matching different patterns, but the second pattern has multiple guards. |
| 15:04:33 | <darkling> | Two different ways of writing alternative branches in a function. You can mix and match. |
| 15:06:20 | <blomberg> | https://ircbrowse.tomsmeding.com/browse/lchaskell this site's frontend how was it only 12%js and mostly haskell |
| 15:06:40 | <blomberg> | is it serverside mostly haskell |
| 15:06:41 | × | paulpaul1076 quits (~textual@95-29-5-111.broadband.corbina.ru) (Quit: Textual IRC Client: www.textualapp.com) |
| 15:08:20 | → | paulpaul1076 joins (~textual@95-29-5-111.broadband.corbina.ru) |
| 15:09:26 | <blomberg> | darkling: after |otherwise all patterns have been matched, so after |otherwise can i put a newline like if y==2 then 3 else 4 |
| 15:10:00 | <blomberg> | |otherwise will absorb all patterns so the exec will never be reached to if... |
| 15:10:31 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:44ff:72e2:5072:e2ac) |
| 15:10:43 | <geekosaur> | if there's a pattern not yet matched you could do that meaningfully |
| 15:11:01 | <geekosaur> | you could for example reverse the [] and (x:xs) cases, since (x:xs) can |
| 15:11:05 | <geekosaur> | t match [] |
| 15:11:56 | <darkling> | Like this, for example: https://paste.tomsmeding.com/UJ8dmbLo |
| 15:15:02 | × | mikail quits (~mikail@2a02:c7c:6117:e00:a46b:e624:7683:e24e) (Remote host closed the connection) |
| 15:15:15 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:44ff:72e2:5072:e2ac) (Ping timeout: 260 seconds) |
| 15:15:24 | <blomberg> | no darkling i mean not | otherwise = (y:ys) not f [] = []- that's a new def |
| 15:15:40 | <blomberg> | instead of | otherwise = (y:ys) |
| 15:15:55 | <blomberg> | put a non guard like if true 3 else 4 |
| 15:16:08 | <blomberg> | so if no pattern matches it returns 3 |
| 15:16:22 | <darkling> | Once you've reached | otherwise, that's the end of that branch of the function, as far as I know. |
| 15:16:33 | <darkling> | If you want to handle other cases, you put them before the otherwise. |
| 15:17:49 | <geekosaur> | you can write others but they'll be ignored and -Wall will warn you they can't be reached |
| 15:19:05 | → | mmhat joins (~mmh@p200300f1c73901ceee086bfffe095315.dip0.t-ipconnect.de) |
| 15:24:55 | → | n0den1te joins (~n0den1te@223.178.83.182) |
| 15:25:57 | <blomberg> | remove |otherwise instead put if statement |
| 15:26:07 | → | mikail joins (~mikail@176.254.215.55) |
| 15:26:52 | <darkling> | AFAIK, you can put any expression in the guard, so you don't need an if expression, you can just use the guards. |
| 15:27:53 | <darkling> | Think of the guards as a sequence of if (guard1) then (result1) else if (guard2)... expressions, with the "otherwise" being the else at the end. |
| 15:30:07 | <blomberg> | darkling:what if i put var=4 ; if var<10 then 1 else 2 ; so we need assignments as well after guards but before if |
| 15:30:31 | <darkling> | That's what let..in is for. |
| 15:32:06 | <geekosaur> | actually where works better for that because things in a where are visible in all guards |
| 15:32:33 | <darkling> | ^^ Listen to the expert. I'm just a beginner. :) |
| 15:34:33 | <blomberg> | geekosaur:so where is equivalent to giving breaks in between guards and writing assignments of before all guards |
| 15:34:46 | <geekosaur> | yes |
| 15:34:50 | → | acidjnk joins (~acidjnk@p200300d6e7137a35c0a7281abf493a9c.dip0.t-ipconnect.de) |
| 15:37:26 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 15:38:22 | <blomberg> | any examples of that |
| 15:38:48 | <blomberg> | without let in and without where |
| 15:38:52 | <blomberg> | but equivalent to it |
| 15:39:15 | × | manwithluck quits (~manwithlu@194.177.28.176) (Quit: ZNC 1.8.2 - https://znc.in) |
| 15:40:41 | <geekosaur> | I may have misunderstood you. if you do things between guards that will be visible only within that guard. if you need something to be visible in more than one guard, you must use where |
| 15:41:53 | × | money_ quits (~money@user/polo) (Quit: late) |
| 15:42:08 | <geekosaur> | although there are also view patterns which let you modify a matched value before using it in the guard, but you want to keep those simple if you use thyem at all because code gets really confusing otherwise |
| 15:43:02 | <blomberg> | i don't want it to be visible in guards but let the guards clauses end |
| 15:43:19 | <blomberg> | and assignments and expression begin like in python |
| 15:43:51 | <geekosaur> | haskell is not pythoon, and what works in one generally doesn't in the other |
| 15:45:05 | <geekosaur> | even the concept of "assignments" is somewhat dubious in haskell |
| 15:45:43 | → | money_ joins (~money@user/polo) |
| 15:46:46 | → | Chai-T-Rex joins (~ChaiTRex@user/chaitrex) |
| 15:47:41 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex) |
| 15:51:02 | <blomberg> | i want to write python code in haskell and then understand it |
| 15:51:09 | <blomberg> | without where, let ... in ... |
| 15:51:35 | <blomberg> | but that's also functional ofc otherwise it woudln't work |
| 15:51:57 | × | money_ quits (~money@user/polo) (Ping timeout: 256 seconds) |
| 15:52:55 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 15:53:00 | <geekosaur> | you'll have problems with that. as I said, even assignment differs |
| 15:53:14 | <geekosaur> | you can't do `a = 4; … a = 5;` |
| 15:53:28 | <geekosaur> | you can only bind a name once in a given scope |
| 15:54:11 | × | Inst_ quits (~Inst@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 264 seconds) |
| 15:56:26 | <blomberg> | _ a ?? |
| 15:57:05 | <blomberg> | _ is a function like f a =5; |
| 15:57:32 | <blomberg> | so you mean we can't use those? |
| 15:57:35 | <geekosaur> | that's not an assignment, it's a function definition. `a` would be bound at the time the function is called |
| 15:57:46 | <mauke> | _ is not … |
| 15:58:04 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 15:58:38 | <blomberg> | so it's f 4 = 5 ? |
| 15:59:01 | <mauke> | why are you talking about f? |
| 15:59:07 | <geekosaur> | that defined a function f which when given the value 4 as a parameter will produce 5 |
| 15:59:20 | <mauke> | geekosaur's example was 'a = 4' followed by 'a = 5' |
| 15:59:21 | <geekosaur> | and, absent any other conditions, will throw an error if given a different parameter |
| 15:59:30 | <geekosaur> | but what mauke said |
| 15:59:43 | <geekosaur> | you can't "assign" to a variable twice |
| 15:59:54 | <blomberg> | geekosaur:i know that |
| 16:00:07 | × | olivermead[m] quits (~olivermea@2001:470:69fc:105::2:4289) (Quit: You have been kicked for being idle) |
| 16:00:14 | <geekosaur> | lots of things you're used to in python have to be rethought completely in haskell |
| 16:00:28 | → | olivermead[m] joins (~olivermea@2001:470:69fc:105::2:4289) |
| 16:01:05 | <blomberg> | what's the meaning of _ a = 5 |
| 16:01:52 | <geekosaur> | it doesn't have one |
| 16:01:58 | <_________> | whatever you mean by _ a = 5 |
| 16:02:10 | <geekosaur> | are you misreading the unicode ellipsis I used to indicate unspecified code? |
| 16:02:13 | <geekosaur> | … |
| 16:04:48 | <blomberg> | you can't do `a = 4; _ a = 5;` |
| 16:05:12 | <blomberg> | _ a =5 ; that's underscore not ellipsis |
| 16:05:27 | <pavonia> | > let a = 4; _ a = 5 in _ a |
| 16:05:29 | <lambdabot> | <hint>:1:12: error: Parse error in pattern: _ |
| 16:05:44 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 16:05:48 | <blomberg> | > _ a = 5 |
| 16:05:50 | <lambdabot> | <hint>:1:5: error: parse error on input ‘=’ |
| 16:05:55 | <blomberg> | why am i not shocked |
| 16:05:59 | <blomberg> | > f a = 5 |
| 16:06:00 | <lambdabot> | <hint>:1:5: error: parse error on input ‘=’ |
| 16:06:09 | × | mikail quits (~mikail@176.254.215.55) (Remote host closed the connection) |
| 16:06:16 | <blomberg> | this shitty repl is crapcake shit |
| 16:06:35 | <blomberg> | I cant stand not more haskell crapcode |
| 16:06:37 | <blomberg> | it's crap |
| 16:06:39 | <blomberg> | crap |
| 16:06:41 | <_________> | > let f a = 5 |
| 16:06:42 | <lambdabot> | <no location info>: error: not an expression: ‘let f a = 5’ |
| 16:06:56 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 16:07:00 | → | jonathanx__ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 16:07:09 | <blomberg> | holy fuck _________ is now here |
| 16:07:16 | <mauke> | <blomberg> you can't do `a = 4; _ a = 5;` |
| 16:07:24 | <mauke> | ^ was that an attempt at quoting what geekosaur said? |
| 16:07:28 | <mauke> | because geekosaur didn't use _ |
| 16:07:48 | × | jonathanx_ quits (~jonathan@c-5eea6685-74736162.cust.telenor.se) (Read error: Connection reset by peer) |
| 16:07:52 | <blomberg> | mauke: yes ; mauke what ? he did use _ clearly what is going on in your crappy heads |
| 16:07:57 | <pavonia> | Now I'm actually not sure if I just forgot that _ is not a legal identifier in Haskell, or if I never knew :o |
| 16:08:13 | <yushyin> | blomberg: fix your font and attitude … |
| 16:08:35 | <blomberg> | i am using weechat on termux in ubuntu |
| 16:08:48 | <mauke> | blomberg: let me repeat the parts you ignored the first time: <mauke> _ is not … <mauke> geekosaur's example was 'a = 4' followed by 'a = 5' <geekosaur> are you misreading the unicode ellipsis I used to indicate unspecified code? |
| 16:08:48 | <blomberg> | yushyin: i willl fix that crap right away |
| 16:09:59 | <blomberg> | typing ellipsis ... a i will see those triple dots |
| 16:10:14 | <mauke> | those are three separate dots |
| 16:10:35 | <blomberg> | a = 4 followed by _ a = 5 ; in my weechat i seee underscore not triple dots!!! |
| 16:10:42 | <blomberg> | ... a = 5 |
| 16:10:51 | <mauke> | use a bigger font |
| 16:11:04 | <mauke> | > '\x2026' |
| 16:11:04 | <_________> | pavonia: _ is a hole - https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/typed_holes.html |
| 16:11:05 | <pavonia> | > "..." == "…" |
| 16:11:05 | <lambdabot> | '\8230' |
| 16:11:06 | <lambdabot> | False |
| 16:11:54 | <mauke> | blomberg: also, look up U+2026 |
| 16:13:25 | <pavonia> | _________: That too, but the error above was related to something else, I think |
| 16:14:01 | → | money_ joins (~money@user/polo) |
| 16:14:20 | <geekosaur> | > text "\8230" |
| 16:14:22 | <lambdabot> | … |
| 16:14:53 | <geekosaur> | sorry, I use a fair bit of unicode so I wrote … instead of ... out of habit |
| 16:15:07 | <pavonia> | But it makes sense to not be an identifier, because otherwise `f _ _` whould have a duplicate variable |
| 16:15:43 | → | manwithluck joins (~manwithlu@194.177.28.176) |
| 16:15:50 | <blomberg> | https://pasteboard.co/V6FgoyduKHYx.png |
| 16:16:28 | <geekosaur> | wow |
| 16:16:41 | <blomberg> | mauke: thank godnness geekosaur returned back to sanity |
| 16:16:52 | <geekosaur> | your weechat got that wrong |
| 16:16:52 | <blomberg> | i hope you too return back :) |
| 16:16:59 | <yushyin> | as I said, fix your font |
| 16:17:34 | <blomberg> | huh? |
| 16:17:36 | <geekosaur> | https://imgur.com/IqWK9y6.png |
| 16:17:54 | <geekosaur> | I definitely used unicode ellipsis |
| 16:18:13 | <blomberg> | holy shit |
| 16:18:19 | <geekosaur> | bbut your screenshot definitely shows an underscore, so it's something weechat is doing |
| 16:18:19 | <blomberg> | geekosaur:which client |
| 16:18:25 | <geekosaur> | hexchat |
| 16:19:14 | <blomberg> | are there others using weechat that don't see _ |
| 16:19:26 | <blomberg> | geekosaur:type triple dots once more |
| 16:19:29 | → | Alex_test_ joins (~al_test@178.34.161.14) |
| 16:19:33 | × | n0den1te quits (~n0den1te@223.178.83.182) (Quit: leaving) |
| 16:19:36 | <geekosaur> | … |
| 16:19:41 | <yushyin> | blomberg: https://paste.xinu.at/dEmi/ i use weechat |
| 16:19:54 | <blomberg> | ok i see underscore |
| 16:19:57 | <mauke> | blomberg: let's try something. what do you see here: ä逫ß♥ |
| 16:20:09 | <blomberg> | mauke:i see lots of underscores |
| 16:20:13 | <mauke> | ah |
| 16:20:17 | × | money_ quits (~money@user/polo) (Ping timeout: 256 seconds) |
| 16:20:28 | <geekosaur> | your weechat is converting unicode to underscores |
| 16:20:39 | <mauke> | blomberg: something in your stack (probably weechat) is in ASCII mode and replaces anything else by "_" |
| 16:20:42 | <blomberg> | mauke: how did you get the character encoding for that |
| 16:20:55 | <mauke> | what do you mean? |
| 16:20:57 | × | Alex_test quits (~al_test@178.34.161.14) (Read error: Connection reset by peer) |
| 16:21:25 | <pavonia> | yushyin: What client is that? |
| 16:21:29 | <yushyin> | pavonia: weechat |
| 16:21:30 | <blomberg> | mauke | > '\x2026' x2026 codepoint |
| 16:21:49 | <pavonia> | Ah yes, you already wrote that. Sorry :D |
| 16:21:56 | <yushyin> | :) |
| 16:22:22 | <pavonia> | Interesting time formatting |
| 16:22:26 | <geekosaur> | my hexchat is configured for utf8 with fallback to iso8859-1 for received characters that don't decode as utf8 |
| 16:22:40 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 16:22:42 | <mauke> | blomberg: I duckduckwent (is that the past tense of duckduckgo?) "unicode ellipsis" |
| 16:22:54 | <mauke> | and it told me it was U+2026 |
| 16:23:13 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 16:23:23 | <blomberg> | mauke:privacy guy likeit |
| 16:23:26 | → | money_ joins (~money@user/polo) |
| 16:23:45 | <yushyin> | pavonia: it saves 2 chars! |
| 16:25:08 | <blomberg> | but triple dots is ascii ?? not unicode ? |
| 16:25:23 | <mauke> | a single dot is in ASCII: . |
| 16:25:28 | <mauke> | the triple-dots character is not |
| 16:25:38 | <mauke> | (also, ASCII is a subset of Unicode) |
| 16:25:39 | <blomberg> | that's triple ascii like 777 |
| 16:26:10 | <blomberg> | mauke:so how did they type unicode triple dots not ascii dots |
| 16:26:30 | <mauke> | I don't know; ask geekosaur :-) |
| 16:26:30 | <blomberg> | didn't he press those keys dot dot dot |
| 16:26:36 | <hpc> | maybe they program in ms word? |
| 16:26:39 | <blomberg> | mauke:type dot dot dot |
| 16:26:39 | <mauke> | I would press <Compose> . . |
| 16:26:47 | <blomberg> | no without the spacing |
| 16:26:48 | <mauke> | that turns into … |
| 16:26:55 | <geekosaur> | same here, compose . . |
| 16:27:03 | <blomberg> | oh it's underscore so you typed ascii right? |
| 16:27:06 | <geekosaur> | I bound right alt as compose |
| 16:27:31 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 16:27:38 | <blomberg> | are you on mac that has compose key |
| 16:27:52 | <geekosaur> | nope, PC running Linux |
| 16:28:13 | <geekosaur> | although when I use Windows I use a program called WinCompose that lets me use the same compose sequences |
| 16:28:31 | <mauke> | blomberg: what does the "/charset" command report in your weechat? |
| 16:28:40 | <geekosaur> | and I have a .XCompose that loads the standard compose definitions and then adds a few more |
| 16:29:35 | → | califax joins (~califax@user/califx) |
| 16:30:34 | <blomberg> | charset: terminal: UTF-8, internal: UTF-8 |
| 16:31:05 | <mauke> | that looks correct |
| 16:31:14 | <blomberg> | i am under termux |
| 16:31:36 | <blomberg> | sorry what's that called |
| 16:31:49 | <blomberg> | tmux |
| 16:32:27 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 16:32:45 | × | blomberg quits (~default_u@117.247.121.213) (Quit: blomberg) |
| 16:33:06 | → | blomberg joins (~default_u@117.247.121.213) |
| 16:33:22 | <mauke> | yep, that would do it |
| 16:33:32 | → | califax joins (~califax@user/califx) |
| 16:33:34 | <blomberg> | now type triple ascii dots not compose key |
| 16:33:47 | <geekosaur> | ... |
| 16:33:49 | <geekosaur> | … |
| 16:34:12 | <blomberg> | ahh now i see them geekosaur below those dots are differenet i fixed my tmux not my fonts |
| 16:34:18 | <blomberg> | tmux messes with weechat |
| 16:34:31 | <geekosaur> | tmux may simply not support unicode properly |
| 16:34:36 | <blomberg> | ... |
| 16:34:38 | <mauke> | tmux supports unicode fine |
| 16:34:38 | <geekosaur> | dunno if there's a setting somewhere |
| 16:34:47 | <blomberg> | gnome-terminal too messes |
| 16:34:47 | <mauke> | the first thing to check is your locale settings |
| 16:35:06 | <blomberg> | echo $what |
| 16:35:14 | <mauke> | if you open a terminal and run 'locale', what do you get? |
| 16:36:33 | <blomberg> | geekosaur:are you on mac ? and press compose key or sth smaller triple dots |
| 16:36:48 | <blomberg> | https://bpa.st/UHTQ |
| 16:36:54 | <geekosaur> | I told you, I'm on a PC running Linux. I bound compose to right alt |
| 16:36:57 | <geekosaur> | … |
| 16:37:06 | <blomberg> | what's compose |
| 16:37:37 | <int-e> | a key |
| 16:37:50 | <blomberg> | i have had tmux issues even with emacs what's compose key int-e |
| 16:37:53 | <mauke> | https://en.wikipedia.org/wiki/Compose_key |
| 16:38:08 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
| 16:38:28 | <mauke> | blomberg: your system isn't set up to use unicode/utf-8 |
| 16:39:01 | <blomberg> | yes but those were ascii ... weren't they? |
| 16:39:13 | <mauke> | blomberg: it should be something like en_IN.UTF-8 |
| 16:39:29 | <mauke> | U+2026 is not ASCII, no |
| 16:39:36 | → | gmg joins (~user@user/gehmehgeh) |
| 16:39:48 | <blomberg> | but i told you to type ascii |
| 16:40:06 | <geekosaur> | https://imgur.com/riilRZ1.png https://github.com/geekosaur/dotty/blob/master/.XCompose |
| 16:40:17 | <blomberg> | i have to go to defecate and will be back in 10 mintues guys |
| 16:40:18 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 16:41:45 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 16:42:33 | <mauke> | man tmux: "For output to the terminal, UTF-8 is used if the -u option is given or if LC_CTYPE contains "UTF-8" or "UTF8". Otherwise, only ASCII characters are written and non-ASCII characters are replaced with underscores (‘_’)." |
| 16:43:31 | <mauke> | and by LC_CTYPE they mean whichever environment variable is set first from this list: LC_ALL (global override), LC_CTYPE (specific entry), LANG (defaults) |
| 16:43:53 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 16:43:53 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 16:43:53 | → | wroathe joins (~wroathe@user/wroathe) |
| 16:44:33 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection) |
| 16:45:50 | <yushyin> | i would argue that this is not a sensible replacement char, but you don't have much choice in the ascii range :/ |
| 16:46:02 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 16:46:07 | × | acidjnk quits (~acidjnk@p200300d6e7137a35c0a7281abf493a9c.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 16:46:33 | <mauke> | it should at least use reverse video |
| 16:46:51 | × | malte quits (~malte@mal.tc) (Remote host closed the connection) |
| 16:47:59 | → | malte joins (~malte@mal.tc) |
| 16:48:34 | <mauke> | foo ? bar |
| 16:49:15 | → | econo joins (uid147250@user/econo) |
| 16:50:52 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 16:51:02 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt https://tinyurl.com/4m8d4kd5) |
| 16:54:07 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::efb) |
| 16:54:44 | × | glguy quits (~glguy@libera/staff-emeritus/glguy) (Read error: Connection reset by peer) |
| 16:55:01 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::efb) (Client Quit) |
| 16:55:02 | × | mc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 256 seconds) |
| 16:57:54 | → | glguy joins (~glguy@libera/staff-emeritus/glguy) |
| 17:01:35 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 17:02:18 | <_xor> | Newbie here porting a project, got a quick question. What would cause `cabal build --offline exe:myapp` to exit with a "not a git repository" error? |
| 17:02:52 | <_xor> | Meaning, is there a cabal-specific argument that can help solve that or is it more likely to be project specific? (maybe it's invoking a script) |
| 17:03:55 | → | elevenkb joins (~elevenkb@105.224.37.83) |
| 17:04:13 | <_xor> | The build environment doesn't use git to get sources, it has distribution archives it fetches. I'm guessing git is being used to either A) Determine the version being built, or B) Checking out a dependency version. |
| 17:05:37 | <geekosaur> | if you have a cabal.project it may point to a git dependency. otherwise it might well be checking for a git version, some projects do that themselves |
| 17:05:52 | <_xor> | ah |
| 17:06:34 | <_xor> | Yeah, that was something I had to patch up earlier. It had git dependencies, which I had to vendor for offline builds. |
| 17:06:49 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 17:06:51 | <_xor> | There's a setting to kill the cabal.project file instead of appending to it. |
| 17:09:04 | → | tremon joins (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl) |
| 17:12:37 | × | tired quits (~tired@user/tired) (Quit: /) |
| 17:13:13 | → | tired joins (~tired@user/tired) |
| 17:13:24 | <blomberg> | geekosaur:which os do you use, which WM/DE |
| 17:13:29 | × | money_ quits (~money@user/polo) (Remote host closed the connection) |
| 17:14:15 | <geekosaur> | Ubuntu 20.04 (although I plan to upgrade to 22.04), MATE with xmonad as WM (xmonad doesn't affect this as I use DE facilities to configure the keyboard) |
| 17:14:45 | → | money_ joins (~money@user/polo) |
| 17:14:53 | <blomberg> | geekosaur:https://i.imgur.com/riilRZ1.png what kind of story you wrote in emacs |
| 17:14:59 | <blomberg> | are you a writer |
| 17:15:12 | <geekosaur> | it's mostly notes as yet 🙂 |
| 17:15:35 | <geekosaur> | and no, I'm not really a writer although as I compare older stuff to newer I can tell I've been developing writing skills |
| 17:15:36 | <blomberg> | geekosaur:i can see the smile unicode image even though they say i don't have unicode |
| 17:15:55 | <blomberg> | geekosaur:what kind of story is that |
| 17:15:58 | <geekosaur> | if you';re no longer under tmux then it will probably work. see what mauke sent earlier |
| 17:16:13 | <geekosaur> | [11 16:42:33] <mauke> man tmux: "For output to the terminal, UTF-8 is used if the -u option is given or if LC_CTYPE contains "UTF-8" or "UTF8". Otherwise, only ASCII characters are written and non-ASCII characters are replaced with underscores (‘_’)." |
| 17:16:18 | <blomberg> | i read that |
| 17:17:28 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 17:18:53 | <blomberg> | when you seethe firefox do you see the white background or prefer dark mode |
| 17:19:22 | <blomberg> | since your windows are all black and then you shift to bright white background |
| 17:19:41 | <geekosaur> | I run Chrome instead of firefox, it doesn't support dark mode on linux unfortunately although I have switched various individual websites to dark mode |
| 17:19:44 | <blomberg> | and which terminal do you use |
| 17:19:51 | <geekosaur> | mate-terminal |
| 17:20:10 | <blomberg> | ubuntu mate os or ubuntu os + mate DE |
| 17:20:11 | <geekosaur> | don't use screen or tmux unless I'm connected to another system over ssh |
| 17:20:32 | <geekosaur> | ubuntu doesn't have a mate OS release, they're pretty much gnome |
| 17:21:28 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:21:42 | × | money_ quits (~money@user/polo) (Quit: late) |
| 17:22:23 | <blomberg> | can i too swtich to mate DE without ubuntu mate |
| 17:22:41 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 17:23:14 | <blomberg> | sudo apt install mate-desktop-environment |
| 17:24:11 | Alex_test_ | is now known as Alex_test |
| 17:25:09 | <geekosaur> | I installed a bit more than that |
| 17:25:10 | <geekosaur> | https://paste.tomsmeding.com/udZwsyWz |
| 17:26:09 | <blomberg> | is tat config or output of cmd |
| 17:26:18 | <geekosaur> | but if you';re running gnome it should have a similar keyboard configuration menu |
| 17:26:45 | <geekosaur> | skkukuk «xmonad:skkukuk» ⁅xmonad-bsa⁆ Z$ dpkg -l mate\* | grep \^ii | xclip -in |
| 17:27:04 | <geekosaur> | then pasted it into the pastebin window |
| 17:29:03 | <blomberg> | ok nice chat |
| 17:29:17 | <blomberg> | i gottoo go now |
| 17:29:33 | <blomberg> | but i would like to read your notes |
| 17:34:42 | × | blomberg quits (~default_u@117.247.121.213) (Ping timeout: 256 seconds) |
| 17:35:18 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 17:39:57 | <_________> | how to decouple instances from data e.g. construct two Data.Set containers from the same list, but using different Ord/Eq instances: https://paste.tomsmeding.com/crG8cVXK ? |
| 17:40:56 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 17:41:58 | × | razetime quits (~quassel@49.207.203.213) (Remote host closed the connection) |
| 17:45:34 | <mauke> | I mean, you could always parameterize the Item type |
| 17:46:49 | <_________> | mauke: how would you compare (Item Field1) with (Item Field2) then? if I understand what you mean. |
| 17:47:07 | <mauke> | I wouldn't |
| 17:47:11 | <mauke> | those are different types |
| 17:47:53 | <_________> | ok, so it would be 3 different lists of items? |
| 17:48:14 | <mauke> | well, 3 different sets |
| 17:48:33 | <mauke> | the code you're describing doesn't make much sense to me |
| 17:49:14 | <mauke> | is there any reason you're not just using a Map? |
| 17:50:38 | <_________> | hmm |
| 17:52:48 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 17:53:48 | × | wroathe quits (~wroathe@user/wroathe) (Quit: leaving) |
| 17:57:22 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 17:59:51 | <_________> | mauke: yeah, Data.Map would be better (since it has insertWith which can be used to merge "same" values). I guess it can be adopted to make a set from it. |
| 18:00:06 | <_________> | thanks |
| 18:05:34 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 18:05:34 | × | jpds2 quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 18:06:02 | → | califax joins (~califax@user/califx) |
| 18:06:23 | → | jpds2 joins (~jpds@gateway/tor-sasl/jpds) |
| 18:09:05 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 18:11:05 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 18:11:30 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:15:44 | → | mestre joins (~mestre@191.177.185.178) |
| 18:17:56 | <dminuoso> | What deep and black sorcery is this thing |
| 18:17:58 | <dminuoso> | :t upon |
| 18:17:59 | <lambdabot> | (Indexable [Int] p, Data s, Data a, Applicative f) => (s -> a) -> p a (f a) -> s -> f s |
| 18:18:33 | <dminuoso> | Somebody must have been burnt at the stake for this. |
| 18:20:01 | × | elevenkb quits (~elevenkb@105.224.37.83) (Quit: Client closed) |
| 18:20:07 | → | acidjnk joins (~acidjnk@p200300d6e7137a35c0a7281abf493a9c.dip0.t-ipconnect.de) |
| 18:20:29 | <dminuoso> | Oh gosh. So under the hood this uses reflection, unsafePerformIO, and just brute force to figure out which part of a structure this ends up looking at, identify the index of that, and reconstruct a traversable that points at it. |
| 18:20:43 | <dminuoso> | So this is how one does Ruby-style dynamic reflection. |
| 18:21:02 | → | Topsi joins (~Topsi@dialin-80-228-141-073.ewe-ip-backbone.de) |
| 18:21:13 | × | iqubic quits (~avi@2601:602:9502:c70:e046:e69e:de6e:24b2) (Remote host closed the connection) |
| 18:21:13 | <dminuoso> | % (2,4) & upon fst *~ 5 |
| 18:21:13 | <yahb2> | <interactive>:4:7: error: ; Variable not in scope: (&) :: (a1, b1) -> t0 -> t1 ; ; <interactive>:4:9: error: ; Variable not in scope: upon :: ((a0, b0) -> a0) -> t0 ; ; <interactive>:4:18... |
| 18:21:16 | <dminuoso> | > (2,4) & upon fst *~ 5 |
| 18:21:18 | <lambdabot> | (10,4) |
| 18:21:24 | <dminuoso> | This gives me headaches. :S |
| 18:21:43 | → | iqubic joins (~avi@2601:602:9502:c70:3fce:1b2:5b0b:b57c) |
| 18:22:06 | → | elevenkb joins (~elevenkb@105.224.37.83) |
| 18:22:14 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 18:22:56 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 18:24:42 | → | wroathe joins (~wroathe@50.205.197.50) |
| 18:24:42 | × | wroathe quits (~wroathe@50.205.197.50) (Changing host) |
| 18:24:42 | → | wroathe joins (~wroathe@user/wroathe) |
| 18:27:24 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 18:28:48 | × | Maeda quits (~Maeda@91-161-10-149.subs.proxad.net) (Quit: :)) |
| 18:28:54 | × | wroathe quits (~wroathe@user/wroathe) (Client Quit) |
| 18:29:07 | → | wroathe joins (~wroathe@user/wroathe) |
| 18:29:46 | → | Maeda joins (~Maeda@91-161-10-149.subs.proxad.net) |
| 18:29:51 | × | Maeda quits (~Maeda@91-161-10-149.subs.proxad.net) (Client Quit) |
| 18:29:58 | × | elevenkb quits (~elevenkb@105.224.37.83) (Quit: Client closed) |
| 18:30:06 | × | iqubic quits (~avi@2601:602:9502:c70:3fce:1b2:5b0b:b57c) (Remote host closed the connection) |
| 18:30:18 | → | Maeda joins (~Maeda@91-161-10-149.subs.proxad.net) |
| 18:30:29 | → | iqubic joins (~avi@2601:602:9502:c70:3fce:1b2:5b0b:b57c) |
| 18:32:26 | → | elevenkb joins (~elevenkb@105.224.37.83) |
| 18:33:10 | × | phma quits (phma@2001:5b0:215a:c6f8:290c:9583:a7f8:18f1) (Read error: Connection reset by peer) |
| 18:33:20 | × | Chai-T-Rex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds) |
| 18:33:22 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 18:33:34 | → | phma joins (~phma@host-67-44-208-203.hnremote.net) |
| 18:34:03 | → | money_ joins (~money@user/polo) |
| 18:36:57 | × | elevenkb quits (~elevenkb@105.224.37.83) (Client Quit) |
| 18:38:33 | × | money_ quits (~money@user/polo) (Ping timeout: 256 seconds) |
| 18:39:03 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 18:43:08 | → | elevenkb[m] joins (~elevenkb@2001:470:69fc:105::2:cb89) |
| 18:43:52 | → | ddellacosta joins (~ddellacos@143.244.47.100) |
| 18:46:33 | → | elevenkb joins (~elevenkb@105.224.37.83) |
| 18:46:41 | × | elevenkb quits (~elevenkb@105.224.37.83) (Client Quit) |
| 18:49:14 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:51:15 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 18:54:31 | → | zant2 joins (~zant@62.214.20.26) |
| 18:54:40 | ← | zant2 parts (~zant@62.214.20.26) () |
| 18:56:49 | → | Inst_ joins (~Inst@c-98-208-218-119.hsd1.fl.comcast.net) |
| 18:57:18 | × | Inst_ quits (~Inst@c-98-208-218-119.hsd1.fl.comcast.net) (Read error: Connection reset by peer) |
| 18:59:32 | → | jargon joins (~jargon@174-22-192-24.phnx.qwest.net) |
| 19:00:01 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 19:01:00 | × | aweinstock quits (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com) (Ping timeout: 260 seconds) |
| 19:02:03 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 19:02:30 | → | money_ joins (~money@user/polo) |
| 19:02:43 | → | aweinstock joins (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com) |
| 19:08:40 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 19:09:08 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 248 seconds) |
| 19:09:09 | × | money_ quits (~money@user/polo) (Ping timeout: 256 seconds) |
| 19:09:34 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:44ff:72e2:5072:e2ac) |
| 19:12:10 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 19:14:08 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:44ff:72e2:5072:e2ac) (Ping timeout: 252 seconds) |
| 19:25:15 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 19:29:49 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds) |
| 19:34:34 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 19:43:33 | → | money_ joins (~money@user/polo) |
| 19:45:50 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:44ff:72e2:5072:e2ac) |
| 19:51:23 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 19:51:56 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 19:52:43 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 19:53:12 | → | pyrex joins (~pyrex@user/pyrex) |
| 19:54:31 | → | nicole joins (ilbelkyr@libera/staff/ilbelkyr) |
| 19:59:26 | → | mira joins (~aranea@wireguard/contributorcat/mira) |
| 20:00:56 | <mira> | hmm, does base have a newtype wrapper around lists with a pairwise combining Monoid instance Monoid a => Monoid [a] instead of the usual list Monoid instance? |
| 20:01:30 | <mira> | seems like an obvious thing to have but I can't find it anywhere |
| 20:01:52 | <APic> | lol |
| 20:03:08 | <koala_man> | are there any tools that help me tighten my cabal version constraints? I'd like something that'll automatically build&test to find the earliest and latest compatible version for each dependency |
| 20:04:03 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 20:04:18 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 20:06:10 | → | elevenkb joins (~elevenkb@105.224.37.83) |
| 20:09:34 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 20:11:35 | <dminuoso> | mira: Not needed. |
| 20:12:02 | <dminuoso> | mira: `instance (Monoid a, Monoid b) => Monoid (a,b)` is a thing |
| 20:12:27 | → | pagnol joins (~user@213-205-209-87.ftth.glasoperator.nl) |
| 20:12:28 | <dminuoso> | Or maybe I misunderstand what you mean by pairwise. |
| 20:12:35 | × | johnw quits (~johnw@2600:1700:cf00:db0:f544:7bad:14ec:5034) (Quit: ZNC - http://znc.in) |
| 20:13:02 | <iqubic> | Does Ziplist have a monoid instance? |
| 20:13:19 | <iqubic> | instance Monoid a => Ziplist a where... |
| 20:13:45 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 20:15:41 | <mira> | yeah I was hoping ZipList would have it, but nope, no Monoid instance there |
| 20:16:29 | <mira> | dminuoso: yeah that's not what I meant, I'm looking for [a,b,..] <> [c,d,..] = [a <> c, b <> d,..] :) |
| 20:16:42 | <mauke> | :t zipWith mappend |
| 20:16:43 | <lambdabot> | Monoid c => [c] -> [c] -> [c] |
| 20:17:20 | <mauke> | and I guess mempty = repeat mempty |
| 20:18:16 | <mira> | slightly different semantics from what I'm doing but yeah |
| 20:19:15 | <mira> | the Monoid instance I need (and wrote locally for now) has [] <> xs = xs, with zipWith that'd result in [] instead |
| 20:22:30 | <mauke> | oh, implied mempty padding? |
| 20:22:40 | × | elevenkb quits (~elevenkb@105.224.37.83) (Quit: Client closed) |
| 20:23:00 | <mira> | yep |
| 20:23:33 | → | j4cc3b joins (~jeffreybe@pool-74-105-2-138.nwrknj.fios.verizon.net) |
| 20:23:44 | <mira> | otherwise it wouldn't satisfy the Monoid laws |
| 20:26:29 | × | money_ quits (~money@user/polo) (Quit: late) |
| 20:33:32 | <sm> | awesome... watch your github CI run in terminal: |
| 20:33:32 | <sm> | gh run watch -i10 --exit-status `gh run list -L1 --json databaseId -q .[0].databaseId` |
| 20:38:57 | → | pavonia joins (~user@user/siracusa) |
| 20:44:04 | × | pagnol quits (~user@213-205-209-87.ftth.glasoperator.nl) (Ping timeout: 248 seconds) |
| 20:44:07 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds) |
| 20:48:46 | → | nut joins (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 20:51:48 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:54:23 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 21:00:27 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 21:02:05 | → | gmg joins (~user@user/gehmehgeh) |
| 21:04:39 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 21:06:30 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 21:07:13 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 21:10:20 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
| 21:11:58 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 21:22:41 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 21:24:50 | × | Katarushisu quits (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat) |
| 21:25:22 | → | Katarushisu joins (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) |
| 21:29:06 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 21:29:06 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 21:29:06 | → | wroathe joins (~wroathe@user/wroathe) |
| 21:29:29 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 21:34:35 | × | TimWolla quits (~timwolla@2a01:4f8:150:6153:beef::6667) (Quit: Bye) |
| 21:34:56 | × | nut quits (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 21:40:07 | × | EvanR quits (~EvanR@user/evanr) (Remote host closed the connection) |
| 21:40:08 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 21:40:31 | → | EvanR joins (~EvanR@user/evanr) |
| 21:43:04 | <iqubic> | Is there a good way to combine partition and map? |
| 21:43:12 | <iqubic> | :t partition |
| 21:43:13 | <lambdabot> | (a -> Bool) -> [a] -> ([a], [a]) |
| 21:43:28 | × | ddellacosta quits (~ddellacos@143.244.47.100) (Ping timeout: 256 seconds) |
| 21:43:47 | <iqubic> | I want to to map a function of the type a -> b on both the result lists. |
| 21:44:02 | <EvanR> | partition f . map g |
| 21:44:10 | <EvanR> | oh nvm |
| 21:44:25 | <EvanR> | bimap g . partition f |
| 21:44:37 | <geekosaur> | yeh, I was thinking bimap |
| 21:45:10 | × | mestre quits (~mestre@191.177.185.178) (Ping timeout: 256 seconds) |
| 21:45:37 | <geekosaur> | that said, if you're mapping over both lists, why not map it first? hm, unless the predicate requires the original list values to work |
| 21:46:00 | <iqubic> | Well, actually, in this case I'm actually doing something like "partition (pred . g)" and I'm also wantting to bimap g over both the lists. |
| 21:46:28 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:46:28 | <EvanR> | oh you want to preprocess it after all |
| 21:46:32 | <mauke> | :t map snd . partition (?f . fst) . map ((,) <*> ?g) |
| 21:46:32 | <lambdabot> | error: |
| 21:46:33 | <lambdabot> | • Couldn't match type ‘([(a, b0)], [(a, b0)])’ with ‘[(a0, b)]’ |
| 21:46:33 | <lambdabot> | Expected type: [a] -> [(a0, b)] |
| 21:46:33 | <geekosaur> | that really does sound like partition f . map g |
| 21:46:44 | <iqubic> | So I'd be writing `bimap g . partition (pred . g)` which can be simplified to `partition pred . map g` |
| 21:47:44 | <iqubic> | I'm using partition for Advent of Code here, to check all the values all at once. |
| 21:48:06 | <mauke> | :t join bimap (map snd) . partition (?f . fst) . map ((,) <*> ?g) |
| 21:48:07 | <lambdabot> | (?f::a -> Bool, ?g::a -> b) => [a] -> ([b], [b]) |
| 21:48:31 | <iqubic> | You're making it more complex. |
| 21:48:37 | <mauke> | yes |
| 21:49:13 | <iqubic> | I have something of the form `partition (pred . f)` and I want map f over both the fst and snd list of the results. |
| 21:49:15 | × | Tuplanolla quits (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.) |
| 21:49:36 | <iqubic> | With pred :: a -> Bool. |
| 21:49:51 | <mauke> | but that's the simple case (and you've already solved it) |
| 21:50:01 | <iqubic> | Pred is short for predicate here in this example. |
| 21:50:08 | <iqubic> | Yeah. |
| 21:50:52 | <mauke> | I wanted to see if I could do a sort of schwartzian transform here |
| 21:50:59 | <mauke> | but "join bimap" is a bit ugly |
| 21:51:11 | <iqubic> | :t join bimap |
| 21:51:12 | <lambdabot> | Bifunctor p => (c -> d) -> p c c -> p d d |
| 21:51:25 | <iqubic> | What's that even doing? |
| 21:53:00 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 21:53:21 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 21:55:09 | <EvanR> | how does it not require Monad |
| 21:55:29 | → | TonyStone joins (~TonyStone@cpe-74-76-57-186.nycap.res.rr.com) |
| 21:56:38 | <mauke> | :t join ?f ?x |
| 21:56:39 | <lambdabot> | (?f::t1 -> t1 -> t2, ?x::t1) => t2 |
| 21:58:24 | × | TonyStone quits (~TonyStone@cpe-74-76-57-186.nycap.res.rr.com) (Remote host closed the connection) |
| 21:59:53 | <c_wraith> | EvanR: the monad instance is already satisfied by a concrete type present |
| 22:00:40 | → | TonyStone joins (~TonyStone@cpe-74-76-57-186.nycap.res.rr.com) |
| 22:00:40 | EvanR | squint |
| 22:00:53 | → | CiaoSen joins (~Jura@p200300c95747e0002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 22:01:09 | <iqubic> | Parsing Day 11's input in Megaparsec was cumbersome. |
| 22:01:39 | <iqubic> | Not hard by any means, just involved. |
| 22:01:40 | <iqubic> | Not hard by any means, just involved. |
| 22:02:15 | <iqubic> | I should really figure out how to get my irc client to stop sending the same message multiple times in a row. |
| 22:02:18 | <iqubic> | I should really figure out how to get my irc client to stop sending the same message multiple times in a row. |
| 22:02:29 | × | paulpaul1076 quits (~textual@95-29-5-111.broadband.corbina.ru) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 22:02:39 | <dsal> | iqubic: What'd you do that was cumbersome? |
| 22:02:50 | <iqubic> | https://dpaste.com/H27T7UMFK |
| 22:03:07 | <iqubic> | It's just a lot of code. |
| 22:03:08 | <iqubic> | It's just a lot of code. |
| 22:03:24 | <iqubic> | BRB... Switching IRC clients |
| 22:03:37 | × | iqubic quits (~avi@2601:602:9502:c70:3fce:1b2:5b0b:b57c) (Remote host closed the connection) |
| 22:03:54 | → | iqubic joins (~avi@2601:602:9502:c70:3fce:1b2:5b0b:b57c) |
| 22:03:57 | <dsal> | Mine's a little less. https://www.irccloud.com/pastebin/gCN5WyXI/elevenparser.hs |
| 22:04:12 | <sm> | thank you |
| 22:04:12 | <sm> | thank you |
| 22:04:41 | <EvanR> | iqubic, lol my parser https://paste.tomsmeding.com/pNWrPLKb |
| 22:05:25 | <iqubic> | I should really look into lexeme. |
| 22:05:25 | → | notzmv joins (~zmv@user/notzmv) |
| 22:05:29 | → | ddellacosta joins (~ddellacos@143.244.47.89) |
| 22:06:43 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 22:06:54 | <dsal> | iqubic: lexeme is a weird, but neat concept. It really just… run a parser and then run another parser until it fails and throw away that output then return the result of the first one. |
| 22:07:12 | <iqubic> | I know what it is yeah. |
| 22:07:20 | <dsal> | The idea is that if you have something like whitespace around junk, you want to eat all the whitespace *after* the thing you parser so the next parser is in place. |
| 22:07:36 | <iqubic> | Meah, I'm fine with what I have for now. |
| 22:07:45 | <dsal> | Yeah, it's not much bigger, just has more type signatures. |
| 22:07:57 | <iqubic> | I know. |
| 22:07:58 | <dsal> | I didn't parse to a function because I wanted a free show instance for some reason. |
| 22:08:35 | <iqubic> | Meh... I didn't use a show instance to test. |
| 22:08:55 | <iqubic> | I just manually queried each field one by one. |
| 22:09:06 | → | thegeekinside joins (~thegeekin@189.217.82.244) |
| 22:09:16 | <dsal> | Sure, it's not too hard to inspect otherwise. I didn't really *read* the full output. Just assumed if it got the right number and didn't fail, then I did the right thing. |
| 22:09:37 | <iqubic> | Let m = pInput "..." |
| 22:10:23 | <dsal> | You spelled pimpit wrong. |
| 22:11:19 | <iqubic> | I'm still not sure why using the LCM of all the test values as a global modulus works. |
| 22:11:39 | <EvanR> | spoiler alert lol |
| 22:11:53 | <EvanR> | was that posted somewhere or did you figure it out |
| 22:14:18 | <iqubic> | Sorry... I figured that out myself. |
| 22:14:31 | → | coot joins (~coot@213.134.171.3) |
| 22:14:33 | <iqubic> | I forgot that I wasn't in the spoilers channel. |
| 22:14:38 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 22:15:02 | <dsal> | The coolest part about getting answers in #haskell is that I often can't understand them anyway. |
| 22:15:32 | <dsal> | (because people are asking questions I don't understand) |
| 22:18:42 | <EvanR> | the 1 day of number theory back in my abstract algebra course was probably the most interesting |
| 22:19:08 | <EvanR> | but also felt like stuff I should have learned in grade school, like remainders and stuff |
| 22:20:15 | → | paulpaul1076 joins (~textual@95-29-5-111.broadband.corbina.ru) |
| 22:25:03 | × | paulpaul1076 quits (~textual@95-29-5-111.broadband.corbina.ru) (Ping timeout: 260 seconds) |
| 22:26:37 | × | hgolden quits (~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection) |
| 22:28:06 | → | hgolden joins (~hgolden@cpe-172-251-233-141.socal.res.rr.com) |
| 22:28:06 | → | merijn joins (~merijn@86.86.29.250) |
| 22:31:52 | <EvanR> | sometimes I wonder if do notation is even necessary xD https://paste.tomsmeding.com/N7WMhGdE |
| 22:32:38 | × | merijn quits (~merijn@86.86.29.250) (Ping timeout: 260 seconds) |
| 22:32:48 | <iqubic> | I love makeRidiculous as a function name. |
| 22:33:27 | <EvanR> | it turns an Int monkey into a Ridiculous monkey |
| 22:33:58 | → | TimWolla joins (~timwolla@2a01:4f8:150:6153:beef::6667) |
| 22:34:59 | × | adium quits (adium@user/adium) (Quit: Stable ZNC by #bnc4you) |
| 22:35:29 | <iqubic> | Oh, does it? |
| 22:35:32 | <geekosaur> | EvanR, you're basically doing what do notation does |
| 22:35:46 | × | coot quits (~coot@213.134.171.3) (Quit: coot) |
| 22:35:50 | <geekosaur> | it's a very mechanical transform |
| 22:37:53 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:41:42 | <tomsmeding> | geekosaur: sorry for random ping, but I see you're around. I'm not watching irc pings for a while -- life gets temporary precedence over irc. If there's anything with *.tomsmeding.com feel free to email at irc at my nick dot com :) |
| 22:42:12 | <geekosaur> | nothing at present, have had my hands full with other stuff |
| 22:42:39 | <tomsmeding> | monochrom: also pinging you just to be sure, see ^ |
| 22:42:50 | <tomsmeding> | Cheers all :) |
| 22:43:47 | <dsal> | mailto:tomsmeding you around? |
| 22:45:14 | × | fizbin quits (~fizbin@user/fizbin) (Ping timeout: 256 seconds) |
| 22:45:47 | <dsal> | Actually, that name ^ did come up at work recently when someone was asking something about observing gc events and the answer was something like "no, you can't. Here's how a person did it: …" |
| 22:51:19 | → | shriekingnoise joins (~shrieking@186.137.167.202) |
| 22:52:37 | → | mestre joins (~mestre@191.177.185.178) |
| 22:53:26 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 22:53:44 | × | kenaryn quits (~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr) (Quit: leaving) |
| 22:53:52 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 22:57:03 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 22:57:56 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 23:01:43 | tomsmeding | is surprised ghc-gc-hook got used by >1 person |
| 23:03:46 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::efb) |
| 23:04:30 | × | j4cc3b quits (~jeffreybe@pool-74-105-2-138.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds) |
| 23:08:23 | <dsal> | I don't think we're *using* it, but we do have a few weird things show up that strongly imply the GC is slowing things down without any useful data to confirm that. |
| 23:08:45 | → | califax_ joins (~califax@user/califx) |
| 23:09:11 | × | califax quits (~califax@user/califx) (Ping timeout: 255 seconds) |
| 23:10:00 | califax_ | is now known as califax |
| 23:22:04 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 256 seconds) |
| 23:27:12 | <[Leary]> | mira: https://github.com/haskell/core-libraries-committee/issues/100 |
| 23:27:55 | × | michalz quits (~michalz@185.246.204.93) (Ping timeout: 260 seconds) |
| 23:28:39 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 23:28:59 | × | ddellacosta quits (~ddellacos@143.244.47.89) (Ping timeout: 264 seconds) |
| 23:30:04 | <davean> | Its really annoying how to do interesting things one has to magic up GHC internal symbols for like GC and thread queues |
| 23:37:23 | → | johnw joins (~johnw@2600:1700:cf00:db0:d426:be2d:331:cdc5) |
| 23:40:09 | × | tremon quits (~tremon@83-84-18-241.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in) |
| 23:44:37 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 23:50:20 | × | sympt quits (~sympt@user/sympt) (Ping timeout: 260 seconds) |
| 23:57:53 | <dsal> | c_wraith: Hey, are you around to make me less dumb about this para thing again? I'm still getting my results backwards (and presumably requiring a finite list). I'm effectively trying to do a "map with previous value". So I think I might just not understand ListF. |
| 23:58:04 | <c_wraith> | I am around! |
| 23:58:16 | <c_wraith> | Mind showing me your code? That seems like an expedient start |
| 23:58:20 | <dsal> | I'm treating the incoming as `Cons currentItem (processedStuff, tail)` |
| 23:58:37 | <dsal> | Yeah, this is the whole thing in-situ https://www.irccloud.com/pastebin/9bL24qdo/follow.hs |
| 23:58:52 | <dsal> | There's some junk there, but you can hopefully see what I'm trying. |
| 23:59:15 | <dsal> | I'm trying it in GHCI and it kind of works except for putting the modified value at the end. |
| 23:59:26 | <c_wraith> | I think you've got processedStuff and tail backwards... |
| 23:59:47 | <c_wraith> | yeah, the tail is the first element of the pair, the processed stuff is the second stuff |
| 23:59:51 | <c_wraith> | second element |
All times are in UTC on 2022-12-11.