Logs on 2020-12-03 (freenode/#haskell)
| 00:00:45 | × | threadlock quits (~threadloc@195.140.213.38) (Remote host closed the connection) |
| 00:00:46 | <ski> | "not" will be "approximative" (won't be an involution) |
| 00:01:03 | <ski> | but yes, that's conjunction and disjunction |
| 00:01:44 | → | irc_user joins (uid423822@gateway/web/irccloud.com/x-fpptyyxiewbpsugc) |
| 00:02:04 | × | hackage quits (mniip@haskell/bot/hackage) (Ping timeout: 246 seconds) |
| 00:02:55 | → | hackage joins (mniip@haskell/bot/hackage) |
| 00:05:15 | <ski> | negation of ⌜∞⌝ is ⌜0⌝, of course, and negation of ⌜0⌝ is ⌜∞⌝. negation of positive integers will also be mapped to ⌜∞⌝ |
| 00:07:55 | <hekkaidekapus_> | Is this about irredundant subsets? |
| 00:08:13 | hekkaidekapus_ | is now known as hekkaidekapus |
| 00:10:33 | <ski> | it's about (discrete) dynamical systems |
| 00:10:57 | → | elliott_ joins (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
| 00:12:13 | × | drincruz quits (~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 264 seconds) |
| 00:12:23 | → | xcmw joins (~textual@cpe-69-133-55-43.cinci.res.rr.com) |
| 00:12:31 | × | recon_- quits (~quassel@2602:febc:0:b6::6ca2) (Quit: No Ping reply in 180 seconds.) |
| 00:12:56 | <ski> | you have a type ⌜A⌝, and an endofunction ⌜α : A ⟶ A⌝. given a point in ⌜A⌝, to "advance time one step", you apply ⌜α⌝. for each point, you'll get an "orbit", if you repeat this |
| 00:12:59 | <hekkaidekapus> | Hmm, ok. I thought you were about to build up free sub-algebras and somehow land back to, from my guessing, what started it all (monoids, the Haskell way). |
| 00:13:04 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
| 00:13:16 | × | solonarv quits (~solonarv@anancy-651-1-197-136.w109-217.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
| 00:13:36 | <ski> | an orbit can eventually get stuck in a loop/cycle. or it might continue on to new points, eternally (in case the carrier ⌜A⌝ is infinite) |
| 00:14:02 | <ski> | a cycle, or an infinite strand, can have many "hairs" on it, that can branch back like trees |
| 00:14:08 | → | recon_- joins (~quassel@2602:febc:0:b6::6ca2) |
| 00:16:02 | <ski> | a subdynamical system of ⌜⟨A,α⟩⌝ is a subset ⌜S⌝ of ⌜A⌝, such that ⌜α⌝ is closed under ⌜S⌝ -- it's restriction to ⌜S⌝ has an image that fits inside ⌜S⌝ : ⌜α|S : S ⟶ S⌝ |
| 00:17:12 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 00:17:15 | → | livvy joins (~livvy@gateway/tor-sasl/livvy) |
| 00:17:46 | <ski> | now, if we have a point ⌜x⌝ of ⌜A⌝, we can ask whether it's included in the subobject ⌜S⌝. can ask ⌜x ∈ S⌝. the result of this question, the truth-value, is a point in the dynamical system of truth-values, ⌜Ω⌝ (the "subobject classifier") |
| 00:18:47 | × | LKoen quits (~LKoen@105.175.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
| 00:20:56 | × | tromp_ quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds) |
| 00:21:28 | <ski> | a map between dynamical systems, ⌜f : ⟨A,α⟩ ⟶ ⟨B,β⟩⌝ consists of a function between the carriers, ⌜f : A ⟶ B⌝, satisfuying the property that if we "advance time" (using ⌜α⌝) a step in ⌜A⌝, then use ⌜f⌝ to map to ⌜B⌝, then we get the same result as if we use ⌜f⌝ directly to map over to ⌜B⌝, and then "advance time" (using ⌜β⌝) over there : ⌜f ∘ α = β |
| 00:21:34 | <ski> | ∘ f⌝ (or, if you prefer, ⌜∀ x : A. f(α(x)) = β(f(x))⌝) |
| 00:22:43 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 00:22:53 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Remote host closed the connection) |
| 00:23:42 | × | Tops2 quits (~Tobias@dyndsl-095-033-092-058.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 00:23:45 | <hekkaidekapus> | The properties you are describing are better served with visual representations. |
| 00:23:47 | <ski> | (so ⌜f⌝ will map any "image of points, connected by \"advance time\"", inside ⌜A⌝, to a corresponding image, inside ⌜B⌝, still connected in the same way, although possibly "smushed" a bit (blurring things together, so we can't see as much detail)) |
| 00:23:52 | <ski> | yes |
| 00:24:22 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
| 00:24:32 | × | sagax quits (~sagax_nb@213.138.71.146) (Quit: Konversation terminated!) |
| 00:24:33 | <hekkaidekapus> | Are you into graphics? (specifically, the fractal kind) |
| 00:26:27 | <ski> | anyway, to describe "being an element of ⌜S⌝", we want to have a map ⌜χ_S : ⟨A,α⟩ ⟶ ⟨Ω,ω⟩⌝. it should map ⌜x⌝ to ⌜0⌝, just in case ⌜x⌝ was a member of ⌜S⌝ |
| 00:26:28 | × | tomboy64 quits (~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection) |
| 00:27:15 | → | tomboy64 joins (~tomboy64@gateway/tor-sasl/tomboy64) |
| 00:27:17 | <ski> | if ⌜x⌝ was not a member of ⌜S⌝, but ⌜α(x)⌝ is, then ⌜x⌝ should be mapped to ⌜1⌝. if not, but ⌜α(α(x))⌝ is, then ⌜x⌝ should be mapped to ⌜2⌝. and so on |
| 00:27:44 | <ski> | if no "descendant" of ⌜x⌝ is a member of ⌜S⌝, then ⌜x⌝ is mapped to ⌜∞⌝ |
| 00:27:59 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 00:28:24 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 00:28:58 | <ski> | (once you get inside a sub-dynamical-system, like ⌜⟨S,α|S⟩⌝, you can never escape. because ⌜α|S : S ⟶ S⌝ never maps from inside to outside) |
| 00:29:56 | <ski> | hm, well. i find fractals interesting, sure |
| 00:29:57 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 00:30:48 | → | joaoh82 joins (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) |
| 00:31:19 | → | da39a3ee5e6b4b0d joins (~da39a3ee5@171.5.161.165) |
| 00:31:23 | <hekkaidekapus> | What if there are “multiple-descendants”? (multiple variables to the process) |
| 00:31:24 | × | borne quits (~fritjof@200116b864cc28008cdf581d4c1cc02f.dip.versatel-1u1.de) (Ping timeout: 240 seconds) |
| 00:33:01 | <hekkaidekapus> | Immediate descendants, if that makes sense (not in the setting you began with, in some other system). |
| 00:33:09 | × | mcfilib_ quits (sid302703@gateway/web/irccloud.com/x-riwkfcukospcncdx) () |
| 00:33:19 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds) |
| 00:33:29 | → | borne joins (~fritjof@200116b8640d8d008cdf581d4c1cc02f.dip.versatel-1u1.de) |
| 00:33:32 | → | mcfilib_ joins (sid302703@gateway/web/irccloud.com/x-kgkbcflsogtbjjaz) |
| 00:33:37 | × | da39a3ee5e6b4b0d quits (~da39a3ee5@171.5.161.165) (Client Quit) |
| 00:33:43 | × | mcfilib_ quits (sid302703@gateway/web/irccloud.com/x-kgkbcflsogtbjjaz) (Client Quit) |
| 00:34:09 | → | mcfilib joins (sid302703@gateway/web/irccloud.com/x-pupkwpbkjgigplfb) |
| 00:34:33 | → | blankhart joins (~blankhart@c-71-232-98-152.hsd1.ma.comcast.net) |
| 00:34:50 | <ski> | (another example is to take, not dynamical systems, but (directed, multi-)graphs. there's an obvious notion of "subgraph", that similarly gives rise to a "truth-value" graph. having two nodes (⌜⊥⌝,⌜⊤⌝, "false" and "true"), and five edges (⌜⊥ : ⊥ ⟶ ⊥⌝,⌜source : ⊤ ⟶ ⊥⌝,⌜target : ⊤ ⟶ ⊥⌝,⌜ends : ⊤ ⟶ ⊤⌝,⌜⊤ : ⊤ ⟶ ⊤⌝) |
| 00:34:58 | × | Iceland_jack quits (~user@31.124.48.169) (Ping timeout: 246 seconds) |
| 00:35:01 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 272 seconds) |
| 00:35:04 | × | xff0x quits (~fox@2001:1a81:5348:9f00:a33e:b10d:3d9:e994) (Ping timeout: 240 seconds) |
| 00:35:11 | <ski> | well, you can take two endofunctions, rather than one, e.g. |
| 00:35:17 | × | philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Quit: leaving) |
| 00:35:33 | <ski> | so, at each turn, you can go either left or right |
| 00:35:50 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 00:36:16 | → | xff0x joins (~fox@2001:1a81:5348:9f00:9f14:5df2:6b84:6dea) |
| 00:36:28 | <ski> | (er .. sorry, should have been ⌜target : ⊥ ⟶ ⊤⌝ ..) |
| 00:36:46 | × | thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 244 seconds) |
| 00:37:19 | × | dnlkrgr quits (~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 265 seconds) |
| 00:37:43 | <hekkaidekapus> | Nice. Thank you for sharing, I’ll call it a night. |
| 00:38:38 | ski | nods |
| 00:38:39 | → | philopsos joins (~caecilius@gateway/tor-sasl/caecilius) |
| 00:39:17 | → | da39a3ee5e6b4b0d joins (~da39a3ee5@mx-ll-171.5.161-165.dynamic.3bb.co.th) |
| 00:39:48 | <ski> | ("Conceptual Mathematics: A First Introduction to Categories" by F. William "Bill" Lawvere,Stephen H. Schanuel in 2009, does go into those examples, a bit) |
| 00:39:55 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 00:39:56 | × | joaoh82 quits (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Ping timeout: 240 seconds) |
| 00:40:05 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds) |
| 00:40:10 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds) |
| 00:44:26 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds) |
| 00:46:57 | <koz_> | :t mapMaybe |
| 00:46:58 | <lambdabot> | (a -> Maybe b) -> [a] -> [b] |
| 00:47:11 | <koz_> | @hoogle mapMaybe |
| 00:47:12 | <lambdabot> | Data.Maybe mapMaybe :: (a -> Maybe b) -> [a] -> [b] |
| 00:47:12 | <lambdabot> | Data.IntMap.Internal mapMaybe :: (a -> Maybe b) -> IntMap a -> IntMap b |
| 00:47:12 | <lambdabot> | Data.IntMap.Lazy mapMaybe :: (a -> Maybe b) -> IntMap a -> IntMap b |
| 00:48:20 | <ski> | @type (=<<) . (maybe mzero return .) |
| 00:48:22 | <lambdabot> | MonadPlus m => (a -> Maybe b) -> m a -> m b |
| 00:50:18 | <MarcelineVQ> | not quite as cool as mapPossibly |
| 00:51:48 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 00:53:45 | × | jmchael quits (~Chi1thang@87.112.60.168) (Ping timeout: 260 seconds) |
| 00:57:06 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 00:59:52 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 01:00:13 | × | lambdaman quits (~lambdaman@d23-16-215-123.bchsia.telus.net) (Remote host closed the connection) |
| 01:01:37 | × | alp quits (~alp@2a01:e0a:58b:4920:dc54:a0f8:3325:44d9) (Ping timeout: 272 seconds) |
| 01:01:41 | × | blankhart quits (~blankhart@c-71-232-98-152.hsd1.ma.comcast.net) (Ping timeout: 260 seconds) |
| 01:04:50 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds) |
| 01:05:00 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 01:05:45 | × | dhil quits (~dhil@195.213.192.34) (Ping timeout: 240 seconds) |
| 01:10:19 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 01:12:29 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 01:13:39 | × | joaj quits (~joaj@2001:818:e326:8200:5273:55b7:3a86:e6ca) (Ping timeout: 272 seconds) |
| 01:14:38 | → | joaj joins (~joaj@2001:818:e326:8200:9fc:6bde:c18a:1771) |
| 01:14:45 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 260 seconds) |
| 01:16:29 | × | conal quits (~conal@198.8.81.86) (Quit: Computer has gone to sleep.) |
| 01:16:34 | → | blankhart joins (~blankhart@c-71-232-98-152.hsd1.ma.comcast.net) |
| 01:20:09 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 01:20:22 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving) |
| 01:20:36 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 01:20:38 | → | conal joins (~conal@198.8.81.86) |
| 01:21:19 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 01:22:44 | → | george2829838 joins (450c2c3e@69.12.44.62) |
| 01:23:40 | × | johnw quits (~johnw@haskell/developer/johnw) (Quit: ZNC - http://znc.in) |
| 01:24:37 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds) |
| 01:25:25 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
| 01:25:45 | × | cyphase quits (~cyphase@unaffiliated/cyphase) (Ping timeout: 240 seconds) |
| 01:26:12 | → | jMCg joins (~jMCg@195.140.213.38) |
| 01:26:18 | × | conal quits (~conal@198.8.81.86) (Quit: Computer has gone to sleep.) |
| 01:26:43 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 01:28:46 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 01:30:07 | × | george2829838 quits (450c2c3e@69.12.44.62) (Remote host closed the connection) |
| 01:31:11 | → | cyphase joins (~cyphase@unaffiliated/cyphase) |
| 01:32:03 | × | recon_- quits (~quassel@2602:febc:0:b6::6ca2) (Quit: quity) |
| 01:32:23 | → | recon_- joins (~quassel@208.87.96.9) |
| 01:40:09 | × | blankhart quits (~blankhart@c-71-232-98-152.hsd1.ma.comcast.net) (Ping timeout: 265 seconds) |
| 01:41:38 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 272 seconds) |
| 01:41:51 | → | Lord_of_Life joins (~Lord@46.217.221.243) |
| 01:51:41 | × | elliott_ quits (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Quit: WeeChat 2.9) |
| 01:52:17 | → | elliott_ joins (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
| 01:52:20 | × | elliott_ quits (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Client Quit) |
| 01:52:37 | × | NinjaTrappeur quits (~ninja@unaffiliated/ninjatrappeur) (Ping timeout: 260 seconds) |
| 01:52:48 | → | elliott_ joins (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
| 01:58:31 | × | cyphase quits (~cyphase@unaffiliated/cyphase) (Ping timeout: 265 seconds) |
| 01:59:34 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 02:01:48 | → | cyphase joins (~cyphase@unaffiliated/cyphase) |
| 02:02:56 | → | NinjaTrappeur joins (~ninja@unaffiliated/ninjatrappeur) |
| 02:03:10 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
| 02:03:10 | × | m0rphism quits (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) (Ping timeout: 272 seconds) |
| 02:03:16 | × | cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 240 seconds) |
| 02:06:02 | × | miguel_clean quits (~Miguel@89-72-187-203.dynamic.chello.pl) (Quit: Leaving.) |
| 02:07:36 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds) |
| 02:08:12 | → | guest123 joins (~user@49.5.6.87) |
| 02:08:39 | → | fionnan joins (~fionnan@109.255.20.201) |
| 02:10:47 | → | inkbottle joins (~inkbottle@aaubervilliers-654-1-81-2.w86-212.abo.wanadoo.fr) |
| 02:12:05 | × | zebrag quits (~inkbottle@aaubervilliers-654-1-118-216.w86-198.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
| 02:15:22 | × | Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 02:15:29 | → | dcoutts_ joins (~dcoutts@unaffiliated/dcoutts) |
| 02:17:23 | → | Jonkimi727406120 joins (~Jonkimi@119.123.243.225) |
| 02:18:22 | × | dcoutts quits (~dcoutts@unaffiliated/dcoutts) (Ping timeout: 256 seconds) |
| 02:19:11 | hackage | servant-swagger-ui 0.3.4.3.37.2 - Servant swagger ui https://hackage.haskell.org/package/servant-swagger-ui-0.3.4.3.37.2 (DavidJohnson) |
| 02:19:45 | × | halbGefressen quits (~halbGefre@2a02:810d:f40:2a9c:40b2:2308:84bd:8b9b) (Quit: halbGefressen) |
| 02:19:58 | → | m0rphism joins (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) |
| 02:20:36 | × | Khisanth quits (~Khisanth@56.sub-174-244-145.myvzw.com) (Ping timeout: 240 seconds) |
| 02:23:15 | × | jollygood2 quits (~bc8165ab@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout)) |
| 02:24:09 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 02:25:50 | × | xff0x quits (~fox@2001:1a81:5348:9f00:9f14:5df2:6b84:6dea) (Ping timeout: 264 seconds) |
| 02:26:41 | hackage | servant-swagger-ui-core 0.3.4 - Servant swagger ui core components https://hackage.haskell.org/package/servant-swagger-ui-core-0.3.4 (DavidJohnson) |
| 02:26:49 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 02:27:31 | → | xff0x joins (~fox@2001:1a81:5384:5000:270f:7277:a2a:3b14) |
| 02:28:33 | <iqubic> | :t many |
| 02:28:35 | <lambdabot> | Alternative f => f a -> f [a] |
| 02:28:40 | <iqubic> | What does this even do? |
| 02:29:03 | <Axman6> | runs the f a until it fails and returns all results |
| 02:29:20 | <Axman6> | @src many |
| 02:29:21 | <lambdabot> | Source not found. Sorry. |
| 02:30:25 | <iqubic> | But how would the f a action have multiple results? |
| 02:30:43 | <Axman6> | f ~ Parser |
| 02:30:43 | → | shinobi_ joins (~shinobi@c-24-147-48-162.hsd1.ma.comcast.net) |
| 02:31:13 | <iqubic> | huh? What do you mean? |
| 02:31:13 | <Axman6> | char :: Char -> Parser Char, many (char 'a') runnagainst "aaabbb" would return "aaa" |
| 02:31:20 | <iqubic> | Ah I see. That makes sense. |
| 02:31:40 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 272 seconds) |
| 02:32:03 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Remote host closed the connection) |
| 02:33:18 | <iqubic> | How does many work? |
| 02:33:45 | × | shinobi quits (~shinobi@c-24-147-48-162.hsd1.ma.comcast.net) (Ping timeout: 240 seconds) |
| 02:34:15 | → | Khisanth joins (~Khisanth@115.sub-174-197-143.myvzw.com) |
| 02:34:15 | <Axman6> | many f = ((:) <$> f a <*> many f) <|> pure [] |
| 02:34:46 | <Axman6> | one of those recursive calls to many f will eventually return [] because the f failed |
| 02:35:00 | <Axman6> | uh, should be (:) <$> f <*> ... |
| 02:36:00 | <iqubic> | So it will run `f a` again and again and again until it fails? |
| 02:36:24 | <iqubic> | That's very powerful. |
| 02:36:51 | <Axman6> | it'll run f again (which has type f a, sorry) |
| 02:37:10 | × | shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection) |
| 02:37:12 | <Axman6> | it is powerful, but can be prone to doing too much |
| 02:37:20 | <Axman6> | which is why things like manyTill exist |
| 02:37:24 | <Axman6> | :t manyTill |
| 02:37:26 | <lambdabot> | error: Variable not in scope: manyTill |
| 02:37:32 | <Axman6> | @hoogle manyTill |
| 02:37:32 | <lambdabot> | Text.ParserCombinators.ReadP manyTill :: ReadP a -> ReadP end -> ReadP [a] |
| 02:37:32 | <lambdabot> | Text.Parsec manyTill :: Stream s m t => ParsecT s u m a -> ParsecT s u m end -> ParsecT s u m [a] |
| 02:37:32 | <lambdabot> | Text.Parsec.Combinator manyTill :: Stream s m t => ParsecT s u m a -> ParsecT s u m end -> ParsecT s u m [a] |
| 02:37:45 | → | shatriff joins (~vitaliish@176.52.219.10) |
| 02:37:50 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 02:38:27 | <iqubic> | What does manyTill do again? |
| 02:38:49 | × | rcdilorenzo quits (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo) |
| 02:38:53 | <Axman6> | which is something like manyTill fa fend = (fend $> []) <|> ((:) <$> fa <*> manyTill fa fend), i.e., parse as many a's as you can until fend succeeds |
| 02:39:05 | → | rcdilorenzo joins (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) |
| 02:39:13 | <iqubic> | Ah. |
| 02:40:17 | <iqubic> | manyTill letterChar (char ",") "abcdefghi, 12345" |
| 02:40:26 | <iqubic> | Something like that might return just the letters. |
| 02:41:13 | <Axman6> | so parsing some numbers in the format [1,2,3,4] might look like: char '[' *> ((:) <$> int <*> manyTill (char ',' *> int) (char ']') |
| 02:41:51 | <Axman6> | uh, though that won't work for empty lists |
| 02:42:04 | <iqubic> | Right, except that parser combinators give us something better: |
| 02:42:07 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 02:42:51 | <iqubic> | https://hackage.haskell.org/package/parser-combinators-1.2.1/docs/Control-Applicative-Combinators.html#v:sepEndBy |
| 02:43:17 | <iqubic> | Actually, you'd just want sepBy. |
| 02:43:18 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 02:43:20 | × | rcdilorenzo quits (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Client Quit) |
| 02:43:24 | → | geowiesnot joins (~user@87-89-181-157.abo.bbox.fr) |
| 02:43:38 | → | rcdilorenzo joins (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) |
| 02:43:45 | <iqubic> | This is going to useful for remembering how Megaparsec works when doing Advent Of Code tonight. |
| 02:46:14 | × | joaj quits (~joaj@2001:818:e326:8200:9fc:6bde:c18a:1771) (Ping timeout: 264 seconds) |
| 02:46:27 | → | poi joins (6f63120c@KD111099018012.ppp-bb.dion.ne.jp) |
| 02:46:52 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds) |
| 02:47:03 | <Axman6> | yeah I was going to say there's definitely preexisting combinators for exactly this sort of parsing, since these patternsd are so common |
| 02:49:17 | <iqubic> | Yeah. |
| 02:49:52 | <iqubic> | I just wrote this for myself: http://dpaste.com/3JUVJ2QXS |
| 02:50:02 | <iqubic> | I think that should do what I want. |
| 02:50:54 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 02:53:36 | → | text70 joins (48b61385@072-182-019-133.res.spectrum.com) |
| 02:53:38 | → | blankhart joins (~blankhart@c-71-232-98-152.hsd1.ma.comcast.net) |
| 02:53:59 | × | guest123 quits (~user@49.5.6.87) (Read error: Connection reset by peer) |
| 02:54:37 | → | guest123 joins (~user@49.5.6.87) |
| 02:54:38 | × | lassulus quits (~lassulus@NixOS/user/lassulus) (Ping timeout: 256 seconds) |
| 02:54:48 | <koala_man> | how can I get the path to a cabal built executable? |
| 02:55:56 | → | vg joins (~vg@139.59.59.230) |
| 02:55:56 | × | chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 02:56:17 | → | chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 02:56:39 | <dibblego> | you can use the --installdir flag to cabal install to know where it is, at least |
| 02:56:56 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 02:57:11 | × | guest123 quits (~user@49.5.6.87) (Remote host closed the connection) |
| 02:57:19 | → | guest123 joins (~user@49.5.6.87) |
| 02:57:33 | vg | is now known as TooDifficult |
| 02:58:37 | × | poi quits (6f63120c@KD111099018012.ppp-bb.dion.ne.jp) (Remote host closed the connection) |
| 03:00:38 | × | irc_user quits (uid423822@gateway/web/irccloud.com/x-fpptyyxiewbpsugc) (Quit: Connection closed for inactivity) |
| 03:01:16 | <ezzieyguywuf> | so, I'm using config-value (and I really like it!) but I could use some advice, or maybe just bounce some ideas, regarding my config file structure. here is an example of what I currently have, but I'm wondering if there is some better way to have the user provide a list of (match-strings, new-description) pairs. https://dpaste.com/6A6Z4K7LL |
| 03:02:10 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 03:03:36 | × | blankhart quits (~blankhart@c-71-232-98-152.hsd1.ma.comcast.net) (Ping timeout: 240 seconds) |
| 03:05:41 | → | drbean joins (~drbean@TC210-63-209-27.static.apol.com.tw) |
| 03:06:38 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds) |
| 03:08:46 | → | lassulus joins (~lassulus@NixOS/user/lassulus) |
| 03:08:51 | <monochrom> | koala_man: There are two defaults, depending on v1 commands vs v2 commands. $HOME/.cabal/bin and $HOME/.local/bin |
| 03:09:30 | <glguy> | ezzieyguywuf, I would say just don't use key-value pairs, instead use a list |
| 03:09:43 | <monochrom> | I highly recommend customizing $HOME/.cabal/config to set them to what works best for you. |
| 03:09:59 | × | urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna) |
| 03:10:20 | <glguy> | ezzieyguywuf, like what I have in the example config file here: https://github.com/glguy/irc-core a list of servers |
| 03:11:27 | × | pjb quits (~t@2a01cb04063ec500c51bcad49f8457d6.ipv6.abo.wanadoo.fr) (Ping timeout: 272 seconds) |
| 03:12:56 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 03:13:09 | <ezzieyguywuf> | glguy: now, is servers strictly a list, or can it contain a section that would apply to all servers listed? |
| 03:13:32 | <ezzieyguywuf> | similar to how in the example I posted, any of the matches get the same DebitAccount and CreditAccount |
| 03:13:49 | × | rcdilorenzo quits (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo) |
| 03:13:54 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 03:14:04 | → | rcdilorenzo joins (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) |
| 03:14:52 | × | lassulus quits (~lassulus@NixOS/user/lassulus) (Ping timeout: 256 seconds) |
| 03:17:47 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds) |
| 03:18:20 | × | rcdilorenzo quits (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Client Quit) |
| 03:18:37 | → | rcdilorenzo joins (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) |
| 03:18:59 | <glguy> | I have a separate "default" entry |
| 03:20:14 | <texasmynsted> | Before I go all crazy... This should be possible right? I want to use parseTimeM and parse a String that may be in one of a dozen formats. |
| 03:21:23 | <ezzieyguywuf> | glguy: hrm, yes I see, however in my case I would have the equivalent of "servers1", "servers2", "servers3" etc... each needing their own "default1", "default2", "default3", etc, in which case mimicking the approach in irc-core makes a bit less sense I think |
| 03:21:34 | <ezzieyguywuf> | texasmynsted: yes. |
| 03:22:08 | <ezzieyguywuf> | texasmynsted: though you'll have to, of course, write a format string for each of the dozens that you wish to match |
| 03:22:22 | <texasmynsted> | I have that part. |
| 03:22:53 | <ezzieyguywuf> | texasmynsted: i think there's one that returns a Maybe or something...h/o let me check the doc |
| 03:23:15 | <texasmynsted> | I am trying to think of the correct way to keep trying until I get a Just or run out of options |
| 03:23:33 | <texasmynsted> | parseTimeM returns a Maybe |
| 03:24:16 | <texasmynsted> | I have it working find for a known, single format. It either parses it correctly or leaves it alone. |
| 03:24:49 | × | RusAlex quits (~Chel@unaffiliated/rusalex) (Ping timeout: 260 seconds) |
| 03:24:56 | × | guest123 quits (~user@49.5.6.87) (Ping timeout: 240 seconds) |
| 03:25:05 | × | m0rphism quits (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) (Ping timeout: 240 seconds) |
| 03:25:18 | <texasmynsted> | Now I want to it to parse it correctly or keep trying until it works, or runs out of formats and thus leaves the value alone |
| 03:25:19 | <ezzieyguywuf> | ah, yes well there you go. |
| 03:25:47 | <ezzieyguywuf> | so you could do an fmap over all your formatstrings, and then check if you get any Just's |
| 03:25:56 | → | RusAlex joins (~Chel@unaffiliated/rusalex) |
| 03:25:59 | <ezzieyguywuf> | or there may be a better way to do that, like "until" or something |
| 03:26:02 | <texasmynsted> | I guess I could just keep working recursively over a list formats |
| 03:27:43 | <ezzieyguywuf> | texasmynsted: if I were to take a stab at it, I guess I'd start with `fmap (flip (parseTimeM True defaulteTimeLocale) inputString) listOfFormats` and go from there |
| 03:28:09 | <ezzieyguywuf> | though again, there may be a more efficient way to do this, i.e. stop at the first match rather than checking each format |
| 03:28:26 | <texasmynsted> | okay |
| 03:28:37 | <texasmynsted> | I was thinking something like asum might be of use |
| 03:28:49 | × | rcdilorenzo quits (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo) |
| 03:29:03 | → | rcdilorenzo joins (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) |
| 03:29:18 | <sm[m]> | Me too |
| 03:30:33 | <texasmynsted> | :-) |
| 03:30:40 | <texasmynsted> | Okay this sounds worth a try then |
| 03:30:46 | <texasmynsted> | Thank you |
| 03:31:11 | hackage | implicit-hie-cradle 0.3.0.1 - Auto generate hie-bios cradles https://hackage.haskell.org/package/implicit-hie-cradle-0.3.0.1 (Avi_Dessauer) |
| 03:31:59 | <ezzieyguywuf> | texasmynsted: maybe something like this? https://dpaste.com/3KGZMHFPX |
| 03:32:47 | → | lassulus joins (~lassulus@NixOS/user/lassulus) |
| 03:33:00 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 03:33:36 | × | rcdilorenzo quits (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Client Quit) |
| 03:33:51 | → | rcdilorenzo joins (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) |
| 03:34:29 | lagothrix | is now known as Guest79853 |
| 03:34:29 | × | Guest79853 quits (~lagothrix@unaffiliated/lagothrix) (Killed (verne.freenode.net (Nickname regained by services))) |
| 03:34:35 | → | lagothrix joins (~lagothrix@unaffiliated/lagothrix) |
| 03:35:45 | → | texasmyn_ joins (~texasmyns@212.102.45.103) |
| 03:35:48 | <texasmyn_> | nice thank you. |
| 03:36:05 | × | theDon quits (~td@94.134.91.130) (Ping timeout: 240 seconds) |
| 03:36:31 | <ezzieyguywuf> | texasmyn_: 👍️ |
| 03:36:37 | <ezzieyguywuf> | texasmyn_: good luck! |
| 03:37:50 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds) |
| 03:38:06 | <ezzieyguywuf> | texasmyn_: I think fromMaybe can help you clean that up a hair |
| 03:38:20 | → | theDon joins (~td@muedsl-82-207-238-021.citykom.de) |
| 03:38:22 | × | lassulus quits (~lassulus@NixOS/user/lassulus) (Ping timeout: 246 seconds) |
| 03:38:50 | × | texasmynsted quits (~texasmyns@212.102.44.36) (Ping timeout: 256 seconds) |
| 03:42:24 | → | blankhart joins (~blankhart@c-71-232-98-152.hsd1.ma.comcast.net) |
| 03:44:46 | <glguy> | ezzieyguywuf, I don't understand your use-case yet, then |
| 03:45:00 | <glguy> | ezzieyguywuf, do you know how you'd write it if you didn't have to conform to my existing ideas? |
| 03:46:17 | <iqubic> | I wish I had a function foo that acts exactly like id if the input is a String, but runs Show on the input otherwise. |
| 03:46:38 | <iqubic> | Does something like that exist? |
| 03:47:06 | <iqubic> | Mainly I want to avoid having "\"foobarbaz\"" as the output of this function |
| 03:47:32 | <iqubic> | I'd probably have to write a typeclass, and then use flexible instances or something. |
| 03:48:28 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 03:50:56 | <glguy> | ezzieyguywuf, what about this? https://paste.tomsmeding.com/iuhpMcF1 |
| 03:53:15 | → | adm_ joins (~adm@117.208.17.143) |
| 03:54:46 | <ezzieyguywuf> | glguy: that's perfect! |
| 03:55:05 | <ezzieyguywuf> | I knew it was doable, I think I was just too deep in it to get there |
| 03:56:14 | → | lassulus joins (~lassulus@NixOS/user/lassulus) |
| 03:56:24 | <glguy> | I generally don't like user-defined keys in key-value maps |
| 03:56:30 | <glguy> | (for config) |
| 03:56:41 | × | Jonkimi727406120 quits (~Jonkimi@119.123.243.225) (Ping timeout: 260 seconds) |
| 03:58:23 | <ezzieyguywuf> | glguy: i.e. the way I originally had it? |
| 03:58:33 | <ezzieyguywuf> | b/c yea, that was rubbing me the wrong way |
| 03:58:35 | <glguy> | yeah, and for the very reason you complained about |
| 03:58:41 | hackage | implicit-hie-cradle 0.3.0.2 - Auto generate hie-bios cradles https://hackage.haskell.org/package/implicit-hie-cradle-0.3.0.2 (Avi_Dessauer) |
| 03:59:00 | <glguy> | I don't want the section naming lexical syntax to impose contraints on semantically important configuration stuff |
| 03:59:15 | → | joaoh82 joins (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) |
| 03:59:29 | × | trepanger quits (~z@ics141-225.icsincorporated.com) (Ping timeout: 260 seconds) |
| 03:59:34 | × | joaoh82 quits (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Read error: Connection reset by peer) |
| 03:59:50 | <glguy> | I know a lot of other languages like this just let you use arbitrary values as keys |
| 04:00:02 | × | haasn quits (~nand@mpv/developer/haasn) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
| 04:00:09 | → | joaoh82 joins (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) |
| 04:01:22 | → | haasn joins (~nand@mpv/developer/haasn) |
| 04:01:50 | × | borne quits (~fritjof@200116b8640d8d008cdf581d4c1cc02f.dip.versatel-1u1.de) (Ping timeout: 264 seconds) |
| 04:02:28 | × | lassulus quits (~lassulus@NixOS/user/lassulus) (Ping timeout: 256 seconds) |
| 04:03:20 | × | adm_ quits (~adm@117.208.17.143) (Remote host closed the connection) |
| 04:06:02 | × | rcdilorenzo quits (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Quit: rcdilorenzo) |
| 04:06:03 | → | trepanger joins (~z@ics141-225.icsincorporated.com) |
| 04:06:24 | × | loller quits (uid358106@gateway/web/irccloud.com/x-rrjevhwdhvmhkvwa) (Quit: Connection closed for inactivity) |
| 04:07:20 | → | dftxbs3e joins (~dftxbs3e@unaffiliated/dftxbs3e) |
| 04:07:59 | → | Jonkimi727406120 joins (~Jonkimi@119.123.243.225) |
| 04:10:53 | → | adm_ joins (~adm@117.208.17.143) |
| 04:12:40 | × | Jonkimi727406120 quits (~Jonkimi@119.123.243.225) (Ping timeout: 256 seconds) |
| 04:14:13 | <texasmyn_> | This is what I have so far... https://gist.github.com/mmynsted/e5ef944c65959fee414ce4a56bb8451c |
| 04:15:26 | <texasmyn_> | My initial test it has not found the format from those I provided, though it should. It is times like this I wish I knew a quick way to throw in some debug logging. |
| 04:20:32 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:21:46 | → | wei2912 joins (~wei2912@unaffiliated/wei2912) |
| 04:23:14 | → | lassulus joins (~lassulus@NixOS/user/lassulus) |
| 04:23:31 | <iqubic> | Does ghcid work with cabal repl? |
| 04:24:33 | → | nineonine joins (~nineonine@50.216.62.2) |
| 04:25:22 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 04:25:46 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 04:25:52 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 04:27:47 | × | polyphem quits (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 260 seconds) |
| 04:28:21 | <dsal> | texasmyn_: Debug.Trace |
| 04:28:36 | × | drbean quits (~drbean@TC210-63-209-27.static.apol.com.tw) (Ping timeout: 240 seconds) |
| 04:29:04 | <texasmyn_> | dsal: Okay I will check that out. |
| 04:29:14 | <texasmyn_> | At least is works in my Tasty tests. |
| 04:29:28 | <texasmyn_> | I mean At least it works in my Tasty tests. |
| 04:29:30 | <MarcelineVQ> | iqubic: ghcid -c 'cabal repl' |
| 04:29:41 | <iqubic> | I've got it. Thanks. |
| 04:30:49 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds) |
| 04:32:13 | <texasmyn_> | ooh :-) Yes, looks like Debug.Trace is exactly what I am looking for |
| 04:32:17 | <texasmyn_> | Thank you dsal |
| 04:35:44 | × | benjamin-l quits (~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e60) (Ping timeout: 240 seconds) |
| 04:36:09 | × | text70 quits (48b61385@072-182-019-133.res.spectrum.com) (Remote host closed the connection) |
| 04:36:14 | → | argent0 joins (~argent0@168.227.96.53) |
| 04:36:17 | × | mbomba quits (~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) (Quit: WeeChat 3.0) |
| 04:36:59 | × | TooDifficult quits (~vg@139.59.59.230) (Quit: TooDifficult) |
| 04:37:15 | × | erisco quits (~erisco@d24-57-249-233.home.cgocable.net) (Read error: Connection reset by peer) |
| 04:37:22 | → | TooDifficult joins (~TooDiffic@139.59.59.230) |
| 04:41:21 | <monochrom> | texasmyn_: My Debug.Trace tutorial: http://www.cs.utoronto.ca/~trebla/CSCC24-2020-Summer/tracing.html |
| 04:41:43 | → | Jonkimi727406120 joins (~Jonkimi@119.123.243.225) |
| 04:41:43 | × | TooDifficult quits (~TooDiffic@139.59.59.230) (Ping timeout: 246 seconds) |
| 04:41:45 | <monochrom> | As it happens, my students were also asking how to print debugging messages. |
| 04:42:20 | <monochrom> | To their discredit, I already gave them the link on the course website long before they asked. |
| 04:42:41 | <dibblego> | never tell students about Debug.Trace |
| 04:43:27 | <monochrom> | Denied. |
| 04:43:43 | <dibblego> | let putStrLn = trace |
| 04:43:44 | <monochrom> | I have a student who was trying: case putStrLn "hi" of _ -> ... |
| 04:44:10 | <dibblego> | it's also to give you deniability for when they discover it themselves |
| 04:44:17 | × | adm_ quits (~adm@117.208.17.143) () |
| 04:44:26 | <monochrom> | Down that road is "how do I extract a from IO a" and discovering unsafePerformIO from googling |
| 04:44:33 | <dibblego> | fun ey? |
| 04:44:41 | <monochrom> | No, Debug.Trace is infinitely better in comparison. |
| 04:44:43 | <dibblego> | I cover that question in lecture 1 |
| 04:45:00 | <dibblego> | if you ever ask yourself, "how do I get the a out (f a), the answer is bind, write this in your notes" |
| 04:45:56 | × | Jonkimi727406120 quits (~Jonkimi@119.123.243.225) (Ping timeout: 240 seconds) |
| 04:46:16 | → | benjamin-l joins (~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e60) |
| 04:47:19 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 246 seconds) |
| 04:48:08 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 04:50:05 | × | ddellacosta quits (dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds) |
| 04:50:36 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 04:51:00 | × | blankhart quits (~blankhart@c-71-232-98-152.hsd1.ma.comcast.net) (Ping timeout: 272 seconds) |
| 04:52:53 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 04:53:19 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:54:32 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 04:54:32 | × | Unicorn_Princess quits (~Unicorn_P@89-212-115-169.static.t-2.net) (Read error: Connection reset by peer) |
| 04:54:53 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 04:55:25 | → | Unicorn_Princess joins (~Unicorn_P@89-212-115-169.static.t-2.net) |
| 05:01:54 | × | andreas303 quits (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection) |
| 05:02:38 | <ezzieyguywuf> | glguy: I created some more vim stuf for config-value if you're interested, it builds on the syntax file you made but also adds (1) filetype detection, (2) proper handling of comments. https://gitlab.com/ezzieyguywuf/vim-config-value |
| 05:04:58 | → | andreas303 joins (~andreas@gateway/tor-sasl/andreas303) |
| 05:09:23 | <texasmyn_> | wow hello dibblego |
| 05:09:29 | <texasmyn_> | I never see you here |
| 05:09:36 | texasmyn_ | is now known as texasmynsted |
| 05:09:44 | <texasmynsted> | How are things? |
| 05:09:47 | × | benjamin-l quits (~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e60) (Ping timeout: 260 seconds) |
| 05:09:57 | <dibblego> | hey mate, pretty good |
| 05:11:03 | <texasmynsted> | :-) |
| 05:11:35 | → | benjamin-l joins (~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e61) |
| 05:14:16 | × | Tario quits (~Tario@201.192.165.173) (Ping timeout: 246 seconds) |
| 05:16:34 | → | boxscape joins (54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) |
| 05:21:15 | → | Jonkimi727406120 joins (~Jonkimi@119.123.243.225) |
| 05:21:19 | → | petersen joins (~petersen@redhat/juhp) |
| 05:25:52 | × | Jonkimi727406120 quits (~Jonkimi@119.123.243.225) (Ping timeout: 265 seconds) |
| 05:26:56 | <texasmynsted> | Any new training, or flying or anything? |
| 05:27:48 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 05:30:04 | <dibblego> | yes, I fly about 20 hours per week, doing written exams lately; did formation and RG endorsement recently |
| 05:30:07 | → | conal joins (~conal@64.71.133.70) |
| 05:32:25 | → | Iceland_jack joins (~user@31.124.48.169) |
| 05:32:35 | <texasmynsted> | oh nice |
| 05:32:45 | <texasmynsted> | 20 hours is a lot of flying |
| 05:33:23 | <dibblego> | from first to last civil twilight, each weekend |
| 05:33:57 | <dibblego> | also did a night rating, so sometimes then too |
| 05:34:42 | <texasmynsted> | :-) |
| 05:34:44 | <texasmynsted> | Wow fun |
| 05:34:55 | × | alx741 quits (~alx741@186.178.110.121) (Ping timeout: 246 seconds) |
| 05:35:28 | <dibblego> | day flight is all flight instruction, I fly at night for fun occasionally |
| 05:36:08 | × | elliott_ quits (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
| 05:36:36 | <texasmynsted> | I love the idea of flying but might panic a bit for the landing |
| 05:36:52 | <dibblego> | just close ya eyes and hope |
| 05:37:47 | <texasmynsted> | LOL |
| 05:38:13 | <dibblego> | that's what most of my students do anyway |
| 05:38:13 | <texasmynsted> | Catch you later. |
| 05:38:19 | <dibblego> | scratchya |
| 05:40:27 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 05:41:49 | → | conal joins (~conal@64.71.133.70) |
| 05:43:42 | → | Jonkimi727406120 joins (~Jonkimi@119.123.243.225) |
| 05:43:47 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 05:43:57 | → | cads joins (~cads@ip-64-72-99-232.lasvegas.net) |
| 05:48:00 | → | alx741 joins (~alx741@186.178.110.235) |
| 05:48:04 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 240 seconds) |
| 05:49:22 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 05:50:33 | × | da39a3ee5e6b4b0d quits (~da39a3ee5@mx-ll-171.5.161-165.dynamic.3bb.co.th) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 05:52:38 | <glguy> | ezzieyguywuf: pull requests encouraged :) |
| 05:53:12 | × | zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving) |
| 05:54:16 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 05:55:03 | → | pthariensflame joins (~pthariens@2600:6c52:7280:100:3526:4e41:9f18:1bc7) |
| 05:55:16 | × | pthariensflame quits (~pthariens@2600:6c52:7280:100:3526:4e41:9f18:1bc7) (Client Quit) |
| 05:55:26 | × | jMCg quits (~jMCg@195.140.213.38) (Remote host closed the connection) |
| 05:57:21 | → | zaquest joins (~notzaques@5.128.210.178) |
| 05:57:24 | × | zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection) |
| 05:57:45 | × | livvy quits (~livvy@gateway/tor-sasl/livvy) (Remote host closed the connection) |
| 05:57:53 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 05:58:22 | × | MrSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
| 05:59:09 | → | MrSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
| 05:59:46 | × | Techcable quits (znc@irc.techcable.net) (Ping timeout: 256 seconds) |
| 06:01:38 | × | nullheroes quits (~danielvu@168.235.66.22) (Ping timeout: 256 seconds) |
| 06:03:13 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
| 06:03:25 | × | dmiles quits (~dmiles@c-73-67-179-188.hsd1.wa.comcast.net) (Ping timeout: 240 seconds) |
| 06:03:31 | → | livvy joins (~livvy@gateway/tor-sasl/livvy) |
| 06:04:01 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 06:04:45 | × | texasmynsted quits (~texasmyns@212.102.45.103) (Ping timeout: 240 seconds) |
| 06:05:54 | → | alp joins (~alp@2a01:e0a:58b:4920:2c52:ef0a:5cc:82b2) |
| 06:08:26 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds) |
| 06:09:49 | → | rayyyy joins (~nanoz@gateway/tor-sasl/nanoz) |
| 06:10:26 | → | nullheroes joins (~danielvu@168.235.66.22) |
| 06:11:02 | → | vicfred_ joins (~vicfred@unaffiliated/vicfred) |
| 06:11:23 | → | Techcable joins (znc@irc.techcable.net) |
| 06:12:41 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 06:13:59 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Ping timeout: 260 seconds) |
| 06:14:29 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 06:15:56 | × | nullheroes quits (~danielvu@168.235.66.22) (Ping timeout: 240 seconds) |
| 06:16:08 | × | Techcable quits (znc@irc.techcable.net) (Ping timeout: 256 seconds) |
| 06:16:17 | × | mounty quits (~mounty@2001:8000:2f59:0:348e:496f:dd83:259f) (Ping timeout: 260 seconds) |
| 06:18:43 | × | vicfred_ quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving) |
| 06:19:13 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds) |
| 06:21:06 | × | alp quits (~alp@2a01:e0a:58b:4920:2c52:ef0a:5cc:82b2) (Remote host closed the connection) |
| 06:21:25 | → | alp joins (~alp@2a01:e0a:58b:4920:8402:ce99:23ef:5435) |
| 06:24:38 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 06:25:18 | → | Techcable joins (znc@irc.techcable.net) |
| 06:25:48 | × | z0k quits (~user@101.50.127.33) (Ping timeout: 265 seconds) |
| 06:26:07 | × | echoreply quits (~echoreply@unaffiliated/echoreply) (Quit: WeeChat 1.9.1) |
| 06:26:09 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 06:26:26 | × | xff0x quits (~fox@2001:1a81:5384:5000:270f:7277:a2a:3b14) (Ping timeout: 264 seconds) |
| 06:26:35 | → | echoreply joins (~echoreply@unaffiliated/echoreply) |
| 06:27:02 | → | xff0x joins (~fox@port-92-193-204-144.dynamic.as20676.net) |
| 06:27:40 | → | z0k joins (~user@101.50.127.33) |
| 06:29:08 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 244 seconds) |
| 06:29:26 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds) |
| 06:29:49 | → | nullheroes joins (~danielvu@168.235.66.22) |
| 06:30:42 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds) |
| 06:31:19 | → | lambdaman joins (~lambdaman@d23-16-215-123.bchsia.telus.net) |
| 06:31:34 | → | mbomba joins (~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) |
| 06:31:47 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:32:11 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 06:34:49 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 06:35:25 | × | lambdaman quits (~lambdaman@d23-16-215-123.bchsia.telus.net) (Ping timeout: 240 seconds) |
| 06:36:10 | × | alp quits (~alp@2a01:e0a:58b:4920:8402:ce99:23ef:5435) (Remote host closed the connection) |
| 06:36:23 | × | noecho quits (~noecho@static.143.42.203.116.clients.your-server.de) (Quit: ZNC - http://znc.in) |
| 06:36:31 | → | alp joins (~alp@2a01:e0a:58b:4920:c0f7:91e2:75ec:62f6) |
| 06:36:53 | → | noecho joins (~noecho@2a01:4f8:1c0c:80ee::4223) |
| 06:37:03 | → | macrover joins (~macrover@ip68-108-126-211.lv.lv.cox.net) |
| 06:37:53 | → | coot joins (~coot@37.30.53.191.nat.umts.dynamic.t-mobile.pl) |
| 06:38:26 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 06:39:01 | × | hexfive quits (~hexfive@50-47-142-195.evrt.wa.frontiernet.net) (Quit: i must go. my people need me.) |
| 06:39:37 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds) |
| 06:39:53 | → | gioyik_ joins (~gioyik@186.112.99.244) |
| 06:42:12 | × | gioyik quits (~gioyik@186.118.250.147) (Ping timeout: 256 seconds) |
| 06:43:45 | → | keviv_ joins (~keviv@35.142.17.117) |
| 06:47:08 | → | feb joins (~feb@178.162.212.214) |
| 06:48:34 | → | johnw joins (~johnw@haskell/developer/johnw) |
| 06:48:54 | → | sagax joins (~sagax_nb@213.138.71.146) |
| 06:49:57 | × | alp quits (~alp@2a01:e0a:58b:4920:c0f7:91e2:75ec:62f6) (Ping timeout: 272 seconds) |
| 06:50:28 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 06:50:29 | × | kupi quits (uid212005@gateway/web/irccloud.com/x-uzfuhbaegjptzqnv) (Quit: Connection closed for inactivity) |
| 06:52:52 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 06:54:58 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 06:56:31 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 07:01:08 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 256 seconds) |
| 07:02:30 | → | jasperr joins (~gazso@91-82-250-42.pool.digikabel.hu) |
| 07:04:06 | <jasperr> | hello everybody |
| 07:04:25 | × | nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 240 seconds) |
| 07:05:05 | <jasperr> | maybe I am missing something very trivial... I would like to use XsdToHaskell and DtdToHaskell on debian buster distribution |
| 07:05:57 | → | lambdaman joins (~lambdaman@d23-16-215-123.bchsia.telus.net) |
| 07:07:12 | × | boxscape quits (54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) (Quit: Connection closed) |
| 07:07:20 | <jasperr> | as far as I see I have all the related ghc-* packages installed from the debian apt repositories, however I cannot find a way to get these utilities... including the -dev packages as well |
| 07:08:38 | × | Sheilong quits (uid293653@gateway/web/irccloud.com/x-djudanwmexelqxja) (Quit: Connection closed for inactivity) |
| 07:10:14 | × | DataComputist quits (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Quit: Leaving...) |
| 07:11:54 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 07:12:25 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 07:13:54 | → | DataComputist joins (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) |
| 07:14:08 | × | joaoh82 quits (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Ping timeout: 272 seconds) |
| 07:16:58 | → | knupfer joins (~Thunderbi@i5E86B442.versanet.de) |
| 07:18:49 | × | bitmapper quits (uid464869@gateway/web/irccloud.com/x-azvgqwppafppryvm) (Quit: Connection closed for inactivity) |
| 07:19:43 | × | ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds) |
| 07:20:48 | × | echoreply quits (~echoreply@unaffiliated/echoreply) (Ping timeout: 256 seconds) |
| 07:21:43 | × | gioyik_ quits (~gioyik@186.112.99.244) (Quit: WeeChat 3.0) |
| 07:23:35 | <jasperr> | digging a bit I found /usr/bin/DtdToHaskell coming from debian package haxml, XsdToHaskell is simply not provided, I do not understand why |
| 07:24:11 | × | argent0 quits (~argent0@168.227.96.53) (Remote host closed the connection) |
| 07:27:56 | × | knupfer quits (~Thunderbi@i5E86B442.versanet.de) (Ping timeout: 240 seconds) |
| 07:30:26 | → | alp joins (~alp@2a01:e0a:58b:4920:bd96:e74f:fabb:2840) |
| 07:31:41 | <glguy> | jasperr: in that case you might just have to build it outside of the package system |
| 07:32:16 | × | stree quits (~stree@50-108-78-9.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception) |
| 07:32:34 | → | stree joins (~stree@50-108-78-9.adr01.mskg.mi.frontiernet.net) |
| 07:35:24 | → | bitmagie joins (~Thunderbi@200116b80644c800d0172d212adf5a3c.dip.versatel-1u1.de) |
| 07:36:26 | <jasperr> | I see... I do not like this idea that much |
| 07:38:12 | → | dnlkrgr joins (~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de) |
| 07:38:28 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 246 seconds) |
| 07:40:54 | → | joaoh82 joins (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) |
| 07:41:05 | × | monochrom quits (trebla@216.138.220.146) (Ping timeout: 240 seconds) |
| 07:41:17 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:41:20 | → | dhouthoo joins (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) |
| 07:41:22 | × | jlamothe quits (~jlamothe@198.251.55.207) (Ping timeout: 256 seconds) |
| 07:41:27 | → | nineonine joins (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
| 07:42:06 | × | nineonine quits (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Client Quit) |
| 07:43:30 | × | bitmagie quits (~Thunderbi@200116b80644c800d0172d212adf5a3c.dip.versatel-1u1.de) (Quit: bitmagie) |
| 07:44:55 | → | L29Ah joins (~L29Ah@unaffiliated/l29ah) |
| 07:46:44 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 07:46:45 | × | tessier quits (~treed@kernel-panic/copilotco) (Ping timeout: 240 seconds) |
| 07:47:14 | × | Unicorn_Princess quits (~Unicorn_P@89-212-115-169.static.t-2.net) (Quit: Leaving) |
| 07:48:03 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:48:14 | → | jlamothe joins (~jlamothe@198.251.55.207) |
| 07:48:39 | → | zaquest joins (~notzaques@5.128.210.178) |
| 07:48:41 | hackage | nothunks 0.1.2 - Examine values for unexpected thunks https://hackage.haskell.org/package/nothunks-0.1.2 (EdskoDeVries) |
| 07:48:42 | × | zaquest quits (~notzaques@5.128.210.178) (Read error: Connection reset by peer) |
| 07:49:59 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 07:52:23 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 07:56:06 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 07:57:16 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 07:57:28 | <jasperr> | maybe the best is then to contact the Debian Haskell Group |
| 07:57:50 | → | chele joins (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) |
| 07:59:39 | → | ph88 joins (~ph88@2a02:8109:9e00:7e5c:b9be:939f:4d9:5357) |
| 08:02:24 | × | lassulus quits (~lassulus@NixOS/user/lassulus) (Quit: WeeChat 2.7.1) |
| 08:02:59 | <Orbstheorem> | Hello, I'm trying to write an inductive type instance over Nat but I can't manage to convince GHC that by base-case and inductive step are disjoint: https://paste.gnugen.ch/raw/fsvt |
| 08:05:03 | → | raichoo joins (~raichoo@dslb-188-101-186-206.188.101.pools.vodafone-ip.de) |
| 08:05:16 | <Orbstheorem> | I'm not even sure, this is an inductive type instance, so I may aswell describe what I want: Given a type-level "depth" and a tree, I want to make another tree that is complete and has nodes of type `Maybe a` and contain the information of the original tree if such tree contained that node. |
| 08:05:25 | <Orbstheorem> | s/sure,/sure |
| 08:06:10 | → | echoreply joins (~echoreply@unaffiliated/echoreply) |
| 08:06:20 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 265 seconds) |
| 08:07:21 | → | bitmagie joins (~Thunderbi@200116b80644c800d0172d212adf5a3c.dip.versatel-1u1.de) |
| 08:09:31 | → | da39a3ee5e6b4b0d joins (~da39a3ee5@ppp-223-24-170-139.revip6.asianet.co.th) |
| 08:10:18 | → | tromp joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 08:10:21 | → | ChaiTRex joins (~ChaiTRex@gateway/tor-sasl/chaitrex) |
| 08:11:00 | × | is_null quits (~jpic@pdpc/supporter/professional/is-null) (Remote host closed the connection) |
| 08:12:43 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 08:13:07 | × | Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
| 08:13:53 | → | jonathanx joins (~jonathan@dyn-8-sc.cdg.chalmers.se) |
| 08:17:31 | → | Lycurgus joins (~niemand@cpe-45-46-137-210.buffalo.res.rr.com) |
| 08:17:41 | × | xcmw quits (~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 08:17:43 | × | lambdaman quits (~lambdaman@d23-16-215-123.bchsia.telus.net) (Quit: Leaving...) |
| 08:18:06 | → | graf_blutwurst joins (~user@2001:171b:226e:adc0:416e:f9ed:b426:e09e) |
| 08:19:15 | → | nineonine joins (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
| 08:20:58 | × | nineonine quits (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Client Quit) |
| 08:22:13 | × | nados quits (~dan@69-165-210-185.cable.teksavvy.com) (Quit: Leaving) |
| 08:22:17 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 08:23:53 | × | benjamin-l quits (~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e61) (Ping timeout: 246 seconds) |
| 08:26:05 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 08:28:22 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 08:29:24 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 08:30:59 | → | sleblanc joins (~sleblanc@unaffiliated/sebleblanc) |
| 08:31:00 | → | oxide joins (~lambda@unaffiliated/mclaren) |
| 08:31:46 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 08:31:54 | <sleblanc> | > let p = isDigit &&& isAlpha |
| 08:31:56 | <lambdabot> | <no location info>: error: |
| 08:31:56 | <lambdabot> | not an expression: ‘let p = isDigit &&& isAlpha’ |
| 08:32:29 | <sleblanc> | > (isAlpha &&& isDigit) 'a' |
| 08:32:32 | <lambdabot> | (True,False) |
| 08:32:39 | <sleblanc> | > (isAlpha &&& isDigit) '9' |
| 08:32:42 | <lambdabot> | (False,True) |
| 08:32:59 | × | RoguePointer quits (~jigen@unaffiliated/roguepointer) (Quit: <>) |
| 08:33:07 | <sleblanc> | > or $ (isAlpha && isDigit) '9' |
| 08:33:10 | <lambdabot> | error: |
| 08:33:10 | <lambdabot> | • Couldn't match expected type ‘Char -> t0 Bool’ |
| 08:33:10 | <lambdabot> | with actual type ‘Bool’ |
| 08:33:17 | → | RoguePointer joins (~jigen@94.177.235.178) |
| 08:33:17 | × | RoguePointer quits (~jigen@94.177.235.178) (Changing host) |
| 08:33:17 | → | RoguePointer joins (~jigen@unaffiliated/roguepointer) |
| 08:33:17 | <sleblanc> | > or $ (isAlpha &&& isDigit) '9' |
| 08:33:20 | <lambdabot> | True |
| 08:33:30 | <sleblanc> | > or $ (isAlpha &&& isDigit) 'a' |
| 08:33:32 | <lambdabot> | False |
| 08:33:37 | <sleblanc> | why? |
| 08:33:49 | <sleblanc> | > or (True, False) |
| 08:33:52 | <lambdabot> | False |
| 08:34:23 | × | rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds) |
| 08:35:11 | hackage | clickhouse-haskell 0.1.1.0 - A Haskell library as database client for Clickhouse https://hackage.haskell.org/package/clickhouse-haskell-0.1.1.0 (MaboroshiChan) |
| 08:35:49 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 08:36:04 | <idnar> | :t or |
| 08:36:06 | <lambdabot> | Foldable t => t Bool -> Bool |
| 08:36:15 | → | nineonine joins (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
| 08:36:19 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) |
| 08:36:44 | → | bahamas joins (~lucian@unaffiliated/bahamas) |
| 08:37:09 | <idnar> | sleblanc: the Foldable instance on tuples doesn't do what you want: |
| 08:37:34 | <sleblanc> | yeah. what is the meaning behind this behaviour? |
| 08:37:40 | <idnar> | > toList (1, 2) |
| 08:37:42 | <lambdabot> | error: |
| 08:37:43 | <lambdabot> | Ambiguous occurrence ‘toList’ |
| 08:37:43 | <lambdabot> | It could refer to |
| 08:37:47 | <sleblanc> | what use is there for that? |
| 08:38:38 | <sleblanc> | > Data.Foldable.toList (1,2) |
| 08:38:40 | <lambdabot> | [2] |
| 08:39:22 | <Sose> | I'm not sure but I think conceptually a 2-tuple in Haskell is not "a thing with 2 elements" but rather "a thing with 1 element and some context (the first element)" |
| 08:39:37 | <Sose> | it's a little weird imho |
| 08:40:11 | <idnar> | well, Foldable (,) is a kind error, so it has to be Foldable ((,) a) |
| 08:40:11 | <Sose> | atleast when it comes to some instances like Functor and Foldable |
| 08:40:14 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds) |
| 08:40:22 | <sleblanc> | it would also give an excuse for not having Foldable (,,) et al. |
| 08:40:42 | <sleblanc> | idnar, right… |
| 08:41:26 | → | miguel_clean joins (~Miguel@89-72-187-203.dynamic.chello.pl) |
| 08:41:41 | <sleblanc> | are there any concrete uses of the foldable instance for ((,) a) ? |
| 08:42:00 | <idnar> | https://mail.haskell.org/pipermail/haskell-cafe/2020-November/132978.html |
| 08:42:27 | × | da39a3ee5e6b4b0d quits (~da39a3ee5@ppp-223-24-170-139.revip6.asianet.co.th) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 08:42:42 | <idnar> | this is frequently debated |
| 08:43:13 | × | joaoh82 quits (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Ping timeout: 246 seconds) |
| 08:43:28 | <jle`> | i think there are nice usages of Traversable ((,) w) |
| 08:43:30 | × | nineonine quits (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Quit: nineonine) |
| 08:43:38 | <idnar> | one use is assoc-listish things |
| 08:43:40 | <jle`> | but that would require Foldable as a superclass |
| 08:43:44 | <jle`> | so idk |
| 08:43:58 | <jle`> | i'm not happy with the Foldable instance existing either, it has caused me a lot of headache in the past |
| 08:44:08 | <jle`> | it sort of directly compromises the ideals of type safety in haskell |
| 08:44:50 | <idnar> | > sum [("foo", 1), ("bar", 2)] |
| 08:44:52 | <lambdabot> | error: |
| 08:44:52 | <lambdabot> | • No instance for (Num ([Char], Integer)) |
| 08:44:52 | <lambdabot> | arising from a use of ‘e_112’ |
| 08:45:00 | <idnar> | ugh |
| 08:45:05 | <sleblanc> | owch |
| 08:45:20 | → | lassulus joins (~lassulus@NixOS/user/lassulus) |
| 08:45:33 | <idnar> | > foldr (+) 0 [("foo", 1), ("bar", 2)] |
| 08:45:35 | <lambdabot> | error: |
| 08:45:35 | <lambdabot> | • No instance for (Num ([Char], Integer)) |
| 08:45:35 | <lambdabot> | arising from a use of ‘e_1012’ |
| 08:46:04 | <idnar> | > foldMap Sum [("foo", 1), ("bar", 2)] |
| 08:46:06 | <lambdabot> | error: |
| 08:46:06 | <lambdabot> | • No instance for (Num ([Char], Integer)) |
| 08:46:06 | <lambdabot> | arising from a use of ‘e_112’ |
| 08:46:14 | × | shatriff quits (~vitaliish@176.52.219.10) (Read error: Connection reset by peer) |
| 08:46:33 | <idnar> | oh I'm dumb |
| 08:46:34 | <sleblanc> | something something expecting different results |
| 08:46:41 | → | shatriff joins (~vitaliish@176.52.219.10) |
| 08:47:02 | × | shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection) |
| 08:47:20 | → | kuribas joins (~user@ptr-25vy0i8gptzu7g9n288.18120a2.ip6.access.telenet.be) |
| 08:47:33 | <idnar> | > foldMap (foldMap Sum) [("foo", 1), ("bar", 2)] |
| 08:47:35 | <lambdabot> | Sum {getSum = 3} |
| 08:47:48 | <idnar> | a bit silly |
| 08:48:54 | → | Amras joins (~Amras@unaffiliated/amras) |
| 08:50:50 | <sleblanc> | sum $ map snd [("foo", 1), ("bar", 2)] |
| 08:50:52 | <sleblanc> | > sum $ map snd [("foo", 1), ("bar", 2)] |
| 08:50:54 | <lambdabot> | 3 |
| 08:51:30 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 08:53:15 | × | Amras quits (~Amras@unaffiliated/amras) (Remote host closed the connection) |
| 08:54:05 | → | borne joins (~fritjof@200116b864c920008cdf581d4c1cc02f.dip.versatel-1u1.de) |
| 08:54:40 | <Orbstheorem> | > fmap (bimap sum sum) [("foo", 1), ("bar", 2)] |
| 08:54:43 | <lambdabot> | error: |
| 08:54:43 | <lambdabot> | • Could not deduce (Num Char) arising from a use of ‘sum’ |
| 08:54:43 | <lambdabot> | from the context: (Foldable t, Num d, Num (t d)) |
| 08:56:19 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 08:56:29 | → | Amras joins (~Amras@unaffiliated/amras) |
| 08:56:36 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
| 08:56:46 | → | phasespace joins (~sar@89-162-33-21.fiber.signal.no) |
| 08:56:49 | → | joaoh82 joins (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) |
| 08:57:12 | × | SupaYoshi quits (~supayoshi@213-10-140-13.fixed.kpn.net) (Read error: Connection reset by peer) |
| 08:57:42 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 08:58:19 | → | da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:9156:658b:3008:cf:28b1) |
| 08:59:16 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 08:59:35 | → | SupaYoshi joins (~supayoshi@213-10-140-13.fixed.kpn.net) |
| 08:59:38 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds) |
| 09:00:06 | × | loprakoa[m] quits (loprakoama@gateway/shell/matrix.org/x-zoiumweqktphvybc) (Quit: Idle for 30+ days) |
| 09:00:06 | × | dyniec[m] quits (dyniecmatr@gateway/shell/matrix.org/x-bzyahcrtvmhlgeby) (Quit: Idle for 30+ days) |
| 09:00:45 | × | Lycurgus quits (~niemand@cpe-45-46-137-210.buffalo.res.rr.com) (Quit: Exeunt) |
| 09:01:14 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds) |
| 09:02:01 | × | mbomba quits (~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) (Quit: WeeChat 3.0) |
| 09:03:10 | × | dnlkrgr quits (~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de) (Quit: WeeChat 2.9) |
| 09:06:31 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 09:06:53 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
| 09:07:17 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 09:11:17 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds) |
| 09:12:49 | → | berberman_ joins (~berberman@unaffiliated/berberman) |
| 09:13:18 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 09:13:38 | × | berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds) |
| 09:15:27 | → | danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
| 09:16:07 | → | boxscape joins (54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) |
| 09:17:11 | hackage | mail-pool 2.2.1 - Preconfigured email connection pool on top of smtp. https://hackage.haskell.org/package/mail-pool-2.2.1 (Jappie) |
| 09:19:08 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 09:23:39 | → | fendor joins (~fendor@178.115.131.244.wireless.dyn.drei.com) |
| 09:25:34 | → | Digit joins (~user@fsf/member/digit) |
| 09:26:02 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 09:26:51 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 09:28:21 | <Digit> | hi. i'm wondering if there's an established/illustrated/expressed relationship between feynman diagrams, and monads, either directly or indirectly (like a shared simplification or augment of understanding or processing or something). or has my brain just started barking up the wrong tree? |
| 09:29:22 | <[exa]> | Digit: CT has commutative diagrams |
| 09:29:26 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 09:29:56 | × | danso quits (~dan@69-165-210-185.cable.teksavvy.com) (Quit: WeeChat 2.9) |
| 09:30:08 | <Digit> | category theory. *nods* |
| 09:30:25 | × | hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-lkwbhxlzvzytbqoi) (Quit: Connection closed for inactivity) |
| 09:30:31 | <boxscape> | monads can also be expressed in string diagrams which look kind of similar to FDs https://ncatlab.org/nlab/show/string+diagram but not sure there's an actual connection there |
| 09:31:16 | <boxscape> | (the string diagrams for monads are on this page https://ncatlab.org/nlab/show/monad ) |
| 09:31:31 | <[exa]> | the feynman diagrams kindof describe a single process with inputs and outputs right? |
| 09:31:50 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds) |
| 09:32:12 | × | bitmagie quits (~Thunderbi@200116b80644c800d0172d212adf5a3c.dip.versatel-1u1.de) (Quit: bitmagie) |
| 09:32:25 | → | Yumasi joins (~guillaume@2a01:e0a:5cb:4430:e1ea:8f38:f518:4e69) |
| 09:33:27 | <boxscape> | the string diagram page contains a link to https://ncatlab.org/nlab/show/%27t+Hooft+double+line+notation which mentions feynman diagrams in the opening paragraph |
| 09:34:36 | × | lassulus quits (~lassulus@NixOS/user/lassulus) (Ping timeout: 240 seconds) |
| 09:36:46 | → | dnlkrgr joins (~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de) |
| 09:37:01 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 09:37:05 | × | jespada quits (~jespada@90.254.245.49) (Ping timeout: 240 seconds) |
| 09:37:50 | → | knupfer joins (~Thunderbi@dynamic-046-114-144-045.46.114.pool.telefonica.de) |
| 09:37:54 | → | jespada joins (~jespada@90.254.245.49) |
| 09:40:21 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 09:40:41 | → | lassulus joins (~lassulus@NixOS/user/lassulus) |
| 09:41:15 | × | wei2912 quits (~wei2912@unaffiliated/wei2912) (Remote host closed the connection) |
| 09:41:37 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds) |
| 09:42:04 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
| 09:43:14 | <ski> | Digit : "The Catsters" <https://www.youtube.com/playlist?list=PLlGXNwjYhXYxKVa67r0pKuYufECy713bv> mentions string diagrams (and also talks about monads in different videos) |
| 09:43:19 | × | lassulus quits (~lassulus@NixOS/user/lassulus) (Read error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) |
| 09:43:52 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-lajkqzxuizaoleyn) (Quit: Connection closed for inactivity) |
| 09:44:22 | → | zaquest joins (~notzaques@5.128.210.178) |
| 09:45:06 | <ski> | it would be nice to be able to reexport an operation, with a restricted type signature (so that e.g. `Data.Foldable' exports `length :: Foldable t => t a -> Int', while `Prelude' reexports it as `length :: [a] -> Int' |
| 09:45:07 | × | zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection) |
| 09:46:52 | → | pjb joins (~t@2a01cb04063ec500f481f246a0d62c86.ipv6.abo.wanadoo.fr) |
| 09:47:14 | → | thc202 joins (~thc202@unaffiliated/thc202) |
| 09:47:17 | → | b3z joins (~b3z@vmd41962.contaboserver.net) |
| 09:47:32 | <ski> | Orbstheorem : it seems `n + 1' (nor `1 + n') is not considered to be disjoint from `0' (i tried `instance (0 <= n,PadTree n) => PadTree (n + 1) where ...', since obviously `instance (depth ~ n + 1,...) => PadTree depth where ...' will obviously overlap with `instance PadTree 0 where ...', can't possibly work ..) |
| 09:48:44 | × | Lord_of_Life quits (~Lord@46.217.221.243) (Changing host) |
| 09:48:44 | → | Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 09:48:53 | <boxscape> | ski can't you do that simply by defining a new length method in Prelude and say "length :: [a] -> Int; length = length"? |
| 09:49:06 | <boxscape> | uh |
| 09:49:12 | <boxscape> | imagine I qualified that length on the rhs |
| 09:52:43 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 09:52:56 | <ski> | boxscape : the point would be to not have an identifier clash, if you import both (but rather get the most general version (if any. or else, have to disaambiguate)) |
| 09:53:17 | → | mouseghost joins (~draco@wikipedia/desperek) |
| 09:53:19 | <boxscape> | Ah, I see |
| 09:54:32 | → | christo joins (~chris@81.96.113.213) |
| 09:54:37 | × | fendor quits (~fendor@178.115.131.244.wireless.dyn.drei.com) (Remote host closed the connection) |
| 09:55:04 | <ski> | Orbstheorem : btw, why "Square" ? .. also, on this line, `data PerfectlyBalancedBinaryTree a = Elems a | Double (PerfectlyBalancedBinaryTree (a,a))' might be interesting to consider. you could also make a GADT one of kind `Nat -> * -> *' (rather than the phantom type `SquareTree' that you have) |
| 09:55:19 | → | dmiles joins (~dmiles@c-73-67-179-188.hsd1.wa.comcast.net) |
| 09:55:51 | → | LKoen joins (~LKoen@105.175.9.109.rev.sfr.net) |
| 09:56:29 | → | lassulus joins (~lassulus@NixOS/user/lassulus) |
| 09:57:22 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 10:00:00 | × | thallada quits (~thallada@fsf/member/thallada) (Quit: WeeChat 2.4) |
| 10:05:25 | → | m0rphism joins (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) |
| 10:05:27 | × | knupfer quits (~Thunderbi@dynamic-046-114-144-045.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 10:05:33 | <boxscape> | Digit there's also a paragraph here on feynman diagrams as string diagrams https://ncatlab.org/nlab/show/Feynman+diagram#AsStringDiagrams |
| 10:11:14 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Remote host closed the connection) |
| 10:12:17 | × | oxide quits (~lambda@unaffiliated/mclaren) (Quit: oxide) |
| 10:12:45 | → | shatriff joins (~vitaliish@176.52.219.10) |
| 10:13:01 | × | shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection) |
| 10:13:15 | → | shatriff joins (~vitaliish@176.52.219.10) |
| 10:16:21 | × | SupaYoshi quits (~supayoshi@213-10-140-13.fixed.kpn.net) (Quit: Goodbye!) |
| 10:22:53 | → | ubert joins (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) |
| 10:23:21 | × | tsrt^ quits (tsrt@ip98-184-89-2.mc.at.cox.net) () |
| 10:30:40 | × | lassulus quits (~lassulus@NixOS/user/lassulus) (Ping timeout: 246 seconds) |
| 10:32:00 | × | pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!) |
| 10:33:10 | hackage | clickhouse-haskell 0.1.2.0 - A Haskell library as database client for Clickhouse https://hackage.haskell.org/package/clickhouse-haskell-0.1.2.0 (MaboroshiChan) |
| 10:38:43 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 246 seconds) |
| 10:41:03 | → | mastarija joins (~mastarija@93-136-113-7.adsl.net.t-com.hr) |
| 10:41:18 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 10:43:14 | → | danza_ joins (~francesco@151.53.76.12) |
| 10:44:44 | × | danza quits (~francesco@151.53.79.66) (Ping timeout: 256 seconds) |
| 10:45:30 | → | danza__ joins (~francesco@151.53.67.9) |
| 10:45:46 | → | caef^ joins (caef@ip98-184-89-2.mc.at.cox.net) |
| 10:48:12 | × | danza_ quits (~francesco@151.53.76.12) (Ping timeout: 272 seconds) |
| 10:51:19 | → | f-a joins (~f-a@151.36.58.162) |
| 10:52:15 | → | SupaYoshi joins (~supayoshi@213-10-140-13.fixed.kpn.net) |
| 10:52:27 | × | SupaYoshi quits (~supayoshi@213-10-140-13.fixed.kpn.net) (Remote host closed the connection) |
| 10:54:24 | × | mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew) |
| 10:54:26 | → | SupaYoshi joins (~supayoshi@213-10-140-13.fixed.kpn.net) |
| 10:57:35 | × | SupaYoshi quits (~supayoshi@213-10-140-13.fixed.kpn.net) (Client Quit) |
| 10:58:37 | → | whatisRT joins (~whatisRT@2002:5b41:6a33:0:7903:e9c9:42a2:c7c5) |
| 10:58:42 | → | SupaYoshi joins (~supayoshi@213-10-140-13.fixed.kpn.net) |
| 10:59:08 | × | Jonkimi727406120 quits (~Jonkimi@119.123.243.225) (Ping timeout: 256 seconds) |
| 10:59:08 | × | alp quits (~alp@2a01:e0a:58b:4920:bd96:e74f:fabb:2840) (Remote host closed the connection) |
| 10:59:44 | → | alp joins (~alp@2a01:e0a:58b:4920:b500:dcf8:65db:294b) |
| 11:00:24 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 260 seconds) |
| 11:00:51 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
| 11:01:06 | × | SupaYoshi quits (~supayoshi@213-10-140-13.fixed.kpn.net) (Client Quit) |
| 11:01:36 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 11:02:02 | → | SupaYoshi joins (~supayoshi@213-10-140-13.fixed.kpn.net) |
| 11:03:22 | × | SupaYoshi quits (~supayoshi@213-10-140-13.fixed.kpn.net) (Client Quit) |
| 11:03:26 | → | danza_ joins (~francesco@151.53.95.77) |
| 11:04:02 | × | danza__ quits (~francesco@151.53.67.9) (Ping timeout: 272 seconds) |
| 11:06:02 | → | Sheilong joins (uid293653@gateway/web/irccloud.com/x-wyoujgmfddjrgmqq) |
| 11:09:47 | → | SupaYoshi joins (~supayoshi@213-10-140-13.fixed.kpn.net) |
| 11:11:12 | × | o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection) |
| 11:11:37 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) |
| 11:12:11 | hackage | hw-kafka-client 4.0.0 - Kafka bindings for Haskell https://hackage.haskell.org/package/hw-kafka-client-4.0.0 (alexeyraga) |
| 11:15:11 | hackage | friendly 0.1.0.2 - Attempt to pretty-print any input https://hackage.haskell.org/package/friendly-0.1.0.2 (EdskoDeVries) |
| 11:16:14 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Ping timeout: 264 seconds) |
| 11:18:48 | <mastarija> | About the "cross compiling". I have a 64 bit Windows machine, and I have a 64 bit linux / CloudLinux / cPanel server. Since it's cPanel, I don't have a great control over it, however I can upload and execute custom scripts / executables. |
| 11:19:23 | <mastarija> | Can I just use a VM / WSL to compile locally and then execute on server? |
| 11:19:59 | <mastarija> | If my program is fairly simple and doesn't depend on dll's and stuff? |
| 11:20:20 | <mastarija> | I'm guessing it needs to be statically linked? |
| 11:21:23 | × | philopsos quits (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds) |
| 11:22:03 | → | fendor joins (~fendor@178.115.131.244.wireless.dyn.drei.com) |
| 11:22:03 | × | carlomagno quits (~cararell@148.87.23.6) (Remote host closed the connection) |
| 11:25:17 | → | dhil joins (~dhil@195.213.192.34) |
| 11:26:18 | <maerwald> | static linking on linux and then execute in WSL ubuntu? |
| 11:26:26 | → | tromp_ joins (~tromp@dhcp-077-249-230-040.chello.nl) |
| 11:26:28 | × | tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer) |
| 11:27:34 | <mastarija> | maerwald, no, basically I want to compile on windows in WSL or some VM and then execute on my cPanel / CloudLinux server. |
| 11:28:13 | <mastarija> | But since this is WSL or VM Linux, then windows part doesn't really matter I guess :/ |
| 11:28:43 | <mastarija> | I mean, in theory it should work, right? |
| 11:28:50 | → | carlomagno joins (~cararell@148.87.23.11) |
| 11:28:58 | → | Libertinus joins (58c19c04@dsl-trebng21-58c19c-4.dhcp.inet.fi) |
| 11:29:07 | <maerwald> | I don't understand why you would want to use WSL to create a linux executable |
| 11:29:26 | <maerwald> | path of maximum resistance? |
| 11:30:54 | <mastarija> | Yes |
| 11:31:07 | <mastarija> | I have Windows and I'm too lazy to switch to Linux |
| 11:31:15 | <ezzieyguywuf> | glguy: I considered a pull request, but having it in a separate repository allows for easy integration with the various vim plugin managers |
| 11:31:17 | <mastarija> | And I can't compile on my server for "reasons" |
| 11:31:21 | <Libertinus> | New to irc and Haskell. Where and how should I ask about installation on MacOS Catalina. Watched and "copied" actions on a video but did not succeed. Some old partial installation might interfere |
| 11:31:59 | <maerwald> | Libertinus: https://www.haskell.org/ghcup/ |
| 11:32:09 | <Libertinus> | Ta! |
| 11:33:03 | <mastarija> | maerwald, anyway, scratch the Windows part. If I compile Haskell program on linux distro X and try to run it on linux distro Y, will it work? |
| 11:33:09 | <Libertinus> | That is the procedure I tried. Did not install and I don't have a clue what the error msg means. |
| 11:33:28 | <maerwald> | mastarija: you can use alpine linux docker image to create a sttic executable |
| 11:33:34 | <maerwald> | *static |
| 11:34:00 | <maerwald> | here's an example https://gist.github.com/hasufell/f0893abfbba63ac4ea40feb0520946ee |
| 11:34:34 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 11:36:59 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
| 11:37:26 | × | MrSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
| 11:38:06 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 11:38:41 | <mastarija> | maerwald, I'm assuming the resulting product doesn't require Docker on the target system? |
| 11:38:52 | × | hc quits (~hc@bsd.pm) (Remote host closed the connection) |
| 11:39:45 | → | danza__ joins (~francesco@151.74.111.235) |
| 11:39:54 | <maerwald> | that's just an example on how to create static executables: 1. use alpine, 2. install static versions of system libraries, 3. run stack/cabal with --ghc-options='-optl-static -split-sections' |
| 11:40:27 | <ski> | Libertinus : mentioning the error message might help |
| 11:41:06 | <maerwald> | mastarija: or try nix and spend a few weeks figuring out how it works: https://github.com/nh2/static-haskell-nix |
| 11:41:24 | × | uberj_ quits (~uberj@107.170.237.156) (Remote host closed the connection) |
| 11:41:31 | <mastarija> | XD |
| 11:41:43 | → | uberj_ joins (~uberj@107.170.237.156) |
| 11:41:52 | <mastarija> | Thanks |
| 11:42:07 | × | danza_ quits (~francesco@151.53.95.77) (Read error: Connection reset by peer) |
| 11:42:42 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds) |
| 11:43:03 | × | roconnor quits (~roconnor@host-45-58-200-239.dyn.295.ca) (Remote host closed the connection) |
| 11:43:58 | × | Iceland_jack quits (~user@31.124.48.169) (Remote host closed the connection) |
| 11:44:51 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 11:45:33 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) (Remote host closed the connection) |
| 11:45:53 | × | bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 260 seconds) |
| 11:46:07 | → | geowiesnot joins (~user@87-89-181-157.abo.bbox.fr) |
| 11:46:40 | → | mouseghost joins (~draco@wikipedia/desperek) |
| 11:48:08 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 11:48:26 | × | danza__ quits (~francesco@151.74.111.235) (Ping timeout: 256 seconds) |
| 11:49:40 | <Libertinus> | Here's the error msgI got from trying to install HAskell: |
| 11:49:46 | <Libertinus> | Last login: Thu Dec 3 00:22:46 on consoleanokhi@MacBook-Pro ~ % curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | shWelcome to Haskell!This script will download and install the following binaries: * ghcup - The Haskell toolchain installer (for managing GHC/cabal versions) * ghc - The Glasgow Haskell Compiler * |
| 11:49:47 | <Libertinus> | cabal - The Cabal build toolghcup installs only into the following directory,which can be removed anytime: /Users/anokhi/.ghcupPress ENTER to proceed or ctrl-c to abort.Note that this script can be re-run at any given time. % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload |
| 11:49:47 | <Libertinus> | Total Spent Left Speed100 8796k 100 8796k 0 0 4903k 0 0:00:01 0:00:01 --:--:-- 4900k[ Info ] Upgrading GHCup...[ Warn ] No GHCup update availableSystem requirements Note: On OS X, in the course of running ghcup you will be given a dialog box to install the command line tools. Accept and the requirements will be installed |
| 11:49:48 | <Libertinus> | for you. You will then need to run the command again.Press ENTER to proceed or ctrl-c to abort.Installation may take a while.[ Info ] verifying digest of: ghc-8.8.4-x86_64-apple-darwin.tar.xz[ Info ] Unpacking: ghc-8.8.4-x86_64-apple-darwin.tar.xz to /var/folders/3f/fjxj71mn6hj5bzz665k_566r0000gn/T/ghcup-Bl7w0V[ Info ] Installing GHC (this may |
| 11:49:48 | <Libertinus> | take a while)[ ghc-configure ] not found (too old?)[ ghc-configure ] checking for gcc... gcc[ ghc-configure ] checking whether the C compiler works... no[ ghc-configure ] configure: error: in `/private/var/folders/3f/fjxj71mn6hj5...[ ghc-configure ] configure: error: C compiler cannot create executables[ ghc-configure ] See `config.log' for more |
| 11:49:48 | <Libertinus> | details[ Error ] Build failed with NonZeroExit 77 "./configure" ["--prefix=/Users/anokhi/.ghcup/ghc/8.8.4"] Check the logs at "/Users/anokhi/.ghcup/logs" and the build directory "/var/folders/3f/fjxj71mn6hj5bzz665k_566r0000gn/T/ghcup-Bl7w0V" for more clues. Make sure to clean up "/var/folders/3f/fjxj71mn6hj5bzz665k_566r0000gn/T/ghcup-Bl7w0V" |
| 11:49:49 | <Libertinus> | afterwards."_eghcup --cache install ghc recommended" failed!anokhi@MacBook-Pro ~ % curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | shWelcome to Haskell!This script will download and install the following binaries: * ghcup - The Haskell toolchain installer (for managing GHC/cabal versions) * ghc - The Glasgow |
| 11:49:49 | × | Libertinus quits (58c19c04@dsl-trebng21-58c19c-4.dhcp.inet.fi) (Killed (Sigyn (Spam is off topic on freenode.))) |
| 11:49:50 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 11:50:33 | <int-e> | :/ |
| 11:50:33 | <maerwald> | ... |
| 11:50:50 | → | lassulus joins (~lassulus@NixOS/user/lassulus) |
| 11:51:10 | <maerwald> | seems xcode not installed |
| 11:53:37 | → | ClaudiusMaximus joins (~claude@223.153.198.146.dyn.plus.net) |
| 11:54:03 | × | ClaudiusMaximus quits (~claude@223.153.198.146.dyn.plus.net) (Changing host) |
| 11:54:03 | → | ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus) |
| 11:54:04 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 11:54:17 | ChanServ | sets mode +o ski |
| 11:54:37 | ChanServ | sets mode -o ski |
| 11:54:46 | → | christo joins (~chris@81.96.113.213) |
| 11:55:01 | ulidtko|k | is now known as ulidtko |
| 11:56:45 | → | joaj joins (~joaj@2001:690:2100:110:cceb:227c:edbc:592c) |
| 11:57:08 | × | Orbstheorem quits (~roosember@hellendaal.orbstheorem.ch) (Quit: WeeChat 2.3) |
| 11:57:23 | → | Aquazi joins (uid312403@gateway/web/irccloud.com/x-hleddgoteowwxjqp) |
| 11:58:09 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 11:58:43 | <boxscape> | why do value constructors have to begin with an uppercase letter? Distinguishing between a function and a constructor doesn't seem like something that a haskell compiler has to be able to do during parsing |
| 11:58:58 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 11:59:14 | × | christo quits (~chris@81.96.113.213) (Ping timeout: 260 seconds) |
| 11:59:32 | <merijn> | boxscape: Eh, because asking yourself "is this maybe a constructor?" every 5 minutes while coding sucks |
| 12:00:05 | <boxscape> | hm, I guess. I suppose I'm just used to that being a coding convention thing rather than something that's enforced |
| 12:00:36 | <boxscape> | i.e. readability being a reason for uppercase vs lowercase |
| 12:00:50 | → | solonarv joins (~solonarv@anancy-651-1-197-136.w109-217.abo.wanadoo.fr) |
| 12:01:29 | → | danza__ joins (~francesco@151.46.171.237) |
| 12:01:45 | <boxscape> | I guess it helps with DataKinds since otherwise you couldn't use constructors without ' without it looking like a type variable to the constructor |
| 12:02:00 | → | Libertinus joins (58c19c04@dsl-trebng21-58c19c-4.dhcp.inet.fi) |
| 12:02:29 | <ski> | in the MLs, data constructors can begin with both lower and upper case. and so, for constant patterns, you could mistake them for a variable pattern, if you don't recall their being constructors. also, with a typo, they'd become variables |
| 12:02:52 | <ski> | Libertinus : please don't paste large amounts of text into the channel. use e.g. a paste service/site |
| 12:03:02 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds) |
| 12:03:06 | <boxscape> | hm yeah that's fair point |
| 12:03:46 | <ski> | perhaps one could argue for type families starting with lower case ? |
| 12:04:04 | <Libertinus> | I tried to paste the error texts i got from trying to install Haskell (platform?) but the window froze. Will try again in a moment. An early perhaps partial installation might interfere. Any attempts at help are appreciated. |
| 12:04:11 | hackage | haskoin-core 0.17.4 - Bitcoin & Bitcoin Cash library for Haskell https://hackage.haskell.org/package/haskoin-core-0.17.4 (jprupp) |
| 12:04:14 | <boxscape> | Well, right now lowercase in type *always* means type variable, you'd have to give that up |
| 12:04:26 | <boxscape> | but that'll likely be given up eventually anyway with Dependent haskell |
| 12:04:29 | × | whatisRT quits (~whatisRT@2002:5b41:6a33:0:7903:e9c9:42a2:c7c5) (Quit: ZNC 1.8.1 - https://znc.in) |
| 12:05:02 | <ski> | @where paste |
| 12:05:02 | <lambdabot> | Help us help you: please paste full code, input and/or output at eg https://paste.tomsmeding.com |
| 12:05:09 | <merijn> | boxscape: I hope not |
| 12:05:11 | <ski> | Libertinus : try pasting at that site, e.g. ^ |
| 12:05:32 | <merijn> | tbh, I wouldn't consider Dependent Haskell such an inevitability |
| 12:05:47 | <Libertinus> | At lambdadots site? |
| 12:05:49 | <ski> | boxscape : yes. the point being that you can't match on type families |
| 12:05:59 | <ski> | Libertinus : at <https://paste.tomsmeding.com> |
| 12:06:03 | <tdammers> | frankly, I kind of suspect that the usefulness of fully dependent haskell is being exaggerated a fair bit |
| 12:06:05 | <boxscape> | merijn following the proposal discussions at the moment it's not looking inevitable but looks like it has good chances |
| 12:06:10 | <boxscape> | ski yeah that makes sense |
| 12:06:17 | <Libertinus> | ski: thank you! |
| 12:06:32 | <ski> | Libertinus : .. and then, paste the resulting psate link, in here |
| 12:06:41 | <boxscape> | maybe that paste site should replace gist in the #haskell topic? |
| 12:06:48 | <merijn> | tdammers: Right. I'd rather not see Dependent Haskell, tbh |
| 12:07:09 | → | hc joins (~hc@bsd.pm) |
| 12:07:26 | → | AlterEgo- joins (~ladew@124-198-158-163.dynamic.caiway.nl) |
| 12:07:41 | hackage | phonetic-languages-simplified-lists-examples 0.3.0.0 - Simplified and somewhat optimized version of the phonetic-languages-examples. https://hackage.haskell.org/package/phonetic-languages-simplified-lists-examples-0.3.0.0 (OleksandrZhabenko) |
| 12:08:11 | <Libertinus> | ski: ok - but where do I get such psate link |
| 12:09:02 | <Libertinus> | ski: on the tomsmeding window i only see my long error msgs now |
| 12:09:04 | <ski> | copy the link of the paste site into your browser. then create a new paste there, which should appear on a new address, which you can paste in here |
| 12:09:13 | <ski> | check the location bar |
| 12:09:26 | → | Tario joins (~Tario@201.192.165.173) |
| 12:09:39 | <Libertinus> | ski: ok, will try. am an old geezer and this is new to me.. |
| 12:10:11 | <Libertinus> | ski: https://paste.tomsmeding.com/SDIcYQr4 |
| 12:10:18 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 12:11:03 | <merijn> | Is there a convenient "keep every Nth element of a list" in libraries? |
| 12:12:51 | → | toorevitimirp joins (~tooreviti@117.182.183.16) |
| 12:13:03 | <ski> | @type \n -> map head . chunksOf n |
| 12:13:06 | <lambdabot> | Int -> [b] -> [b] |
| 12:13:15 | → | Orbstheorem joins (~roosember@hellendaal.orbstheorem.ch) |
| 12:13:32 | × | mastarija quits (~mastarija@93-136-113-7.adsl.net.t-com.hr) (Quit: Leaving) |
| 12:15:37 | <ski> | <maerwald> seems xcode not installed |
| 12:16:39 | <ski> | Libertinus : hm, anyway, now your best bet is someone who knows about MacOS to possibly have any clue about what to .. (i don't really) |
| 12:17:34 | <tomsmeding> | Libertinus: any clue what ghc-configure said right above that line "not found (too old?)"? |
| 12:17:55 | <tomsmeding> | but yeah I think you're missing the command-line tools |
| 12:18:02 | <Libertinus> | ski: thank you! I followed a youtube video step by step - they got thirs installed ok, I did not. Will try asking later, have to leave the chat now. |
| 12:18:09 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 12:18:30 | <tomsmeding> | Libertinus: e.g. https://medium.com/flawless-app-stories/install-command-line-tools-on-macos-catalina-anansewaa-com-6f8c63120fd8 |
| 12:18:39 | × | alp quits (~alp@2a01:e0a:58b:4920:b500:dcf8:65db:294b) (Ping timeout: 272 seconds) |
| 12:18:39 | <Libertinus> | tomsmeding: a moment |
| 12:19:48 | <Libertinus> | Tomsmeding: I pasted everything from the terminal window. I do not have ore information than that |
| 12:20:12 | <Libertinus> | * more than that |
| 12:20:14 | <tomsmeding> | try doing the `xcode-select --install` from the article I linked; that has a reasonable chance of working and fixing the issue |
| 12:20:46 | <Libertinus> | was the xcode msg meant to me? |
| 12:20:53 | → | Aleksejs joins (~Aleksejs@haskell.lv) |
| 12:21:06 | <ski> | (possibly) |
| 12:21:26 | ← | f-a parts (~f-a@151.36.58.162) () |
| 12:21:51 | <dminuoso> | % data A = A { fooA :: String } | B { fooB :: String } |
| 12:21:51 | <yahb> | dminuoso: |
| 12:21:54 | <dminuoso> | % fooA (B "foo") |
| 12:21:55 | <yahb> | dminuoso: "*** Exception: No match in record selector fooA |
| 12:22:07 | <dminuoso> | % data A = A { fooA :: String } | B { fooA :: String } |
| 12:22:07 | <yahb> | dminuoso: |
| 12:22:12 | <dminuoso> | % fooA (B "foo") |
| 12:22:12 | <yahb> | dminuoso: "foo" |
| 12:22:30 | <tomsmeding> | Libertinus: yes sorry |
| 12:22:32 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 244 seconds) |
| 12:23:10 | <Aleksejs> | Hi, why there's no such thing as Divisable that would unite Integral and Fractional? Then (/) could be of type Divisable a => a -> a -> a |
| 12:23:12 | <Libertinus> | tomsmeding: my bad I did not spot the article link at first. Wll try to do that. Thanks! |
| 12:23:31 | <dminuoso> | So Im pondering whether or not to write something like `data A = A { aText :: Text, aInt :: Int } | B { bText :: Text, bInt :: Int } | C { cText :: Text, cInt :: Int, cInt2 :: Int }` or whether to write these as separate data types, and then some `data AnyThing = AnyA A | AnyB B | AnyC C` |
| 12:23:37 | <dminuoso> | Would you be annoyed about the ergonomics of the latter? |
| 12:23:54 | <Orbstheorem> | ski: Thanks for you answer, I'll come back to it later today ^^ |
| 12:24:08 | <dminuoso> | This seems like a trade off between introducial partial field selectors and an an annoying additional union type around it |
| 12:25:47 | → | jollygood2 joins (~bc8165ab@217.29.117.252) |
| 12:26:17 | <Libertinus> | Tomsmeding: Trying to install xcode results i this error msg: Can't install the software because it is not currently available from the Software Update server" Am runing Catalina 10.15.3 |
| 12:26:51 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 12:27:31 | <tomsmeding> | wat? |
| 12:27:37 | <tomsmeding> | apple having an outage? |
| 12:28:17 | <tomsmeding> | Libertinus: perhaps this https://stackoverflow.com/questions/56452358/install-command-line-developer-tools-cant-install-the-software-because-it-is-n 🤷 |
| 12:28:18 | <hc> | oh, is their ocsp responder for "trustd" broken again? =) |
| 12:28:26 | <Libertinus> | tomsmeding: That's the error msg I get. |
| 12:28:38 | <tomsmeding> | hc: not even, different server this time :D |
| 12:28:39 | <dminuoso> | Libertinus: Yeah that happens frequently |
| 12:28:46 | <dminuoso> | Libertinus: You need to download it directly from their website sometimes. |
| 12:28:47 | <tomsmeding> | Libertinus: see the first answer for a workaround |
| 12:28:54 | <tomsmeding> | i.e. what dminuoso says |
| 12:29:08 | <Libertinus> | ok... |
| 12:29:16 | <dminuoso> | Just to clarify, that's an Apple bug. |
| 12:29:28 | <tomsmeding> | sorry for the mess, but then this is not our fault in this specific case :p |
| 12:30:56 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
| 12:31:25 | <ski> | Aleksejs : what would the expected laws for it be ? |
| 12:32:52 | <Libertinus> | Tomsmeding: I am now downloading command line tools for xcode 12.2. |
| 12:32:58 | <tomsmeding> | nice! |
| 12:33:08 | <Libertinus> | :) |
| 12:33:30 | → | cosimone joins (~cosimone@93-47-228-249.ip115.fastwebnet.it) |
| 12:33:31 | <Libertinus> | Spooky face, dat one.. |
| 12:33:52 | <dminuoso> | Aleksejs: What exactly are you looking to unite here? Both give you a notion of dividing (one gives real division, the other gives integral division). |
| 12:33:52 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds) |
| 12:34:36 | × | natechan quits (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 12:34:45 | <dminuoso> | In fact, the Real superclass lets you do integral division on Real numbers too. |
| 12:35:23 | × | livvy quits (~livvy@gateway/tor-sasl/livvy) (Ping timeout: 240 seconds) |
| 12:36:08 | × | doct0rhu quits (~orctarorg@pool-72-88-158-154.nwrknj.fios.verizon.net) (Remote host closed the connection) |
| 12:36:28 | <Libertinus> | Tomsmeding: I'd need MAcOS 10.15.4. to bo able to install the xxcode tools I have 10.15.3. |
| 12:36:58 | <Libertinus> | tomsmeding: the installer says that. I guess I must upgrade my OS |
| 12:37:19 | <tomsmeding> | that's dumb |
| 12:37:41 | <tomsmeding> | they don't provide an installer for the previous version or something? |
| 12:37:45 | <tomsmeding> | (been a while since I used a maC) |
| 12:37:48 | <tomsmeding> | *mac |
| 12:38:03 | <merijn> | tomsmeding: They do, but they're on the website not in the appstore, I think |
| 12:38:15 | <Libertinus> | tomsmeding: I picked to latest non-beta version of the command line tools. Should I see if there is an older version available? |
| 12:38:20 | <tomsmeding> | the CLT aren't in the app store anyway merijn |
| 12:38:26 | <dminuoso> | Libertinus: Did you go through the apple website or the app store? |
| 12:38:28 | <tomsmeding> | Libertinus: I guess so? |
| 12:38:30 | <merijn> | tomsmeding: Xcode is and you install CLI via xcode |
| 12:38:46 | <dminuoso> | https://developer.apple.com/download/more/?=command%20line%20tools |
| 12:38:49 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 12:38:54 | → | Nahra joins (~Nahra@unaffiliated/nahra) |
| 12:38:55 | <tomsmeding> | merijn: as far as I remember you install CLI using xcode-select, which doesn't require an xcode installation |
| 12:38:57 | <dminuoso> | Is where you should go |
| 12:39:00 | <Libertinus> | domingo: Apple web site . got the linnk from here |
| 12:39:04 | <tomsmeding> | though one way to do it is certainly to install xcode |
| 12:39:13 | <tomsmeding> | but that's... heavy |
| 12:39:23 | <dminuoso> | merijn: Go make your case again about what a lovely OS macOS is.. |
| 12:39:27 | <merijn> | tomsmeding: Eh, you do need xcode *anyway* |
| 12:39:37 | <merijn> | tomsmeding: Else you don't have a C compiler or linker |
| 12:39:38 | <Libertinus> | merijn: do I? |
| 12:39:47 | <tomsmeding> | don't the CLT give gcc? |
| 12:40:00 | <dminuoso> | well they give you clang |
| 12:40:09 | <tomsmeding> | (yes fair) |
| 12:40:14 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 264 seconds) |
| 12:40:24 | <tomsmeding> | merijn: if you need xcode anyway, then why does ghcup just install the CLT? ;) |
| 12:40:31 | → | natechan joins (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 12:40:59 | → | mastarija joins (~mastarija@93-136-113-7.adsl.net.t-com.hr) |
| 12:41:11 | <dminuoso> | Im confident xcode clt will give you clang+linker |
| 12:41:14 | <Libertinus> | merijn: I am a non-entity in programing, so if installing xcode makes life simpler for me, I'd like to do that |
| 12:41:16 | <dminuoso> | and other stuff |
| 12:41:20 | <dminuoso> | Libertinus: You dont nede xcode. |
| 12:41:27 | × | Libertinus quits (58c19c04@dsl-trebng21-58c19c-4.dhcp.inet.fi) (Remote host closed the connection) |
| 12:42:07 | <tomsmeding> | o/ |
| 12:43:14 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds) |
| 12:46:00 | → | Libertinus joins (58c19c04@dsl-trebng21-58c19c-4.dhcp.inet.fi) |
| 12:46:03 | <Libertinus> | dminuoso: then I need to update my os to be able to install the xcode CLT |
| 12:48:06 | <Libertinus> | dminuoso: is it possible to update to 10.15.4 and avoid updating to Big sur? |
| 12:48:11 | hackage | ukrainian-phonetics-basic 0.3.2.0 - A library to work with the basic Ukrainian phonetics and syllable segmentation. https://hackage.haskell.org/package/ukrainian-phonetics-basic-0.3.2.0 (OleksandrZhabenko) |
| 12:49:38 | × | raichoo quits (~raichoo@dslb-188-101-186-206.188.101.pools.vodafone-ip.de) (Quit: Lost terminal) |
| 12:51:53 | → | alp joins (~alp@2a01:e0a:58b:4920:b500:dcf8:65db:294b) |
| 12:52:55 | <tomsmeding> | Libertinus: I think the non-haskell internet can help you better with that than we can |
| 12:52:57 | → | drincruz joins (~adriancru@ool-44c748be.dyn.optonline.net) |
| 12:53:39 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 12:54:06 | <Libertinus> | tomsmeding: you have been most helpful! Will search the net, and return with haskell stuff, eventually. Have a good 'un! :) |
| 12:54:18 | <tomsmeding> | Cheers! |
| 12:54:35 | → | geowiesnot joins (~user@87-89-181-157.abo.bbox.fr) |
| 12:54:45 | <Libertinus> | dminuoso: thank you, too!! |
| 12:55:21 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 12:55:29 | <Libertinus> | :) |
| 12:57:15 | × | fendor quits (~fendor@178.115.131.244.wireless.dyn.drei.com) (Remote host closed the connection) |
| 12:58:00 | × | cosimone quits (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone) |
| 12:59:55 | → | zaquest joins (~notzaques@5.128.210.178) |
| 13:00:34 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
| 13:02:13 | × | LKoen quits (~LKoen@105.175.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
| 13:04:41 | hackage | haskoin-core 0.17.5 - Bitcoin & Bitcoin Cash library for Haskell https://hackage.haskell.org/package/haskoin-core-0.17.5 (jprupp) |
| 13:04:42 | × | zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection) |
| 13:05:01 | × | m0rphism quits (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) (Ping timeout: 264 seconds) |
| 13:07:01 | × | Rudd0 quits (~Rudd0@185.189.115.103) (Remote host closed the connection) |
| 13:07:13 | × | DTZUZU_ quits (~DTZUZU@205.ip-149-56-132.net) (Read error: Connection reset by peer) |
| 13:07:22 | → | DTZUZU joins (~DTZUZU@205.ip-149-56-132.net) |
| 13:07:28 | × | xsarnik0 quits (xsarnik@gateway/shell/fi.muni.cz/x-qqlqhiysrvqfxaju) (Quit: Ping timeout (120 seconds)) |
| 13:07:28 | × | Jajik quits (xchlup2@gateway/shell/fi.muni.cz/x-nixiositsvhijnwj) (Quit: Ping timeout (120 seconds)) |
| 13:07:49 | × | dnlkrgr quits (~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 246 seconds) |
| 13:08:28 | × | tomsmeding quits (~tomsmedin@tomsmeding.com) (Quit: ZNC 1.7.5 - https://znc.in) |
| 13:08:48 | → | tomsmeding joins (~tomsmedin@tomsmeding.com) |
| 13:09:10 | → | zariuq joins (~zar@fw1.ciirc.cvut.cz) |
| 13:09:33 | → | texasmynsted joins (~texasmyns@212.102.45.115) |
| 13:09:36 | × | sdx23 quits (~sdx23@unaffiliated/sdx23) (Ping timeout: 240 seconds) |
| 13:09:56 | × | Rembane quits (~Rembane@li346-36.members.linode.com) (Ping timeout: 240 seconds) |
| 13:10:35 | → | xsarnik0 joins (xsarnik@gateway/shell/fi.muni.cz/x-tgciqxhajxesnkwi) |
| 13:10:41 | → | Jajik joins (xchlup2@gateway/shell/fi.muni.cz/x-xjonixprwtlmdjwb) |
| 13:10:54 | × | gxt quits (~gxt@gateway/tor-sasl/gxt) (Quit: WeeChat 2.9) |
| 13:10:56 | × | zar quits (~zar@fw1.ciirc.cvut.cz) (Ping timeout: 240 seconds) |
| 13:11:03 | → | Rembane joins (~Rembane@li346-36.members.linode.com) |
| 13:12:50 | → | sdx23 joins (~sdx23@unaffiliated/sdx23) |
| 13:13:36 | → | LKoen joins (~LKoen@105.175.9.109.rev.sfr.net) |
| 13:15:03 | → | texasmyn_ joins (~texasmyns@212.102.45.103) |
| 13:15:30 | → | gxt joins (~gxt@gateway/tor-sasl/gxt) |
| 13:15:52 | → | geekosaur joins (82659a09@host154-009.vpn.uakron.edu) |
| 13:16:05 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 13:16:47 | → | fendor joins (~fendor@91.141.2.63.wireless.dyn.drei.com) |
| 13:16:51 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 13:16:55 | × | fendor quits (~fendor@91.141.2.63.wireless.dyn.drei.com) (Remote host closed the connection) |
| 13:16:58 | × | da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:9156:658b:3008:cf:28b1) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 13:18:13 | × | texasmynsted quits (~texasmyns@212.102.45.115) (Ping timeout: 264 seconds) |
| 13:19:22 | → | chaosmasttter joins (~chaosmast@p200300c4a7122601056aeb346f192a12.dip0.t-ipconnect.de) |
| 13:25:34 | × | ph88 quits (~ph88@2a02:8109:9e00:7e5c:b9be:939f:4d9:5357) (Quit: Leaving) |
| 13:26:38 | → | mastarija_ joins (~mastarija@93-142-67-36.adsl.net.t-com.hr) |
| 13:28:06 | → | bahamas joins (~lucian@188.24.181.166) |
| 13:28:07 | × | bahamas quits (~lucian@188.24.181.166) (Changing host) |
| 13:28:07 | → | bahamas joins (~lucian@unaffiliated/bahamas) |
| 13:28:07 | <AWizzArd> | stylish-haskell suggests to Emacs users to read the “Using external formatters” section of the haskell-mode manual: http://haskell.github.io/haskell-mode/manual/latest/Autoformating.html#Autoformating |
| 13:28:25 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 240 seconds) |
| 13:28:37 | <AWizzArd> | How will Emacs know about stylish-haskell? Is this backed into haskell-mode itself, the support for this specific formatter? |
| 13:29:12 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 13:29:18 | <dminuoso> | AWizzArd: haskell-mode will invoke it as an external command |
| 13:29:26 | <dminuoso> | So its necessary to be on PATH |
| 13:30:00 | <dminuoso> | (custom-set-variables '(haskell-stylish-on-save t)) |
| 13:30:18 | × | mastarija quits (~mastarija@93-136-113-7.adsl.net.t-com.hr) (Ping timeout: 260 seconds) |
| 13:30:36 | <AWizzArd> | dminuoso: does stylish also support formatting a (marked) region? |
| 13:32:15 | <dminuoso> | AWizzArd: Id guess no. |
| 13:32:39 | <dminuoso> | At best it could only work for a region that is also valid as a top level binding |
| 13:32:56 | <dminuoso> | Such that you could put the region into a temporary file, treat it as a module, run stylish-haskell on it, and splice it back in |
| 13:33:22 | → | cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
| 13:33:25 | × | SupaYoshi quits (~supayoshi@213-10-140-13.fixed.kpn.net) (Ping timeout: 240 seconds) |
| 13:33:25 | <dminuoso> | Such a thing is certainly implementable in emacs |
| 13:33:42 | → | monochrom joins (trebla@216.138.220.146) |
| 13:34:04 | × | drincruz quits (~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 246 seconds) |
| 13:34:04 | <dminuoso> | AWizzArd: Concretely |
| 13:34:09 | → | SupaYoshi joins (~supayoshi@213-10-140-13.fixed.kpn.net) |
| 13:34:15 | → | ph88 joins (~ph88@ip5f5af6cd.dynamic.kabel-deutschland.de) |
| 13:34:41 | <dminuoso> | AWizzArd: (defcustom haskell-mode-stylish-haskell-path "stylish-haskell" "Path to `stylish-haskell' executable." :group 'haskell :type 'string) |
| 13:34:58 | → | da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:9156:658b:3008:cf:28b1) |
| 13:35:06 | <AWizzArd> | dminuoso: Aah okay, that makes sense! |
| 13:35:30 | <dminuoso> | So you can override that if you want to |
| 13:35:55 | <dminuoso> | e.g. through M-x customize-group RET haskell RET |
| 13:36:56 | × | notzmv quits (~user@unaffiliated/zmv) (Ping timeout: 265 seconds) |
| 13:37:10 | × | cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
| 13:37:31 | → | cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
| 13:39:12 | × | cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 272 seconds) |
| 13:40:50 | → | nineonine joins (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
| 13:41:36 | × | mastarija_ quits (~mastarija@93-142-67-36.adsl.net.t-com.hr) (Quit: Leaving) |
| 13:41:49 | × | nineonine quits (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Client Quit) |
| 13:42:53 | <dminuoso> | Does aeson have primitives to parse a string as numeric types? |
| 13:43:44 | × | texasmyn_ quits (~texasmyns@212.102.45.103) (Ping timeout: 260 seconds) |
| 13:44:46 | → | raichoo joins (~raichoo@dslb-188-101-186-206.188.101.pools.vodafone-ip.de) |
| 13:44:59 | <nshepperd2> | any regex-tdfa experts here? is there a way to execute a regex in this library 'incrementally'? |
| 13:45:44 | <nshepperd2> | that is, I want to feed characters in one at a time, and be able to determine after each step whether it is in an accepting, failing, or unfinished state |
| 13:46:05 | → | hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net) |
| 13:46:38 | <nshepperd2> | (the true purpose of this is that I want to execute a regex within / convert a regex into a parsec-style parser) |
| 13:46:50 | × | LKoen quits (~LKoen@105.175.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
| 13:47:47 | → | Sornaensis joins (~kvirc@79.142.232.102.static.router4.bolignet.dk) |
| 13:48:03 | → | Wuzzy joins (~Wuzzy@p549c9976.dip0.t-ipconnect.de) |
| 13:48:34 | × | jespada quits (~jespada@90.254.245.49) (Ping timeout: 256 seconds) |
| 13:48:38 | × | da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:9156:658b:3008:cf:28b1) (Ping timeout: 264 seconds) |
| 13:48:46 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 13:50:03 | → | urodna joins (~urodna@unaffiliated/urodna) |
| 13:50:29 | → | jespada joins (~jespada@90.254.245.49) |
| 13:52:21 | × | cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
| 13:52:42 | → | cosimone joins (~cosimone@93-47-228-249.ip115.fastwebnet.it) |
| 13:53:27 | × | feb quits (~feb@178.162.212.214) (Remote host closed the connection) |
| 13:53:31 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Remote host closed the connection) |
| 13:53:37 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 13:54:22 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 13:56:06 | → | drincruz joins (~adriancru@ool-44c748be.dyn.optonline.net) |
| 13:56:45 | → | texasmynsted joins (~texasmyns@212.102.45.103) |
| 13:57:47 | <nshepperd2> | hmm, pcre supports partial matching |
| 14:03:24 | → | laurenceday joins (~leday@173.203.125.91.dyn.plus.net) |
| 14:04:04 | → | lpy joins (~nyd@unaffiliated/elysian) |
| 14:04:53 | × | laurenceday quits (~leday@173.203.125.91.dyn.plus.net) (Remote host closed the connection) |
| 14:06:51 | × | sagax quits (~sagax_nb@213.138.71.146) (Read error: Connection reset by peer) |
| 14:08:32 | → | laurenceday joins (~leday@173.203.125.91.dyn.plus.net) |
| 14:11:28 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
| 14:11:39 | × | joaoh82 quits (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Remote host closed the connection) |
| 14:12:13 | → | joaoh82 joins (~joaoh82@157-131-134-210.dedicated.static.sonic.net) |
| 14:12:51 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 14:13:23 | × | zariuq quits (~zar@fw1.ciirc.cvut.cz) (Remote host closed the connection) |
| 14:13:30 | → | zargoertzel joins (~zar@fw1.ciirc.cvut.cz) |
| 14:16:23 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 14:23:12 | → | sunweaver1 joins (~sunweaver@185.163.110.125) |
| 14:23:54 | × | SupaYoshi quits (~supayoshi@213-10-140-13.fixed.kpn.net) (Ping timeout: 260 seconds) |
| 14:23:58 | → | SupaYoshii joins (~supayoshi@213-10-140-13.fixed.kpn.net) |
| 14:24:48 | × | drincruz quits (~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 272 seconds) |
| 14:28:03 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 14:29:46 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 14:30:17 | → | drincruz joins (~adriancru@ool-44c748be.dyn.optonline.net) |
| 14:30:48 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
| 14:31:10 | <siraben> | Is there a more efficient structure than a vector of bytestirngs? |
| 14:31:21 | <siraben> | vector of unboxed vectors of chars? |
| 14:32:37 | → | Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck) |
| 14:33:05 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Remote host closed the connection) |
| 14:33:09 | → | britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
| 14:33:49 | <merijn> | siraben: for what? |
| 14:34:16 | <siraben> | merijn: https://github.com/siraben/hoac-2020/blob/master/day3.hs |
| 14:34:26 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 14:34:31 | <siraben> | I switched from list of bytestrings to vector of bytestrings but didn't seem to improve the benchmarks |
| 14:34:31 | × | britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Client Quit) |
| 14:34:39 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 14:35:33 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Remote host closed the connection) |
| 14:35:40 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 14:35:56 | → | Sornaensis|2 joins (~kvirc@077213194197.dynamic.telenor.dk) |
| 14:37:51 | × | lassulus quits (~lassulus@NixOS/user/lassulus) (Quit: WeeChat 2.9) |
| 14:38:06 | <dolio> | Seems like a better improvement would be only folding once. |
| 14:38:45 | × | Sornaensis quits (~kvirc@79.142.232.102.static.router4.bolignet.dk) (Ping timeout: 240 seconds) |
| 14:38:50 | × | darjeeling_ quits (~darjeelin@115.215.41.204) (Ping timeout: 260 seconds) |
| 14:39:35 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 14:39:36 | <siraben> | In part 2? |
| 14:39:56 | <siraben> | Ah, right. |
| 14:40:56 | <dolio> | Sure, althought part 1 is just using a subset of the information of part 2, so you could fold once for both. |
| 14:40:58 | → | christo joins (~chris@81.96.113.213) |
| 14:41:53 | <merijn> | Any specific reason for optimising this? Or just for shits & giggles? :p |
| 14:42:07 | → | fendor joins (~fendor@91.141.2.63.wireless.dyn.drei.com) |
| 14:42:14 | <siraben> | shits and giggles |
| 14:42:22 | <siraben> | also benchmarking is fun :P |
| 14:42:29 | → | LKoen joins (~LKoen@105.175.9.109.rev.sfr.net) |
| 14:43:10 | hackage | phonetic-languages-simplified-properties-lists 0.3.0.0 - A generalization of the uniqueness-periods-vector-properties package. https://hackage.haskell.org/package/phonetic-languages-simplified-properties-lists-0.3.0.0 (OleksandrZhabenko) |
| 14:43:17 | → | lassulus joins (~lassulus@NixOS/user/lassulus) |
| 14:43:18 | × | sleblanc quits (~sleblanc@unaffiliated/sebleblanc) (Ping timeout: 256 seconds) |
| 14:45:16 | <Taneb> | Does GHC have any limits on the number of fields in a record? |
| 14:45:25 | <merijn> | "probably" |
| 14:46:06 | × | geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection) |
| 14:46:33 | <dolio> | It starts having problems with tuples around 64 elements, so it's possible there's a similar problem with other constructors. |
| 14:48:10 | → | z0 joins (~z0@188.251.71.80) |
| 14:48:12 | <merijn> | 62 |
| 14:48:30 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 14:48:36 | <merijn> | Tuple size 63 and up are commented out with a comment about GHC segfaulting when the higher ones are added |
| 14:49:01 | <dolio> | I saw some recent discussion where something larger than 62 was mentioned as working. |
| 14:49:14 | × | Sornaensis|2 quits (~kvirc@077213194197.dynamic.telenor.dk) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) |
| 14:49:24 | <oats> | it always tickled me that the tuples were manually defined :P |
| 14:49:38 | <dolio> | I think it was 64 for some SIMD thing. |
| 14:49:47 | × | joaj quits (~joaj@2001:690:2100:110:cceb:227c:edbc:592c) (Ping timeout: 244 seconds) |
| 14:49:51 | <merijn> | > 2 * 26 + 10 |
| 14:49:53 | <lambdabot> | 62 |
| 14:49:58 | <merijn> | Nope, 62 |
| 14:50:07 | <merijn> | dolio: https://hackage.haskell.org/package/ghc-prim-0.6.1/docs/src/GHC.Tuple.html :p |
| 14:50:33 | <dolio> | I didn't say there were tuples bigger than 62 defined in that file. |
| 14:50:42 | <oats> | the greatest haskell file of all time |
| 14:50:49 | <z0> | is there a significant difference resource wise between cycling a list vs calculating the index mod length? |
| 14:50:56 | → | joaj joins (~joaj@2001:690:2100:1b:a36f:f7ab:d46c:98f0) |
| 14:51:11 | <merijn> | z0: If you intend to index said list, yes |
| 14:51:23 | <dolio> | Anyhow, I'm not sure anyone knows what was failing with tuples that big anyway. It could be unrelated to the constructors. |
| 14:51:28 | <oats> | indexing lists booooo |
| 14:51:28 | <merijn> | z0: at least, when you start from the beginning each time |
| 14:51:54 | <merijn> | oats: How can it be the best Haskell file? It has none of the best functions |
| 14:52:10 | → | darjeeling_ joins (~darjeelin@122.245.218.196) |
| 14:52:33 | <oats> | merijn: truly you have not reached tuple enlightenment |
| 14:52:48 | <merijn> | oats: reallyUnsafePtrEquality# is clearly better |
| 14:52:56 | <merijn> | as is accursedUnutterablePerformIO |
| 14:53:28 | <oats> | do you like sharing an address space with a malevolent bringer of chaos? |
| 14:54:30 | <tomsmeding> | yeah some time recently on the mailing list it came up that there was a primop somewhere that returned a 64-tuple, that you couldn't even use because when pattern matching on that tuple ghc said "I don't support tuples longer than 62" |
| 14:55:46 | <tomsmeding> | this and descendants https://mail.haskell.org/pipermail/ghc-devs/2020-September/019273.html |
| 14:56:38 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 14:57:31 | int-e | just made a single constructor type with 1024 Int fields and ghc didn't complain... it's getting slow to compile though. |
| 15:00:11 | hackage | prolude 0.0.0.12 - ITProTV's custom prelude https://hackage.haskell.org/package/prolude-0.0.0.12 (saramuse) |
| 15:01:06 | → | nineonine joins (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
| 15:01:25 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
| 15:02:29 | × | nineonine quits (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Client Quit) |
| 15:02:57 | <exarkun> | Anyone know of a nice IRC client library? |
| 15:03:39 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 15:04:13 | → | LKoen_ joins (~LKoen@105.175.9.109.rev.sfr.net) |
| 15:05:23 | <solonarv> | z0: cycle xs !! n has to follow n cons-cells, xs !! (n `mod` length xs) only has to follow length xs + n `mod` length xs cons cells |
| 15:05:44 | <solonarv> | (and if you're indexing multiple times, you only have to calculate the length once, of course) |
| 15:06:04 | → | nineonine joins (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
| 15:07:09 | × | LKoen quits (~LKoen@105.175.9.109.rev.sfr.net) (Ping timeout: 260 seconds) |
| 15:07:36 | × | nineonine quits (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Client Quit) |
| 15:08:19 | → | conal joins (~conal@64.71.133.70) |
| 15:08:26 | × | borne quits (~fritjof@200116b864c920008cdf581d4c1cc02f.dip.versatel-1u1.de) (Ping timeout: 264 seconds) |
| 15:08:55 | → | Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
| 15:09:36 | × | danza__ quits (~francesco@151.46.171.237) (Read error: Connection reset by peer) |
| 15:10:16 | → | borne joins (~fritjof@200116b864c920008cdf581d4c1cc02f.dip.versatel-1u1.de) |
| 15:10:51 | → | notzmv joins (~user@unaffiliated/zmv) |
| 15:11:02 | × | mrchampion quits (~mrchampio@216-26-218-246.dynamic.tbaytel.net) (Ping timeout: 260 seconds) |
| 15:12:18 | → | christo joins (~chris@81.96.113.213) |
| 15:13:29 | → | Entertainment joins (~entertain@104.246.132.210) |
| 15:15:03 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds) |
| 15:16:22 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 15:16:39 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 15:19:18 | <exarkun> | in a `consumer :: MonadIO m => MVar () -> ConduitT (Either ByteString IrcEvent) o m ()` when I try to get some events with `events <- takeC 2` I get a type error - Couldn't match type ‘o’ with ‘Either ByteString IrcEvent’ |
| 15:19:29 | <exarkun> | What does using `takeC` have to do with the output type? |
| 15:19:51 | <merijn> | exarkun: within a do block all lines must have the same output |
| 15:20:18 | <merijn> | exarkun: "instance Monad m => Monad (ConduitT i o m)" |
| 15:20:27 | <merijn> | note that both i and o are fixed there |
| 15:20:38 | → | polyphem joins (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) |
| 15:23:01 | × | gxt quits (~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection) |
| 15:23:27 | <exarkun> | I think I understand the first part. I'm not sure if I understand "both i and o are fixed there". |
| 15:23:44 | → | gxt joins (~gxt@gateway/tor-sasl/gxt) |
| 15:23:57 | <merijn> | exarkun: "ConduitT i o m" (with specific types 'i', 'o', and 'm') forms a monad |
| 15:24:04 | <exarkun> | Ah ok |
| 15:24:22 | <merijn> | exarkun: Within a do block all "statements" must have the same type (which has to have a Monad instance) |
| 15:24:55 | <merijn> | exarkun: Remember that "do { x <- foo; bar x }" translate to "foo >>= \x -> bar x" |
| 15:24:58 | <merijn> | :t (>>=) |
| 15:25:01 | <lambdabot> | Monad m => m a -> (a -> m b) -> m b |
| 15:25:14 | <exarkun> | So with that type declaration, the type of `o` will be inferred from what's in the definition of the function, and since `i` is that `Either ...`, using `takeC` like this tells the type checker that `o` must be the same `Either ...`? |
| 15:25:22 | <merijn> | the 'm' there is "ConduitT i o m" and it must be the same on each side |
| 15:25:59 | × | Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 2.9) |
| 15:26:14 | <merijn> | exarkun: The problem is that "takeC :: ConduitT a a m ()", yeah |
| 15:26:37 | <merijn> | exarkun: Eh, also note that "events <- takeC 2" probably doesn't do what you expect... |
| 15:26:51 | <exarkun> | Oh? :/ |
| 15:26:56 | × | Digit quits (~user@fsf/member/digit) (Ping timeout: 256 seconds) |
| 15:27:00 | <merijn> | exarkun: That will simply forward 2 inputs downstream and 'events' will be () :p |
| 15:27:06 | <exarkun> | Oof. |
| 15:27:09 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 15:27:11 | hackage | phonetic-languages-simplified-lists-examples 0.4.0.0 - Simplified and somewhat optimized version of the phonetic-languages-examples. https://hackage.haskell.org/package/phonetic-languages-simplified-lists-examples-0.4.0.0 (OleksandrZhabenko) |
| 15:27:16 | <exarkun> | Yea. That is not what I expected. |
| 15:27:37 | <exarkun> | Guess I should read the conduit docs harder. |
| 15:28:26 | → | danza__ joins (~francesco@151.53.83.218) |
| 15:28:26 | → | mrchampion joins (~mrchampio@216-26-218-246.dynamic.tbaytel.net) |
| 15:28:26 | <merijn> | exarkun: Since "takeC :: Int -> ConduitT a a m ()" note that the Monad here is "ConduitT a a m" so the "result" in "(>>=) :: Monad m => m a -> (a -> m b) -> m b" the 'a' of >>= is just () |
| 15:28:49 | <z0> | solonarv: thanks. i guess i always imagine the possibility of some compiler optimization surprising me |
| 15:28:51 | <merijn> | exarkun: You need to process 2 events at a time? |
| 15:29:48 | <exarkun> | merijn: Probably not. This is my first conduit-using program ever. I'm actually just trying to throw 4 events in the trash (but also wait for them to happen before moving on). |
| 15:30:18 | <merijn> | exarkun: that'd be more like "dropC 4" :p |
| 15:30:45 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 15:30:53 | <merijn> | exarkun: What do you mean by "wait for them"? |
| 15:30:57 | → | hexo joins (~hexo@gateway/tor-sasl/hexo) |
| 15:31:15 | <exarkun> | merijn: It's an irc client. I want to send a message after they've been received. |
| 15:31:58 | <exarkun> | I see `dropC` has a more favorable type for this... `dropC :: Monad m => Int -> ConduitT a o m ()` so the result is still () but the output type is not fixed as the same as the input type. |
| 15:32:03 | → | christo joins (~chris@81.96.113.213) |
| 15:32:06 | × | DataComputist quits (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Quit: Leaving...) |
| 15:32:37 | <exarkun> | Also I see that the conduit docs I was looking at are using `foldC` and I guess that's why they work and my code doesn't ... because foldC also doesn't fix the output and has a useful result type instead of (). |
| 15:33:23 | × | toorevitimirp quits (~tooreviti@117.182.183.16) (Ping timeout: 260 seconds) |
| 15:34:31 | <exarkun> | I think I understand `ConduitT` a little better now, at least, thanks |
| 15:34:35 | × | bahamas quits (~lucian@unaffiliated/bahamas) (Quit: leaving) |
| 15:35:01 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection) |
| 15:35:16 | → | harwiltz joins (~harwiltz@modemcable052.131-226-192.mc.videotron.ca) |
| 15:36:49 | × | christo quits (~chris@81.96.113.213) (Ping timeout: 264 seconds) |
| 15:36:52 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 15:37:04 | <harwiltz> | Hello all. I tried recompiling my XMonad config today, and suddenly the build fails because it can't load XMonad.Actions.Volume.It says that the package xmonad-extras-<hash> is unusable due to missing dependencies, which are all packages with hashes. |
| 15:37:15 | <merijn> | exarkun: ConduitT is best thought of as a stream/conveyor built "ConduitT i o m r" 'i's go in, 'o's come out, processing might trigger effects 'm' and when done processing input, return 'r' |
| 15:37:27 | <harwiltz> | When I search for these packages on my system, I find their corresponding libraries but with different hash suffiexs. |
| 15:37:30 | → | _linker_ joins (~linker@2a02:a31a:a041:9a80:2cd0:74ec:fa0:a975) |
| 15:37:31 | <harwiltz> | suffixes |
| 15:38:04 | <merijn> | exarkun: So, "dropC 4" consumes the first 4 'i's coming in (and not sending anything out), then all further 'i's get forwarded to whatever you compose dropC with |
| 15:38:08 | <exarkun> | merijn: makes sense! I had only gotten as far as considering i and o before, m and r were off my radar :) |
| 15:39:01 | → | britva joins (~britva@2a02:aa13:7240:2980:c416:eb6b:963d:a119) |
| 15:39:45 | <merijn> | exarkun: So you'd do something like 'do { result <- takeC 4 .| yourFold; stuffWith result }" here the first 4 inputs go into yourFold, after which takeC stops giving data (causing the fold to finish and return a result) the remaining inputs go into "stuffWith result" |
| 15:40:26 | <harwiltz> | Nvm sorry, just rebuilt xmonad-extras and that solved it |
| 15:40:28 | × | harwiltz quits (~harwiltz@modemcable052.131-226-192.mc.videotron.ca) (Quit: WeeChat 2.9) |
| 15:42:28 | → | dnlkrgr joins (~dnlkrgr@HSI-KBW-046-005-005-080.hsi8.kabel-badenwuerttemberg.de) |
| 15:43:24 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 15:43:51 | → | christo joins (~chris@81.96.113.213) |
| 15:44:05 | <exarkun> | merijn: I thiiink I get it. I'll have practice a bit, probably. |
| 15:45:00 | <exarkun> | I think I keep confusing the `do`-block monad type with the ConduitT result type |
| 15:45:22 | <exarkun> | That is, mixing them up when thinking about how the pieces fit together. |
| 15:45:40 | <merijn> | exarkun: For conduit do notation is for "first process inputs with this conduit, then when it finishes, continue with this one, etc." |
| 15:45:59 | <merijn> | Whereas you want .| for sequencing things into a stream |
| 15:51:05 | <exarkun> | Hm I don't think I understand the distinction. Is it about where processing "continues" from? |
| 15:51:42 | → | cads joins (~cads@ip-64-72-99-232.lasvegas.net) |
| 15:52:58 | <merijn> | exarkun: if you have "foo .| bar" inputs go into foo which then yields results to 'bar' for further processing |
| 15:53:56 | <exarkun> | That part seems pretty straightforward at least :) |
| 15:53:57 | → | Zetagon joins (~leo@c151-177-52-233.bredband.comhem.se) |
| 15:53:57 | <merijn> | exarkun: But, suppose you want "foo" to, say, first compute something from the first 4 inputs and then use that to transform the rest, then you get code like above "foo = do { result <- takeC 4 .| yourFold; stuffWith result }' |
| 15:54:49 | <exarkun> | Maybe since I haven't implemented a fold (nor tried to learn how I would do that), only seen `foldC`, that part is harder to follow. |
| 15:55:05 | <merijn> | So now all inputs go into 'foo', still. But the first 4 inputs to foo get fed into yourFold (due to takeC 4), which returns a result. Then all other inputs to 'foo' (beyond the first 4) get fed into "stuffWith result" (and the output of that goes to bar) |
| 15:57:01 | → | hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-braorqjpjuqmensd) |
| 15:57:53 | <exarkun> | Apart from how exactly folds are implemented, I think I follow that part. |
| 15:58:33 | <exarkun> | And it seems like it means that the reason I started using do here - to implement some messy, not-very-well-thought-out-yet logic on message inputs and outputs in an imperative style - might not have been wrong |
| 15:59:28 | <merijn> | exarkun: Yeah, for Conduit you wanna think in pipeline (stages) |
| 15:59:41 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
| 15:59:59 | <merijn> | "my input is IRC events and I wanna turn that into output X" and then worry about what that means |
| 16:00:35 | → | Saukk joins (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) |
| 16:00:42 | → | urek joins (~urek@2804:7f1:e10a:9644:81a3:232e:2e84:9c43) |
| 16:01:37 | exarkun | nods |
| 16:02:01 | <exarkun> | gotta set this aside for now, alas. thanks very much for the hand holding. |
| 16:03:20 | → | mputz joins (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
| 16:04:56 | × | hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Read error: Connection reset by peer) |
| 16:05:06 | → | Rudd0 joins (~Rudd0@185.189.115.98) |
| 16:05:25 | × | Zetagon quits (~leo@c151-177-52-233.bredband.comhem.se) (Ping timeout: 240 seconds) |
| 16:05:38 | × | urek quits (~urek@2804:7f1:e10a:9644:81a3:232e:2e84:9c43) (Quit: urek) |
| 16:06:04 | → | codeAlways joins (uid272474@gateway/web/irccloud.com/x-qyqdgokdlfkqbekd) |
| 16:06:09 | × | codeAlways quits (uid272474@gateway/web/irccloud.com/x-qyqdgokdlfkqbekd) (Client Quit) |
| 16:06:10 | → | urek joins (~urek@2804:7f1:e10a:9644:81a3:232e:2e84:9c43) |
| 16:06:10 | → | Zetagon joins (~leo@c151-177-52-233.bredband.comhem.se) |
| 16:06:26 | <nshepperd2> | muahaha. i now have a parsing library which embeds both PCRE and Read within scanf, within trifecta |
| 16:06:50 | <merijn> | nshepperd2: I'm pretty sure there are laws against this... |
| 16:06:50 | <nshepperd2> | unlimited power~ |
| 16:07:01 | <merijn> | Like the Geneva convention >.> |
| 16:07:06 | × | ubert quits (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection) |
| 16:07:22 | <nshepperd2> | all my typeclasses are lawless |
| 16:08:27 | <mouseghost> | hammurabi codex |
| 16:11:13 | <nshepperd2> | an example: parse (scanf "%/[a-z]+/s = %r") "foo = True" :: (Text, Bool) |
| 16:11:21 | <nshepperd2> | ("foo",True) |
| 16:12:05 | <nshepperd2> | scanf "%/[a-z]+/s = %r" :: Trifecta.Parser (Text, Bool) |
| 16:12:34 | <merijn> | I'm not sure whether to be impressed or disgusted |
| 16:12:44 | <Clint> | why not both |
| 16:12:49 | <merijn> | How do you know the return type? God awful typeclassery? |
| 16:13:01 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 16:13:33 | <AWizzArd> | dminuoso: do you know if Stylish-Haskell now also uses the GHC parser? I think in the past it had its own, but it could break after syntax changes. |
| 16:13:44 | <nshepperd2> | relatively tame typeclassery |
| 16:14:01 | <merijn> | Is it time for me to dig up my "auto-formatting is bad and you should feel bad" link again? >.> |
| 16:14:45 | × | z0 quits (~z0@188.251.71.80) (Ping timeout: 240 seconds) |
| 16:14:58 | <nshepperd2> | I have typeclass instances (Scanf a, Scanf b) => Scanf (a, b) which just combine monadic parsers applicatively |
| 16:16:25 | → | Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk) |
| 16:17:09 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection) |
| 16:17:31 | → | danso joins (~dan@69-165-210-185.cable.teksavvy.com) |
| 16:17:49 | <nshepperd2> | (you do have to specify put a type signature if the return type is ambiguous. there's no fancy format string typechecker magic) |
| 16:18:07 | → | pavonia joins (~user@unaffiliated/siracusa) |
| 16:18:35 | × | fryguybob quits (~fryguybob@cpe-74-65-31-113.rochester.res.rr.com) (Ping timeout: 256 seconds) |
| 16:19:16 | × | mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 246 seconds) |
| 16:19:26 | → | Tops2 joins (~Tobias@dyndsl-095-033-024-237.ewe-ip-backbone.de) |
| 16:19:46 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 16:20:31 | → | bitmapper joins (uid464869@gateway/web/irccloud.com/x-hhucsrtimygjrzko) |
| 16:20:45 | <AWizzArd> | merijn: find that link pls (: |
| 16:23:37 | × | jonathanx quits (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
| 16:23:49 | → | fryguybob joins (~fryguybob@cpe-74-65-31-113.rochester.res.rr.com) |
| 16:25:57 | <merijn> | AWizzArd: https://twitter.com/comerijn/status/1257804634833420292 |
| 16:27:25 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 16:29:14 | <monochrom> | You should keep bookmarks of your own tweets. |
| 16:30:40 | <merijn> | monochrom: I have it bookmarked, actually :p |
| 16:30:41 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection) |
| 16:30:59 | <merijn> | After I had to look it up for the 3rd time :p |
| 16:31:19 | <monochrom> | I guess in the long term the question "how to search through my bookmarks" and it's the same question all over again. |
| 16:33:03 | <boxscape> | that's obvious, use meta-bookmarks |
| 16:33:44 | <merijn> | SQLite database, tags and full-text search, duh |
| 16:33:48 | <AWizzArd> | hr hr hr |
| 16:34:12 | → | jmchael joins (~Chi1thang@87.112.60.168) |
| 16:36:07 | <merijn> | Facts: Everything is better with SQLite |
| 16:36:24 | × | borne quits (~fritjof@200116b864c920008cdf581d4c1cc02f.dip.versatel-1u1.de) (Ping timeout: 240 seconds) |
| 16:36:46 | → | borne joins (~fritjof@87.123.105.43) |
| 16:37:36 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds) |
| 16:38:58 | → | chris8142 joins (~chris8142@srvnet-01-071.ikbnet.co.at) |
| 16:40:17 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 16:41:25 | × | chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 16:41:36 | × | Zetagon quits (~leo@c151-177-52-233.bredband.comhem.se) (Ping timeout: 272 seconds) |
| 16:43:01 | → | sagax joins (~sagax_nb@213.138.71.146) |
| 16:43:50 | × | Yumasi quits (~guillaume@2a01:e0a:5cb:4430:e1ea:8f38:f518:4e69) (Ping timeout: 264 seconds) |
| 16:46:42 | × | chris8142 quits (~chris8142@srvnet-01-071.ikbnet.co.at) (Quit: WeeChat 3.0) |
| 16:46:49 | <Chousuke> | I think Firefox stores bookmarks in a SQLite database? :P |
| 16:47:03 | → | chris8142 joins (~chris8142@srvnet-01-071.ikbnet.co.at) |
| 16:47:17 | <merijn> | It does |
| 16:47:22 | <solonarv> | however it stores them, it definitely has tags (that I don't use :p) |
| 16:47:32 | <merijn> | Also, literally every browser uses SQLite |
| 16:47:33 | → | chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 16:47:40 | <Chousuke> | as they should |
| 16:47:42 | <merijn> | thunderbird and Apple's Mail.app use it for email too |
| 16:47:50 | <Chousuke> | SQLite is good software. |
| 16:47:54 | <Chousuke> | which is rare. |
| 16:49:33 | <[exa]> | postgresql is cool too |
| 16:50:03 | <merijn> | [exa]: Different usecase(s) :p |
| 16:50:06 | <[exa]> | but that pretty much finishes the list of good relational databases. :] |
| 16:50:10 | <[exa]> | yes, certainly |
| 16:54:11 | <Chousuke> | both have a focus on being good at what they do and slowly expanding their capabilities rather than first trying to do everything and figuring out how to do it well only afterwards :P |
| 16:54:29 | → | AlterEgo__ joins (~ladew@124-198-158-163.dynamic.caiway.nl) |
| 16:54:39 | × | AlterEgo- quits (~ladew@124-198-158-163.dynamic.caiway.nl) (Read error: Connection reset by peer) |
| 16:55:23 | → | loller joins (uid358106@gateway/web/irccloud.com/x-iymviwnzwlbemvjr) |
| 16:55:26 | × | loller quits (uid358106@gateway/web/irccloud.com/x-iymviwnzwlbemvjr) (Client Quit) |
| 16:55:47 | → | loller_ joins (uid358106@gateway/web/irccloud.com/x-ystjmforbrvlleet) |
| 16:55:55 | → | drincruz_ joins (~adriancru@ool-44c748be.dyn.optonline.net) |
| 16:57:52 | → | phaul joins (~phaul@ruby/staff/phaul) |
| 16:58:58 | × | drincruz quits (~adriancru@ool-44c748be.dyn.optonline.net) (Ping timeout: 265 seconds) |
| 17:03:04 | × | shutdown_-h_now quits (~arjan@2001:1c06:2d0b:2312:3da6:b84a:a587:6e3b) (Ping timeout: 240 seconds) |
| 17:05:05 | <dsal> | sqlite is the sane way to put data into a file. |
| 17:05:16 | <dsal> | postgres is a pretty good database |
| 17:06:39 | <sm[m]> | Chousuke++ |
| 17:07:08 | → | nineonine joins (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
| 17:09:00 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 17:10:15 | → | christo joins (~chris@81.96.113.213) |
| 17:10:36 | × | hexo- quits (~hexo@83.167.228.130) (Ping timeout: 240 seconds) |
| 17:11:23 | × | Adluc quits (~Adluc@2a01:430:17:1::ffff:328) (Ping timeout: 260 seconds) |
| 17:13:53 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 17:14:26 | × | Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 265 seconds) |
| 17:14:33 | → | nineonine_ joins (~nineonine@50.216.62.2) |
| 17:16:49 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) |
| 17:17:02 | × | nineonine quits (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 260 seconds) |
| 17:17:02 | nineonine_ | is now known as nineonine |
| 17:18:24 | → | shutdown_-h_now joins (~arjan@2001:1c06:2d0b:2312:a913:5438:3a24:3de8) |
| 17:20:39 | × | ClaudiusMaximus quits (~claude@unaffiliated/claudiusmaximus) (Quit: ->) |
| 17:21:10 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Ping timeout: 244 seconds) |
| 17:21:20 | → | ClaudiusMaximus joins (~claude@223.153.198.146.dyn.plus.net) |
| 17:21:21 | × | borne quits (~fritjof@87.123.105.43) (Quit: WeeChat 2.9) |
| 17:21:26 | × | ClaudiusMaximus quits (~claude@223.153.198.146.dyn.plus.net) (Changing host) |
| 17:21:26 | → | ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus) |
| 17:23:45 | × | fendor quits (~fendor@91.141.2.63.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
| 17:24:48 | → | borne joins (~fritjof@200116b864c92000f60f2508b10af3d6.dip.versatel-1u1.de) |
| 17:26:11 | → | fendor joins (~fendor@91.141.2.63.wireless.dyn.drei.com) |
| 17:29:07 | → | geekosaur joins (82659a09@host154-009.vpn.uakron.edu) |
| 17:30:15 | → | Adluc joins (~Adluc@2a01:430:17:1::ffff:328) |
| 17:31:51 | → | juuandyy joins (~juuandyy@90.166.144.65) |
| 17:32:08 | × | alp quits (~alp@2a01:e0a:58b:4920:b500:dcf8:65db:294b) (Remote host closed the connection) |
| 17:32:29 | → | alp joins (~alp@2a01:e0a:58b:4920:d1b5:6b8:6f38:d8f3) |
| 17:34:26 | → | arahael1 joins (~arahael@124-168-0-93.tpgi.com.au) |
| 17:36:19 | → | asthasr joins (~asthasr@162.210.29.120) |
| 17:36:56 | × | arahael quits (~arahael@124-150-64-50.tpgi.com.au) (Ping timeout: 256 seconds) |
| 17:37:05 | → | pokid joins (~pokid@unaffiliated/pokid) |
| 17:37:28 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 17:37:50 | × | alp quits (~alp@2a01:e0a:58b:4920:d1b5:6b8:6f38:d8f3) (Ping timeout: 264 seconds) |
| 17:37:52 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 17:38:23 | × | laurenceday quits (~leday@173.203.125.91.dyn.plus.net) (Quit: Leaving.) |
| 17:38:55 | × | chaosmasttter quits (~chaosmast@p200300c4a7122601056aeb346f192a12.dip0.t-ipconnect.de) (Quit: WeeChat 2.9) |
| 17:39:15 | → | cads2 joins (~cads@ip-64-72-99-232.lasvegas.net) |
| 17:40:42 | → | hexo- joins (~hexo@83.167.228.130) |
| 17:41:34 | → | Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck) |
| 17:41:53 | × | cads quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 256 seconds) |
| 17:42:14 | × | ph88 quits (~ph88@ip5f5af6cd.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
| 17:43:08 | × | Tops2 quits (~Tobias@dyndsl-095-033-024-237.ewe-ip-backbone.de) (Quit: Leaving.) |
| 17:43:29 | → | geowiesnot joins (~user@87-89-181-157.abo.bbox.fr) |
| 17:44:15 | → | Tops2 joins (~Tobias@dyndsl-095-033-024-237.ewe-ip-backbone.de) |
| 17:44:36 | × | carlomagno quits (~cararell@148.87.23.11) (Ping timeout: 240 seconds) |
| 17:45:48 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) |
| 17:46:20 | × | cads2 quits (~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 256 seconds) |
| 17:47:49 | × | anhydrite quits (~anhydrite@4e69b241.skybroadband.com) (Ping timeout: 246 seconds) |
| 17:48:01 | × | chris8142 quits (~chris8142@srvnet-01-071.ikbnet.co.at) (Quit: WeeChat 3.0) |
| 17:48:06 | × | p8m quits (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 272 seconds) |
| 17:50:26 | → | gioyik joins (~gioyik@186.112.99.244) |
| 17:51:21 | → | Guest4563 joins (~Siempre@4e69b241.skybroadband.com) |
| 17:54:15 | → | hexfive joins (~hexfive@50-47-142-195.evrt.wa.frontiernet.net) |
| 17:55:09 | <justsomeguy> | What is your opinion of fossil (the version control software that uses sqlite as a back-end)? |
| 17:57:49 | → | carlomagno joins (~cararell@148.87.23.12) |
| 17:58:34 | <koz_> | Mine is primarily 'whatever its merits, git has network effects and thus it's what'll get used nine times out of ten, merits be damned'. |
| 17:59:00 | → | theorbtwo joins (~theorb@cpc81822-swin19-2-0-cust3.3-1.cable.virginm.net) |
| 17:59:01 | × | theorb quits (~theorb@cpc81822-swin19-2-0-cust3.3-1.cable.virginm.net) (Ping timeout: 246 seconds) |
| 18:00:26 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Remote host closed the connection) |
| 18:01:33 | <Chousuke> | My opinion is that git's good enough :P |
| 18:01:59 | <monochrom> | :) |
| 18:02:24 | <Chousuke> | the UI is terrible, but the software itself is solid, so the good reasons to use alternatives just often aren't good enough |
| 18:03:13 | <justsomeguy> | To be honest I've been using various vcs' and still haven't incorporated any of them into my workflow in a productive way. They mostly serve as extended undo rather than a useful microblog of changes with narrative structure. |
| 18:03:44 | × | shf quits (~sheaf@2a01:cb19:80cc:7e00:bd72:6c13:4bde:b40f) (Read error: Connection reset by peer) |
| 18:04:25 | → | Ariakenom joins (~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) |
| 18:04:34 | <koz_> | My experience with git is roughly this comic: https://xkcd.com/1597/ |
| 18:05:09 | <Chousuke> | I think git was successful because it was such a huge improvement over the status quo in terms of what it enabled you to do, and it arrived at the right time. |
| 18:05:17 | <Sonolin> | yup |
| 18:05:47 | <Sonolin> | being created by Linus Torvalds is a lot of free promo as well |
| 18:05:50 | <monochrom> | haha koz_. Although, I haven't run into that kind of problems. (I'm a casual user.) |
| 18:06:55 | <Chousuke> | I'm pretty comfortable with git nowadays, so people nuking their projects unnecessarily bothers me somewhat :P |
| 18:08:05 | <Chousuke> | the UI is bad, but its internal workings are so straightforward that I can always just look up whatever magic incantation I need for the operation I want to do if I can't remember it |
| 18:08:21 | <Sonolin> | yea once you grok it it is really powerful |
| 18:08:35 | → | ph88 joins (~ph88@95.90.246.205) |
| 18:08:36 | <Sonolin> | SourceTree is nice for those unwilling to learn |
| 18:10:33 | × | britva quits (~britva@2a02:aa13:7240:2980:c416:eb6b:963d:a119) (Quit: This computer has gone to sleep) |
| 18:10:34 | <koz_> | I'm semi-casual. Like, I've learned worse, but git is far from 'good enough' in my opinion. I just tolerate it because if you wanna contribute to basically anything nowadays you _have_ to know it. |
| 18:11:13 | <Chousuke> | I mean "good enough" in terms of what you can do with it |
| 18:11:35 | → | joaoh82_ joins (~joaoh82@157-131-134-210.dedicated.static.sonic.net) |
| 18:11:41 | <Chousuke> | The problem with eg. subversion was that if you wanted to use it to untangle a tricky merge, you just couldn't |
| 18:11:41 | hackage | geos 0.4.0 - Bindings for GEOS. https://hackage.haskell.org/package/geos-0.4.0 (petefrance) |
| 18:12:04 | <koz_> | I actually used subversion in a professional setting. |
| 18:12:07 | <koz_> | Never again. |
| 18:12:19 | <Chousuke> | with git you can make temporary commits and add things piecemeal and rewrite things all you want, and that helps you deal with tricky situations |
| 18:12:19 | <koz_> | Like, if you can't do the equivalent of .gitignore, you are pretty badly designed IMHO. |
| 18:12:45 | <Chousuke> | with Subversion you just have a mess in your worktree and no help from the tool :P |
| 18:13:10 | geekosaur | remembers when svn was a step *up*, though |
| 18:13:18 | <geekosaur> | everything is relative |
| 18:13:33 | <Chousuke> | oh yeah, the first source control I used was RCS :) |
| 18:13:33 | × | Saukk quits (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection) |
| 18:13:42 | <Chousuke> | svn is definitely somewhat better than that. |
| 18:13:45 | <geekosaur> | I started out on SCCS |
| 18:13:49 | × | joaoh82 quits (~joaoh82@157-131-134-210.dedicated.static.sonic.net) (Ping timeout: 260 seconds) |
| 18:14:07 | monochrom | came from the time of .cvsignore |
| 18:14:38 | × | Aquazi quits (uid312403@gateway/web/irccloud.com/x-hleddgoteowwxjqp) (Quit: Connection closed for inactivity) |
| 18:14:54 | <dminuoso> | Is there a typeclass that gives us sort of equality of Maybe a or say Nothing ~= Just "" |
| 18:15:01 | <dminuoso> | Or Nothing ~= Just [] |
| 18:15:01 | <monochrom> | So if you also mean that subversion can't do the equivalent of .cvsignore, that's disappointing. subversion was supposed to be one level up above cvs. |
| 18:15:16 | <koz_> | monochrom: AFAICT, no. |
| 18:15:30 | <Chousuke> | and Subversion is still decent for completely linear things like configuration, or for storing versions of binary artifacts. |
| 18:15:31 | <jle`> | dminuoso: compare on fold, maybe |
| 18:15:33 | × | Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 260 seconds) |
| 18:15:50 | → | alp joins (~alp@2a01:e0a:58b:4920:914d:f2ca:3630:62c6) |
| 18:15:53 | <Sonolin> | SVN always took *forever* to do anything too |
| 18:16:06 | <dminuoso> | jle`: Mmm, that would only work on foldables. The "" was supposed to talk about Text actually |
| 18:16:20 | <dminuoso> | Sorry about that, my brain is currently locked into OverloadedStrings |
| 18:16:24 | <Chousuke> | that's because if you deploy it the "standard" way, it does a gajillion HTTP requests to the server for pretty much anything |
| 18:16:54 | <dminuoso> | Also, I might need `Nothing ~= Just 0` as well.. |
| 18:17:26 | <Chousuke> | at one point at work we had a graph showing audit failures against AD |
| 18:17:27 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Remote host closed the connection) |
| 18:17:29 | × | raichoo quits (~raichoo@dslb-188-101-186-206.188.101.pools.vodafone-ip.de) (Quit: Lost terminal) |
| 18:17:32 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 18:17:41 | <dminuoso> | For context, Im dealing with a particularly bad API that for some "unset" fields it gives me `{ "foo": "" }`, other times it gives me {"foo": null} or it just leaves the attribute away |
| 18:17:43 | <Chousuke> | and also audit successes |
| 18:17:55 | → | xcmw joins (~textual@cpe-69-133-55-43.cinci.res.rr.com) |
| 18:18:00 | <Chousuke> | and there were noticeable spikes in those numbers when someone checked out a large svn repo :P |
| 18:18:06 | <dminuoso> | And I want to write tests that verify that the thing Im putting in is the thing Im getting out.. |
| 18:18:08 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 18:18:25 | <geekosaur> | nothing built in, because it's kinda poorly specified. depending on approach I could see Data.Default or Monoid |
| 18:19:48 | <geekosaur> | but combining either one with Maybe is a problem |
| 18:20:29 | → | conal joins (~conal@64.71.133.70) |
| 18:21:02 | <geekosaur> | some custom wrapped Maybe whose comparison function "promotes" Nothing to mempty (and unwraps a Just)? |
| 18:21:36 | <dminuoso> | % lower x | x == empty = Nothing; lower x = Just x |
| 18:21:37 | <yahb> | dminuoso: |
| 18:21:52 | <dminuoso> | % l =&= r == (lower =<< l) == (lower =<< r) |
| 18:21:53 | <yahb> | dminuoso: ; <interactive>:30:1: error: Precedence parsing error cannot mix `==' [infix 4] and `==' [infix 4] in the same infix expression |
| 18:22:02 | <dminuoso> | % l =&= r = (lower =<< l) == (lower =<< r) |
| 18:22:02 | <yahb> | dminuoso: |
| 18:22:14 | <dminuoso> | % Just "" =&= Nothing |
| 18:22:14 | <yahb> | dminuoso: True |
| 18:22:21 | <dminuoso> | Mmm. |
| 18:22:25 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds) |
| 18:22:57 | <dminuoso> | geekosaur: ah yeah, promoting the other way seems saner. |
| 18:23:10 | <monochrom> | dminuoso: I wonder if instead of coding up a special equality, code up a normalization, Just a -> a, Nothing -> mempty or default. |
| 18:23:28 | <geekosaur> | that was basically what I proposed |
| 18:24:38 | <dminuoso> | Cheers, I think Ill go that road. I was on the tree of going the other direction, and it felt like unnecessary extra work |
| 18:24:40 | <dminuoso> | And the bind was weird |
| 18:25:08 | <monochrom> | @type fold |
| 18:25:09 | <lambdabot> | (Foldable t, Monoid m) => t m -> m |
| 18:25:16 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds) |
| 18:25:30 | <monochrom> | Yeah the normalization looks like fold if the wrapped type is a Foldable. |
| 18:25:47 | × | LKoen_ quits (~LKoen@105.175.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
| 18:25:52 | <monochrom> | Although, to get "Nothing -> 0" you have to jump through the hoop of Sum... |
| 18:26:15 | <geekosaur> | yeh, the problem there being Text is MonoFoldable… |
| 18:26:58 | <monochrom> | fromMaybe is a pretty low-tech one-liner solution for all cases. |
| 18:27:30 | <monochrom> | Don't bring in Day convolution if a simple fromMaybe does the job :) |
| 18:27:41 | → | britva joins (~britva@2a02:aa13:7240:2980:c416:eb6b:963d:a119) |
| 18:28:38 | → | zyklotomic joins (~ethan@unaffiliated/chocopuff) |
| 18:28:45 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 18:29:07 | <zyklotomic> | is it a bad idea to have a dependency on something like microlens? |
| 18:29:42 | <zyklotomic> | I want to use https://hackage.haskell.org/package/microlens for only a very small component just for slightly cleaner code |
| 18:29:51 | <zyklotomic> | are dependencies usually a bad idea |
| 18:29:54 | × | kritzefitz quits (~kritzefit@212.86.56.80) (Ping timeout: 272 seconds) |
| 18:31:23 | <geekosaur> | actually practically everything in the haskell world has dependencies |
| 18:31:57 | <geekosaur> | this is not a "everything but the kitchen sink is in base" ecosystem |
| 18:33:11 | → | benjamin-l joins (~benjamin@2601:1c0:8800:67e0:fa16:54ff:febc:2e61) |
| 18:34:05 | <monochrom> | Pulling in a huge library just to use one single thing from it, and it is a one-liner "foo f g x y z = f x (g y z)", that's a bad idea. |
| 18:34:24 | <monochrom> | Pulling in a huge library because you actually use, say, 60% of it, that's a good idea. |
| 18:34:34 | <monochrom> | In other words, as always, it depends. |
| 18:35:31 | → | m0rphism joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) |
| 18:35:38 | × | juuandyy quits (~juuandyy@90.166.144.65) (Ping timeout: 256 seconds) |
| 18:36:27 | → | Johan63 joins (910e67ae@customer-145-14-103-174.stosn.net) |
| 18:36:39 | <koz_> | Also, not everythign that looks like a dependency truly is. vector or containers, for example, come with GHC. |
| 18:36:50 | × | Johan63 quits (910e67ae@customer-145-14-103-174.stosn.net) (Remote host closed the connection) |
| 18:36:59 | <monochrom> | vector still doesn't. containers does. |
| 18:37:11 | hackage | circular 0.2.0 - Circular fixed-sized mutable vectors https://hackage.haskell.org/package/circular-0.2.0 (dschrempf) |
| 18:37:14 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 18:37:15 | <monochrom> | text did not, but does now, since 8.6 or something |
| 18:37:38 | <koz_> | monochrom: Wait really? Vector _isn't_ a boot library? |
| 18:37:42 | <monochrom> | No. |
| 18:37:45 | <koz_> | TIL. |
| 18:37:54 | <koz_> | Ah, because it's _array_, right? |
| 18:38:04 | <geekosaur> | Array's the bootlib, yes |
| 18:38:11 | hackage | geos 0.4.1 - Bindings for GEOS. https://hackage.haskell.org/package/geos-0.4.1 (petefrance) |
| 18:38:13 | <monochrom> | containers isn't a boot library in the strictest sense either. But someone decided it's good to include. |
| 18:38:50 | <monochrom> | And I am grateful that I don't have to take 20 minutes to rebuild text for every new version of GHC. |
| 18:40:03 | <geekosaur> | wasn't it that it used to be and was never really removed after TH or ghc-lib was reworked to not expose containers? |
| 18:41:02 | <monochrom> | I don't know. But interesting. |
| 18:41:16 | <zyklotomic> | that makes sense, it just feels uncomfortable having dependencies for small things, even somehing like vector |
| 18:41:22 | <monochrom> | I can believe it's more like someone forgot to exclude it, heh. |
| 18:42:12 | <geekosaur> | ot sure it's "forgot" or "too many people just blindly assume it's there now" |
| 18:42:24 | × | joaoh82_ quits (~joaoh82@157-131-134-210.dedicated.static.sonic.net) (Ping timeout: 260 seconds) |
| 18:42:26 | → | christo joins (~chris@81.96.113.213) |
| 18:42:48 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 18:42:59 | <monochrom> | mtl went through several toggles |
| 18:43:59 | <monochrom> | to give you a sense that these things can be observatinally equivalent to politics. |
| 18:44:30 | <monochrom> | Don't look for a technical-merit explanation when a political explanation suffices. |
| 18:44:49 | → | joaoh82 joins (~joaoh82@143.179.113.4) |
| 18:47:01 | × | christo quits (~chris@81.96.113.213) (Ping timeout: 264 seconds) |
| 18:47:43 | × | joaoh82 quits (~joaoh82@143.179.113.4) (Remote host closed the connection) |
| 18:48:16 | → | joaoh82 joins (~joaoh82@157-131-134-210.dedicated.static.sonic.net) |
| 18:49:32 | × | jneira quits (5127ade4@gateway/web/cgi-irc/kiwiirc.com/ip.81.39.173.228) (Quit: Connection closed) |
| 18:49:37 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 18:50:16 | → | contiver joins (~contiver@84-115-64-44.wifi.dynamic.surfer.at) |
| 18:50:40 | hackage | mmsyn7h 0.8.1.0 - Produces a sound recording specified by the Ukrainian text. https://hackage.haskell.org/package/mmsyn7h-0.8.1.0 (OleksandrZhabenko) |
| 18:53:45 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds) |
| 18:57:10 | × | geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds) |
| 18:58:59 | × | matryoshka quits (~matryoshk@184.75.223.227) (Read error: Connection reset by peer) |
| 18:59:02 | → | matryoshka` joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) |
| 18:59:58 | × | mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew) |
| 19:00:00 | × | contiver quits (~contiver@84-115-64-44.wifi.dynamic.surfer.at) (Ping timeout: 256 seconds) |
| 19:00:50 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) |
| 19:00:53 | → | hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net) |
| 19:01:02 | × | alp quits (~alp@2a01:e0a:58b:4920:914d:f2ca:3630:62c6) (Remote host closed the connection) |
| 19:01:31 | → | alp joins (~alp@2a01:e0a:58b:4920:914d:f2ca:3630:62c6) |
| 19:01:31 | <hyperisco> | is there a way to run processes (like createProcess) but work with handles with Text instead of String? |
| 19:02:02 | <merijn> | zyklotomic: Why though? Isn't great that something as incredibly wired in and unchangeable as "arrays" in other languages can simply be implemented as a library? |
| 19:02:07 | × | gxt quits (~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection) |
| 19:02:50 | → | gxt joins (~gxt@gateway/tor-sasl/gxt) |
| 19:02:51 | → | Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk) |
| 19:02:59 | <monochrom> | That goes to what I sometimes explain to students. |
| 19:03:34 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 19:03:36 | <monochrom> | It is a triumph of language design that, for example, cons list can be user-defined in Haskell, and even made as efficient as any "built-in primitive" story. |
| 19:03:59 | × | borne quits (~fritjof@200116b864c92000f60f2508b10af3d6.dip.versatel-1u1.de) (Ping timeout: 244 seconds) |
| 19:04:00 | <tomjaguarpaw> | hyperisco: What do you mean? Do you want functions like hGetLine :: Handle -> IO Text ? |
| 19:04:08 | <hyperisco> | yeah |
| 19:04:34 | <monochrom> | But if everyone did define their own cons lists, inter-operability of two libraries would go out of the Window. It is still a good idea that the standard library provides one version so everyone is on the same page. |
| 19:04:38 | <tomjaguarpaw> | hyperisco: https://www.stackage.org/lts-13.21/hoogle?q=Handle%20-%3E%20IO%20Text |
| 19:04:43 | <tomjaguarpaw> | Those? |
| 19:04:50 | × | berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds) |
| 19:04:57 | <hyperisco> | duuno, it isn't loaded |
| 19:05:10 | <tomjaguarpaw> | Stackage can be pretty slow ... |
| 19:05:18 | <hyperisco> | there it goes, yes, thanks |
| 19:05:26 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Ping timeout: 264 seconds) |
| 19:05:38 | <tomjaguarpaw> | You're welcome |
| 19:06:12 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) |
| 19:06:19 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 19:06:33 | → | juuandyy joins (~juuandyy@90.166.144.65) |
| 19:06:53 | <monochrom> | Actually cons list is not even the most convincing example. |
| 19:06:54 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 19:07:02 | <monochrom> | Here is the most convincing example: Booleans. |
| 19:08:22 | <monochrom> | Booleans can be user-defined in Haskell. Hackage could be full of user-defined third-party boolean libraries. |
| 19:08:41 | hackage | haskoin-store 0.38.4 - Storage and index for Bitcoin and Bitcoin Cash https://hackage.haskell.org/package/haskoin-store-0.38.4 (jprupp) |
| 19:09:31 | <monochrom> | This is a triumph of core language design. But if we really allowed proliferation of third-party booleans on hackage just because "isn't it cool that GHC is decoupled from booleans?", well that actually is far from cool. |
| 19:09:40 | hackage | r-glpk-phonetic-languages-ukrainian-durations 0.2.2.0 - Can be used to calculate the durations of the approximations of the Ukrainian phonemes. https://hackage.haskell.org/package/r-glpk-phonetic-languages-ukrainian-durations-0.2.2.0 (OleksandrZhabenko) |
| 19:12:29 | <hyperisco> | hm I guess there is this too which is a little annoying https://hackage.haskell.org/package/process-1.6.10.0/docs/System-Process.html#v:proc |
| 19:13:50 | × | boxscape quits (54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) (Ping timeout: 256 seconds) |
| 19:13:50 | × | chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 19:14:08 | → | chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 19:15:11 | × | miguel_clean quits (~Miguel@89-72-187-203.dynamic.chello.pl) (Read error: Connection reset by peer) |
| 19:15:17 | <tomjaguarpaw> | hyperisco: You mean that it takes Strings rather than Texts? |
| 19:15:22 | <hyperisco> | yes |
| 19:15:44 | <tomjaguarpaw> | Yeah, I don't know any API that uses Text for createProcess. Perhaps one exists. |
| 19:18:06 | → | geekosaur joins (82659a09@host154-009.vpn.uakron.edu) |
| 19:19:50 | × | joaoh82 quits (~joaoh82@157-131-134-210.dedicated.static.sonic.net) (Ping timeout: 256 seconds) |
| 19:20:01 | × | xcmw quits (~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 19:22:28 | → | Lord_of_Life joins (~Lord@46.217.221.243) |
| 19:22:28 | × | Lord_of_Life quits (~Lord@46.217.221.243) (Changing host) |
| 19:22:28 | → | Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 19:23:30 | → | howdoi joins (uid224@gateway/web/irccloud.com/x-oyiccouvdvnehmhe) |
| 19:23:43 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Ping timeout: 246 seconds) |
| 19:25:47 | → | nkatte joins (~nkatte@2804:14c:7982:10c9:4e1d:96ff:fe53:98e1) |
| 19:25:56 | × | nkatte quits (~nkatte@2804:14c:7982:10c9:4e1d:96ff:fe53:98e1) (Read error: Connection reset by peer) |
| 19:26:14 | → | nkatte joins (~nkatte@2804:14c:7982:10c9:4e1d:96ff:fe53:98e1) |
| 19:28:27 | → | xcmw joins (~textual@cpe-69-133-55-43.cinci.res.rr.com) |
| 19:28:48 | → | DavidEichmann joins (~david@62.110.198.146.dyn.plus.net) |
| 19:31:58 | × | nkatte quits (~nkatte@2804:14c:7982:10c9:4e1d:96ff:fe53:98e1) (Quit: nkatte) |
| 19:32:18 | → | nkatte joins (~nkatte@2804:14c:7982:10c9:4e1d:96ff:fe53:98e1) |
| 19:32:22 | × | _deepfire quits (~user@80.92.100.69) (Remote host closed the connection) |
| 19:34:55 | → | joaoh82 joins (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) |
| 19:36:34 | × | justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Read error: Connection reset by peer) |
| 19:36:54 | × | juuandyy quits (~juuandyy@90.166.144.65) (Ping timeout: 256 seconds) |
| 19:37:13 | → | justsomeguy joins (~justsomeg@216.186.218.241) |
| 19:37:13 | × | justsomeguy quits (~justsomeg@216.186.218.241) (Changing host) |
| 19:37:13 | → | justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311) |
| 19:37:41 | hackage | mail-pool 2.2.2 - Preconfigured email connection pool on top of smtp. https://hackage.haskell.org/package/mail-pool-2.2.2 (Jappie) |
| 19:37:59 | × | nkatte quits (~nkatte@2804:14c:7982:10c9:4e1d:96ff:fe53:98e1) (Quit: nkatte) |
| 19:40:06 | × | cosimone quits (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone) |
| 19:47:18 | → | dyniec[m] joins (dyniecmatr@gateway/shell/matrix.org/x-wodmmdskrlskbezg) |
| 19:48:30 | × | kuribas quits (~user@ptr-25vy0i8gptzu7g9n288.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
| 19:49:32 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 256 seconds) |
| 19:51:53 | × | seveg quits (~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) (Quit: WeeChat 3.0) |
| 19:53:03 | × | justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Read error: Connection reset by peer) |
| 19:53:35 | → | justsomeguy joins (~justsomeg@216.186.218.241) |
| 19:53:35 | × | justsomeguy quits (~justsomeg@216.186.218.241) (Changing host) |
| 19:53:35 | → | justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311) |
| 19:56:25 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Read error: Connection reset by peer) |
| 19:56:49 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 19:58:40 | → | christo joins (~chris@81.96.113.213) |
| 19:59:10 | <hyperisco> | any reason you can think stack is suddenly taking over a minute to link a small program |
| 19:59:46 | × | zyklotomic quits (~ethan@unaffiliated/chocopuff) (Ping timeout: 246 seconds) |
| 19:59:52 | × | joaj quits (~joaj@2001:690:2100:1b:a36f:f7ab:d46c:98f0) (Quit: WeeChat 2.9) |
| 20:00:42 | → | Zetagon joins (~leo@c151-177-52-233.bredband.comhem.se) |
| 20:00:58 | → | danza_ joins (~francesco@151.53.73.59) |
| 20:01:28 | <monochrom> | bad sector |
| 20:02:34 | <hyperisco> | man I have enough spurious problems don't be saying that |
| 20:03:10 | × | danza__ quits (~francesco@151.53.83.218) (Ping timeout: 260 seconds) |
| 20:03:13 | × | christo quits (~chris@81.96.113.213) (Ping timeout: 264 seconds) |
| 20:03:24 | × | justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) () |
| 20:05:05 | × | jespada quits (~jespada@90.254.245.49) (Ping timeout: 240 seconds) |
| 20:05:47 | × | britva quits (~britva@2a02:aa13:7240:2980:c416:eb6b:963d:a119) (Quit: This computer has gone to sleep) |
| 20:06:04 | → | britva joins (~britva@2a02:aa13:7240:2980:c416:eb6b:963d:a119) |
| 20:07:22 | → | jespada joins (~jespada@90.254.245.49) |
| 20:07:41 | hackage | chessIO 0.5.0.0 - Basic chess library https://hackage.haskell.org/package/chessIO-0.5.0.0 (mlang) |
| 20:08:19 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 20:15:36 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 256 seconds) |
| 20:15:42 | hackage | mail-pool 2.2.3 - Preconfigured email connection pool on top of smtp. https://hackage.haskell.org/package/mail-pool-2.2.3 (Jappie) |
| 20:17:18 | × | britva quits (~britva@2a02:aa13:7240:2980:c416:eb6b:963d:a119) (Quit: This computer has gone to sleep) |
| 20:23:12 | → | cosimone joins (~cosimone@93-47-228-249.ip115.fastwebnet.it) |
| 20:23:12 | × | chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 20:23:22 | → | chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 20:23:45 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 20:24:09 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 20:24:25 | <dminuoso> | 19:27:29 monochrom | Don't bring in Day convolution if a simple fromMaybe does the job :) |
| 20:24:31 | <dminuoso> | Hold on, I can use Day convolution here? |
| 20:24:32 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
| 20:24:46 | <geekosaur> | heh |
| 20:25:04 | <monochrom> | No, I'm just tossing out Day convolution blindly as a stereotypical example of advanced math. |
| 20:25:27 | <monochrom> | Like, "adjunction" is no longer intimidating. |
| 20:27:16 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 20:27:25 | × | joaoh82 quits (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Ping timeout: 246 seconds) |
| 20:27:38 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 20:28:05 | → | knupfer joins (~Thunderbi@200116b82cc3670094f77ab4f8d612cb.dip.versatel-1u1.de) |
| 20:28:49 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds) |
| 20:30:49 | → | joaoh82 joins (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) |
| 20:31:41 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 20:33:42 | × | sunweaver1 quits (~sunweaver@185.163.110.125) (Remote host closed the connection) |
| 20:36:46 | → | christo joins (~chris@81.96.113.213) |
| 20:36:47 | × | nf quits (~n@monade.li) (Quit: Fairfarren.) |
| 20:37:12 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
| 20:37:28 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 20:37:51 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 20:38:01 | <dolio> | You mean, basic math that people are scared of. Not advanced math. |
| 20:38:18 | × | AlterEgo__ quits (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving) |
| 20:41:59 | → | nf joins (~n@monade.li) |
| 20:43:13 | × | kosmikus quits (~kosmikus@nullzig.kosmikus.org) (Ping timeout: 256 seconds) |
| 20:43:29 | → | kosmikus joins (~kosmikus@haskell/developer/kosmikus) |
| 20:43:40 | → | Feuermagier joins (~Feuermagi@213.178.26.41) |
| 20:45:23 | × | Nahra quits (~Nahra@unaffiliated/nahra) (Quit: leaving) |
| 20:48:56 | <monochrom> | Yeah OK! |
| 20:49:05 | → | Deide joins (~Deide@217.155.19.23) |
| 20:49:31 | × | nf quits (~n@monade.li) (Quit: Fairfarren.) |
| 20:51:13 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 20:51:37 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 20:52:46 | × | Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 256 seconds) |
| 20:53:02 | × | Libertinus quits (58c19c04@dsl-trebng21-58c19c-4.dhcp.inet.fi) (Remote host closed the connection) |
| 20:54:16 | → | lambda joins (~xiretza@mail.xiretza.xyz) |
| 20:56:16 | → | zyklotomic joins (~ethan@210.13.104.210) |
| 20:56:21 | → | philopsos joins (~caecilius@gateway/tor-sasl/caecilius) |
| 20:56:22 | × | xcmw quits (~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 20:57:08 | → | xcmw joins (~textual@cpe-69-133-55-43.cinci.res.rr.com) |
| 20:57:16 | <sclv> | if i want the first Just from a list of Maybes (or Nothing) then `listToMaybe . catMaybes` does the trick |
| 20:57:34 | <sclv> | I don't recall if there's something slicker, codegolfwise |
| 20:57:39 | <sclv> | using the First monoid is more verbose |
| 20:57:54 | <sclv> | maybe like an alternative concat or something? |
| 20:58:15 | <jle`> | > asum [Nothing, Just 3, Just 4, Nothing, Just 5] |
| 20:58:17 | <lambdabot> | Just 3 |
| 20:58:28 | <jle`> | not that it's any more readable |
| 20:58:57 | <geekosaur> | they're doing code golf, readable isn't a constraint |
| 20:59:12 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 20:59:37 | <ephemient> | :t join . find isJust -- was my first thought, but `asum` probably can't be beat |
| 20:59:39 | <lambdabot> | Foldable t => t (Maybe a) -> Maybe a |
| 21:00:01 | <dminuoso> | Maybe monochrom knows how to use Day here? .. |
| 21:00:04 | dminuoso | smiles |
| 21:00:05 | × | Jesin quits (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving) |
| 21:00:12 | geekosaur | was poking asum but jle` beat him to it |
| 21:00:16 | → | nf joins (~n@monade.li) |
| 21:00:23 | <oats> | stupid idea of the day: rename 'Just' to 'A' |
| 21:00:24 | × | joaoh82 quits (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) (Remote host closed the connection) |
| 21:00:28 | <dsal> | asum is a good thing to know. I've also used it for more effectful stuff like "which of these works?" |
| 21:00:33 | <oats> | [Nothing, A 3, A 4, Nothing, A 5] |
| 21:00:52 | <pjb> | s/Nothing/A_Nothing/g |
| 21:00:54 | <jle`> | Nothing = NotA |
| 21:01:01 | → | joaoh82 joins (~joaoh82@157-131-134-210.dedicated.static.sonic.net) |
| 21:01:12 | <dminuoso> | If you're going to break hackage, at least break it properly and just flip Nothing and Just. |
| 21:01:13 | <jle`> | or maybe Nada |
| 21:01:25 | <dminuoso> | [Just, Nothing 3, Nothing 4, Just, Nothing 5] |
| 21:01:30 | <dsal> | Just and Unjust |
| 21:01:32 | <oats> | lol |
| 21:01:42 | <monochrom> | Since an infinite list is involved, I would take a co-limit in an O-category... >:) |
| 21:02:12 | <dminuoso> | jle`: Think we should revive the idea we floated around 2-3 years ago, or what Haskell would be if Germany had won the war. |
| 21:02:28 | <monochrom> | Yikes. |
| 21:02:42 | <jle`> | i literally have no recollection of this conversation D: |
| 21:02:51 | <monochrom> | Iron Sky Haskell? |
| 21:02:52 | <lambda> | hi, looking for a point-free version of `[0,x..]`, something like `multiplesOf`, but I can't find anything - does a function for this exist in base? |
| 21:03:14 | × | graf_blutwurst quits (~user@2001:171b:226e:adc0:416e:f9ed:b426:e09e) (Remote host closed the connection) |
| 21:03:15 | <merijn> | lambda: enumFromThen ? :p |
| 21:03:18 | × | coot quits (~coot@37.30.53.191.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 21:03:18 | <merijn> | :t enumFromThen |
| 21:03:20 | <lambdabot> | Enum a => a -> a -> [a] |
| 21:03:25 | → | shf joins (~sheaf@2a01:cb19:80cc:7e00:d9e0:5dd0:4ff3:cac9) |
| 21:03:25 | <dminuoso> | The language would be called Schönfinkel (I know it's not German, but it it sounds Germany so its too good to pass up on) |
| 21:03:26 | <oats> | [Nichts, Ein 3, Ein 4, Nichts...] |
| 21:03:27 | <merijn> | > enumFromThen 0 3 |
| 21:03:30 | <lambdabot> | [0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69,72,75,7... |
| 21:03:43 | <dminuoso> | And currying would be schönfinkeln... |
| 21:03:50 | <oats> | well, s/Ein/Nur |
| 21:03:51 | <merijn> | lambda: the [..] syntax is just syntactic sugar for various Enum operations |
| 21:04:01 | <dminuoso> | oats: Dont translate literallz |
| 21:04:07 | <dminuoso> | Nichts and Ein sound perfect. |
| 21:04:07 | <lambda> | merijn: oh, yep, totally missed that - I only saw enumFrom |
| 21:04:08 | <oats> | yassss |
| 21:05:15 | <dminuoso> | instanz Anwendbar Vielleicht wobei abbilden f Nichts = Nichts; abbilden f (Nur x) = Nur (f x) |
| 21:05:17 | <dminuoso> | It's perfect |
| 21:05:55 | <sclv> | thanks for asum, hoogle took me there too |
| 21:05:56 | <oats> | lololol |
| 21:06:34 | <oats> | what would monads be called? |
| 21:06:42 | <oats> | monad, rather |
| 21:07:50 | <dminuoso> | Well, Monade or Monas have greek stems |
| 21:08:21 | <oats> | how about "Abflachungzeug" :P |
| 21:08:22 | <dminuoso> | Depending on how Hitler would have designed the Münchener Schönfinkel Kompilierer, that might have been permissable |
| 21:08:54 | → | conal joins (~conal@64.71.133.70) |
| 21:09:07 | <oats> | MSK lol, I love it |
| 21:09:44 | <zyklotomic> | is it possible to have the update record syntax refer to its respective parameter? |
| 21:10:01 | <dminuoso> | zyklotomic: Not currently |
| 21:10:12 | <dminuoso> | IIRC there is a proposal in progress to address this. |
| 21:10:35 | <zyklotomic> | like data Pog = Pog { a :: Int, b :: Int } --> p = Pog 5 7; p = Pog { a = a + 1 } right? |
| 21:10:53 | <zyklotomic> | just in case I didn't describe it clearly enough |
| 21:11:03 | → | jneira joins (5127ade4@gateway/web/cgi-irc/kiwiirc.com/ip.81.39.173.228) |
| 21:11:06 | <jle`> | yeah, there's no syntax at the moment |
| 21:11:16 | × | alx741 quits (~alx741@186.178.110.235) (Quit: alx741) |
| 21:11:26 | <jle`> | but there are some lightweight lensy solutions for it |
| 21:11:33 | <zyklotomic> | % right |
| 21:11:34 | <yahb> | zyklotomic: ; <interactive>:33:1: error:; * No instance for (Show (a0 b0 c0 -> a0 (Either d0 b0) (Either d0 c0))) arising from a use of `print'; (maybe you haven't applied a function to enough arguments?); * In a stmt of an interactive GHCi command: print it |
| 21:11:36 | <merijn> | RecordWildCards can do it |
| 21:11:46 | <jle`> | oh yea, but only one at a time |
| 21:11:50 | <dminuoso> | Mmm, no. RecordDotSyntax doesnt quite do it. |
| 21:11:54 | → | unlink2 joins (~unlink2@p200300ebcf259600971664e9499d7db7.dip0.t-ipconnect.de) |
| 21:11:57 | <dminuoso> | zyklotomic: The best we have currently is what lens/optics offers us. |
| 21:12:07 | <merijn> | "f p@Pog{..} = p{ a = a + 1}" |
| 21:12:18 | <merijn> | jle`: What? No, that should work for any number of fields |
| 21:12:19 | <dminuoso> | Yeah. RecordWildCards at its worst. |
| 21:12:34 | <dminuoso> | It's unhygeniec. |
| 21:12:41 | → | Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
| 21:13:10 | <zyklotomic> | so a naive question at that, hope you don't mind, but would it make sense to make this standard/official syntax, the lensy behavior |
| 21:13:17 | <merijn> | dminuoso: I wasn't asked for a *good* solution, just *a* solutions |
| 21:13:34 | <dminuoso> | zyklotomic: So roughly if you had a field _foo with an appropriate lens foo |
| 21:13:34 | × | chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 21:13:41 | <merijn> | zyklotomic: Theoretically? Maybe |
| 21:13:44 | × | unlink__ quits (~unlink2@p200300ebcf179a00278fd81c0246cc89.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 21:13:49 | <jle`> | merijn: ah, like, myFunc Pog{..} Pog{..} = ... |
| 21:13:55 | <geekosaur> | zyklotomic, if you hadn't noticed, there's still a fair amount of argument over what the right approach is |
| 21:13:59 | <merijn> | zyklotomic: Realistically: It's not happening anytime soon :p |
| 21:14:06 | <dminuoso> | zyklotomic: oh hold on. No, because its not just syntax. |
| 21:14:19 | → | chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 21:14:21 | <ephemient> | `{-# LANGUAGE NamedFieldPuns #-} f p@Pog {a} = p {a = a + 1}` less unhygenic? |
| 21:14:31 | <merijn> | zyklotomic: Basically: "Would it make sense for new languages to be designed with lenses for the fields?" 'definitely' |
| 21:14:32 | <zyklotomic> | because they are technically functions? |
| 21:14:50 | <merijn> | zyklotomic: "Is it a good idea to *retroactively* change this?" 'probably not' |
| 21:14:54 | <dminuoso> | zyklotomic: The novelty of optics/lenses is that we get to have a non-syntactical but first-class way of splitting data into whats in focus and whats not. |
| 21:14:55 | <zyklotomic> | i'm a beginner so a lot of this context is lost on me |
| 21:15:06 | <geekosaur> | meanwhile many people use lens to do it, but lens is large and you have to derive lenses for your records |
| 21:15:08 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Remote host closed the connection) |
| 21:15:18 | <dminuoso> | zyklotomic: Note the *non-syntactical* part here. |
| 21:15:38 | <zyklotomic> | dminuoso: yes or maybe I should rephrase it, making it more "standard"? |
| 21:15:56 | <dminuoso> | zyklotomic: Well the rough interface of lens has become de-facto standard in Haskell. |
| 21:15:59 | <zyklotomic> | like you have to use the very large lenses library |
| 21:15:59 | → | seveg joins (~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) |
| 21:16:04 | <zyklotomic> | ah I see |
| 21:16:05 | <dminuoso> | Even the newer library `optics` matches it closely |
| 21:16:22 | <dminuoso> | zyklotomic: You can use microlenses or optics-core if you want a more lightweight approach |
| 21:16:28 | × | jollygood2 quits (~bc8165ab@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout)) |
| 21:16:46 | <zyklotomic> | i think a struggle i have had is that "de facto" is very obscure |
| 21:16:48 | × | seveg quits (~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) (Client Quit) |
| 21:16:50 | <zyklotomic> | *or finding out what is de facto |
| 21:16:57 | <jle`> | with library support you could do something like `over #a (+ 3) p`. not quite syntax, just library built on top of the language (if you derive a Generic instance for Pog) |
| 21:17:03 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 21:17:33 | <zyklotomic> | dminuoso: yup, I asked a question earlier about microlenses but it felt wrong pulling in a dependecy just to modify a data type |
| 21:17:48 | → | alx741 joins (~alx741@186.178.110.235) |
| 21:17:53 | <dminuoso> | Right. For a single use site I wouldn't consider it. |
| 21:18:11 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 21:18:25 | <zyklotomic> | jle`: yeah, I realize it isn't necessarily syntax per se, I meant like part of the "core"? I really don't know what to call it |
| 21:18:37 | <zyklotomic> | kinda lke how Monads aren't part of the language, they're defined in terms of the language right? |
| 21:18:50 | <dminuoso> | Well, its both |
| 21:18:59 | <sclv> | well Monads are part of the language, because "do notation" is baked into the spec |
| 21:19:10 | <jle`> | yeah heh, it's a little bit of both, but i see the point you're trying to make |
| 21:19:16 | <dminuoso> | The typeclass Monad is defined in the Haskell report, but the typeclass is just a plain haskell typeclass you could have written yourself |
| 21:19:19 | <sclv> | you could define the language without Monads and define them independently and you'd have everything but the donation |
| 21:19:22 | <sclv> | er the notation |
| 21:19:34 | <jle`> | you're getting a donation? |
| 21:19:36 | × | nf quits (~n@monade.li) (Quit: Fairfarren.) |
| 21:19:46 | → | nf joins (~n@monade.li) |
| 21:19:51 | <zyklotomic> | yeah, I think the issue I have is like decoupling which part is which? what is GHC, what is Prelude, what is a seperate package, etc. |
| 21:19:52 | <dminuoso> | or denotion? |
| 21:20:01 | <sclv> | wow there's dyslexia and there's swapping in a whole word lol |
| 21:20:10 | <dminuoso> | zyklotomic: Oh yeah, that GHC part is brought up regularly in various places |
| 21:20:17 | <dminuoso> | Some argue that GHC shouldnt come in base.. |
| 21:20:26 | <sclv> | Haskell the language is the Report. Then GHC has a bunch of stuff on top |
| 21:20:32 | <sclv> | Prelude is in the report |
| 21:20:38 | <dminuoso> | (By GHC I mean the module hierarchy of GHC.xxx) |
| 21:20:52 | <sclv> | but even in the report there's the "heart" of haskell and then there's the defined libs and functions |
| 21:21:01 | <sclv> | layers of onion |
| 21:21:05 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds) |
| 21:21:34 | <dminuoso> | zyklotomic: I guess this "field update notation" isn't as important in the realm of Haskell, perhaps because of how Haskellers tend to write code it might not see as much use. |
| 21:21:35 | <jle`> | zyklotomic: there's the base "package" (i use package interchangeably with 'library' here) that's included with ghc, and there is are a few libraries that are used in ghc's source code ('boot packages') which are somewhat considered to be standard/reliable to depend on |
| 21:21:42 | <jle`> | but there's a bit of a nebulous cloud outside of that |
| 21:22:00 | <dminuoso> | There's the odd case where I might want it, but I dont think it'd justify a modification to syntax. |
| 21:22:14 | <jle`> | there is some movement for "built-in lenses" to be built within the language, with a special magic typeclass, i think |
| 21:22:17 | → | seveg joins (~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) |
| 21:22:27 | × | seveg quits (~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) (Client Quit) |
| 21:22:27 | <dminuoso> | jle`: you mean OverloadedLabels? |
| 21:22:35 | <zyklotomic> | dminuoso: could you elaborate on the how Haskellers tend to write code part, curious |
| 21:22:35 | <dminuoso> | Or even more magical? |
| 21:22:46 | <jle`> | OverloadedLabels is already here, it supports `over #a (+ 3) p` above |
| 21:23:06 | <jle`> | dminuoso: i'm tlaking about like HasField |
| 21:23:09 | <dminuoso> | zyklotomic: I cant put my finger quite on it, but in the past 3 years I can count the occurences of "relative field updates" on a single hand. |
| 21:23:18 | <dminuoso> | For my own code. |
| 21:23:31 | <dminuoso> | All were done with optics because the library was already in the code anyway |
| 21:24:06 | <koz_> | I don't quite understand how this note applies to StateT for MonadLogic: http://hackage.haskell.org/package/logict-0.7.0.3/docs/src/Control.Monad.Logic.Class.html#line-121 |
| 21:24:19 | <jle`> | dminuoso: we're one step away from it, for https://hackage.haskell.org/package/base-4.14.0.0/docs/GHC-Records.html |
| 21:24:30 | <koz_> | Does that mean that even though you stack StateT s Logic a, the state won't split when the computation does? |
| 21:24:32 | <dminuoso> | jle`: ah |
| 21:24:50 | <zyklotomic> | dminuoso: maybe this whole thing is a code smell, I'm doing something with a buffer inside State, and i'm basically pushing on and popping off that buffer |
| 21:24:53 | <jle`> | but still i think without deeper support for lens within the language, just "having the lens" isn't really good enough |
| 21:25:04 | <koz_> | I would assume the state _would_ split, as StateT s Logic a ~ s -> Logic (a, s) |
| 21:25:09 | <zyklotomic> | hence why this idea/want came to my mind |
| 21:25:21 | <dminuoso> | zyklotomic: Im not saying it never happens. If you want you can show your code, but it's not unreasonable to ask for it. |
| 21:25:43 | <dminuoso> | More specifically, Im not saying it's a code smell, just that it doesn't happen too often in idiomatic haskell. |
| 21:25:46 | <koz_> | More precisely - I _want_ each 'solution' to have its own pet state. |
| 21:25:48 | <jle`> | and yeah, i am not even claiming that deeper support for lens within the language is a good idea |
| 21:25:50 | → | nil joins (~n@monade.li) |
| 21:25:58 | <zyklotomic> | dminuoso: ah thanks for the offer I see |
| 21:26:23 | × | nil quits (~n@monade.li) (Client Quit) |
| 21:26:25 | <jle`> | but i do think optics is the nicest user-friendly lens interface i've seen so far |
| 21:26:30 | <dminuoso> | Indeed. :) |
| 21:26:47 | <dminuoso> | It wasnt until optics was released, and I had a long talk with Adam, that I started using it. |
| 21:26:50 | <dminuoso> | Haven't looked back ever since |
| 21:27:07 | <dminuoso> | lens was too intimidating with illegible errors |
| 21:27:12 | → | borne joins (~fritjof@200116b864c92000f60f2508b10af3d6.dip.versatel-1u1.de) |
| 21:27:17 | × | SupaYoshii quits (~supayoshi@213-10-140-13.fixed.kpn.net) (Quit: Goodbye!) |
| 21:27:41 | <jle`> | lens has an important role in exploring the concepts loose and fast, maybe. i don't think one could have jumped straight to an optics interface |
| 21:27:42 | → | seveg joins (~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) |
| 21:27:52 | <jle`> | but maybe the same thing could be said of haskell and the rest of the PL ecosystem |
| 21:27:56 | <dminuoso> | Also what's nice about optics-core is that it has a light dependency footprint and *still* gives you Prism and Iso. |
| 21:28:20 | × | danza_ quits (~francesco@151.53.73.59) (Quit: Leaving) |
| 21:28:56 | <zyklotomic> | dminuoso: in fact, uhh it's python https://github.com/fxsjy/jieba/blob/67fa2e36e72f69d9134b8a1037b83fbb070b9775/jieba/__init__.py#L249 |
| 21:29:42 | <zyklotomic> | so i'm basically trying to recreate this algorithm in haskell |
| 21:29:44 | <dminuoso> | I see. |
| 21:29:51 | <zyklotomic> | the __cut_DAG function was where I employed State and a buffer, or am I going about it the wrong way |
| 21:30:09 | <zyklotomic> | and as you can see, there's that pushing and popping off the buffer behavior |
| 21:30:56 | <dminuoso> | It's hard to say on the spot. Generally, mapping algorithms directly into Haskell is ont ideal |
| 21:31:30 | → | SupaYoshi joins (~supayoshi@213-10-140-13.fixed.kpn.net) |
| 21:31:48 | <dolio> | I think the main thing would be that I wouldn't springle direct record munging all over my code, generally. |
| 21:31:53 | → | __monty__ joins (~toonn@unaffiliated/toonn) |
| 21:32:17 | <dolio> | There might be some key manipulations to factor out and then refer to elsewhere. |
| 21:32:19 | <zyklotomic> | yeah, but for this one specifically, I guess I struggled to find any easier way to have this kind of logic i guess |
| 21:33:29 | <koz_> | As a random aside, I am disappointed that it's not called 'These1s'. :P |
| 21:33:46 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 21:35:05 | <dminuoso> | zyklotomic: Can you roughly describe what this does? |
| 21:35:56 | × | macrover quits (~macrover@ip68-108-126-211.lv.lv.cox.net) (Ping timeout: 240 seconds) |
| 21:36:10 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 21:36:24 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds) |
| 21:36:56 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 240 seconds) |
| 21:37:50 | <zyklotomic> | dminuoso: yeah sure, it is a word segmentation algorithm, algorith wise, it has a split string such as "abcdefg" -> ["a", "bc", "def", "g"], and the part that I shared is checking if the list |
| 21:37:53 | × | Blkt quits (~Blkt@2a01:4f8:200:2425::adda) (Ping timeout: 272 seconds) |
| 21:37:59 | <zyklotomic> | ["a", "bc", "def", "g"] can be split any further |
| 21:38:21 | <zyklotomic> | the imperative python code you see loops through each of these split segments, if the segment is of length 1, it pushes it onto buffer |
| 21:38:31 | <dminuoso> | Presumably this has to do with Chinese linguistics? |
| 21:38:33 | <zyklotomic> | if it is not length 1, check if the buffer is empty, if not, split |
| 21:38:35 | <zyklotomic> | yup lol |
| 21:39:05 | <zyklotomic> | and so on, if that makes sense |
| 21:39:21 | × | Zetagon quits (~leo@c151-177-52-233.bredband.comhem.se) (Remote host closed the connection) |
| 21:39:22 | <dminuoso> | So that sounds like a very simple task for Conduit |
| 21:39:26 | × | urek quits (~urek@2804:7f1:e10a:9644:81a3:232e:2e84:9c43) (Ping timeout: 246 seconds) |
| 21:39:28 | × | jespada quits (~jespada@90.254.245.49) (Ping timeout: 256 seconds) |
| 21:40:03 | <dminuoso> | Or I guess you could do this directly on a list |
| 21:40:19 | <dminuoso> | in which case such a "buffer" would just be a function argument, wouldnt even bother with StateT here |
| 21:40:21 | <zyklotomic> | I've no experience with Conduit lol |
| 21:40:36 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 256 seconds) |
| 21:40:47 | → | Blkt joins (~Blkt@2a01:4f8:200:2425::adda) |
| 21:41:03 | → | catchme joins (uid355354@gateway/web/irccloud.com/x-tmcodhvuaxunpqgn) |
| 21:41:09 | <zyklotomic> | I think it was because it felt a lot more complex to make it completely functional when I first started trying to write it |
| 21:41:26 | <zyklotomic> | could you give a dumb downed reason how Conduit would work |
| 21:41:45 | <dminuoso> | Let me make up a similar problem and show you how it could be solved |
| 21:42:14 | → | jespada joins (~jespada@90.254.245.49) |
| 21:42:22 | × | geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection) |
| 21:42:28 | → | Boomerang joins (~Boomerang@xd520f68c.cust.hiper.dk) |
| 21:42:45 | → | joaoh82_ joins (~joaoh82@ip-213-127-88-241.ip.prioritytelecom.net) |
| 21:44:03 | × | dhouthoo quits (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.9) |
| 21:45:14 | ← | pokid parts (~pokid@unaffiliated/pokid) () |
| 21:45:24 | × | xcmw quits (~textual@cpe-69-133-55-43.cinci.res.rr.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 21:45:43 | × | seveg quits (~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) (Quit: WeeChat 3.0) |
| 21:46:33 | × | joaoh82 quits (~joaoh82@157-131-134-210.dedicated.static.sonic.net) (Ping timeout: 265 seconds) |
| 21:47:17 | → | seveg joins (~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) |
| 21:47:29 | × | nf quits (~n@monade.li) (Quit: Fairfarren.) |
| 21:47:39 | → | nf joins (~n@monade.li) |
| 21:49:55 | × | danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds) |
| 21:50:30 | × | nf quits (~n@monade.li) (Client Quit) |
| 21:50:43 | → | nf joins (~n@monade.li) |
| 21:51:24 | × | seveg quits (~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) (Client Quit) |
| 21:52:20 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 21:52:28 | → | seveg joins (~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) |
| 21:52:33 | × | nf quits (~n@monade.li) (Client Quit) |
| 21:53:34 | → | conal joins (~conal@64.71.133.70) |
| 21:53:50 | × | seveg quits (~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) (Client Quit) |
| 21:53:54 | → | xcmw joins (~textual@cpe-69-133-55-43.cinci.res.rr.com) |
| 21:53:58 | × | conal quits (~conal@64.71.133.70) (Client Quit) |
| 21:54:12 | × | AndreasK quits (uid320732@gateway/web/irccloud.com/x-ylkxsbmenduzxmys) (Quit: Connection closed for inactivity) |
| 21:54:55 | → | nf joins (~n@monade.li) |
| 21:55:07 | → | seveg joins (~gabriel@2a02-ab04-0249-8d00-3603-db93-c217-257c.dynamic.v6.chello.sk) |
| 21:56:27 | → | davidfg41 joins (~davidfg4@185.204.1.185) |
| 21:57:08 | × | xcmw quits (~textual@cpe-69-133-55-43.cinci.res.rr.com) (Client Quit) |
| 21:57:26 | <zyklotomic> | dminuoso: i really appreciate it, but i gotta go, i'll most certainly pop back in if you do create that example |
| 21:58:05 | × | Techcable quits (znc@irc.techcable.net) (Quit: ZNC - http://znc.in) |
| 21:58:57 | → | Techcable joins (znc@irc.techcable.net) |
| 21:59:42 | × | Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 2.9) |
| 22:02:01 | × | zyklotomic quits (~ethan@210.13.104.210) (Ping timeout: 265 seconds) |
| 22:04:11 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 22:06:34 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) |
| 22:10:25 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 22:14:13 | → | urek joins (~urek@2804:7f1:e10a:9644:81a3:232e:2e84:9c43) |
| 22:14:22 | × | hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 256 seconds) |
| 22:17:26 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Remote host closed the connection) |
| 22:19:28 | × | thc202 quits (~thc202@unaffiliated/thc202) (Quit: thc202) |
| 22:22:48 | <ezzieyguywuf> | I tried to reproduce this on a smaller program but was unable to do so. Currently, the output shown in the comment above `main` is what I get, but I can't understand why the prompt is being printed AFTER I hit enter. https://dpaste.com/2QFM9VS94 |
| 22:22:55 | <ezzieyguywuf> | the relevant function in `promptMatch` |
| 22:24:49 | × | sagax quits (~sagax_nb@213.138.71.146) (Remote host closed the connection) |
| 22:25:06 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 22:25:21 | → | isovector1 joins (~isovector@172.103.216.166.cable.tpia.cipherkey.com) |
| 22:25:21 | <ezzieyguywuf> | hrm, turns out that changing to TextIO.putStrLn fixes it, but again I was unable to reproduce this on a smaller scale |
| 22:25:24 | <ezzieyguywuf> | weird |
| 22:25:26 | × | knupfer quits (~Thunderbi@200116b82cc3670094f77ab4f8d612cb.dip.versatel-1u1.de) (Remote host closed the connection) |
| 22:25:30 | <iqubic> | jle`: How does OverloadedLabels work with Lens again? Like how do you set that up? |
| 22:25:30 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 22:25:34 | → | knupfer joins (~Thunderbi@200116b82cc36700fd01663be2310e7a.dip.versatel-1u1.de) |
| 22:25:48 | <isovector1> | jle`: just read your post on shuffling groups and it was the most clarifying thing i've ever seen on groups. thanks!! |
| 22:25:50 | <iqubic> | I can I get that to automatically generate lenses for my custom data? |
| 22:25:55 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 22:26:00 | <ezzieyguywuf> | this was my attempt to reproduce https://dpaste.com/CHPNWYGL4 |
| 22:26:23 | <exarkun> | irc-conduit wants a ConduitT with (Either ... IrcMessage) as its output type. What if I have an input to my pipeline for which I want to generate more than one IrcMessage? |
| 22:26:32 | <isovector1> | jle`: how come you're not on planet haskell? |
| 22:26:35 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) |
| 22:27:36 | <isovector1> | jle`: oh it looks like your rss feed is broken. most recent post i'm seeing is from 2013 |
| 22:27:43 | <exarkun> | is this what unfoldC is for? |
| 22:27:46 | × | __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving) |
| 22:27:59 | × | isovector1 quits (~isovector@172.103.216.166.cable.tpia.cipherkey.com) (Remote host closed the connection) |
| 22:28:33 | <iqubic> | exarkun: It's like unfoldr, but puts outputs into a conduit, instead of a list. |
| 22:30:29 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 22:30:48 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
| 22:30:49 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds) |
| 22:31:05 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 22:31:13 | <monochrom> | ezzieyguywuf: I can reproduce. Expect different behaviour between {build exe and run} and {runghc or ghci}. This is general line-buffering issue. If you use putStr without newline, and you want it to "happen right now", hFlush. |
| 22:31:45 | <ezzieyguywuf> | monochrom: ah hah, thank you for the tip. |
| 22:33:08 | × | Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 256 seconds) |
| 22:34:25 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 22:37:44 | <dminuoso> | monochrom: https://gist.github.com/dminuoso/78b9e52de12306ce5511d367200dbebe |
| 22:37:48 | <dminuoso> | Works like a charm, cheers! |
| 22:38:31 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Remote host closed the connection) |
| 22:38:31 | × | chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 22:38:51 | → | chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 22:40:25 | <dminuoso> | iqubic: So OverloadedLabels essentially gives you variables identifiable by type level symbols |
| 22:40:31 | → | ces joins (~ces@52d3c113.dynamic-ip.k-net.dk) |
| 22:40:45 | <dminuoso> | OverloadedLabels is just syntax sugar for `fromLabel @"Foobar"` |
| 22:40:49 | <iqubic> | How can I use that with Generic Lenes? |
| 22:40:52 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
| 22:41:36 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 22:41:50 | <iqubic> | *lenses |
| 22:41:52 | <dminuoso> | See https://hackage.haskell.org/package/generic-lens-2.0.0.0/docs/Data-Generics-Labels.html |
| 22:42:06 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 22:44:15 | <iqubic> | That's a bit confusing. |
| 22:45:39 | → | mbomba joins (~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) |
| 22:46:12 | <dminuoso> | instance ( capital ~ BeginsWithCapital name, IsLabelHelper capital name p f s t a b, pafb ~ p a (f b), psft ~ p s (f t)) => IsLabel name (pafb -> psft) where |
| 22:47:03 | <dminuoso> | So say you wrote `#_Foo` in your code somehow, this would get desugared into `fromLabel @"_Foo"` |
| 22:47:17 | <dminuoso> | Then set `name` to "_Foo" |
| 22:47:31 | arahael1 | is now known as arahael |
| 22:48:00 | <iqubic> | And just importing Data.Generic.Lens does this for me? |
| 22:48:04 | <dminuoso> | Based on type inference of the resulting type it knows p, f, s, t, a and b |
| 22:48:17 | <dminuoso> | And some tyfams/fundeps + generics |
| 22:48:22 | <dminuoso> | And voila, you have a prism |
| 22:49:51 | → | isovector1 joins (~isovector@172.103.216.166.cable.tpia.cipherkey.com) |
| 22:50:16 | <iqubic> | Do I need to invoke any fancy template haskell stuff? |
| 22:51:05 | <dminuoso> | No. |
| 22:51:28 | <iqubic> | I'm not sure I understand. |
| 22:51:37 | <iqubic> | It's fine though. |
| 22:53:11 | <dminuoso> | Very handwavingly, you can imagine the implementation of the above instance to be `instance ... => IsLabel name (pafb -> psft) where fromLabel = to . genericThing` |
| 22:53:37 | <dminuoso> | The rest from there is just simple plain generics |
| 22:53:38 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 22:53:56 | <dminuoso> | The type level symbols is passed into the generics code so it can find the correct field |
| 22:54:51 | <iqubic> | I understand how that works. |
| 22:54:57 | × | knupfer quits (~Thunderbi@200116b82cc36700fd01663be2310e7a.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
| 22:55:12 | <iqubic> | It's the part about using these lenses in real code. |
| 22:55:17 | → | xcmw joins (~textual@cpe-69-133-55-43.cinci.res.rr.com) |
| 22:55:36 | <dminuoso> | What do you mean? They are like any other lens |
| 22:56:06 | <dminuoso> | Potentially not as efficient in degenerate cases, but other than that it's the same |
| 22:57:42 | <iqubic> | Let's say I have "data Foo a = Foo {Bar :: (Int, a), Baz :: Int}" How would I go about changing the int in the Bar tuple? |
| 22:58:39 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
| 22:58:41 | <dminuoso> | Assuming you meant to write bar and baz (lowercase), then that'd be: |
| 22:58:52 | <iqubic> | I did mean for it to be lowercase. |
| 22:58:59 | <dminuoso> | f & #bar . _1 %~ f |
| 22:59:05 | <dminuoso> | err |
| 22:59:08 | <dminuoso> | x & #bar . _1 %~ f |
| 22:59:15 | <iqubic> | Oh, is that all? |
| 22:59:19 | <dminuoso> | Yes. |
| 22:59:32 | × | cosimone quits (~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone) |
| 22:59:44 | → | sondr3 joins (~sondr3@cm-84.211.56.132.getinternet.no) |
| 23:01:08 | <iqubic> | I see. Is it possible to use this for other things like as the argument to typed? https://hackage.haskell.org/package/generic-lens-2.0.0.0/docs/Data-Generics-Product-Typed.html#t:HasType |
| 23:01:11 | → | p-core joins (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) |
| 23:01:12 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
| 23:01:36 | × | DavidEichmann quits (~david@62.110.198.146.dyn.plus.net) (Remote host closed the connection) |
| 23:02:08 | <iqubic> | Or would I still need to use type applications? |
| 23:02:29 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Remote host closed the connection) |
| 23:02:31 | × | rdivacky quits (~rdivacky@212.96.173.4) (Read error: Connection reset by peer) |
| 23:02:45 | × | alp quits (~alp@2a01:e0a:58b:4920:914d:f2ca:3630:62c6) (Ping timeout: 272 seconds) |
| 23:03:34 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 23:03:37 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:04:28 | <dminuoso> | That doesn't make much sense.. |
| 23:05:50 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
| 23:07:47 | → | rdivacky joins (~rdivacky@212.96.173.4) |
| 23:08:08 | <sondr3> | I have a weird problem doing lookups in a Map: https://gist.github.com/sondr3/c76dd36778cef870daff78b32051e228. It's a `Map Text Bool` and looking up "*" fails but "/" and any other texts work |
| 23:08:12 | → | jonatanb joins (jonatanb@gateway/vpn/protonvpn/jonatanb) |
| 23:10:13 | × | Ariakenom quits (~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) (Quit: Leaving) |
| 23:11:54 | <dminuoso> | % m = M.fromAscList [("+", True),("-",False),("/",True),("*",True)]; m :: M.Map String Boo |
| 23:11:54 | <yahb> | dminuoso: ; <interactive>:49:86: error:; Not in scope: type constructor or class `Boo'; Perhaps you meant `Bool' (imported from Prelude) |
| 23:11:56 | <dminuoso> | % m = M.fromAscList [("+", True),("-",False),("/",True),("*",True)]; m :: M.Map String Bool |
| 23:11:56 | <yahb> | dminuoso: |
| 23:12:04 | <dminuoso> | % M.lookup "*" m |
| 23:12:04 | <yahb> | dminuoso: Nothing |
| 23:12:15 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 23:12:24 | <dminuoso> | % print m |
| 23:12:24 | <yahb> | dminuoso: fromList [("+",True),("-",False),("/",True),("*",True)] |
| 23:12:25 | × | jonatanb quits (jonatanb@gateway/vpn/protonvpn/jonatanb) (Ping timeout: 240 seconds) |
| 23:12:33 | <dminuoso> | % lookup "*" (M.toList m) |
| 23:12:34 | <yahb> | dminuoso: Just True |
| 23:12:37 | <dminuoso> | huh |
| 23:15:24 | <sondr3> | At least it's not just me |
| 23:15:25 | <dminuoso> | Oh |
| 23:15:28 | <dminuoso> | M.fromAscList |
| 23:15:43 | <dminuoso> | You're probably violating the precondition that the keys are ascending |
| 23:15:55 | <dminuoso> | % "*" > "/" |
| 23:15:56 | <yahb> | dminuoso: False |
| 23:15:59 | <dminuoso> | There you go. |
| 23:16:04 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 23:16:09 | <dminuoso> | (It will not check) |
| 23:16:16 | <sondr3> | Oh, I had no idea that was a thing |
| 23:16:20 | <dminuoso> | "O(n). Build a map from an ascending list in linear time. The precondition (input list is ascending) is not checked." |
| 23:16:24 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 240 seconds) |
| 23:16:52 | → | Tario joins (~Tario@201.192.165.173) |
| 23:17:04 | <sondr3> | Oh lord, yeah, I have no idea why I chose that over just M.fromList |
| 23:17:20 | <sondr3> | That's a brainfart |
| 23:17:31 | <sondr3> | Thanks dminuoso |
| 23:19:27 | × | fendor quits (~fendor@91.141.2.63.wireless.dyn.drei.com) (Remote host closed the connection) |
| 23:19:44 | → | conal joins (~conal@64.71.133.70) |
| 23:20:06 | × | ph88 quits (~ph88@95.90.246.205) (Ping timeout: 256 seconds) |
| 23:21:57 | × | conal quits (~conal@64.71.133.70) (Client Quit) |
| 23:22:24 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 23:22:33 | ← | isovector1 parts (~isovector@172.103.216.166.cable.tpia.cipherkey.com) ("Leaving") |
| 23:23:03 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 23:23:34 | × | kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection) |
| 23:25:48 | → | conal joins (~conal@64.71.133.70) |
| 23:26:25 | → | ddellacosta joins (dd@gateway/vpn/mullvad/ddellacosta) |
| 23:27:37 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 260 seconds) |
| 23:32:58 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 23:33:19 | <koz_> | :t intercalate |
| 23:33:22 | <lambdabot> | [a] -> [[a]] -> [a] |
| 23:33:27 | <koz_> | :t intersperse |
| 23:33:29 | <lambdabot> | a -> [a] -> [a] |
| 23:34:09 | → | urek__ joins (~urek@2804:7f1:e10a:9644:2492:fd7b:c739:6641) |
| 23:35:41 | × | urek quits (~urek@2804:7f1:e10a:9644:81a3:232e:2e84:9c43) (Ping timeout: 272 seconds) |
| 23:37:23 | <koz_> | @hoogle intersperse |
| 23:37:23 | <lambdabot> | Data.List intersperse :: a -> [a] -> [a] |
| 23:37:23 | <lambdabot> | Data.List.NonEmpty intersperse :: a -> NonEmpty a -> NonEmpty a |
| 23:37:23 | <lambdabot> | GHC.OldList intersperse :: a -> [a] -> [a] |
| 23:37:25 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 23:37:50 | × | Vulfe quits (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) (Ping timeout: 264 seconds) |
| 23:38:43 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) |
| 23:40:52 | × | ces quits (~ces@52d3c113.dynamic-ip.k-net.dk) (Ping timeout: 272 seconds) |
| 23:41:04 | × | Tario quits (~Tario@201.192.165.173) (Ping timeout: 260 seconds) |
| 23:44:06 | → | Vulfe joins (~vulfe@2600:1702:31b0:34e0:a527:3d61:9b10:c6d8) |
| 23:46:25 | → | Tario joins (~Tario@201.192.165.173) |
| 23:46:26 | → | kupi joins (uid212005@gateway/web/irccloud.com/x-jthauiwdetxrewvw) |
| 23:48:23 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 23:50:57 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
| 23:51:21 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 23:52:21 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 23:52:54 | × | dhil quits (~dhil@195.213.192.34) (Ping timeout: 272 seconds) |
| 23:54:10 | → | hekkaidekapus_ joins (~tchouri@gateway/tor-sasl/hekkaidekapus) |
| 23:56:02 | × | royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds) |
| 23:56:03 | × | hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
| 23:56:06 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:cd1c:b54e:3baa:b6e2) (Remote host closed the connection) |
| 23:59:05 | × | p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection) |
All times are in UTC on 2020-12-03.