Logs on 2022-06-21 (liberachat/#haskell)
| 00:00:11 | × | money quits (~Gambino@user/polo) (Quit: money) |
| 00:00:17 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 00:00:38 | → | califax joins (~califax@user/califx) |
| 00:01:55 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 00:03:11 | × | juri__ quits (~juri@79.140.115.76) (Ping timeout: 246 seconds) |
| 00:06:05 | → | money joins (~Gambino@user/polo) |
| 00:06:57 | zero | is now known as zzz |
| 00:12:00 | × | mikoto-chan quits (~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Quit: WeeChat 3.5) |
| 00:12:14 | → | mikoto-chan joins (~mikoto-ch@esm-84-240-99-143.netplaza.fi) |
| 00:19:24 | → | quartz_ joins (~quartz_@2401:4900:1c32:441:d06c:1365:6fe1:e2ec) |
| 00:21:12 | × | quartz_ quits (~quartz_@2401:4900:1c32:441:d06c:1365:6fe1:e2ec) (Client Quit) |
| 00:34:37 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 00:35:18 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 00:43:15 | × | HackingSpring quits (~haru@2804:431:c7f5:d4eb:7d26:72ea:2c30:f9f4) (Remote host closed the connection) |
| 00:52:38 | × | slaydr_ quits (~seriley@75.164.63.238) (Quit: Leaving) |
| 00:53:17 | × | xff0x quits (~xff0x@2405:6580:b080:900:2bf3:2621:9294:3fa3) (Ping timeout: 255 seconds) |
| 00:53:30 | <zzz> | happy solstice everyone! |
| 00:54:54 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 00:55:15 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 256 seconds) |
| 00:55:21 | × | lottaquestions quits (~nick@2607:fa49:5041:a200:befb:c8a2:f655:5c1b) (Ping timeout: 248 seconds) |
| 00:55:29 | × | money quits (~Gambino@user/polo) (Quit: money) |
| 01:00:38 | → | money joins (~Gambino@user/polo) |
| 01:00:45 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 01:01:02 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:05:38 | → | dcoutts__ joins (~duncan@host86-170-66-22.range86-170.btcentralplus.com) |
| 01:08:09 | × | dcoutts_ quits (~duncan@host213-122-124-157.range213-122.btcentralplus.com) (Ping timeout: 248 seconds) |
| 01:15:57 | → | nate4 joins (~nate@98.45.169.16) |
| 01:19:21 | × | Kaiepi quits (~Kaiepi@156.34.47.253) (Ping timeout: 248 seconds) |
| 01:20:02 | × | money quits (~Gambino@user/polo) (Quit: money) |
| 01:20:50 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 01:21:19 | × | machinedgod quits (~machinedg@66.244.246.252) (Ping timeout: 256 seconds) |
| 01:23:20 | → | money joins (~Gambino@user/polo) |
| 01:27:14 | → | goepsilongo joins (~goepsilon@2603-7000-ab00-62ed-3468-41c1-0245-0831.res6.spectrum.com) |
| 01:28:18 | × | goepsilongo quits (~goepsilon@2603-7000-ab00-62ed-3468-41c1-0245-0831.res6.spectrum.com) (Client Quit) |
| 01:36:49 | <sm> | happy solstice 🌞 zzz ! |
| 01:37:41 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 01:37:54 | → | werneta joins (~werneta@137.79.237.10) |
| 01:38:05 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 01:41:23 | × | dpratt quits (sid193493@id-193493.helmsley.irccloud.com) (Read error: Connection reset by peer) |
| 01:41:32 | × | bjs quits (sid190364@user/bjs) (Ping timeout: 260 seconds) |
| 01:41:34 | × | carter quits (sid14827@2a03:5180:f:1::39eb) (Ping timeout: 244 seconds) |
| 01:41:44 | × | elvishjerricco quits (sid237756@id-237756.helmsley.irccloud.com) (Ping timeout: 248 seconds) |
| 01:41:44 | × | sunarch quits (sid526836@user/sunarch) (Ping timeout: 248 seconds) |
| 01:42:17 | × | gaze___ quits (sid387101@id-387101.helmsley.irccloud.com) (Ping timeout: 248 seconds) |
| 01:42:36 | × | elmyr quits (sid3438@user/dy) (Ping timeout: 244 seconds) |
| 01:43:17 | × | cbarrett quits (sid192934@id-192934.helmsley.irccloud.com) (Ping timeout: 260 seconds) |
| 01:43:21 | × | meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Ping timeout: 248 seconds) |
| 01:44:07 | → | dcoutts_ joins (~duncan@host86-170-66-22.range86-170.btcentralplus.com) |
| 01:44:24 | × | conjunctive_ quits (sid433686@id-433686.helmsley.irccloud.com) (Ping timeout: 248 seconds) |
| 01:44:35 | × | parseval quits (sid239098@id-239098.helmsley.irccloud.com) (Ping timeout: 255 seconds) |
| 01:44:56 | × | tnks quits (sid412124@id-412124.helmsley.irccloud.com) (Ping timeout: 248 seconds) |
| 01:44:56 | × | grfn quits (sid449115@id-449115.helmsley.irccloud.com) (Ping timeout: 248 seconds) |
| 01:45:02 | × | alinab quits (sid468903@id-468903.helmsley.irccloud.com) (Ping timeout: 260 seconds) |
| 01:45:47 | × | scav quits (sid309693@user/scav) (Ping timeout: 240 seconds) |
| 01:46:14 | → | Guest92 joins (~Guest92@2600:1000:b153:2d00:947e:5b94:1480:cf4a) |
| 01:47:15 | × | gregberns__ quits (sid315709@2a03:5180:f:1::4:d13d) (Ping timeout: 244 seconds) |
| 01:47:20 | → | zso joins (~inversed@97e3d74e.skybroadband.com) |
| 01:47:21 | × | dcoutts__ quits (~duncan@host86-170-66-22.range86-170.btcentralplus.com) (Ping timeout: 276 seconds) |
| 01:47:30 | × | inversed quits (~inversed@176.248.27.211) (Ping timeout: 240 seconds) |
| 01:47:35 | × | NiKaN quits (sid385034@id-385034.helmsley.irccloud.com) (Ping timeout: 260 seconds) |
| 01:47:43 | → | dsrt^ joins (~dsrt@12.1.86.165) |
| 01:48:32 | → | zebrag joins (~chris@user/zebrag) |
| 01:49:42 | × | edmundnoble quits (sid229620@id-229620.helmsley.irccloud.com) (Ping timeout: 260 seconds) |
| 01:57:09 | → | lottaquestions joins (~nick@2607:fa49:5041:a200:f103:73aa:e770:b5d1) |
| 01:58:34 | → | gregberns__ joins (sid315709@helmsley.irccloud.com) |
| 01:58:44 | → | conjunctive_ joins (sid433686@helmsley.irccloud.com) |
| 01:58:58 | → | carter joins (sid14827@id-14827.helmsley.irccloud.com) |
| 01:59:00 | → | edmundnoble joins (sid229620@id-229620.helmsley.irccloud.com) |
| 01:59:09 | → | grfn joins (sid449115@id-449115.helmsley.irccloud.com) |
| 01:59:16 | → | elvishjerricco joins (sid237756@id-237756.helmsley.irccloud.com) |
| 01:59:23 | → | tnks joins (sid412124@helmsley.irccloud.com) |
| 02:00:11 | → | bjs joins (sid190364@user/bjs) |
| 02:00:42 | → | Kaiepi joins (~Kaiepi@156.34.47.253) |
| 02:01:22 | → | scav joins (sid309693@user/scav) |
| 02:01:26 | → | elmyr joins (sid3438@user/dy) |
| 02:02:11 | → | alinab joins (sid468903@id-468903.helmsley.irccloud.com) |
| 02:02:22 | → | sunarch joins (sid526836@user/sunarch) |
| 02:02:44 | → | gaze___ joins (sid387101@helmsley.irccloud.com) |
| 02:03:07 | × | kristjansson quits (sid126207@id-126207.tinside.irccloud.com) (Ping timeout: 240 seconds) |
| 02:05:39 | × | sunarch quits (sid526836@user/sunarch) (Max SendQ exceeded) |
| 02:06:06 | → | kristjansson joins (sid126207@tinside.irccloud.com) |
| 02:08:22 | → | sunarch joins (sid526836@user/sunarch) |
| 02:08:30 | × | edmundnoble quits (sid229620@id-229620.helmsley.irccloud.com) (Ping timeout: 258 seconds) |
| 02:08:48 | × | gaze___ quits (sid387101@helmsley.irccloud.com) (Ping timeout: 276 seconds) |
| 02:09:36 | → | nate4 joins (~nate@98.45.169.16) |
| 02:10:25 | × | carter quits (sid14827@id-14827.helmsley.irccloud.com) (Ping timeout: 258 seconds) |
| 02:11:08 | × | sunarch quits (sid526836@user/sunarch) (Max SendQ exceeded) |
| 02:11:11 | × | elmyr quits (sid3438@user/dy) (Ping timeout: 256 seconds) |
| 02:12:20 | × | alinab quits (sid468903@id-468903.helmsley.irccloud.com) (Ping timeout: 258 seconds) |
| 02:12:40 | → | edmundnoble joins (sid229620@helmsley.irccloud.com) |
| 02:13:54 | → | sunarch joins (sid526836@user/sunarch) |
| 02:14:39 | × | Kaiepi quits (~Kaiepi@156.34.47.253) (Ping timeout: 276 seconds) |
| 02:14:47 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 246 seconds) |
| 02:15:11 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 255 seconds) |
| 02:15:45 | × | sunarch quits (sid526836@user/sunarch) (Max SendQ exceeded) |
| 02:16:51 | money | is now known as polo |
| 02:16:59 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 02:17:15 | × | conjunctive_ quits (sid433686@helmsley.irccloud.com) (Ping timeout: 276 seconds) |
| 02:17:15 | → | alinab joins (sid468903@helmsley.irccloud.com) |
| 02:17:31 | → | gaze___ joins (sid387101@id-387101.helmsley.irccloud.com) |
| 02:17:46 | → | elmyr joins (sid3438@user/dy) |
| 02:17:55 | × | edmundnoble quits (sid229620@helmsley.irccloud.com) (Ping timeout: 260 seconds) |
| 02:17:58 | → | sunarch joins (sid526836@user/sunarch) |
| 02:18:45 | → | parseval joins (sid239098@id-239098.helmsley.irccloud.com) |
| 02:19:14 | → | cbarrett joins (sid192934@id-192934.helmsley.irccloud.com) |
| 02:19:20 | → | carter joins (sid14827@id-14827.helmsley.irccloud.com) |
| 02:19:37 | → | conjunctive_ joins (sid433686@id-433686.helmsley.irccloud.com) |
| 02:20:06 | → | edmundnoble joins (sid229620@id-229620.helmsley.irccloud.com) |
| 02:20:13 | → | meinside joins (uid24933@helmsley.irccloud.com) |
| 02:20:29 | → | NiKaN joins (sid385034@helmsley.irccloud.com) |
| 02:21:22 | → | dpratt joins (sid193493@helmsley.irccloud.com) |
| 02:22:16 | × | yrlnry quits (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) (Remote host closed the connection) |
| 02:31:19 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 02:31:26 | → | money joins (~Gambino@user/polo) |
| 02:33:50 | → | eax_ joins (6ba2dd7b84@user/eax/x-8810663) |
| 02:34:23 | × | polo quits (~Gambino@user/polo) (Ping timeout: 246 seconds) |
| 02:35:10 | × | mikoto-chan quits (~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Ping timeout: 240 seconds) |
| 02:38:55 | × | cawfee_ quits (~root@2406:3003:2077:2758::babe) (Ping timeout: 244 seconds) |
| 02:39:14 | → | cawfee_ joins (~root@2406:3003:2077:2758::babe) |
| 02:39:18 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 02:40:14 | → | bilegeek joins (~bilegeek@2600:1008:b005:53e9:593b:562e:f1af:2e1) |
| 02:40:24 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 02:41:17 | → | Polo joins (~Gambino@user/polo) |
| 02:44:22 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 268 seconds) |
| 02:44:32 | × | money quits (~Gambino@user/polo) (Ping timeout: 260 seconds) |
| 02:46:13 | → | mikoto-chan joins (~mikoto-ch@esm-84-240-99-143.netplaza.fi) |
| 02:49:43 | × | werneta quits (~werneta@137.79.237.10) (Ping timeout: 256 seconds) |
| 02:51:14 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 02:53:44 | × | mima quits (~mmh@aftr-62-216-207-119.dynamic.mnet-online.de) (Ping timeout: 248 seconds) |
| 02:53:46 | × | Guest92 quits (~Guest92@2600:1000:b153:2d00:947e:5b94:1480:cf4a) (Quit: Client closed) |
| 02:55:35 | → | mima joins (~mmh@aftr-185-17-205-215.dynamic.mnet-online.de) |
| 02:55:50 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 02:56:57 | × | Polo quits (~Gambino@user/polo) (Ping timeout: 248 seconds) |
| 02:58:17 | → | Polo joins (~Gambino@user/polo) |
| 02:59:20 | × | Polo quits (~Gambino@user/polo) (Client Quit) |
| 03:00:28 | → | Polo joins (~Gambino@user/polo) |
| 03:00:46 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 03:03:10 | × | Ranhir quits (~Ranhir@157.97.53.139) (Ping timeout: 240 seconds) |
| 03:03:51 | → | money joins (~Gambino@user/polo) |
| 03:05:27 | × | Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection) |
| 03:05:35 | × | Polo quits (~Gambino@user/polo) (Ping timeout: 255 seconds) |
| 03:11:12 | × | dsrt^ quits (~dsrt@12.1.86.165) (Ping timeout: 276 seconds) |
| 03:16:29 | → | dsrt^ joins (~dsrt@12.1.86.165) |
| 03:19:47 | → | liz joins (~liz@cpc84585-newc17-2-0-cust60.16-2.cable.virginm.net) |
| 03:22:27 | → | n1essa joins (~nessa@75-164-218-34.ptld.qwest.net) |
| 03:23:49 | × | n1essa quits (~nessa@75-164-218-34.ptld.qwest.net) (Client Quit) |
| 03:25:06 | → | n1essa joins (~nessa@75-164-218-34.ptld.qwest.net) |
| 03:26:55 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 03:32:00 | × | dsrt^ quits (~dsrt@12.1.86.165) (Ping timeout: 276 seconds) |
| 03:32:31 | → | leeb joins (~leeb@KD106155005147.au-net.ne.jp) |
| 03:33:02 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 03:38:39 | → | nate4 joins (~nate@98.45.169.16) |
| 03:39:26 | × | yauhsien quits (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 03:39:52 | Andrew | is now known as \Andrew |
| 03:41:00 | \Andrew | is now known as GNU\Andrew |
| 03:41:52 | → | dyeplexer joins (~dyeplexer@user/dyeplexer) |
| 03:42:52 | → | dsrt^ joins (~dsrt@12.1.86.165) |
| 03:42:53 | × | money quits (~Gambino@user/polo) (Quit: money) |
| 03:43:42 | → | yauhsien joins (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) |
| 03:48:39 | × | yauhsien quits (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 03:53:54 | → | Polo joins (~Gambino@user/polo) |
| 03:54:19 | × | dsrt^ quits (~dsrt@12.1.86.165) (Ping timeout: 256 seconds) |
| 03:56:36 | × | elvishjerricco quits (sid237756@id-237756.helmsley.irccloud.com) (Ping timeout: 258 seconds) |
| 03:56:38 | × | gregberns__ quits (sid315709@helmsley.irccloud.com) (Ping timeout: 246 seconds) |
| 03:57:21 | × | bjs quits (sid190364@user/bjs) (Ping timeout: 276 seconds) |
| 03:58:02 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 246 seconds) |
| 03:58:39 | × | NiKaN quits (sid385034@helmsley.irccloud.com) (Ping timeout: 276 seconds) |
| 03:59:24 | × | n1essa quits (~nessa@75-164-218-34.ptld.qwest.net) (Quit: leaving) |
| 03:59:25 | × | carter quits (sid14827@id-14827.helmsley.irccloud.com) (Ping timeout: 260 seconds) |
| 03:59:40 | × | conjunctive_ quits (sid433686@id-433686.helmsley.irccloud.com) (Ping timeout: 258 seconds) |
| 03:59:40 | × | scav quits (sid309693@user/scav) (Ping timeout: 258 seconds) |
| 03:59:56 | → | gregberns__ joins (sid315709@helmsley.irccloud.com) |
| 04:00:07 | → | elvishjerricco joins (sid237756@id-237756.helmsley.irccloud.com) |
| 04:00:37 | → | bjs joins (sid190364@user/bjs) |
| 04:00:39 | → | carter joins (sid14827@id-14827.helmsley.irccloud.com) |
| 04:00:55 | → | conjunctive_ joins (sid433686@id-433686.helmsley.irccloud.com) |
| 04:01:06 | → | scav joins (sid309693@user/scav) |
| 04:02:21 | → | NiKaN joins (sid385034@id-385034.helmsley.irccloud.com) |
| 04:07:03 | × | dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection) |
| 04:15:43 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 04:16:49 | → | Vajb joins (~Vajb@2001:999:40:4c50:1b24:879c:6df3:1d06) |
| 04:18:11 | × | Polo quits (~Gambino@user/polo) (Quit: Polo) |
| 04:19:00 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 04:21:29 | → | Polo joins (~Gambino@user/polo) |
| 04:22:59 | → | yauhsien joins (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) |
| 04:27:59 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 04:28:09 | × | yauhsien quits (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) (Ping timeout: 248 seconds) |
| 04:28:38 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 04:28:40 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 04:32:58 | → | yauhsien joins (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) |
| 04:41:33 | → | mima_ joins (~mmh@aftr-62-216-210-112.dynamic.mnet-online.de) |
| 04:44:30 | × | mima quits (~mmh@aftr-185-17-205-215.dynamic.mnet-online.de) (Ping timeout: 240 seconds) |
| 04:46:10 | × | mikoto-chan quits (~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Ping timeout: 240 seconds) |
| 04:47:17 | → | mikoto-chan joins (~mikoto-ch@esm-84-240-99-143.netplaza.fi) |
| 04:47:51 | × | liz quits (~liz@cpc84585-newc17-2-0-cust60.16-2.cable.virginm.net) (Quit: Lost terminal) |
| 04:49:19 | → | dsrt^ joins (~dsrt@12.1.86.165) |
| 04:58:07 | → | jinsun joins (~jinsun@user/jinsun) |
| 04:59:30 | × | mikoto-chan quits (~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Ping timeout: 240 seconds) |
| 05:00:09 | × | dsrt^ quits (~dsrt@12.1.86.165) (Ping timeout: 248 seconds) |
| 05:00:47 | × | jinsun__ quits (~jinsun@user/jinsun) (Ping timeout: 255 seconds) |
| 05:04:11 | × | Colere quits (~colere@about/linux/staff/sauvin) (Ping timeout: 246 seconds) |
| 05:05:01 | → | Colere joins (~colere@about/linux/staff/sauvin) |
| 05:05:21 | → | arjun joins (~arjun@user/arjun) |
| 05:07:15 | → | Furor joins (~colere@about/linux/staff/sauvin) |
| 05:10:07 | → | king_gs joins (~Thunderbi@2806:103e:29:bd33:a770:7b09:49c6:13b0) |
| 05:10:08 | × | Colere quits (~colere@about/linux/staff/sauvin) (Ping timeout: 246 seconds) |
| 05:11:20 | → | mikoto-chan joins (~mikoto-ch@esm-84-240-99-143.netplaza.fi) |
| 05:13:08 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 05:14:52 | → | oxide joins (~lambda@user/oxide) |
| 05:16:37 | × | arjun quits (~arjun@user/arjun) (Quit: tip toe-ing my way outta here) |
| 05:20:24 | → | coot joins (~coot@213.134.190.95) |
| 05:20:53 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:21:01 | × | mikoto-chan quits (~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Ping timeout: 256 seconds) |
| 05:22:47 | × | leah2 quits (~leah@vuxu.org) (Ping timeout: 240 seconds) |
| 05:24:02 | → | leah2 joins (~leah@vuxu.org) |
| 05:25:02 | → | michalz joins (~michalz@185.246.204.107) |
| 05:28:10 | × | z0k quits (~z0k@206.84.141.12) (Ping timeout: 240 seconds) |
| 05:30:24 | → | z0k joins (~z0k@206.84.141.12) |
| 05:32:33 | → | zmt01 joins (~zmt00@user/zmt00) |
| 05:34:15 | → | mikoto-chan joins (~mikoto-ch@esm-84-240-99-143.netplaza.fi) |
| 05:34:46 | × | king_gs quits (~Thunderbi@2806:103e:29:bd33:a770:7b09:49c6:13b0) (Quit: king_gs) |
| 05:35:41 | × | leeb quits (~leeb@KD106155005147.au-net.ne.jp) (Ping timeout: 246 seconds) |
| 05:36:20 | × | zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 255 seconds) |
| 05:37:49 | → | leeb joins (~leeb@KD106155003075.au-net.ne.jp) |
| 05:43:06 | → | mbuf joins (~Shakthi@122.174.192.200) |
| 05:44:04 | × | acetakwas quits (~acetakwas@f240139.upc-f.chello.nl) (Ping timeout: 240 seconds) |
| 05:49:13 | × | oxide quits (~lambda@user/oxide) (Quit: oxide) |
| 05:52:10 | × | cosimone quits (~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81) (Remote host closed the connection) |
| 05:53:01 | → | cosimone joins (~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81) |
| 05:53:38 | → | rkk joins (~rkk@2601:547:b00:696:9922:960d:1cb5:8453) |
| 05:56:38 | × | jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
| 05:56:41 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:21c1:4642:3625:e265) (Remote host closed the connection) |
| 05:57:38 | → | money joins (~Gambino@user/polo) |
| 05:57:45 | × | Polo quits (~Gambino@user/polo) (Ping timeout: 248 seconds) |
| 05:59:31 | → | jinsun joins (~jinsun@user/jinsun) |
| 06:10:57 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 06:11:34 | → | nate4 joins (~nate@98.45.169.16) |
| 06:11:44 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 06:12:56 | → | _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl) |
| 06:13:48 | × | money quits (~Gambino@user/polo) (Read error: Connection reset by peer) |
| 06:13:56 | → | phma_ joins (~phma@2001:5b0:211f:4838:bc99:a0da:9cf3:c583) |
| 06:14:38 | × | phma quits (~phma@host-67-44-208-229.hnremote.net) (Read error: Connection reset by peer) |
| 06:15:38 | → | Polo joins (~Gambino@user/polo) |
| 06:17:06 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 276 seconds) |
| 06:20:12 | × | rkk quits (~rkk@2601:547:b00:696:9922:960d:1cb5:8453) (Remote host closed the connection) |
| 06:20:30 | → | rkk joins (~rkk@2601:547:b00:696:9922:960d:1cb5:8453) |
| 06:25:07 | → | YoungFrog joins (~youngfrog@2a02:a03f:c21b:f900:38c7:61b7:c771:72b1) |
| 06:31:12 | × | Hash quits (~Hash@tunnel686959-pt.tunnel.tserv15.lax1.ipv6.he.net) (Quit: ZNC - https://znc.in) |
| 06:31:51 | → | gurkenglas joins (~gurkengla@84.57.85.111) |
| 06:32:48 | → | MajorBiscuit joins (~MajorBisc@c-001-003-023.client.tudelft.eduvpn.nl) |
| 06:35:09 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 06:35:39 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 06:36:56 | × | jonathanx__ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 246 seconds) |
| 06:39:44 | → | Hash joins (~Hash@tunnel686959-pt.tunnel.tserv15.lax1.ipv6.he.net) |
| 06:41:07 | → | jonathanx joins (~jonathan@c-5eea733a-74736162.cust.telenor.se) |
| 06:41:28 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 06:44:51 | × | cosimone quits (~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81) (Remote host closed the connection) |
| 06:45:13 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 06:46:55 | × | _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
| 06:51:05 | × | kimjetwav quits (~user@2607:fea8:2340:da00:fe24:c3fc:91f5:a798) (Ping timeout: 248 seconds) |
| 06:51:19 | → | chele joins (~chele@user/chele) |
| 06:52:11 | → | cosimone joins (~user@93-44-186-171.ip98.fastwebnet.it) |
| 06:52:49 | × | jonathanx quits (~jonathan@c-5eea733a-74736162.cust.telenor.se) (Ping timeout: 256 seconds) |
| 06:54:21 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:ab81:b7cb:626a:e218) |
| 06:54:27 | → | jonathanx joins (~jonathan@c-5eea733a-74736162.cust.telenor.se) |
| 06:57:12 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:f0a5:fd4a:f96d:7180) |
| 07:00:48 | → | vysn joins (~vysn@user/vysn) |
| 07:02:44 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:f0a5:fd4a:f96d:7180) (Ping timeout: 255 seconds) |
| 07:03:03 | × | shriekingnoise quits (~shrieking@201.212.175.181) (Quit: Quit) |
| 07:04:21 | → | bilegeek_ joins (~bilegeek@2600:1008:b041:e761:7b37:a38a:88f0:fc0d) |
| 07:05:07 | → | alp__ joins (~alp@user/alp) |
| 07:05:17 | × | yauhsien quits (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 07:06:08 | → | yauhsien joins (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) |
| 07:06:33 | × | bilegeek quits (~bilegeek@2600:1008:b005:53e9:593b:562e:f1af:2e1) (Ping timeout: 248 seconds) |
| 07:10:32 | × | yauhsien quits (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) (Ping timeout: 246 seconds) |
| 07:18:30 | × | qwedfg quits (~qwedfg@user/qwedfg) (Ping timeout: 240 seconds) |
| 07:19:41 | × | mima_ quits (~mmh@aftr-62-216-210-112.dynamic.mnet-online.de) (Quit: leaving) |
| 07:24:14 | → | odnes joins (~odnes@5-203-208-94.pat.nym.cosmote.net) |
| 07:24:29 | → | kuribas joins (~user@ptr-17d51emvqovheexfwgk.18120a2.ip6.access.telenet.be) |
| 07:28:20 | → | bilegeek joins (~bilegeek@2600:1008:b00f:6a98:cdb2:ba0f:2d2:2975) |
| 07:29:17 | × | bilegeek_ quits (~bilegeek@2600:1008:b041:e761:7b37:a38a:88f0:fc0d) (Ping timeout: 255 seconds) |
| 07:30:34 | × | rkk quits (~rkk@2601:547:b00:696:9922:960d:1cb5:8453) (Quit: Leaving) |
| 07:33:04 | → | fweht joins (uid404746@id-404746.lymington.irccloud.com) |
| 07:37:47 | → | jgeerds joins (~jgeerds@55d45f48.access.ecotel.net) |
| 07:39:20 | → | yauhsien joins (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) |
| 07:39:38 | × | bilegeek quits (~bilegeek@2600:1008:b00f:6a98:cdb2:ba0f:2d2:2975) (Ping timeout: 255 seconds) |
| 07:39:54 | → | acidjnk joins (~acidjnk@dynamic-046-114-175-104.46.114.pool.telefonica.de) |
| 07:40:20 | → | acidjnk_new joins (~acidjnk@dynamic-046-114-175-104.46.114.pool.telefonica.de) |
| 07:40:25 | → | Alex_test_ joins (~al_test@94.233.240.20) |
| 07:44:25 | × | acidjnk quits (~acidjnk@dynamic-046-114-175-104.46.114.pool.telefonica.de) (Ping timeout: 248 seconds) |
| 07:44:54 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 07:45:01 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 07:46:04 | → | gmg joins (~user@user/gehmehgeh) |
| 07:48:24 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 07:50:58 | → | machinedgod joins (~machinedg@66.244.246.252) |
| 07:51:12 | → | cfricke joins (~cfricke@user/cfricke) |
| 07:51:42 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit) |
| 07:51:56 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 07:58:38 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:9:59a4:5055:fd8c) |
| 08:00:52 | → | Me-me joins (~me-me@v.working.name) |
| 08:03:02 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:9:59a4:5055:fd8c) (Ping timeout: 255 seconds) |
| 08:03:07 | × | Me-me quits (~me-me@v.working.name) (Changing host) |
| 08:03:07 | → | Me-me joins (~me-me@user/me-me) |
| 08:04:22 | → | jonathanx_ joins (~jonathan@dyn-5-sc.cdg.chalmers.se) |
| 08:04:49 | → | eod|fserucas__ joins (~eod|fseru@193.65.114.89.rev.vodafone.pt) |
| 08:04:49 | → | eod|fserucas_ joins (~eod|fseru@193.65.114.89.rev.vodafone.pt) |
| 08:07:03 | × | jonathanx quits (~jonathan@c-5eea733a-74736162.cust.telenor.se) (Ping timeout: 256 seconds) |
| 08:08:09 | → | ccntrq joins (~Thunderbi@dynamic-078-050-252-036.78.50.pool.telefonica.de) |
| 08:11:09 | × | CiaoSen quits (~Jura@p200300c95735ef002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Quit: CiaoSen) |
| 08:14:24 | → | zeenk joins (~zeenk@2a02:2f04:a301:3d00:39df:1c4b:8a55:48d3) |
| 08:18:48 | → | AkechiShiro joins (~licht@user/akechishiro) |
| 08:21:07 | → | ccntrq1 joins (~Thunderbi@dynamic-078-050-252-036.78.50.pool.telefonica.de) |
| 08:22:57 | → | frost joins (~frost@user/frost) |
| 08:23:12 | × | ccntrq quits (~Thunderbi@dynamic-078-050-252-036.78.50.pool.telefonica.de) (Ping timeout: 276 seconds) |
| 08:23:12 | ccntrq1 | is now known as ccntrq |
| 08:23:16 | phma_ | is now known as phma |
| 08:24:17 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 08:28:05 | → | ccntrq1 joins (~Thunderbi@dynamic-078-050-252-036.78.50.pool.telefonica.de) |
| 08:29:45 | × | ccntrq quits (~Thunderbi@dynamic-078-050-252-036.78.50.pool.telefonica.de) (Ping timeout: 248 seconds) |
| 08:29:45 | ccntrq1 | is now known as ccntrq |
| 08:35:08 | → | ccntrq1 joins (~Thunderbi@dynamic-078-050-252-036.78.50.pool.telefonica.de) |
| 08:36:51 | × | ccntrq quits (~Thunderbi@dynamic-078-050-252-036.78.50.pool.telefonica.de) (Ping timeout: 276 seconds) |
| 08:36:51 | ccntrq1 | is now known as ccntrq |
| 08:37:04 | → | zer0bitz joins (~zer0bitz@2001:2003:f748:2000:b968:ef1b:5eee:ca89) |
| 08:37:39 | × | gurkenglas quits (~gurkengla@84.57.85.111) (Ping timeout: 256 seconds) |
| 08:37:49 | → | CiaoSen joins (~Jura@p200300c95735ef002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 08:43:16 | → | ccntrq1 joins (~Thunderbi@dynamic-078-050-252-036.78.50.pool.telefonica.de) |
| 08:44:39 | × | ccntrq quits (~Thunderbi@dynamic-078-050-252-036.78.50.pool.telefonica.de) (Ping timeout: 276 seconds) |
| 08:44:39 | ccntrq1 | is now known as ccntrq |
| 08:47:39 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 08:47:58 | → | kenaryn joins (~aurele@89-88-44-27.abo.bbox.fr) |
| 08:49:26 | → | gurkenglas joins (~gurkengla@dslb-002-207-014-022.002.207.pools.vodafone-ip.de) |
| 08:51:53 | → | rkk joins (~rkk@2601:547:b00:696:9922:960d:1cb5:8453) |
| 08:52:13 | × | zeenk quits (~zeenk@2a02:2f04:a301:3d00:39df:1c4b:8a55:48d3) (Quit: Konversation terminated!) |
| 08:52:14 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 08:53:34 | × | rkk quits (~rkk@2601:547:b00:696:9922:960d:1cb5:8453) (Remote host closed the connection) |
| 08:58:10 | → | ccntrq1 joins (~Thunderbi@dynamic-078-050-252-036.78.50.pool.telefonica.de) |
| 09:00:10 | × | ccntrq quits (~Thunderbi@dynamic-078-050-252-036.78.50.pool.telefonica.de) (Ping timeout: 240 seconds) |
| 09:00:11 | ccntrq1 | is now known as ccntrq |
| 09:02:58 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 240 seconds) |
| 09:05:17 | → | ccntrq1 joins (~Thunderbi@dynamic-078-050-252-036.78.50.pool.telefonica.de) |
| 09:06:25 | × | ccntrq quits (~Thunderbi@dynamic-078-050-252-036.78.50.pool.telefonica.de) (Ping timeout: 244 seconds) |
| 09:06:26 | ccntrq1 | is now known as ccntrq |
| 09:06:50 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Ping timeout: 240 seconds) |
| 09:09:16 | → | __monty__ joins (~toonn@user/toonn) |
| 09:11:03 | → | xf00b4r joins (~soukenka@217.196.113.70) |
| 09:11:24 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 09:18:52 | × | raym quits (~raym@user/raym) (Quit: leaving) |
| 09:22:10 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 09:25:21 | → | ccntrq1 joins (~Thunderbi@dynamic-078-050-252-036.78.50.pool.telefonica.de) |
| 09:26:07 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 09:26:40 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 09:26:45 | → | dsrt^ joins (~dsrt@12.1.86.165) |
| 09:26:57 | × | ccntrq quits (~Thunderbi@dynamic-078-050-252-036.78.50.pool.telefonica.de) (Ping timeout: 256 seconds) |
| 09:26:57 | ccntrq1 | is now known as ccntrq |
| 09:28:42 | <maerwald> | jackdk: `fail` cannot be called there |
| 09:28:53 | <maerwald> | because I'm inside a quotation... that would change the type |
| 09:33:28 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:36:22 | → | ccntrq1 joins (~Thunderbi@dynamic-078-050-252-036.78.50.pool.telefonica.de) |
| 09:37:32 | × | ccntrq quits (~Thunderbi@dynamic-078-050-252-036.78.50.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 09:37:32 | ccntrq1 | is now known as ccntrq |
| 09:41:24 | → | ccntrq1 joins (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) |
| 09:41:44 | × | ccntrq quits (~Thunderbi@dynamic-078-050-252-036.78.50.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 09:41:44 | ccntrq1 | is now known as ccntrq |
| 09:53:40 | → | ccntrq1 joins (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) |
| 09:55:10 | × | ccntrq quits (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) (Ping timeout: 240 seconds) |
| 09:55:10 | ccntrq1 | is now known as ccntrq |
| 09:56:40 | × | Polo quits (~Gambino@user/polo) (Quit: Polo) |
| 09:56:52 | × | yauhsien quits (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 09:57:34 | → | yauhsien joins (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) |
| 09:59:41 | → | Polo joins (~Gambino@user/polo) |
| 09:59:49 | × | m1dnight quits (~christoph@78-22-9-5.access.telenet.be) (Quit: WeeChat 3.5) |
| 10:00:10 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:9:59a4:5055:fd8c) |
| 10:00:37 | → | m1dnight joins (~christoph@78-22-9-5.access.telenet.be) |
| 10:00:38 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 10:03:41 | → | raym joins (~raym@user/raym) |
| 10:04:32 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:9:59a4:5055:fd8c) (Ping timeout: 255 seconds) |
| 10:04:57 | <carbolymer> | can I write `Ord`instance so that `compare a b == EQ` and `a /= b` ? |
| 10:05:37 | <carbolymer> | this is 6th law of Ord, right: https://hackage.haskell.org/package/base-4.16.1.0/docs/Prelude.html#t:Ord ? |
| 10:08:38 | <exarkun> | It sounds like the opposite of the 6th law? |
| 10:08:41 | → | ccntrq1 joins (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) |
| 10:08:57 | <carbolymer> | exarkun: exactly, and I kind of want that |
| 10:09:50 | <lyiriyah[m]> | Uhh, why? |
| 10:10:29 | <carbolymer> | lyiriyah[m]: I want to have ordering based only on 2 of 3 fields of my datatype |
| 10:10:50 | × | ccntrq quits (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) (Ping timeout: 255 seconds) |
| 10:10:50 | ccntrq1 | is now known as ccntrq |
| 10:11:16 | <carbolymer> | hmm |
| 10:11:27 | <carbolymer> | adding 3rd field will not hurd |
| 10:12:02 | <carbolymer> | s/hurd/hurt |
| 10:13:03 | → | nate4 joins (~nate@98.45.169.16) |
| 10:13:57 | <carbolymer> | hmm my idea does not make sense |
| 10:14:23 | carbolymer | will better use autogenerated instance and stop thinking about Ord |
| 10:14:40 | <carbolymer> | autogenerated instance uses order of fields, which is nice |
| 10:15:53 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 248 seconds) |
| 10:18:10 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 10:20:18 | × | CiaoSen quits (~Jura@p200300c95735ef002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 10:21:59 | → | ccntrq1 joins (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) |
| 10:24:11 | × | ccntrq quits (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) (Ping timeout: 256 seconds) |
| 10:24:12 | ccntrq1 | is now known as ccntrq |
| 10:30:59 | → | ccntrq1 joins (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) |
| 10:31:33 | × | xf00b4r quits (~soukenka@217.196.113.70) (Ping timeout: 256 seconds) |
| 10:32:29 | × | mikoto-chan quits (~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Ping timeout: 246 seconds) |
| 10:32:50 | × | ccntrq quits (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 10:32:50 | ccntrq1 | is now known as ccntrq |
| 10:35:30 | statusfa1led | is now known as statusfailed |
| 10:36:25 | → | Guest59 joins (~Guest59@136.158.11.123) |
| 10:38:29 | → | qwedfg joins (~qwedfg@user/qwedfg) |
| 10:43:57 | → | ccntrq1 joins (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) |
| 10:45:56 | × | ccntrq quits (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) (Ping timeout: 255 seconds) |
| 10:45:56 | ccntrq1 | is now known as ccntrq |
| 10:46:51 | × | Polo quits (~Gambino@user/polo) (Ping timeout: 276 seconds) |
| 10:47:18 | × | Guest59 quits (~Guest59@136.158.11.123) (Quit: Client closed) |
| 10:48:33 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 256 seconds) |
| 10:58:34 | → | money joins (~Gambino@user/polo) |
| 11:00:11 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 11:00:47 | × | _xor quits (~xor@74.215.182.83) (Quit: WeeChat 3.4.1) |
| 11:02:45 | → | xff0x joins (~xff0x@b133147.ppp.asahi-net.or.jp) |
| 11:05:19 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 11:07:48 | → | ccntrq1 joins (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) |
| 11:09:45 | × | ccntrq quits (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) (Ping timeout: 248 seconds) |
| 11:09:45 | ccntrq1 | is now known as ccntrq |
| 11:10:11 | → | moonsheep joins (~user@user/moonsheep) |
| 11:10:50 | × | money quits (~Gambino@user/polo) (Ping timeout: 240 seconds) |
| 11:11:20 | → | notzmv joins (~zmv@user/notzmv) |
| 11:12:18 | <moonsheep> | Greetings. Is there a good way to efficiently serialize a HashMap? I know about standalone deriving but I'm not sure how space efficient it is |
| 11:12:43 | <moonsheep> | To be clear, I want to store the hashes in serialized form, *not the keys themselves* |
| 11:13:16 | <moonsheep> | Is it a good approach to toList the hashmap and then manually hash every key? |
| 11:14:17 | <kritzefitz> | What do you mean by serialize? If you want something that you can later transform back into the original HashMap, it won't work without storing the full keys, since the HashMap needs the full keys. |
| 11:16:52 | <moonsheep> | By serialize I mean encode into a ByteString that can later be decoded. |
| 11:17:13 | <moonsheep> | Why does the HashMap need the full keys btw? |
| 11:18:17 | <kritzefitz> | Because the hashing algorithm used in the map is not collision resistant and if two hashes match it still has to check if the actual keys are actually equal. |
| 11:18:19 | → | sympt9 joins (~sympt@user/sympt) |
| 11:18:29 | <moonsheep> | Ah fair enough |
| 11:18:57 | <moonsheep> | Hmm, well for my purposes I want very fast access times, and the set of keys I work with is known in advance |
| 11:19:01 | <kritzefitz> | Also because extracting all keys is a supported operation from a HashMap, so technically if you don't have the keys, you don't have a HashMap as usually understoog. |
| 11:19:13 | <moonsheep> | Maybe I'm better of making a table from keys to sequential ints and then using an array with constant access? |
| 11:19:43 | × | sympt quits (~sympt@user/sympt) (Ping timeout: 256 seconds) |
| 11:19:44 | <moonsheep> | kritzefitz: Ah right, for some reason I forgot about how toList returns the keyss |
| 11:19:44 | sympt9 | is now known as sympt |
| 11:20:32 | <kritzefitz> | The array thing seems sensible, yes. |
| 11:20:59 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 11:21:17 | <moonsheep> | Alright thanks! |
| 11:21:42 | → | coot joins (~coot@213.134.190.95) |
| 11:23:59 | → | CiaoSen joins (~Jura@p200300c95735ef002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 11:24:52 | → | ccntrq1 joins (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) |
| 11:26:49 | × | ccntrq quits (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) (Ping timeout: 248 seconds) |
| 11:26:49 | ccntrq1 | is now known as ccntrq |
| 11:30:26 | <tdammers> | Just serialize the toList representation. |
| 11:30:54 | <tdammers> | it doesn't actually matter that the hashmap uses hashes; that's pretty much transparent to the user code, modulo performance |
| 11:31:00 | → | money joins (~Gambino@user/polo) |
| 11:31:52 | <tdammers> | as far as the exposed API goes, a hashmap isn't really any different from any other dictionary-like container, like say Data.Map (except that it leaks implementation details through the Ord / Hashable constraints, and through the order in which keys are listed if you don't ask for a sorted list) |
| 11:32:45 | × | kitty2 quits (~kitty@096-039-147-043.res.spectrum.com) (Ping timeout: 256 seconds) |
| 11:32:45 | → | kitty3 joins (~kitty@096-039-147-043.res.spectrum.com) |
| 11:33:08 | <kritzefitz> | moonsheep: Actually, I'm not sure the array thing is much faster. While array lookups have constant complexity, but your typical pattern match to convert from ADTs to ints does not, so I'm not sure you actually gain much. |
| 11:35:08 | <moonsheep> | Well I'm not converting from ADTs, I'm converting from strinngs |
| 11:36:23 | <tdammers> | the array thing doesn't make much sense; you don't need random access for ser/deser, a lazy linked list representation is fine, since all you will ever do is linearly iterate over it once |
| 11:38:25 | <moonsheep> | Ah my bad, I should've made it clear that I moved passed the serialization thing. HashMaps are a bit tricky to serialize hence my original question. |
| 11:38:40 | <moonsheep> | But I do need fast random access anyways. |
| 11:39:26 | <kritzefitz> | moonsheep: Unless you can convert your strings to integers faster than just looking the string up in the HashMap, using the HashMap directly will definitely be faster. |
| 11:39:37 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 248 seconds) |
| 11:39:55 | <tdammers> | yeah, indeed. HashMap already has fast random access |
| 11:40:28 | <tdammers> | in fact, "convert strings to integers for O(1) random access" is almost literally what a hashmap does behind the scenes |
| 11:41:32 | × | zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection) |
| 11:41:32 | <tdammers> | the only situation where I can see the "convert to integers" thing gain you anything is when you know something about those keys that allows you to come up with a "perfect" hashing function, i.e., one that guarantees that there will be no collisions |
| 11:41:41 | <moonsheep> | Yeah but I'll conver the strings in advance |
| 11:41:49 | <moonsheep> | I'll do all the heavy duty computation with ints |
| 11:41:55 | <moonsheep> | And then convert the results back to strings |
| 11:42:11 | × | CiaoSen quits (~Jura@p200300c95735ef002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 11:42:16 | × | troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 248 seconds) |
| 11:43:20 | → | zaquest joins (~notzaques@5.130.79.72) |
| 11:43:22 | <kritzefitz> | If you convert the keys to integers just once and then do multiple lookups, it might be faster. But as always, you should run some benchmarks to see if it's actually worth the trouble. |
| 11:43:58 | → | Guest62 joins (~Guest62@78-80-25-89.customers.tmcz.cz) |
| 11:44:03 | → | acidjnk_new3 joins (~acidjnk@dynamic-046-114-175-104.46.114.pool.telefonica.de) |
| 11:44:10 | × | acidjnk_new quits (~acidjnk@dynamic-046-114-175-104.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 11:44:46 | <kritzefitz> | As for the serialization of HashMaps, if the set of keys is always constant, you can just serialize all values in a constant order and since the set of keys is known when deserializing you can just reconstruct the keys at that time. |
| 11:45:08 | <kritzefitz> | *just serialize all values as a list in a constant order |
| 11:45:12 | → | acetakwas joins (~acetakwas@165.225.28.51) |
| 11:49:07 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 11:49:24 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 11:49:50 | × | acetakwas quits (~acetakwas@165.225.28.51) (Ping timeout: 252 seconds) |
| 11:50:00 | <moonsheep> | Yeah that's what I'm gonna do |
| 11:50:19 | × | caubert quits (~caubert@user/caubert) (Ping timeout: 256 seconds) |
| 11:52:22 | → | caubert joins (~caubert@user/caubert) |
| 11:53:36 | <Guest62> | Hi, guys. Would there be interest for (generated from metadata) WinRT bindings for Haskell ? |
| 11:53:37 | <Guest62> | There are JSON-encoded WinRT metadata (https://github.com/marlersoft/win32json), and it should be somewhat straightforward to generate bindings from this. |
| 11:53:37 | <Guest62> | The problem is, I've got no grasp on Hadkell FFI, strictness & so on, so it would be basically necessary someone spoon-feeds me the fragments of code that need to be generated, debate about how to deal with anonymous type-specs etc. |
| 11:55:15 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 11:55:29 | × | Alex_test_ quits (~al_test@94.233.240.20) (Quit: ;-) |
| 11:57:59 | <Guest62> | I'm willing to do the "grunt-work", but concrete examples with explanations would really help (I'd try to present minimal "this is what need to continue" requests wrt. the foundation module) |
| 12:01:13 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 12:01:19 | → | CiaoSen joins (~Jura@p200300c95735ef002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 12:03:23 | × | Guest62 quits (~Guest62@78-80-25-89.customers.tmcz.cz) (Quit: Client closed) |
| 12:05:20 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 12:07:14 | → | Guest62 joins (~Guest62@78-80-25-89.customers.tmcz.cz) |
| 12:12:27 | × | Guest62 quits (~Guest62@78-80-25-89.customers.tmcz.cz) (Quit: Ping timeout (120 seconds)) |
| 12:15:03 | → | ccntrq1 joins (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) |
| 12:16:02 | → | nate4 joins (~nate@98.45.169.16) |
| 12:16:57 | × | ccntrq quits (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) (Ping timeout: 256 seconds) |
| 12:16:58 | ccntrq1 | is now known as ccntrq |
| 12:17:16 | → | Guest62 joins (~Guest62@78-80-25-89.customers.tmcz.cz) |
| 12:18:05 | × | acidjnk_new3 quits (~acidjnk@dynamic-046-114-175-104.46.114.pool.telefonica.de) (Ping timeout: 256 seconds) |
| 12:21:49 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Quit: arthurs115) |
| 12:21:59 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 12:26:02 | × | Guest62 quits (~Guest62@78-80-25-89.customers.tmcz.cz) (Ping timeout: 252 seconds) |
| 12:27:16 | → | dcoutts joins (~duncan@host86-170-66-127.range86-170.btcentralplus.com) |
| 12:28:41 | × | dcoutts_ quits (~duncan@host86-170-66-22.range86-170.btcentralplus.com) (Ping timeout: 248 seconds) |
| 12:30:05 | → | xf00b4r joins (~soukenka@217.196.113.70) |
| 12:31:09 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.5) |
| 12:33:07 | → | dcoutts_ joins (~duncan@host213-122-143-138.range213-122.btcentralplus.com) |
| 12:34:33 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 248 seconds) |
| 12:36:09 | × | dcoutts quits (~duncan@host86-170-66-127.range86-170.btcentralplus.com) (Ping timeout: 248 seconds) |
| 12:37:05 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 255 seconds) |
| 12:38:29 | × | dcoutts_ quits (~duncan@host213-122-143-138.range213-122.btcentralplus.com) (Ping timeout: 246 seconds) |
| 12:40:00 | → | xkuru joins (~xkuru@user/xkuru) |
| 12:41:53 | × | comerijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 12:42:36 | → | yrlnry joins (~yrlnry@pool-108-2-150-109.phlapa.fios.verizon.net) |
| 12:44:04 | × | xf00b4r quits (~soukenka@217.196.113.70) (Remote host closed the connection) |
| 12:44:56 | → | ccntrq1 joins (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) |
| 12:46:32 | × | ccntrq quits (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 12:46:32 | ccntrq1 | is now known as ccntrq |
| 12:46:50 | × | yauhsien quits (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 12:50:40 | × | xkuru quits (~xkuru@user/xkuru) (Quit: Unvirtualizing) |
| 12:52:10 | → | xf00b4r joins (~soukenka@217.196.113.70) |
| 12:53:24 | → | echoone joins (~echoone@188.74.37.12) |
| 12:53:55 | → | yauhsien joins (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) |
| 12:57:45 | × | dsrt^ quits (~dsrt@12.1.86.165) (Ping timeout: 256 seconds) |
| 12:57:52 | → | ccntrq1 joins (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) |
| 12:59:08 | × | ccntrq quits (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 12:59:08 | ccntrq1 | is now known as ccntrq |
| 13:00:07 | → | dsrt^ joins (~dsrt@12.1.86.165) |
| 13:06:37 | Furor | is now known as Colere |
| 13:07:53 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 13:10:17 | → | ccntrq1 joins (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) |
| 13:12:11 | × | ccntrq quits (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) (Ping timeout: 255 seconds) |
| 13:12:11 | → | chomwitt joins (~chomwitt@2a02:587:dc0d:e600:d03e:b48f:9497:fc81) |
| 13:12:11 | ccntrq1 | is now known as ccntrq |
| 13:15:30 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 13:20:24 | → | Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
| 13:27:32 | → | ccntrq1 joins (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) |
| 13:28:31 | <Clinton[m]> | Whilst I can do the following:... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/180188d9e19bcb0b237acb22b69b0b1a3df21b31) |
| 13:29:29 | × | ccntrq quits (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) (Ping timeout: 248 seconds) |
| 13:29:29 | ccntrq1 | is now known as ccntrq |
| 13:33:51 | × | odnes quits (~odnes@5-203-208-94.pat.nym.cosmote.net) (Remote host closed the connection) |
| 13:34:14 | → | odnes joins (~odnes@5-203-208-94.pat.nym.cosmote.net) |
| 13:34:48 | × | jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 248 seconds) |
| 13:35:30 | <geekosaur> | not an expert on this stuff, but while boxed levity can all be represented the same way (and so can use a common kind for levity) every unboxed type has its own representation |
| 13:35:46 | → | Surobaki joins (~surobaki@137.44.222.80) |
| 13:36:26 | × | frost quits (~frost@user/frost) (Ping timeout: 252 seconds) |
| 13:38:26 | <geekosaur> | take a look at RuntimeRep. there's one common BoxedRep and every unboxed type has its own rep |
| 13:38:53 | <geekosaur> | so you can't be polymorphic over all unboxed reps |
| 13:39:28 | → | mishugana joins (~mishugana@user/mishugana) |
| 13:39:54 | ← | mishugana parts (~mishugana@user/mishugana) () |
| 13:40:06 | <Clinton[m]> | geekosaur: so basically you are saying I have to copy/pasta for every different unboxed rep (which is pretty much every type unless they share the same unboxed rep) |
| 13:40:16 | <geekosaur> | yes |
| 13:40:19 | <Clinton[m]> | * unboxed rep)? |
| 13:40:32 | <geekosaur> | someone else may have more to add, but that's what it looks like to me |
| 13:41:48 | × | Vajb quits (~Vajb@2001:999:40:4c50:1b24:879c:6df3:1d06) (Read error: Connection reset by peer) |
| 13:42:16 | <Surobaki> | Hi, I wanted to ask if I´m approaching this right: I want to make a simple type that is a subset of the String type. Specifically just a type that could be one of the three string literals ´x´, ´y´ or ´z´. I see how people create datatypes that infer from other types but I don´t think I understand how to create datatypes that infer from concrete values. Should I be using a datatype or am I using the wrong tool for the job? Could I b |
| 13:42:17 | <Surobaki> | e doing something wrong in my declaration? |
| 13:42:42 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 13:43:20 | <geekosaur> | Surobaki, Haskell doesn't support subtyping (which is what you're doing if you try to limit to particular values of some other type) |
| 13:44:09 | <geekosaur> | you could do `data MySubtype = MyX | MyY | MyZ` and write custom Read and Show instances, but that's not really the same thing |
| 13:44:22 | <Surobaki> | I see, thank you! Is there no alternative? Also reading back on what I wrote I do realise that I should be using Char instead of String since I´m working with ASCII literals |
| 13:44:23 | <geekosaur> | I think Liquid Haskell supports subtyping |
| 13:44:54 | <Surobaki> | I see I see, thank you for the feedback! It´s really helpful |
| 13:46:01 | → | ccntrq1 joins (~Thunderbi@dynamic-077-006-196-127.77.6.pool.telefonica.de) |
| 13:46:33 | × | ccntrq quits (~Thunderbi@dynamic-077-003-244-019.77.3.pool.telefonica.de) (Ping timeout: 248 seconds) |
| 13:46:33 | ccntrq1 | is now known as ccntrq |
| 13:46:40 | × | money quits (~Gambino@user/polo) (Quit: money) |
| 13:51:31 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 13:51:33 | × | xf00b4r quits (~soukenka@217.196.113.70) (Remote host closed the connection) |
| 13:52:48 | → | money joins (~Gambino@user/polo) |
| 13:52:57 | <dminuoso> | But we do have subtyping! |
| 13:53:01 | <dminuoso> | Multiple ways even! |
| 13:53:51 | <geekosaur> | I don't think Int vs. Integer counts, especially given all the weird machinery needed to pretend it's subtyping |
| 13:54:34 | × | money quits (~Gambino@user/polo) (Client Quit) |
| 13:55:05 | → | Kaiepi joins (~Kaiepi@156.34.47.253) |
| 13:55:51 | → | acidjnk_new3 joins (~acidjnk@dynamic-046-114-175-104.46.114.pool.telefonica.de) |
| 13:55:57 | <kuribas> | geekosaur's solution feels more idiomatic |
| 13:55:57 | → | cross joins (~cross@spitfire.i.gajendra.net) |
| 13:56:28 | <maerwald> | Haskell has subtyping? I guess that's why I constantly have to convert between internal and API data types |
| 13:56:52 | <kuribas> | in idris you could pass a constraint. |
| 13:57:18 | <dminuoso> | maerwald: https://simonmar.github.io/bib/papers/ext-exceptions.pdf for instance. |
| 13:57:43 | <kuribas> | IsJust (s `Elem` ['x', 'y', 'z'] === True) => s -> ... |
| 13:57:58 | <maerwald> | right... I should just pass my data through the exception system xD |
| 13:58:31 | × | odnes quits (~odnes@5-203-208-94.pat.nym.cosmote.net) (Read error: Connection reset by peer) |
| 13:58:47 | <kuribas> | you can simulate subtyping. |
| 13:58:48 | <dminuoso> | Im just saying you can get some subtyping behavior using `cast`. |
| 13:58:57 | <dminuoso> | Which is what the exception machinery is based on ultimately |
| 14:03:48 | × | jonathanx_ quits (~jonathan@dyn-5-sc.cdg.chalmers.se) (Ping timeout: 276 seconds) |
| 14:04:37 | × | Surobaki quits (~surobaki@137.44.222.80) (Ping timeout: 256 seconds) |
| 14:05:08 | → | jonathanx joins (~jonathan@94.234.115.58) |
| 14:06:30 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Ping timeout: 240 seconds) |
| 14:06:59 | → | ccntrq1 joins (~Thunderbi@dynamic-077-003-121-037.77.3.pool.telefonica.de) |
| 14:07:11 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 14:09:09 | × | ccntrq quits (~Thunderbi@dynamic-077-006-196-127.77.6.pool.telefonica.de) (Ping timeout: 256 seconds) |
| 14:09:09 | ccntrq1 | is now known as ccntrq |
| 14:09:45 | × | fweht quits (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 14:10:14 | × | dsrt^ quits (~dsrt@12.1.86.165) (Ping timeout: 255 seconds) |
| 14:14:23 | × | acidjnk_new3 quits (~acidjnk@dynamic-046-114-175-104.46.114.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 14:15:14 | → | troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 14:15:47 | × | jonathanx quits (~jonathan@94.234.115.58) (Ping timeout: 246 seconds) |
| 14:19:42 | → | neoatnebula joins (~neoatnebu@2409:4071:4e8a:6f9d:4507:b248:6603:16fb) |
| 14:21:21 | → | coot joins (~coot@213.134.190.95) |
| 14:27:35 | → | pleo joins (~pleo@user/pleo) |
| 14:28:02 | → | shriekingnoise joins (~shrieking@201.212.175.181) |
| 14:28:17 | → | Surobaki joins (~surobaki@137.44.222.80) |
| 14:30:29 | × | alp__ quits (~alp@user/alp) (Ping timeout: 255 seconds) |
| 14:30:36 | → | ccntrq1 joins (~Thunderbi@dynamic-077-003-121-037.77.3.pool.telefonica.de) |
| 14:32:14 | × | ccntrq quits (~Thunderbi@dynamic-077-003-121-037.77.3.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 14:32:14 | ccntrq1 | is now known as ccntrq |
| 14:32:39 | → | jgeerds joins (~jgeerds@55d45f48.access.ecotel.net) |
| 14:32:39 | → | nate4 joins (~nate@98.45.169.16) |
| 14:33:16 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:33:40 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:33:49 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:34:09 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:34:22 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:34:44 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:34:54 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:35:20 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:35:27 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:35:49 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:36:24 | → | nikkollo joins (~nikkollo@host-82-135-30-3.customer.m-online.net) |
| 14:36:39 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:36:56 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:36:57 | → | acidjnk_new3 joins (~acidjnk@dynamic-046-114-175-104.46.114.pool.telefonica.de) |
| 14:37:06 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:37:28 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:37:39 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:38:02 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:38:12 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:38:34 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:38:47 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:39:08 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:39:19 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:39:43 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:39:51 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:40:12 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:40:19 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 256 seconds) |
| 14:40:24 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:40:44 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:40:56 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:41:20 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:41:28 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:41:44 | → | acidjnk_new joins (~acidjnk@dynamic-046-114-169-114.46.114.pool.telefonica.de) |
| 14:41:44 | → | money joins (~Gambino@user/polo) |
| 14:41:51 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:42:01 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:42:25 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Read error: Connection reset by peer) |
| 14:42:34 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:42:56 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:43:05 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:43:27 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:43:38 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:43:42 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 14:44:00 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:44:16 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:44:34 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:44:45 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:44:50 | × | acidjnk_new3 quits (~acidjnk@dynamic-046-114-175-104.46.114.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 14:45:07 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:45:18 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:45:41 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:45:51 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:46:12 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:46:25 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:46:49 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:46:55 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:47:16 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:47:30 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:47:49 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:47:59 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:48:22 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:48:33 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:48:58 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:49:04 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:49:26 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:49:36 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:49:59 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:50:09 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:50:30 | × | ccntrq quits (~Thunderbi@dynamic-077-003-121-037.77.3.pool.telefonica.de) (Ping timeout: 240 seconds) |
| 14:50:30 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Read error: Connection reset by peer) |
| 14:50:42 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:50:43 | → | ccntrq joins (~Thunderbi@dynamic-077-001-095-237.77.1.pool.telefonica.de) |
| 14:51:05 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:51:14 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:51:35 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:51:46 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:52:07 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:52:19 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:52:24 | → | haskellapprenti joins (~haskellap@204.14.236.213) |
| 14:52:41 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:52:51 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:53:13 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:53:25 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:53:49 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:53:57 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:54:16 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:54:19 | <haskellapprenti> | hullo i have q - I'm trying to implement an any function, point free, using foldr. Heres what I have: myAny4 f = foldr (f . (||)) False. This is wrong, but what I want to do if apply f to two arguments, before apply the or operator (||) to two arguments. Is there a way I can convert a single argument function f to apply to two arguments? |
| 14:54:30 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:54:33 | <haskellapprenti> | myAny4 :: (a -> Bool) -> [a] -> Bool |
| 14:54:34 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.5) |
| 14:54:36 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 14:54:49 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:55:02 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:55:25 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:55:26 | <geekosaur> | maybe you want `((f .) . (||))`? |
| 14:55:36 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:55:58 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Remote host closed the connection) |
| 14:56:09 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:56:25 | <geekosaur> | otherwise I'm not quite sure how you would expect a single parameter function to work on two parameters |
| 14:56:28 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Read error: Connection reset by peer) |
| 14:56:37 | <geekosaur> | and in any case (||) produces one result, not two |
| 14:56:42 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:57:22 | <geekosaur> | hm, maybe you want `f` on the other side? ``` ((||) `on` f) ``` |
| 14:57:55 | × | nikkollo quits (~nikkollo@host-82-135-30-3.customer.m-online.net) (Quit: Client closed) |
| 14:57:56 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Client Quit) |
| 14:58:07 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 14:58:24 | × | acidjnk_new quits (~acidjnk@dynamic-046-114-169-114.46.114.pool.telefonica.de) (Ping timeout: 276 seconds) |
| 14:59:03 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 276 seconds) |
| 15:00:14 | <haskellapprenti> | ah i didn't know about the on function - that looks like what i want, i'll give that a try |
| 15:00:25 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 15:00:30 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 15:00:47 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 15:01:27 | → | Guest6869 joins (~Gambino@user/polo) |
| 15:02:14 | × | neoatnebula quits (~neoatnebu@2409:4071:4e8a:6f9d:4507:b248:6603:16fb) (Ping timeout: 252 seconds) |
| 15:02:20 | × | yauhsien quits (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 15:02:39 | × | winny quits (~weechat@user/winny) (Remote host closed the connection) |
| 15:03:06 | → | winny joins (~weechat@user/winny) |
| 15:03:33 | × | money quits (~Gambino@user/polo) (Ping timeout: 256 seconds) |
| 15:04:06 | → | yauhsien joins (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) |
| 15:08:10 | × | yauhsien quits (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 15:08:40 | × | pleo quits (~pleo@user/pleo) (Ping timeout: 248 seconds) |
| 15:10:41 | <haskellapprenti> | eh, that also doesn't work, getting the error |
| 15:10:42 | <haskellapprenti> | Expected type: a -> Bool -> Bool |
| 15:10:42 | <haskellapprenti> | Actual type: a -> a -> Bool |
| 15:10:54 | <haskellapprenti> | for myAny4 f = foldr ((||) `on` f) False |
| 15:14:07 | → | acidjnk joins (~acidjnk@dynamic-046-114-169-114.46.114.pool.telefonica.de) |
| 15:15:00 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:ab81:b7cb:626a:e218) (Quit: WeeChat 2.8) |
| 15:15:29 | → | money joins (~Gambino@user/polo) |
| 15:15:38 | × | Guest6869 quits (~Gambino@user/polo) (Ping timeout: 246 seconds) |
| 15:18:07 | <haskellapprenti> | full error: https://paste.tomsmeding.com/UVEL25ZK |
| 15:18:44 | <haskellapprenti> | I don't understand this part: |
| 15:18:44 | <haskellapprenti> | the type signature for: |
| 15:18:45 | <haskellapprenti> | myAny4 :: forall a. (a -> Bool) -> [a] -> Bool |
| 15:18:45 | <haskellapprenti> | at ___.hs:74:1-36 |
| 15:18:46 | <haskellapprenti> | Expected type: a -> Bool -> Bool |
| 15:18:46 | <haskellapprenti> | Actual type: a -> a -> Bool |
| 15:18:52 | <[exa]> | haskellapprenti: no need to paste here :] |
| 15:19:01 | <[exa]> | haskellapprenti: anyway it looks like your type signature is too generic |
| 15:19:18 | <[exa]> | you might be pushing it to think that it can work with any `a` while it in fact can't |
| 15:19:27 | <[exa]> | :t \f -> foldr ((||) `on` f) False |
| 15:19:29 | <lambdabot> | Foldable t => (Bool -> Bool) -> t Bool -> Bool |
| 15:20:43 | <haskellapprenti> | ah hm. but can't i make f a function that has type a -> Bool? |
| 15:21:00 | × | acidjnk quits (~acidjnk@dynamic-046-114-169-114.46.114.pool.telefonica.de) (Ping timeout: 244 seconds) |
| 15:21:01 | <haskellapprenti> | that's my desired behavior at least |
| 15:21:07 | × | merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 15:21:22 | <[exa]> | yeah that should work, but you must not apply it to _both_ arguments of the folding function |
| 15:21:22 | <haskellapprenti> | basically making my own implementation of any function, with fold, point free in the folding function |
| 15:21:25 | → | pleo joins (~pleo@user/pleo) |
| 15:21:39 | <[exa]> | because one of the arguments is already bool, and the typesystem needs a single type for the applied `f` |
| 15:22:05 | <haskellapprenti> | is it possible to just apply it to one? what would the syntax be for that? |
| 15:22:19 | <haskellapprenti> | within the foldr bit |
| 15:22:24 | <[exa]> | yeah, like, at worst you can write a lambda for that |
| 15:22:57 | <haskellapprenti> | With a lamdba, i'd imagine itd be (\x y -> f x (||) y) |
| 15:23:02 | <[exa]> | yap |
| 15:23:06 | → | acidjnk joins (~acidjnk@dynamic-046-114-169-114.46.114.pool.telefonica.de) |
| 15:23:16 | <[exa]> | which makes a nice pointfree conversion exercise :] |
| 15:23:19 | <haskellapprenti> | so is it impossible to make that fold function point free? |
| 15:23:24 | <haskellapprenti> | haha right |
| 15:23:39 | <[exa]> | all λ-functions are convertible to pointfree form |
| 15:24:13 | <haskellapprenti> | blerg lol |
| 15:24:24 | <[exa]> | like, if you imagine it as `\x y -> (||) (f x) y`, you can start removing parameters right? |
| 15:24:39 | <haskellapprenti> | hmm |
| 15:25:04 | <[exa]> | (Proof: all λ functions have SKI calculus form -> just build them from SKI which is pointfree for free) |
| 15:25:52 | <[exa]> | (practical value of that theorem is....theoretical though.) |
| 15:26:18 | <zzz> | \x -> (||) (f x) |
| 15:26:23 | <haskellapprenti> | shmeh Im unfamiliar with SKI calculus - any good references for me to get started there? |
| 15:26:32 | <haskellapprenti> | zzz: yeah I was thinking that |
| 15:26:39 | <zzz> | (||) . f |
| 15:26:50 | <[exa]> | haskellapprenti: you don't need to honestly, but wiki will have something I guess |
| 15:27:02 | <[exa]> | ok there we go |
| 15:27:14 | <haskellapprenti> | zzz: AHHH NICE |
| 15:27:38 | <zzz> | just a little push ;) |
| 15:27:46 | <[exa]> | @pl \x y -> f x || y -- spoiler |
| 15:27:47 | <lambdabot> | (||) . f |
| 15:28:29 | <haskellapprenti> | [exa]: lol that is a nice thing to know about |
| 15:28:32 | → | lyle joins (~lyle@104.246.145.85) |
| 15:31:25 | × | califax quits (~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in) |
| 15:31:40 | → | califax joins (~califax@user/califx) |
| 15:32:39 | → | liz_ joins (~liz@cpc84585-newc17-2-0-cust60.16-2.cable.virginm.net) |
| 15:33:46 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 15:35:21 | × | acidjnk quits (~acidjnk@dynamic-046-114-169-114.46.114.pool.telefonica.de) (Ping timeout: 248 seconds) |
| 15:35:46 | ← | moonsheep parts (~user@user/moonsheep) (ERC 5.4 (IRC client for GNU Emacs 28.1)) |
| 15:37:05 | × | echoone quits (~echoone@188.74.37.12) (Quit: Client closed) |
| 15:37:09 | × | money quits (~Gambino@user/polo) (Read error: Connection reset by peer) |
| 15:37:34 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 15:38:21 | → | money joins (~Gambino@user/polo) |
| 15:38:53 | → | yauhsien joins (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) |
| 15:40:10 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Ping timeout: 240 seconds) |
| 15:41:05 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 15:41:24 | → | acidjnk joins (~acidjnk@dynamic-046-114-169-114.46.114.pool.telefonica.de) |
| 15:41:28 | × | haskellapprenti quits (~haskellap@204.14.236.213) (Quit: Client closed) |
| 15:42:14 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 15:45:40 | → | suro joins (~surobaki@137.44.222.80) |
| 15:45:44 | × | Surobaki quits (~surobaki@137.44.222.80) (Ping timeout: 246 seconds) |
| 15:46:15 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.5) |
| 15:47:11 | → | merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
| 15:47:11 | × | yauhsien quits (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 15:47:57 | → | acidjnk_new joins (~acidjnk@dynamic-046-114-169-114.46.114.pool.telefonica.de) |
| 15:49:44 | × | CiaoSen quits (~Jura@p200300c95735ef002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 15:50:35 | × | acidjnk quits (~acidjnk@dynamic-046-114-169-114.46.114.pool.telefonica.de) (Ping timeout: 256 seconds) |
| 15:57:20 | → | segfaultfizzbuzz joins (~segfaultf@192-184-223-90.static.sonic.net) |
| 15:58:50 | <segfaultfizzbuzz> | when i write code in "a language" or in a particular manner, what fundamentally limits the ability of the compiler to efficiently translate that code into an efficient/the most efficient possible machine code? |
| 15:59:00 | <segfaultfizzbuzz> | is it like a graph equivalence problem or something? |
| 15:59:02 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
| 16:00:18 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 16:02:29 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Ping timeout: 256 seconds) |
| 16:02:48 | → | ccntrq1 joins (~Thunderbi@dynamic-077-001-095-237.77.1.pool.telefonica.de) |
| 16:04:56 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:9:59a4:5055:fd8c) |
| 16:04:59 | × | ccntrq quits (~Thunderbi@dynamic-077-001-095-237.77.1.pool.telefonica.de) (Ping timeout: 255 seconds) |
| 16:04:59 | ccntrq1 | is now known as ccntrq |
| 16:05:52 | → | arthurs115 joins (~arthurs11@163.5.10.193) |
| 16:08:58 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:9:59a4:5055:fd8c) (Ping timeout: 240 seconds) |
| 16:09:37 | → | ccntrq1 joins (~Thunderbi@dynamic-077-001-095-237.77.1.pool.telefonica.de) |
| 16:09:49 | × | money quits (~Gambino@user/polo) (Quit: money) |
| 16:09:57 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 16:09:57 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 16:09:57 | finn_elija | is now known as FinnElija |
| 16:11:31 | × | ccntrq1 quits (~Thunderbi@dynamic-077-001-095-237.77.1.pool.telefonica.de) (Remote host closed the connection) |
| 16:11:38 | × | ccntrq quits (~Thunderbi@dynamic-077-001-095-237.77.1.pool.telefonica.de) (Ping timeout: 240 seconds) |
| 16:13:31 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 16:13:55 | → | jafarlihi joins (~user@188.253.237.13) |
| 16:14:51 | → | money joins (~Gambino@user/polo) |
| 16:15:08 | × | MajorBiscuit quits (~MajorBisc@c-001-003-023.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.5) |
| 16:15:10 | × | jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 240 seconds) |
| 16:15:17 | × | arthurs115 quits (~arthurs11@163.5.10.193) (Ping timeout: 268 seconds) |
| 16:15:38 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 16:16:10 | → | arthurs115 joins (~arthurs11@163.5.10.198) |
| 16:17:08 | → | coot joins (~coot@213.134.190.95) |
| 16:19:18 | × | jafarlihi quits (~user@188.253.237.13) (Ping timeout: 264 seconds) |
| 16:19:32 | <kuribas> | segfaultfizzbuzz: the most efficient possible machine code is a very hard problem. |
| 16:19:43 | <kuribas> | usually compilers generate "good enough" code. |
| 16:19:49 | <maerwald> | jackdk: the only way I found to make it work is this: https://github.com/TerrorJack/template-haskell-jailbreak |
| 16:20:32 | <segfaultfizzbuzz> | well okay, but what are these compilers doing which is so difficult |
| 16:20:41 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 16:20:44 | <kuribas> | segfaultfizzbuzz: and efficiency is usually more a function of the right algorihms, a good architecture, than the correct order of instructions. |
| 16:20:50 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 16:21:05 | <segfaultfizzbuzz> | like if i think about chess i understand that humans were good at hallucinating likely future scenarios |
| 16:21:08 | <kuribas> | a lot of stuff :) |
| 16:21:21 | <segfaultfizzbuzz> | but i feel blind when i think about what humans are doing when they code |
| 16:21:31 | <kuribas> | in the case of functional language, there is first a step to remove the functional abstractions. |
| 16:21:47 | × | pleo quits (~pleo@user/pleo) (Ping timeout: 260 seconds) |
| 16:22:01 | <kuribas> | When that is done it is converted to a model that the compiler can execute. |
| 16:22:26 | <kuribas> | for ghc it's the STG. |
| 16:22:44 | <kuribas> | https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/compiler/generated-code |
| 16:23:08 | → | pleo joins (~pleo@user/pleo) |
| 16:23:16 | <segfaultfizzbuzz> | right... |
| 16:23:26 | <darkling> | At the lowest level, there's also a load of combinatorial problem solving. Stuff like register allocation, for example -- which registers should be assigned to which variables within a code block, and for how long? |
| 16:23:29 | <kuribas> | segfaultfizzbuzz: I don't think good chess players halucinate the future. I think they are just great at remembering patterns, which work, and which don't. |
| 16:23:31 | → | _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl) |
| 16:23:53 | × | acidjnk_new quits (~acidjnk@dynamic-046-114-169-114.46.114.pool.telefonica.de) (Ping timeout: 248 seconds) |
| 16:24:21 | <segfaultfizzbuzz> | kuribas: okay, sure maybe humans are just a great LUT when it comes to chess |
| 16:24:32 | × | money quits (~Gambino@user/polo) (Quit: money) |
| 16:24:35 | <segfaultfizzbuzz> | but i still don't have a sense of what programming is |
| 16:24:37 | <kuribas> | yeah, and the optimal machine code is probably NP complete or so |
| 16:24:49 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 16:25:12 | <segfaultfizzbuzz> | right but humans dont have magical powers which allow us to solve NP complete problems better than computers... we might just know some heuristics that programmers can't yet construct |
| 16:26:23 | <darkling> | Very few people actually care about how a construct in any given language goes down to execution at the transistor level. |
| 16:26:34 | <darkling> | (Or, indeed, to any level below the language itself) |
| 16:26:39 | <kuribas> | computers are pretty good at generating low level code. |
| 16:26:57 | <darkling> | So programming is manipulating the language you're working in to do what you want it to. |
| 16:27:11 | <kuribas> | Though compiling function code to efficient machine code is still an active research htopic. |
| 16:27:28 | <kuribas> | supercompilation can give amazing results, but can also explode the compile time. |
| 16:27:36 | → | Vajb joins (~Vajb@2001:999:40:4c50:1b24:879c:6df3:1d06) |
| 16:27:40 | <segfaultfizzbuzz> | another thing a compiler could do is make the code parallel or asynchronous,... |
| 16:27:55 | <darkling> | Again, that's *really hard*. |
| 16:28:01 | <segfaultfizzbuzz> | but i think despite many marketing claims automatic approaches still don't work for that except for the most trivial situations |
| 16:28:01 | × | Vajb quits (~Vajb@2001:999:40:4c50:1b24:879c:6df3:1d06) (Read error: Connection reset by peer) |
| 16:28:10 | <darkling> | Some cases it's obvious, but the general case? Forget it. |
| 16:28:10 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 16:28:13 | <segfaultfizzbuzz> | go (the board game) was once *really* hard |
| 16:28:34 | → | acidjnk_new joins (~acidjnk@dynamic-046-114-169-114.46.114.pool.telefonica.de) |
| 16:28:36 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 16:28:47 | <segfaultfizzbuzz> | yeah it's okay if the first galaxy brain compilers require a supercomputer to operate |
| 16:28:52 | <kuribas> | yes, modern compilers to try to exploit paralellism in modern CPUs. |
| 16:28:57 | <geekosaur> | it's "solved" but I think AI still uses mostly brute force, whereas the best human players somehow manipulate board configurations as gestalts |
| 16:29:06 | <kuribas> | Which can often depend on how you write a calculation. |
| 16:29:13 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 16:29:34 | <darkling> | The novel AI-derived strategies in Go have been studied and adopted by the top players, I believe. |
| 16:29:34 | <kuribas> | geekosaur: deep learning isn't brute force, is it? |
| 16:29:52 | <geekosaur> | it can be, it's pattern matching at its root |
| 16:30:05 | <geekosaur> | it's just especially good at catching patterns humans miss |
| 16:30:28 | <darkling> | Unfortunately, it's also exceptionally good at catching patterns that humans dismiss as unimportant. |
| 16:30:41 | <geekosaur> | we';re still not certain what the best human players do bit it seems to be more thanjust pattern matching |
| 16:30:54 | → | jafarlihi joins (~user@188.253.225.30) |
| 16:31:48 | <kuribas> | segfaultfizzbuzz: besides, some humans may "think" they are good at writing assembly, but are probably beaten by a compiler. |
| 16:32:05 | <segfaultfizzbuzz> | i mean either you have heuristics which are pattern recognition/statistical, or you can calculate stuff really quickly and evaluate all of the logically possible situations |
| 16:33:12 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:9:59a4:5055:fd8c) |
| 16:33:42 | × | arthurs115 quits (~arthurs11@163.5.10.198) (Remote host closed the connection) |
| 16:33:56 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 16:34:29 | <darkling> | There's a load of combinatorial optimisation techniques in there too, which tend to fall in the middle (GAs, simulated annealing), plus some things that are effectively full enumeration but with *really* strong discard rules (like MILP solvers) |
| 16:34:47 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 16:35:25 | <darkling> | Those don't tend to get used in compilers, though, because they're slow and the hard problems in compilers are (I suspect) much smaller and more tractable to a good enough solution. |
| 16:35:54 | <darkling> | In that area, though, humans are in general disturbingly good at solving problems compared to the state of the art. |
| 16:35:54 | <segfaultfizzbuzz> | there seems to be a supposition that a compiler must run on a workstation PC |
| 16:36:11 | <segfaultfizzbuzz> | but i haven't seen projects which think of a compiler as more of a supercomputer-scale project |
| 16:36:44 | <darkling> | If your compiler needs hours on a supercomputer to run, for the purposes of saving a few nanoseconds per cycle, it's not worth running it. |
| 16:36:52 | × | suro quits (~surobaki@137.44.222.80) (Read error: Connection reset by peer) |
| 16:37:22 | <darkling> | People *do* change compilers for performance -- you'll find that Intel-based HPC systems tend to use the Intel compilers, because they generate much faster code than, say, gcc. |
| 16:37:24 | <segfaultfizzbuzz> | i think computers can handily out-process humans at serial logical tasks (like evaluating all possible tetris moves for the next piece) and so our only advantage is in parallelism and heuristics |
| 16:38:30 | <int-e> | darkling: Well, it might be, depending on how often you run it. I wonder whether any big tech company engages in some sort of continuous compilation, where you'd allocate, say, 1% or so of your computing resources to profiling and optimizing hotspots... |
| 16:38:56 | <int-e> | "it" being the worth of nanoseconds savings |
| 16:39:14 | <segfaultfizzbuzz> | my attention isn't really on this hyper-optimization stuff |
| 16:39:45 | <darkling> | int-e: They probably spend quite a bit more than that, if you include things like optimising JIT VMs. |
| 16:40:25 | <segfaultfizzbuzz> | i think the main reason (?? with maybe a small number of exceptions??) people choose "lower-level" languages like C is that the compiler can't transform the code to something efficient or that the programmer needs to "control" something like memory allocation |
| 16:40:50 | <int-e> | segfaultfizzbuzz: heuristics... we can be both flixible (creative) and narrow in the search space in ways a traditional compiler can't. |
| 16:40:58 | <segfaultfizzbuzz> | and yeah maybe you need a fixed layout for some device you are connecting to but if we ignore that or require that to simply be some kind of annotation |
| 16:41:05 | <int-e> | darkling: that's a bit sad though because the effort often isn't reused. |
| 16:41:08 | <geekosaur[m]> | Iirc even just managing registers is still an open topic |
| 16:41:17 | <segfaultfizzbuzz> | managing registers? |
| 16:41:46 | <int-e> | register allocation, renaming, spilling |
| 16:41:48 | <Bulby[m]> | your name is very ontopic 😁 |
| 16:41:53 | <darkling> | What I mentioned above -- which variables do you assign to which registers? |
| 16:42:24 | × | liz_ quits (~liz@cpc84585-newc17-2-0-cust60.16-2.cable.virginm.net) (Ping timeout: 276 seconds) |
| 16:42:28 | <segfaultfizzbuzz> | conjecture: if a problem is still an open research problem, then with high likelihood it can only be solved heuristically (e.g. statistical methods, ai, blah blah) |
| 16:43:45 | <darkling> | There are some things that aren't ever likely to be solvable other than heuristically, open research problems or not. All you can do is shave fractions of time off, or add fractions of accuracy on (or trade off those two in interesting ways) |
| 16:44:32 | <darkling> | (At least, barring completely new computing paradigms like quantum, or massive and unlikely theoretical breakthroughs, like P=NP) |
| 16:44:57 | <segfaultfizzbuzz> | there was an acm paper saying that half of algorithms hadn't budged in their speed in decades |
| 16:45:11 | <darkling> | Right. |
| 16:45:18 | <segfaultfizzbuzz> | so either computer scientists have become lazy/aren't incentivized to make faster algos, or we have hit a mathematical limit for these things |
| 16:45:36 | <segfaultfizzbuzz> | quantum won't work |
| 16:45:58 | <segfaultfizzbuzz> | serial computations are as fast as they will ever be and are already vastly superior to human serial computation |
| 16:46:03 | <darkling> | Depends on what you want to do. |
| 16:46:07 | <segfaultfizzbuzz> | so all there is is parallel scale-out and heuristic computation |
| 16:46:13 | × | jafarlihi quits (~user@188.253.225.30) (Quit: WeeChat 3.5) |
| 16:46:56 | <darkling> | The D-wave systems do a really efficient simulated annealing process, for example. Pretty specialised, but use quantum effects to achieve good results faster than you can do usefully on a non-quantum machine. |
| 16:47:41 | <segfaultfizzbuzz> | you are reminding me that there are some public quantum companies and that i can short them |
| 16:50:23 | <segfaultfizzbuzz> | if you have a favorite quantum superiority result please feel free to show |
| 16:51:36 | × | mbuf quits (~Shakthi@122.174.192.200) (Quit: Leaving) |
| 16:51:44 | → | kimjetwav joins (~user@2607:fea8:2340:da00:50f3:52db:d9f1:f387) |
| 16:52:28 | GNU\Andrew | is now known as Andrew |
| 16:55:42 | dashkal1 | is now known as Dashkal |
| 16:57:09 | → | jgeerds joins (~jgeerds@55d45f48.access.ecotel.net) |
| 16:57:24 | <leah2> | i used to believe this too but then i saw ibm's timeline |
| 16:59:11 | → | BusConscious joins (~martin@ip5f5bdedc.dynamic.kabel-deutschland.de) |
| 16:59:38 | × | pleo quits (~pleo@user/pleo) (Ping timeout: 240 seconds) |
| 17:01:21 | <BusConscious> | hello everyone how can I create a stack project in a existing directory? |
| 17:01:43 | <BusConscious> | Directory ~/Project/hssh/ already exists. Aborting. |
| 17:02:02 | <BusConscious> | (I already have mit git setup in that directory) |
| 17:03:39 | <sm> | what command are you running ? |
| 17:03:49 | <BusConscious> | stack new hssh |
| 17:04:00 | → | natechan joins (~nate@98.45.169.16) |
| 17:04:00 | <BusConscious> | in Project |
| 17:04:04 | × | causal quits (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e) (Quit: WeeChat 3.5) |
| 17:04:16 | <sm> | anything useful in stack new --help ? |
| 17:05:09 | <BusConscious> | maybe --force? |
| 17:05:26 | <sm> | what directory are you running it in ? |
| 17:05:37 | <BusConscious> | in Project |
| 17:06:04 | → | k8yun joins (~k8yun@user/k8yun) |
| 17:06:05 | <sm> | hssh is an existing cabal project that you want to add a stack.yaml to, maybe ? |
| 17:06:43 | <BusConscious> | no it's just a git repo with no stack or cabal but some haskell sources, that I have built without build-system so far. |
| 17:06:51 | <BusConscious> | It's my project directory |
| 17:07:26 | <BusConscious> | and now I want a proper build system to manage dependencies, but what I don't want is a new git repository |
| 17:07:47 | <sm> | hmm.. maybe cd hssh; stack new --bare hssh |
| 17:08:19 | <sm> | or, to avoid risk, move your hssh out of the way until you have created the stack project |
| 17:09:11 | <kuribas> | Are there companies which are willing to pay for libraries? |
| 17:09:28 | <kuribas> | Like in general libraries, for database, graphql, etc... |
| 17:09:32 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 17:09:58 | <kuribas> | I much would prefer spending my time on that, than having to deal with poorly documented codebases, weird APIs. |
| 17:10:51 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 17:11:10 | <kuribas> | Or at least, being able to improve on codebases, help guide people to cleaner, better documented code, etc... |
| 17:11:30 | <kuribas> | Not just, here is the code, we need this feature out as fast as possible. |
| 17:11:40 | <kuribas> | And there is no documentation, the code is the documentation! |
| 17:12:06 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 17:12:13 | <geekosaur> | I feel like you're in the realm of consultancies |
| 17:13:23 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:9:59a4:5055:fd8c) (Remote host closed the connection) |
| 17:13:38 | <kuribas> | like well-typed? |
| 17:13:52 | <geekosaur> | there are also othersm but yes |
| 17:14:06 | <sm> | you could certainly find some bounty / short-term gigs for that kind of work I think |
| 17:14:07 | <geekosaur> | (tweag.io is another for example) |
| 17:14:09 | <segfaultfizzbuzz> | kuribas: software is competitive enough that you are probably best off publishing an open source library, asking for donations, and then charging for customization or other tailoring |
| 17:14:23 | <sm> | working on the libs they need, not the ones you want to work on, obviously |
| 17:14:30 | × | jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 264 seconds) |
| 17:14:38 | <segfaultfizzbuzz> | kuribas: think of redhat, for example |
| 17:14:48 | <BusConscious> | what value shall I put in category and copyright in stack? |
| 17:14:54 | <BusConscious> | I use Apache 2.0 |
| 17:15:21 | <sm> | https://www.gnu.org/licenses/license-list.en.html |
| 17:16:08 | <BusConscious> | so apache2 ok and what about category? |
| 17:16:24 | sm | concentrates really hard |
| 17:17:38 | <geekosaur> | https://hackage.haskell.org/packages/ starts with a list of existing categories. you can see it's a bit of a free-for-all |
| 17:18:12 | <sm> | sorry, can't guess :) we don't know what you're doing |
| 17:18:49 | <geekosaur> | there's even a "Shell" category, with another shell in it even |
| 17:18:57 | <geekosaur> | @hackage hell |
| 17:18:57 | <lambdabot> | https://hackage.haskell.org/package/hell |
| 17:22:01 | × | leeb quits (~leeb@KD106155003075.au-net.ne.jp) (Ping timeout: 248 seconds) |
| 17:22:11 | <BusConscious> | geekosaur: Thanks seems interesting |
| 17:26:29 | × | kimjetwav quits (~user@2607:fea8:2340:da00:50f3:52db:d9f1:f387) (Remote host closed the connection) |
| 17:26:50 | × | winny quits (~weechat@user/winny) (Ping timeout: 268 seconds) |
| 17:27:40 | heath1 | is now known as heath |
| 17:28:31 | × | heath quits (~heath@user/heath) (Quit: WeeChat 1.7) |
| 17:28:34 | → | econo joins (uid147250@user/econo) |
| 17:29:05 | → | heath joins (~heath@user/heath) |
| 17:30:55 | → | money joins (~Gambino@user/polo) |
| 17:32:29 | → | winny joins (~weechat@user/winny) |
| 17:39:13 | → | dyeplexer joins (~dyeplexer@user/dyeplexer) |
| 17:42:05 | × | segfaultfizzbuzz quits (~segfaultf@192-184-223-90.static.sonic.net) (Quit: segfaultfizzbuzz) |
| 17:42:22 | → | Ranhir joins (~Ranhir@157.97.53.139) |
| 17:44:39 | → | alp__ joins (~alp@user/alp) |
| 17:47:15 | <sm> | by the way, do you know https://hackage.haskell.org/package/hssh exists ? |
| 17:48:29 | × | money quits (~Gambino@user/polo) (Quit: money) |
| 17:48:58 | <monochrom> | Interesting |
| 17:49:52 | → | pleo joins (~pleo@user/pleo) |
| 17:50:40 | <monochrom> | The sight of "receiveUnsafe" is not very encouraging though >:) |
| 17:51:53 | <EvanR> | the other end is saying, oh you'll receive alright |
| 17:52:00 | <monochrom> | (OK, we know it just means a function from System.Socket.Unsafe which can be OK if used carefully.) |
| 17:54:37 | → | mikoto-chan joins (~mikoto-ch@esm-84-240-99-143.netplaza.fi) |
| 17:55:53 | → | money joins (~Gambino@user/polo) |
| 17:58:57 | × | kmein quits (~weechat@user/kmein) (Quit: ciao kakao) |
| 18:00:33 | → | kmein joins (~weechat@user/kmein) |
| 18:06:02 | × | kuribas quits (~user@ptr-17d51emvqovheexfwgk.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 18:06:12 | → | jgeerds joins (~jgeerds@55d45f48.access.ecotel.net) |
| 18:07:16 | × | eod|fserucas_ quits (~eod|fseru@193.65.114.89.rev.vodafone.pt) (Quit: Leaving) |
| 18:07:16 | × | eod|fserucas__ quits (~eod|fseru@193.65.114.89.rev.vodafone.pt) (Quit: Leaving) |
| 18:09:13 | × | dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection) |
| 18:09:22 | × | bliminse quits (~bliminse@host86-164-164-134.range86-164.btcentralplus.com) (Quit: leaving) |
| 18:10:55 | × | money quits (~Gambino@user/polo) (Quit: money) |
| 18:12:27 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:9:59a4:5055:fd8c) |
| 18:12:37 | × | pleo quits (~pleo@user/pleo) (Quit: quit) |
| 18:14:45 | × | raym quits (~raym@user/raym) (Remote host closed the connection) |
| 18:15:10 | × | machinedgod quits (~machinedg@66.244.246.252) (Ping timeout: 240 seconds) |
| 18:15:41 | → | money joins (~Gambino@user/polo) |
| 18:21:38 | × | money quits (~Gambino@user/polo) (Ping timeout: 240 seconds) |
| 18:24:25 | <BusConscious> | geekosaur took a look at hell. Interesting but the goal there seems to be to be explicitly not POSIX and instead go for a more functional syntax, while I stick 100% with good ole POSIX. |
| 18:24:39 | <BusConscious> | But reading the code made me realize that I should change to ByteString |
| 18:24:56 | <geekosaur> | sure, I was just mentioning there was another shell already |
| 18:25:01 | × | kmein quits (~weechat@user/kmein) (Quit: ciao kakao) |
| 18:25:23 | <geekosaur> | and yes, especially if you're going for POSIX you should probably stick to ByteString or ShortByteString |
| 18:25:40 | <geekosaur> | the latter might be preferable because it causes less fragmentation |
| 18:26:36 | <BusConscious> | Is ByteString by default strict? |
| 18:26:45 | <geekosaur> | no, but it is pinned |
| 18:27:02 | <zzz> | pinned? |
| 18:27:08 | <geekosaur> | meaning garbage collection has to work around it rather than moving it with everything else |
| 18:27:35 | <geekosaur> | (pinned memory is typically used with FFI, since it can't be moved by GC during a long FFI operation) |
| 18:27:43 | → | money joins (~Gambino@user/polo) |
| 18:30:37 | <geekosaur> | hm, there are ByteString versions of the POSIX functions but not ShortByteString versions (yet?), so you may want ByteString anyway |
| 18:30:49 | <EvanR> | (strict) ByteString is strict in the sense that if you evaluate any part of it, you necessarily evaluate all the bytes. If any one explodes, you explode even if you didn't look at that one |
| 18:31:18 | <geekosaur> | and a lazy ByteString is a lazy list of strict ByteStrings |
| 18:31:47 | <geekosaur> | they're kinda necessarily strict at some point |
| 18:35:15 | × | money quits (~Gambino@user/polo) (Quit: money) |
| 18:35:48 | → | money joins (~Gambino@user/polo) |
| 18:36:51 | → | nate4 joins (~nate@98.45.169.16) |
| 18:37:30 | <BusConscious> | why does stack not create the corerect LICENSE file? |
| 18:37:51 | <BusConscious> | and not the one of apache2 |
| 18:39:26 | <BusConscious> | It creates a BSD three clause |
| 18:39:42 | → | raym joins (~raym@user/raym) |
| 18:42:51 | <yushyin> | bug? |
| 18:43:27 | <BusConscious> | I use the option -p "category:apache2" |
| 18:43:47 | <BusConscious> | yushyin: either that or a legal issue |
| 18:44:38 | <[exa]> | doesn't category:apache2 refer to the webserver? |
| 18:44:47 | <BusConscious> | oops |
| 18:44:55 | <[exa]> | (completely blind guess tho) |
| 18:45:08 | <BusConscious> | I umean-p "copyright:apache2" |
| 18:45:14 | <BusConscious> | of course |
| 18:45:17 | × | money quits (~Gambino@user/polo) (Ping timeout: 246 seconds) |
| 18:46:18 | → | money joins (~Gambino@user/polo) |
| 18:47:17 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 18:47:43 | → | kmein joins (~weechat@user/kmein) |
| 18:47:50 | <geekosaur> | https://www.reddit.com/r/haskellquestions/comments/a5abtz/how_do_you_set_the_license_type_in_a_new_stack/ claims the templates only support bsd3 |
| 18:48:42 | <geekosaur> | you would have to make a new template including the apache2 license file; the -p entry only sets the license in the cabal file/package.yaml, I guess |
| 18:48:56 | × | kmein quits (~weechat@user/kmein) (Client Quit) |
| 18:49:15 | → | kmein joins (~weechat@user/kmein) |
| 18:51:20 | → | bliminse joins (~bliminse@host86-164-164-134.range86-164.btcentralplus.com) |
| 18:53:05 | → | pleo joins (~pleo@user/pleo) |
| 18:54:46 | <BusConscious> | https://stackoverflow.com/questions/59421810/how-to-create-project-template-in-stack |
| 18:54:53 | × | Teacup quits (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.) |
| 18:54:54 | <BusConscious> | would you do it somehow like that? |
| 18:55:16 | × | money quits (~Gambino@user/polo) (Quit: money) |
| 18:55:58 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 18:56:19 | → | Teacup joins (~teacup@user/teacup) |
| 18:57:39 | <geekosaur> | like that, yes. I can't give details because I don't use stack |
| 18:58:34 | <BusConscious> | geekosaur: What do you use instead? cabal? |
| 18:59:08 | <geekosaur> | yes |
| 18:59:09 | <yushyin> | ghcup+cabal |
| 18:59:17 | <geekosaur> | you'lll find many of the people in here do |
| 18:59:22 | → | vysn joins (~vysn@user/vysn) |
| 18:59:31 | <geekosaur> | cabal had issues… 10 years ago |
| 18:59:39 | → | money joins (~Gambino@user/polo) |
| 18:59:42 | <geekosaur> | it's not 10 years ago any more |
| 19:00:16 | <geekosaur> | meanwhile there's some question as to how maintained stack is |
| 19:00:22 | <yushyin> | still has _some_ issues ofc ;) |
| 19:00:44 | <maerwald> | geekosaur: it is maintained |
| 19:01:40 | <BusConscious> | To the extent that I've had to do with either of them it has been a terrible experience and I've not had much to do with it |
| 19:02:12 | <geekosaur> | I didn't say it wasn't maintained, I said there's some question as to *how* maintained it is |
| 19:02:41 | <maerwald> | https://github.com/commercialhaskell/stack/commits?author=mpilgrem |
| 19:02:50 | <maerwald> | is basically the new maintainer |
| 19:03:15 | <BusConscious> | I really like haskell so far, but the package managers have been by far the biggest annoyance to me. |
| 19:08:58 | <BusConscious> | Copying the right LICENSE into your new project or at least not overwriting the correct one, should be the most basic thing right? And it can't even do that. |
| 19:09:28 | → | liz_ joins (~liz@cpc84585-newc17-2-0-cust60.16-2.cable.virginm.net) |
| 19:09:50 | × | money quits (~Gambino@user/polo) (Read error: Connection reset by peer) |
| 19:11:31 | <maerwald> | well, usability and ergonomics are hard |
| 19:11:56 | <maerwald> | and programmers are obsessed with technicalities and features usually |
| 19:12:30 | <[exa]> | BusConscious: stack is IMO a bit opinionated towards industry, there are people who like it like that |
| 19:12:38 | × | mikoto-chan quits (~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Ping timeout: 240 seconds) |
| 19:13:00 | <[exa]> | are there any reasons to recommend stack to beginners/newcomers nowadays? |
| 19:13:15 | <maerwald> | [exa]: better cli interface |
| 19:13:19 | <maerwald> | but not much else |
| 19:14:10 | <maerwald> | there are more moving pieces than in cabal |
| 19:14:42 | <[exa]> | like, I don't want to sound negative or anything but at all attempts I tried to do something with stack in the last ~3 years I failed and wasn't able to find explanations |
| 19:15:04 | <maerwald> | that's why I usually think that stack is actually more interesting for (some) power users |
| 19:15:10 | → | rkk joins (~rkk@2601:547:b00:39bc:f8e9:8867:3298:9864) |
| 19:15:28 | liz_ | is now known as liz |
| 19:15:32 | <maerwald> | but then again... why would you opt into a tool that doesn't have a constraint solver |
| 19:15:32 | <BusConscious> | funny I know someone who works with haskell professionally and swears by stack |
| 19:15:54 | <EvanR> | stockholm syndrome? xD |
| 19:16:00 | <BusConscious> | and that I should use it because it would be much better than cabal |
| 19:16:19 | <maerwald> | stack removed half of cabals features and started over... so yeah, some parts are a bit more sane (like `stack install`) |
| 19:16:34 | <maerwald> | but then you get only half of the things |
| 19:17:09 | <[exa]> | BusConscious: yeah I know several such cases, but IMO it requires expecience or adherence to a model I don't understand |
| 19:17:34 | <[exa]> | BusConscious: so I failed and now I'm happy with the defaultest cabal |
| 19:17:49 | <[exa]> | not feeling any lost value or anything :D |
| 19:18:01 | <BusConscious> | To stacks credit: I'm the person whose xmobar failed with a parse error because of alsamixer, when installed using cabal. stack somehow got the dependencies right there |
| 19:18:32 | <BusConscious> | On the other hand stack failed miserably to install Data.Stack from hackage. It said it was installed, but just wasn't. |
| 19:18:37 | <maerwald> | BusConscious: you mean the package had incorrect dependencies and *happened* to work with a specific stackage version? |
| 19:18:40 | <BusConscious> | Awful all around |
| 19:18:40 | <[exa]> | wow |
| 19:18:42 | <maerwald> | That's an error by the developer |
| 19:19:29 | <BusConscious> | maerwald apparently that's what happened I guess |
| 19:21:08 | <maerwald> | so imo, both cabal and stack have their warts... the question today is: which one can we fix? |
| 19:21:16 | <maerwald> | And the answer is: cabal only |
| 19:21:46 | <BusConscious> | ok next try: cabal. Wish me luck |
| 19:22:41 | <[exa]> | BusConscious: ghcup or manually? |
| 19:22:46 | <[exa]> | (ghcup very recommended) |
| 19:24:22 | <monochrom> | Please use ghcup. Please do not turn it into an XY problem plus chicken-egg and ask "how do I compile cabal from source, how do I compile ghc from source". (Answer: No.) |
| 19:24:35 | × | raym quits (~raym@user/raym) (Quit: leaving) |
| 19:28:05 | <BusConscious> | ok looking into right now |
| 19:28:56 | <maerwald> | BusConscious: cabal pre-release can import a stackage resolver btw |
| 19:29:21 | <maerwald> | https://cabal.readthedocs.io/en/latest/cabal-project.html?highlight=import#conditionals-and-imports |
| 19:29:22 | → | raym joins (~raym@user/raym) |
| 19:29:37 | <jneira[m]> | <maerwald> "https://github.com/commercialhas..." <- wow, prs with no reviews nor approvals, merged with red ci one minute after opening them, why does not he push directly to master? |
| 19:29:44 | <maerwald> | you'd say in your cabal.project: `import: https://www.stackage.org/lts-18.26/cabal.config` |
| 19:29:55 | <maerwald> | jneira[m]: :D |
| 19:31:02 | <jneira[m]> | :-P |
| 19:33:42 | × | danso quits (~danso@danso.ca) (Quit: ZNC - https://znc.in) |
| 19:35:11 | → | danso joins (~danso@danso.ca) |
| 19:36:15 | <sm> | great to see the stack prs being merged |
| 19:36:45 | <maerwald> | sm: some of them |
| 19:36:59 | <sm> | BusConscious: some of us love stack, you should simply try both and see which is best for you |
| 19:37:02 | <maerwald> | but at this point... contributing is no fun |
| 19:37:43 | → | littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 19:44:21 | × | littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 268 seconds) |
| 19:44:48 | <BusConscious> | sm: I tried stack first but overwriting my LICENSE is kind of a no no for me personally |
| 19:45:05 | <BusConscious> | well it worked using cabal |
| 19:45:36 | <BusConscious> | thank you for restoring my sanity |
| 19:45:59 | <BusConscious> | I also installed ghcup beforehand, but I'm not sure what that did |
| 19:46:16 | <sm> | i hear you.. for me that'd be insignificant compared to all the other things I need from a package manager/build tool |
| 19:48:24 | <BusConscious> | I just used cabal init --interactive and then edited the defaults in kell.cabal . Very accessible. Didn't even have to lookup the online documentation to see how it works. |
| 19:48:40 | <maerwald> | yes, less moving parts |
| 19:48:42 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds) |
| 19:50:20 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:9:59a4:5055:fd8c) (Remote host closed the connection) |
| 19:52:21 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 268 seconds) |
| 19:58:54 | × | _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
| 20:01:51 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 20:04:49 | → | kayvank joins (~user@52-119-115-185.PUBLIC.monkeybrains.net) |
| 20:05:42 | × | kayvank quits (~user@52-119-115-185.PUBLIC.monkeybrains.net) (Client Quit) |
| 20:10:12 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 20:10:29 | → | machinedgod joins (~machinedg@66.244.246.252) |
| 20:11:42 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 20:12:17 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 20:13:13 | → | kayvank joins (~user@52-119-115-185.PUBLIC.monkeybrains.net) |
| 20:13:54 | → | n1essa joins (~nessa@75-164-218-34.ptld.qwest.net) |
| 20:18:03 | → | mastarija joins (~mastarija@2a05:4f46:e02:8c00:ad1a:d57a:7d0b:dec) |
| 20:19:11 | × | kayvank quits (~user@52-119-115-185.PUBLIC.monkeybrains.net) (Remote host closed the connection) |
| 20:19:39 | → | artemis joins (~artemis@user/artemis) |
| 20:19:48 | <mastarija> | Is there any type in base that is suited to storing raw binary data? Something akin to ByteString? Or should I just use a list of Word8? |
| 20:20:37 | <geekosaur> | why limit yourself to base? ByteString comes with any ghc installation |
| 20:20:53 | <mastarija> | Just exploring stuff |
| 20:21:07 | <geekosaur> | but yes, if you must for some reason stick to base, [Word8] is probably the best you'll do. I wouldn't, though |
| 20:21:17 | <mastarija> | :D |
| 20:21:40 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:9:59a4:5055:fd8c) |
| 20:21:42 | <geekosaur> | base is not "minimum needed to write programs", it's "minimum needed to interface to the runtime" |
| 20:21:43 | <mastarija> | I remember seeing some weird primitive array type somewhere a while ago |
| 20:21:51 | → | zeenk joins (~zeenk@2a02:2f04:a301:3d00:39df:1c4b:8a55:48d3) |
| 20:22:05 | <geekosaur> | there is ByteArray#, yes. that's what a ByteString is |
| 20:22:13 | <dolio> | base has been pruned over the years, and had packages like bytestring broken off from it. |
| 20:22:29 | <mastarija> | geekosaur, It's just a bit of fun. I'm trying to explore what base has to offer. |
| 20:22:30 | <geekosaur> | working directly with primitive types is generally a recipe for misery, though |
| 20:22:45 | ← | artemis parts (~artemis@user/artemis) () |
| 20:23:14 | <mastarija> | Unless you want to learn how they work |
| 20:23:24 | <dolio> | Something from the primitive or vector packages might be better, depending on what you're doing. |
| 20:24:08 | <mastarija> | I'm just building something similar to aeson, but it's nothing serious. It's mostly a learning project. |
| 20:24:16 | <EvanR> | if you like [Word8], maybe you'd like to try [Fin 256] so you don't even need primitive words xD |
| 20:24:18 | → | ray joins (~ray@213.205.241.248) |
| 20:24:23 | <ray> | hello |
| 20:24:27 | avpx_ | is now known as avpx |
| 20:24:33 | <geekosaur> | hi |
| 20:25:07 | <ray> | is there an easy way to generate random numbers at type level? |
| 20:25:42 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 20:25:44 | <glguy> | no |
| 20:25:46 | × | lyle quits (~lyle@104.246.145.85) (Quit: WeeChat 3.5) |
| 20:26:05 | <maerwald> | mastarija: ByteArray |
| 20:26:06 | <ray> | are there list comprehensions or some other way of combining ranges? |
| 20:26:21 | × | avpx quits (~nick@ec2-54-214-223-1.us-west-2.compute.amazonaws.com) (Quit: ZNC 1.8.2 - https://znc.in) |
| 20:26:37 | <mastarija> | maerwald, looking at it right now :) |
| 20:26:38 | <maerwald> | mastarija: ShortByteString (also in bytestring package) is based on ByteArra |
| 20:26:51 | <EvanR> | multiply with carry RNG involves multiplication in place value notation, which you could develop |
| 20:26:56 | <EvanR> | at the type level |
| 20:27:24 | <ray> | can you write it at value level? |
| 20:27:31 | <EvanR> | well yeah that's easy |
| 20:27:41 | <ray> | oh, idk the algorithm |
| 20:27:42 | × | rkk quits (~rkk@2601:547:b00:39bc:f8e9:8867:3298:9864) (Ping timeout: 264 seconds) |
| 20:28:15 | <EvanR> | what are you actually trying to do? xD |
| 20:28:23 | <ray> | i thought there might be an easy way with primes and Ints |
| 20:28:37 | <ray> | probably dont want to have to do type level primes... |
| 20:28:50 | <ray> | EvanR: I want to index over these ranges |
| 20:28:55 | <EvanR> | you have Nat at the type level not Int |
| 20:29:04 | <ray> | sure |
| 20:29:15 | <ray> | basically to generate random terms |
| 20:29:22 | <ray> | types of* |
| 20:29:31 | <EvanR> | wait what are you actually trying to do? |
| 20:29:44 | <ray> | i have a datatype where the contents are evaluated differently depending on a type annotation |
| 20:29:58 | <ray> | and i want to generate these randomly |
| 20:30:16 | <monochrom> | Just add a type-level Bool to get type-level integers, complete with "negative zero". |
| 20:30:18 | <ray> | at value level i would combine ranges in list comprehensions |
| 20:30:47 | <ray> | with as many generators as contributing subterms |
| 20:31:33 | <ray> | so i would end up with vectors of types, and i want to index over these randomly to select a random type for a term |
| 20:32:29 | <ray> | so i actually need arbitrarily many generators at type level... |
| 20:32:37 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 20:32:46 | → | [_] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 20:33:15 | <n1essa> | Hi y'all, I'm trying to learn how to use wreq based on their own tutorial. I've had zero issue making requests, but the lens part is really tripping me up. I would really appreciate some pointers on this. https://paste.tomsmeding.com/xxUEch00 |
| 20:33:17 | → | money joins (~Gambino@user/polo) |
| 20:33:40 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 268 seconds) |
| 20:34:18 | × | machinedgod quits (~machinedg@66.244.246.252) (Ping timeout: 264 seconds) |
| 20:34:18 | [_] | is now known as [itchyjunk] |
| 20:35:46 | → | machinedgod joins (~machinedg@66.244.246.252) |
| 20:36:11 | <ray> | something to do with ranges and ordering... |
| 20:37:00 | × | mastarija quits (~mastarija@2a05:4f46:e02:8c00:ad1a:d57a:7d0b:dec) (Quit: Leaving) |
| 20:37:18 | × | pleo quits (~pleo@user/pleo) (Ping timeout: 240 seconds) |
| 20:38:14 | × | finsternis quits (~X@23.226.237.192) (Read error: Connection reset by peer) |
| 20:38:28 | → | odnes joins (~odnes@5-203-249-68.pat.nym.cosmote.net) |
| 20:38:42 | → | pleo joins (~pleo@user/pleo) |
| 20:38:43 | <ray> | i think i might be able to do the ranges with a recursive type family directly |
| 20:39:24 | <ray> | and then make a way to consume a Nat to index over this to retrive the desired type |
| 20:39:25 | <glguy> | n1essa: to index a Map you wouldn't use aeson lenses, you'd use the stuff just in the lens library |
| 20:39:32 | <ray> | and i just need the type level RNG |
| 20:39:32 | <glguy> | so `at` and `ix` |
| 20:40:31 | <ray> | EvanR: what did your way entail, folding? |
| 20:40:32 | <glguy> | n1essa: so try replacing that last line with: print (r ^. responseBody . at "list") |
| 20:40:33 | → | quarkyalice joins (~quarkyali@user/quarkyalice) |
| 20:40:57 | <n1essa> | glguy: thanks, I'll try those, is the tutorial (http://www.serpentine.com/wreq/tutorial.html) just wrong? or am I just confused? because it's using `key` |
| 20:41:34 | × | money quits (~Gambino@user/polo) (Quit: money) |
| 20:41:42 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 20:41:57 | <glguy> | n1essa: your code just isn't the same as the tutorial |
| 20:42:23 | <EvanR> | ray, look up MWC random generator on e.g. wikipedia |
| 20:42:23 | <n1essa> | that's true, I thought I was following the same pattern though |
| 20:42:50 | <glguy> | n1essa: your version removes a layer of JSON with `asJSON` that the other tutorial fragments don't |
| 20:42:58 | × | pleo quits (~pleo@user/pleo) (Ping timeout: 240 seconds) |
| 20:43:31 | <ray> | https://en.wikipedia.org/wiki/Multiply-with-carry_pseudorandom_number_generator |
| 20:43:37 | <glguy> | n1essa: notice that the examples using `key` don't also use `asJSON` |
| 20:43:50 | <n1essa> | oh |
| 20:43:57 | <n1essa> | that might be the part i was missing |
| 20:44:07 | <ray> | i guess i could just write in the prime since the nats use 123.etc chars |
| 20:44:24 | → | pleo joins (~pleo@user/pleo) |
| 20:45:05 | <ray> | the article describes it in a complicated way though, talking about multiplication with implicit word shifts |
| 20:45:18 | <ray> | implicit multiplication with word shifts* |
| 20:45:42 | <ray> | its a memory address style im not sured to |
| 20:45:59 | <EvanR> | I suggested it for simplicity of concept and not for their machine implementation which is irrelevant to doing it at type level |
| 20:46:13 | <ray> | ok, so its just the recursion formula |
| 20:46:29 | <EvanR> | it's a multiplication, take the carry |
| 20:46:37 | × | machinedgod quits (~machinedg@66.244.246.252) (Ping timeout: 268 seconds) |
| 20:46:44 | → | avpx joins (~nick@ec2-54-214-223-1.us-west-2.compute.amazonaws.com) |
| 20:46:56 | <ray> | x_n=bx_{n-1}mod p |
| 20:47:18 | <EvanR> | mod and carry is automatic if you use place-value representation |
| 20:47:19 | <ray> | sure so fold with basecase 1 |
| 20:47:36 | <EvanR> | it would be really slow otherwise |
| 20:47:44 | <EvanR> | and you'd have to implement division |
| 20:47:47 | <ray> | erg, is that something i care about? |
| 20:47:54 | <ray> | div |
| 20:48:04 | <ray> | i mean care about it being slow at type level |
| 20:48:21 | <EvanR> | in place-value multiplication you get carrying and remainder automatically |
| 20:48:23 | <n1essa> | glguy: Thank you :) I got it working with your help |
| 20:48:30 | <EvanR> | no division |
| 20:48:42 | <ray> | hmm, maybe that *would* be a better way to implement it |
| 20:48:50 | × | pleo quits (~pleo@user/pleo) (Ping timeout: 240 seconds) |
| 20:48:52 | <ray> | but it sounds complicated to do at type level |
| 20:49:05 | <EvanR> | no shit xD |
| 20:49:20 | <ray> | a div implementation sounds more feasible |
| 20:49:45 | <ray> | is there nothing in libraries for this? |
| 20:50:07 | → | pleo joins (~pleo@user/pleo) |
| 20:50:26 | → | nate4 joins (~nate@98.45.169.16) |
| 20:50:36 | <[exa]> | ray: people generally want to avoid numerical algorithms that can trigger undecidability or long enumeration at type level |
| 20:50:51 | <ray> | the terms are bounded ranges |
| 20:51:06 | <ray> | if that makes sense, should be decidable |
| 20:51:08 | <EvanR> | yeah these algorithms terminate |
| 20:51:32 | <EvanR> | so you can do a theoretically do the research project to do it at type level xD |
| 20:51:43 | <EvanR> | s/do a// |
| 20:52:00 | <ray> | and doing all the kind of assignment at type level is a good way to have the architectures fixed to ensure no computation is done faffing around with the shape of things at runtime |
| 20:52:22 | <EvanR> | why even have runtime!? |
| 20:52:38 | <ray> | for realtime data throughput among other things |
| 20:52:43 | × | lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in) |
| 20:52:47 | <[exa]> | ray: anyway there's afaik a pretty good typelevel number library |
| 20:53:08 | <ray> | but all this, eg, doing computations to ensure things have matching sizes when used as inputs |
| 20:53:24 | <[exa]> | ray: just be prepared that it will be able to prove types of much less things than you imagine now |
| 20:53:41 | <ray> | i need to do the shapes properly at type level of how all the parameters in a massive complicated net are placed |
| 20:54:07 | <[exa]> | ray: e.g. here https://hackage.haskell.org/package/base-4.16.1.0/docs/GHC-TypeNats.html#t:Div |
| 20:54:08 | <EvanR> | when you go beyond adding two numbers together, the number theory gets harsh fast |
| 20:54:30 | × | pleo quits (~pleo@user/pleo) (Ping timeout: 240 seconds) |
| 20:54:42 | <ray> | [exa]: thanks, turned out not to be too much of a crux |
| 20:55:09 | → | Tuplanolla joins (~Tuplanoll@91-159-69-97.elisa-laajakaista.fi) |
| 20:55:16 | → | lagash joins (lagash@lagash.shelltalk.net) |
| 20:55:17 | <[exa]> | ray: like, I don't want to sound discouraging, just remember that many people tried and failed hard :D |
| 20:55:22 | → | rito_ joins (~rito_gh@45.112.243.199) |
| 20:55:25 | <ray> | I was hoping for some more principled approach to ranges though |
| 20:55:27 | → | ritogh joins (~rito_gh@45.112.243.199) |
| 20:55:38 | <[exa]> | ranges as in intervals? |
| 20:55:45 | <ray> | enum |
| 20:55:48 | → | pleo joins (~pleo@user/pleo) |
| 20:55:53 | <ray> | for generators in list comprehensions |
| 20:55:55 | <EvanR> | Fin ? |
| 20:56:17 | <EvanR> | Fin n, the allowed numbers are zero to n-1 |
| 20:56:22 | <[exa]> | ray: any example use? |
| 20:56:28 | <EvanR> | there's a library for that at least |
| 20:56:42 | <ray> | no, these are like, datatypes with several constructors, with a corresponding sum type indicating which was used, more like singletons |
| 20:56:44 | × | ritogh quits (~rito_gh@45.112.243.199) (Remote host closed the connection) |
| 20:57:03 | <ray> | youd need to define a range instance i guess |
| 20:57:29 | <ray> | and more like, how ranges can be combined |
| 20:57:51 | <[exa]> | ray: so ranges as in indexing arrays and matrices with strides? |
| 20:57:57 | <ray> | \xs -> [[a,b,c...]|a<-xs,b<-xs,c<-xs ..] |
| 20:58:59 | <ray> | eg i could make a sequence of SBools this way, and have some notional binary tree with Nat indexing according to the polsition in the range generated list |
| 20:59:08 | <ray> | so its gives an ordering to the vector term |
| 20:59:47 | <ray> | ah right, thats why you dont want any row to go to infinity, because the ordering would be useless |
| 21:00:16 | <[exa]> | well not really but you'd need to start from the other side, which would turn isomorphic to integers |
| 21:00:39 | <[exa]> | certainly useful as an exercise™ |
| 21:01:06 | <ray> | i mean like how simpler terms, vectors with fewer contributions, would appear first in the ordering |
| 21:01:32 | <ray> | which only works because the indexed datatypes have finite range |
| 21:01:41 | × | dextaa quits (~DV@user/dextaa) (Read error: Connection reset by peer) |
| 21:02:44 | <ray> | i guess the RNG is then looking up over a correspondence from lists of bools to the Nats |
| 21:03:54 | → | dextaa joins (~DV@user/dextaa) |
| 21:03:56 | <ray> | basically because i dont want to have to write the term, i want to index them with an Int, so then the RNG can pick |
| 21:04:04 | <ray> | the type* |
| 21:04:09 | × | dextaa quits (~DV@user/dextaa) (Read error: Connection reset by peer) |
| 21:04:10 | <EvanR> | also "why do I care if it's slow at the type level", because of development turnaround time in the edit compile test loop |
| 21:04:41 | <ray> | for this reason i would consider eg. not cryptographically secure RNGs |
| 21:05:05 | <EvanR> | have you considered generating random type level Nats using template haskell |
| 21:05:06 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:9:59a4:5055:fd8c) (Remote host closed the connection) |
| 21:05:09 | <ray> | like, the "statistical randomness" isnt actually all that important, as long as it approaches uniform |
| 21:05:27 | <ray> | EvanR: I actually have never used TH |
| 21:05:42 | <ray> | but i like the idea, you mean i could reflect them up from a value level computation somehow? |
| 21:05:53 | → | money joins (~Gambino@user/polo) |
| 21:06:21 | <ray> | but i see what you mean, it seems like a TH usecase to generate random choices of type annotations |
| 21:06:27 | → | dextaa joins (~DV@user/dextaa) |
| 21:06:40 | <EvanR> | yes type level nats can become values of the same... value |
| 21:06:53 | <ray> | hmm |
| 21:06:53 | × | dextaa quits (~DV@user/dextaa) (Read error: Connection reset by peer) |
| 21:07:09 | × | money quits (~Gambino@user/polo) (Client Quit) |
| 21:07:19 | <ray> | idk how TH works, so... |
| 21:07:31 | <BusConscious> | Could not find module 'Prelude' There are files missing in the 'base-4.15.1.0' package. |
| 21:07:40 | <ray> | arch? |
| 21:07:46 | <BusConscious> | what's up with that? |
| 21:07:50 | <BusConscious> | ray: yupp |
| 21:07:54 | <maerwald> | LOL |
| 21:07:55 | <EvanR> | TH works very well |
| 21:08:00 | <ray> | no good support for ghcup |
| 21:08:06 | <BusConscious> | tried to test my cabal build on my arch laptop |
| 21:08:08 | <maerwald> | ray: what? |
| 21:08:10 | <ray> | installing in all wrong directories |
| 21:08:24 | <ray> | maerwald: arch build issues |
| 21:08:33 | <ray> | using their local package repo |
| 21:08:39 | <maerwald> | that's not a ghcup issue... they're just using the wrong GHC |
| 21:08:45 | <maerwald> | the one installed from arch crap repos |
| 21:08:45 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 21:08:55 | <ray> | yeah, i mean, thats because ghcup wasnt working i presume |
| 21:09:03 | <maerwald> | why would it not? |
| 21:09:04 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Write error: Connection reset by peer) |
| 21:09:04 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 21:09:04 | × | winny quits (~weechat@user/winny) (Remote host closed the connection) |
| 21:09:08 | → | dextaa joins (~DV@user/dextaa) |
| 21:09:17 | <ray> | arch folds run from 3rd part package managers for some reson which is special to arch i think |
| 21:09:28 | × | dextaa quits (~DV@user/dextaa) (Read error: Connection reset by peer) |
| 21:09:40 | <ray> | BusConscious: anything like this? |
| 21:09:50 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 21:10:05 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 21:10:07 | <ray> | iv never seen prelude unable to locate where base was installed before except on arch is all |
| 21:10:13 | × | kenaryn quits (~aurele@89-88-44-27.abo.bbox.fr) (Quit: leaving) |
| 21:10:32 | <ray> | is it yumm or sumething you use? |
| 21:10:42 | <BusConscious> | I uninstalled ghc with pacman |
| 21:10:51 | <BusConscious> | and now I'm running ghcup again |
| 21:10:57 | <ray> | its like some apt-get thingy which does it all wrong, which is why i dont understand arch |
| 21:10:58 | <BusConscious> | but I did run ghcup before |
| 21:11:30 | <ray> | probably there is a huge mess and you should burn your machine and use dell |
| 21:11:37 | → | jargon joins (~jargon@184.101.186.108) |
| 21:11:42 | → | dextaa joins (~DV@user/dextaa) |
| 21:11:45 | <maerwald> | lol |
| 21:11:46 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 21:11:47 | <geekosaur> | with arch you have to run ghc with -shared or it'll look for and fail to find the static libraries |
| 21:12:24 | <ray> | this kind of thing^, arch is torture |
| 21:12:32 | <geekosaur> | or remove all pacman-installed haskell packages and start over with ghcup (don't forget to source its env file immediately after setting ghcup up) |
| 21:12:50 | <BusConscious> | geekosaur: This is what I'm doing rn |
| 21:13:36 | <ray> | its a cabal issue no? |
| 21:13:54 | <ray> | i mean, ghci works, but you just cant install any packages because they cant find base or anything else i guess |
| 21:14:06 | × | dextaa quits (~DV@user/dextaa) (Read error: Connection reset by peer) |
| 21:14:21 | → | winny joins (~weechat@user/winny) |
| 21:14:34 | <BusConscious> | should I run ghcup script with sudo? |
| 21:14:38 | <yushyin> | no |
| 21:14:38 | <maerwald> | BusConscious: no |
| 21:15:10 | → | mikoto-chan joins (~mikoto-ch@esm-84-240-99-143.netplaza.fi) |
| 21:15:26 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 246 seconds) |
| 21:15:55 | <n1essa> | Is there a more reasonable way to write this `fmap (fmap (T.pack)) <$> sequence <$> mapM (lookupEnv) env` |
| 21:15:59 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 21:16:03 | <BusConscious> | ah here we go |
| 21:16:19 | → | dextaa joins (~DV@user/dextaa) |
| 21:18:06 | <BusConscious> | I just had to restart the terminal |
| 21:18:40 | × | mikoto-chan quits (~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Client Quit) |
| 21:19:30 | <ray> | lol |
| 21:20:12 | × | winny quits (~weechat@user/winny) (Remote host closed the connection) |
| 21:20:40 | → | winny joins (~weechat@user/winny) |
| 21:22:38 | → | renzhi joins (~xp@2607:fa49:6500:b100::f64a) |
| 21:24:55 | × | qhong_ quits (~qhong@rescomp-21-400677.stanford.edu) (Ping timeout: 256 seconds) |
| 21:26:55 | → | machinedgod joins (~machinedg@66.244.246.252) |
| 21:27:42 | <ray> | n1essa: well it doesnt matter if you fmap before or after the sequence |
| 21:28:15 | <ray> | so you could factor it into mapM |
| 21:28:18 | × | quarkyalice quits (~quarkyali@user/quarkyalice) (Quit: quarkyalice) |
| 21:28:39 | × | winny quits (~weechat@user/winny) (Remote host closed the connection) |
| 21:29:07 | → | winny joins (~weechat@user/winny) |
| 21:30:32 | <ray> | so lets say iv made a range class and instantiated it for some datatype so i can make a list of its possible type annotations |
| 21:30:49 | → | rkk joins (~rkk@2601:547:b00:39bc:f8e9:8867:3298:9864) |
| 21:31:10 | <dsal> | :t sequence . traverse |
| 21:31:11 | <ray> | now i want to take this list and make a branching thing of which choice was made for each element in the list, basically generating vecors with multiple generators from the same range |
| 21:31:12 | <lambdabot> | (Monad m, Traversable t, Traversable ((->) (t a))) => (a -> m b) -> m (t a -> t b) |
| 21:32:10 | <ray> | :t (sequence .) . traverse |
| 21:32:11 | <lambdabot> | (Monad m, Traversable t, Traversable m, Applicative t) => (a1 -> t a2) -> m a1 -> m (t a2) |
| 21:34:03 | <ray> | how do i do this multiple generators problem? |
| 21:34:14 | <ray> | ie to mimic what can be done with list comprehensions |
| 21:34:18 | × | rkk quits (~rkk@2601:547:b00:39bc:f8e9:8867:3298:9864) (Remote host closed the connection) |
| 21:35:43 | <ray> | > let xs = [True,False] in [[x,y,z]|x<-xs,y<-xs,z<-xs] |
| 21:35:44 | <lambdabot> | [[True,True,True],[True,True,False],[True,False,True],[True,False,False],[Fa... |
| 21:36:17 | <n1essa> | ray: thanks, i'll try that |
| 21:36:45 | <ray> | no pRoblem |
| 21:39:00 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:40:36 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 21:41:45 | × | z0k quits (~z0k@206.84.141.12) (Ping timeout: 248 seconds) |
| 21:41:54 | × | jargon quits (~jargon@184.101.186.108) (Remote host closed the connection) |
| 21:42:00 | → | money joins (~Gambino@user/polo) |
| 21:43:28 | <dsal> | > replicateM 3 [True, False] |
| 21:43:30 | <lambdabot> | [[True,True,True],[True,True,False],[True,False,True],[True,False,False],[Fa... |
| 21:45:04 | × | ray quits (~ray@213.205.241.248) (Remote host closed the connection) |
| 21:45:09 | → | quarkyalice joins (~quarkyali@user/quarkyalice) |
| 21:45:18 | × | Moyst_ quits (~moyst@user/moyst) (Ping timeout: 276 seconds) |
| 21:45:52 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:9:59a4:5055:fd8c) |
| 21:47:34 | <dsal> | @undo [[x,y,z]|x<-xs,y<-xs,z<-xs] |
| 21:47:34 | <lambdabot> | concatMap (\ x -> concatMap (\ y -> concatMap (\ z -> [[x, y, z]]) xs) xs) xs |
| 21:49:51 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 256 seconds) |
| 21:50:04 | × | winny quits (~weechat@user/winny) (Remote host closed the connection) |
| 21:50:45 | × | machinedgod quits (~machinedg@66.244.246.252) (Ping timeout: 268 seconds) |
| 21:52:14 | → | machinedgod joins (~machinedg@66.244.246.252) |
| 21:52:18 | × | money quits (~Gambino@user/polo) (Ping timeout: 264 seconds) |
| 21:52:51 | → | Moyst_ joins (~moyst@user/moyst) |
| 21:58:10 | × | califax quits (~califax@user/califx) (Ping timeout: 268 seconds) |
| 21:58:22 | → | califax_ joins (~califax@user/califx) |
| 21:59:32 | califax_ | is now known as califax |
| 22:02:07 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:05:06 | → | winny joins (~weechat@user/winny) |
| 22:06:06 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 276 seconds) |
| 22:06:23 | × | michalz quits (~michalz@185.246.204.107) (Remote host closed the connection) |
| 22:11:07 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 22:14:09 | × | n1essa quits (~nessa@75-164-218-34.ptld.qwest.net) (Quit: leaving) |
| 22:15:04 | × | k8yun quits (~k8yun@user/k8yun) (Read error: Connection reset by peer) |
| 22:15:42 | × | acidjnk_new quits (~acidjnk@dynamic-046-114-169-114.46.114.pool.telefonica.de) (Ping timeout: 264 seconds) |
| 22:17:05 | × | odnes quits (~odnes@5-203-249-68.pat.nym.cosmote.net) (Remote host closed the connection) |
| 22:19:14 | → | money joins (~Gambino@user/polo) |
| 22:20:27 | × | rito_ quits (~rito_gh@45.112.243.199) (Ping timeout: 256 seconds) |
| 22:25:37 | → | yauhsien joins (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) |
| 22:29:50 | × | yauhsien quits (~yauhsien@61-231-23-53.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 22:30:33 | → | mikoto-chan joins (~mikoto-ch@esm-84-240-99-143.netplaza.fi) |
| 22:31:20 | → | moonsheep joins (~user@user/moonsheep) |
| 22:31:30 | <moonsheep> | Hi there again! |
| 22:31:43 | <moonsheep> | I'm trying to install accelerate, and I've installed llvm 9 from source. |
| 22:32:05 | <moonsheep> | Now when I try to build my project, accelerate-llvm reports the following: `<command line>: libLLVMXRay.so.9: cannot open shared object file: No such file or directory` |
| 22:32:24 | <moonsheep> | Yet if I go look under /usr/local/lib it is clearly there |
| 22:32:52 | <moonsheep> | `llvm-config --libdir` does indeed return `/usr/local/lib` |
| 22:34:17 | × | money quits (~Gambino@user/polo) (Read error: Connection reset by peer) |
| 22:37:30 | → | Guest3106 joins (~Gambino@user/polo) |
| 22:38:10 | × | jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 240 seconds) |
| 22:38:13 | <geekosaur> | llvm-config won't help here, either /usr/local/lib needs to be listed in /etc/ld.so.conf (or under /etc/ld.so.conf.d, on ubuntu) or you need to arrange for accelerate-llvm to use -R |
| 22:38:40 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:9:59a4:5055:fd8c) (Remote host closed the connection) |
| 22:38:51 | × | Guest3106 quits (~Gambino@user/polo) (Remote host closed the connection) |
| 22:39:39 | <monochrom> | And you probably still need to run "sudo ldconfig" because it is /etc/ld.so.cache that is consulted at run time, rather that a real search. |
| 22:40:20 | → | Polo__ joins (~Gambino@user/polo) |
| 22:40:35 | × | Polo__ quits (~Gambino@user/polo) (Read error: Connection reset by peer) |
| 22:42:30 | <geekosaur> | yes |
| 22:42:36 | <geekosaur> | (sorry, making dinner) |
| 22:42:43 | → | money joins (~Gambino@user/polo) |
| 22:43:08 | <monochrom> | Ah, I'm a spoiled kid, I just order through Ubereats and continue to IRC :) |
| 22:45:08 | → | Guest9447 joins (~Gambino@user/polo) |
| 22:45:31 | × | Guest9447 quits (~Gambino@user/polo) (Client Quit) |
| 22:46:25 | <EvanR> | dammit don't temp me |
| 22:46:32 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Quit: ZNC 1.8.2 - https://znc.in) |
| 22:47:29 | × | money quits (~Gambino@user/polo) (Ping timeout: 246 seconds) |
| 22:47:39 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 22:49:17 | <moonsheep> | geekosaur: I did that doesn't seem to have any effect |
| 22:49:31 | <moonsheep> | My /etc/ld.so.conf just loads all the files under /etc/ld.so.conf.d |
| 22:49:42 | <moonsheep> | I added one that has /usr/local/lib |
| 22:49:57 | × | alp__ quits (~alp@user/alp) (Ping timeout: 268 seconds) |
| 22:50:12 | <geekosaur> | is it named <whatever>.conf? and did you run `sudo ldconfig` afterward like monochrom said? |
| 22:50:14 | <moonsheep> | And still accelerate fails to build |
| 22:50:27 | <moonsheep> | It is named llvm9.conf and yes I did |
| 22:50:38 | <moonsheep> | I even tried manually removing the cache file but it didn't seem to help |
| 22:50:55 | <geekosaur> | uh., that sounds like a good way to break your system |
| 22:50:55 | <moonsheep> | Oh wait my bad, I'm blin |
| 22:51:01 | <moonsheep> | It's a different error |
| 22:51:19 | <moonsheep> | [a very long path]-ghc8.10.7.so: undefined symbol: _ZTIN4llvm13ErrorInfoBaseE |
| 22:51:30 | <moonsheep> | I am supposed to use llvm 9.0.1 right? |
| 22:52:08 | <moonsheep> | So I guess now it can find the llibrary but it fails to link with ti |
| 22:52:56 | <geekosaur> | sounds like it, but the question is what is failing to link with it |
| 22:53:12 | <geekosaur> | "a very long path" minus the long hash at the end |
| 22:53:55 | <moonsheep> | /home/moonsheep/.stack/snapshots/x86_64-linux-tinfo6/<hash>/8.10.7/lib/x86_64-linux-ghc-8.10.7/libHSllvm-hs-9.0.1-S639BV4lBwDq2AVMyPWFd-ghc8.10.7.so: undefined symbol: _ZTIN4llvm13ErrorInfoBaseE |
| 22:54:38 | × | gurkenglas quits (~gurkengla@dslb-002-207-014-022.002.207.pools.vodafone-ip.de) (Ping timeout: 244 seconds) |
| 22:55:10 | <geekosaur> | odd. I think you need someone familiar with accelerate-llvm at this point |
| 22:55:10 | × | zeenk quits (~zeenk@2a02:2f04:a301:3d00:39df:1c4b:8a55:48d3) (Quit: Konversation terminated!) |
| 22:55:38 | <moonsheep> | Hmm, maybe I should try purging everything |
| 22:55:52 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Quit: ZNC 1.8.2 - https://znc.in) |
| 22:55:53 | × | cheater quits (~Username@user/cheater) (Ping timeout: 248 seconds) |
| 22:56:25 | → | cheater joins (~Username@user/cheater) |
| 22:58:00 | × | moonsheep quits (~user@user/moonsheep) (Remote host closed the connection) |
| 22:58:12 | <geekosaur> | https://discourse.llvm.org/t/lost-ztin4llvm13errorinfobasee-symbol/3077 |
| 22:58:46 | <geekosaur> | sounds like youu need to rebuild llvm with -DENABLE_LLVM_RTTI=ON |
| 22:59:00 | → | alp__ joins (~alp@user/alp) |
| 23:00:00 | <geekosaur> | I thought that nanme looked mangled but I wasn't expecting c++ mangling searched for by haskell |
| 23:03:59 | → | nate4 joins (~nate@98.45.169.16) |
| 23:04:41 | <geekosaur> | oh, they left |
| 23:05:12 | <geekosaur> | @tell moonsheep per https://discourse.llvm.org/t/lost-ztin4llvm13errorinfobasee-symbol/3077 you need to rebuild llvm with -DENABLE_LLVM_RTTI=ON |
| 23:05:13 | <lambdabot> | Consider it noted. |
| 23:06:40 | × | chomwitt quits (~chomwitt@2a02:587:dc0d:e600:d03e:b48f:9497:fc81) (Remote host closed the connection) |
| 23:08:22 | → | moonsheep joins (~user@user/moonsheep) |
| 23:08:41 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 248 seconds) |
| 23:08:52 | <moonsheep> | geekosaur: ah thanks I'll try that now |
| 23:08:58 | <moonsheep> | Yeah sorry for leaving I tried rebooting |
| 23:09:37 | <geekosaur[m]> | No worries |
| 23:09:42 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 268 seconds) |
| 23:11:46 | <moonsheep> | Hmm, cmake tells me that CMake Warning: |
| 23:11:46 | <moonsheep> | Manually-specified variables were not used by the project: |
| 23:11:46 | <moonsheep> | |
| 23:11:46 | <moonsheep> | ENABLE_LLVM_RTTI |
| 23:11:54 | <moonsheep> | Oops didn't mean to paste like that |
| 23:13:01 | <moonsheep> | Ah it's actually called `LLVM_ENABLE_RTTI` |
| 23:21:33 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:9:59a4:5055:fd8c) |
| 23:23:10 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds) |
| 23:23:22 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 23:23:27 | × | quarkyalice quits (~quarkyali@user/quarkyalice) (Quit: quarkyalice) |
| 23:24:36 | Lord_of_Life_ | is now known as Lord_of_Life |
| 23:26:46 | → | quarkyalice joins (~quarkyali@user/quarkyalice) |
| 23:27:00 | → | AlexNoo_ joins (~AlexNoo@178.34.160.206) |
| 23:29:01 | × | AlexZenon quits (~alzenon@94.233.240.20) (Ping timeout: 256 seconds) |
| 23:29:34 | × | Tuplanolla quits (~Tuplanoll@91-159-69-97.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:30:43 | × | Alex_test quits (~al_test@94.233.240.20) (Ping timeout: 256 seconds) |
| 23:30:43 | × | AlexNoo quits (~AlexNoo@94.233.240.20) (Ping timeout: 256 seconds) |
| 23:31:21 | × | BusConscious quits (~martin@ip5f5bdedc.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
| 23:32:19 | → | stackdroid18 joins (14094@user/stackdroid) |
| 23:32:52 | → | AlexZenon joins (~alzenon@178.34.160.206) |
| 23:32:54 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 23:33:00 | → | money joins (~Gambino@user/polo) |
| 23:34:34 | → | Alex_test joins (~al_test@178.34.160.206) |
| 23:37:00 | → | mixfix41 joins (~sdenynine@user/mixfix41) |
| 23:37:31 | ← | money parts (~Gambino@user/polo) () |
| 23:38:53 | → | pavonia joins (~user@user/siracusa) |
| 23:40:21 | × | tv quits (~tv@user/tv) (Ping timeout: 256 seconds) |
| 23:46:16 | <moonsheep> | Oh forgot to report back here: it worked beautifully! |
| 23:46:18 | <moonsheep> | Thank you very much |
| 23:46:32 | <moonsheep> | In case anyone is interested, this is my full cmake command: |
| 23:46:33 | <moonsheep> | cmake .. -DCMAKE_BUILD_TYPE=Release -GNinja -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_ENABLE_RTTI=ON -DBUILD_SHARED_LIBS=ON |
| 23:46:43 | <moonsheep> | llvm 9.0.1 |
| 23:47:00 | ← | moonsheep parts (~user@user/moonsheep) (ERC 5.4 (IRC client for GNU Emacs 28.1)) |
| 23:47:56 | × | cosimone quits (~user@93-44-186-171.ip98.fastwebnet.it) (Read error: Connection reset by peer) |
| 23:49:45 | → | k8yun joins (~k8yun@user/k8yun) |
| 23:52:21 | → | rkk joins (~rkk@2601:547:b01:53f3:df8:eb6f:ddf9:a41f) |
| 23:52:33 | → | tv joins (~tv@user/tv) |
| 23:55:08 | × | k8yun quits (~k8yun@user/k8yun) (Quit: Leaving) |
| 23:55:40 | × | rkk quits (~rkk@2601:547:b01:53f3:df8:eb6f:ddf9:a41f) (Remote host closed the connection) |
All times are in UTC on 2022-06-21.