2024-05-10 00:00:19 +0200 | causal | (~eric@50.35.88.207) (Quit: WeeChat 4.1.1) |
2024-05-10 00:05:33 +0200 | euleritian | (~euleritia@dynamic-176-007-193-218.176.7.pool.telefonica.de) (Ping timeout: 256 seconds) |
2024-05-10 00:09:26 +0200 | yin | (~yin@user/zero) (Ping timeout: 252 seconds) |
2024-05-10 00:15:56 +0200 | agent314 | (~quassel@static-198-54-134-186.cust.tzulo.com) |
2024-05-10 00:18:40 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2024-05-10 00:19:50 +0200 | Guest75 | (~Guest75@47.150.101.89) |
2024-05-10 00:19:53 +0200 | Guest75 | (~Guest75@47.150.101.89) () |
2024-05-10 00:23:45 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-05-10 00:30:15 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2024-05-10 00:34:58 +0200 | yin | (~yin@user/zero) |
2024-05-10 00:42:34 +0200 | mima | (~mmh@aftr-62-216-211-24.dynamic.mnet-online.de) (Ping timeout: 268 seconds) |
2024-05-10 00:43:46 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Quit: Lost terminal) |
2024-05-10 00:46:12 +0200 | mei | (~mei@user/mei) (Remote host closed the connection) |
2024-05-10 00:48:38 +0200 | mei | (~mei@user/mei) |
2024-05-10 00:58:28 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) |
2024-05-10 00:59:13 +0200 | yin | (~yin@user/zero) (Ping timeout: 268 seconds) |
2024-05-10 00:59:37 +0200 | gawen | (~gawen@user/gawen) (Quit: cya) |
2024-05-10 01:01:07 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Read error: Connection reset by peer) |
2024-05-10 01:01:25 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) |
2024-05-10 01:05:15 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2024-05-10 01:06:41 +0200 | gawen | (~gawen@user/gawen) |
2024-05-10 01:15:00 +0200 | oo_miguel | (~Thunderbi@78-11-181-16.static.ip.netia.com.pl) (Ping timeout: 255 seconds) |
2024-05-10 01:16:59 +0200 | philopsos1 | (~caecilius@user/philopsos) |
2024-05-10 01:24:14 +0200 | acidjnk_new | (~acidjnk@p200300d6e714dc82b86ca1b28a3c0e53.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2024-05-10 01:30:07 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-05-10 01:30:14 +0200 | ocra8 | (ocra8@user/ocra8) (Quit: WeeChat 4.2.2) |
2024-05-10 01:32:13 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds) |
2024-05-10 01:40:57 +0200 | ocra8 | (ocra8@user/ocra8) |
2024-05-10 01:42:29 +0200 | kimiamania | (~76637481@user/kimiamania) (Quit: PegeLinux) |
2024-05-10 01:42:38 +0200 | agent314_ | (~quassel@103.75.11.77) |
2024-05-10 01:43:10 +0200 | kimiamania | (~76637481@user/kimiamania) |
2024-05-10 01:45:03 +0200 | agent314 | (~quassel@static-198-54-134-186.cust.tzulo.com) (Ping timeout: 260 seconds) |
2024-05-10 01:46:55 +0200 | ocra8 | (ocra8@user/ocra8) (Quit: WeeChat 4.2.2) |
2024-05-10 01:47:17 +0200 | ocra8 | (ocra8@user/ocra8) |
2024-05-10 01:48:46 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer) |
2024-05-10 01:54:11 +0200 | mud | (~mud@user/kadoban) |
2024-05-10 01:55:30 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 255 seconds) |
2024-05-10 02:04:18 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-05-10 02:13:07 +0200 | mud | (~mud@user/kadoban) (Quit: quit) |
2024-05-10 02:19:23 +0200 | <Axman6> | kaol: I always love a "It's now N times faster" story - spill the beans? |
2024-05-10 02:38:50 +0200 | ocra8 | (ocra8@user/ocra8) (Quit: WeeChat 4.2.2) |
2024-05-10 02:41:17 +0200 | ocra8 | (ocra8@user/ocra8) |
2024-05-10 02:42:52 +0200 | yin | (~yin@user/zero) |
2024-05-10 02:44:51 +0200 | agent314 | (~quassel@87.249.134.25) |
2024-05-10 02:47:10 +0200 | steew_ | (~steew@user/steew) |
2024-05-10 02:47:37 +0200 | steew | (~steew@user/steew) (Ping timeout: 256 seconds) |
2024-05-10 02:47:37 +0200 | steew_ | steew |
2024-05-10 02:47:43 +0200 | agent314_ | (~quassel@103.75.11.77) (Ping timeout: 272 seconds) |
2024-05-10 02:56:23 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds) |
2024-05-10 02:58:13 +0200 | EvanR | (~EvanR@user/evanr) (Remote host closed the connection) |
2024-05-10 02:58:32 +0200 | EvanR | (~EvanR@user/evanr) |
2024-05-10 02:59:56 +0200 | yin | (~yin@user/zero) (Ping timeout: 252 seconds) |
2024-05-10 03:16:57 +0200 | otto_s | (~user@p5b0442c9.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2024-05-10 03:18:32 +0200 | otto_s | (~user@p4ff273b9.dip0.t-ipconnect.de) |
2024-05-10 03:19:22 +0200 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2024-05-10 03:22:54 +0200 | philopsos1 | (~caecilius@user/philopsos) (Ping timeout: 268 seconds) |
2024-05-10 03:23:07 +0200 | aforemny | (~aforemny@2001:9e8:6ce3:a900:fdc1:1211:f6bf:cc11) |
2024-05-10 03:23:31 +0200 | aforemny_ | (~aforemny@2001:9e8:6ccf:3a00:7430:dc9b:b924:f855) (Ping timeout: 260 seconds) |
2024-05-10 03:25:59 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) |
2024-05-10 03:35:39 +0200 | xff0x | (~xff0x@2405:6580:b080:900:2714:5816:85fc:7cc) (Ping timeout: 260 seconds) |
2024-05-10 03:40:40 +0200 | mei | (~mei@user/mei) (Remote host closed the connection) |
2024-05-10 03:43:05 +0200 | mei | (~mei@user/mei) |
2024-05-10 03:54:23 +0200 | <monochrom> | We have added security patches, it is now 0.3 times faster. >:) |
2024-05-10 03:54:34 +0200 | <monochrom> | err, 0.3 times as fast. :) |
2024-05-10 03:58:16 +0200 | arahael | (~arahael@119-18-1-21.771201.syd.nbn.aussiebb.net) (Ping timeout: 260 seconds) |
2024-05-10 04:09:47 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 252 seconds) |
2024-05-10 04:17:47 +0200 | td_ | (~td@i5387093C.versanet.de) (Ping timeout: 268 seconds) |
2024-05-10 04:19:35 +0200 | td_ | (~td@i5387091A.versanet.de) |
2024-05-10 04:24:31 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2024-05-10 04:25:07 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds) |
2024-05-10 04:32:16 +0200 | philopsos | (~caecilius@user/philopsos) |
2024-05-10 04:33:42 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-05-10 04:34:30 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-05-10 04:35:02 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-05-10 04:36:03 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-05-10 04:36:16 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-05-10 04:37:11 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-05-10 04:37:32 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-05-10 04:42:59 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 272 seconds) |
2024-05-10 04:44:48 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2024-05-10 04:45:39 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 260 seconds) |
2024-05-10 04:57:38 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-05-10 05:14:02 +0200 | flounders_ | flounders |
2024-05-10 05:15:42 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) |
2024-05-10 05:40:05 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 240 seconds) |
2024-05-10 05:46:35 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 268 seconds) |
2024-05-10 05:46:46 +0200 | <EvanR> | speed = 0.3x !!!! |
2024-05-10 05:50:15 +0200 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
2024-05-10 05:50:47 +0200 | rvalue | (~rvalue@user/rvalue) |
2024-05-10 05:57:16 +0200 | mulk | (~mulk@p5b112e4a.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2024-05-10 05:57:17 +0200 | ddellacosta | (~ddellacos@ool-44c73d29.dyn.optonline.net) |
2024-05-10 06:00:32 +0200 | aforemny | (~aforemny@2001:9e8:6ce3:a900:fdc1:1211:f6bf:cc11) (Ping timeout: 260 seconds) |
2024-05-10 06:00:36 +0200 | aforemny_ | (~aforemny@2001:9e8:6cf2:cc00:4716:28bd:787d:4b08) |
2024-05-10 06:04:54 +0200 | mulk | (~mulk@p5b112e4a.dip0.t-ipconnect.de) |
2024-05-10 06:13:27 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-05-10 06:14:46 +0200 | xff0x | (~xff0x@om126254198057.33.openmobile.ne.jp) |
2024-05-10 06:15:42 +0200 | xff0x | (~xff0x@om126254198057.33.openmobile.ne.jp) (Read error: Connection reset by peer) |
2024-05-10 06:16:48 +0200 | xdminsy | (~xdminsy@117.147.70.240) (Ping timeout: 268 seconds) |
2024-05-10 06:18:59 +0200 | dysthesis | (~dysthesis@user/dysthesis) |
2024-05-10 06:20:24 +0200 | rustisafungus | (~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) |
2024-05-10 06:24:31 +0200 | <kaol> | Axman6: https://gitlab.com/kaol/recommender-als Has the steps in recent git history. Numerical stuff where I avoided recomputing some stuff and changed others to use a better algorithm. Like not turning a matrix to a list of vectors if I could do the same thing on the original matrix. |
2024-05-10 06:28:07 +0200 | dysthesis | (~dysthesis@user/dysthesis) (Quit: WeeChat 4.2.1) |
2024-05-10 06:30:39 +0200 | <kaol> | I had originally only used my library as a part of a larger project but once I had made a small stand alone executable for it it was much easier to just run and test it and I saw that I had done some silly things in it. |
2024-05-10 06:31:05 +0200 | <Axman6> | Noice, always such a good feeling, because it generally means you understand the problem better (but mo faster mo better also) |
2024-05-10 06:34:41 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds) |
2024-05-10 06:43:42 +0200 | <kaol> | My original intent was to port the algorithm to Futhark to see how it'd run on a GPU but I had to revisit it to regain some understanding of it and I find all this clutter now. |
2024-05-10 06:44:57 +0200 | anpad | (~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-05-10 06:46:56 +0200 | anpad | (~pandeyan@user/anpad) |
2024-05-10 06:51:52 +0200 | <kaol> | The original tardiness didn't matter all that much though since it was still fast enough for my data and the model building is all done in the background. |
2024-05-10 07:00:31 +0200 | rustisafungus | (~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
2024-05-10 07:07:15 +0200 | arahael | (~arahael@119-18-1-21.771201.syd.nbn.aussiebb.net) |
2024-05-10 07:09:45 +0200 | yeitrafferin | (~user@2a04:4540:720d:c100:9522:d5b:bf55:c2ec) |
2024-05-10 07:10:33 +0200 | motherfsck | (~motherfsc@user/motherfsck) (Ping timeout: 272 seconds) |
2024-05-10 07:30:05 +0200 | Sgeo_ | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-05-10 07:47:29 +0200 | notzmv | (~daniel@user/notzmv) (Remote host closed the connection) |
2024-05-10 07:52:34 +0200 | motherfsck | (~motherfsc@user/motherfsck) |
2024-05-10 07:52:35 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2024-05-10 07:55:18 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-05-10 07:55:34 +0200 | titibandit | (~titibandi@user/titibandit) |
2024-05-10 07:57:39 +0200 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2024-05-10 07:58:15 +0200 | notzmv | (~daniel@user/notzmv) |
2024-05-10 08:05:00 +0200 | euphores | (~SASL_euph@user/euphores) |
2024-05-10 08:05:01 +0200 | philopsos | (~caecilius@user/philopsos) (Quit: Lost terminal) |
2024-05-10 08:05:44 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2024-05-10 08:07:37 +0200 | oo_miguel | (~Thunderbi@78-11-181-16.static.ip.netia.com.pl) |
2024-05-10 08:13:51 +0200 | causal | (~eric@50.35.88.207) |
2024-05-10 08:30:26 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2024-05-10 08:31:56 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Quit: xff0x) |
2024-05-10 08:36:53 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 240 seconds) |
2024-05-10 08:37:59 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2024-05-10 08:43:40 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds) |
2024-05-10 08:48:43 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-05-10 08:56:17 +0200 | yeitrafferin | (~user@2a04:4540:720d:c100:9522:d5b:bf55:c2ec) (Quit: Leaving) |
2024-05-10 09:05:48 +0200 | arahael | (~arahael@119-18-1-21.771201.syd.nbn.aussiebb.net) (Ping timeout: 260 seconds) |
2024-05-10 09:08:19 +0200 | Mach | (~Mach@92.87.113.25) |
2024-05-10 09:13:22 +0200 | vpan | (~vpan@212.117.1.172) |
2024-05-10 09:13:31 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2024-05-10 09:17:08 +0200 | danza | (~francesco@ba-19-147-188.service.infuturo.it) |
2024-05-10 09:22:36 +0200 | mima | (~mmh@aftr-62-216-211-252.dynamic.mnet-online.de) |
2024-05-10 09:24:32 +0200 | xdminsy | (~xdminsy@117.147.70.240) |
2024-05-10 09:24:57 +0200 | acidjnk_new | (~acidjnk@p200300d6e714dc66380a62904c39c61d.dip0.t-ipconnect.de) |
2024-05-10 09:28:41 +0200 | Mach | (~Mach@92.87.113.25) (Ping timeout: 256 seconds) |
2024-05-10 09:42:12 +0200 | cfricke | (~cfricke@user/cfricke) |
2024-05-10 09:52:44 +0200 | Mach | (~Mach@92.87.113.25) |
2024-05-10 09:54:07 +0200 | chele | (~chele@user/chele) |
2024-05-10 09:54:13 +0200 | philopsos | (~caecilius@user/philopsos) |
2024-05-10 09:59:06 +0200 | gmg | (~user@user/gehmehgeh) |
2024-05-10 10:04:21 +0200 | philopsos | (~caecilius@user/philopsos) (Ping timeout: 268 seconds) |
2024-05-10 10:04:25 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-05-10 10:12:14 +0200 | Square | (~Square@user/square) (Ping timeout: 252 seconds) |
2024-05-10 10:14:30 +0200 | rosco | (~rosco@yp-146-6.tm.net.my) |
2024-05-10 10:16:53 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-05-10 10:17:45 +0200 | tzh | (~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz) |
2024-05-10 10:24:48 +0200 | sawilagar | (~sawilagar@user/sawilagar) |
2024-05-10 10:27:15 +0200 | foul_owl | (~kerry@185.216.231.182) (Ping timeout: 260 seconds) |
2024-05-10 10:28:11 +0200 | atwm | (~atwm@19-193-28-81.ftth.cust.kwaoo.net) (Ping timeout: 252 seconds) |
2024-05-10 10:29:17 +0200 | danza | (~francesco@ba-19-147-188.service.infuturo.it) (Ping timeout: 252 seconds) |
2024-05-10 10:31:18 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-05-10 10:32:08 +0200 | michalz | (~michalz@185.246.207.200) |
2024-05-10 10:35:15 +0200 | pandeyan | (~pandeyan@135-180-52-213.fiber.dynamic.sonic.net) |
2024-05-10 10:36:15 +0200 | anpad | (~pandeyan@user/anpad) (Ping timeout: 256 seconds) |
2024-05-10 10:41:15 +0200 | foul_owl | (~kerry@174-21-80-176.tukw.qwest.net) |
2024-05-10 10:47:05 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2024-05-10 10:49:19 +0200 | danse-nr3 | (~danse-nr3@ba-19-147-188.service.infuturo.it) |
2024-05-10 10:50:32 +0200 | __monty__ | (~toonn@user/toonn) |
2024-05-10 10:50:34 +0200 | zetef | (~quassel@2a02:2f00:5202:1200:2128:605:71c4:66a4) |
2024-05-10 10:51:04 +0200 | danse-nr3 | (~danse-nr3@ba-19-147-188.service.infuturo.it) (Remote host closed the connection) |
2024-05-10 10:51:29 +0200 | danse-nr3 | (~danse-nr3@ba-19-147-188.service.infuturo.it) |
2024-05-10 11:11:49 +0200 | causal | (~eric@50.35.88.207) (Quit: WeeChat 4.1.1) |
2024-05-10 11:12:26 +0200 | causal | (~eric@50.35.88.207) |
2024-05-10 11:18:05 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 4.2.2) |
2024-05-10 11:26:22 +0200 | atwm | (~atwm@19-193-28-81.ftth.cust.kwaoo.net) |
2024-05-10 11:28:11 +0200 | cfricke | (~cfricke@user/cfricke) |
2024-05-10 11:31:14 +0200 | driib | (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat) |
2024-05-10 11:31:48 +0200 | driib | (~driib@vmi931078.contaboserver.net) |
2024-05-10 11:31:57 +0200 | titibandit | (~titibandi@user/titibandit) (Ping timeout: 255 seconds) |
2024-05-10 11:33:25 +0200 | paddymahoney | (~paddymaho@pool-99-250-26-190.cpe.net.cable.rogers.com) |
2024-05-10 11:42:26 +0200 | greenflower | (~greenflow@43.254.176.136) |
2024-05-10 11:42:29 +0200 | paddymahoney | (~paddymaho@pool-99-250-26-190.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds) |
2024-05-10 11:43:10 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2024-05-10 11:45:04 +0200 | visilii | (~visilii@188.254.110.43) |
2024-05-10 11:45:08 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-05-10 11:47:23 +0200 | visilii_ | (~visilii@188.254.126.249) (Ping timeout: 252 seconds) |
2024-05-10 12:03:23 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 260 seconds) |
2024-05-10 12:05:16 +0200 | paddymahoney | (~paddymaho@pool-99-250-26-190.cpe.net.cable.rogers.com) |
2024-05-10 12:10:16 +0200 | pja | (~pja@217.155.153.10) |
2024-05-10 12:13:28 +0200 | greenflower | (~greenflow@43.254.176.136) (Quit: Ping timeout (120 seconds)) |
2024-05-10 12:32:34 +0200 | rosco | (~rosco@yp-146-6.tm.net.my) (Quit: Lost terminal) |
2024-05-10 12:40:47 +0200 | paddymahoney | (~paddymaho@pool-99-250-26-190.cpe.net.cable.rogers.com) (Ping timeout: 264 seconds) |
2024-05-10 12:47:43 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 256 seconds) |
2024-05-10 12:50:13 +0200 | paddymahoney | (~paddymaho@pool-99-250-26-190.cpe.net.cable.rogers.com) |
2024-05-10 12:51:36 +0200 | foul_owl | (~kerry@174-21-80-176.tukw.qwest.net) (Ping timeout: 255 seconds) |
2024-05-10 12:57:01 +0200 | paddymahoney | (~paddymaho@pool-99-250-26-190.cpe.net.cable.rogers.com) (Ping timeout: 268 seconds) |
2024-05-10 12:57:24 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2024-05-10 12:58:24 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds) |
2024-05-10 13:00:20 +0200 | Lord_of_Life_ | Lord_of_Life |
2024-05-10 13:00:41 +0200 | euleritian | (~euleritia@dynamic-176-002-065-139.176.2.pool.telefonica.de) |
2024-05-10 13:02:03 +0200 | inedia | (~irc@2600:3c00:e000:287::1) (Ping timeout: 272 seconds) |
2024-05-10 13:02:47 +0200 | inedia | (~irc@2600:3c00:e000:287::1) |
2024-05-10 13:05:02 +0200 | foul_owl | (~kerry@71.212.149.206) |
2024-05-10 13:07:34 +0200 | danse-nr3 | (~danse-nr3@ba-19-147-188.service.infuturo.it) (Read error: Connection reset by peer) |
2024-05-10 13:10:59 +0200 | foul_owl | (~kerry@71.212.149.206) (Ping timeout: 252 seconds) |
2024-05-10 13:23:42 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-05-10 13:24:25 +0200 | foul_owl | (~kerry@185.216.231.180) |
2024-05-10 13:31:19 +0200 | yeitrafferin | (~user@2a04:4540:720d:c100:db27:e626:fcd2:9951) |
2024-05-10 13:36:57 +0200 | barak | (~barak@2a0d:6fc2:68c1:7200:3cf2:a87d:a02b:3e21) |
2024-05-10 14:04:56 +0200 | ddellacosta | (~ddellacos@ool-44c73d29.dyn.optonline.net) (Ping timeout: 260 seconds) |
2024-05-10 14:07:55 +0200 | ocra8 | (ocra8@user/ocra8) (Quit: WeeChat 4.2.2) |
2024-05-10 14:09:59 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-05-10 14:11:48 +0200 | paddymahoney | (~paddymaho@pool-99-250-26-190.cpe.net.cable.rogers.com) |
2024-05-10 14:12:37 +0200 | cfricke | (~cfricke@user/cfricke) |
2024-05-10 14:17:30 +0200 | paddymahoney | (~paddymaho@pool-99-250-26-190.cpe.net.cable.rogers.com) (Ping timeout: 268 seconds) |
2024-05-10 14:19:01 +0200 | xff0x | (~xff0x@2405:6580:b080:900:b7f1:8627:ae1f:1fb0) |
2024-05-10 14:22:59 +0200 | Hafydd | (~Hafydd@user/hafydd) (Quit: WeeChat 4.2.2) |
2024-05-10 14:25:08 +0200 | ocra8 | (ocra8@user/ocra8) |
2024-05-10 14:30:39 +0200 | danse-nr3 | (~danse-nr3@an-19-180-249.service.infuturo.it) |
2024-05-10 14:32:12 +0200 | Hafydd | (~Hafydd@user/hafydd) |
2024-05-10 14:33:43 +0200 | ocra8 | (ocra8@user/ocra8) (Ping timeout: 246 seconds) |
2024-05-10 14:34:51 +0200 | xdminsy | (~xdminsy@117.147.70.240) (Quit: Konversation terminated!) |
2024-05-10 14:35:16 +0200 | xdminsy | (~xdminsy@117.147.70.240) |
2024-05-10 14:35:24 +0200 | danse-nr3 | (~danse-nr3@an-19-180-249.service.infuturo.it) (Remote host closed the connection) |
2024-05-10 14:35:28 +0200 | ocra8 | (ocra8@user/ocra8) |
2024-05-10 14:35:48 +0200 | danse-nr3 | (~danse-nr3@an-19-180-249.service.infuturo.it) |
2024-05-10 14:37:07 +0200 | ocra8 | (ocra8@user/ocra8) (Client Quit) |
2024-05-10 14:37:22 +0200 | ocra8 | (ocra8@user/ocra8) |
2024-05-10 14:44:07 +0200 | ft | (~ft@p508dba4c.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2024-05-10 14:45:55 +0200 | ft | (~ft@p508db8fc.dip0.t-ipconnect.de) |
2024-05-10 14:45:56 +0200 | Guest85 | (~Guest42@94-255-250-108.cust.bredband2.com) |
2024-05-10 14:46:36 +0200 | <Guest85> | Hello, I'm trying to install ghcup on Ubuntu 22.04 using the curl script on their web page, but the configure step says it can't find my c++ std library. I have searched the web and can't find anything useful. Is this a known problem? Error message in brief: "configure: error: Failed to find C++ standard library" |
2024-05-10 14:48:05 +0200 | xdminsy | (~xdminsy@117.147.70.240) (Read error: Connection reset by peer) |
2024-05-10 14:48:43 +0200 | stef204 | (~stef204@user/stef204) |
2024-05-10 14:51:07 +0200 | manwithluck | (manwithluc@gateway/vpn/protonvpn/manwithluck) (Ping timeout: 256 seconds) |
2024-05-10 14:52:42 +0200 | xdminsy | (~xdminsy@117.147.70.240) |
2024-05-10 14:52:52 +0200 | <int-e> | So what did you do exactly? Do you have a working C++ compiler? (Either clang (executable clang++) or g++) |
2024-05-10 14:53:39 +0200 | manwithluck | (~manwithlu@149.102.244.20) |
2024-05-10 14:55:45 +0200 | demon-cat | (~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net) (Read error: Connection reset by peer) |
2024-05-10 15:03:06 +0200 | dagit9841 | (~dagit@2001:558:6025:38:71c6:9d58:7252:8976) (Read error: Connection reset by peer) |
2024-05-10 15:03:07 +0200 | <Guest85> | I did |
2024-05-10 15:03:08 +0200 | <Guest85> | curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh |
2024-05-10 15:03:08 +0200 | <Guest85> | My C++ compiler is |
2024-05-10 15:03:09 +0200 | <Guest85> | dpkg -l|grep libstdc++ |
2024-05-10 15:03:09 +0200 | <Guest85> | ii libstdc++-11-dev:amd64 11.4.0-1ubuntu1~22.04 amd64 GNU Standard C++ Library v3 (development files) |
2024-05-10 15:03:10 +0200 | <Guest85> | ii libstdc++6:amd64 12.3.0-1ubuntu1~22.04 amd64 GNU Standard C++ Library v3 |
2024-05-10 15:03:10 +0200 | <Guest85> | So it seems to be correctly installed (I have compiled other stuff successfully, for instance C++ code for CUDA) |
2024-05-10 15:05:05 +0200 | kayvank | (~user@52-119-115-185.PUBLIC.monkeybrains.net) |
2024-05-10 15:06:19 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) |
2024-05-10 15:06:59 +0200 | <Guest85> | Last lines of .ghcup/logs/ghc-configure.log: |
2024-05-10 15:07:00 +0200 | <Guest85> | checking C++ standard library flavour... libstdc++ |
2024-05-10 15:07:00 +0200 | <Guest85> | checking for linkage against 'stdc++'... failed |
2024-05-10 15:07:01 +0200 | <Guest85> | checking for linkage against 'stdc++ supc++'... failed |
2024-05-10 15:07:35 +0200 | <danse-nr3> | how is that ... ? |
2024-05-10 15:07:37 +0200 | <danse-nr3> | @paste |
2024-05-10 15:07:37 +0200 | <lambdabot> | A pastebin: https://paste.debian.net/ |
2024-05-10 15:10:48 +0200 | <Guest85> | Sorry, I'll use tha pastebin next time. Could it be the supc++ that is misssing? |
2024-05-10 15:13:53 +0200 | mankanor | (~mankanor@210.185.176.242) |
2024-05-10 15:16:47 +0200 | mankanor | (~mankanor@210.185.176.242) (Remote host closed the connection) |
2024-05-10 15:31:09 +0200 | <Guest85> | Maybe it's possible to tell by setting an environment variable, helping ghcup to find my libstdc++ ? |
2024-05-10 15:31:59 +0200 | <jackdk> | Do you have the entire autoconf configure.log? Usually that shows what commands it tried to execute, about 2/3 of the way through |
2024-05-10 15:32:02 +0200 | <carbolymer> | can I have multiple threads waiting on `readMVar`, do `tryPutMVar mv () >> tryTakeMVar mv` and expect that all of them to wake up? |
2024-05-10 15:35:55 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-05-10 15:35:56 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 256 seconds) |
2024-05-10 15:36:50 +0200 | <Lears> | carbolymer: IIRC, threads are woken in the order they block, so yes. |
2024-05-10 15:43:45 +0200 | paddymahoney | (~paddymaho@pool-99-250-26-190.cpe.net.cable.rogers.com) |
2024-05-10 15:45:20 +0200 | <carbolymer> | hmm, can I use TMVar for multiple-wakeup? I guess not, because readTMVar does take -> put |
2024-05-10 15:45:41 +0200 | <carbolymer> | I wonder how to do it in STM |
2024-05-10 15:45:44 +0200 | AlexZenon | (~alzenon@178.34.162.125) (Ping timeout: 260 seconds) |
2024-05-10 15:49:37 +0200 | Mach | (~Mach@92.87.113.25) (Ping timeout: 256 seconds) |
2024-05-10 15:50:29 +0200 | <Lears> | You can just have them wake when a TVar holding a Bool is True. |
2024-05-10 15:52:13 +0200 | dagit | (~dagit@2001:558:6025:38:71c6:9d58:7252:8976) |
2024-05-10 15:52:37 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-05-10 15:53:23 +0200 | cfricke | (~cfricke@user/cfricke) |
2024-05-10 15:53:47 +0200 | paddymahoney | (~paddymaho@pool-99-250-26-190.cpe.net.cable.rogers.com) (Ping timeout: 252 seconds) |
2024-05-10 15:55:25 +0200 | AlexZenon | (~alzenon@178.34.162.125) |
2024-05-10 15:57:08 +0200 | <Lears> | E.g. `makeMultipleWakeuperer = do { wake <- newTVarIO False; let { waitForIt = atomically (readTVar wake >>= check); readySetGo = atomically (writeTVar wake True) }; pure (waitForIt, readySetGo)`. |
2024-05-10 16:02:57 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-05-10 16:05:33 +0200 | Guest85 | (~Guest42@94-255-250-108.cust.bredband2.com) (Ping timeout: 250 seconds) |
2024-05-10 16:06:21 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-05-10 16:07:34 +0200 | AlexZenon | (~alzenon@178.34.162.125) (Ping timeout: 268 seconds) |
2024-05-10 16:08:12 +0200 | billchenchina | (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) |
2024-05-10 16:11:25 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 272 seconds) |
2024-05-10 16:15:11 +0200 | AlexZenon | (~alzenon@178.34.162.125) |
2024-05-10 16:16:22 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2024-05-10 16:21:49 +0200 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2024-05-10 16:24:10 +0200 | cfricke | (~cfricke@user/cfricke) |
2024-05-10 16:26:07 +0200 | <carbolymer> | Lears: ah but it requires check to run in STM. I'd like to do an IO action on lock update, and then wait for another update. |
2024-05-10 16:26:16 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2024-05-10 16:26:49 +0200 | gmg | (~user@user/gehmehgeh) |
2024-05-10 16:28:42 +0200 | Guest10 | (~Guest42@94-255-250-108.cust.bredband2.com) |
2024-05-10 16:29:40 +0200 | <Guest10> | jackdk, I am now Guest10, I was previously Guest85 |
2024-05-10 16:32:02 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-05-10 16:32:52 +0200 | zetef | (~quassel@2a02:2f00:5202:1200:2128:605:71c4:66a4) (Ping timeout: 260 seconds) |
2024-05-10 16:33:49 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 4.2.2) |
2024-05-10 16:34:30 +0200 | <Lears> | carbolymer: You can also make a `reset = atomically (writeTVar wake False)`. Then your master thread would `readySetGo >> reset` while your workers `forever (waitForIt >> doTheThing)`. This isn't really a good idea though, whether with STM or an MVar. Consider using a TChan: have your master thread write to a `newBroadcastTChan`, while your workers read from `dupTChans` produced from it. |
2024-05-10 16:34:38 +0200 | titibandit | (~titibandi@user/titibandit) |
2024-05-10 16:35:18 +0200 | <carbolymer> | oh yeah dupTChan is much better |
2024-05-10 16:35:31 +0200 | vpan | (~vpan@212.117.1.172) (Quit: Leaving.) |
2024-05-10 16:40:21 +0200 | <carbolymer> | Guest10: don't be a guest, make yourself at home |
2024-05-10 16:50:15 +0200 | <Guest10> | ok :-) |
2024-05-10 16:50:26 +0200 | rvalue- | (~rvalue@user/rvalue) |
2024-05-10 16:50:59 +0200 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 252 seconds) |
2024-05-10 16:53:05 +0200 | Guest10 | brox66 |
2024-05-10 16:53:17 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-05-10 16:54:28 +0200 | rvalue- | rvalue |
2024-05-10 16:54:34 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-05-10 16:56:29 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 252 seconds) |
2024-05-10 16:56:44 +0200 | son0p | (~ff@152.203.77.121) (Remote host closed the connection) |
2024-05-10 16:56:58 +0200 | brox66 | (~Guest42@94-255-250-108.cust.bredband2.com) (Changing host) |
2024-05-10 16:56:58 +0200 | brox66 | (~Guest42@user/brox66) |
2024-05-10 16:59:45 +0200 | <brox66> | jackdk, I am now registered. Here is the link to pastebin, with my configure log from ghcup installation: https://paste.debian.net/1316549/ |
2024-05-10 17:02:19 +0200 | <brox66> | What is the current recommended way to install haskell stack on Ubuntu? I have been away for a few years from setting up haskell environments. |
2024-05-10 17:03:41 +0200 | danse-nr3 | (~danse-nr3@an-19-180-249.service.infuturo.it) (Ping timeout: 268 seconds) |
2024-05-10 17:03:56 +0200 | <jackdk> | use ghcup if you can, and cabal is a lot better than it used to be. I gave stack away years ago |
2024-05-10 17:04:35 +0200 | <jackdk> | I wish I knew why configure is testing for all those llvm compilers since it found gcc. I wonder if you haven't got c++ stuff installed properly |
2024-05-10 17:05:37 +0200 | <jackdk> | https://www.haskell.org/ghcup/install/#linux-ubuntu is the packages you need, though I would've thought the script would've installed them for you |
2024-05-10 17:05:51 +0200 | <jackdk> | I use nix these days so I'm not across ghcup, though it is the default recommendation |
2024-05-10 17:08:11 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-05-10 17:12:19 +0200 | xdminsy | (~xdminsy@117.147.70.240) (Read error: Connection reset by peer) |
2024-05-10 17:12:46 +0200 | <brox66> | jackdk, thanks! I have already installed all those dependencies successfully. I have a working Rust toolchain, a working c++ environment when I try to compile some examples containing c++ code for CUDA demos, so I believe they work correctly. Although there is a setting between verion 11 and version 12 I can set. Maybe that could be a problem. I'll |
2024-05-10 17:12:46 +0200 | <brox66> | try to switch... |
2024-05-10 17:12:47 +0200 | <brox66> | Yes, I got the impression that ghcup is the recommended way now, and got surprised it was so hard to get it working. |
2024-05-10 17:13:34 +0200 | <EvanR> | I'm on ubuntu, ghcup worked |
2024-05-10 17:13:54 +0200 | <brox66> | EvanR, how did you install it? |
2024-05-10 17:14:15 +0200 | <EvanR> | curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh |
2024-05-10 17:15:06 +0200 | euleritian | (~euleritia@dynamic-176-002-065-139.176.2.pool.telefonica.de) (Ping timeout: 268 seconds) |
2024-05-10 17:15:24 +0200 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 268 seconds) |
2024-05-10 17:15:41 +0200 | <EvanR> | or whatever the command on the website was at the time |
2024-05-10 17:16:21 +0200 | euleritian | (~euleritia@dynamic-176-005-132-201.176.5.pool.telefonica.de) |
2024-05-10 17:18:23 +0200 | xdminsy | (~xdminsy@117.147.70.240) |
2024-05-10 17:19:12 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-05-10 17:19:56 +0200 | <brox66> | EvanR and jackdk, I finally got past the error! I switched back from gcc-12 to gcc-11 using update-alternatives, and now it seems to work! Many thanks!! |
2024-05-10 17:23:21 +0200 | target_i | (~target_i@user/target-i/x-6023099) |
2024-05-10 17:24:27 +0200 | AlexZenon | (~alzenon@178.34.162.125) (Ping timeout: 260 seconds) |
2024-05-10 17:25:49 +0200 | rvalue | (~rvalue@user/rvalue) |
2024-05-10 17:25:52 +0200 | xdminsy | (~xdminsy@117.147.70.240) (Quit: Konversation terminated!) |
2024-05-10 17:26:15 +0200 | xdminsy | (~xdminsy@117.147.70.240) |
2024-05-10 17:27:49 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2024-05-10 17:31:26 +0200 | tzh | (~tzh@c-73-164-206-160.hsd1.or.comcast.net) |
2024-05-10 17:31:48 +0200 | spamonia | (~user@user/siracusa) |
2024-05-10 17:34:04 +0200 | AlexZenon | (~alzenon@178.34.162.125) |
2024-05-10 17:42:33 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-05-10 17:43:51 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) |
2024-05-10 17:44:38 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2024-05-10 17:48:19 +0200 | AlexZenon | (~alzenon@178.34.162.125) (Ping timeout: 272 seconds) |
2024-05-10 17:49:19 +0200 | <brox66> | Another problem: stack times out for almost any stack command. I believe it tries to use ipv6. Is there a way to force it to use ipv4 instead? |
2024-05-10 17:49:26 +0200 | atwm | (~atwm@19-193-28-81.ftth.cust.kwaoo.net) (Quit: WeeChat 4.0.5) |
2024-05-10 17:50:18 +0200 | <glguy> | If IPv6 is configured to be broken on your computer you should just fix that |
2024-05-10 17:51:29 +0200 | paddymahoney | (~paddymaho@pool-99-250-26-190.cpe.net.cable.rogers.com) |
2024-05-10 17:53:22 +0200 | AlexZenon | (~alzenon@178.34.162.125) |
2024-05-10 17:56:05 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-05-10 17:58:19 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-05-10 17:58:42 +0200 | <brox66> | glguy, I have previously disabled ipv6 on my system, since many appllication becomes extremely unresponsive due to it. I believe it has to do wih dns queries. I should make another attempt to make it work, but I wish I could focus on Haskell issues and not having to dig deep into ipv6 now... |
2024-05-10 17:59:47 +0200 | <glguy> | most network applications just assume you have a working network stack. It's relatively uncommon for them to provide workarounds individually for one |
2024-05-10 18:00:27 +0200 | tram | (~tram@2a02:586:7e3a:cb96:c7d7:78d4:c6de:913a) |
2024-05-10 18:01:32 +0200 | paddymahoney | (~paddymaho@pool-99-250-26-190.cpe.net.cable.rogers.com) (Ping timeout: 260 seconds) |
2024-05-10 18:02:34 +0200 | <EvanR> | I leave my IPV6 enabled and it works |
2024-05-10 18:02:59 +0200 | <EvanR> | but that's entirely thanks to my ISP |
2024-05-10 18:04:26 +0200 | __monty_1 | (~toonn@user/toonn) |
2024-05-10 18:05:03 +0200 | AlexZenon | (~alzenon@178.34.162.125) (Ping timeout: 260 seconds) |
2024-05-10 18:05:19 +0200 | __monty__ | (~toonn@user/toonn) (Killed (NickServ (GHOST command used by __monty_1))) |
2024-05-10 18:05:27 +0200 | __monty_1 | __monty__ |
2024-05-10 18:07:42 +0200 | <raehik> | Does GHC place a limit on number of fields in a data type? I'm doing some generics and want to know that I can report the index of a field as an Int or something easier than a Natural. |
2024-05-10 18:07:59 +0200 | <raehik> | s/number of fields in a data type/number of fields in a constructor |
2024-05-10 18:08:02 +0200 | AlexZenon | (~alzenon@178.34.162.125) |
2024-05-10 18:09:24 +0200 | <EvanR> | if you go over max Int, you'll probably have other problems first |
2024-05-10 18:09:26 +0200 | <raehik> | I guess realistically no one's getting past 2^16. but curious if there's a hard stop |
2024-05-10 18:10:40 +0200 | <EvanR> | > 2^29 |
2024-05-10 18:10:42 +0200 | <lambdabot> | 536870912 |
2024-05-10 18:11:11 +0200 | <raehik> | you make a good point lambdabot |
2024-05-10 18:11:15 +0200 | <EvanR> | > maxBound :: Int |
2024-05-10 18:11:16 +0200 | <lambdabot> | 9223372036854775807 |
2024-05-10 18:12:21 +0200 | <raehik> | I realize I can perform a transformation early so I never have to return a Natural, so I'm more certain the reification will get inlined now. so lucky this non-issue will remain so xd |
2024-05-10 18:12:31 +0200 | yeitrafferin | (~user@2a04:4540:720d:c100:db27:e626:fcd2:9951) (Quit: Leaving) |
2024-05-10 18:13:01 +0200 | <brox66> | glguy, I guess you are right. But nevertheless, if ipv6 doen't work for whatever reason, it would be good to be able to fall back to ipv4. I have seen others having the same problem. |
2024-05-10 18:13:44 +0200 | <glguy> | I don't know of any options for stack. I think you just have to configure your network first to use it |
2024-05-10 18:16:46 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 268 seconds) |
2024-05-10 18:21:18 +0200 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
2024-05-10 18:21:30 +0200 | brox66 | (~Guest42@user/brox66) (Quit: Client closed) |
2024-05-10 18:21:47 +0200 | rvalue | (~rvalue@user/rvalue) |
2024-05-10 18:22:50 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2024-05-10 18:23:08 +0200 | __monty__ | (~toonn@user/toonn) |
2024-05-10 18:23:15 +0200 | __monty__ | (~toonn@user/toonn) (Client Quit) |
2024-05-10 18:23:47 +0200 | __monty__ | (~toonn@user/toonn) |
2024-05-10 18:34:58 +0200 | philopsos | (~caecilius@user/philopsos) |
2024-05-10 18:38:33 +0200 | mima | (~mmh@aftr-62-216-211-252.dynamic.mnet-online.de) (Ping timeout: 255 seconds) |
2024-05-10 18:40:02 +0200 | billchenchina | (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Remote host closed the connection) |
2024-05-10 18:40:23 +0200 | billchenchina | (~billchenc@103.152.35.21) |
2024-05-10 18:43:38 +0200 | billchenchina | (~billchenc@103.152.35.21) (Remote host closed the connection) |
2024-05-10 18:43:54 +0200 | billchenchina | (~billchenc@103.152.35.21) |
2024-05-10 18:46:04 +0200 | xdminsy | (~xdminsy@117.147.70.240) (Ping timeout: 246 seconds) |
2024-05-10 18:52:52 +0200 | stef204 | (~stef204@user/stef204) (Quit: WeeChat 4.2.2) |
2024-05-10 19:04:25 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-05-10 19:25:01 +0200 | <justsomeguy> | What am I doing wront with my lconcat function here? https://termbin.com/krr5 |
2024-05-10 19:28:40 +0200 | <int-e> | justsomeguy: nothing |
2024-05-10 19:28:57 +0200 | <int-e> | (the `nested` thing in the comment is flawed though) |
2024-05-10 19:30:22 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-05-10 19:32:11 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 272 seconds) |
2024-05-10 19:38:18 +0200 | <ski> | Cons x xs `lappend` ys = Cons x (xs `lappend` ys) |
2024-05-10 19:38:29 +0200 | <ski> | lconcat = foldr lappend Nil |
2024-05-10 19:40:24 +0200 | <ski> | Cons m mfs <*> mxs = fmap m mxs `lappend` (mfs <*> mxs) |
2024-05-10 19:42:19 +0200 | ocra8 | (ocra8@user/ocra8) (Quit: WeeChat 4.2.2) |
2024-05-10 19:45:29 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2024-05-10 19:48:03 +0200 | brox66 | (~brox66@user/brox66) |
2024-05-10 20:04:49 +0200 | zetef | (~quassel@2a02:2f00:5202:1200:df0b:9c52:7feb:3551) |
2024-05-10 20:08:23 +0200 | philopsos | (~caecilius@user/philopsos) (Ping timeout: 264 seconds) |
2024-05-10 20:08:39 +0200 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
2024-05-10 20:15:27 +0200 | hippoid | (~hippoid@user/hippoid) |
2024-05-10 20:17:18 +0200 | <hippoid> | is there a way to go `String -> IO FilePath`, which does the equivalent of `which nvim`? I want a haskell thing to give me the path of a program found in the env var $PATH |
2024-05-10 20:18:12 +0200 | akegalj | (~akegalj@141-136-219-195.dsl.iskon.hr) |
2024-05-10 20:18:28 +0200 | euleritian | (~euleritia@dynamic-176-005-132-201.176.5.pool.telefonica.de) (Ping timeout: 246 seconds) |
2024-05-10 20:22:55 +0200 | <ncf> | hippoid: https://ircbrowse.tomsmeding.com/day/lchaskell/2023/05/27?id=971542#trid971542 |
2024-05-10 20:23:31 +0200 | <yushyin> | Turtle.Prelude.which, Shelly.which |
2024-05-10 20:24:32 +0200 | <yushyin> | ah lol, https://ircbrowse.tomsmeding.com/day/lchaskell/2023/05/27?id=971562#trid971562 |
2024-05-10 20:25:34 +0200 | <mauke> | https://hackage.haskell.org/package/directory-1.3.8.4/docs/System-Directory.html#v:findExecutable |
2024-05-10 20:25:40 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2024-05-10 20:31:05 +0200 | <hippoid> | thanks everyone. |
2024-05-10 20:31:42 +0200 | gmg | (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
2024-05-10 20:36:24 +0200 | <justsomeguy> | How do I write a two-dimensional list with this datatype? data List a = Nil | Cons a (List a) deriving (Eq, Ord, Show) |
2024-05-10 20:37:10 +0200 | <mauke> | List (List a) -- a list of lists |
2024-05-10 20:38:30 +0200 | akegalj | (~akegalj@141-136-219-195.dsl.iskon.hr) (Quit: leaving) |
2024-05-10 20:38:31 +0200 | gmg | (~user@user/gehmehgeh) |
2024-05-10 20:39:52 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-05-10 20:41:49 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-05-10 20:42:04 +0200 | Square | (~Square@user/square) |
2024-05-10 20:43:32 +0200 | Henson | (~kvirc@192-0-202-2.cpe.teksavvy.com) |
2024-05-10 20:43:38 +0200 | <justsomeguy> | I just came up with ·∾ Cons (Cons 1 (Cons 2 (Cons 3 Nil))) (Cons (Cons 4 (Cons 5 (Cons 5 Nil))) Nil) but I'm not sure if it's what I want. I'm trying to write the equivalent of [[1,2,3],[4,5,6]]. |
2024-05-10 20:44:20 +0200 | <mauke> | that looks right |
2024-05-10 20:44:46 +0200 | <int-e> | @let data List a = Nil | Cons a (List a) deriving Show |
2024-05-10 20:44:47 +0200 | <lambdabot> | Defined. |
2024-05-10 20:44:52 +0200 | <mauke> | > let cons = (:); nil = [] in cons (cons 1 (cons 2 (cons 3 nil))) (cons (cons 4 (cons 5 (cons 6 nil))) nil) |
2024-05-10 20:44:53 +0200 | <lambdabot> | [[1,2,3],[4,5,6]] |
2024-05-10 20:45:19 +0200 | <int-e> | > let fromList = foldr Cons Nil in fromList (map fromList [[1,2,3],[4,5,6]]) |
2024-05-10 20:45:21 +0200 | <lambdabot> | Cons (Cons 1 (Cons 2 (Cons 3 Nil))) (Cons (Cons 4 (Cons 5 (Cons 6 Nil))) Nil) |
2024-05-10 20:45:47 +0200 | <int-e> | justsomeguy: your last 5 should be a 6 |
2024-05-10 20:46:54 +0200 | <justsomeguy> | Good catch. |
2024-05-10 20:47:41 +0200 | <Henson> | does anybody know how to use Aeson to parse nested JSON with potentially missing fields. Say for JSON we have: 'foo': { 'bar': 2 } but sometimes those can be missing, and we want to use Aeson like (o .:? "foo") >>= (.:? "bar") The problem is that to monadically chain Parsers together with >>= they have to be Objects inside, but .:? produces a Maybe Object which the second level of .:? |
2024-05-10 20:48:05 +0200 | <Henson> | doesn't like. Is there some way to chain them together with potential failures to produce a Maybe Int in the end. |
2024-05-10 20:48:46 +0200 | <Henson> | because the way I'm having to do this is to individually extract the optional fields, and do case switches on them before going to the next level, which is ugly. |
2024-05-10 20:53:59 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-05-10 20:55:44 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-05-10 21:01:05 +0200 | <probie> | If you concern is ugliness, you could always write a new operator which handles the `Maybe Object` e.g. `?:? :: FromJSON a => Maybe Object -> Key -> Parser (Maybe a); Nothing ?:? _ = pure Nothing; (Just o) ?:? k = o .:? k` and then do something like `(o .:? "foo") >>= (?:? "bar")` |
2024-05-10 21:01:32 +0200 | <ncf> | or use lens |
2024-05-10 21:03:05 +0200 | <justsomeguy> | int-e: Why does the second nested list need an extra Cons around it? |
2024-05-10 21:03:12 +0200 | <probie> | Does Aeson ship with lenses these days, or is that still yet another dependency (in addition to both aeson and lens) |
2024-05-10 21:04:07 +0200 | <int-e> | justsomeguy: it's from the outer list |
2024-05-10 21:04:58 +0200 | <int-e> | justsomeguy: just work your way in from the outside: [[1,2,3],[4,5,6]] becomes Cons [1,2,3] (Cons [4,5,6] Nil). And you already know how to deal with the two inner lists |
2024-05-10 21:05:15 +0200 | <int-e> | (Just be careful to add enough parentheses) |
2024-05-10 21:06:02 +0200 | <int-e> | Or, well, be lazy like I was above and let Haskell do it for you. |
2024-05-10 21:06:39 +0200 | brox66 | (~brox66@user/brox66) (Quit: Client closed) |
2024-05-10 21:06:48 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 260 seconds) |
2024-05-10 21:07:22 +0200 | <ncf> | or i guess you could chain (.:) and use <|> pure Nothing |
2024-05-10 21:07:41 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-05-10 21:09:48 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-05-10 21:10:04 +0200 | <Henson> | ncf: can you give an example of how I'd do the chaining? |
2024-05-10 21:12:03 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 256 seconds) |
2024-05-10 21:12:13 +0200 | zetef | (~quassel@2a02:2f00:5202:1200:df0b:9c52:7feb:3551) (Remote host closed the connection) |
2024-05-10 21:13:05 +0200 | zetef | (~quassel@2a02:2f00:5202:1200:df0b:9c52:7feb:3551) |
2024-05-10 21:13:27 +0200 | <ncf> | i guess (.: "foo") >=> (.: "bar") |
2024-05-10 21:15:06 +0200 | <Henson> | probie, ncf: thank you for your help. I'll give your suggestions a try. |
2024-05-10 21:16:00 +0200 | <justsomeguy> | int-e: Is it possible to write a toList function that will convert a List of arbitrary depth to []? |
2024-05-10 21:16:19 +0200 | <justsomeguy> | I think it's probably not, because the type system wants to know the dimension of the list beforehand... |
2024-05-10 21:16:20 +0200 | <int-e> | justsomeguy: yes, foldr (:) [] |
2024-05-10 21:16:29 +0200 | <int-e> | justsomeguy: since you already have Foldable |
2024-05-10 21:16:46 +0200 | <ncf> | you could wrap the dimension in an existential |
2024-05-10 21:16:56 +0200 | <int-e> | :t Data.Foldable.toList |
2024-05-10 21:16:57 +0200 | <lambdabot> | Foldable t => t a -> [a] |
2024-05-10 21:17:06 +0200 | <int-e> | (It even exists there already) |
2024-05-10 21:17:40 +0200 | <int-e> | (Not exported by Prelude. Too many other modules define toList functions.) |
2024-05-10 21:18:35 +0200 | <mauke> | that only does one level |
2024-05-10 21:18:38 +0200 | <justsomeguy> | To get what I want (a 2-dimensional [] from a 2-dimensional List), I have to use toList $ fmap toList nested. |
2024-05-10 21:18:57 +0200 | <justsomeguy> | But the goal is to not have to specify the depth. |
2024-05-10 21:18:57 +0200 | <int-e> | justsomeguy: right |
2024-05-10 21:19:21 +0200 | <justsomeguy> | ...I finally feel like I'm learning something... |
2024-05-10 21:19:33 +0200 | <int-e> | you can't reasily do that... you'll have to play some nasty type class tricks. |
2024-05-10 21:20:37 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) |
2024-05-10 21:21:36 +0200 | <ncf> | is there a GADT that builds the sum of powers of a functor |
2024-05-10 21:21:43 +0200 | <ncf> | 1 + f + f² + ... |
2024-05-10 21:22:11 +0200 | mankanor | (~mankanor@210.185.176.242) |
2024-05-10 21:22:37 +0200 | <ncf> | Powers f a = Z | S (Powers f (f a)) ? |
2024-05-10 21:22:48 +0200 | <EvanR> | 1 / (1 - f) |
2024-05-10 21:22:53 +0200 | <ncf> | no wait |
2024-05-10 21:23:01 +0200 | <ncf> | EvanR: lol |
2024-05-10 21:23:08 +0200 | <ski> | s/Z/Z a/ |
2024-05-10 21:23:20 +0200 | <probie> | Assuming f is `[]`, do you mean something that's equivalent to `data Lists a = F0 a | F1 [a] | F2 [[a]] | F3 [[[a]]] ...` or have I misinterpreted? |
2024-05-10 21:23:23 +0200 | <ncf> | oh yeah |
2024-05-10 21:23:25 +0200 | mankanor | (~mankanor@210.185.176.242) (Remote host closed the connection) |
2024-05-10 21:23:43 +0200 | <ski> | (and this is a nonregular data type, not a GADT) |
2024-05-10 21:23:48 +0200 | <ncf> | yes yes |
2024-05-10 21:23:54 +0200 | mankanor | (~mankanor@210.185.176.242) |
2024-05-10 21:23:55 +0200 | mankanor | (~mankanor@210.185.176.242) (Remote host closed the connection) |
2024-05-10 21:23:56 +0200 | <ncf> | you can encode it as a GADT right? |
2024-05-10 21:23:58 +0200 | <ski> | (requires polymorphic recursion) |
2024-05-10 21:24:15 +0200 | <ncf> | Z :: a -> Powers f a; S :: Powers f (f a) -> Powers f a |
2024-05-10 21:24:33 +0200 | <ski> | that's just `GADTSyntax' |
2024-05-10 21:25:00 +0200 | <ski> | you can separate it into a singleton, and an indexed type, if you want to .. |
2024-05-10 21:25:00 +0200 | <ncf> | right, it's not an actual GADT |
2024-05-10 21:25:09 +0200 | <int-e> | ncf: You don't need GADT powers for that; Haskell 98 data types would allow that. |
2024-05-10 21:25:57 +0200 | <probie> | You only need GADTs if you want to include the depth in the type |
2024-05-10 21:25:58 +0200 | mankanor | (~mankanor@210.185.176.242) |
2024-05-10 21:25:58 +0200 | mankanor | (~mankanor@210.185.176.242) (Remote host closed the connection) |
2024-05-10 21:27:00 +0200 | mankanor | (~mankanor@210.185.176.242) |
2024-05-10 21:28:35 +0200 | justsomeguy | goes off to google GADTs |
2024-05-10 21:29:06 +0200 | mankanor | (~mankanor@210.185.176.242) (Read error: Connection reset by peer) |
2024-05-10 21:29:12 +0200 | <mauke> | goofy-ahh dark templar |
2024-05-10 21:29:46 +0200 | talismanick | (~user@2601:644:937c:ed10::ae5) |
2024-05-10 21:29:49 +0200 | <monochrom> | The GHC user's guide has the best explanation and motivating example of GADTs. |
2024-05-10 21:30:52 +0200 | <justsomeguy> | So, I've finally gotten through the basics of Semigroup, Monoid, Functor, Foldable, Applicative and Monad. Can I write cool command-line apps now? |
2024-05-10 21:31:06 +0200 | <justsomeguy> | ^_^;... |
2024-05-10 21:31:38 +0200 | <dolio> | Probably. |
2024-05-10 21:32:33 +0200 | <monochrom> | or a PhD thesis >:) |
2024-05-10 21:33:27 +0200 | ocra8 | (ocra8@user/ocra8) |
2024-05-10 21:37:50 +0200 | <justsomeguy> | in latex :D |
2024-05-10 21:38:14 +0200 | philopsos1 | (~caecilius@user/philopsos) |
2024-05-10 21:38:22 +0200 | Henson | (~kvirc@192-0-202-2.cpe.teksavvy.com) (Quit: KVIrc 5.0.1 Aria http://www.kvirc.net/) |
2024-05-10 21:38:24 +0200 | <justsomeguy> | (I actually have to learn latex for school.) |
2024-05-10 21:41:12 +0200 | <monochrom> | We all learned latex for school. :) |
2024-05-10 21:45:05 +0200 | <probie> | I see a lot of the younger generation rather enamoured with Typst right now |
2024-05-10 21:50:38 +0200 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2024-05-10 21:53:32 +0200 | <[exa]> | justsomeguy: optparse-applicative and gogogo |
2024-05-10 21:55:22 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 268 seconds) |
2024-05-10 21:57:21 +0200 | <tram> | I think I have a good solution for problem 2 in H-99 (https://wiki.haskell.org/H-99:_Ninety-Nine_Haskell_Problems). I think it's faster than the ones on the wiki (at least the ones that are not cheating by using built in functions...) |
2024-05-10 21:57:24 +0200 | <ncf> | <ncf> 1 + f + f² + ... |
2024-05-10 21:57:37 +0200 | <ncf> | anyone know what this thing is called? it's the free monad on f if f preserves coproducts i guess |
2024-05-10 21:58:52 +0200 | <ncf> | er no nvm |
2024-05-10 21:59:15 +0200 | <ncf> | or maybe yes |
2024-05-10 21:59:19 +0200 | <probie> | It's not quite a free monad, because all "branches" have the same depth, whilst a free monad doesn't have that restriction |
2024-05-10 21:59:31 +0200 | <ncf> | > if f preserves coproducts |
2024-05-10 21:59:32 +0200 | <lambdabot> | <hint>:1:26: error: |
2024-05-10 21:59:32 +0200 | <lambdabot> | parse error (possibly incorrect indentation or mismatched brackets) |
2024-05-10 21:59:51 +0200 | <ncf> | then you have 1 + f (1 + f (1 + ...)) = 1 + f + ff + ... |
2024-05-10 22:00:13 +0200 | <ncf> | but it seems too simple to not have a name of its own |
2024-05-10 22:00:30 +0200 | <ncf> | what is this even called in math |
2024-05-10 22:01:02 +0200 | <ncf> | sum of the geometric series |
2024-05-10 22:02:06 +0200 | <[exa]> | ncf: looks like (1-f)^{-1} via maclaurin series |
2024-05-10 22:02:56 +0200 | <[exa]> | (now we can try to geek it and invent negation in ADTs so that this generates well) |
2024-05-10 22:05:15 +0200 | <[exa]> | also similar thing happens if you calculate products with vandermonde matrices, with less ugly calculus in the way |
2024-05-10 22:07:06 +0200 | <[exa]> | (other than that just a sum of geometric series. Funnily the type will be finite exactly if f<1.) |
2024-05-10 22:08:08 +0200 | <ski> | ∃ n : ℕ. fⁿ |
2024-05-10 22:13:10 +0200 | <ncf> | oooh right what i was remembering is that you can actually make sense of 1/(1-f) for lists |
2024-05-10 22:13:23 +0200 | <ski> | "Seven Trees in One" by Andreas Blass in 1995 at <https://dept.math.lsa.umich.edu/~ablass/cat.html>,<https://dept.math.lsa.umich.edu/~ablass/7trees.pdf>,cf. <https://golem.ph.utexas.edu/category/2009/07/searching_for_a_video_proof_of.html> |
2024-05-10 22:13:30 +0200 | <ski> | "Objects of Categories as Complex Numbers" by Marcelo Fiore,Tom Leinster in 2002-12-30 at <https://arxiv.org/abs/math/0212377> |
2024-05-10 22:13:33 +0200 | <ski> | "This Week's Finds in Mathematical Physics (Week 202)" by John Baez in 2004-02-21 at <http://math.ucr.edu/home/baez/week202.html> |
2024-05-10 22:13:40 +0200 | <talismanick> | shoving the standard imperative FRACTRAN implementation into State should work (right?), but I decided to purify a trivial recursive translation to see how Haskell would handle it |
2024-05-10 22:13:43 +0200 | <ncf> | staying in the monoidal category Hask, we have List a = 1 + a + a² + ..., and List a = 1 + a * List a |
2024-05-10 22:13:44 +0200 | <talismanick> | https://0x0.st/X8Uj.txt |
2024-05-10 22:13:59 +0200 | <ncf> | hence List a = 1 / (1 - a) |
2024-05-10 22:14:43 +0200 | <talismanick> | My thinking was that it should kill most of the shortlived `map (fromInteger n *)` lists in the nursery and eventually spit out an answer, but that seems to have been wrong |
2024-05-10 22:15:36 +0200 | <talismanick> | the memory usage climbs up a bit, falls back down, and then jumps up a gigabyte, repeating several times until I run out before computing the 7th Fibonacci (as is the traditional FRACTRAN test program) |
2024-05-10 22:16:57 +0200 | <talismanick> | it survived a bit longer when I forced it to compile with -O2, but ran into the same problem |
2024-05-10 22:17:26 +0200 | demon-cat | (~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net) |
2024-05-10 22:17:47 +0200 | <talismanick> | I thought list fusion plus taking the first integer and bailing would help, but either it's not enough or the optimizations aren't kicking |
2024-05-10 22:17:56 +0200 | <talismanick> | aren't kicking in* |
2024-05-10 22:18:28 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2024-05-10 22:18:38 +0200 | <talismanick> | It terminates with Int instead of Integer, but, of course, returns the wrong answer due to overflow |
2024-05-10 22:18:59 +0200 | <talismanick> | I feel like I'm missing something... |
2024-05-10 22:22:24 +0200 | <monochrom> | I know nothing about FRACTRAN. I also don't know what input led to the space growth you saw. But perhaps you really ran into a really big number. |
2024-05-10 22:25:09 +0200 | <talismanick> | monochrom: huge numbers are par for course with FRACTRAN - I think of it as "prime-indexed" computing by iterating over rationals |
2024-05-10 22:25:11 +0200 | <talismanick> | https://raganwald.com/2020/05/03/fractran.html |
2024-05-10 22:25:49 +0200 | <[exa]> | talismanick: aren't you multiplying by `n` twice unnecessarily? |
2024-05-10 22:26:08 +0200 | <talismanick> | it's a really simple language: your program is a list of positive rationals, your input is a natural |
2024-05-10 22:26:09 +0200 | <[exa]> | talismanick: (`r` is already multiplied no?) |
2024-05-10 22:27:12 +0200 | <talismanick> | [exa]: wait, you're right, lol |
2024-05-10 22:27:24 +0200 | talismanick | hangs head in shame |
2024-05-10 22:27:40 +0200 | <[exa]> | like I suppose you are a victim of the wikipedia description |
2024-05-10 22:27:53 +0200 | <[exa]> | the double `nf` there ain't a happy way to put that |
2024-05-10 22:28:10 +0200 | mikess | (~mikess@user/mikess) |
2024-05-10 22:28:13 +0200 | <[exa]> | got me super confused. :D |
2024-05-10 22:28:33 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-05-10 22:29:06 +0200 | <talismanick> | monochrom: the rules are, you multiply everything in the list by n, then take the first of those which reduces to an integer and recurse with that as your new n |
2024-05-10 22:29:08 +0200 | <probie> | FRACTRAN doesn't involve prime numbers or fractions beyond _parsing_ a program |
2024-05-10 22:29:15 +0200 | <talismanick> | and you halt when the list is empty |
2024-05-10 22:29:41 +0200 | <probie> | it can be phrased as such, but that's not a particularly productive way to think about it |
2024-05-10 22:30:37 +0200 | <[exa]> | "gödel encoded registers" is kinda guiding |
2024-05-10 22:30:46 +0200 | <[exa]> | nvm /me off |
2024-05-10 22:34:00 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-05-10 22:35:00 +0200 | <monochrom> | I have looked at the -O core code. It fused the filter with the map. |
2024-05-10 22:36:24 +0200 | <talismanick> | it finishes instantly after I remove the spurious multiplication ;_; |
2024-05-10 22:37:10 +0200 | <monochrom> | The whole "filter ((1 ==) . denominator) $ (fromInteger n *) <$> p" produces at most one "r : small thunk" node, ever. That node is then immediately pattern-matched by your "[] -> n; (r : _) -> recurse" and becomes garbage. |
2024-05-10 22:38:11 +0200 | <talismanick> | although, it does return Infinity with an input of just 20 |
2024-05-10 22:38:20 +0200 | <talismanick> | so there's clearly plenty of room for optimization |
2024-05-10 22:39:08 +0200 | philopsos1 | (~caecilius@user/philopsos) (Ping timeout: 252 seconds) |
2024-05-10 22:40:02 +0200 | <talismanick> | (in bringing down intermediate sizes, since apparently it didn't break a sweat in exceeding Haskell's bignum abilities) |
2024-05-10 22:40:52 +0200 | <talismanick> | probie: are you sure there's nothing to be said about primality in the way of intermediate term simplification? |
2024-05-10 22:42:27 +0200 | <talismanick> | I feel like there's some deep number theory hiding in there... is there a proof (Rice's thm corollary or something) that says that there's always a breaking exception to any optimizing pattern you find? |
2024-05-10 22:44:55 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2024-05-10 22:46:53 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 240 seconds) |
2024-05-10 22:49:14 +0200 | <monochrom> | I see how the spurrious (n *) makes an exponential difference. |
2024-05-10 22:49:47 +0200 | <monochrom> | So yeah, put it acidically, surprised why anyone does not expect OOM. |
2024-05-10 22:51:27 +0200 | <monochrom> | This is also why I ignored all attempts at teaching me FRACTRAN. A clean slate sees what the erroneous code actually does, not misread it as correct code. |
2024-05-10 22:52:08 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
2024-05-10 22:53:42 +0200 | <talismanick> | monochrom: would you believe me if I said it was a typo? |
2024-05-10 22:54:07 +0200 | <monochrom> | Yes it is a typo. |
2024-05-10 22:54:13 +0200 | <talismanick> | I read over it several times, wondering what went wrong because I thought I already had the right algorithm |
2024-05-10 22:54:30 +0200 | <talismanick> | but no, user error (even though I knew what I was supposed to do) |
2024-05-10 22:56:37 +0200 | <monochrom> | But when I blindly guessed "perhaps you really ran into really big numbers", you should have tried to refute me with empirical evidence by adding some Debug.Trace things to print out the numbers and shove them into my face. That way you would discover that they were actually wrongly big numbers. |
2024-05-10 22:57:51 +0200 | <monochrom> | I am saying all this as good techniques and habits of debugging that apply generally / for future reference. |
2024-05-10 22:58:12 +0200 | <talismanick> | tbf, the point of FRACTRAN is that what look like "wrongly big numbers" can do useful work |
2024-05-10 22:58:51 +0200 | <talismanick> | unless I knew the exact sequence of n's this program would take, I'd look in there and say "wow, those are some big numbers - sure is weird how FRACTRAN gets stuff done" |
2024-05-10 22:59:10 +0200 | <darkling> | I always get the feeling that the horrible, slow, painful, step-by-step, question-everything process of debugging isn't sufficiently well taught. |
2024-05-10 22:59:56 +0200 | <monochrom> | I trust that you actually had one small test case where you actually knew what numbers to expect. Again, just commenting on good habits in general. |
2024-05-10 23:00:19 +0200 | <darkling> | Probably because so many of the teachers can spot the students' simple mistakes immediately, and so point them out, and it looks like magic (or guessing and luck), and so the students don't learn the boring consistent way. |
2024-05-10 23:00:59 +0200 | <monochrom> | It is worse. Student even expects experts to be telepathic. |
2024-05-10 23:01:15 +0200 | <darkling> | That too. :) |
2024-05-10 23:02:49 +0200 | <monochrom> | OK I'm exaggerating. Students tell you only "it says 'syntax error at line 4 column 3'" and expect you to know how to cause it. The irony being that, since I am the teacher, therefore I was an A+ student, therefore I have never learned how to cause errors, only how to cause correct code. |
2024-05-10 23:03:17 +0200 | <monochrom> | I need to start actually rubbing that into those students' faces. |
2024-05-10 23:03:25 +0200 | <darkling> | Causing specific errors deliberately is hard. |
2024-05-10 23:04:06 +0200 | <glguy> | monochrom: pretty good that they read the error enough to know the line and column, at least. not everyone gets to that level |
2024-05-10 23:04:49 +0200 | <darkling> | After that, the next step is to understand that the error might not actually be at that position... |
2024-05-10 23:05:08 +0200 | <darkling> | It's just where the compiler noticed something odd. |
2024-05-10 23:05:44 +0200 | <monochrom> | There is even a story in the religious circles about a similar thing. There is an experienced ship captain who has piloted through a certain river all his life. So someone said to him "so you know every place along that river that is not safe for the ship, right?". The captain replied "no, why should I? I need only know one safe route and stick to it." |
2024-05-10 23:09:25 +0200 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds) |
2024-05-10 23:12:26 +0200 | sawilagar | (~sawilagar@user/sawilagar) |
2024-05-10 23:15:33 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2024-05-10 23:18:38 +0200 | <talismanick> | in any case, isn't Integer supposed to be correct for arbitrarily large numbers? |
2024-05-10 23:18:57 +0200 | <talismanick> | because `round $ logBase 2.0 $ fromInteger $ naive fibs $ 78*5^(16-1)` returns 987 as it should |
2024-05-10 23:18:58 +0200 | michalz | (~michalz@185.246.207.200) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-05-10 23:19:19 +0200 | <talismanick> | but `round $ logBase 2.0 $ fromInteger $ naive fibs $ 78*5^(17-1)` returns an ungodly large number spanning several lines instead of 1597 |
2024-05-10 23:19:26 +0200 | zetef | (~quassel@2a02:2f00:5202:1200:df0b:9c52:7feb:3551) (Remote host closed the connection) |
2024-05-10 23:19:59 +0200 | <davean> | fromInteger |
2024-05-10 23:20:07 +0200 | <davean> | No longer an integer? |
2024-05-10 23:20:36 +0200 | <talismanick> | davean: fromInteger lifts into a Rational (Ratio Integer) with denominator 1 |
2024-05-10 23:20:54 +0200 | <davean> | you've checked thats what it ends up as? |
2024-05-10 23:20:56 +0200 | <glguy> | > logBase 2.0 1.0 :: Rational |
2024-05-10 23:20:57 +0200 | <talismanick> | inside `naive`, that is |
2024-05-10 23:20:57 +0200 | <lambdabot> | error: |
2024-05-10 23:20:57 +0200 | <lambdabot> | • No instance for (Floating Rational) |
2024-05-10 23:20:57 +0200 | <lambdabot> | arising from a use of ‘logBase’ |
2024-05-10 23:20:59 +0200 | <glguy> | o.O |
2024-05-10 23:21:20 +0200 | <talismanick> | the outer one just converts it to Float so logBase stops complaining |
2024-05-10 23:21:40 +0200 | <davean> | talismanick: check that? |
2024-05-10 23:21:43 +0200 | <talismanick> | (see the paste I posted earlier, I thought that was the `fromInteger` call you meant) |
2024-05-10 23:21:49 +0200 | ystael | (~ystael@user/ystael) (Ping timeout: 256 seconds) |
2024-05-10 23:22:11 +0200 | <talismanick> | https://0x0.st/X80c.txt |
2024-05-10 23:22:40 +0200 | <talismanick> | I thought that was the call you meant, because that's where it generates large numbers |
2024-05-10 23:23:03 +0200 | <talismanick> | by the time it exits the call to `naive` (naive FRACTRAN interpreter), it should have shrunk to the correct size |
2024-05-10 23:23:46 +0200 | <EvanR> | Integer is correct, look for problem elsewhere |
2024-05-10 23:26:59 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 264 seconds) |
2024-05-10 23:26:59 +0200 | titibandit | (~titibandi@user/titibandit) (Ping timeout: 252 seconds) |
2024-05-10 23:32:58 +0200 | <monochrom> | Please don't go through Double (which logBase does) when counting digits of numbers that are going to be out of range of Double. |
2024-05-10 23:33:33 +0200 | <monochrom> | Integer surely enjoys the functions from Data.Bits, one of which can tell you about # of digits, no? |
2024-05-10 23:34:52 +0200 | <talismanick> | ah, you're right |
2024-05-10 23:34:53 +0200 | <talismanick> | https://stackoverflow.com/questions/26416323/function-to-calculate-log-of-integer |
2024-05-10 23:35:20 +0200 | <talismanick> | apparently it is the outermost `fromInteger` which is to blame |
2024-05-10 23:36:05 +0200 | philopsos | (~caecilius@user/philopsos) |
2024-05-10 23:37:28 +0200 | <monochrom> | Ah damn Data.Bits doesn't have something to count digits. Well, at least you know how to repeatedly divided by 10 or something. |
2024-05-10 23:38:15 +0200 | mikess | (~mikess@user/mikess) (Ping timeout: 256 seconds) |
2024-05-10 23:38:18 +0200 | <monochrom> | But GHC.Integer.Logarithms has something. |
2024-05-10 23:38:24 +0200 | <talismanick> | the SO answer fixed it, yeah |
2024-05-10 23:38:34 +0200 | <talismanick> | `(\n -> I# (integerLog2# n))` |
2024-05-10 23:40:05 +0200 | <EvanR> | snazzy |
2024-05-10 23:40:30 +0200 | <monochrom> | GHC.Num.Integer may be more future proof. |
2024-05-10 23:41:19 +0200 | <monochrom> | > maxBound :: Double |
2024-05-10 23:41:21 +0200 | <lambdabot> | error: |
2024-05-10 23:41:21 +0200 | <lambdabot> | • No instance for (Bounded Double) arising from a use of ‘maxBound’ |
2024-05-10 23:41:21 +0200 | <lambdabot> | • In the expression: maxBound :: Double |
2024-05-10 23:41:29 +0200 | <monochrom> | Oh fun. |
2024-05-10 23:41:38 +0200 | <talismanick> | unfortunately, Hackage doesn't have a page for it |
2024-05-10 23:41:45 +0200 | <talismanick> | but it is there... |
2024-05-10 23:41:55 +0200 | <mauke> | > 1/0 > 0/0 |
2024-05-10 23:41:57 +0200 | <lambdabot> | False |
2024-05-10 23:42:14 +0200 | <monochrom> | I normally use the docs that come with GHC instead of the web. |
2024-05-10 23:42:33 +0200 | <int-e> | > 1/0 `compare` 0/0 |
2024-05-10 23:42:35 +0200 | <lambdabot> | error: |
2024-05-10 23:42:35 +0200 | <lambdabot> | • No instance for (Num Ordering) arising from the literal ‘1’ |
2024-05-10 23:42:35 +0200 | <lambdabot> | • In the first argument of ‘(/)’, namely ‘1’ |
2024-05-10 23:42:42 +0200 | <int-e> | > (1/0) `compare` (0/0) |
2024-05-10 23:42:43 +0200 | <lambdabot> | GT |
2024-05-10 23:43:48 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-05-10 23:44:31 +0200 | qqq | (~qqq@92.43.167.61) (Remote host closed the connection) |
2024-05-10 23:45:39 +0200 | <monochrom> | Basically the max finite Double is around 2^1023. |
2024-05-10 23:46:32 +0200 | <monochrom> | > (encodeFloat 1 1023 :: Double, encodeFloat 1 1024 :: Double) |
2024-05-10 23:46:33 +0200 | <lambdabot> | (8.98846567431158e307,Infinity) |
2024-05-10 23:47:05 +0200 | <talismanick> | ah, so the jump from fib 16 -> 987 to fib 17 -> 1597 is just where it begins to overflow |
2024-05-10 23:47:11 +0200 | <talismanick> | makes sense |
2024-05-10 23:56:21 +0200 | ocra8 | (ocra8@user/ocra8) (Quit: WeeChat 4.2.2) |
2024-05-10 23:58:05 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 268 seconds) |