Logs on 2023-12-23 (liberachat/#haskell)
| 00:06:30 | → | _xor0 joins (~xor@72.49.195.41) |
| 00:07:51 | × | _xor quits (~xor@72.49.195.41) (Ping timeout: 245 seconds) |
| 00:07:51 | _xor0 | is now known as _xor |
| 00:08:31 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
| 00:12:55 | → | peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 00:19:32 | → | _xor2 joins (~xor@72.49.195.41) |
| 00:21:04 | × | _xor quits (~xor@72.49.195.41) (Ping timeout: 246 seconds) |
| 00:21:04 | _xor2 | is now known as _xor |
| 00:24:46 | × | gdown- quits (~gavin@h69-11-149-109.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection) |
| 00:28:35 | × | waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds) |
| 00:29:31 | × | myme quits (~myme@2a01:799:d60:e400:6489:87d4:bbd5:b8cc) (Ping timeout: 260 seconds) |
| 00:30:16 | → | myme joins (~myme@2a01:799:d60:e400:5e72:30ce:3add:bd7c) |
| 00:30:54 | → | noir2002 joins (~user@c-73-249-65-61.hsd1.ct.comcast.net) |
| 00:31:53 | ← | noir2002 parts (~user@c-73-249-65-61.hsd1.ct.comcast.net) () |
| 00:35:41 | × | sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 240 seconds) |
| 00:57:45 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Quit: _) |
| 00:58:07 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 01:10:32 | <juri_> | I'd rather just ignore the section, or have some sort of a define i can look for. |
| 01:12:01 | × | Tuplanolla quits (~Tuplanoll@91-159-69-171.elisa-laajakaista.fi) (Ping timeout: 255 seconds) |
| 01:12:29 | <juri_> | sinch hlint can't find MachDeps.h, is there something in there i can key off of, to determine i'm in hlint, when writing conditionals? |
| 01:13:20 | → | jmorris joins (uid604645@id-604645.hampstead.irccloud.com) |
| 01:13:41 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds) |
| 01:14:04 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 01:20:10 | → | Xyloes joins (~wyx@2400:dd01:103a:1012:d681:d7ff:fedb:298d) |
| 01:21:32 | → | Guest61 joins (~Guest61@c-24-147-249-131.hsd1.ma.comcast.net) |
| 01:25:30 | → | taupiqueur joins (~taupiqueu@2a02-8440-3340-945d-781f-ca70-2fe9-9e3e.rev.sfr.net) |
| 01:25:49 | × | Guest61 quits (~Guest61@c-24-147-249-131.hsd1.ma.comcast.net) (Client Quit) |
| 01:37:11 | × | asdfhjk1 quits (~asdfhjk1@2605:59c8:514c:8110::389) (Ping timeout: 260 seconds) |
| 01:38:25 | <fvr> | juri_: you can use the __HLINT__ preprocessor definition to hide |
| 01:38:49 | <fvr> | you can find an example for it in the README https://github.com/ndmitchell/hlint/ |
| 01:42:29 | → | alexherbo2 joins (~alexherbo@2a02-8440-3340-945d-781f-ca70-2fe9-9e3e.rev.sfr.net) |
| 01:58:06 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:d10d:1886:daa0:a45) (Remote host closed the connection) |
| 01:58:21 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:e122:966d:46d8:51e5) |
| 02:17:31 | → | rosco joins (~rosco@113.188.179.201) |
| 02:22:56 | → | nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net) |
| 02:24:49 | × | hgolden quits (~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com) (Remote host closed the connection) |
| 02:28:11 | × | nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
| 02:31:58 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 276 seconds) |
| 02:50:21 | × | peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds) |
| 02:58:53 | × | shapr quits (~user@2600:1700:c640:3100:948d:4ec3:e021:6ffd) (Remote host closed the connection) |
| 02:59:07 | → | shapr joins (~user@2600:1700:c640:3100:d824:2759:aace:bffe) |
| 03:12:25 | × | araujo quits (~araujo@45.131.194.46) (Ping timeout: 256 seconds) |
| 03:14:56 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 245 seconds) |
| 03:16:50 | → | nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net) |
| 03:17:03 | × | rosco quits (~rosco@113.188.179.201) (Ping timeout: 252 seconds) |
| 03:26:09 | → | peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 03:27:30 | → | not_reserved joins (~not_reser@185.199.102.168) |
| 03:27:54 | → | rosco joins (~rosco@113.188.179.201) |
| 03:30:37 | × | alexherbo2 quits (~alexherbo@2a02-8440-3340-945d-781f-ca70-2fe9-9e3e.rev.sfr.net) (Remote host closed the connection) |
| 03:36:29 | × | td_ quits (~td@i53870925.versanet.de) (Ping timeout: 240 seconds) |
| 03:38:29 | → | td_ joins (~td@i5387090C.versanet.de) |
| 03:44:59 | × | rosco quits (~rosco@113.188.179.201) (Quit: Lost terminal) |
| 03:57:24 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 03:57:24 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:57:24 | finn_elija | is now known as FinnElija |
| 04:06:23 | → | Axman6 joins (~Axman6@user/axman6) |
| 04:08:01 | → | _xor0 joins (~xor@72.49.195.41) |
| 04:08:13 | × | Axma68424 quits (~Axman6@user/axman6) (Ping timeout: 244 seconds) |
| 04:09:31 | × | _xor quits (~xor@72.49.195.41) (Ping timeout: 245 seconds) |
| 04:09:31 | _xor0 | is now known as _xor |
| 04:19:01 | → | _xor2 joins (~xor@72.49.195.41) |
| 04:19:12 | × | nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
| 04:20:21 | × | _xor quits (~xor@72.49.195.41) (Ping timeout: 245 seconds) |
| 04:20:21 | _xor2 | is now known as _xor |
| 04:20:23 | × | _xor quits (~xor@72.49.195.41) (Read error: Connection reset by peer) |
| 04:22:17 | → | ania123 joins (~ania123@94-43-231-47.dsl.utg.ge) |
| 04:22:55 | → | _xor joins (~xor@72.49.195.41) |
| 04:26:15 | → | aforemny joins (~aforemny@i59F516C5.versanet.de) |
| 04:27:01 | × | aforemny_ quits (~aforemny@2001:9e8:6cc6:3d00:5ecd:52b3:2188:c8ee) (Ping timeout: 276 seconds) |
| 04:28:38 | × | _xor quits (~xor@72.49.195.41) (Read error: Connection reset by peer) |
| 04:30:35 | × | Inrayzex quits (~Inrayzex@176.254.244.83) (Ping timeout: 264 seconds) |
| 04:31:15 | → | _xor joins (~xor@72.49.195.41) |
| 04:34:01 | × | gawen_ quits (~gawen@user/gawen) (Quit: cya) |
| 04:35:21 | → | gawen joins (~gawen@user/gawen) |
| 04:35:22 | × | _xor quits (~xor@72.49.195.41) (Read error: Connection reset by peer) |
| 04:38:15 | → | _xor joins (~xor@72.49.195.41) |
| 04:39:34 | × | _xor quits (~xor@72.49.195.41) (Read error: Connection reset by peer) |
| 04:40:48 | → | notzmv joins (~zmv@user/notzmv) |
| 04:42:24 | → | _xor joins (~xor@72.49.195.41) |
| 04:44:22 | → | zzz joins (~z@user/zero) |
| 04:47:29 | × | zero quits (~z@user/zero) (Ping timeout: 256 seconds) |
| 04:47:30 | zzz | is now known as zero |
| 04:53:41 | × | foul_owl quits (~kerry@185.219.141.160) (Ping timeout: 245 seconds) |
| 04:56:10 | → | foul_owl joins (~kerry@174-21-148-34.tukw.qwest.net) |
| 04:56:25 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 05:00:11 | × | [_] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds) |
| 05:11:20 | → | igemnace joins (~ian@user/igemnace) |
| 05:11:52 | × | igemnace quits (~ian@user/igemnace) (Remote host closed the connection) |
| 05:22:36 | × | emmanuelux_ quits (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 05:27:12 | → | infinity0_ joins (~infinity0@pwned.gg) |
| 05:27:13 | × | infinity0 quits (~infinity0@pwned.gg) (Killed (erbium.libera.chat (Nickname regained by services))) |
| 05:27:13 | infinity0_ | is now known as infinity0 |
| 05:47:39 | → | Lycurgus joins (~georg@li1192-118.members.linode.com) |
| 05:47:39 | × | Lycurgus quits (~georg@li1192-118.members.linode.com) (Changing host) |
| 05:47:39 | → | Lycurgus joins (~georg@user/Lycurgus) |
| 05:58:12 | × | ania123 quits (~ania123@94-43-231-47.dsl.utg.ge) (Quit: Client closed) |
| 06:07:57 | → | trev joins (~trev@user/trev) |
| 06:09:02 | → | oxide joins (~lambda@user/oxide) |
| 06:12:27 | → | hgolden joins (~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com) |
| 06:22:12 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:29:11 | × | peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Quit: peterbecich) |
| 06:29:52 | → | peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 06:33:08 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 06:35:28 | → | lisbeths_ joins (uid135845@id-135845.lymington.irccloud.com) |
| 06:35:46 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 256 seconds) |
| 06:48:41 | × | shapr quits (~user@2600:1700:c640:3100:d824:2759:aace:bffe) (Ping timeout: 245 seconds) |
| 06:53:16 | → | LispTyro joins (~pepsi@129.159.85.69) |
| 06:55:46 | × | bcmiller_ quits (~bm3719@66.42.95.185) (Quit: leaving) |
| 07:08:46 | → | billchenchina joins (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) |
| 07:14:35 | → | bcmiller joins (~bm3719@66.42.95.185) |
| 07:26:04 | → | misterfish joins (~misterfis@84.53.85.146) |
| 07:27:08 | → | harveypwca joins (~harveypwc@2601:246:c280:7940:585a:99af:3e4c:209b) |
| 07:31:23 | × | bcmiller quits (~bm3719@66.42.95.185) (Ping timeout: 260 seconds) |
| 07:56:26 | × | misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 252 seconds) |
| 07:59:43 | × | YoungFrog quits (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Ping timeout: 256 seconds) |
| 08:02:38 | × | phma quits (phma@2001:5b0:211f:86f8:38e2:2efc:badb:31e3) (Read error: Connection reset by peer) |
| 08:03:19 | → | phma joins (~phma@host-67-44-208-18.hnremote.net) |
| 08:04:16 | → | majestic joins (~majestic@176.254.244.83) |
| 08:05:33 | → | YoungFrog joins (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) |
| 08:22:29 | → | chomwitt joins (~chomwitt@2a02:587:7a09:c300:1ac0:4dff:fedb:a3f1) |
| 08:34:23 | → | christiaanb joins (uid84827@id-84827.lymington.irccloud.com) |
| 08:37:39 | × | chomwitt quits (~chomwitt@2a02:587:7a09:c300:1ac0:4dff:fedb:a3f1) (Ping timeout: 260 seconds) |
| 08:44:13 | → | acidjnk joins (~acidjnk@p200300d6e72b93974924925d6b33a65b.dip0.t-ipconnect.de) |
| 08:44:42 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:e122:966d:46d8:51e5) (Remote host closed the connection) |
| 08:45:21 | × | billchenchina quits (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Ping timeout: 245 seconds) |
| 08:55:45 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 09:00:53 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 09:01:01 | → | fendor joins (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) |
| 09:02:54 | → | coot joins (~coot@89-69-206-216.dynamic.chello.pl) |
| 09:07:10 | × | peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds) |
| 09:11:51 | → | misterfish joins (~misterfis@84.53.85.146) |
| 09:14:42 | → | target_i joins (~target_i@217.175.14.39) |
| 09:17:23 | → | billchenchina joins (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) |
| 09:18:36 | × | Axman6 quits (~Axman6@user/axman6) (Remote host closed the connection) |
| 09:19:18 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:e122:966d:46d8:51e5) |
| 09:23:51 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:e122:966d:46d8:51e5) (Ping timeout: 260 seconds) |
| 09:24:45 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 09:24:53 | → | Sgeo_ joins (~Sgeo@user/sgeo) |
| 09:25:42 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 09:26:01 | × | misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 276 seconds) |
| 09:49:06 | → | Tuplanolla joins (~Tuplanoll@91-159-69-171.elisa-laajakaista.fi) |
| 10:04:27 | × | econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 10:07:24 | × | not_reserved quits (~not_reser@185.199.102.168) (Quit: Client closed) |
| 10:08:26 | × | harveypwca quits (~harveypwc@2601:246:c280:7940:585a:99af:3e4c:209b) (Quit: Leaving) |
| 10:09:17 | → | igemnace joins (~ian@user/igemnace) |
| 10:12:24 | → | danza joins (~danza@151.57.182.71) |
| 10:12:43 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:e122:966d:46d8:51e5) |
| 10:15:20 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 10:15:22 | × | tzh quits (~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz) |
| 10:30:45 | × | Xyloes quits (~wyx@2400:dd01:103a:1012:d681:d7ff:fedb:298d) (Quit: Konversation terminated!) |
| 10:31:10 | → | Xyloes joins (~wyx@2400:dd01:103a:1012:d681:d7ff:fedb:298d) |
| 10:32:44 | → | phma_ joins (~phma@2001:5b0:211f:5c08:7509:960c:b2df:3c16) |
| 10:36:35 | × | phma quits (~phma@host-67-44-208-18.hnremote.net) (Ping timeout: 264 seconds) |
| 10:38:19 | zer0bitz_ | is now known as zer0bitz |
| 10:39:19 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
| 10:39:58 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 10:43:55 | × | christiaanb quits (uid84827@id-84827.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 10:48:04 | → | oxide joins (~lambda@user/oxide) |
| 10:49:31 | × | coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Ping timeout: 245 seconds) |
| 10:50:53 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 10:52:53 | × | mikess quits (~sam@user/mikess) (Ping timeout: 268 seconds) |
| 10:53:04 | → | coot joins (~coot@89-69-206-216.dynamic.chello.pl) |
| 10:56:28 | → | xdminsy joins (~xdminsy@117.147.71.169) |
| 11:02:58 | × | billchenchina quits (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Remote host closed the connection) |
| 11:05:07 | × | taupiqueur quits (~taupiqueu@2a02-8440-3340-945d-781f-ca70-2fe9-9e3e.rev.sfr.net) (Ping timeout: 255 seconds) |
| 11:05:46 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 245 seconds) |
| 11:07:00 | × | igemnace quits (~ian@user/igemnace) (Quit: WeeChat 4.1.2) |
| 11:08:21 | → | oxide joins (~lambda@user/oxide) |
| 11:10:43 | → | Axman6 joins (~Axman6@user/axman6) |
| 11:18:33 | → | __monty__ joins (~toonn@user/toonn) |
| 11:31:24 | × | xdminsy quits (~xdminsy@117.147.71.169) (Remote host closed the connection) |
| 11:31:50 | → | xdminsy joins (~xdminsy@117.147.71.169) |
| 11:32:54 | × | Inst quits (~Inst@120.244.192.23) (Remote host closed the connection) |
| 11:42:01 | × | raym quits (~ray@user/raym) (Ping timeout: 255 seconds) |
| 11:43:15 | → | raym joins (~ray@user/raym) |
| 11:49:31 | × | danza quits (~danza@151.57.182.71) (Quit: Leaving) |
| 11:50:44 | → | misterfish joins (~misterfis@84.53.85.146) |
| 11:53:08 | × | jmorris quits (uid604645@id-604645.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 12:04:31 | × | sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 255 seconds) |
| 12:08:54 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
| 12:09:47 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 12:12:37 | → | ht_ joins (~Thunderbi@194.110.115.56) |
| 12:14:23 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Ping timeout: 264 seconds) |
| 12:14:23 | ht_ | is now known as _ht |
| 12:28:18 | phma_ | is now known as phma |
| 12:30:48 | → | mreh joins (~mreh@94.5.253.65) |
| 12:31:04 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 256 seconds) |
| 12:33:02 | × | Sgeo_ quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 12:35:09 | × | Xyloes quits (~wyx@2400:dd01:103a:1012:d681:d7ff:fedb:298d) (Read error: Connection reset by peer) |
| 12:35:29 | → | Xyloes joins (~wyx@2400:dd01:103a:1012:d681:d7ff:fedb:298d) |
| 12:38:30 | → | actioninja joins (~actioninj@user/actioninja) |
| 12:43:28 | <haskellbridge> | 15<Jade> does anyone know if you can send abitrary commands to the mpd server using `libmpd`? |
| 12:43:29 | <haskellbridge> | 15<Jade> `Network.MPD.Applicative` exports `runCommand` and the `Command` type, but not its constructor which is required |
| 12:44:26 | <haskellbridge> | 15<Jade> `Command` is a newtype around `String` so I could `coerce` but that seems .... not idiomatic? It feels like they simply forgot to export the constructor of `Command`, unless im overseeing something |
| 12:46:07 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 12:47:22 | <haskellbridge> | 15<Jade> nvm it's not a newtype, i was looking at something else |
| 12:52:21 | × | foul_owl quits (~kerry@174-21-148-34.tukw.qwest.net) (Ping timeout: 252 seconds) |
| 12:54:23 | × | AlexZenon quits (~alzenon@94.233.240.140) (Ping timeout: 256 seconds) |
| 12:56:32 | × | mreh quits (~mreh@94.5.253.65) (Ping timeout: 250 seconds) |
| 12:58:30 | → | AlexZenon joins (~alzenon@94.233.240.140) |
| 13:00:16 | <haskellbridge> | 15<Jade> nvm there's `getResponse` |
| 13:01:09 | → | califax_ joins (~califax@user/califx) |
| 13:01:19 | × | califax quits (~califax@user/califx) (Ping timeout: 240 seconds) |
| 13:02:25 | califax_ | is now known as califax |
| 13:03:50 | → | taupiqueur joins (~taupiqueu@2a02-8440-3240-b2fd-f530-3e50-7734-7ced.rev.sfr.net) |
| 13:06:48 | → | foul_owl joins (~kerry@157.97.134.166) |
| 13:23:37 | × | lisbeths_ quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 13:30:40 | × | misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 246 seconds) |
| 13:45:40 | → | alexherbo2 joins (~alexherbo@2a02-8440-3240-b2fd-f530-3e50-7734-7ced.rev.sfr.net) |
| 13:58:32 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
| 13:59:33 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 14:07:38 | × | coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
| 14:18:31 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 276 seconds) |
| 14:21:07 | × | son0p quits (~ff@181.136.122.143) (Remote host closed the connection) |
| 14:36:55 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 14:37:20 | → | califax joins (~califax@user/califx) |
| 14:37:46 | → | mreh joins (~mreh@94.5.253.65) |
| 14:38:02 | × | shOkEy quits (~shOkEy@84-236-122-36.pool.digikabel.hu) (Ping timeout: 260 seconds) |
| 14:39:46 | → | shOkEy joins (~shOkEy@94-21-108-35.pool.digikabel.hu) |
| 14:40:41 | → | eggplant_ joins (~Eggplanta@2600:1700:38c5:d800:bd66:57bc:8aed:5e26) |
| 14:44:06 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:e122:966d:46d8:51e5) (Ping timeout: 245 seconds) |
| 14:44:29 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 14:48:54 | × | trev quits (~trev@user/trev) (Read error: Connection reset by peer) |
| 14:49:14 | → | trev joins (~trev@user/trev) |
| 14:52:11 | → | son0p joins (~ff@181.136.122.143) |
| 14:52:22 | × | alexherbo2 quits (~alexherbo@2a02-8440-3240-b2fd-f530-3e50-7734-7ced.rev.sfr.net) (Remote host closed the connection) |
| 14:52:41 | → | alexherbo2 joins (~alexherbo@2a02-8440-3240-b2fd-f530-3e50-7734-7ced.rev.sfr.net) |
| 15:00:18 | × | hippoid quits (~hippoid@user/hippoid) (Read error: Connection reset by peer) |
| 15:01:18 | × | megaTherion quits (~therion@unix.io) (Quit: ZNC 1.8.2 - https://znc.in) |
| 15:02:24 | → | megaTherion joins (~therion@unix.io) |
| 15:04:28 | → | hippoid joins (~hippoid@c-98-213-162-40.hsd1.il.comcast.net) |
| 15:09:20 | × | megaTherion quits (~therion@unix.io) (Quit: ZNC 1.8.2 - https://znc.in) |
| 15:10:24 | → | megaTherion joins (~therion@unix.io) |
| 15:13:26 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 15:15:29 | → | ht_ joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 15:17:11 | × | _ht quits (~Thunderbi@194.110.115.56) (Ping timeout: 256 seconds) |
| 15:17:11 | ht_ | is now known as _ht |
| 15:21:42 | → | rovaughn86 joins (~rovaughn@2a09:bac2:a620:197d::28a:a) |
| 15:25:59 | × | alexherbo2 quits (~alexherbo@2a02-8440-3240-b2fd-f530-3e50-7734-7ced.rev.sfr.net) (Remote host closed the connection) |
| 15:26:01 | × | rovaughn86 quits (~rovaughn@2a09:bac2:a620:197d::28a:a) (Client Quit) |
| 15:26:18 | → | alexherbo2 joins (~alexherbo@2a02-8440-3240-b2fd-f530-3e50-7734-7ced.rev.sfr.net) |
| 15:26:26 | × | rovaughn quits (~alec@066-065-097-119.res.spectrum.com) (Quit: leaving) |
| 15:27:01 | → | rovaughn joins (~rovaughn@2a09:bac3:a621:6e::b:29e) |
| 15:27:48 | × | fendor quits (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) (Remote host closed the connection) |
| 15:28:47 | × | hamster quits (~ham@user/ham) (Ping timeout: 260 seconds) |
| 15:30:07 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
| 15:40:39 | × | rovaughn quits (~rovaughn@2a09:bac3:a621:6e::b:29e) (Quit: Client closed) |
| 15:43:04 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 15:46:45 | → | rovaughn joins (~rovaughn@2a09:bac3:a623:6e::b:255) |
| 15:47:17 | × | rovaughn quits (~rovaughn@2a09:bac3:a623:6e::b:255) (Client Quit) |
| 15:48:09 | → | hamster joins (~ham@user/ham) |
| 15:50:41 | → | coot joins (~coot@89-69-206-216.dynamic.chello.pl) |
| 15:52:46 | → | notzmv joins (~zmv@user/notzmv) |
| 15:55:22 | → | Tlsx joins (~rscastilh@189.61.140.215) |
| 15:56:54 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 15:59:05 | × | Xyloes quits (~wyx@2400:dd01:103a:1012:d681:d7ff:fedb:298d) (Remote host closed the connection) |
| 16:02:56 | × | alexherbo2 quits (~alexherbo@2a02-8440-3240-b2fd-f530-3e50-7734-7ced.rev.sfr.net) (Remote host closed the connection) |
| 16:17:51 | × | euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
| 16:18:40 | → | euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
| 16:20:05 | → | not_reserved joins (~not_reser@154.16.157.96) |
| 16:20:48 | → | misterfish joins (~misterfis@84.53.85.146) |
| 16:21:17 | → | myclm_ joins (~myclm_@2a02:810d:8200:1628::8920) |
| 16:24:06 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 16:24:57 | <myclm_> | hello, i have one question regarding functional programing in general, maybe someone here can answer this. It referes to something i read about func progr: it does not contain loops just functions, however i thought loops esp for loop, but probably also while loop are mathematical functions, written in the big sigma sign or the Pi sign thus making this very well, in the mathematical sence functions, or am i mistaken here? |
| 16:28:49 | <enikar> | often big sigma are folds, I guess |
| 16:29:45 | <enikar> | there are many way to express loops in haskell. |
| 16:31:17 | × | misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 240 seconds) |
| 16:32:29 | <myclm_> | so this claim is just wrong, that loops do not exist in functional programing? |
| 16:33:54 | <enikar> | the loops are not expressed in the same way as in imperative language, but they exist |
| 16:34:19 | <not_reserved> | myclm_: think it would be much more instructive to work through some very simple example code rather than read vague general descriptions of the differences |
| 16:34:31 | <not_reserved> | e.g. look up "how to do x in haskell' where x ordinarily requires a loop |
| 16:37:44 | <myclm_> | yes, thanks for the input! |
| 16:38:24 | → | Inst joins (~Inst@120.244.192.23) |
| 16:39:25 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
| 16:39:25 | <haskellbridge> | 06<sm> There's no looping construct built in to the language, but we certainly "loop" in haskell programs. Either by writing recursive functions, or by using library functions which do recursion under the hood. |
| 16:42:24 | <haskellbridge> | 06<sm> eg ghc -e "import Control.Monad" -e "forM_ [1..10] print" |
| 16:45:51 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 16:46:38 | × | taupiqueur quits (~taupiqueu@2a02-8440-3240-b2fd-f530-3e50-7734-7ced.rev.sfr.net) (Quit: WeeChat 4.1.2) |
| 16:52:01 | <haskellbridge> | 06<sm> or without IO: ghc -e "import Data.Traversable" -e "for [1..10] $ \i -> pure (i*2)" |
| 16:56:54 | → | [_] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 16:57:00 | <enikar> | why not merely: ghc -e "map (*2) [1..10]" |
| 17:00:21 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 245 seconds) |
| 17:04:35 | × | LispTyro quits (~pepsi@129.159.85.69) (Remote host closed the connection) |
| 17:10:31 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds) |
| 17:16:05 | × | myclm_ quits (~myclm_@2a02:810d:8200:1628::8920) (Ping timeout: 240 seconds) |
| 17:20:33 | × | eggplant_ quits (~Eggplanta@2600:1700:38c5:d800:bd66:57bc:8aed:5e26) (Remote host closed the connection) |
| 17:20:51 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:bd66:57bc:8aed:5e26) |
| 17:29:53 | puke | is now known as Guest8923 |
| 17:29:53 | → | pyooque joins (~puke@user/puke) |
| 17:29:53 | × | Guest8923 quits (~puke@user/puke) (Killed (calcium.libera.chat (Nickname regained by services))) |
| 17:29:53 | pyooque | is now known as puke |
| 17:31:08 | <haskellbridge> | 15<Jade> `join (+) <$> [1..10]` |
| 17:31:45 | × | puke quits (~puke@user/puke) (Max SendQ exceeded) |
| 17:32:16 | → | puke joins (~puke@user/puke) |
| 17:33:36 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 17:33:58 | × | _xor quits (~xor@72.49.195.41) (Ping timeout: 260 seconds) |
| 17:39:15 | <monochrom> | not_reserved++ |
| 17:39:52 | <monochrom> | We should never answer beginner-level general abstract questions. |
| 17:42:58 | × | mreh quits (~mreh@94.5.253.65) (Ping timeout: 250 seconds) |
| 17:58:36 | × | trev quits (~trev@user/trev) (Quit: trev) |
| 17:58:53 | → | trev joins (~trev@user/trev) |
| 18:06:49 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 18:08:39 | → | econo_ joins (uid147250@id-147250.tinside.irccloud.com) |
| 18:08:46 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 18:09:30 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 18:12:02 | → | tzh joins (~tzh@c-71-193-181-0.hsd1.or.comcast.net) |
| 18:13:18 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 18:17:55 | → | shriekingnoise_ joins (~shrieking@186.137.175.87) |
| 18:18:07 | × | shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 268 seconds) |
| 18:19:53 | → | myclm_ joins (~myclm_@2a02:810d:8200:1628::8920) |
| 18:32:55 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds) |
| 18:33:32 | × | Tisoxin quits (~Ikosit@user/ikosit) (Ping timeout: 268 seconds) |
| 18:33:59 | → | Tisoxin joins (~Ikosit@user/ikosit) |
| 18:35:28 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 18:35:32 | → | mikess joins (~sam@user/mikess) |
| 18:37:31 | <c_wraith> | A few hours late, but.. Haskell has a built-in looping structure. The name of a definition is available within its body. That's a general-purpose one! |
| 18:38:55 | × | myclm_ quits (~myclm_@2a02:810d:8200:1628::8920) (Ping timeout: 256 seconds) |
| 18:40:54 | → | misterfish joins (~misterfis@84.53.85.146) |
| 18:41:20 | <tomsmeding> | never say never (monochrom) but I also agree with not_reserved: haskell basically lets you build your own control flow structures (such as loops), but this is interesting to only very few beginners. Most beginners are interested in doing the thing they want to do, which involves not the generic control-flow machinery (i.e. function calls and recursion), but ready-made _loops_ such as mapM_, map, |
| 18:41:20 | <tomsmeding> | etc. |
| 18:41:50 | <tomsmeding> | so to most people, the answer should be: yes, haskell has loops |
| 18:42:07 | <tomsmeding> | only to some the more precise answer is interesting and/or useful |
| 18:42:20 | <haskellbridge> | 06<sm> yup |
| 18:43:56 | × | [_] quits (~itchyjunk@user/itchyjunk/x-7353470) (Quit: Leaving) |
| 18:49:37 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 18:49:50 | → | akshitkr joins (~user@49.205.47.187) |
| 18:50:46 | <akshitkr> | hey, i solved an advent of code problem recently: https://pastebin.com/T39Mci1R but was wondering if there is a better way to go about it instead of hard coding the reverse of the first 9 numbers spelt out |
| 18:51:19 | <tomsmeding> | akshitkr: have you tried using a Map? |
| 18:51:30 | × | __monty__ quits (~toonn@user/toonn) (Ping timeout: 252 seconds) |
| 18:51:47 | <tomsmeding> | or, hm |
| 18:52:05 | <c_wraith> | akshitkr: there are other solutions to that one, but none are strictly better than that approach |
| 18:53:10 | <akshitkr> | tomsmeding: where exactly? |
| 18:53:15 | <tomsmeding> | yeah no, ignore |
| 18:53:17 | <c_wraith> | akshitkr: or if you really just mean the spelling out part, you can make top-level definitions for the strings, then call reverse on them |
| 18:53:59 | <akshitkr> | c_wraith: that makes sense, how do i go about making a gaurd for the entire list of strings |
| 18:54:21 | <akshitkr> | since right now i have created a guards for each one of them manually |
| 18:54:55 | <akshitkr> | I have a feeling I am missing something very fundamental since there is probably a better way to do this |
| 18:55:25 | <c_wraith> | you can use `any' |
| 18:55:28 | <c_wraith> | :t any |
| 18:55:29 | <lambdabot> | Foldable t => (a -> Bool) -> t a -> Bool |
| 18:55:58 | <tomsmeding> | you also need the number that it maps to |
| 18:56:10 | <akshitkr> | interesting, I'll look into this |
| 18:56:11 | <tomsmeding> | :t find |
| 18:56:12 | <lambdabot> | Foldable t => (a -> Bool) -> t a -> Maybe a |
| 18:56:19 | <tomsmeding> | that feels more appropriate |
| 18:56:27 | <tomsmeding> | (Data.List.find) |
| 18:56:43 | <c_wraith> | ugh, then you'd have to match against it again? |
| 18:57:01 | <c_wraith> | Well, I guess you could use lookup |
| 18:57:09 | <tomsmeding> | list of (string, value) pairs, use find ((`T.isPrefixOf` string) . fst) |
| 18:57:26 | <c_wraith> | now you're just reinventing lookup |
| 18:57:27 | <akshitkr> | also: is there a good reference for Data.Text considering I've almost always used [Char] instead |
| 18:57:28 | <c_wraith> | :t lookup |
| 18:57:29 | <lambdabot> | Eq a => a -> [(a, b)] -> Maybe b |
| 18:57:35 | <tomsmeding> | it's isPrefixOf, not (==) |
| 18:57:35 | <c_wraith> | :t lookupBy |
| 18:57:36 | <lambdabot> | error: |
| 18:57:36 | <lambdabot> | • Variable not in scope: lookupBy |
| 18:57:36 | <lambdabot> | • Perhaps you meant one of these: |
| 18:58:17 | <tomsmeding> | akshitkr: in addition to the module documentation? https://hackage.haskell.org/package/text-2.1/docs/Data-Text.html |
| 18:58:27 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 18:58:31 | <c_wraith> | Huh, I really though there was a predicate version of lookup. |
| 18:58:42 | <tomsmeding> | isn't that, like, literally 'find' |
| 18:58:48 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 18:58:54 | <tomsmeding> | ah, I guess the pair handling is not built-in |
| 18:59:22 | <tomsmeding> | hoogle seems to find some |
| 18:59:30 | <c_wraith> | well, not important. |
| 18:59:30 | <tomsmeding> | well, _one_ |
| 18:59:47 | <akshitkr> | tomsmeding: yeah, if there is something you'd have in mind |
| 19:00:10 | <akshitkr> | i'm not quite sure how any would work though |
| 19:00:25 | <tomsmeding> | as I said, I think 'any' is not strong enough here, you need Data.List.find |
| 19:00:28 | <akshitkr> | so do i create a hof which returns a guard and then map it over the strings |
| 19:00:51 | <akshitkr> | right |
| 19:03:14 | <c_wraith> | this problem isn't *nearly* complex enough to need it, but it's a decently fun exercise for introducing optimized string search algorithms, where you use partial matches to skip later comparisons. |
| 19:03:55 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 19:08:01 | <c_wraith> | like if the string you're looking at starts with "onq", and the first thing you compare against in "one", you use the partial match and your knowledge of the contents of the target set to skip over all those characters to continue searching. (This is like a variant of KMP) |
| 19:08:33 | × | asivitz quits (uid178348@id-178348.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 19:09:03 | <akshitkr> | i understand the concept but i can't really think of a functional way to do it |
| 19:09:23 | → | myclm_ joins (~myclm_@2a02:810d:8200:1628::8920) |
| 19:09:33 | <akshitkr> | all i *can* think of is an imperative loop which breaks on mismatch |
| 19:09:41 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 19:10:03 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 19:10:05 | <tomsmeding> | (makes me think of the previous discussion lol) |
| 19:10:28 | <c_wraith> | yeah, don't worry about that. It's complicated. :) |
| 19:10:44 | <akshitkr> | of course |
| 19:10:54 | <tomsmeding> | (look up "knuth-morris-pratt" if you feel curious) |
| 19:10:55 | <akshitkr> | but is it called something specific |
| 19:11:03 | <akshitkr> | thanks, was looking for that |
| 19:11:03 | <tomsmeding> | (that's what the KMP was referring to) |
| 19:11:06 | <c_wraith> | I mean, it's a state machine |
| 19:11:19 | <tomsmeding> | which can you code just fine in haskell |
| 19:11:39 | <c_wraith> | But the algorithm as a whole is complex |
| 19:12:29 | <akshitkr> | i think i've written this algorithm in C |
| 19:12:45 | <akshitkr> | but yeah, i dont really know how state machines work in haskell or how I'd go about writing one |
| 19:12:51 | <c_wraith> | It's not quite the same algorithm when you are searching for multiple possible strings |
| 19:12:55 | <monochrom> | "loop but breaks out on condition" = "recursion but don't recurse on condition" |
| 19:13:24 | <akshitkr> | makes sense |
| 19:16:14 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 19:18:46 | × | Tlsx quits (~rscastilh@189.61.140.215) (Ping timeout: 255 seconds) |
| 19:20:54 | → | alexherbo2 joins (~alexherbo@2a02-8440-3240-b2fd-f530-3e50-7734-7ced.rev.sfr.net) |
| 19:23:48 | → | __monty__ joins (~toonn@user/toonn) |
| 19:24:00 | → | Tlsx joins (~rscastilh@189.61.140.215) |
| 19:30:53 | × | alexherbo2 quits (~alexherbo@2a02-8440-3240-b2fd-f530-3e50-7734-7ced.rev.sfr.net) (Remote host closed the connection) |
| 19:30:54 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 19:31:48 | <tri> | hi folks, is there any Semigroup/Monoid of Maybe, that when <> with a Nothing, will result in Nothing? |
| 19:32:17 | <tri> | like Just "a" <> Nothing = Nothing |
| 19:32:55 | <juri_> | that doesn't sound like semigroup. seems like you're wanting a short circuting function. |
| 19:33:12 | → | alexherbo2 joins (~alexherbo@2a02-8440-3240-b2fd-f530-3e50-7734-7ced.rev.sfr.net) |
| 19:34:00 | <tri> | because im learning about Applicative, and the book says that Applicative is a Monoidic Functor, i.e. the structure is a Monoid |
| 19:34:19 | <tri> | so Just "a" <*> Nothing is Nothing |
| 19:34:58 | <tri> | in this case, looking at the structure i.e. Maybe, which is a Monoid, it goes from Just <> Nothing -> Nothing |
| 19:35:21 | <tri> | i mean the result of Just <> Nothing is Nothing |
| 19:35:21 | <c_wraith> | That's what Maybe's Monoid instance already does... |
| 19:35:34 | <ncf> | no it's not, but you can certainly define it that way |
| 19:35:47 | <tri> | c_wraith: no, Monoid of Maybe is Just "a" <> Nothing is Just "a" |
| 19:35:52 | <c_wraith> | Oh. Wow, I misread that. |
| 19:36:06 | <ncf> | > Ap (Just "a") <> Ap Nothing |
| 19:36:07 | <lambdabot> | Ap {getAp = Nothing} |
| 19:36:13 | <ncf> | > Ap (Just "a") <> Ap (Just "b") |
| 19:36:14 | <lambdabot> | Ap {getAp = Just "ab"} |
| 19:36:27 | <tri> | ncf: yes i certainly can write a wrapper for Maybe, of a Semigroup, to have Just "a" <> Nothing = Nothing |
| 19:36:33 | <ncf> | this just lifts the monoidal structure on the *functor* Maybe (which is what you want), to a monoid on values |
| 19:37:20 | <EvanR> | Applicative could have been defined as unit :: f (), <,> :: f a -> f b -> f (a,b), with monoid-like laws |
| 19:37:22 | <c_wraith> | well.. the Applicative for Maybe. As the name Ap implies |
| 19:37:37 | <EvanR> | it's equivalent in power to our Applicative, but less convenient |
| 19:37:44 | <ncf> | applicatives are best seen as monoidal functors in this context |
| 19:38:50 | <akshitkr> | hello again, so i went ahead with using find, but kinda stuck trying to implement it |
| 19:38:55 | <ncf> | and an equivalent way to define those is unit :: Monoid a => f a; (<<>>) :: Monoid a => f a -> f a -> f a |
| 19:39:04 | <c_wraith> | It's worth pointing out that Ap (Maybe a)'s behavior when both values are Just is determined by the Monoid instance for a |
| 19:39:06 | <ncf> | (in other words, Monoid a => Monoid (f a)) |
| 19:39:16 | <akshitkr> | using something like this inside the "first" function: find (\(ind, x) -> x `T.isPrefixOf` string) spell = ?? |
| 19:40:00 | <akshitkr> | but i'm not really sure how to use the result of find as a boolean for the gaurd and then use the result itself as the final function output |
| 19:40:12 | <c_wraith> | akshitkr: the lambda can't return x. by the type of find, it needs to return a Boolean |
| 19:40:51 | <c_wraith> | akshitkr: wow, my reading is bad today. nevermind that. ok, what are your pairs? |
| 19:41:02 | <akshitkr> | spell = zip [1.. ] ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine"] |
| 19:41:43 | <c_wraith> | so that find is going to return a pair and you need... what from it? |
| 19:42:15 | <akshitkr> | so i want a boolean indicating if the "find" call actually found something |
| 19:42:24 | <akshitkr> | and the first element of the pair itself |
| 19:42:30 | <c_wraith> | :t find |
| 19:42:31 | <lambdabot> | Foldable t => (a -> Bool) -> t a -> Maybe a |
| 19:42:39 | <c_wraith> | hey, how about that! it returns a Maybe! |
| 19:42:59 | <c_wraith> | That tells you whether or not it succeeded and if it did, what it found! |
| 19:43:43 | <c_wraith> | you should do a case on the return value |
| 19:44:09 | <akshitkr> | makes sense |
| 19:44:20 | <akshitkr> | thanks! |
| 19:44:26 | <EvanR> | find even (let ones = 1:ones in ones) -- the answer depends on who you ask, the computer or any non-sleeping student |
| 19:45:08 | <tri> | ncf: is this correct? https://paste.tomsmeding.com/iUyWRWuF |
| 19:45:47 | <tri> | ncf: sorry getAP isn't a sensible name, i forgot to change that |
| 19:46:41 | <eugenrh> | Hi, this works fine: filterM doesFileExist ["file1", "file2"] . But, I want the opposite: those files that don't exist. How do I negate that, please? |
| 19:47:11 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 19:47:27 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 19:47:28 | <geekosaur> | filterM (not <$> doesFileExist) |
| 19:47:52 | <c_wraith> | I don't think that works... |
| 19:48:20 | <c_wraith> | yeah, doesFileExist is a function, so it gets the wrong functor instance |
| 19:50:11 | <EvanR> | define doesFileNotExist as a separate action |
| 19:50:18 | <EvanR> | then substitute |
| 19:50:31 | <EvanR> | unless you wanna @pl it |
| 19:50:42 | <geekosaur> | mm, right |
| 19:51:15 | <geekosaur> | fmap not . doesFileExist |
| 19:51:29 | <c_wraith> | Honestly, I want an operator for that. Some variant of <=< |
| 19:51:33 | <EvanR> | the horrors of pointless form! |
| 19:53:35 | <eugenrh> | geekosaur: yes, thank you! I was trying that but without the dot. |
| 19:53:52 | <monochrom> | fmap (fmap not) doesFileExist >:) |
| 19:54:05 | <c_wraith> | monochrom: oh no! you did the thing! |
| 19:55:38 | <eugenrh> | I'm too tired now, but on another day, I'll try to understand it.. why it works that way.. |
| 19:56:25 | <monochrom> | Oh simply because fmap for the (->)X functor is (.) |
| 19:56:32 | <geekosaur> | because it's pointfree |
| 19:56:50 | <geekosaur> | which is the part I missed at first |
| 20:02:55 | × | wand quits (~user@gateway/tor-sasl/wand) (Ping timeout: 240 seconds) |
| 20:04:30 | <akshitkr> | is there something wrong with this gaurd? |
| 20:04:38 | <akshitkr> | | isNothing result = fst (fromJust result) |
| 20:04:44 | <akshitkr> | where |
| 20:04:44 | <akshitkr> | result = find (\(ind, x) -> x `T.isPrefixOf` string) spell |
| 20:05:02 | <akshitkr> | getting: Maybe.fromJust: Nothing |
| 20:05:11 | <akshitkr> | even though I am checking for Nothing |
| 20:05:49 | <monochrom> | isNothing? isJust? |
| 20:06:11 | <geekosaur> | you have one of those backwards, that guard says to do fromJust only if it's Nothing |
| 20:06:14 | <akshitkr> | of course, thank you. |
| 20:06:38 | → | Dhopper joins (~mateus@user/Dhopper) |
| 20:07:23 | × | Dhopper quits (~mateus@user/Dhopper) (Client Quit) |
| 20:07:23 | <[exa]> | akshitkr: btw you can patternmatch right away to avoid partial functions, such as: | Just x <- find (...) spell = fst x |
| 20:08:28 | <akshitkr> | ah right, forgot about that |
| 20:09:36 | <akshitkr> | wait |
| 20:09:37 | <ncf> | tri: sure, but you could simplify the last two cases into one: Wrapper _ <> Wrapper _ = Wrapper Nothing |
| 20:10:00 | <akshitkr> | how does Just x <- ... work |
| 20:10:03 | <akshitkr> | not quite sure |
| 20:10:12 | <akshitkr> | does Just ... return a boolean |
| 20:10:13 | <akshitkr> | :t Just |
| 20:10:14 | <lambdabot> | a -> Maybe a |
| 20:10:33 | <[exa]> | akshitkr: it is special syntax, basically the same as used in list comprehensions |
| 20:10:42 | <akshitkr> | I see |
| 20:11:17 | × | trev quits (~trev@user/trev) (Quit: trev) |
| 20:11:49 | <[exa]> | not sure how precisely that thing gets compiled but you could imagine some soft implementation with `fail` for matches and `guard` for booleans |
| 20:13:54 | <akshitkr> | interesting |
| 20:14:09 | <akshitkr> | just syntactic sugar then |
| 20:14:16 | × | Tlsx quits (~rscastilh@189.61.140.215) (Remote host closed the connection) |
| 20:17:13 | <[exa]> | like, manually you should be able to do the same by inserting choice/pure/guard in the right places, roughly: fromJust $ choice [ do {pattern <- pure something; guard $ condition; pure value ;}, do {otherpattern <- pure ... } ] |
| 20:17:34 | <[exa]> | the compiled version will be ofc better, no actual Maybes in the way etc. |
| 20:20:55 | <akshitkr> | hmm |
| 20:21:04 | <akshitkr> | certainly cleaner |
| 20:21:33 | <akshitkr> | cut down by a lot: https://paste.tomsmeding.com/OP0gEoq5 |
| 20:22:14 | <akshitkr> | still some potential to refactor the first and final into one higher order function i guess |
| 20:25:22 | <[exa]> | looks sufficiently good to me |
| 20:25:30 | <[exa]> | like, there could be uncurry |
| 20:26:31 | <akshitkr> | uncurry? |
| 20:26:38 | <[exa]> | there could be list comprehension to replace the find (but that ain't gonna be much faster) |
| 20:26:48 | <akshitkr> | ah |
| 20:27:26 | <[exa]> | re uncurry, '(\(ind, x) -> x `T.isPrefixOf` string)' should be afaik the same as 'uncurry (flip T.isPrefixOf)' |
| 20:28:04 | <[exa]> | (in some libraries there's a conveniently pre-flipped hasPrefix version but not sure if in Text :D ) |
| 20:29:32 | <akshitkr> | :t uncurry |
| 20:29:33 | <lambdabot> | (a -> b -> c) -> (a, b) -> c |
| 20:29:46 | <akshitkr> | oh right |
| 20:31:37 | × | son0p quits (~ff@181.136.122.143) (Ping timeout: 276 seconds) |
| 20:43:20 | → | son0p joins (~ff@181.136.122.143) |
| 20:44:34 | × | misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 268 seconds) |
| 20:46:01 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 21:00:40 | → | jargon joins (~jargon@15.sub-174-205-161.myvzw.com) |
| 21:01:31 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 21:07:54 | → | peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 21:13:05 | → | waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
| 21:13:41 | × | akshitkr quits (~user@49.205.47.187) (Ping timeout: 240 seconds) |
| 21:21:08 | × | petrichor quits (~znc-user@user/petrichor) (Quit: ZNC 1.8.2 - https://znc.in) |
| 21:38:18 | → | fendor joins (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) |
| 21:53:36 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 21:57:29 | → | falafel joins (~falafel@12.50.119.139) |
| 21:59:27 | × | fendor quits (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) (Remote host closed the connection) |
| 21:59:55 | → | qqq joins (~qqq@92.43.167.61) |
| 22:11:50 | → | falafel_ joins (~falafel@173-245-203-52.iad.as54203.net) |
| 22:14:06 | × | falafel quits (~falafel@12.50.119.139) (Ping timeout: 245 seconds) |
| 22:17:23 | × | myclm_ quits (~myclm_@2a02:810d:8200:1628::8920) (Ping timeout: 268 seconds) |
| 22:27:10 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 22:33:17 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 22:34:02 | → | stef204 joins (~stef204@user/stef204) |
| 22:41:23 | × | mxs quits (~mxs@user/mxs) (Ping timeout: 260 seconds) |
| 22:42:51 | × | APic quits (apic@apic.name) (Ping timeout: 245 seconds) |
| 22:42:54 | × | sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 260 seconds) |
| 22:43:32 | × | stef204 quits (~stef204@user/stef204) (Quit: WeeChat 4.1.2) |
| 22:44:29 | × | son0p quits (~ff@181.136.122.143) (Ping timeout: 240 seconds) |
| 22:46:46 | → | myclm_ joins (~myclm_@2a02:810d:8200:1628::8920) |
| 22:47:08 | → | tri joins (~tri@ool-18bc2e74.dyn.optonline.net) |
| 22:48:55 | × | xdminsy quits (~xdminsy@117.147.71.169) (Ping timeout: 255 seconds) |
| 22:49:01 | → | son0p joins (~ff@181.136.122.143) |
| 22:52:18 | × | tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
| 22:57:26 | × | son0p quits (~ff@181.136.122.143) (Ping timeout: 245 seconds) |
| 22:57:51 | × | peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds) |
| 22:59:55 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
| 23:03:02 | → | son0p joins (~ff@181.136.122.143) |
| 23:11:11 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 23:18:05 | → | mud joins (~mud@user/kadoban) |
| 23:20:03 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 23:26:01 | × | acidjnk quits (~acidjnk@p200300d6e72b93974924925d6b33a65b.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 23:26:08 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 23:28:46 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 23:31:57 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 23:33:14 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 23:35:31 | <Inst> | does system.process have an argmax? |
| 23:35:40 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 23:36:21 | <Inst> | thanks geekosaur for the guidance on argfiles |
| 23:36:24 | <Inst> | just had an actual use of it |
| 23:38:22 | <geekosaur> | System.Process doesn't specify one, because it's not only different on different platforms, it works differently |
| 23:39:19 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
| 23:44:47 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 256 seconds) |
| 23:45:13 | × | mud quits (~mud@user/kadoban) (Quit: quit) |
| 23:48:01 | → | peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com) |
| 23:49:11 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer) |
| 23:49:21 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
| 23:50:11 | <exarkun> | is there a library or pattern that helps with "basic" operations on cyclic values? for example, for implementing Eq or Show f or them, or more generally making them finitely traversable? |
| 23:53:35 | × | myclm_ quits (~myclm_@2a02:810d:8200:1628::8920) (Ping timeout: 268 seconds) |
| 23:54:00 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Ping timeout: 252 seconds) |
| 23:57:11 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
All times are in UTC on 2023-12-23.