Logs: freenode/#haskell
| 2020-10-28 09:05:49 | <tomsmeding> | and if you at some point think, hey you can generalise this idea of "replacing constructors" to other data types: welcome to the theory of folds :) |
| 2020-10-28 09:09:11 | <eedgit> | still not entirely sure it's not witchcraft. My original implementation was pretty long but by looking at other solutions I'm down to a handful of variables |
| 2020-10-28 09:09:28 | → | Franciman joins (~francesco@host-82-54-10-114.retail.telecomitalia.it) |
| 2020-10-28 09:09:33 | <eedgit> | Is there a simpler / more native way than flattening and using foldr for rose-trees ? |
| 2020-10-28 09:10:10 | <dminuoso> | eedgit: So, `flattening` *is* already fully descriptive of the fold. |
| 2020-10-28 09:10:45 | <dminuoso> | We could think of Foldable having two equivalent signature methods `toList` and `foldr` (or perhaps foldMap instead of foldr). |
| 2020-10-28 09:11:28 | <dminuoso> | (Im not actually sure why toList is not a method of Foldable) |
| 2020-10-28 09:12:32 | <dminuoso> | But yes, you could essentially rip down the implementation of toList, and use that to implement a foldr directly |
| 2020-10-28 09:12:56 | <Axman6> | is there any optimisations to he had with toList /= foldr (:) []? |
| 2020-10-28 09:13:05 | <dminuoso> | Where, if you look at the above scheme, instead of putting in a `:` you just put in the argument `f` and, and instead of the `[]` at the end you put in the z |
| 2020-10-28 09:13:42 | <dminuoso> | So if you had some implementation `flatten ... = x : ...; flatten ... = []` |
| 2020-10-28 09:13:47 | <dminuoso> | You could, instead, replace that implementation as |
| 2020-10-28 09:14:11 | <dminuoso> | instance Foldable YourTree where foldr f _z ... = x `f` ...; foldr _f z ... = z |
| 2020-10-28 09:14:13 | <dminuoso> | Mechanically |
| 2020-10-28 09:14:17 | <dminuoso> | (You dont even have to think about it) |
| 2020-10-28 09:14:36 | <dminuoso> | And then the `flatten` you have for free via `toList` |
| 2020-10-28 09:15:09 | <dminuoso> | Axman6: Well, less fusion/deforestation I guess? |
| 2020-10-28 09:15:26 | <dminuoso> | (By "less" I mean "less required") |
| 2020-10-28 09:15:35 | → | quaestor joins (~quaestor@griffith.christophrauch.de) |
| 2020-10-28 09:15:35 | <Axman6> | but surely that would have happened in your foldr definition |
| 2020-10-28 09:15:54 | <dminuoso> | If the foldr has to decompose a list again, that surely hinders optimizations |
| 2020-10-28 09:16:23 | <dminuoso> | If we dont even allow generating a list, we dont have to do deforestation in the first place. |
| 2020-10-28 09:16:58 | hackage | ukrainian-phonetics-basic 0.1.6.0 - A library to work with the basic Ukrainian phonetics and syllable segmentation. https://hackage.haskell.org/package/ukrainian-phonetics-basic-0.1.6.0 (OleksandrZhabenko) |
| 2020-10-28 09:17:32 | × | bartemius quits (~bartemius@109-252-20-20.nat.spd-mgts.ru) (Remote host closed the connection) |
| 2020-10-28 09:17:58 | hackage | mmsyn6ukr 0.8.2.0 - A musical instrument synthesizer or a tool for Ukrainian language listening https://hackage.haskell.org/package/mmsyn6ukr-0.8.2.0 (OleksandrZhabenko) |
| 2020-10-28 09:19:01 | × | mmohammadi9812 quits (~mmohammad@2.178.187.147) (Ping timeout: 246 seconds) |
| 2020-10-28 09:19:38 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 2020-10-28 09:19:47 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 2020-10-28 09:20:05 | → | mbomba joins (~mbomba@142.114.9.241) |
| 2020-10-28 09:22:20 | <eedgit> | Makes sense, thanks |
| 2020-10-28 09:22:50 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 256 seconds) |
| 2020-10-28 09:23:13 | → | knupfer joins (~Thunderbi@200116b82c8890009cbf5dfffee482bd.dip.versatel-1u1.de) |
| 2020-10-28 09:23:29 | × | GyroW quits (~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie) |
| 2020-10-28 09:23:39 | → | GyroW joins (~GyroW@d54C03E98.access.telenet.be) |
| 2020-10-28 09:23:39 | × | GyroW quits (~GyroW@d54C03E98.access.telenet.be) (Changing host) |
| 2020-10-28 09:23:39 | → | GyroW joins (~GyroW@unaffiliated/gyrow) |
| 2020-10-28 09:23:41 | × | knupfer quits (~Thunderbi@200116b82c8890009cbf5dfffee482bd.dip.versatel-1u1.de) (Remote host closed the connection) |
| 2020-10-28 09:23:45 | × | ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection) |
| 2020-10-28 09:23:48 | → | knupfer joins (~Thunderbi@200116b82c88900038812dc9660ae862.dip.versatel-1u1.de) |
| 2020-10-28 09:24:08 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
| 2020-10-28 09:24:57 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-28 09:26:52 | → | ahmr88 joins (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) |
| 2020-10-28 09:27:12 | → | benjamin-l joins (~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e60) |
| 2020-10-28 09:27:52 | → | avoandmayo joins (~textual@122.58.158.238) |
| 2020-10-28 09:29:10 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 2020-10-28 09:30:05 | → | mmohammadi9812 joins (~mmohammad@2.178.160.31) |
| 2020-10-28 09:30:46 | → | thir joins (~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) |
| 2020-10-28 09:32:54 | → | damianfral4 joins (~damianfra@243.red-176-80-34.dynamicip.rima-tde.net) |
| 2020-10-28 09:35:04 | × | thir quits (~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 2020-10-28 09:36:22 | × | avoandmayo quits (~textual@122.58.158.238) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-28 09:40:15 | → | thir joins (~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) |
| 2020-10-28 09:42:12 | → | avoandmayo joins (~textual@122-58-158-238-adsl.sparkbb.co.nz) |
| 2020-10-28 09:42:37 | × | berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 272 seconds) |
| 2020-10-28 09:42:59 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 2020-10-28 09:43:09 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 2020-10-28 09:44:52 | × | thir quits (~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2020-10-28 09:45:53 | → | kuribas joins (~user@ptr-25vy0i9apvg5lclnymw.18120a2.ip6.access.telenet.be) |
| 2020-10-28 09:48:52 | × | xxxzzzqqaa` quits (3dded63f@61-222-214-63.HINET-IP.hinet.net) (Remote host closed the connection) |
| 2020-10-28 09:50:34 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 2020-10-28 09:51:49 | × | polyrain quits (~polyrain@2001:8003:e501:6901:e039:127e:3f21:3e4c) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-28 09:52:14 | × | avoandmayo quits (~textual@122-58-158-238-adsl.sparkbb.co.nz) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-28 09:54:24 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 240 seconds) |
| 2020-10-28 09:54:42 | → | PeErLesS joins (~PeErLesS@s91904426.blix.com) |
| 2020-10-28 09:55:05 | PeErLesS | is now known as Guest65945 |
| 2020-10-28 09:55:08 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
| 2020-10-28 10:00:28 | hackage | th-lego 0.2 - Template Haskell construction utilities https://hackage.haskell.org/package/th-lego-0.2 (NikitaVolkov) |
| 2020-10-28 10:01:48 | × | Tario quits (~Tario@201.192.165.173) (Ping timeout: 260 seconds) |
| 2020-10-28 10:02:57 | hackage | wai-saml2 0.2.1.1 - SAML2 assertion validation as WAI middleware https://hackage.haskell.org/package/wai-saml2-0.2.1.1 (mbg) |
| 2020-10-28 10:04:21 | → | Rudd0 joins (~Rudd0@185.189.115.108) |
| 2020-10-28 10:04:45 | → | m0rphism joins (~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) |
| 2020-10-28 10:04:47 | × | Alleria_ quits (~AllahuAkb@2604:2000:1484:26:6857:8c0f:5834:bc03) (Ping timeout: 246 seconds) |
| 2020-10-28 10:05:24 | → | Alleria_ joins (~AllahuAkb@2604:2000:1484:26:7d65:3be5:43eb:ba0c) |
| 2020-10-28 10:05:28 | → | polyrain joins (~polyrain@2001:8003:e501:6901:e039:127e:3f21:3e4c) |
| 2020-10-28 10:09:01 | → | xsperry joins (~as@unaffiliated/xsperry) |
| 2020-10-28 10:09:03 | → | wretchswollen joins (~jvw@135-180-15-188.fiber.dynamic.sonic.net) |
| 2020-10-28 10:09:45 | × | shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection) |
| 2020-10-28 10:10:02 | → | shatriff joins (~vitaliish@176.52.219.10) |
| 2020-10-28 10:10:29 | × | shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection) |
| 2020-10-28 10:10:33 | → | p8m_ joins (p8m@gateway/vpn/protonvpn/p8m) |
| 2020-10-28 10:11:03 | → | shatriff joins (~vitaliish@176.52.219.10) |
| 2020-10-28 10:11:05 | × | p8m quits (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 240 seconds) |
| 2020-10-28 10:13:21 | → | obihann joins (~jhann@156.34.160.69) |
| 2020-10-28 10:14:01 | × | wretchswollen quits (~jvw@135-180-15-188.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds) |
| 2020-10-28 10:16:23 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Ping timeout: 240 seconds) |
| 2020-10-28 10:16:46 | → | jedws joins (~jedws@101.184.193.144) |
| 2020-10-28 10:16:46 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 246 seconds) |
| 2020-10-28 10:16:56 | × | mbomba quits (~mbomba@142.114.9.241) (Quit: WeeChat 2.9) |
| 2020-10-28 10:17:22 | → | vacm joins (~vacwm@70.23.92.191) |
| 2020-10-28 10:17:37 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 2020-10-28 10:20:33 | × | vacm quits (~vacwm@70.23.92.191) (Client Quit) |
| 2020-10-28 10:20:44 | × | rprije quits (~rprije@194-193-168-77.tpgi.com.au) (Ping timeout: 272 seconds) |
| 2020-10-28 10:22:04 | × | obihann quits (~jhann@156.34.160.69) (Ping timeout: 240 seconds) |
| 2020-10-28 10:24:46 | → | jakob_ joins (~textual@p200300f49f1622000181680b896afdc3.dip0.t-ipconnect.de) |
| 2020-10-28 10:25:38 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-10-28 10:25:58 | → | acidjnk_new joins (~acidjnk@p200300d0c72378970dcefe485f10de31.dip0.t-ipconnect.de) |
| 2020-10-28 10:26:46 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 2020-10-28 10:27:25 | → | ubert joins (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) |
| 2020-10-28 10:28:26 | → | obihann joins (~jhann@156.34.160.69) |
| 2020-10-28 10:29:44 | × | jedws quits (~jedws@101.184.193.144) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-10-28 10:30:20 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds) |
All times are in UTC.