2023-06-26 00:08:10 +0200 | fendor | (~fendor@2a02:8388:1640:be00:7aca:a77a:4a28:631a) (Remote host closed the connection) |
2023-06-26 00:12:31 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2023-06-26 00:15:44 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
2023-06-26 00:18:26 +0200 | dost^ | (~dost@c-71-204-38-59.hsd1.ga.comcast.net) (Ping timeout: 250 seconds) |
2023-06-26 00:18:26 +0200 | hdggxin | (~hdggxin@122.175.41.19) (Ping timeout: 250 seconds) |
2023-06-26 00:21:35 +0200 | acidjnk | (~acidjnk@p200300d6e7072f58d4f02286a979ebfa.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2023-06-26 00:21:52 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-06-26 00:26:15 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:21c4:bb57:30a:20d0) (Remote host closed the connection) |
2023-06-26 00:27:17 +0200 | hdggxin | (~hdggxin@122.175.41.19) |
2023-06-26 00:27:32 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-06-26 00:29:31 +0200 | merijn | (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl) |
2023-06-26 00:29:47 +0200 | mmhat | (~mmh@p200300f1c74b7d41ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2023-06-26 00:30:10 +0200 | mmhat | (~mmh@p200300f1c74b7df3ee086bfffe095315.dip0.t-ipconnect.de) |
2023-06-26 00:31:57 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-06-26 00:33:32 +0200 | nut | (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) (Ping timeout: 245 seconds) |
2023-06-26 00:34:25 +0200 | bontaq | (~user@ool-45779b84.dyn.optonline.net) |
2023-06-26 00:36:35 +0200 | merijn | (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl) (Ping timeout: 264 seconds) |
2023-06-26 00:36:37 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
2023-06-26 00:41:24 +0200 | segfaultfizzbuzz | (~segfaultf@12.172.217.142) |
2023-06-26 00:41:56 +0200 | <segfaultfizzbuzz> | "We also show how we can generically derive a map function over any polynomial data type that is fully in-place and uses neither heap- nor stack space." https://www.microsoft.com/en-us/research/uploads/prod/2023/05/fbip.pdf |
2023-06-26 00:41:58 +0200 | hsiktas[m] | (~hsiktasm]@2001:470:69fc:105::30d4) |
2023-06-26 00:42:10 +0200 | <segfaultfizzbuzz> | what is the third alternative to the heap and the stack |
2023-06-26 00:46:08 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
2023-06-26 00:46:51 +0200 | migas | (~migas@astra4961.startdedicated.net) (Quit: The Lounge - https://thelounge.github.io) |
2023-06-26 00:47:11 +0200 | migas | (~migas@astra4961.startdedicated.net) |
2023-06-26 00:48:40 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-06-26 00:50:10 +0200 | <segfaultfizzbuzz> | i guess they are saying that whatever is being operated on has already been allocated, and the mutate that space? |
2023-06-26 00:50:14 +0200 | Midjak | (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
2023-06-26 00:50:39 +0200 | spacenautx | (~spacenaut@user/spacenautx) (Quit: WeeChat 3.8) |
2023-06-26 00:51:14 +0200 | troydm | (~troydm@user/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) |
2023-06-26 00:51:36 +0200 | <dolio> | Presumably it re-uses the space from the structure you fed in. |
2023-06-26 00:51:48 +0200 | troydm | (~troydm@user/troydm) |
2023-06-26 00:52:00 +0200 | <dolio> | Because the map is consuming the original structure. |
2023-06-26 00:52:25 +0200 | <segfaultfizzbuzz> | doesn't make sense, what if i want to map a binary number to a randomly generated midjourney image of either a dog or a cat eating spagetti? |
2023-06-26 00:52:43 +0200 | <segfaultfizzbuzz> | 1 bit of space somehow becomes a one megabyte jpeg? |
2023-06-26 00:53:15 +0200 | <dolio> | map is the function `(a -> b) -> F a -> F b` |
2023-06-26 00:55:50 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:21c4:bb57:30a:20d0) |
2023-06-26 00:56:28 +0200 | Cale | (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2023-06-26 00:57:57 +0200 | ai5lk | (~ai5lk@209-188-121-236.taosnet.com) |
2023-06-26 00:59:47 +0200 | segfaultfizzbuzz | (~segfaultf@12.172.217.142) (Ping timeout: 245 seconds) |
2023-06-26 01:02:08 +0200 | <monochrom> | There are many "you know what I mean" there that becomes very long and boring when spelled out. |
2023-06-26 01:02:24 +0200 | <monochrom> | Firstly add "extra", i.e., "does not use extra space". |
2023-06-26 01:02:41 +0200 | <monochrom> | Secondally add "apart from a small O(1) amount". |
2023-06-26 01:02:58 +0200 | <monochrom> | Thirdly add "apart from what the a->b function adds". |
2023-06-26 01:03:26 +0200 | <monochrom> | There may be a fourthly but I haven't found one. |
2023-06-26 01:03:31 +0200 | <monochrom> | For now. :) |
2023-06-26 01:10:08 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
2023-06-26 01:21:35 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
2023-06-26 01:32:26 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-06-26 01:32:26 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-06-26 01:32:26 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-06-26 01:41:02 +0200 | nyc | (~nyc@user/nyc) (Ping timeout: 245 seconds) |
2023-06-26 01:47:34 +0200 | mauke_ | (~mauke@user/mauke) |
2023-06-26 01:48:24 +0200 | oljenkins | (~philipp@p5dec4bb3.dip0.t-ipconnect.de) (Server closed connection) |
2023-06-26 01:48:39 +0200 | oljenkins | (~philipp@p5dec4bb3.dip0.t-ipconnect.de) |
2023-06-26 01:49:47 +0200 | mauke | (~mauke@user/mauke) (Ping timeout: 264 seconds) |
2023-06-26 01:49:47 +0200 | mauke_ | mauke |
2023-06-26 01:58:33 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 246 seconds) |
2023-06-26 02:02:34 +0200 | migas | (~migas@astra4961.startdedicated.net) (Quit: The Lounge - https://thelounge.github.io) |
2023-06-26 02:03:17 +0200 | migas | (~migas@astra4961.startdedicated.net) |
2023-06-26 02:03:50 +0200 | ai5lk | (~ai5lk@209-188-121-236.taosnet.com) (Quit: WeeChat 3.8) |
2023-06-26 02:07:42 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-165-003.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
2023-06-26 02:08:08 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
2023-06-26 02:08:32 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2023-06-26 02:14:52 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
2023-06-26 02:15:24 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) |
2023-06-26 02:15:37 +0200 | oo_miguel | (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Ping timeout: 245 seconds) |
2023-06-26 02:23:51 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-06-26 02:29:00 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
2023-06-26 02:32:42 +0200 | bontaq | (~user@ool-45779b84.dyn.optonline.net) (Ping timeout: 245 seconds) |
2023-06-26 02:36:13 +0200 | Guest59 | (~Guest59@116.88.135.68) |
2023-06-26 02:42:20 +0200 | falafel | (~falafel@2607:fb91:86c:d890:9962:f260:f358:d40) |
2023-06-26 02:45:05 +0200 | aforemny_ | (~aforemny@2001:9e8:6cf9:2000:2f46:f521:c777:24fd) (Ping timeout: 246 seconds) |
2023-06-26 02:46:41 +0200 | falafel | (~falafel@2607:fb91:86c:d890:9962:f260:f358:d40) (Read error: Connection reset by peer) |
2023-06-26 02:51:23 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::38e4) (Quit: Leaving) |
2023-06-26 02:55:23 +0200 | aforemny | (~aforemny@2001:9e8:6cd1:4a00:8861:d64a:a85d:46b5) |
2023-06-26 02:58:21 +0200 | Guest59 | (~Guest59@116.88.135.68) (Quit: Client closed) |
2023-06-26 03:10:19 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-06-26 03:11:29 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2023-06-26 03:15:15 +0200 | koolazer | (~koo@user/koolazer) (Server closed connection) |
2023-06-26 03:15:32 +0200 | koolazer | (~koo@user/koolazer) |
2023-06-26 03:17:20 +0200 | mmhat | (~mmh@p200300f1c74b7df3ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8) |
2023-06-26 03:17:30 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6) |
2023-06-26 03:17:36 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2023-06-26 03:21:18 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 250 seconds) |
2023-06-26 03:27:32 +0200 | xff0x | (~xff0x@2405:6580:b080:900:2989:814e:3688:2bc9) (Ping timeout: 240 seconds) |
2023-06-26 03:37:02 +0200 | arrowhead | (~arrowhead@2603-7000-9b3f-6934-113b-52a3-c542-4d62.res6.spectrum.com) |
2023-06-26 03:37:14 +0200 | nyc | (~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com) |
2023-06-26 03:37:32 +0200 | arrowhead | (~arrowhead@2603-7000-9b3f-6934-113b-52a3-c542-4d62.res6.spectrum.com) () |
2023-06-26 03:53:36 +0200 | jero98772 | (~jero98772@2800:484:1d7f:5d36::3) (Remote host closed the connection) |
2023-06-26 04:14:49 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2023-06-26 04:16:04 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-06-26 04:21:21 +0200 | trev | (~trev@user/trev) |
2023-06-26 04:22:36 +0200 | connrs | (~connrs@user/connrs) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-06-26 04:22:53 +0200 | connrs | (~connrs@user/connrs) |
2023-06-26 04:22:57 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-06-26 04:24:53 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2023-06-26 04:24:53 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2023-06-26 04:24:53 +0200 | finn_elija | FinnElija |
2023-06-26 04:30:26 +0200 | td_ | (~td@i53870908.versanet.de) (Ping timeout: 246 seconds) |
2023-06-26 04:32:14 +0200 | td_ | (~td@i53870921.versanet.de) |
2023-06-26 04:33:16 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-06-26 04:36:31 +0200 | phma | (phma@2001:5b0:211f:2f08:d5:59c5:25af:c289) (Read error: Connection reset by peer) |
2023-06-26 04:36:56 +0200 | phma | (phma@2001:5b0:211f:2f08:2fbf:64bb:cfdf:aec3) |
2023-06-26 04:38:26 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
2023-06-26 04:41:33 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving) |
2023-06-26 04:57:01 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2023-06-26 04:59:54 +0200 | phma | (phma@2001:5b0:211f:2f08:2fbf:64bb:cfdf:aec3) (Read error: Connection reset by peer) |
2023-06-26 05:00:18 +0200 | phma | (~phma@host-67-44-208-160.hnremote.net) |
2023-06-26 05:19:32 +0200 | fiddlerwoaroof_ | fiddlerwoaroof |
2023-06-26 05:19:47 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
2023-06-26 05:32:11 +0200 | aforemny_ | (~aforemny@i59F516C6.versanet.de) |
2023-06-26 05:33:35 +0200 | aforemny | (~aforemny@2001:9e8:6cd1:4a00:8861:d64a:a85d:46b5) (Ping timeout: 264 seconds) |
2023-06-26 05:41:56 +0200 | segfaultfizzbuzz | (~segfaultf@12.172.217.142) |
2023-06-26 06:00:27 +0200 | actioninja | (~actioninj@user/actioninja) (Quit: see ya mane) |
2023-06-26 06:00:53 +0200 | actioninja | (~actioninj@user/actioninja) |
2023-06-26 06:06:21 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-06-26 06:08:56 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
2023-06-26 06:09:21 +0200 | sleym | (~sleym@user/sleym) |
2023-06-26 06:12:01 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-06-26 06:16:22 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
2023-06-26 06:26:28 +0200 | Square2 | (~Square@user/square) |
2023-06-26 06:30:12 +0200 | <Square2> | Is it possible to invoke "f :: forall a. SomeClass a => a" wo specifying what "a" is. Instead just use functions of "SomeClass" ? |
2023-06-26 06:36:44 +0200 | segfaultfizzbuzz | (~segfaultf@12.172.217.142) (Ping timeout: 250 seconds) |
2023-06-26 06:38:11 +0200 | <Axman6> | how would the compiler know which instance to use if it doesn't know what a is? |
2023-06-26 06:41:36 +0200 | <Square2> | Axman6, Beats me. I hoped magic would kick in. |
2023-06-26 06:42:09 +0200 | <Square2> | thanks for your reply. Now I know its not possible at least. |
2023-06-26 06:44:07 +0200 | segfaultfizzbuzz | (~segfaultf@12.172.217.142) |
2023-06-26 06:44:20 +0200 | pierrot | (~pi@user/pierrot) (Server closed connection) |
2023-06-26 06:44:39 +0200 | pierrot | (~pi@user/pierrot) |
2023-06-26 06:46:46 +0200 | Square2 | (~Square@user/square) (Ping timeout: 252 seconds) |
2023-06-26 06:50:40 +0200 | <Axman6> | you can write algorithms generic in SomeClass, and let the user choose which instance they want though |
2023-06-26 07:05:46 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 250 seconds) |
2023-06-26 07:07:28 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2023-06-26 07:08:32 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2023-06-26 07:15:43 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-06-26 07:16:44 +0200 | jbalint | (~jbalint@071-090-119-177.res.spectrum.com) (Ping timeout: 240 seconds) |
2023-06-26 07:20:04 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 250 seconds) |
2023-06-26 07:24:07 +0200 | chromoblob | (~user@37.113.180.121) |
2023-06-26 07:27:38 +0200 | Guest52 | (~Guest28@KD111099018012.ppp-bb.dion.ne.jp) |
2023-06-26 07:28:28 +0200 | jbalint | (~jbalint@071-090-119-177.res.spectrum.com) |
2023-06-26 07:30:02 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 250 seconds) |
2023-06-26 07:30:33 +0200 | Guest52 | (~Guest28@KD111099018012.ppp-bb.dion.ne.jp) (Client Quit) |
2023-06-26 07:35:38 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
2023-06-26 07:35:41 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) |
2023-06-26 07:37:20 +0200 | titibandit | (~titibandi@user/titibandit) |
2023-06-26 07:38:59 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-06-26 07:40:00 +0200 | hippoid | (~hippoid@user/hippoid) (Ping timeout: 250 seconds) |
2023-06-26 07:40:46 +0200 | hippoid | (~hippoid@c-98-213-162-40.hsd1.il.comcast.net) |
2023-06-26 07:40:59 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2023-06-26 07:47:45 +0200 | segfaultfizzbuzz | (~segfaultf@12.172.217.142) (Ping timeout: 260 seconds) |
2023-06-26 07:50:23 +0200 | chromoblob | (~user@37.113.180.121) (Ping timeout: 264 seconds) |
2023-06-26 07:51:24 +0200 | chromoblob | (~user@37.113.180.121) |
2023-06-26 07:52:04 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-06-26 07:56:17 +0200 | merijn | (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl) |
2023-06-26 07:56:26 +0200 | kyuri | (~kyuri@KD111099018012.ppp-bb.dion.ne.jp) |
2023-06-26 07:57:16 +0200 | abrantesasf | (~abrantesa@179.217.48.72) (Remote host closed the connection) |
2023-06-26 07:58:47 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) |
2023-06-26 07:59:33 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
2023-06-26 08:01:11 +0200 | merijn | (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl) (Ping timeout: 264 seconds) |
2023-06-26 08:01:35 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2023-06-26 08:03:35 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
2023-06-26 08:13:45 +0200 | acidjnk | (~acidjnk@p200300d6e7072f355d50cb0f60b9d9c7.dip0.t-ipconnect.de) |
2023-06-26 08:14:29 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-06-26 08:15:18 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) |
2023-06-26 08:21:19 +0200 | kyuri1 | (~kyuri@210.160.217.2) |
2023-06-26 08:21:52 +0200 | kyuri | (~kyuri@KD111099018012.ppp-bb.dion.ne.jp) () |
2023-06-26 08:28:01 +0200 | michalz | (~michalz@185.246.207.201) |
2023-06-26 08:28:38 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-06-26 08:33:57 +0200 | nut | (~nut@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) |
2023-06-26 08:36:30 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-06-26 08:49:47 +0200 | hpc | (~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 245 seconds) |
2023-06-26 08:51:43 +0200 | hpc | (~juzz@ip98-169-35-163.dc.dc.cox.net) |
2023-06-26 08:52:23 +0200 | <jade[m]> | <Square2> "Is it possible to invoke "f..." <- you could use a newtype wrapper around some structure |
2023-06-26 08:56:02 +0200 | nyc | (~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com) (Ping timeout: 245 seconds) |
2023-06-26 08:57:41 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-06-26 08:58:24 +0200 | chele | (~chele@user/chele) |
2023-06-26 09:01:59 +0200 | Guest9511 | (~finn@176-151-21-224.abo.bbox.fr) |
2023-06-26 09:06:17 +0200 | Guest9511 | (~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 258 seconds) |
2023-06-26 09:06:48 +0200 | mcglk | (~mcglk@131.191.19.145) (Remote host closed the connection) |
2023-06-26 09:10:08 +0200 | shriekingnoise | (~shrieking@186.137.175.87) (Ping timeout: 250 seconds) |
2023-06-26 09:11:30 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds) |
2023-06-26 09:13:10 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 250 seconds) |
2023-06-26 09:15:30 +0200 | cfricke | (~cfricke@user/cfricke) |
2023-06-26 09:15:50 +0200 | <dminuoso> | Is there a simple/small graph library to represent and work with DAGs? In particular, I would like to zip around the graph and traverse in or outbound edges. |
2023-06-26 09:16:12 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-06-26 09:18:22 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) (Ping timeout: 250 seconds) |
2023-06-26 09:18:35 +0200 | sleym | (~sleym@user/sleym) (Quit: sleym) |
2023-06-26 09:18:56 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
2023-06-26 09:19:50 +0200 | jespada | (~jespada@207.188.139.183) |
2023-06-26 09:20:58 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:e56:50b4:8cbc:f250) |
2023-06-26 09:28:18 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-06-26 09:29:23 +0200 | taupiqueur | (~taupiqueu@2a02-842a-8180-4601-08a1-ddae-00eb-83a7.rev.sfr.net) (Ping timeout: 264 seconds) |
2023-06-26 09:29:55 +0200 | <Axman6> | a graph zipper? |
2023-06-26 09:30:07 +0200 | tom__ | (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684) |
2023-06-26 09:30:08 +0200 | <Axman6> | I only know of fgl, and have never used it |
2023-06-26 09:30:48 +0200 | oo_miguel | (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) |
2023-06-26 09:30:49 +0200 | fendor | (~fendor@2a02:8388:1640:be00:7aca:a77a:4a28:631a) |
2023-06-26 09:34:24 +0200 | tom_ | (~tom@host81-151-255-71.range81-151.btcentralplus.com) (Ping timeout: 250 seconds) |
2023-06-26 09:36:15 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-06-26 09:37:06 +0200 | doyougnu | (~doyougnu@45.46.170.68) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-06-26 09:37:27 +0200 | doyougnu | (~doyougnu@45.46.170.68) |
2023-06-26 09:37:31 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2023-06-26 09:38:14 +0200 | mncheck-m | (~mncheck@193.224.205.254) (Remote host closed the connection) |
2023-06-26 09:38:14 +0200 | <dminuoso> | Mmm, fgl I had not considered. I will take a deeper look at it |
2023-06-26 09:38:37 +0200 | <dminuoso> | I like thjat its really low on dependencies. :) |
2023-06-26 09:39:04 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2023-06-26 09:39:36 +0200 | kyuri1 | (~kyuri@210.160.217.2) (Quit: Leaving.) |
2023-06-26 09:40:16 +0200 | kyuri | (~kyuri@210.160.217.2) |
2023-06-26 09:40:18 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2023-06-26 09:40:30 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 240 seconds) |
2023-06-26 09:40:56 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 260 seconds) |
2023-06-26 09:42:04 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-06-26 09:42:43 +0200 | hisa383 | (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net) |
2023-06-26 09:44:22 +0200 | hisa38 | (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net) (Ping timeout: 250 seconds) |
2023-06-26 09:44:22 +0200 | hisa383 | hisa38 |
2023-06-26 09:44:27 +0200 | <int-e> | Unless I need a specific algorithm, I often find it easier to just define an ad-hoc graph type. |
2023-06-26 09:44:35 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-06-26 09:44:46 +0200 | mncheck | (~mncheck@193.224.205.254) |
2023-06-26 09:50:36 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-06-26 09:51:33 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) |
2023-06-26 09:56:23 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
2023-06-26 09:57:20 +0200 | Guest9511 | (~finn@176-151-21-224.abo.bbox.fr) |
2023-06-26 09:57:46 +0200 | Pickchea | (~private@user/pickchea) |
2023-06-26 09:58:17 +0200 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection) |
2023-06-26 09:59:29 +0200 | aforemny_ | aforemny |
2023-06-26 10:03:56 +0200 | nschoe | (~q@141.101.51.197) |
2023-06-26 10:06:30 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 240 seconds) |
2023-06-26 10:10:09 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) |
2023-06-26 10:13:34 +0200 | kyuri | (~kyuri@210.160.217.2) () |
2023-06-26 10:14:28 +0200 | jespada | (~jespada@207.188.139.183) (Quit: Textual IRC Client: www.textualapp.com) |
2023-06-26 10:14:34 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-06-26 10:15:43 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
2023-06-26 10:16:50 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-06-26 10:19:04 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 252 seconds) |
2023-06-26 10:21:49 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-06-26 10:26:24 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 252 seconds) |
2023-06-26 10:32:06 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-06-26 10:34:25 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 240 seconds) |
2023-06-26 10:34:48 +0200 | jespada | (~jespada@207.188.139.183) |
2023-06-26 10:36:22 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-06-26 10:39:47 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2023-06-26 10:41:00 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 260 seconds) |
2023-06-26 10:42:58 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:21c4:bb57:30a:20d0) (Remote host closed the connection) |
2023-06-26 10:43:05 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.8) |
2023-06-26 10:45:43 +0200 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
2023-06-26 10:45:55 +0200 | CiaoSen | (~Jura@2a05:5800:2ac:6500:664b:f0ff:fe37:9ef) |
2023-06-26 10:58:08 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
2023-06-26 10:58:25 +0200 | CiaoSen | (~Jura@2a05:5800:2ac:6500:664b:f0ff:fe37:9ef) (Quit: CiaoSen) |
2023-06-26 10:59:12 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-06-26 10:59:32 +0200 | danse-nr3 | (~francesco@ge-19-116-153.service.infuturo.it) |
2023-06-26 11:00:45 +0200 | CiaoSen | (~Jura@2a05:5800:2ac:6500:664b:f0ff:fe37:9ef) |
2023-06-26 11:05:58 +0200 | merijn | (~merijn@145.94.126.249) |
2023-06-26 11:08:17 +0200 | ericson2314 | (~ericson23@2001:470:69fc:105::70c) (Remote host closed the connection) |
2023-06-26 11:10:20 +0200 | misterfish | (~misterfis@87.215.131.102) |
2023-06-26 11:10:57 +0200 | mmhat | (~mmh@p200300f1c74b7df3ee086bfffe095315.dip0.t-ipconnect.de) |
2023-06-26 11:11:30 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
2023-06-26 11:11:34 +0200 | daemon_ | (uid606752@id-606752.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2023-06-26 11:11:38 +0200 | mmhat | (~mmh@p200300f1c74b7df3ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit) |
2023-06-26 11:11:55 +0200 | merijn | (~merijn@145.94.126.249) (Ping timeout: 260 seconds) |
2023-06-26 11:14:59 +0200 | merijn | (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl) |
2023-06-26 11:16:55 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-06-26 11:18:10 +0200 | <jackdk> | dminuoso: https://hackage.haskell.org/package/algebraic-graphs is based off a cool paper |
2023-06-26 11:18:49 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2023-06-26 11:19:16 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds) |
2023-06-26 11:19:28 +0200 | danse-nr3 | (~francesco@ge-19-116-153.service.infuturo.it) (Read error: Connection reset by peer) |
2023-06-26 11:19:34 +0200 | danse-nr3_ | (~francesco@151.35.43.168) |
2023-06-26 11:21:25 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2023-06-26 11:21:42 +0200 | Lord_of_Life_ | Lord_of_Life |
2023-06-26 11:24:45 +0200 | merijn | (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
2023-06-26 11:28:48 +0200 | cfricke | (~cfricke@user/cfricke) |
2023-06-26 11:33:59 +0200 | titiband1t | (~titibandi@user/titibandit) |
2023-06-26 11:39:07 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-06-26 11:40:27 +0200 | titiband1t | (~titibandi@user/titibandit) (Remote host closed the connection) |
2023-06-26 11:43:29 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:21c4:bb57:30a:20d0) |
2023-06-26 11:45:36 +0200 | danse-nr3_ | (~francesco@151.35.43.168) (Ping timeout: 252 seconds) |
2023-06-26 11:47:33 +0200 | ft | (~ft@p508db151.dip0.t-ipconnect.de) (Quit: leaving) |
2023-06-26 11:48:05 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:21c4:bb57:30a:20d0) (Ping timeout: 260 seconds) |
2023-06-26 11:50:01 +0200 | danse-nr3_ | (~francesco@151.35.43.168) |
2023-06-26 11:50:09 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-06-26 11:50:32 +0200 | dcoutts_ | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
2023-06-26 11:53:36 +0200 | nschoe | (~q@141.101.51.197) (Quit: Switching off) |
2023-06-26 11:54:05 +0200 | yaroot_ | (~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c) |
2023-06-26 11:54:15 +0200 | yaroot | (~yaroot@p2782030-ipngn7701souka.saitama.ocn.ne.jp) (Ping timeout: 246 seconds) |
2023-06-26 11:54:15 +0200 | yaroot_ | yaroot |
2023-06-26 11:57:24 +0200 | merijn | (~merijn@145.94.126.249) |
2023-06-26 11:57:35 +0200 | Guest9511 | (~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 264 seconds) |
2023-06-26 11:57:35 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) |
2023-06-26 12:00:55 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
2023-06-26 12:01:12 +0200 | Feuermagier | (~Feuermagi@user/feuermagier) |
2023-06-26 12:01:47 +0200 | drdo | (~drdo@bl8-153-185.dsl.telepac.pt) (Quit: Ping timeout (120 seconds)) |
2023-06-26 12:02:00 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2023-06-26 12:02:07 +0200 | drdo | (~drdo@bl8-153-185.dsl.telepac.pt) |
2023-06-26 12:03:57 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 245 seconds) |
2023-06-26 12:05:52 +0200 | CiaoSen | (~Jura@2a05:5800:2ac:6500:664b:f0ff:fe37:9ef) (Ping timeout: 240 seconds) |
2023-06-26 12:10:24 +0200 | merijn | (~merijn@145.94.126.249) (Ping timeout: 250 seconds) |
2023-06-26 12:10:25 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2023-06-26 12:10:52 +0200 | __monty__ | (~toonn@user/toonn) |
2023-06-26 12:13:16 +0200 | merijn | (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl) |
2023-06-26 12:18:04 +0200 | cafkafk | (~cafkafk@fsf/member/cafkafk) |
2023-06-26 12:18:52 +0200 | hackyhacker | (~hackyhack@2a05:f480:1400:24b2:5400:4ff:fe76:a8f3) (Server closed connection) |
2023-06-26 12:19:33 +0200 | hackyhacker | (~hackyhack@2a05:f480:1400:24b2:5400:4ff:fe76:a8f3) |
2023-06-26 12:22:05 +0200 | Unode | (~Unode@fg-ext-220.embl.de) (Server closed connection) |
2023-06-26 12:22:48 +0200 | Unode | (~Unode@fg-ext-220.embl.de) |
2023-06-26 12:23:32 +0200 | merijn | (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl) (Ping timeout: 245 seconds) |
2023-06-26 12:23:48 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) |
2023-06-26 12:24:51 +0200 | CiaoSen | (~Jura@2a05:5800:2ac:6500:664b:f0ff:fe37:9ef) |
2023-06-26 12:33:08 +0200 | merijn | (~merijn@145.94.126.249) |
2023-06-26 12:35:33 +0200 | bontaq | (~user@ool-45779b84.dyn.optonline.net) |
2023-06-26 12:38:44 +0200 | merijn | (~merijn@145.94.126.249) (Ping timeout: 240 seconds) |
2023-06-26 12:40:41 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.8) |
2023-06-26 12:44:51 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:21c4:bb57:30a:20d0) |
2023-06-26 12:45:00 +0200 | merijn | (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl) |
2023-06-26 12:46:34 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-06-26 12:49:23 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:21c4:bb57:30a:20d0) (Ping timeout: 258 seconds) |
2023-06-26 12:50:42 +0200 | merijn | (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds) |
2023-06-26 12:53:58 +0200 | merijn | (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl) |
2023-06-26 12:57:08 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:e56:50b4:8cbc:f250) (Ping timeout: 240 seconds) |
2023-06-26 12:59:47 +0200 | merijn | (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl) (Ping timeout: 245 seconds) |
2023-06-26 13:02:45 +0200 | romes[m] | (~romesmatr@2001:470:69fc:105::2:1660) (Server closed connection) |
2023-06-26 13:02:57 +0200 | romes[m] | (~romesmatr@2001:470:69fc:105::2:1660) |
2023-06-26 13:06:05 +0200 | shriekingnoise | (~shrieking@186.137.175.87) |
2023-06-26 13:06:33 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-06-26 13:07:33 +0200 | xff0x | (~xff0x@ai098135.d.east.v6connect.net) |
2023-06-26 13:10:44 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-06-26 13:15:37 +0200 | akadude[m] | (~akadudema@2001:470:69fc:105::2:5bf7) (Server closed connection) |
2023-06-26 13:15:49 +0200 | akadude[m] | (~akadudema@2001:470:69fc:105::2:5bf7) |
2023-06-26 13:18:30 +0200 | fweht | (uid404746@id-404746.lymington.irccloud.com) |
2023-06-26 13:20:59 +0200 | mxs | (~mxs@user/mxs) (Ping timeout: 264 seconds) |
2023-06-26 13:22:20 +0200 | APic | (apic@apic.name) (Ping timeout: 250 seconds) |
2023-06-26 13:23:41 +0200 | infinity0 | (~infinity0@pwned.gg) (Remote host closed the connection) |
2023-06-26 13:24:04 +0200 | danse-nr3_ | (~francesco@151.35.43.168) (Ping timeout: 250 seconds) |
2023-06-26 13:25:39 +0200 | Guest9511 | (~finn@176-151-21-224.abo.bbox.fr) |
2023-06-26 13:26:35 +0200 | infinity0 | (~infinity0@pwned.gg) |
2023-06-26 13:27:42 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) (Ping timeout: 245 seconds) |
2023-06-26 13:27:59 +0200 | nut | (~nut@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds) |
2023-06-26 13:31:42 +0200 | marinelli[m] | (~marinelli@2001:470:69fc:105::2d8) (Server closed connection) |
2023-06-26 13:31:56 +0200 | marinelli[m] | (~marinelli@2001:470:69fc:105::2d8) |
2023-06-26 13:43:58 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-06-26 13:51:35 +0200 | ceoltb^ | (~ceoltb@24.125.210.85) |
2023-06-26 13:58:54 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) |
2023-06-26 13:58:59 +0200 | Inst_ | (~Inst@2601:6c4:4081:2fc0:61ec:e42a:c603:c093) (Ping timeout: 240 seconds) |
2023-06-26 14:00:49 +0200 | Inst | (~Inst@c-76-101-10-131.hsd1.fl.comcast.net) |
2023-06-26 14:00:56 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-164-153.46.114.pool.telefonica.de) |
2023-06-26 14:02:48 +0200 | Inst | (~Inst@c-76-101-10-131.hsd1.fl.comcast.net) (Read error: Connection reset by peer) |
2023-06-26 14:03:15 +0200 | Inst | (~Inst@c-76-101-10-131.hsd1.fl.comcast.net) |
2023-06-26 14:05:09 +0200 | thblt | (~thblt@user/thblt) |
2023-06-26 14:06:21 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
2023-06-26 14:06:21 +0200 | titibandit | (~titibandi@user/titibandit) (Read error: Connection reset by peer) |
2023-06-26 14:06:39 +0200 | titibandit | (~titibandi@user/titibandit) |
2023-06-26 14:08:42 +0200 | Sciencentistguy4 | (~sciencent@hacksoc/ordinary-member) |
2023-06-26 14:08:44 +0200 | danse-nr3_ | (~francesco@151.35.48.183) |
2023-06-26 14:10:20 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) (Ping timeout: 240 seconds) |
2023-06-26 14:10:20 +0200 | Sciencentistguy4 | Sciencentistguy |
2023-06-26 14:13:14 +0200 | nyc | (~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com) |
2023-06-26 14:13:55 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-06-26 14:14:22 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:9e3f:72b6:b558:f53d) |
2023-06-26 14:15:41 +0200 | <thblt> | I came accross this syntax in safe-money: newtype Dense (currency :: Symbol) = Dense Rational. I understand that it means that the Dense type is specialized per currency (so you can't add USD to EUR). But what is this syntax? Type families? |
2023-06-26 14:17:40 +0200 | <jade[m]> | the hint GHC gives is to enable DataKinds which makes it compile |
2023-06-26 14:18:28 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-164-153.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
2023-06-26 14:18:32 +0200 | <jade[m]> | since that extension doesn't imply any other it seems like that's the one |
2023-06-26 14:19:26 +0200 | <dminuoso> | The hint does nto enable DataKinds, its merely a kind annotation. |
2023-06-26 14:20:06 +0200 | <thblt> | thanks! |
2023-06-26 14:20:13 +0200 | <dminuoso> | thblt: If you wrote `newtype Dense currency = Dense Rational` something like `Dense Int` or `Dense Maybe` (with PolyKinds) would be valid |
2023-06-26 14:20:26 +0200 | <thblt> | dminuoso: I think jade[m] meant ghc's suggestion when compiling this as is |
2023-06-26 14:20:30 +0200 | <dminuoso> | Symbol constrains type parameters to those types of type Symbol |
2023-06-26 14:20:44 +0200 | <jade[m]> | thblt: yep |
2023-06-26 14:20:50 +0200 | <dminuoso> | Such that you can write `Dense "dollar"` in a type |
2023-06-26 14:21:36 +0200 | <dminuoso> | thblt: At any rate, the technical term of what this is used for is "phantom types" |
2023-06-26 14:22:10 +0200 | <dminuoso> | You could utilize them in type families too, but I cant think of a useful scenario in this particular example |
2023-06-26 14:22:52 +0200 | <dminuoso> | phantom types with `symbols` - which is a kind of uninhabited types that you can use as annotations in phantom types. |
2023-06-26 14:23:07 +0200 | <thblt> | Ha, thanks, makes sense. I knew about those in data, but I didn't think they'd work with newtype. |
2023-06-26 14:23:25 +0200 | <dminuoso> | thblt: Consider that newtype gets erased completely at compile time. |
2023-06-26 14:23:37 +0200 | <dminuoso> | If anything it would be the other way around. |
2023-06-26 14:23:43 +0200 | <thblt> | Yes, it's obvious in hindsight :) |
2023-06-26 14:25:55 +0200 | Midjak | (~Midjak@82.66.147.146) |
2023-06-26 14:26:08 +0200 | cfricke | (~cfricke@user/cfricke) |
2023-06-26 14:26:58 +0200 | cfricke | (~cfricke@user/cfricke) (Client Quit) |
2023-06-26 14:27:07 +0200 | cfricke | (~cfricke@user/cfricke) |
2023-06-26 14:32:17 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2023-06-26 14:35:59 +0200 | Guest9511 | (~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 264 seconds) |
2023-06-26 14:39:02 +0200 | danse-nr3_ | (~francesco@151.35.48.183) (Ping timeout: 252 seconds) |
2023-06-26 14:39:27 +0200 | caubert | (~caubert@user/caubert) (Quit: WeeChat 3.8) |
2023-06-26 14:41:22 +0200 | smalltalkman | (uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2023-06-26 14:42:39 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-06-26 14:43:27 +0200 | caubert | (~caubert@user/caubert) |
2023-06-26 14:46:48 +0200 | nschoe | (~q@141.101.51.197) |
2023-06-26 15:03:18 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) (Ping timeout: 250 seconds) |
2023-06-26 15:05:01 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2023-06-26 15:18:26 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-06-26 15:19:10 +0200 | fendor | (~fendor@2a02:8388:1640:be00:7aca:a77a:4a28:631a) (Remote host closed the connection) |
2023-06-26 15:22:42 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds) |
2023-06-26 15:23:38 +0200 | fendor | (~fendor@2a02:8388:1640:be00:7aca:a77a:4a28:631a) |
2023-06-26 15:30:29 +0200 | siraben | (~siraben@user/siraben) |
2023-06-26 15:31:02 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) |
2023-06-26 15:35:05 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
2023-06-26 15:42:58 +0200 | yaroot | (~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c) (Read error: Connection reset by peer) |
2023-06-26 15:43:13 +0200 | yaroot | (~yaroot@p3274042-ipngn2701souka.saitama.ocn.ne.jp) |
2023-06-26 15:43:34 +0200 | infinity0 | (~infinity0@pwned.gg) (Remote host closed the connection) |
2023-06-26 15:45:40 +0200 | infinity0 | (~infinity0@pwned.gg) |
2023-06-26 15:49:56 +0200 | mizlan | (~mizlan@c-73-63-223-227.hsd1.ca.comcast.net) |
2023-06-26 15:52:17 +0200 | ripspin | (~chatzilla@1.145.163.38) |
2023-06-26 15:53:33 +0200 | infinity0_ | (~infinity0@pwned.gg) |
2023-06-26 15:53:34 +0200 | infinity0 | (~infinity0@pwned.gg) (Killed (zirconium.libera.chat (Nickname regained by services))) |
2023-06-26 15:53:34 +0200 | infinity0_ | infinity0 |
2023-06-26 15:58:01 +0200 | sm[i] | (~smi]@plaintextaccounting/sm) |
2023-06-26 15:58:15 +0200 | infinity0 | (~infinity0@pwned.gg) (Remote host closed the connection) |
2023-06-26 16:00:21 +0200 | infinity0 | (~infinity0@pwned.gg) |
2023-06-26 16:03:50 +0200 | ddellacosta | (~ddellacos@146.70.185.136) (Quit: WeeChat 3.8) |
2023-06-26 16:03:56 +0200 | Lycurgus | (~juan@user/Lycurgus) |
2023-06-26 16:03:58 +0200 | mxs | (~mxs@user/mxs) |
2023-06-26 16:04:29 +0200 | APic | (apic@apic.name) |
2023-06-26 16:04:33 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-06-26 16:04:34 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-06-26 16:04:34 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-06-26 16:05:17 +0200 | sm[i] | (~smi]@plaintextaccounting/sm) (Ping timeout: 246 seconds) |
2023-06-26 16:07:26 +0200 | titibandit | (~titibandi@user/titibandit) (Read error: Connection reset by peer) |
2023-06-26 16:07:29 +0200 | ystael | (~ystael@user/ystael) |
2023-06-26 16:09:05 +0200 | ddellacosta | (~ddellacos@146.70.171.100) |
2023-06-26 16:10:47 +0200 | YuutaW | (~YuutaW@mail.yuuta.moe) (Ping timeout: 246 seconds) |
2023-06-26 16:12:35 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 264 seconds) |
2023-06-26 16:13:28 +0200 | titibandit | (~titibandi@user/titibandit) |
2023-06-26 16:14:35 +0200 | YuutaW | (~YuutaW@mail.yuuta.moe) |
2023-06-26 16:18:56 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-164-153.46.114.pool.telefonica.de) |
2023-06-26 16:20:07 +0200 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2023-06-26 16:20:30 +0200 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) |
2023-06-26 16:20:48 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-06-26 16:21:01 +0200 | titibandit | (~titibandi@user/titibandit) (Remote host closed the connection) |
2023-06-26 16:23:29 +0200 | thegeekinside | (~thegeekin@189.217.90.138) |
2023-06-26 16:24:34 +0200 | Lycurgus | (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
2023-06-26 16:26:23 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-06-26 16:31:01 +0200 | geranim0 | (~geranim0@modemcable182.140-177-173.mc.videotron.ca) |
2023-06-26 16:43:15 +0200 | Muon | (~muon@2a09:bac5:bec4:1923::281:6b) |
2023-06-26 16:45:46 +0200 | gemmaro` | (~gemmaro@240f:74:d1f0:1:ba1:e787:c9e:b1dc) |
2023-06-26 16:48:14 +0200 | mxs | (~mxs@user/mxs) (Ping timeout: 246 seconds) |
2023-06-26 16:49:47 +0200 | APic | (apic@apic.name) (Ping timeout: 264 seconds) |
2023-06-26 16:51:58 +0200 | segfaultfizzbuzz | (~segfaultf@12.172.217.142) |
2023-06-26 16:55:02 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2023-06-26 16:58:34 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Ping timeout: 250 seconds) |
2023-06-26 17:01:13 +0200 | gemmaro` | (~gemmaro@240f:74:d1f0:1:ba1:e787:c9e:b1dc) (Killed buffer) |
2023-06-26 17:01:51 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2023-06-26 17:02:31 +0200 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) |
2023-06-26 17:04:00 +0200 | nschoe | (~q@141.101.51.197) (Ping timeout: 246 seconds) |
2023-06-26 17:11:41 +0200 | YuutaW | (~YuutaW@mail.yuuta.moe) (Ping timeout: 246 seconds) |
2023-06-26 17:13:14 +0200 | fendor | (~fendor@2a02:8388:1640:be00:7aca:a77a:4a28:631a) (Remote host closed the connection) |
2023-06-26 17:15:05 +0200 | YuutaW | (~YuutaW@mail.yuuta.moe) |
2023-06-26 17:17:16 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2023-06-26 17:21:14 +0200 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2023-06-26 17:21:30 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2023-06-26 17:23:46 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-06-26 17:27:12 +0200 | Guest17 | (~Guest17@2804:14c:5b61:81fe:8c6b:125b:f65c:e13b) |
2023-06-26 17:27:16 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-06-26 17:28:55 +0200 | <Guest17> | I have posted a question on stackoverflow about parse error. If someone could help me I'm will be grateful. |
2023-06-26 17:28:56 +0200 | <Guest17> | https://stackoverflow.com/questions/76557896/parse-error-possiby-identation-or-mismatch-brackets |
2023-06-26 17:30:44 +0200 | <geekosaur> | I see several problems; the parse error(s) are likely missing `do`s after `then`s |
2023-06-26 17:31:17 +0200 | <geekosaur> | I also suspect you're missing parentheses in `mountTree` |
2023-06-26 17:31:18 +0200 | <jade[m]> | and in one of the if's you also have a let binding without any meaning that may be missing an in? |
2023-06-26 17:31:38 +0200 | <geekosaur> | `return` is not a keyword in Haskell |
2023-06-26 17:31:57 +0200 | <int-e> | there's also the lone "tree = mountTree(intitialPath)" in the final do block |
2023-06-26 17:31:58 +0200 | <jade[m]> | I would suggest writing many more smaller functions to compose and not trying to do imperative-ish nesting of conditionals |
2023-06-26 17:32:38 +0200 | <Guest17> | Same error for both |
2023-06-26 17:32:55 +0200 | <Guest17> | ok jade[m] i will attempt to do that. |
2023-06-26 17:33:07 +0200 | <int-e> | Guest17: yeah this looks like you should write something smaller and simpler first |
2023-06-26 17:33:36 +0200 | <Guest17> | yep, but what is this error? I can found it in this code. |
2023-06-26 17:33:41 +0200 | <geekosaur> | it also looks a lot like you're expecting `do` to turn Haskell into "normal" imperative code, which it doesn't |
2023-06-26 17:33:48 +0200 | <int-e> | If you load a file in `ghci` you can test simple functions without having a main function. |
2023-06-26 17:34:21 +0200 | <geekosaur> | you don't show the actual error or any line numbers |
2023-06-26 17:34:32 +0200 | <jade[m]> | furthermore length(some_list) == 0 just screams for a pattern match |
2023-06-26 17:35:02 +0200 | <geekosaur> | but after almost every `then` you have more than one line, which means you need `then do` |
2023-06-26 17:36:02 +0200 | <Guest17> | i will add the `then do`. Trying to load result i na parse error,, |
2023-06-26 17:36:40 +0200 | <jade[m]> | :r! |
2023-06-26 17:36:55 +0200 | <geekosaur> | also function invocations do not work as `f(a, b, c)`, but as `f a b c` |
2023-06-26 17:36:56 +0200 | <jade[m]> | that will defer errors |
2023-06-26 17:37:22 +0200 | <jade[m]> | and I would try to just avoid if in general as the way you use it is kind of just an antipattern |
2023-06-26 17:37:22 +0200 | <geekosaur> | and what's that bare `leaf + 1`? |
2023-06-26 17:37:36 +0200 | int-e | suspects "leaf++" |
2023-06-26 17:37:45 +0200 | <int-e> | (but in another language) |
2023-06-26 17:37:53 +0200 | <Guest17> | ops, dir + 1. |
2023-06-26 17:38:18 +0200 | <Guest17> | i'm attempet to read the dir tree |
2023-06-26 17:38:22 +0200 | <jade[m]> | I would assume they are thinking that haskell is "just like any other imperative language" |
2023-06-26 17:38:26 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 250 seconds) |
2023-06-26 17:38:45 +0200 | <jade[m]> | besides it actually being fundamentally different |
2023-06-26 17:39:11 +0200 | <jade[m]> | in haskell you can't have statements - you just have expressions that you compose with funcitons |
2023-06-26 17:39:27 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:9e3f:72b6:b558:f53d) (Quit: WeeChat 2.8) |
2023-06-26 17:39:33 +0200 | <Guest17> | yep |
2023-06-26 17:39:48 +0200 | <jade[m]> | do just gives the illusion that such things exist in haskell |
2023-06-26 17:40:02 +0200 | <int-e> | @undo do x <- act1; y <- act2 x; let z = x+y; return z |
2023-06-26 17:40:02 +0200 | <lambdabot> | <unknown>.hs:1:49:Parse error: EOF |
2023-06-26 17:40:11 +0200 | <int-e> | ah right |
2023-06-26 17:40:16 +0200 | <int-e> | @undo do x <- act1; y <- act2 x; let { z = x+y }; return z |
2023-06-26 17:40:16 +0200 | <lambdabot> | act1 >>= \ x -> act2 x >>= \ y -> let { z = x + y} in return z |
2023-06-26 17:41:20 +0200 | APic | (apic@apic.name) |
2023-06-26 17:41:35 +0200 | <int-e> | The thing is, `do` is "just" syntactic sugar for an ordinary Haskell expression with some weird operator (>>= and >> (not present in the example)) |
2023-06-26 17:42:27 +0200 | <int-e> | It doesn't magically give you mutation powers (assignment of variables). |
2023-06-26 17:43:54 +0200 | <Guest17> | i dones't mutate, i control the variables. should i assign to another variable? On de sedgewick book exercice one works perfectly. |
2023-06-26 17:43:54 +0200 | <Guest17> | so I do the same on this algorithm. |
2023-06-26 17:44:14 +0200 | <Guest17> | i will study ```>>=```and ``>>`` operators |
2023-06-26 17:44:36 +0200 | jespada | (~jespada@207.188.139.183) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2023-06-26 17:45:12 +0200 | <geekosaur> | thye won't help you here |
2023-06-26 17:45:30 +0200 | <Guest17> | ohh ok |
2023-06-26 17:45:44 +0200 | <geekosaur> | which means `do` won't helo you here either |
2023-06-26 17:45:54 +0200 | <geekosaur> | *help |
2023-06-26 17:46:16 +0200 | <jade[m]> | what helped me grasp haskell better is to just avoid do |
2023-06-26 17:46:23 +0200 | <jade[m]> | use explicit `>>=` |
2023-06-26 17:46:38 +0200 | <jade[m]> | because it doesn't hide the true identity |
2023-06-26 17:46:53 +0200 | dsrt^ | (~dsrt@24.125.210.85) |
2023-06-26 17:47:49 +0200 | Tuplanolla | (~Tuplanoll@91.159.68.236) |
2023-06-26 17:48:45 +0200 | <ski> | Guest17 : there is no variable assignment, in Haskell |
2023-06-26 17:49:47 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 245 seconds) |
2023-06-26 17:50:56 +0200 | mxs | (~mxs@user/mxs) |
2023-06-26 17:51:37 +0200 | <ski> | .. so much wrong here that it's hard to know where to start |
2023-06-26 17:51:49 +0200 | <Guest17> | ski you can assign values from IO to and variables using <- and mutating the declared. by the nature of haskell he will keep then immutable generating anotther variable in the haskell compiled code. How do not compile i can correct the errors |
2023-06-26 17:52:02 +0200 | <ski> | "you can assign values from IO to and variables using <- and mutating the declared" -- no |
2023-06-26 17:52:14 +0200 | <Guest17> | so it's what? |
2023-06-26 17:52:16 +0200 | <ski> | there's no mutation there |
2023-06-26 17:52:28 +0200 | <Guest17> | yep, only variable assignment |
2023-06-26 17:52:31 +0200 | <ski> | primariList <- getDirectoryContests(primariList) |
2023-06-26 17:52:36 +0200 | <ski> | this is not mutation |
2023-06-26 17:52:46 +0200 | <ski> | it's just declarring a new variable, which shadows the old one |
2023-06-26 17:52:47 +0200 | <geekosaur> | that passes a parameter to the rest of the do block |
2023-06-26 17:53:19 +0200 | <Guest17> | someone have a example of a tree to me to start? |
2023-06-26 17:53:30 +0200 | <Guest17> | or where i can find it |
2023-06-26 17:53:49 +0200 | <ski> | data Tree a = Node a [Tree a] |
2023-06-26 17:54:01 +0200 | <Guest17> | i'm using tuples |
2023-06-26 17:54:30 +0200 | <Guest17> | let the Node type to work in another hour |
2023-06-26 17:54:43 +0200 | <jade[m]> | hm? |
2023-06-26 17:55:00 +0200 | <Guest17> | jade[m] responding to the ski |
2023-06-26 17:55:00 +0200 | misterfish | (~misterfis@87.215.131.102) (Ping timeout: 260 seconds) |
2023-06-26 17:55:17 +0200 | <Guest17> | *answering |
2023-06-26 17:55:19 +0200 | <jade[m]> | yeah but I don't understand the response |
2023-06-26 17:55:23 +0200 | <jade[m]> | trees are recursive by nature |
2023-06-26 17:55:29 +0200 | <jade[m]> | so how can you use a tuple? |
2023-06-26 17:55:29 +0200 | <ski> | it's unclear what you're attempting to do, in your code, Guest17 |
2023-06-26 17:55:52 +0200 | <Guest17> | by using a recursion. |
2023-06-26 17:56:07 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-06-26 17:56:26 +0200 | <ski> | newetype Tree a = Node (a,[Tree a]) -- variant, using pairs, which are tuples |
2023-06-26 17:56:37 +0200 | rburkholder | (~blurb@96.45.2.121) (Server closed connection) |
2023-06-26 17:56:59 +0200 | rburkholder | (~blurb@96.45.2.121) |
2023-06-26 17:57:26 +0200 | <ski> | Guest17 : what is the intent of `toScan[leaf] = []' ? |
2023-06-26 17:57:26 +0200 | <Guest17> | ski I'm attempt to create a garbage collector for my node modules using haskell. this algorithm is was alredy writed in JS, now I'm attempt to do with haskell |
2023-06-26 17:57:29 +0200 | <jade[m]> | yeah but I don't see why you'd do that |
2023-06-26 17:57:39 +0200 | <Guest17> | scan a folders |
2023-06-26 17:58:00 +0200 | <Guest17> | *scan folders |
2023-06-26 17:58:26 +0200 | <jade[m]> | ok, but translating from an imperative algorithm to a functional one usually isn't that straightforward |
2023-06-26 17:58:40 +0200 | <jade[m]> | usually the functional one will be easier, but you need to think about the problem at hand |
2023-06-26 17:59:36 +0200 | <ski> | `Either IO [FilePath] String' also looks quite wrong. i'd suspect you either meant `Either (IO [FilePath]) String', `IO (Either [FilePath] String)', or `ExceptT [FilePath] IO String' |
2023-06-26 18:00:20 +0200 | YuutaW | (~YuutaW@mail.yuuta.moe) (Ping timeout: 240 seconds) |
2023-06-26 18:00:25 +0200 | <Guest17> | Either IO [FilePath] String the program receive a string when it ends |
2023-06-26 18:00:44 +0200 | <ski> | `Either IO [FilePath] String' is a kind error |
2023-06-26 18:00:54 +0200 | <ski> | `Either' doesn't take three type parameters. it takes two |
2023-06-26 18:01:05 +0200 | <Guest17> | he is taking to |
2023-06-26 18:01:09 +0200 | <Guest17> | Either a b |
2023-06-26 18:01:12 +0200 | <ski> | @kind Either IO [FilePath] String |
2023-06-26 18:01:13 +0200 | <lambdabot> | error: |
2023-06-26 18:01:14 +0200 | <lambdabot> | • Expected kind ‘* -> k0’, but ‘Either IO [FilePath]’ has kind ‘*’ |
2023-06-26 18:01:14 +0200 | <lambdabot> | • In the type ‘Either IO [FilePath] String’ |
2023-06-26 18:01:21 +0200 | <ski> | @kind Either (IO [FilePath]) String |
2023-06-26 18:01:22 +0200 | <lambdabot> | * |
2023-06-26 18:01:31 +0200 | <ski> | @kind IO (Either [FilePath] String) |
2023-06-26 18:01:31 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-06-26 18:01:32 +0200 | <lambdabot> | * |
2023-06-26 18:01:40 +0200 | <Guest17> | ahh ok |
2023-06-26 18:01:45 +0200 | <ski> | @kind ExceptT [FilePath] IO String |
2023-06-26 18:01:46 +0200 | <lambdabot> | * |
2023-06-26 18:02:33 +0200 | <jade[m]> | but usually you don't need these hugs monad constructs or even transformers for small programs like you are talking about |
2023-06-26 18:02:36 +0200 | <ski> | (the last two alternatives are basically the same thing, apart from some extra dress-up of the last version. the first alternative is different .. and, i suspect, not what you intended) |
2023-06-26 18:03:07 +0200 | <ski> | yea. the main question here is why you wrote `Either IO [FilePath] String' to begin with |
2023-06-26 18:03:23 +0200 | <Guest17> | i have corrected this error |
2023-06-26 18:03:54 +0200 | <jade[m]> | (I used to do all this exact stuff so I feel the pain) |
2023-06-26 18:04:01 +0200 | YuutaW | (~YuutaW@mail.yuuta.moe) |
2023-06-26 18:04:36 +0200 | <ski> | "a garbage collector for my node modules using haskell" -- are you garbage-collecting files in the file system ? |
2023-06-26 18:05:11 +0200 | <Guest17> | cleanning the node_modules from my projecsts a installing it again when necessary |
2023-06-26 18:05:32 +0200 | <ski> | by running some external (JS-related) programs, from Haskell ? |
2023-06-26 18:05:42 +0200 | <jade[m]> | sound like you can do this with a small bash script and find -r lol |
2023-06-26 18:05:48 +0200 | <Guest17> | ski yep |
2023-06-26 18:06:20 +0200 | <ski> | why did you think of using `Either' at all ? |
2023-06-26 18:06:24 +0200 | <Guest17> | jade[m]to leran more of hsakell i decided to do this. have some time i don't study haskell |
2023-06-26 18:06:52 +0200 | mxs | (~mxs@user/mxs) (Ping timeout: 240 seconds) |
2023-06-26 18:06:59 +0200 | <jade[m]> | ah alright |
2023-06-26 18:08:04 +0200 | <Guest17> | i will research more and come back here. |
2023-06-26 18:08:22 +0200 | <ski> | you don't want to talk through your code ? |
2023-06-26 18:08:40 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-06-26 18:09:06 +0200 | APic | (apic@apic.name) (Ping timeout: 246 seconds) |
2023-06-26 18:10:54 +0200 | <Guest17> | More research is needed. Principle to work with Node type. |
2023-06-26 18:10:55 +0200 | <Guest17> | iwill research in trees with haskell |
2023-06-26 18:11:02 +0200 | <Guest17> | this will do some help for me |
2023-06-26 18:11:40 +0200 | <ski> | do you really need to use a tree type ? |
2023-06-26 18:13:03 +0200 | <Guest17> | no, but can grow my kwnoledge |
2023-06-26 18:13:34 +0200 | <Guest17> | when was said to do more functional |
2023-06-26 18:13:56 +0200 | <Guest17> | i will need to research for examples. |
2023-06-26 18:15:16 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:21c4:bb57:30a:20d0) |
2023-06-26 18:16:26 +0200 | <ski> | perhaps getting a textbook could help |
2023-06-26 18:16:36 +0200 | <Guest17> | ok |
2023-06-26 18:16:54 +0200 | <Guest17> | have one in mind? |
2023-06-26 18:19:45 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2023-06-26 18:20:18 +0200 | hyiltiz | (~user@2620:149:13d1:100::5df) |
2023-06-26 18:23:21 +0200 | <int-e> | @where rwh |
2023-06-26 18:23:21 +0200 | <lambdabot> | http://www.realworldhaskell.org/blog/ http://book.realworldhaskell.org/read/ |
2023-06-26 18:23:24 +0200 | <int-e> | @where lyah |
2023-06-26 18:23:24 +0200 | <lambdabot> | http://www.learnyouahaskell.com/ |
2023-06-26 18:23:32 +0200 | <ski> | @where PiH |
2023-06-26 18:23:32 +0200 | <lambdabot> | "Programming in Haskell" by Graham Hutton in 2007-01-15,2016-09-01 at <http://www.cs.nott.ac.uk/~pszgmh/pih.html> |
2023-06-26 18:23:52 +0200 | <int-e> | . o ( just stay away from the "gentle introduction" ) |
2023-06-26 18:24:20 +0200 | <ski> | (unless you're already familiar with functional programming .. which doesn't appear to be the case, here) |
2023-06-26 18:24:42 +0200 | <ncf> | i'm surprised by how rarely the wikibook is recommended... is there anything wrong with it? |
2023-06-26 18:24:44 +0200 | <geekosaur> | of the three, I prefer the Hutton. but if you don't want to or can't spend money on it, the Haskell Wikibook is okay |
2023-06-26 18:24:49 +0200 | <geekosaur> | @where wikibook |
2023-06-26 18:24:49 +0200 | <lambdabot> | http://en.wikibooks.org/wiki/Haskell |
2023-06-26 18:25:08 +0200 | <hyiltiz> | Has anyone have any experience with the `padic` package by sergey? |
2023-06-26 18:25:24 +0200 | <geekosaur> | it's just nowhere near as good as Hutton's. but I consider it much better than LYAH |
2023-06-26 18:26:01 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2023-06-26 18:26:03 +0200 | <ncf> | i should probably read the Hutton and adjust my recommendation list then :) |
2023-06-26 18:26:19 +0200 | elain4 | (~textual@static-71-251-226-194.rcmdva.fios.verizon.net) |
2023-06-26 18:26:23 +0200 | oac_ | (~oac@pool-141-157-210-244.nycmny.fios.verizon.net) |
2023-06-26 18:28:29 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2023-06-26 18:28:49 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-06-26 18:29:23 +0200 | segfaultfizzbuzz | (~segfaultf@12.172.217.142) (Ping timeout: 246 seconds) |
2023-06-26 18:32:25 +0200 | elain4 | (~textual@static-71-251-226-194.rcmdva.fios.verizon.net) (Ping timeout: 240 seconds) |
2023-06-26 18:35:20 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Ping timeout: 246 seconds) |
2023-06-26 18:35:52 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-06-26 18:36:40 +0200 | <Guest17> | thanks folks. When I could help anyone I'm leaving. Thanks for the recomendations. |
2023-06-26 18:37:10 +0200 | Guest17 | (~Guest17@2804:14c:5b61:81fe:8c6b:125b:f65c:e13b) (Quit: Client closed) |
2023-06-26 18:39:43 +0200 | nick3 | (~nick@wsip-174-78-110-18.pn.at.cox.net) |
2023-06-26 18:40:02 +0200 | gmg | (~user@user/gehmehgeh) |
2023-06-26 18:41:18 +0200 | elain4 | (~textual@static-71-251-226-194.rcmdva.fios.verizon.net) |
2023-06-26 18:41:47 +0200 | nut | (~nut@176-151-21-224.abo.bbox.fr) |
2023-06-26 18:42:41 +0200 | jinsl | (~jinsl@2408:8207:2558:8870:211:32ff:fec8:6aea) (Ping timeout: 246 seconds) |
2023-06-26 18:44:59 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds) |
2023-06-26 18:45:12 +0200 | CiaoSen | (~Jura@2a05:5800:2ac:6500:664b:f0ff:fe37:9ef) (Ping timeout: 245 seconds) |
2023-06-26 18:55:45 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2023-06-26 18:57:44 +0200 | dmj` | (sid72307@id-72307.hampstead.irccloud.com) (Server closed connection) |
2023-06-26 18:58:10 +0200 | dmj` | (sid72307@id-72307.hampstead.irccloud.com) |
2023-06-26 18:58:25 +0200 | elain4 | (~textual@static-71-251-226-194.rcmdva.fios.verizon.net) (Ping timeout: 240 seconds) |
2023-06-26 19:06:30 +0200 | Guest9511 | (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) |
2023-06-26 19:06:47 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-06-26 19:11:45 +0200 | segfaultfizzbuzz | (~segfaultf@12.172.217.142) |
2023-06-26 19:20:35 +0200 | <jade[m]> | is there a nice overview for what parser combinator library is useful for what? |
2023-06-26 19:20:48 +0200 | <jade[m]> | because it seems like they all basically do the same with minor differences |
2023-06-26 19:27:16 +0200 | remedan | (~remedan@ip-94-112-0-18.bb.vodafone.cz) (Quit: Bye!) |
2023-06-26 19:28:11 +0200 | segfaultfizzbuzz | (~segfaultf@12.172.217.142) (Ping timeout: 246 seconds) |
2023-06-26 19:29:14 +0200 | CiaoSen | (~Jura@2a05:5800:2ac:6500:664b:f0ff:fe37:9ef) |
2023-06-26 19:38:17 +0200 | <geekosaur> | what seems to be, is |
2023-06-26 19:38:46 +0200 | <geekosaur> | there are some differences, for example attoparsec is well designed for streaming input |
2023-06-26 19:39:59 +0200 | <geekosaur> | but by and large you get the same thing from all of them these days |
2023-06-26 19:40:29 +0200 | <geekosaur> | at one point trifecta produced the best error messages, but then megaparsec upped its game in response |
2023-06-26 19:43:47 +0200 | CiaoSen | (~Jura@2a05:5800:2ac:6500:664b:f0ff:fe37:9ef) (Ping timeout: 264 seconds) |
2023-06-26 19:45:56 +0200 | user363627 | (~user@146.70.198.100) |
2023-06-26 19:47:23 +0200 | YuutaW | (~YuutaW@mail.yuuta.moe) (Ping timeout: 264 seconds) |
2023-06-26 19:48:49 +0200 | YuutaW | (~YuutaW@2404:f4c0:f9c3:502::100:17b7) |
2023-06-26 19:49:09 +0200 | remedan | (~remedan@ip-94-112-0-18.bb.vodafone.cz) |
2023-06-26 19:49:24 +0200 | <user363627> | what's a recommended way to install haskell-language-server for the latest stack snapshot? |
2023-06-26 19:50:56 +0200 | cafkafk | (~cafkafk@fsf/member/cafkafk) (Ping timeout: 240 seconds) |
2023-06-26 19:51:25 +0200 | jinsl | (~jinsl@2408:8207:2550:b730:211:32ff:fec8:6aea) |
2023-06-26 19:52:46 +0200 | cafkafk | (~cafkafk@fsf/member/cafkafk) |
2023-06-26 19:57:09 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2023-06-26 19:57:16 +0200 | <user363627> | oh there's a ghcup these days |
2023-06-26 19:58:26 +0200 | <chreekat> | bingo |
2023-06-26 19:59:17 +0200 | taupiqueur | (~taupiqueu@2a02:8440:2241:b894:997:4e3:5b13:10b2) |
2023-06-26 20:00:43 +0200 | tromp | (~textual@92.110.219.57) |
2023-06-26 20:05:34 +0200 | oac_ | (~oac@pool-141-157-210-244.nycmny.fios.verizon.net) (Quit: oac_) |
2023-06-26 20:06:20 +0200 | oac_ | (~oac@141.157.210.244) |
2023-06-26 20:09:03 +0200 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) |
2023-06-26 20:10:08 +0200 | Pickchea | (~private@user/pickchea) |
2023-06-26 20:11:10 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-06-26 20:11:24 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-06-26 20:12:46 +0200 | ripspin | (~chatzilla@1.145.163.38) (Remote host closed the connection) |
2023-06-26 20:15:41 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-06-26 20:17:56 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:21c4:bb57:30a:20d0) (Remote host closed the connection) |
2023-06-26 20:21:46 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2023-06-26 20:27:23 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2023-06-26 20:30:18 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:21c4:bb57:30a:20d0) |
2023-06-26 20:32:13 +0200 | <EvanR> | attoparsec is more convenient for parsing Word8 stream, megaparsec seems more convenient for parsing text. Supposedly you can reconfigure the token types but I never succeeded |
2023-06-26 20:33:24 +0200 | <geekosaur> | you can but you need to provide your own convenience wrappers |
2023-06-26 20:34:14 +0200 | nshepperd | (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Server closed connection) |
2023-06-26 20:34:21 +0200 | <geekosaur> | this does make a certain amount of sense because they'll tend to depend on how they're being used; otherwise you just get a harder to use binary/cereal |
2023-06-26 20:34:32 +0200 | nshepperd | (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) |
2023-06-26 20:38:01 +0200 | <EvanR> | for megaparsec you have to implement Stream, and now I see there's already an instance for Ord a => Stream [a], did not investigate that |
2023-06-26 20:38:14 +0200 | <EvanR> | I wonder what the Ord is for |
2023-06-26 20:39:30 +0200 | <tomsmeding> | perhaps to be able to use it as a key for a Map somewhere |
2023-06-26 20:39:31 +0200 | <EvanR> | the instance doesn't seem to need it |
2023-06-26 20:41:22 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:21c4:bb57:30a:20d0) (Remote host closed the connection) |
2023-06-26 20:42:28 +0200 | <EvanR> | oh, the class requires it |
2023-06-26 20:42:37 +0200 | <Hecate> | Stream, VisualStream & TraversableStream |
2023-06-26 20:43:40 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2023-06-26 20:44:29 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2023-06-26 20:47:11 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:21c4:bb57:30a:20d0) |
2023-06-26 20:49:35 +0200 | <EvanR> | and once you do all that, how do you form a new primitive Parsec(T) to start writing the parser |
2023-06-26 20:50:01 +0200 | nasrudin__ | (~nasrudin_@45.152.182.251) |
2023-06-26 20:51:41 +0200 | <EvanR> | use the newtype wrapper which takes a State s e -> (a -> State s e -> Hints (Token s) -> m b) -> (ParseError s e -> State s e -> m b) -> (a -> State s e -> Hints (Token s) -> m b) -> (ParseError s e -> State s e -> m b) -> m b ? |
2023-06-26 20:52:24 +0200 | <jade[m]> | Jesus that's a bunch |
2023-06-26 20:52:55 +0200 | <EvanR> | high octane Reader monad xD |
2023-06-26 20:54:22 +0200 | Square2 | (~Square@user/square) |
2023-06-26 20:54:41 +0200 | <EvanR> | ParsecT $ \s cok cerr eok eerr -> _ |
2023-06-26 20:56:19 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2023-06-26 20:56:25 +0200 | __monty__ | (~toonn@user/toonn) |
2023-06-26 20:56:52 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds) |
2023-06-26 20:57:28 +0200 | smoge | (~smoge@2603-7000-4b42-1100-dda0-def4-e62f-c2ea.res6.spectrum.com) |
2023-06-26 20:57:40 +0200 | <smoge> | How can I make it work for all kinds of nested lists? |
2023-06-26 20:57:40 +0200 | <smoge> | ghci> read "[[1]]" :: [[Int]] |
2023-06-26 20:57:41 +0200 | <smoge> | [[1]] |
2023-06-26 20:57:41 +0200 | <smoge> | ghci> read "[[1], [1, 2]]" :: [[Int]] |
2023-06-26 20:57:42 +0200 | <smoge> | [[1],[1,2]] |
2023-06-26 20:57:42 +0200 | <smoge> | ghci> read "[[1], [1, [2]]]" :: [[Int]] |
2023-06-26 20:57:43 +0200 | <smoge> | *** Exception: Prelude.read: no parse |
2023-06-26 20:57:43 +0200 | <smoge> | ghci> read "[[1], [1, [2]]]" :: [[[Int]]] |
2023-06-26 20:57:44 +0200 | <smoge> | *** Exception: Prelude.read: no parse |
2023-06-26 20:58:03 +0200 | <xerox> | :t [1,[2]] |
2023-06-26 20:58:04 +0200 | <lambdabot> | (Num a, Num [a]) => [[a]] |
2023-06-26 20:58:29 +0200 | <EvanR> | use a tree instead of a list |
2023-06-26 20:58:37 +0200 | <xerox> | not really a value |
2023-06-26 20:58:40 +0200 | <hpc> | :t [False, [True, False]] -- a bit more clear |
2023-06-26 20:58:41 +0200 | <lambdabot> | error: |
2023-06-26 20:58:41 +0200 | <lambdabot> | • Couldn't match expected type ‘Bool’ with actual type ‘[Bool]’ |
2023-06-26 20:58:42 +0200 | <lambdabot> | • In the expression: [True, False] |
2023-06-26 20:59:01 +0200 | <smoge> | I just want to use lisp lists and convert into haskell lists of lists, regardless of their structure |
2023-06-26 20:59:27 +0200 | <EvanR> | define a proper data type to represent lisp lists |
2023-06-26 20:59:57 +0200 | <EvanR> | or more likely, a lisp value which might be a list |
2023-06-26 21:00:13 +0200 | <smoge> | listStringToHaskell "(1 (2 (3 4) 5) 6)" |
2023-06-26 21:00:14 +0200 | <smoge> | -- Returns: -- [1,[2,[3,4],5],6] |
2023-06-26 21:00:21 +0200 | <dsal> | These kinds of things are a bit easier if you look at the types first. |
2023-06-26 21:00:23 +0200 | <hpc> | lisp lists are trees |
2023-06-26 21:00:27 +0200 | <smoge> | How to do it to work with any lisp list? |
2023-06-26 21:00:31 +0200 | <smoge> | yes |
2023-06-26 21:00:51 +0200 | <EvanR> | yeah it can't be a haskell list because haskell lists elements are all the same type |
2023-06-26 21:00:53 +0200 | <hpc> | don't be fooled by the name - it's like how python's "lists" are just its word for the array data structure |
2023-06-26 21:01:01 +0200 | <hpc> | even in the 50s they were naming things poorly :D |
2023-06-26 21:01:22 +0200 | <smoge> | So I need to parse and create a tree. No way around it? |
2023-06-26 21:01:36 +0200 | <hpc> | yeah |
2023-06-26 21:01:52 +0200 | <EvanR> | data Lisp = List [Lisp] | Symbol String | Number Double | Boolean Bool | ... |
2023-06-26 21:02:27 +0200 | <ncf> | more like data SExp = Nil | Cons SExp SExp | Atom ... |
2023-06-26 21:02:31 +0200 | <hpc> | personally i would cut it off at List/Symbol |
2023-06-26 21:02:46 +0200 | <ncf> | (1 . 2) = Cons (Atom 1) (Atom 2) |
2023-06-26 21:03:00 +0200 | <ncf> | (1 2) = Cons (Atom 1) (Cons (Atom 2) Nil) |
2023-06-26 21:03:07 +0200 | <ncf> | you can probably define an IsList instance |
2023-06-26 21:03:08 +0200 | <smoge> | I tried that, it returns something like Right (List [Number 1,List [Number 2,List [Number 3,Number (-4)]],Number 5,List [Number 6,List [Number 7,List [Number 8,List [Number (-9),Number 10]]]]]) |
2023-06-26 21:03:09 +0200 | <smoge> | How do I use it afterward? I goit a bit confused at this point |
2023-06-26 21:03:22 +0200 | <EvanR> | what do you want to do with it |
2023-06-26 21:03:40 +0200 | <EvanR> | ncf's version might be more lispy |
2023-06-26 21:05:23 +0200 | <smoge> | I want to iterate through the list, to transform it into music rhythm structures |
2023-06-26 21:05:41 +0200 | <smoge> | maybe my mind is too imperative still |
2023-06-26 21:05:51 +0200 | <ncf> | oh you're probably fine with lists instead of cons cells then |
2023-06-26 21:06:03 +0200 | <EvanR> | to iterate through the tree, you can write a recursive algorithm |
2023-06-26 21:06:36 +0200 | <dsal> | Though most things you'd need to do through the tree are already done and you can just reuse them. |
2023-06-26 21:06:50 +0200 | <smoge> | What is this " Right", all parsers return this? How to I deal with it later? |
2023-06-26 21:06:59 +0200 | bbhoss | (sid18216@id-18216.tinside.irccloud.com) () |
2023-06-26 21:06:59 +0200 | <dsal> | Right is a constructor of Either |
2023-06-26 21:07:02 +0200 | <EvanR> | data Either a b = Left a | Right b |
2023-06-26 21:07:17 +0200 | <EvanR> | use pattern matching to detect which case you get |
2023-06-26 21:07:24 +0200 | <smoge> | ok |
2023-06-26 21:07:29 +0200 | <EvanR> | Right means right and Left means parse error |
2023-06-26 21:07:53 +0200 | <EvanR> | in this case |
2023-06-26 21:09:02 +0200 | <EvanR> | pattern matching it also the basic way to iterate through a (haskell) list, a list is either the empty list or some element and some list tail |
2023-06-26 21:11:23 +0200 | Guest97 | (~Guest97@2a00:23c4:31cc:a301:5093:416:b7a8:251f) |
2023-06-26 21:11:50 +0200 | Guest97 | (~Guest97@2a00:23c4:31cc:a301:5093:416:b7a8:251f) (Client Quit) |
2023-06-26 21:14:26 +0200 | <TMA> | I thought it is usually the other way around. Left result, Right error |
2023-06-26 21:14:27 +0200 | <smoge> | Something like |
2023-06-26 21:14:27 +0200 | <smoge> | getTree :: Either String Value -> Maybe [Int] |
2023-06-26 21:14:28 +0200 | <smoge> | getTree (Right (List xs)) = Just (extractTree xs) |
2023-06-26 21:14:29 +0200 | <smoge> | getTree _ = Nothing |
2023-06-26 21:14:29 +0200 | <smoge> | ?? |
2023-06-26 21:14:49 +0200 | <jean-paul[m]> | TMA: It isn't. |
2023-06-26 21:14:56 +0200 | <jean-paul[m]> | Here's a mnemonic for you. Right is right. |
2023-06-26 21:15:17 +0200 | <jean-paul[m]> | (oops EvanR said it already) |
2023-06-26 21:15:37 +0200 | <dsal> | smoge: that's almost `fmap extractTree` if you didn't want it to throw away the error. |
2023-06-26 21:16:12 +0200 | taupiqueur | (~taupiqueu@2a02:8440:2241:b894:997:4e3:5b13:10b2) (Ping timeout: 240 seconds) |
2023-06-26 21:16:30 +0200 | <smoge> | getTree :: Either String Value -> Maybe [Int] |
2023-06-26 21:16:31 +0200 | <smoge> | getTree (Right (List xs)) = Just xs |
2023-06-26 21:16:31 +0200 | <smoge> | getTree _ = Nothing |
2023-06-26 21:16:32 +0200 | <dsal> | @hoogle Either a b -> Maybe b |
2023-06-26 21:16:33 +0200 | <lambdabot> | Data.Either.Combinators rightToMaybe :: Either a b -> Maybe b |
2023-06-26 21:16:34 +0200 | <lambdabot> | Data.Either.Extra eitherToMaybe :: Either a b -> Maybe b |
2023-06-26 21:16:34 +0200 | <lambdabot> | Extra eitherToMaybe :: Either a b -> Maybe b |
2023-06-26 21:16:59 +0200 | Guest9511 | (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds) |
2023-06-26 21:17:01 +0200 | <dsal> | smoge: You're doing two different things here. It might be better to think of them separately. |
2023-06-26 21:17:09 +0200 | <smoge> | ok |
2023-06-26 21:17:22 +0200 | <dsal> | One thing is converting the `Either String Value` to `Maybe Value`. The other is doing a `Value -> X` |
2023-06-26 21:18:34 +0200 | <dsal> | You might as well keep the `Either` unless you have a really good reason to throw away errors. |
2023-06-26 21:20:12 +0200 | <dsal> | Both `Either` and `Maybe` are functors, so you can use `fmap` to just ignore them and work on the `Value -> X` part. |
2023-06-26 21:20:26 +0200 | <smoge> | oh |
2023-06-26 21:20:26 +0200 | <EvanR> | one way is to handle the parse error immediately in your program, otherwise continue with the non-error |
2023-06-26 21:20:43 +0200 | <EvanR> | esp if you don't expect to have any failures past that point |
2023-06-26 21:20:54 +0200 | oac_ | (~oac@141.157.210.244) (Quit: oac_) |
2023-06-26 21:21:07 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-06-26 21:21:36 +0200 | oac | (~oac@141.157.210.244) |
2023-06-26 21:21:38 +0200 | <EvanR> | case parseTheThing str of Left msg -> crashAndBurn msg; Right value -> mainLoop value |
2023-06-26 21:22:15 +0200 | <jade[m]> | can you please provide an implementation of crashAndBurn |
2023-06-26 21:22:22 +0200 | <jade[m]> | i'd like to see that |
2023-06-26 21:22:29 +0200 | <EvanR> | halt and catch fire |
2023-06-26 21:22:49 +0200 | <TMA> | jean-paul[m]: It got it somehow mixed. I thought of it as an extension to Maybe, which is usually described as data Maybe a = Just a | Nothing adding another type parameter for the error and becoming data Either a b = Left a | Right b |
2023-06-26 21:22:54 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-164-153.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
2023-06-26 21:23:15 +0200 | <EvanR> | data Maybe a = Nothing | Just a? xD |
2023-06-26 21:23:20 +0200 | <smoge> | So no need to have this? |
2023-06-26 21:23:21 +0200 | <smoge> | Left err -> Left $ show err |
2023-06-26 21:23:21 +0200 | <smoge> | Right proportions -> Right proportions |
2023-06-26 21:23:25 +0200 | <jean-paul[m]> | withCString says "the Haskell string may not contain any NUL characters". What if it does? |
2023-06-26 21:23:30 +0200 | <dsal> | TMA: it gets clear when you try to do make a functor instance. |
2023-06-26 21:24:04 +0200 | <TMA> | EvanR: if that would be the usual way to introduced, then yes, that confusion would go away |
2023-06-26 21:24:09 +0200 | <smoge> | Better? |
2023-06-26 21:24:10 +0200 | <smoge> | Left err -> Left $ show err |
2023-06-26 21:24:10 +0200 | <EvanR> | smoge, think of the case as dispatching the Left or Right and going in two independent directions |
2023-06-26 21:24:10 +0200 | <smoge> | Right proportions -> Right proportions |
2023-06-26 21:24:20 +0200 | <smoge> | Left err -> Left $ show err |
2023-06-26 21:24:21 +0200 | <smoge> | Right proportions -> Just proportions |
2023-06-26 21:24:31 +0200 | <EvanR> | rewrapping with Left and Right is possible not unnecessary here |
2023-06-26 21:24:41 +0200 | <EvanR> | what |
2023-06-26 21:24:48 +0200 | <EvanR> | possible but unnecessary here |
2023-06-26 21:25:11 +0200 | <mauke> | jean-paul[m]: then your C string gets cut off |
2023-06-26 21:25:18 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2023-06-26 21:25:24 +0200 | <dsal> | smoge: it's not clear what you're trying to do. But worrying about what Either is doing is probably slowing your progress. You can write your code assuming you have whatever `Value` is and just `fmap` it. |
2023-06-26 21:25:27 +0200 | <EvanR> | my suggestion was assuming you were handling the parse error in IO before going on |
2023-06-26 21:25:29 +0200 | <smoge> | Ok, but I'm still confused what I can write after Right XXXX -> |
2023-06-26 21:25:42 +0200 | <EvanR> | anything that type checks |
2023-06-26 21:25:50 +0200 | <smoge> | ok oh |
2023-06-26 21:26:06 +0200 | <EvanR> | if you want to return Maybe [Int], then I guess the only option is Nothing |
2023-06-26 21:26:25 +0200 | <EvanR> | otherwise you'd be making up some numbers, since the parse failed |
2023-06-26 21:26:27 +0200 | <jean-paul[m]> | mauke: okay. could be worse. |
2023-06-26 21:27:17 +0200 | <EvanR> | assume you will handle the parse failure somehow and write your main code assuming you have a Value |
2023-06-26 21:27:25 +0200 | <EvanR> | figure out how to connect it later |
2023-06-26 21:28:08 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds) |
2023-06-26 21:28:37 +0200 | <EvanR> | TMA, |
2023-06-26 21:28:39 +0200 | <EvanR> | @src Maybe |
2023-06-26 21:28:39 +0200 | <lambdabot> | data Maybe a = Nothing | Just a |
2023-06-26 21:29:16 +0200 | <smoge> | Ok, any guide that I could read about it? |
2023-06-26 21:29:40 +0200 | <smoge> | Also, I'm trying to "rotate a tree". How can I get started with that? For eample: |
2023-06-26 21:29:40 +0200 | <smoge> | (1 ( 2 (3 -4)) 5 ( 6 (7 ( 8 (-9 10))))) |
2023-06-26 21:29:41 +0200 | <smoge> | (2 ( 3 (-4 5)) 6 ( 7 (8 ( -9 (10 1))))) |
2023-06-26 21:29:41 +0200 | <smoge> | (3 ( -4 (5 6)) 7 ( 8 (-9( 10 (1 2))))) |
2023-06-26 21:30:04 +0200 | <mauke> | .oO( logrotate ) |
2023-06-26 21:30:17 +0200 | <TMA> | EvanR: The tutorials I have encountered had it the other way around |
2023-06-26 21:30:26 +0200 | <dsal> | You can do that with biplate, but… I'm not sure you're ready for that. |
2023-06-26 21:30:53 +0200 | falafel | (~falafel@2607:fb91:86c:d890:7062:4878:f4c6:58e7) |
2023-06-26 21:31:06 +0200 | <mauke> | > Nothing < Just () |
2023-06-26 21:31:07 +0200 | <lambdabot> | True |
2023-06-26 21:32:22 +0200 | <EvanR> | i question writing Just a first because when you inductively define a data structure or whatever, you probably want a base case like Nothing to start with |
2023-06-26 21:32:27 +0200 | <smoge> | Ok, but could I some code that does something similar, just to have a sense? |
2023-06-26 21:32:29 +0200 | <EvanR> | @src List |
2023-06-26 21:32:29 +0200 | <lambdabot> | Source not found. And you call yourself a Rocket Scientist! |
2023-06-26 21:32:33 +0200 | <EvanR> | @src [] |
2023-06-26 21:32:33 +0200 | <lambdabot> | data [] a = [] | a : [a] |
2023-06-26 21:33:41 +0200 | <EvanR> | smoge, are you sure an arbitrary tree is the best structure for this. What other operations are you expecting to do |
2023-06-26 21:34:09 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:21c4:bb57:30a:20d0) (Remote host closed the connection) |
2023-06-26 21:34:10 +0200 | <EvanR> | rotate would be easier as a list, or a Data.Sequence |
2023-06-26 21:34:15 +0200 | <dsal> | If you're treating it like a list, a list might be easier. Because rotating a list is trivial, but rotating a tree is probably a lot of work. |
2023-06-26 21:34:18 +0200 | <smoge> | https://support.ircam.fr/docs/om/om6-manual/co/RT1.html |
2023-06-26 21:34:48 +0200 | <smoge> | rotate tree, substitute a leaf with a branch (subdivision) |
2023-06-26 21:34:59 +0200 | <EvanR> | a list of measures, each of which is divided somehow |
2023-06-26 21:35:07 +0200 | taupiqueur | (~taupiqueu@2a02-8440-2241-6bd3-291b-5a44-8bad-c57d.rev.sfr.net) |
2023-06-26 21:35:19 +0200 | <EvanR> | maybe |
2023-06-26 21:36:37 +0200 | <dsal> | The way I'd do this might be a bit difficult to understand right away. |
2023-06-26 21:36:49 +0200 | <smoge> | yes, the idea is to manipulate the tree, each measure is also a subtree |
2023-06-26 21:37:06 +0200 | <dsal> | I'm not even sure how easy it'd be to get a typesafe measure. I kind of want to try now. heh. |
2023-06-26 21:37:38 +0200 | <EvanR> | dependent types to the 'rescue'? xD |
2023-06-26 21:37:44 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds) |
2023-06-26 21:37:45 +0200 | <smoge> | I was trying to have a project to learn haskell, but maybe that's too hard. |
2023-06-26 21:37:59 +0200 | <smoge> | but if I go back to python, I will never learn haskell :) |
2023-06-26 21:38:02 +0200 | <EvanR> | choice of data structure is definitely key to doing things easily in haskell |
2023-06-26 21:38:22 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-164-153.46.114.pool.telefonica.de) |
2023-06-26 21:38:40 +0200 | <EvanR> | but it takes experience to know what kind of data structures are out there |
2023-06-26 21:38:46 +0200 | <smoge> | Yes, in this case, is there a specific kind of tree that would be easier to work? |
2023-06-26 21:38:55 +0200 | <dsal> | Not fully dependent, but you can have a type of Measure that has a division count and you could imagine a Measure made up of `Division 1 <+> Division 1 <+> Division 1 <+> Division 1`- I don't know that you can have fractional literals, though. |
2023-06-26 21:38:57 +0200 | <EvanR> | that depends entirely on the operations you need |
2023-06-26 21:40:15 +0200 | <dsal> | Doing it without type safety would be pretty straightforward. A Subdivision contains a list of subdivisions and the subdivision lengths are expected to add up to your measure length. |
2023-06-26 21:40:35 +0200 | <smoge> | <+> is being used to represent some kind of binary operation on Division (tree) values? substitution? |
2023-06-26 21:41:24 +0200 | <EvanR> | dsal looks like they are just constructing the data, not doing anything with it |
2023-06-26 21:42:11 +0200 | <dsal> | Yeah, so you would imagine adding a `a <+> b` where `a, b :: Division (1/8)` and the result would be `Division (1/4)` and a measure would have type `Division 1`. So you wouldn't be able to stick an eight note into a measure and have it compile. |
2023-06-26 21:42:20 +0200 | <EvanR> | anyway, if you just want to rotate, you can use a list of rational numbers |
2023-06-26 21:42:26 +0200 | <dsal> | EvanR: Yeah, I'm just looking at this page and trying to figure out how I might push stuff into the type system. |
2023-06-26 21:43:12 +0200 | <EvanR> | then each division can be subdivided arbitrarily |
2023-06-26 21:43:16 +0200 | <dsal> | The "easiest" way to rotate is biplate, but that's going to leave you completely baffled. A zipper might help. But the structure is just kind of not good at that. You could have a parallel structure. |
2023-06-26 21:43:22 +0200 | tromp | (~textual@92.110.219.57) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-06-26 21:43:58 +0200 | <smoge> | Does it make any sense? |
2023-06-26 21:43:58 +0200 | <smoge> | rotate :: Tree a -> Tree a |
2023-06-26 21:43:59 +0200 | <smoge> | rotate (Node [a, Node [b, c], d]) = Node [b, Node [a, c], d] |
2023-06-26 21:44:00 +0200 | <smoge> | rotate (Node [a, Node [b, c, d], e]) = Node [Node [a, b], c, Node [d, e]] |
2023-06-26 21:44:00 +0200 | <smoge> | rotate (Node xs) = Node (map rotate xs) |
2023-06-26 21:44:00 +0200 | <smoge> | rotate t = t |
2023-06-26 21:44:10 +0200 | <EvanR> | are you assuming a specific configuration |
2023-06-26 21:44:27 +0200 | <EvanR> | is the first element always a number and not a subtree |
2023-06-26 21:44:32 +0200 | <smoge> | yes... I can't figure out artitrary structures |
2023-06-26 21:46:14 +0200 | <smoge> | maybe just rotate a flattened list and populate a new tree with the old structure... ? |
2023-06-26 21:46:24 +0200 | trev | (~trev@user/trev) (Quit: trev) |
2023-06-26 21:47:12 +0200 | <EvanR> | do you need arbitrary levels? Or is it just 2 levels |
2023-06-26 21:47:50 +0200 | <smoge> | arbitrary, because each measure will be unique structure |
2023-06-26 21:48:22 +0200 | <EvanR> | is the idea to take a measure and map it to note times? |
2023-06-26 21:48:43 +0200 | <EvanR> | that wouldn't require putting the tree structure back |
2023-06-26 21:49:24 +0200 | <EvanR> | I'm half curious what python would do to help you out of this xD |
2023-06-26 21:49:56 +0200 | <smoge> | the Ideia is that you separate the duration of the measure and a tree that describes how time is divided following a (simple or nested) proportion |
2023-06-26 21:50:30 +0200 | <EvanR> | yeah that's representing something, but then what |
2023-06-26 21:50:42 +0200 | <EvanR> | draw a picture, play a song or |
2023-06-26 21:50:53 +0200 | <EvanR> | edit it with an editor |
2023-06-26 21:51:14 +0200 | <smoge> | it can be divided into four equal parts (1 1 1 1), or the second element can be subdivided into 3 parts (1 (1 (1 1 1) 1 1) |
2023-06-26 21:51:26 +0200 | <smoge> | that's the lisp data structure |
2023-06-26 21:51:47 +0200 | <smoge> | (1 (1 (1 1 1)) 1 1) |
2023-06-26 21:51:57 +0200 | <EvanR> | what would (1 2 1 1) mean |
2023-06-26 21:52:07 +0200 | <EvanR> | 5 parts? |
2023-06-26 21:52:24 +0200 | falafel | (~falafel@2607:fb91:86c:d890:7062:4878:f4c6:58e7) (Remote host closed the connection) |
2023-06-26 21:52:48 +0200 | falafel | (~falafel@2607:fb91:86c:d890:5415:7177:e51d:b764) |
2023-06-26 21:53:56 +0200 | <smoge> | Would mean 4 durations, the second is twice as long. The durations, in this case, would be adjusted to fir the same measure. Probably a "tuplet" 5-in-the-time-of-4 |
2023-06-26 21:54:09 +0200 | <smoge> | fit |
2023-06-26 21:54:10 +0200 | <probie> | If I remember from the docs last time this what brought up, `(1 2 1 1)` means that in one unit of time (determined by context), there are 4 notes, with the second being twice as long as the other 3 |
2023-06-26 21:54:26 +0200 | <probie> | s/what brought up/was brought up/ |
2023-06-26 21:54:37 +0200 | <smoge> | yeah that's correct |
2023-06-26 21:54:47 +0200 | Typedfern | (~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net) (Ping timeout: 245 seconds) |
2023-06-26 21:54:49 +0200 | <EvanR> | ok that's the same as what I was thinking |
2023-06-26 21:54:59 +0200 | <EvanR> | same measure, divided into 5 parts, second note takes two of them |
2023-06-26 21:55:08 +0200 | ec_ | (~ec@gateway/tor-sasl/ec) |
2023-06-26 21:56:11 +0200 | <smoge> | yes. The idea is that you can manipulate the "proportions" in abstract, since they could be, for example, applied to another measure (longer of shorter) etc |
2023-06-26 21:56:41 +0200 | <smoge> | the idea is that you can do different kinds of rhythm variations with this data structure |
2023-06-26 21:56:57 +0200 | <EvanR> | so what does the rotate operation represent, or is it like the act of playing through the measure before looping |
2023-06-26 21:57:39 +0200 | <smoge> | but if haskell don't like changing the structure at all by default, maybe there is an alternative way to do it |
2023-06-26 21:58:22 +0200 | <smoge> | the rotation operation creates a new rhythm inside the measure, it's one of the most abstract, actually |
2023-06-26 21:59:00 +0200 | <EvanR> | alright, discarding what I was thinking. So you want to edit a piece of your tree |
2023-06-26 21:59:12 +0200 | <geekosaur> | art of the fugue? |
2023-06-26 22:00:07 +0200 | <ncf> | contrapuntal functor |
2023-06-26 22:00:33 +0200 | <ncf> | parametric polyrhythm |
2023-06-26 22:00:36 +0200 | <ncf> | etc. |
2023-06-26 22:00:36 +0200 | <EvanR> | MonadFugueState |
2023-06-26 22:00:37 +0200 | <smoge> | yes, I want to take of one number and replace with a subdivision. or find all combination of a set of numbers that the sum is always x, etc |
2023-06-26 22:00:39 +0200 | ft | (~ft@p508db151.dip0.t-ipconnect.de) |
2023-06-26 22:00:42 +0200 | <smoge> | all sorts of things |
2023-06-26 22:00:58 +0200 | <EvanR> | ok haskell can do that |
2023-06-26 22:01:22 +0200 | <EvanR> | on the first part, the key is specifying which place you want to make the edit at |
2023-06-26 22:01:36 +0200 | <probie> | Prelude in C--? |
2023-06-26 22:01:47 +0200 | chromoblob | (~user@37.113.180.121) (Ping timeout: 264 seconds) |
2023-06-26 22:01:52 +0200 | <jade[m]> | huh? |
2023-06-26 22:02:17 +0200 | <EvanR> | you could use a sort of path like xpath, or upgrade to zippers. A zipper is like a cursor into your structure where you want to make an edit |
2023-06-26 22:02:30 +0200 | <smoge> | can you point out some material that might shed some light? |
2023-06-26 22:02:56 +0200 | <EvanR> | but if you never editing any haskell data structure before, maybe start by writing a function to edit a list |
2023-06-26 22:02:57 +0200 | <smoge> | zipper sounds like it, I think |
2023-06-26 22:03:18 +0200 | titibandit | (~titibandi@user/titibandit) |
2023-06-26 22:03:51 +0200 | <smoge> | ok, I'll practice with lists first |
2023-06-26 22:03:58 +0200 | <EvanR> | everything I read about zippers is confusing, maybe someone has a good resource. But it's probably considered more advanced |
2023-06-26 22:04:18 +0200 | S11001001 | (sid42510@id-42510.ilkley.irccloud.com) (Server closed connection) |
2023-06-26 22:04:28 +0200 | S11001001 | (sid42510@id-42510.ilkley.irccloud.com) |
2023-06-26 22:04:51 +0200 | <EvanR> | very pedestrian, non-zipper list editor would have type (a -> a) -> Int -> [a] -> [a] |
2023-06-26 22:05:15 +0200 | <geekosaur> | https://hackage.haskell.org/package/xmonad-0.17.2/docs/XMonad-StackSet.html#g:2 might be more approachable than other descriptions |
2023-06-26 22:06:09 +0200 | <geekosaur> | since it doesn't go on and on about derivatives and one-hole contexts and such |
2023-06-26 22:06:32 +0200 | <jade[m]> | https://wiki.haskell.org/Zipper |
2023-06-26 22:06:32 +0200 | <jade[m]> | uses a tree as an example, if that is desirable |
2023-06-26 22:09:22 +0200 | <smoge> | thank you! |
2023-06-26 22:09:39 +0200 | Typedfern | (~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net) |
2023-06-26 22:09:43 +0200 | geekosaur | opens, since list zippers he understands but has yet to wrap his head around how you zipper a tree |
2023-06-26 22:11:39 +0200 | Techcable | (~Techcable@user/Techcable) |
2023-06-26 22:11:48 +0200 | <EvanR> | haha xmonad mentions mcbride derivative paper but doesn't put a link |
2023-06-26 22:12:08 +0200 | <EvanR> | that's the only only zipper thing I actually understood |
2023-06-26 22:12:11 +0200 | <dolio> | A list is a unary tree. So a zipper stores the node values above you, a focused value, and the list below you. |
2023-06-26 22:12:26 +0200 | Techcable | (~Techcable@user/Techcable) (Remote host closed the connection) |
2023-06-26 22:12:40 +0200 | tromp | (~textual@92.110.219.57) |
2023-06-26 22:12:41 +0200 | <dolio> | A zipper for a binary tree stores the node values and branches you didn't follow above you, a focused value, and the tree below you. |
2023-06-26 22:14:08 +0200 | <dolio> | Or ditch the 'focused value' part since it makes zippers undefined for empty structures. |
2023-06-26 22:14:19 +0200 | Techcable | (~Techcable@user/Techcable) |
2023-06-26 22:15:19 +0200 | <geekosaur> | hm, I just checked and didn't see a good "primary" link for it, while filing a doc bug |
2023-06-26 22:18:41 +0200 | <geekosaur> | researchgate claims you have to request an official copy from Conor, although various other outlets provide copies of it (notably strictlypositive.org) |
2023-06-26 22:19:16 +0200 | <dolio> | If you get it from there, you are requesting it from Conor. :þ |
2023-06-26 22:19:51 +0200 | <jade[m]> | ime finding papers is always a pain |
2023-06-26 22:19:56 +0200 | <jade[m]> | so many paywalls and stuff |
2023-06-26 22:26:09 +0200 | <geekosaur> | anyway I filed a doc bug, we should at least mention the title, if not provide a link |
2023-06-26 22:27:15 +0200 | <geekosaur> | also while poking at this I found out the zipper page on the haskell wiki has a dead link (http://www.cs.nott.ac.uk/~ctm/) |
2023-06-26 22:29:47 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2023-06-26 22:32:17 +0200 | taupiqueur | (~taupiqueu@2a02-8440-2241-6bd3-291b-5a44-8bad-c57d.rev.sfr.net) (Ping timeout: 245 seconds) |
2023-06-26 22:33:24 +0200 | user363627 | (~user@146.70.198.100) (Quit: Konversation terminated!) |
2023-06-26 22:34:40 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:21c4:bb57:30a:20d0) |
2023-06-26 22:37:17 +0200 | dipper | (~dipper@203.168.26.139) (Ping timeout: 245 seconds) |
2023-06-26 22:38:57 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:21c4:bb57:30a:20d0) (Ping timeout: 245 seconds) |
2023-06-26 22:43:20 +0200 | chromoblob | (~user@37.113.180.121) |
2023-06-26 22:44:50 +0200 | titibandit | (~titibandi@user/titibandit) (Remote host closed the connection) |
2023-06-26 22:47:15 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-06-26 22:47:50 +0200 | chromoblob | (~user@37.113.180.121) (Ping timeout: 250 seconds) |
2023-06-26 22:49:20 +0200 | edwardk | (sid47016@haskell/developer/edwardk) (Server closed connection) |
2023-06-26 22:49:30 +0200 | edwardk | (sid47016@haskell/developer/edwardk) |
2023-06-26 22:51:50 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
2023-06-26 22:53:44 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-06-26 22:55:11 +0200 | codaraxis | (~codaraxis@user/codaraxis) |
2023-06-26 22:58:33 +0200 | tromp | (~textual@92.110.219.57) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-06-26 23:03:23 +0200 | __________ | (~nobody@user/noodly) |
2023-06-26 23:04:11 +0200 | _________ | (~nobody@user/noodly) (Ping timeout: 264 seconds) |
2023-06-26 23:06:54 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-06-26 23:07:58 +0200 | Guest9511 | (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) |
2023-06-26 23:08:43 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-06-26 23:08:49 +0200 | danse-nr3 | (~francesco@151.35.32.192) |
2023-06-26 23:10:12 +0200 | nut | (~nut@176-151-21-224.abo.bbox.fr) (Ping timeout: 245 seconds) |
2023-06-26 23:10:38 +0200 | __________ | _________ |
2023-06-26 23:10:47 +0200 | <janus> | geekosaur: i fixed the link, thanks |
2023-06-26 23:11:43 +0200 | <janus> | it doesn't actually seem to have had any papers on it though |
2023-06-26 23:11:46 +0200 | <janus> | how rare |
2023-06-26 23:13:07 +0200 | <janus> | but there are just tons of dead links on the haskell wiki |
2023-06-26 23:13:39 +0200 | <janus> | it's amazing how the archive.is person/team had the foresight to archive these ten years ago |
2023-06-26 23:13:52 +0200 | <janus> | somehow i find a lot more stuff archived with them than at the Internet Archive |
2023-06-26 23:13:57 +0200 | <janus> | and the interface is better too |
2023-06-26 23:14:28 +0200 | <janus> | there just to be a big discussion at Wikipedia where people would be afraid of using archive.is because it wasn't established like the Internet Archive |
2023-06-26 23:14:45 +0200 | <janus> | we really should archive the archive... |
2023-06-26 23:15:58 +0200 | <darkling> | Multiple copies is good. |
2023-06-26 23:21:20 +0200 | cafkafk | (~cafkafk@fsf/member/cafkafk) (Ping timeout: 240 seconds) |
2023-06-26 23:23:47 +0200 | cafkafk | (~cafkafk@fsf/member/cafkafk) |
2023-06-26 23:32:24 +0200 | extor | (~extor@ns3018124.ip-149-202-82.eu) (Remote host closed the connection) |
2023-06-26 23:35:08 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-06-26 23:36:50 +0200 | falafel | (~falafel@2607:fb91:86c:d890:5415:7177:e51d:b764) (Ping timeout: 258 seconds) |
2023-06-26 23:37:46 +0200 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
2023-06-26 23:40:38 +0200 | smoge | (~smoge@2603-7000-4b42-1100-dda0-def4-e62f-c2ea.res6.spectrum.com) (Ping timeout: 246 seconds) |
2023-06-26 23:40:45 +0200 | siraben | (~siraben@user/siraben) (Server closed connection) |
2023-06-26 23:43:55 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-06-26 23:45:35 +0200 | Square2 | (~Square@user/square) (Ping timeout: 264 seconds) |
2023-06-26 23:47:20 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-06-26 23:48:38 +0200 | catch22 | (~catch22@2406:3400:418:d7e0:67c:16ff:fe3e:b769) |
2023-06-26 23:49:29 +0200 | kupi | (uid212005@id-212005.hampstead.irccloud.com) |
2023-06-26 23:51:58 +0200 | nick3 | (~nick@wsip-174-78-110-18.pn.at.cox.net) (Ping timeout: 252 seconds) |
2023-06-26 23:53:05 +0200 | michalz | (~michalz@185.246.207.201) (Remote host closed the connection) |
2023-06-26 23:55:21 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2023-06-26 23:56:57 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |