Logs on 2022-02-23 (liberachat/#haskell)
| 00:00:45 | <Axman6> | oh nice, I didn't realise that was in the parsers package. More parsers should use that, I hate that I can write a parser for Aeson that can't tell the parser what keys are allowable ahead of time. IIRC Waargonaut has this (after I pestered Sean several times about it) |
| 00:03:07 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:106a:7188:c314:3535) |
| 00:05:36 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 00:05:59 | <Axman6> | dons: so are you back in Aus? Saw your tweet from the sydney ~bus~ boat |
| 00:09:57 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 00:12:54 | × | max22- quits (~maxime@2a01cb088335980027fe609829d061d7.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 00:15:43 | × | alt-romes quits (~romes@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.4) |
| 00:16:15 | → | alx741 joins (~alx741@157.100.197.240) |
| 00:17:39 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 00:20:41 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 00:29:57 | → | lavaman joins (~lavaman@98.38.249.169) |
| 00:30:11 | → | Topsi joins (~Tobias@dyndsl-095-033-025-181.ewe-ip-backbone.de) |
| 00:30:59 | × | vicfred quits (~vicfred@user/vicfred) (Quit: Leaving) |
| 00:31:30 | × | jgeerds quits (~jgeerds@d53600c5.access.ecotel.net) (Ping timeout: 260 seconds) |
| 00:33:34 | → | cynomys joins (~cynomys@user/cynomys) |
| 00:34:59 | × | dvdrw quits (~dvdrw@user/dvdrw) (Quit: leaving) |
| 00:37:25 | → | alx741 joins (~alx741@157.100.197.240) |
| 00:38:10 | × | gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
| 00:40:46 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 00:41:01 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 00:42:04 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 00:42:04 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 00:42:04 | → | wroathe joins (~wroathe@user/wroathe) |
| 00:43:37 | → | gentauro joins (~gentauro@user/gentauro) |
| 00:44:54 | × | ravella quits (~ravella@user/ryanavella) (Remote host closed the connection) |
| 00:45:37 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds) |
| 00:49:23 | → | mvk joins (~mvk@2607:fea8:5cdc:bf00::99e7) |
| 00:56:03 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 00:57:40 | → | alx741 joins (~alx741@181.199.42.143) |
| 00:57:55 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4) |
| 01:01:36 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 01:02:07 | → | lavaman joins (~lavaman@98.38.249.169) |
| 01:02:32 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 01:03:10 | → | alx741 joins (~alx741@181.199.42.143) |
| 01:06:08 | <hololeap_> | I'm getting an error when trying to compile mustache-2.4.0 on ghc-8.10.6, but it compiles fine on ghc-9.0.2. the error seems related to parsec, but both systems have the same version |
| 01:06:22 | <hololeap_> | so I'm confused as to what could be the underlying error http://sprunge.us/RmBexL |
| 01:06:50 | hololeap_ | is now known as hololeap |
| 01:06:56 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds) |
| 01:07:19 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 01:08:17 | × | cynomys quits (~cynomys@user/cynomys) (Ping timeout: 272 seconds) |
| 01:09:09 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 01:09:30 | <hololeap> | the instance it's complaining about is defined in the version of parsec they both have installed: https://hackage.haskell.org/package/parsec-3.1.14.0/docs/Text-Parsec.html#t:Stream |
| 01:10:38 | → | Ranhir joins (~Ranhir@157.97.53.139) |
| 01:10:46 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:11:53 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:106a:7188:c314:3535) (Remote host closed the connection) |
| 01:13:06 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 01:13:19 | → | lavaman joins (~lavaman@98.38.249.169) |
| 01:13:27 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 01:13:43 | → | lavaman joins (~lavaman@98.38.249.169) |
| 01:13:50 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 01:14:07 | → | lavaman joins (~lavaman@98.38.249.169) |
| 01:14:14 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 01:14:21 | <hololeap> | here is the source code for the module: https://github.com/JustusAdam/mustache/blob/master/src/Text/Mustache/Parser.hs |
| 01:14:28 | → | lavaman joins (~lavaman@98.38.249.169) |
| 01:14:37 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 01:14:42 | → | ByronJohnson joins (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) |
| 01:16:14 | <ski> | hm, i guess it may not be picking up `Monad Data.Functor.Identity', for whatever reason ? |
| 01:16:26 | <ski> | (considering how there's an instance `Monad m => Stream Text m Char') |
| 01:16:52 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:18:31 | × | komikat quits (~komikat@183.82.154.239) (Ping timeout: 256 seconds) |
| 01:20:10 | → | ravella joins (~ravella@user/ryanavella) |
| 01:20:12 | <hololeap> | I added `import Data.Functor.Monad` to the module, and now it's saying: No instance for (Stream Text Identity Char) |
| 01:20:43 | <hololeap> | it could be my environment or something like that |
| 01:20:46 | → | komikat joins (~komikat@183.82.154.239) |
| 01:20:55 | → | cynomys joins (~cynomys@user/cynomys) |
| 01:24:32 | → | alx741 joins (~alx741@181.199.42.143) |
| 01:25:55 | <hololeap> | this did the trick. I have no idea why it is needed, though: http://sprunge.us/JDw9pW |
| 01:26:01 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 272 seconds) |
| 01:27:51 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 01:28:04 | <hololeap> | when I apply that patch to my 9.0.2 system, it gives an overlapping instance error |
| 01:29:37 | → | lavaman joins (~lavaman@98.38.249.169) |
| 01:29:40 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 01:31:20 | <pareto-optimal-d> | Is "always write the most polymorphic version of your function first" a hot take? |
| 01:31:21 | × | ravella quits (~ravella@user/ryanavella) (Remote host closed the connection) |
| 01:32:09 | <Axman6> | the more polymorphic the function is, the harder it is to get wrong generally |
| 01:33:08 | <dolio> | The answer is, "yes." |
| 01:34:33 | <pareto-optimal-d> | dolio: Okay, that was my suspicion after telling a coworker I created a note in zettlekasten with that today 😅 |
| 01:35:24 | × | emf quits (~emf@c-73-97-137-43.hsd1.wa.comcast.net) (Quit: emf) |
| 01:35:30 | <hololeap> | ok, this is weird, if I unpack mustache on the 8.10.6 system and then run `cabal build` it says "parsec-3.1.14.0 (lib) (requires download & build)" |
| 01:35:43 | <hololeap> | but `ghc-pkg field parsec version` says: "version: 3.1.14.0" |
| 01:35:48 | <pareto-optimal-d> | Axman6: that's essentially what led me to write about it today and then others reaction made me want to ask here. |
| 01:36:39 | <dolio> | Don't give, "always X," advice. |
| 01:36:56 | <hololeap> | so it almost seems like the system-installed parsec is visible to ghc-pkg but not to cabal |
| 01:37:17 | <monochrom> | My answer is no. I don't do it. Sometimes I think I did it, but turns out no, my version is not the most polymorphic possible. Overall, it sounds like dangerously close to perfection OCD and the joke about "what happens if you ask a software dev to make a toaster". |
| 01:38:41 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 272 seconds) |
| 01:39:14 | <Axman6> | My advice is always don't give "always X" advice |
| 01:39:42 | <pareto-optimal-d> | The disagreement made me think there is a useful question along the lines of "are free theorems and their benefits enough to be worth more than monomorphic functions that have better errors and are easier for beginners to reason about". |
| 01:40:17 | <pareto-optimal-d> | and "is having a policy preventing or limiting premature monomorphizing to get more theorems for free additive? Additive multiplicatively?" |
| 01:41:06 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:106a:7188:c314:3535) |
| 01:41:19 | <monochrom> | My policy is against premature generalizations. Premature polymorphization is a special case. |
| 01:43:47 | → | yauhsien_ joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 01:44:36 | × | Guest68 quits (~Guest68@134.101.5.46) (Ping timeout: 256 seconds) |
| 01:44:46 | → | alx741 joins (~alx741@157.100.197.240) |
| 01:46:12 | <pareto-optimal-d> | monochrom: mine used to be, but after some years working in a codebase that takes a strong stance against premature generalization I see some downsides. |
| 01:46:12 | <pareto-optimal-d> | What are your thoughts of the example at 14:00 in this video: |
| 01:46:12 | <pareto-optimal-d> | https://youtu.be/BHjIl81HgfE |
| 01:48:02 | <pareto-optimal-d> | <Axman6> "My advice is always don't give..." <- I like to create "always do X" and "always do Y" in my notes because they motivate writing "why 'always do X' was a dumb idea" |
| 01:48:04 | → | alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 01:48:33 | × | yauhsien_ quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 01:48:43 | <dons> | Axman6, yep back in Syd |
| 01:48:50 | <pareto-optimal-d> | I'll look at one and be outraged |
| 01:49:01 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 01:50:22 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 01:52:35 | <justsomeguy> | Is there some way to write types like Map, Set, and Sequence as literals? |
| 01:54:33 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 01:54:34 | <jackdk> | -XOverloadedLists |
| 01:56:14 | <justsomeguy> | I had something in mind like Sets: { "one":1, "two":2 }, Maps: {"one","two"}, Vectors: (1,3) [1,2,3]. It seems like OverloadedLists can do a lot, though. |
| 01:57:37 | × | alp quits (~alp@user/alp) (Ping timeout: 240 seconds) |
| 01:58:59 | <monochrom> | fromList [(key0, val0), (key1, val1)]; fromList [member0, member1]; [item0, item1]. |
| 01:59:17 | × | turlando quits (~turlando@user/turlando) (Ping timeout: 240 seconds) |
| 02:00:55 | <justsomeguy> | I don't really understand templateHaskell, but can it do things like this? |
| 02:01:32 | justsomeguy | is just curious about what options are available, regardless of how impractical they are to use. |
| 02:05:08 | <justsomeguy> | I'll definitely be using OverloadedLists for personal stuff, I think. |
| 02:06:12 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 250 seconds) |
| 02:07:54 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:106a:7188:c314:3535) (Remote host closed the connection) |
| 02:09:00 | × | jao quits (~jao@68.235.43.174) (Ping timeout: 240 seconds) |
| 02:09:19 | <justsomeguy> | Do fromList and toList get evaulated at compile time, if the values are used elsewhere in the program? |
| 02:10:31 | <monochrom> | No. |
| 02:10:35 | <Cale> | Never. The best you'll manage is that if you define a constant, they'll get evaluated at most once during the execution of the program. |
| 02:10:55 | → | deadmarshal joins (~deadmarsh@95.38.112.124) |
| 02:10:57 | → | alx741 joins (~alx741@181.199.42.143) |
| 02:11:32 | <Cale> | It would be nice to be able to force that kind of thing to happen statically when you want it, but there's really not much of a way to express it. |
| 02:11:39 | <Cale> | (at present) |
| 02:12:30 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:106a:7188:c314:3535) |
| 02:13:05 | × | jonathanx__ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 02:13:12 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 02:13:22 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 02:13:26 | → | jonathanx__ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 02:15:45 | × | deadmarshal quits (~deadmarsh@95.38.112.124) (Ping timeout: 256 seconds) |
| 02:19:06 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4) |
| 02:20:42 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds) |
| 02:20:57 | × | derelict quits (derelict@user/derelict) (Quit: bye) |
| 02:21:59 | → | derelict joins (derelict@user/derelict) |
| 02:22:09 | × | little_mac quits (~little_ma@2601:410:4300:3ce0:283e:efa7:e0c6:e848) (Remote host closed the connection) |
| 02:24:35 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 02:30:17 | → | alx741 joins (~alx741@157.100.197.240) |
| 02:35:07 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 02:36:39 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 02:36:40 | × | justAstache quits (~justache@user/justache) (Read error: Connection reset by peer) |
| 02:37:38 | → | justAstache joins (~justache@user/justache) |
| 02:40:57 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 02:41:10 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 02:42:40 | × | juhp quits (~juhp@128.106.188.82) (Quit: juhp) |
| 02:42:53 | → | juhp joins (~juhp@128.106.188.82) |
| 02:45:02 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 240 seconds) |
| 02:45:40 | bontaq` | is now known as bontaq |
| 02:46:02 | × | xff0x quits (~xff0x@2001:1a81:5372:9200:4da8:4717:4e75:17ef) (Ping timeout: 240 seconds) |
| 02:47:46 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 02:47:56 | → | xff0x joins (~xff0x@2001:1a81:53ab:2800:b38f:e60b:4875:f7ef) |
| 02:51:43 | <Axman6> | dons: welcome home |
| 02:52:50 | → | alx741 joins (~alx741@181.199.42.143) |
| 02:57:21 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 02:58:29 | × | neurocyte0917090 quits (~neurocyte@user/neurocyte) (Ping timeout: 272 seconds) |
| 03:02:03 | → | mbuf joins (~Shakthi@171.61.250.50) |
| 03:05:40 | → | ravella joins (~ravella@user/ryanavella) |
| 03:06:31 | → | yauhsien_ joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 03:06:49 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 03:07:18 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 250 seconds) |
| 03:07:38 | × | hololeap quits (~hololeap@user/hololeap) (Remote host closed the connection) |
| 03:08:22 | → | lavaman joins (~lavaman@98.38.249.169) |
| 03:08:26 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 03:08:58 | → | lavaman joins (~lavaman@98.38.249.169) |
| 03:09:52 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 03:09:53 | → | notzmv joins (~zmv@user/notzmv) |
| 03:11:03 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 03:13:16 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 03:13:37 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 03:14:12 | → | alx741 joins (~alx741@157.100.197.240) |
| 03:15:59 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 03:15:59 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 03:15:59 | → | wroathe joins (~wroathe@user/wroathe) |
| 03:20:36 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 03:21:43 | → | hololeap joins (~hololeap@user/hololeap) |
| 03:22:54 | × | td_ quits (~td@muedsl-82-207-238-240.citykom.de) (Ping timeout: 256 seconds) |
| 03:23:54 | × | Ranhir quits (~Ranhir@157.97.53.139) (Remote host closed the connection) |
| 03:24:24 | → | td_ joins (~td@94.134.91.238) |
| 03:24:35 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 03:26:24 | → | Ranhir joins (~Ranhir@157.97.53.139) |
| 03:29:17 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 03:30:24 | × | zachel quits (~zachel@user/zachel) (Quit: Quit: Leaving!) |
| 03:33:08 | → | zachel joins (~zachel@user/zachel) |
| 03:33:09 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 03:35:13 | × | komikat quits (~komikat@183.82.154.239) (Ping timeout: 272 seconds) |
| 03:36:48 | → | komikat joins (~komikat@183.82.154.239) |
| 03:39:52 | <Sqaure> | Is there some goto library for simple text replacement, like say "blabla ${var}blabla" |
| 03:40:15 | → | little_mac joins (~little_ma@2601:410:4300:3ce0:25e4:decc:c8da:26b5) |
| 03:41:04 | × | terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
| 03:41:17 | → | alx741 joins (~alx741@157.100.197.240) |
| 03:41:58 | <jackdk> | Sqaure: several. interpolation, neat-interpolation, string-interpolate, ... They use -XQuasiQuotes so you write something like `[i|blabla #{var}blabla]` |
| 03:42:00 | → | terrorjack joins (~terrorjac@static.3.200.12.49.clients.your-server.de) |
| 03:42:25 | <jackdk> | I am not aware of a clear winner |
| 03:44:55 | × | vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.4) |
| 03:45:49 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 03:46:53 | → | deadmarshal joins (~deadmarsh@95.38.112.124) |
| 03:48:07 | <Sqaure> | jackdk, ah thanks |
| 03:53:20 | × | xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 03:57:02 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 04:00:52 | × | yauhsien_ quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 04:01:34 | → | yauhsien_ joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 04:01:54 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 04:02:34 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 04:03:49 | → | alx741 joins (~alx741@157.100.197.240) |
| 04:06:09 | → | Guest|39 joins (~Guest|39@190.195.205.199) |
| 04:06:15 | × | yauhsien_ quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
| 04:06:42 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 04:07:46 | <Guest|39> | how to install haskell on windows |
| 04:11:36 | <Sqaure> | Guest|39, im not running windows myself but i believe it should be detailed here https://www.haskell.org/downloads/ |
| 04:12:25 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 04:12:25 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 04:12:25 | → | wroathe joins (~wroathe@user/wroathe) |
| 04:12:25 | × | Guest|39 quits (~Guest|39@190.195.205.199) (Remote host closed the connection) |
| 04:15:44 | <janus> | Sqaure: i like https://github.com/yesodweb/shakespeare |
| 04:18:42 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 04:19:22 | <Sqaure> | janus, thanks. Looks like i might have more than i need. Just dealing with simple texts here. |
| 04:20:15 | <Sqaure> | it* |
| 04:20:50 | → | alp joins (~alp@user/alp) |
| 04:22:55 | → | alx741 joins (~alx741@181.199.42.143) |
| 04:23:25 | → | yauhsien_ joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 04:23:45 | × | yauhsien_ quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 04:24:06 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
| 04:24:28 | → | yauhsien_ joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 04:31:19 | × | benin quits (~benin@59.92.239.104) (Quit: Ping timeout (120 seconds)) |
| 04:31:40 | → | benin joins (~benin@59.92.239.104) |
| 04:31:42 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 04:31:47 | × | yauhsien_ quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 04:32:24 | → | alx741 joins (~alx741@157.100.197.240) |
| 04:32:49 | → | yauhsien_ joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 04:35:00 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 04:38:33 | × | yauhsien_ quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
| 04:41:17 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 04:44:06 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 04:45:05 | × | alp quits (~alp@user/alp) (Remote host closed the connection) |
| 04:45:25 | → | alp joins (~alp@user/alp) |
| 04:45:54 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 04:48:57 | × | deadmarshal quits (~deadmarsh@95.38.112.124) (Ping timeout: 240 seconds) |
| 04:49:25 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 04:51:09 | × | alp quits (~alp@user/alp) (Remote host closed the connection) |
| 04:51:28 | → | alp joins (~alp@user/alp) |
| 04:54:10 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 04:54:48 | × | komikat quits (~komikat@183.82.154.239) (Remote host closed the connection) |
| 04:55:00 | → | komikat joins (~komikat@183.82.154.239) |
| 04:57:31 | → | alx741 joins (~alx741@157.100.197.240) |
| 05:01:41 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 05:02:37 | × | shapr quits (~user@pool-173-73-44-186.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 05:03:37 | × | mvk quits (~mvk@2607:fea8:5cdc:bf00::99e7) (Ping timeout: 240 seconds) |
| 05:04:23 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 05:05:24 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 05:06:17 | × | alp quits (~alp@user/alp) (Ping timeout: 240 seconds) |
| 05:08:57 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 272 seconds) |
| 05:11:34 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 05:12:17 | → | pokhu joins (~rishi@103.206.114.88) |
| 05:13:22 | × | little_mac quits (~little_ma@2601:410:4300:3ce0:25e4:decc:c8da:26b5) (Quit: Leaving) |
| 05:13:39 | → | little_mac joins (~little_ma@2601:410:4300:3ce0:25e4:decc:c8da:26b5) |
| 05:19:04 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds) |
| 05:20:01 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 05:20:02 | → | alx741 joins (~alx741@157.100.197.240) |
| 05:21:40 | → | yauhsien_ joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 05:22:45 | × | Topsi quits (~Tobias@dyndsl-095-033-025-181.ewe-ip-backbone.de) (Ping timeout: 256 seconds) |
| 05:22:58 | → | Topsi joins (~Tobias@dyndsl-095-033-018-046.ewe-ip-backbone.de) |
| 05:24:37 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 05:24:37 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 05:24:41 | → | hgolden joins (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) |
| 05:24:43 | <jackdk> | Sqaure: if that's your use case, I like the `formatting` library. it's more of a FP-ish take on printf I guess |
| 05:25:58 | × | yauhsien_ quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 250 seconds) |
| 05:26:00 | <Sqaure> | jackdk, okok. Ill check that out. I realize i down want quasi quotes. Atm i just want runtime interpolation (with risk of breaking) |
| 05:26:10 | <Sqaure> | I don't* |
| 05:26:12 | × | cynomys quits (~cynomys@user/cynomys) (Ping timeout: 240 seconds) |
| 05:27:07 | <jackdk> | Sqaure: `format ("Person's name is " % t % ", age is " % int) "Dave" 54` is an example inspired by the docs |
| 05:28:20 | <Sqaure> | downloading it now |
| 05:31:23 | × | little_mac quits (~little_ma@2601:410:4300:3ce0:25e4:decc:c8da:26b5) (Quit: Leaving) |
| 05:31:39 | → | little_mac joins (~little_ma@2601:410:4300:3ce0:25e4:decc:c8da:26b5) |
| 05:31:59 | × | mbuf quits (~Shakthi@171.61.250.50) (Quit: Leaving) |
| 05:35:26 | <Sqaure> | jackdk, you don't happen to know if it have functions to parse plain text into these text functions? |
| 05:35:47 | <jackdk> | Sqaure: can you please rephrase your question? I don't understand |
| 05:38:43 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 272 seconds) |
| 05:40:40 | <Sqaure> | jackdk, my texts (that should be able to contain replacement expressions) are loaded from a yaml file. In "Formatting", the uninterpolated texts in the examples are all haskell expressions. So I was wondering if there was an easy way to turn the plain text from yaml into these functions Formatting works with? |
| 05:41:18 | <jackdk> | Sqaure: ah, I see. No, formatting won't help you there. I would go looking for a templating library |
| 05:41:29 | <Sqaure> | gotcha. Thanks |
| 05:42:25 | → | yauhsien_ joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 05:43:07 | → | alx741 joins (~alx741@157.100.197.240) |
| 05:47:41 | × | yauhsien_ quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 05:51:49 | × | little_mac quits (~little_ma@2601:410:4300:3ce0:25e4:decc:c8da:26b5) (Quit: Leaving) |
| 05:52:07 | → | little_mac joins (~little_ma@2601:410:4300:3ce0:25e4:decc:c8da:26b5) |
| 05:52:48 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 05:53:56 | <Sqaure> | The library "template" seems to do what i want. |
| 05:55:38 | × | little_mac quits (~little_ma@2601:410:4300:3ce0:25e4:decc:c8da:26b5) (Client Quit) |
| 05:55:54 | → | little_mac joins (~little_ma@2601:410:4300:3ce0:25e4:decc:c8da:26b5) |
| 05:58:20 | → | cynomys joins (~cynomys@user/cynomys) |
| 06:00:26 | → | yauhsien_ joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 06:00:26 | × | Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Quit: Leaving) |
| 06:00:31 | → | coot joins (~coot@213.134.190.95) |
| 06:04:32 | × | modnar quits (~modnar@shell.sonic.net) (Ping timeout: 250 seconds) |
| 06:05:55 | × | Giovanni quits (~Giovanni@176.67.166.45) (Read error: Connection reset by peer) |
| 06:05:57 | × | yauhsien_ quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
| 06:06:04 | → | modnar joins (~modnar@shell.sonic.net) |
| 06:07:31 | → | bahamas joins (~lucian@84.232.140.52) |
| 06:09:13 | → | alx741 joins (~alx741@181.199.42.143) |
| 06:11:18 | → | Giovanni joins (~Giovanni@176.67.166.45) |
| 06:12:59 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 06:13:06 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 06:13:25 | → | nattiestnate joins (~nate@182.2.41.240) |
| 06:13:41 | → | alx741 joins (~alx741@157.100.197.240) |
| 06:17:31 | → | iqubic joins (~user@2601:602:9502:c70:f02e:17f5:f781:f107) |
| 06:18:24 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 06:18:46 | → | yauhsien_ joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 06:19:04 | ← | iqubic parts (~user@2601:602:9502:c70:f02e:17f5:f781:f107) () |
| 06:22:07 | × | yauhsien_ quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 06:23:01 | → | yauhsien_ joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 06:26:56 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 06:27:10 | ← | pokhu parts (~rishi@103.206.114.88) () |
| 06:28:02 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 06:28:12 | × | yauhsien_ quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 06:28:18 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:28:29 | × | bahamas quits (~lucian@84.232.140.52) (Ping timeout: 256 seconds) |
| 06:30:11 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Read error: Connection reset by peer) |
| 06:30:53 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:32:27 | × | cynomys quits (~cynomys@user/cynomys) (Ping timeout: 256 seconds) |
| 06:34:00 | × | shriekingnoise quits (~shrieking@201.231.16.156) (Quit: Quit) |
| 06:34:41 | → | alx741 joins (~alx741@181.199.42.143) |
| 06:35:20 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 06:39:33 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 06:40:10 | → | alx741 joins (~alx741@181.199.42.143) |
| 06:45:02 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 06:45:39 | → | alx741 joins (~alx741@157.100.197.240) |
| 06:46:45 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 06:47:02 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 06:49:08 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 06:55:26 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 06:55:39 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 06:56:18 | → | gdown joins (~gavin@h69-11-150-165.kndrid.broadband.dynamic.tds.net) |
| 06:57:16 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 07:01:48 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 07:03:22 | → | sander joins (~sander@user/sander) |
| 07:03:50 | → | mikoto-chan joins (~mikoto-ch@213.177.151.239) |
| 07:06:03 | × | bliminse quits (~bliminse@host86-158-241-239.range86-158.btcentralplus.com) (Ping timeout: 252 seconds) |
| 07:06:50 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 07:07:13 | → | alx741 joins (~alx741@157.100.197.240) |
| 07:07:16 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 07:08:01 | → | bliminse joins (~bliminse@host109-152-150-162.range109-152.btcentralplus.com) |
| 07:10:51 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 07:12:01 | × | mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 245 seconds) |
| 07:14:07 | × | monochrom quits (trebla@216.138.220.146) (Quit: NO CARRIER) |
| 07:14:36 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 07:14:58 | → | ccntrq joins (~Thunderbi@2a01:e34:eccb:b060:ea23:2b79:a0de:4996) |
| 07:15:11 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 07:22:01 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 07:22:26 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 07:25:50 | → | Pickchea joins (~private@user/pickchea) |
| 07:28:01 | → | monochrom joins (trebla@216.138.220.146) |
| 07:28:37 | → | alx741 joins (~alx741@157.100.197.240) |
| 07:28:55 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 07:31:23 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 07:31:48 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 07:33:05 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 07:33:16 | × | LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 240 seconds) |
| 07:33:24 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 07:33:47 | → | dextaa_ joins (~dextaa@user/dextaa) |
| 07:33:56 | → | LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao) |
| 07:35:50 | → | cynomys joins (~cynomys@user/cynomys) |
| 07:38:25 | × | yrlnry quits (~mjd@pool-74-109-20-19.phlapa.fios.verizon.net) (Ping timeout: 272 seconds) |
| 07:39:19 | → | yrlnry joins (~mjd@pool-74-109-20-19.phlapa.fios.verizon.net) |
| 07:39:21 | → | alp joins (~alp@user/alp) |
| 07:41:36 | × | vorpuni quits (~pvorp@2001:861:3881:c690:d322:f659:136d:eef6) (Ping timeout: 250 seconds) |
| 07:45:21 | → | benin7 joins (~benin@117.202.69.195) |
| 07:46:44 | × | dextaa_ quits (~dextaa@user/dextaa) (Remote host closed the connection) |
| 07:47:15 | × | benin quits (~benin@59.92.239.104) (Ping timeout: 256 seconds) |
| 07:47:15 | benin7 | is now known as benin |
| 07:47:56 | → | MajorBiscuit joins (~MajorBisc@c-001-017-039.client.tudelft.eduvpn.nl) |
| 07:49:10 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds) |
| 07:49:46 | → | alx741 joins (~alx741@157.100.197.240) |
| 07:50:01 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 07:50:08 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 07:51:49 | → | deadmarshal joins (~deadmarsh@95.38.230.132) |
| 07:52:19 | × | nattiestnate quits (~nate@182.2.41.240) (Quit: WeeChat 3.4) |
| 07:52:35 | <dminuoso> | Cale: You said never, what about TH splices? |
| 07:54:14 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:65ac:9e8f:4b5e:2c6b) |
| 07:54:15 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 07:54:50 | → | yauhsien_ joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 07:56:36 | × | deadmarshal quits (~deadmarsh@95.38.230.132) (Ping timeout: 256 seconds) |
| 07:57:11 | → | Ariakenom joins (~Ariakenom@h-82-196-111-63.NA.cust.bahnhof.se) |
| 07:59:22 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 07:59:41 | → | jstolarek joins (~jstolarek@staticline-31-183-182-85.toya.net.pl) |
| 08:03:23 | × | yauhsien_ quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 08:03:24 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 08:04:07 | → | zeenk joins (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) |
| 08:04:17 | → | yauhsien_ joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 08:04:25 | × | yauhsien quits (~Yau-Hsien@61-231-19-150.dynamic-ip.hinet.net) (Read error: Connection reset by peer) |
| 08:05:45 | → | kuribas joins (~user@ptr-25vy0ial5agu2xq2mv8.18120a2.ip6.access.telenet.be) |
| 08:07:57 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 08:09:17 | × | yauhsien_ quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
| 08:09:24 | → | dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 08:10:42 | → | alx741 joins (~alx741@157.100.197.240) |
| 08:15:32 | → | cfricke joins (~cfricke@user/cfricke) |
| 08:17:42 | × | jstolarek quits (~jstolarek@staticline-31-183-182-85.toya.net.pl) (Quit: leaving) |
| 08:19:17 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 08:19:17 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 08:19:32 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 08:20:01 | → | vickyHaskell joins (~textual@49.37.169.2) |
| 08:21:26 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 08:22:36 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 240 seconds) |
| 08:25:33 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 250 seconds) |
| 08:25:41 | → | acidjnk joins (~acidjnk@dynamic-089-204-137-076.89.204.137.pool.telefonica.de) |
| 08:28:37 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 08:29:13 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 08:33:49 | → | yauhsien joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 08:34:18 | → | cosimone joins (~user@93-34-132-33.ip49.fastwebnet.it) |
| 08:34:44 | → | jgeerds joins (~jgeerds@d53600c5.access.ecotel.net) |
| 08:35:44 | → | alx741 joins (~alx741@157.100.197.240) |
| 08:36:33 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 08:37:06 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:37:25 | → | mbuf joins (~Shakthi@122.178.120.57) |
| 08:38:22 | → | fendor joins (~fendor@178.165.167.221.wireless.dyn.drei.com) |
| 08:39:21 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 08:39:34 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 08:39:47 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 08:40:43 | × | komikat quits (~komikat@183.82.154.239) (Remote host closed the connection) |
| 08:43:09 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 08:44:14 | → | vysn joins (~vysn@user/vysn) |
| 08:44:17 | × | cynomys quits (~cynomys@user/cynomys) (Ping timeout: 272 seconds) |
| 08:44:35 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 08:45:58 | → | komikat joins (~komikat@183.82.154.239) |
| 08:45:58 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 08:47:14 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 08:49:53 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 08:50:34 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 08:50:43 | × | komikat quits (~komikat@183.82.154.239) (Ping timeout: 256 seconds) |
| 08:51:15 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 08:51:18 | → | chele joins (~chele@user/chele) |
| 08:53:00 | × | juhp quits (~juhp@128.106.188.82) (Quit: juhp) |
| 08:53:13 | → | juhp joins (~juhp@128.106.188.82) |
| 08:53:51 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 08:54:03 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 08:54:31 | → | komikat joins (~komikat@183.82.154.239) |
| 08:55:39 | → | jespada joins (~jespada@85.255.234.190) |
| 08:57:08 | → | alx741 joins (~alx741@157.100.197.240) |
| 08:59:09 | → | abhixec joins (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) |
| 09:00:55 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 09:01:27 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 09:01:34 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 09:02:52 | → | cynomys joins (~cynomys@user/cynomys) |
| 09:03:00 | → | max22- joins (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) |
| 09:03:49 | × | jgeerds quits (~jgeerds@d53600c5.access.ecotel.net) (Ping timeout: 240 seconds) |
| 09:04:52 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 09:05:18 | → | chege joins (~chege@197.237.199.183) |
| 09:09:17 | × | chege quits (~chege@197.237.199.183) (Quit: Client closed) |
| 09:11:10 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 09:12:36 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds) |
| 09:12:36 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 09:13:36 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 09:19:22 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:106a:7188:c314:3535) (Remote host closed the connection) |
| 09:19:39 | → | alx741 joins (~alx741@157.100.197.240) |
| 09:20:25 | → | ProfSimm joins (~ProfSimm@87.227.196.109) |
| 09:23:37 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 240 seconds) |
| 09:24:09 | × | analognoise quits (~analognoi@185.202.221.26) (Read error: Connection reset by peer) |
| 09:26:41 | × | gdown quits (~gavin@h69-11-150-165.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection) |
| 09:28:01 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 09:28:12 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 09:28:50 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 09:29:05 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 09:29:24 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 09:29:48 | × | little_mac quits (~little_ma@2601:410:4300:3ce0:25e4:decc:c8da:26b5) (Ping timeout: 240 seconds) |
| 09:29:51 | → | bahamas joins (~lucian@84.232.140.52) |
| 09:30:00 | → | dvdrw joins (~dvdrw@user/dvdrw) |
| 09:45:25 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 09:46:04 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 09:46:35 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 09:46:55 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 09:47:11 | → | alx741 joins (~alx741@157.100.197.240) |
| 09:48:15 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 09:48:29 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 09:50:30 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 09:50:54 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 09:51:03 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 09:51:45 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:57:43 | <Unhammer> | is there something special about filter (< someDay) that makes it strict? |
| 09:58:36 | <Unhammer> | λ> filter (< 10) $ take 10 (iterate (+1 ) 1) |
| 09:58:39 | <Unhammer> | [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] |
| 09:58:41 | <Unhammer> | λ> take 10 $ filter (< 10) (iterate (+1 ) 1) |
| 09:58:43 | <Unhammer> | Interrupted. |
| 09:59:05 | <Unhammer> | hangs |
| 09:59:50 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 10:00:36 | × | bahamas quits (~lucian@84.232.140.52) (Ping timeout: 240 seconds) |
| 10:00:41 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 10:00:55 | <Unhammer> | seeing this in both compiled and ghci, 8.10.7 |
| 10:00:57 | <dminuoso> | % filter (< 10) $ take 10 (iterate (+1 ) 1) |
| 10:00:57 | <yahb> | dminuoso: [1,2,3,4,5,6,7,8,9] |
| 10:01:01 | <dminuoso> | Works for me? |
| 10:01:33 | <Ferdirand> | you're off by one |
| 10:01:58 | → | fef joins (~thedawn@user/thedawn) |
| 10:02:09 | <dminuoso> | Ah |
| 10:02:29 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 10:02:57 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 10:04:34 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 260 seconds) |
| 10:04:43 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:05:22 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 10:06:00 | → | ubert1 joins (~Thunderbi@2a02:8109:9880:303c:34eb:c52f:ccd4:3473) |
| 10:06:32 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 10:07:27 | → | alx741 joins (~alx741@157.100.197.240) |
| 10:08:20 | → | coot joins (~coot@213.134.190.95) |
| 10:11:20 | → | acidjnk_new joins (~acidjnk@p200300d0c714a49878af4a2b338b7680.dip0.t-ipconnect.de) |
| 10:12:08 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 10:12:09 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 10:12:21 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 10:13:16 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds) |
| 10:14:05 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 10:14:05 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 10:15:02 | × | acidjnk quits (~acidjnk@dynamic-089-204-137-076.89.204.137.pool.telefonica.de) (Ping timeout: 240 seconds) |
| 10:15:13 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 10:17:25 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 10:17:26 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 10:17:58 | × | vysn quits (~vysn@user/vysn) (Remote host closed the connection) |
| 10:18:12 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 10:19:47 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d024:453c:94af:7479) |
| 10:20:14 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 10:20:26 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 10:20:42 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 10:20:51 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 10:21:03 | <kuribas> | > take 9 $ take 10 $ filter (< 10) (iterate (+1 ) 1) |
| 10:21:06 | <lambdabot> | [1,2,3,4,5,6,7,8,9] |
| 10:21:15 | <kuribas> | it's lazy :) |
| 10:23:20 | × | ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
| 10:23:31 | <kuribas> | > take 10 $ filter (< 10) (iterate (+1 ) 1) |
| 10:23:37 | <lambdabot> | mueval-core: Time limit exceeded |
| 10:23:42 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 10:23:53 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 10:23:56 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 10:24:31 | <kuribas> | but "drop 9 $ filter (< 10) (iterate (+1 ) 1)" is _|_ |
| 10:25:00 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d024:453c:94af:7479) (Ping timeout: 240 seconds) |
| 10:25:19 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 10:25:50 | → | ProfSimm joins (~ProfSimm@87.227.196.109) |
| 10:25:55 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Ping timeout: 256 seconds) |
| 10:28:08 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 10:28:08 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 10:28:08 | × | komikat quits (~komikat@183.82.154.239) (Read error: Connection reset by peer) |
| 10:28:19 | → | komikat joins (~komikat@183.82.154.239) |
| 10:28:23 | → | alx741 joins (~alx741@157.100.197.240) |
| 10:28:53 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 10:28:56 | × | shailangsa quits (~shailangs@host86-186-127-164.range86-186.btcentralplus.com) (Remote host closed the connection) |
| 10:31:02 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 10:31:15 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 10:31:39 | <tomsmeding> | in my ghci it nicely evaluates the first 9 elements for the 'take 10 (filter (<10) [1..])' variant, showing precisely what happens |
| 10:31:39 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 10:31:40 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 10:31:47 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 10:33:49 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 10:35:14 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 10:35:24 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 10:35:49 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 10:36:15 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 10:38:42 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 10:41:49 | × | ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
| 10:42:48 | → | Pickchea joins (~private@user/pickchea) |
| 10:44:56 | → | deadmarshal joins (~deadmarsh@95.38.230.132) |
| 10:44:57 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 10:45:57 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 10:46:12 | × | ishutin quits (~ishutin@92-249-150-129.static.digikabel.hu) (Read error: Connection reset by peer) |
| 10:46:12 | × | yauhsien quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 10:46:15 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 10:48:24 | → | alx741 joins (~alx741@157.100.197.240) |
| 10:50:21 | → | ishutin joins (~ishutin@fibhost-66-208-172.fibernet.hu) |
| 10:51:57 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 10:53:46 | × | drdo quits (~drdo@roach0.drdo.eu) (Quit: Ping timeout (120 seconds)) |
| 10:54:05 | → | drdo joins (~drdo@roach0.drdo.eu) |
| 10:54:18 | → | yauhsien joins (~Yau-Hsien@61-231-19-150.dynamic-ip.hinet.net) |
| 11:01:40 | × | glguy quits (x@libera/staff/glguy) (Read error: Connection reset by peer) |
| 11:02:02 | → | glguy joins (x@libera/staff/glguy) |
| 11:02:18 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 11:02:33 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 11:02:35 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 11:08:41 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 11:09:36 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 11:09:49 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 11:10:00 | → | alx741 joins (~alx741@157.100.197.240) |
| 11:13:15 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 11:13:19 | × | zaquest quits (~notzaques@5.130.79.72) (Quit: Leaving) |
| 11:14:08 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 11:17:32 | → | fendor_ joins (~fendor@91.141.59.141.wireless.dyn.drei.com) |
| 11:17:45 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 11:17:56 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 11:19:30 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 11:20:05 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 11:20:40 | → | Vajb joins (~Vajb@2001:999:600:5133:28cb:83bf:5ecf:4314) |
| 11:20:42 | × | fendor quits (~fendor@178.165.167.221.wireless.dyn.drei.com) (Ping timeout: 272 seconds) |
| 11:26:51 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 11:27:29 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 11:30:41 | → | Benzi-Junior joins (~BenziJuni@dsl-149-64-179.hive.is) |
| 11:32:33 | → | alx741 joins (~alx741@157.100.197.240) |
| 11:34:13 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 11:34:24 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 11:35:37 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 11:36:36 | → | __monty__ joins (~toonn@user/toonn) |
| 11:37:23 | → | nil joins (~user@134.209.106.31) |
| 11:37:24 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 11:37:33 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 11:38:17 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 11:38:29 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 11:38:38 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 11:38:46 | → | coot joins (~coot@213.134.190.95) |
| 11:40:48 | × | komikat quits (~komikat@183.82.154.239) (Remote host closed the connection) |
| 11:43:20 | × | juhp quits (~juhp@128.106.188.82) (Quit: juhp) |
| 11:43:34 | → | juhp joins (~juhp@128.106.188.82) |
| 11:44:27 | → | komikat joins (~komikat@183.82.154.239) |
| 11:48:41 | × | juhp quits (~juhp@128.106.188.82) (Quit: juhp) |
| 11:48:56 | → | juhp joins (~juhp@128.106.188.82) |
| 11:52:23 | × | nil quits (~user@134.209.106.31) (Ping timeout: 272 seconds) |
| 11:53:57 | → | alx741 joins (~alx741@181.199.42.143) |
| 11:54:02 | × | juhp quits (~juhp@128.106.188.82) (Quit: juhp) |
| 11:54:15 | → | juhp joins (~juhp@128.106.188.82) |
| 11:55:44 | × | Akiva quits (~Akiva@user/Akiva) (Ping timeout: 256 seconds) |
| 11:56:40 | × | yrlnry quits (~mjd@pool-74-109-20-19.phlapa.fios.verizon.net) (Remote host closed the connection) |
| 11:57:26 | × | benin quits (~benin@117.202.69.195) (Ping timeout: 256 seconds) |
| 12:00:29 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 12:03:02 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 12:03:10 | × | whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 12:03:21 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 12:06:27 | → | zaquest joins (~notzaques@5.130.79.72) |
| 12:11:29 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 12:12:10 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Ping timeout: 256 seconds) |
| 12:13:26 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 12:13:27 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 12:13:50 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 12:15:12 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 12:19:42 | × | dvdrw quits (~dvdrw@user/dvdrw) (Quit: leaving) |
| 12:19:55 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 12:21:41 | × | vickyHaskell quits (~textual@49.37.169.2) (Quit: Textual IRC Client: www.textualapp.com) |
| 12:22:04 | <Unhammer> | yeah it's only when the filter is on the inside it hangs |
| 12:22:12 | × | xff0x quits (~xff0x@2001:1a81:53ab:2800:b38f:e60b:4875:f7ef) (Ping timeout: 240 seconds) |
| 12:22:24 | <Unhammer> | filter . take -- fine |
| 12:22:27 | <Unhammer> | take . filter -- hangs |
| 12:22:47 | <merijn> | Which makes sense |
| 12:23:45 | <Unhammer> | I don't understand |
| 12:24:06 | <merijn> | Unhammer: take *always* returns a finite list |
| 12:24:13 | <merijn> | filter on a finite list always terminates |
| 12:24:17 | <Unhammer> | that part i get |
| 12:24:26 | <Unhammer> | what I don't get is why it hangs when it's backwards |
| 12:24:31 | <merijn> | filter on an infinite list will infinitely keep chasing that list to see if something else matches |
| 12:24:36 | × | cynomys quits (~cynomys@user/cynomys) (Ping timeout: 240 seconds) |
| 12:24:45 | <Unhammer> | but it can't give the matches to take and then be lazily cut off? |
| 12:24:49 | <merijn> | Unhammer: Filter doesn't know your list is monotonically increasing |
| 12:24:53 | <merijn> | Unhammer: It does |
| 12:24:59 | <merijn> | Unhammer: But take tries to match 1 more |
| 12:25:10 | <merijn> | So, filter keeps chasing for the "next" unfiltered element |
| 12:25:14 | <merijn> | Which it will never find |
| 12:25:32 | <merijn> | Unhammer: Classic case of confusing "filter" with 'takeWhile" |
| 12:25:48 | <Unhammer> | oooh |
| 12:25:51 | <Unhammer> | doh |
| 12:26:32 | <Unhammer> | thank you for clearing that up, will help me sleep tonight :) |
| 12:26:35 | <merijn> | Like, it's obvious to *us* that in an ever increasing list there will never be another elements (<10), but GHC and filter don't know that |
| 12:26:37 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 12:26:41 | → | xff0x joins (~xff0x@2001:1a81:53ab:2800:b38f:e60b:4875:f7ef) |
| 12:27:09 | <merijn> | filter can only check every individual element of a list and see if it matches. It's just, you know, taking infinitely long to check all elements of an infinite list :) |
| 12:27:09 | <hpc> | if it helps, just think, filter = grep |
| 12:27:40 | <merijn> | takeWhile, on the other hand, aborts at the first failure and stops |
| 12:27:48 | <merijn> | > takeWhile (<10) [1..] |
| 12:27:50 | <lambdabot> | [1,2,3,4,5,6,7,8,9] |
| 12:27:58 | <merijn> | > take 10 [1..] |
| 12:28:00 | <lambdabot> | [1,2,3,4,5,6,7,8,9,10] |
| 12:28:01 | <merijn> | as does take |
| 12:28:10 | <Unhammer> | $ yes|head|grep no |
| 12:28:13 | <Unhammer> | $ yes|grep no|head |
| 12:28:15 | <Unhammer> | ^C |
| 12:28:17 | <Unhammer> | ok |
| 12:28:17 | <merijn> | > filter (<1) [1..] |
| 12:28:20 | <Unhammer> | :) |
| 12:28:20 | <hpc> | (added bonus, if you're like me and think "filter stuff out", you can keep track of if you need to negate your predicate) |
| 12:28:24 | <lambdabot> | mueval-core: Time limit exceeded |
| 12:28:29 | <merijn> | > filter (<2) [1..] |
| 12:28:36 | <lambdabot> | mueval-core: Time limit exceeded |
| 12:28:37 | <merijn> | aww |
| 12:28:41 | <merijn> | not lazy enough :p |
| 12:29:04 | <hpc> | > filter (<3) [1..] |
| 12:29:10 | <lambdabot> | mueval-core: Time limit exceeded |
| 12:29:17 | <merijn> | hpc: I don't think I ever used filter without having to check in ghci using "filter even [1..10]" to remember how it works :p |
| 12:29:31 | <hpc> | hmm, i guess it's only exceptions that give partial output |
| 12:29:43 | <hpc> | merijn: now you can uses the grep trick too then :D |
| 12:30:07 | → | alx741 joins (~alx741@181.199.42.143) |
| 12:30:12 | <hpc> | fun fact: in perl filter is a keyword and it's actually called grep |
| 12:31:24 | <tomsmeding> | doesn't lambdabot give partial output only when its output buffer is filled before the time limit? |
| 12:31:25 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 12:31:31 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 12:31:31 | × | jespada quits (~jespada@85.255.234.190) (Read error: Connection reset by peer) |
| 12:32:10 | → | ph88 joins (~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) |
| 12:32:22 | × | komikat quits (~komikat@183.82.154.239) (Remote host closed the connection) |
| 12:32:53 | <tomsmeding> | let f n | n < 2 = 1 | True = f (n-1) + f (n`div`2) in map f [1..] |
| 12:32:53 | → | yauhsien_ joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 12:32:55 | <tomsmeding> | > let f n | n < 2 = 1 | True = f (n-1) + f (n`div`2) in map f [1..] |
| 12:33:01 | <lambdabot> | mueval-core: Time limit exceeded |
| 12:33:05 | <tomsmeding> | > [1..] |
| 12:33:07 | <lambdabot> | [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,... |
| 12:33:46 | <hpc> | > [1, 2, error "also this"] |
| 12:33:46 | <tomsmeding> | hm, apparently not, that prefix of the f thing should finish _very_ quickly |
| 12:33:48 | <lambdabot> | [1,2,*Exception: also this |
| 12:34:10 | <tomsmeding> | > take 30 $ let f n | n < 2 = 1 | True = f (n-1) + f (n`div`2) in map f [1..] |
| 12:34:12 | <lambdabot> | [1,2,3,5,7,10,13,18,23,30,37,47,57,70,83,101,119,142,165,195,225,262,299,346... |
| 12:34:14 | <tomsmeding> | longer prefix |
| 12:34:22 | × | juhp quits (~juhp@128.106.188.82) (Quit: juhp) |
| 12:34:35 | → | juhp joins (~juhp@128.106.188.82) |
| 12:35:15 | → | komikat joins (~komikat@183.82.154.239) |
| 12:38:38 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 12:40:37 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 12:41:35 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 12:43:48 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 12:44:02 | ← | juhp parts (~juhp@128.106.188.82) (Good Bye) |
| 12:44:04 | → | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 12:45:47 | → | acidjnk joins (~acidjnk@p200300d0c718c027c4e2756bf84aaa21.dip0.t-ipconnect.de) |
| 12:46:30 | × | acidjnk_new quits (~acidjnk@p200300d0c714a49878af4a2b338b7680.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 12:46:51 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 12:47:43 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 12:49:06 | → | burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
| 12:49:32 | × | zeenk quits (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) (Quit: Konversation terminated!) |
| 12:50:25 | × | burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection) |
| 12:50:51 | → | burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
| 12:53:23 | × | bliminse quits (~bliminse@host109-152-150-162.range109-152.btcentralplus.com) (Quit: leaving) |
| 12:55:21 | × | burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 245 seconds) |
| 12:55:23 | → | alx741 joins (~alx741@157.100.197.240) |
| 12:57:16 | × | alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 12:57:37 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Ping timeout: 272 seconds) |
| 13:01:57 | × | komikat quits (~komikat@183.82.154.239) (Remote host closed the connection) |
| 13:02:28 | → | alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 13:02:53 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 13:04:41 | → | bliminse joins (~bliminse@host109-152-150-162.range109-152.btcentralplus.com) |
| 13:06:02 | → | komikat joins (~komikat@183.82.154.239) |
| 13:08:00 | × | komikat quits (~komikat@183.82.154.239) (Remote host closed the connection) |
| 13:15:34 | <dminuoso> | Is there some convenience thing that lets me generate all possible unary constructors for a data type? |
| 13:16:08 | <dminuoso> | Originally I thought Enum was that, but that lacks Bounded as a superclass |
| 13:16:55 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 13:18:55 | <dminuoso> | The least painful way seems to cook up something with Data like `gen :: Data a => [a]` |
| 13:19:13 | <dminuoso> | Sorry. I meant *nullary* constructors of course. |
| 13:19:26 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 13:19:34 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 13:19:39 | <tomsmeding> | are there also non-nullary constructors that you want to skip? |
| 13:20:10 | <dminuoso> | No, or rather I dont care either way |
| 13:20:26 | → | komikat joins (~komikat@183.82.154.239) |
| 13:20:32 | → | shapr joins (~user@pool-173-73-44-186.washdc.fios.verizon.net) |
| 13:20:35 | <tomsmeding> | type Enum' a = (Enum a, Bounded a) |
| 13:20:40 | <tomsmeding> | does that help? :p |
| 13:20:51 | <dminuoso> | tomsmeding: Is Bounded deriveable? |
| 13:20:58 | <dminuoso> | % data Foo = Foo | Bar deriving Bounded |
| 13:20:58 | <yahb> | dminuoso: |
| 13:21:00 | <dminuoso> | Oh wow. |
| 13:21:02 | <dminuoso> | I did not expect that |
| 13:21:06 | → | alx741 joins (~alx741@157.100.197.240) |
| 13:21:13 | <dminuoso> | % minBound :: Foo |
| 13:21:13 | <yahb> | dminuoso: ; <interactive>:19:1: error:; * No instance for (Show Foo) arising from a use of `print'; * In a stmt of an interactive GHCi command: print it |
| 13:21:19 | <dminuoso> | % data Foo = Foo | Bar deriving (Bounded, Show) |
| 13:21:19 | <yahb> | dminuoso: |
| 13:21:19 | <tomsmeding> | heh |
| 13:21:24 | <dminuoso> | % minBound :: Foo |
| 13:21:24 | <yahb> | dminuoso: Foo |
| 13:21:28 | <dminuoso> | % maxBound :: Foo |
| 13:21:28 | <yahb> | dminuoso: Bar |
| 13:21:33 | <dminuoso> | tomsmeding: Alright, yes. That will work! |
| 13:21:35 | <tomsmeding> | :D |
| 13:22:39 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d024:453c:94af:7479) |
| 13:22:53 | → | burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
| 13:23:50 | × | acidjnk quits (~acidjnk@p200300d0c718c027c4e2756bf84aaa21.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 13:25:29 | <tomsmeding> | :t [minBound..maxBound] |
| 13:25:29 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 13:25:30 | <lambdabot> | (Bounded a, Enum a) => [a] |
| 13:26:12 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 13:26:12 | → | dimsuz joins (~dimsuz@185.17.131.184) |
| 13:26:22 | <dminuoso> | tomsmeding: I did not even conceive to try whether Bounded was deriveable until you mentioned it |
| 13:26:27 | <dminuoso> | :) |
| 13:26:42 | × | ccntrq quits (~Thunderbi@2a01:e34:eccb:b060:ea23:2b79:a0de:4996) (Remote host closed the connection) |
| 13:27:02 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d024:453c:94af:7479) (Ping timeout: 240 seconds) |
| 13:27:23 | <tomsmeding> | I guess it kind of makes sense given that Enum is derivable, and deriving Enum basically requires having at least a lower bound |
| 13:27:47 | <dimsuz> | Hi! If I have a list of Maybes and from each of them I want to perform an IO action in a do block if it's a Just, how to proceed? I want something like "whenMaybe val $ do ..." |
| 13:28:37 | <dimsuz> | I could write "case", but its Nothing block would always be "return ()" |
| 13:28:46 | <dminuoso> | tomsmeding: Honestly, Enum very deeply flawed though. |
| 13:29:08 | <dminuoso> | `toEnum :: Int -> a` |
| 13:29:11 | <dminuoso> | That thing shouldn't exist |
| 13:29:42 | → | ccntrq joins (~Thunderbi@2a01:e34:eccb:b060:801:2c01:d0ac:b063) |
| 13:29:46 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 13:30:26 | <dminuoso> | And Im also not entirely happy about `fromEnum :: a -> Int` either |
| 13:30:48 | <dminuoso> | They are very awkward and are sometimes abused for typical enum/integer mappings in protocol settings |
| 13:31:21 | <lortabac> | dimsuz: you can use 'for_' |
| 13:31:49 | <tomsmeding> | dminuoso: not vouching for quality of the design of Enum :p |
| 13:31:58 | → | zeenk joins (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) |
| 13:32:05 | → | jippiedoe joins (~david@2a02-a44c-e14e-1-e90c-8e2f-189d-dd38.fixed6.kpn.net) |
| 13:32:14 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 260 seconds) |
| 13:32:42 | <merijn> | dimsuz: See also "maybe (return ()) f" |
| 13:32:53 | <merijn> | although for_/forM_ may look cleaner |
| 13:33:09 | <lortabac> | dimsuz: or alternatively you can use 'catMaybes' on the list and 'sequenceA' to perform the actions |
| 13:33:44 | <dminuoso> | Also, `wither` is a very functional thing |
| 13:33:58 | <dminuoso> | % wither f t = catMaybes <$> traverse f t |
| 13:33:58 | <yahb> | dminuoso: |
| 13:34:02 | <dminuoso> | % :t wither |
| 13:34:02 | <yahb> | dminuoso: Applicative f => (a1 -> f (Maybe a2)) -> [a1] -> f [a2] |
| 13:34:04 | <merijn> | dimsuz: How did you get the list of maybes? |
| 13:34:10 | <dminuoso> | Is something I very frequently define in my projects. :) |
| 13:34:24 | <merijn> | 'cause maybe you just want mapMaybe instead |
| 13:34:26 | <merijn> | :t mapMaybe |
| 13:34:27 | <lambdabot> | (a -> Maybe b) -> [a] -> [b] |
| 13:34:43 | <lortabac> | merijn: +1 |
| 13:35:03 | <dimsuz> | merijn, lortabac I wrongly said "I have a list of Maybe's". I meant I have four distinct maybe's on which I need to act separately :) So I guess it's either mapMaybe or maybe |
| 13:35:38 | <dimsuz> | Initially I hoped to do with a list of Maybe's, but that's not going to work and it's another question, I guess I'll ask it separately (one moment) |
| 13:35:56 | <dminuoso> | dimsuz: Also, do-notation with Maybe can be very elegant. |
| 13:36:22 | <dminuoso> | Just throwing in additional bits that might help *shrugs* |
| 13:36:44 | <lortabac> | dimsuz: if you have a single value of type Maybe, you can use either 'for_' or 'maybe (pure ())' |
| 13:42:15 | → | alx741 joins (~alx741@157.100.197.240) |
| 13:42:59 | → | acidjnk joins (~acidjnk@dynamic-089-204-137-076.89.204.137.pool.telefonica.de) |
| 13:43:08 | <dimsuz> | I was trying to build an Sqlite.Simple update query where a set of update parameters comes from user. He can decide to update 1 up to 4 params. I wanted to create a named query |
| 13:43:08 | <dimsuz> | let params = ["param1 = :param1", "param2 = :param2", ...] |
| 13:43:09 | <dimsuz> | args = [":param1" := param1, ":param2" := param2, ...] |
| 13:43:10 | <dimsuz> | in (executeNamed ("UPDATE table SET " <> params) args) |
| 13:43:10 | <dimsuz> | where params and args are build from list of Maybe's coming from user input but Sqlite.Simple doesn't allow me to build Query from non-literal strings (understandably though). |
| 13:43:11 | <dimsuz> | I have resorted to doing 1-4 separate updates instead of dynamically building from list. Is it OK? |
| 13:43:29 | <dimsuz> | sorry for multiline. I have just recalled I should've used hpaste :( |
| 13:45:49 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 13:45:59 | <geekosaur> | hpaste is gone, sadly |
| 13:46:07 | <geekosaur> | @where paste |
| 13:46:07 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
| 13:47:41 | <dimsuz> | thanks! will use it next time! also I have realzed this may be offtopic, as it's some DB-library specific question |
| 13:47:42 | × | burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection) |
| 13:47:58 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 13:49:20 | <geekosaur> | it's still a Haskell question. and I am not sure your list idea would even work since a list hasto have items allof the same type |
| 13:49:37 | <geekosaur> | you can't stuff aMaybe Int and a Maybe Text into the same list |
| 13:51:26 | <dimsuz> | I was converting them to Sqlite.Simple's NamedParam types so it worked type-wise right up until I stubled on this "newtype Query = Text" which only has IsString and is not possible to build other than from literal strings (for protection from injection) |
| 13:51:39 | → | acidjnk_new joins (~acidjnk@dynamic-089-204-137-076.89.204.137.pool.telefonica.de) |
| 13:52:00 | → | Ash[m] joins (~signal-wa@2001:470:69fc:105::1:2318) |
| 13:52:08 | <tomsmeding> | (you can use Data.String.fromString, but that's explicitly working around the protection, so think hard before you do that) |
| 13:52:43 | × | max22- quits (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Ping timeout: 250 seconds) |
| 13:53:45 | <tomsmeding> | dimsuz: how are you doing the separate updates? If the column name is coming from user input, how does that even work in the first place? |
| 13:53:47 | <dimsuz> | Oh, nice. thanks! Yes, I understand this is risky. And 4 distinct updates instead of 1 do not sound bad actually, it's just that they are a bit uglier in code. But I doubt I'll ever have more |
| 13:54:17 | × | acidjnk quits (~acidjnk@dynamic-089-204-137-076.89.204.137.pool.telefonica.de) (Ping timeout: 240 seconds) |
| 13:54:58 | <dimsuz> | tomsmeding users sends in a PUT containing json with either full set of fields to update or some of them. From this json I derive a list of table columns to update |
| 14:01:07 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
| 14:02:17 | → | alx741 joins (~alx741@181.199.42.143) |
| 14:02:26 | <tomsmeding> | dimsuz: I guess my question is, how are you getting a user-specified column name into the query in the first place. If you can do that, why can't you do four of them? |
| 14:04:33 | → | jespada joins (~jespada@85.255.234.190) |
| 14:04:57 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 14:06:07 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 14:06:07 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 14:06:46 | → | alx741 joins (~alx741@181.199.42.143) |
| 14:06:56 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 14:08:41 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 14:08:41 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 14:09:49 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 14:10:19 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 14:10:29 | → | CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 14:11:41 | × | komikat quits (~komikat@183.82.154.239) (Remote host closed the connection) |
| 14:13:59 | → | komikat joins (~komikat@183.82.154.239) |
| 14:14:43 | × | jippiedoe quits (~david@2a02-a44c-e14e-1-e90c-8e2f-189d-dd38.fixed6.kpn.net) (Quit: Leaving) |
| 14:15:40 | → | lavaman joins (~lavaman@98.38.249.169) |
| 14:16:02 | → | max22- joins (~maxime@2a01cb08833598005699785cb4ec772c.ipv6.abo.wanadoo.fr) |
| 14:17:02 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 14:17:26 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 14:17:35 | <dimsuz> | tomsmeding it's not strictly user defined, it's mapped into my record type by aeson. All json fields are Maybe's. User can fill either all or some. Then I thought I could pair up each of record fields with it's db column name, put them in a list and construct an update query using catMaybe's. But restriction on having literal string queries |
| 14:17:36 | <dimsuz> | prevents this. So I'm currently going with 4 distinct `for_`'s as suggested above. Would be troublesome if I had 100 of those, but nowhere near this :) |
| 14:18:11 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 14:18:11 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 14:18:11 | → | wroathe joins (~wroathe@user/wroathe) |
| 14:18:12 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 14:19:01 | → | jkaye joins (~jkaye@2601:281:8300:7530:1f3b:3a8f:f843:9a79) |
| 14:19:16 | → | burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
| 14:20:07 | → | jao joins (~jao@static-68-235-44-77.cust.tzulo.com) |
| 14:21:27 | × | cosimone quits (~user@93-34-132-33.ip49.fastwebnet.it) (Remote host closed the connection) |
| 14:22:03 | × | komikat quits (~komikat@183.82.154.239) (Remote host closed the connection) |
| 14:22:17 | → | cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
| 14:26:19 | × | yauhsien_ quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 14:27:06 | → | yauhsien_ joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 14:27:06 | → | alx741 joins (~alx741@181.199.42.143) |
| 14:27:29 | → | zer0bitz joins (~zer0bitz@2001:2003:f74d:b800:b4a7:dec3:a543:4b87) |
| 14:30:05 | × | burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 272 seconds) |
| 14:30:05 | × | Vajb quits (~Vajb@2001:999:600:5133:28cb:83bf:5ecf:4314) (Read error: Connection reset by peer) |
| 14:30:34 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 14:31:08 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 14:31:48 | × | yauhsien_ quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 14:32:23 | → | mvk joins (~mvk@2607:fea8:5cdc:bf00::99e7) |
| 14:32:43 | × | alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Remote host closed the connection) |
| 14:33:00 | → | alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 14:34:11 | → | komikat joins (~komikat@183.82.154.239) |
| 14:34:11 | → | shriekingnoise joins (~shrieking@201.231.16.156) |
| 14:35:50 | → | yauhsien_ joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 14:36:44 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 250 seconds) |
| 14:36:55 | → | doyougnu joins (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) |
| 14:38:41 | → | dalek_caan joins (~Thunderbi@109.252.124.86) |
| 14:43:23 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:46:57 | × | yauhsien_ quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 14:47:21 | → | alx741 joins (~alx741@181.199.42.143) |
| 14:47:50 | → | yauhsien_ joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 14:48:51 | × | dimsuz quits (~dimsuz@185.17.131.184) (Ping timeout: 256 seconds) |
| 14:48:52 | × | jespada quits (~jespada@85.255.234.190) (Read error: Connection reset by peer) |
| 14:49:08 | × | yauhsien quits (~Yau-Hsien@61-231-19-150.dynamic-ip.hinet.net) (Quit: Leaving) |
| 14:49:16 | → | burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
| 14:50:32 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 14:54:17 | → | bahamas joins (~lucian@84.232.140.52) |
| 14:56:13 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 14:57:00 | × | xff0x quits (~xff0x@2001:1a81:53ab:2800:b38f:e60b:4875:f7ef) (Ping timeout: 240 seconds) |
| 14:58:20 | → | vysn joins (~vysn@user/vysn) |
| 14:58:59 | → | xff0x joins (~xff0x@2001:1a81:53c8:8500:d186:ea73:d14c:679b) |
| 14:59:27 | × | acidjnk_new quits (~acidjnk@dynamic-089-204-137-076.89.204.137.pool.telefonica.de) (Read error: Connection reset by peer) |
| 15:00:27 | → | acidjnk joins (~acidjnk@dynamic-089-204-137-076.89.204.137.pool.telefonica.de) |
| 15:00:32 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 15:02:04 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 15:02:05 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 15:02:05 | → | wroathe joins (~wroathe@user/wroathe) |
| 15:05:36 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds) |
| 15:05:41 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 15:07:35 | → | alx741 joins (~alx741@157.100.197.240) |
| 15:07:36 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 15:09:21 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 272 seconds) |
| 15:10:06 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 15:10:17 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 15:10:44 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 15:11:48 | × | Megant quits (megant@user/megant) (Ping timeout: 256 seconds) |
| 15:12:30 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
| 15:12:45 | × | AlexNoo quits (~AlexNoo@178.34.160.252) (Quit: Leaving) |
| 15:13:27 | → | Megant joins (megant@user/megant) |
| 15:14:07 | × | AlexZenon quits (~alzenon@178.34.160.252) (Quit: ;-) |
| 15:14:27 | × | Alex_test quits (~al_test@178.34.160.252) (Quit: ;-) |
| 15:20:52 | × | acidjnk quits (~acidjnk@dynamic-089-204-137-076.89.204.137.pool.telefonica.de) (Ping timeout: 256 seconds) |
| 15:20:55 | → | mikoto-chan joins (~mikoto-ch@213.177.151.239) |
| 15:21:22 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:65ac:9e8f:4b5e:2c6b) (Quit: WeeChat 2.8) |
| 15:23:33 | → | kadobanana joins (~mud@user/kadoban) |
| 15:23:59 | × | mud quits (~mud@user/kadoban) (Ping timeout: 256 seconds) |
| 15:24:21 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d024:453c:94af:7479) |
| 15:25:32 | → | arjun` joins (~user@103.57.87.142) |
| 15:25:40 | <arjun`> | hi |
| 15:25:56 | <geekosaur> | hi |
| 15:25:57 | <arjun`> | is there a way to see what AST haskell generates for a file ? |
| 15:26:06 | × | komikat quits (~komikat@183.82.154.239) (Remote host closed the connection) |
| 15:26:13 | <arjun`> | geekosaur \o |
| 15:26:33 | <arjun`> | how've ya been |
| 15:26:56 | <Franciman> | arjun`: i think you can use ghc as a library https://wiki.haskell.org/GHC/As_a_library |
| 15:27:08 | <Franciman> | not sure if this is what you are looking for, though |
| 15:27:29 | <geekosaur> | you generally can't see the AST itself directly, but -ddump-ds shows what it transforms your program into before applying optimizations and such |
| 15:27:43 | <geekosaur> | ("ghc core") |
| 15:28:01 | <arjun`> | i've been reading up on template haskell lately, and am curious |
| 15:28:36 | <arjun`> | as to how does the entire process of it happens, start to end, what compiles where and what do we end up with |
| 15:28:36 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d024:453c:94af:7479) (Ping timeout: 240 seconds) |
| 15:29:13 | → | alx741 joins (~alx741@181.199.42.143) |
| 15:29:40 | <arjun`> | the haskell AST isn't the same as the one we get with `runQ` is it? InfixE (LitE (Just (IntegerE 1))) or something like that |
| 15:29:55 | <geekosaur> | ah. this has a complication: the AST TH works with isn't actually the AST GHC works with internally |
| 15:30:13 | <geekosaur> | but I don't know the details there |
| 15:31:16 | <arjun`> | when ghc parses stuff, and comes across template haskell, it has to then parse that AST and add it to the FILE's AST so that it can treat it as regular code of a function or a type declaration right |
| 15:32:10 | <arjun`> | then there's this curious flag -fexternal-interpreter |
| 15:33:22 | <geekosaur> | what's curious about it? |
| 15:33:23 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 15:35:36 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds) |
| 15:36:50 | <merijn> | arjun`: -fexternal-interpreter is related to cross-compilation |
| 15:36:58 | <merijn> | arjun`: Because TH has some nasty edges |
| 15:37:32 | <merijn> | arjun`: Like "what if TH generates code based on the size of an Int, but the GHC on *this* CPU has size 8, while the GHC on the cross-compilation target uses size 4?" |
| 15:38:13 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 15:38:17 | × | vysn quits (~vysn@user/vysn) (Remote host closed the connection) |
| 15:38:38 | → | komikat joins (~komikat@183.82.154.239) |
| 15:39:28 | → | bjourne joins (~bjourne@2001:6b0:1:1140:42bf:ff4:f8fa:50e5) |
| 15:39:49 | <arjun`> | merijn: i see |
| 15:39:51 | <merijn> | arjun`: There is actually a definition of what (conceptually!) is evaluated when. Specifically, TH can see/refer to all code *above* it, but not below it. So if you have a file consisting of 5 code segments "1 A 2 B 3" where A and B are TH splice, the *generated* A code can refer to 1, but not 2, B, or 3. |
| 15:40:32 | → | vysn joins (~vysn@user/vysn) |
| 15:40:38 | <arjun`> | sure, those are the declarations groups |
| 15:40:50 | <arjun`> | if i understood correctly |
| 15:41:27 | <arjun`> | but i was curious, why does TH need separate GHC process to run itself, if it was just an AST insertion |
| 15:41:36 | × | alMalsamo quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds) |
| 15:41:37 | <arjun`> | i think i had the wrong idea |
| 15:41:50 | <geekosaur> | as merijn said, -fexternal-interpreter is for cross compilation |
| 15:41:56 | <geekosaur> | normally you wouldn't use it |
| 15:42:13 | <geekosaur> | but if you're cross-compiling, the TH needs to run on the target |
| 15:42:17 | × | mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 272 seconds) |
| 15:42:34 | <arjun`> | i've been interested in the "lets create a js backend for GHC issue" |
| 15:42:50 | <geekosaur> | it's also sometimes useful on limited memory machines like arduinos |
| 15:43:14 | <arjun`> | and the author asked me to look into TH and GHC and ghcjs |
| 15:43:46 | <arjun`> | and i think node is used with -fexternal-interpreter there ? |
| 15:44:02 | <geekosaur> | I couldn't tell you about ghcjs |
| 15:44:37 | → | alMalsamo joins (~alMalsamo@gateway/tor-sasl/almalsamo) |
| 15:44:37 | <arjun`> | nah, that's fine, i was wondering how it worked in GHC first |
| 15:45:02 | <arjun`> | seems TH isn't a ast to ast splice and TH code must be compiled separately? |
| 15:45:48 | × | abhixec quits (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
| 15:46:31 | <geekosaur> | well, TH is code that generates an AST, not simply an AST |
| 15:46:47 | × | komikat quits (~komikat@183.82.154.239) (Remote host closed the connection) |
| 15:47:06 | <geekosaur> | which is where most of its power lies |
| 15:47:21 | <arjun`> | so, it must first run somewhere right? |
| 15:47:23 | ← | dalek_caan parts (~Thunderbi@109.252.124.86) () |
| 15:47:27 | → | komikat joins (~komikat@183.82.154.239) |
| 15:48:04 | <arjun`> | and to run it must be interpreted or compiled if i have the right idea? |
| 15:49:01 | <geekosaur> | yes. so typically it is compiled by the bytecode compiler (think ghci) and immediately interpreted. with -fexternal-interpreter the compilation is done locally but the interpretation is done by an external process which may be running on a different machine, as with cross-compilation |
| 15:49:31 | → | ShalokShalom joins (~ShalokSha@2a02:1748:dd5e:7f60:c55f:bc58:d177:838) |
| 15:49:35 | <ShalokShalom> | Hi there |
| 15:49:47 | × | yauhsien_ quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 15:50:16 | <arjun`> | geekosaur: that makes so much sense to me rn |
| 15:50:19 | <ShalokShalom> | I try to build stack on my phone, in Termux and I always get a straight 'Bus error' out of a 'stack setup' |
| 15:50:19 | <geekosaur> | and it's intepreted because it's simpler and it's assumed that the overhead of compilation to object code would be more expensive than interpreting it (this tends to be false with some of the fancier uses of TH these days) |
| 15:50:37 | → | alx741 joins (~alx741@181.199.42.143) |
| 15:50:44 | <ShalokShalom> | Hi all |
| 15:50:53 | <arjun`> | hi ! |
| 15:51:51 | <ShalokShalom> | Also running just 'stack' gives me Bus error |
| 15:51:53 | <geekosaur> | I am noyt sure how well stack or indeed any haskell program would work with termux; it plays too many games to pretend android is a full OS |
| 15:52:42 | <ShalokShalom> | Doesnt nessecerily pile up to be a helpful error message. |
| 15:52:52 | <ShalokShalom> | Yeah, probably |
| 15:53:02 | <ShalokShalom> | I just want to compile one package with it |
| 15:53:15 | <ShalokShalom> | Its prebuild binaries are sadly not for arm64 |
| 15:54:35 | <geekosaur> | haskell does not produce that error message; the shell does |
| 15:55:17 | <geekosaur> | it indicates that stack crashed on an OS signal |
| 15:55:18 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 15:55:31 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 15:55:35 | <arjun`> | geekosaur: so now hypothetically suppose if, we have a working JS backend for GHC, in theory, TH code would be compiled to JS (instead of bytecode)? and then run on node (instead of the ghc interpreter)? and then the result then somehow used in the (still on going) compilation process? |
| 15:55:55 | <ShalokShalom> | Ah, it seems there is something |
| 15:55:57 | <ShalokShalom> | https://www.reddit.com/r/haskell/comments/55p0jb/stackghc_on_termux/ |
| 15:56:09 | → | Pickchea joins (~private@user/pickchea) |
| 15:56:09 | <geekosaur> | arjun`, I believe that's what ghcjs does now, yes |
| 15:57:32 | → | yauhsien joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 15:58:25 | <arjun`> | thanks a ton for helping me wrap my head around this geekosaur |
| 15:59:58 | <geekosaur> | I wouldn't be too surprised if stack runs out of memory trying to download the list of resolvers. For that matter I'm amazed ghc didn't run out of memory |
| 16:02:01 | × | yauhsien quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 245 seconds) |
| 16:03:40 | × | ShalokShalom quits (~ShalokSha@2a02:1748:dd5e:7f60:c55f:bc58:d177:838) (Ping timeout: 256 seconds) |
| 16:05:04 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 256 seconds) |
| 16:10:23 | × | mbuf quits (~Shakthi@122.178.120.57) (Quit: Leaving) |
| 16:11:59 | → | alx741 joins (~alx741@157.100.197.240) |
| 16:12:43 | <bjourne> | has anyone of you heard the term "skeleton programming" when referring to parallel execution of higher order functions? |
| 16:15:04 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 16:15:11 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 16:16:41 | → | zebrag joins (~chris@user/zebrag) |
| 16:17:43 | → | little_mac joins (~little_ma@2601:410:4300:3ce0:25e4:decc:c8da:26b5) |
| 16:17:55 | → | jespada joins (~jespada@85.255.234.190) |
| 16:25:23 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 252 seconds) |
| 16:25:55 | → | mikoto-chan joins (~mikoto-ch@213.177.151.239) |
| 16:26:01 | × | komikat quits (~komikat@183.82.154.239) (Remote host closed the connection) |
| 16:31:19 | × | mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 250 seconds) |
| 16:31:19 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 250 seconds) |
| 16:31:58 | → | xkuru joins (~xkuru@user/xkuru) |
| 16:32:01 | → | alx741 joins (~alx741@181.199.42.143) |
| 16:35:50 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 16:36:06 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds) |
| 16:36:30 | → | alx741 joins (~alx741@181.199.42.143) |
| 16:38:41 | × | vysn quits (~vysn@user/vysn) (Ping timeout: 250 seconds) |
| 16:40:52 | → | vickyHaskell joins (~textual@49.37.169.2) |
| 16:43:04 | → | arjun joins (~arjun@user/arjun) |
| 16:43:25 | ← | arjun` parts (~user@103.57.87.142) (ERC 5.4.1 (IRC client for GNU Emacs 29.0.50)) |
| 16:45:14 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 16:46:36 | → | Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
| 16:50:45 | → | komikat joins (~komikat@183.82.154.239) |
| 16:51:31 | → | phma_ joins (phma@2001:5b0:2172:8c78:5f9d:f266:1ca1:f0c) |
| 16:51:32 | × | alp quits (~alp@user/alp) (Ping timeout: 240 seconds) |
| 16:52:07 | → | analognoise joins (~analognoi@ip98-176-154-48.sd.sd.cox.net) |
| 16:54:19 | → | analognoise1 joins (~analognoi@192.145.80.4) |
| 16:54:37 | × | phma quits (~phma@host-67-44-208-227.hnremote.net) (Ping timeout: 240 seconds) |
| 16:54:56 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 16:55:15 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 16:57:14 | × | vickyHaskell quits (~textual@49.37.169.2) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 16:57:37 | × | analognoise quits (~analognoi@ip98-176-154-48.sd.sd.cox.net) (Ping timeout: 240 seconds) |
| 16:59:53 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 17:01:49 | → | alx741 joins (~alx741@157.100.197.240) |
| 17:02:18 | × | MajorBiscuit quits (~MajorBisc@c-001-017-039.client.tudelft.eduvpn.nl) (Ping timeout: 256 seconds) |
| 17:03:39 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 17:04:12 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 17:04:30 | × | Natch quits (~natch@c-4db8e255.014-297-73746f25.bbcust.telenor.se) (Remote host closed the connection) |
| 17:05:09 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 17:05:22 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 17:07:41 | → | Akiva joins (~Akiva@user/Akiva) |
| 17:10:35 | → | lavaman joins (~lavaman@98.38.249.169) |
| 17:15:31 | × | sprout quits (~quassel@2a02:a467:ccd6:1:3d23:94e0:3c0f:8df3) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 17:15:53 | → | sprout joins (~quassel@2a02:a467:ccd6:1:940d:dbf8:92f5:3d86) |
| 17:16:21 | → | AlexZenon joins (~alzenon@178.34.160.252) |
| 17:16:32 | <maerwald> | anyone has an example with servants custom monads, but not with Handler, but with wai's Application? |
| 17:16:34 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 17:16:44 | → | AlexNoo joins (~AlexNoo@178.34.160.252) |
| 17:17:53 | × | jao quits (~jao@static-68-235-44-77.cust.tzulo.com) (Ping timeout: 256 seconds) |
| 17:18:53 | → | Alex_test joins (~al_test@178.34.160.252) |
| 17:19:01 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 17:20:07 | → | jao joins (~jao@66.63.167.125) |
| 17:20:51 | → | vicfred joins (~vicfred@user/vicfred) |
| 17:21:36 | × | ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec) |
| 17:21:51 | → | alx741 joins (~alx741@157.100.197.240) |
| 17:24:32 | → | coot joins (~coot@213.134.190.95) |
| 17:25:54 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d024:453c:94af:7479) |
| 17:29:42 | → | ShalokShalom joins (~ShalokSha@2a02:1748:dd5e:7f60:f56a:2bb4:a975:dd85) |
| 17:30:12 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d024:453c:94af:7479) (Ping timeout: 240 seconds) |
| 17:30:17 | <ShalokShalom> | ./stack-2.7.1-linux-aarch64.bin setup |
| 17:30:17 | <ShalokShalom> | Could not parse '/root/.stack/config.yaml': |
| 17:30:18 | <ShalokShalom> | Aeson exception: |
| 17:30:18 | <ShalokShalom> | Error in $: parsing ConfigMonoid failed, expected Object, but encountered Null |
| 17:30:19 | <ShalokShalom> | See http://docs.haskellstack.org/en/stable/yaml_configuration/ |
| 17:30:40 | <ShalokShalom> | So, I downloaded just the binary, is it complaining now, that I lack a yaml? |
| 17:32:16 | → | Natch joins (~natch@c-4db8e255.014-297-73746f25.bbcust.telenor.se) |
| 17:32:36 | <ShalokShalom> | Why dont they create one, or put one to the download? |
| 17:32:49 | <c_wraith> | ... far more important, why is it looking in /root ? |
| 17:33:01 | × | dons quits (~dons@user/dons) (Quit: Lost terminal) |
| 17:33:22 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 17:34:05 | <ShalokShalom> | I did it in home, same |
| 17:34:36 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 17:35:37 | <c_wraith> | I'd be super wary of file ownership issues breaking all sorts of things at this point. |
| 17:35:53 | <c_wraith> | since you clearly ran some commands as root |
| 17:36:29 | × | ShalokShalom quits (~ShalokSha@2a02:1748:dd5e:7f60:f56a:2bb4:a975:dd85) (Quit: Ping timeout (120 seconds)) |
| 17:37:10 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 17:37:52 | × | jkaye quits (~jkaye@2601:281:8300:7530:1f3b:3a8f:f843:9a79) (Remote host closed the connection) |
| 17:38:13 | → | jkaye joins (~jkaye@2601:281:8300:7530:1f3b:3a8f:f843:9a79) |
| 17:38:14 | × | ubert1 quits (~Thunderbi@2a02:8109:9880:303c:34eb:c52f:ccd4:3473) (Remote host closed the connection) |
| 17:40:29 | → | akegalj joins (~akegalj@93-139-180-172.adsl.net.t-com.hr) |
| 17:42:46 | → | wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 17:42:46 | × | wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 17:42:46 | → | wroathe joins (~wroathe@user/wroathe) |
| 17:44:59 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) |
| 17:47:53 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 17:49:29 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 17:50:32 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 17:50:47 | → | Guest60 joins (~Guest60@134.101.5.46) |
| 17:51:26 | → | alx741 joins (~alx741@157.100.197.240) |
| 17:53:38 | <Guest60> | is it possible to change a last element in a list of strings? for example list of names, ["Arnold, "1000 more names", "NameToChange"]? Or even if I want to add a specific element, is it possible? |
| 17:53:55 | <Guest60> | not add, but change a specific element of the list let's say at the index 10 |
| 17:53:56 | <dminuoso> | Yes, but not comfortably |
| 17:54:14 | <dminuoso> | What I would do is write `map1 :: (a -> a) -> [a] -> [a]` that maps over the first element |
| 17:54:17 | × | kuribas quits (~user@ptr-25vy0ial5agu2xq2mv8.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 17:54:25 | <dminuoso> | And then write `reverse . map1 f . reverse` |
| 17:55:08 | <dminuoso> | But really, random manipulation lists is not convenient due to how lists are made. At the end lists are more like control structure rather than data structure |
| 17:55:24 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 17:55:46 | <Guest60> | I was thinking about a similar solution with reverse, the idea is that I have a list of names and I want to separate them with semicolons, and I want to get rid of the last semicolon, I though about reversing a list and taking all chars except the last without a semicolon and reversing it back..any better solution? |
| 17:56:23 | <Guest60> | so I want to populate a list with ["A";"B"; ...; "Z";] and get rid of the last semicolon |
| 17:56:29 | × | ccntrq quits (~Thunderbi@2a01:e34:eccb:b060:801:2c01:d0ac:b063) (Remote host closed the connection) |
| 17:56:35 | <dminuoso> | Guest60: You might be interested in the following primitives |
| 17:56:37 | <dminuoso> | % :t intercalate |
| 17:56:37 | <yahb> | dminuoso: [a] -> [[a]] -> [a] |
| 17:56:51 | <dminuoso> | % :t intersperse |
| 17:56:51 | <yahb> | dminuoso: a -> [a] -> [a] |
| 17:57:02 | <dminuoso> | Are these, by any chance, helpful to you? |
| 17:57:18 | <dminuoso> | % intercalate ";" ["foo", "bar", "quux"] |
| 17:57:18 | <yahb> | dminuoso: "foo;bar;quux" |
| 17:59:08 | <Guest60> | I wll check this out, ty. |
| 18:00:51 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d024:453c:94af:7479) |
| 18:00:55 | × | burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection) |
| 18:01:04 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection) |
| 18:01:30 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 18:03:02 | × | douglaswinship quits (~douglaswi@78.40.148.180) (Remote host closed the connection) |
| 18:05:50 | → | eriol joins (~eriol@user/eriol) |
| 18:06:48 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Remote host closed the connection) |
| 18:07:24 | × | pooryorick quits (~pooryoric@87-119-174-173.tll.elisa.ee) (Ping timeout: 240 seconds) |
| 18:07:31 | sprout | is now known as egelbot |
| 18:07:33 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 18:08:17 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) |
| 18:08:22 | → | pooryorick joins (~pooryoric@87-119-174-173.tll.elisa.ee) |
| 18:09:54 | → | econo joins (uid147250@user/econo) |
| 18:09:58 | → | vickyHaskell joins (~textual@49.37.169.2) |
| 18:12:00 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 256 seconds) |
| 18:13:38 | → | ProfSimm joins (~ProfSimm@118.125.246.35.bc.googleusercontent.com) |
| 18:13:58 | → | alx741 joins (~alx741@181.199.42.143) |
| 18:14:33 | <EvanR> | Guest60, to edit the last element of a list (to write a helper that applies a function to the last element of a list), I'd probably define it directly as two equations. |
| 18:14:36 | × | doyougnu quits (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 240 seconds) |
| 18:14:50 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection) |
| 18:14:56 | <EvanR> | note that such a function needs special treatment for [] |
| 18:15:07 | egelbot | is now known as sprout |
| 18:15:23 | <EvanR> | do you crash or react to [] with another [] |
| 18:15:36 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) |
| 18:16:08 | → | cfricke joins (~cfricke@user/cfricke) |
| 18:16:12 | <EvanR> | if you're dealing with non-empty lists, Data.List.NonEmpty can allow you to avoid the question |
| 18:16:45 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 18:17:18 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 18:17:26 | → | alx741 joins (~alx741@157.100.197.240) |
| 18:17:35 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection) |
| 18:18:36 | × | fef quits (~thedawn@user/thedawn) (Ping timeout: 240 seconds) |
| 18:20:35 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 18:20:36 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 18:22:03 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
| 18:24:50 | → | jgeerds joins (~jgeerds@d53600c5.access.ecotel.net) |
| 18:24:53 | sprout | is now known as egelbot |
| 18:25:01 | × | ph88 quits (~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) (Quit: Leaving) |
| 18:25:53 | egelbot | is now known as sprout |
| 18:27:26 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) |
| 18:27:26 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 18:28:09 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 18:28:29 | → | wonko joins (~wjc@user/wonko) |
| 18:34:31 | → | burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
| 18:38:46 | → | emf joins (~emf@c-73-97-137-43.hsd1.wa.comcast.net) |
| 18:38:46 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 18:39:00 | → | alx741 joins (~alx741@181.199.42.143) |
| 18:39:12 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection) |
| 18:40:07 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 18:40:15 | × | burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 272 seconds) |
| 18:40:21 | → | turlando joins (~turlando@93-42-250-112.ip89.fastwebnet.it) |
| 18:40:21 | × | turlando quits (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host) |
| 18:40:22 | → | turlando joins (~turlando@user/turlando) |
| 18:41:48 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 18:41:58 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) |
| 18:42:28 | → | alx741 joins (~alx741@181.199.42.143) |
| 18:42:42 | <sm> | can you publish a haskell app in the microsoft app store, does anyone know ? |
| 18:44:14 | <maerwald> | sm: tell me if you figure it out |
| 18:44:21 | <maerwald> | I'm also interested |
| 18:44:51 | <dminuoso> | The microsoft store policies dont seem to give a reason against it |
| 18:44:59 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 18:45:05 | <dminuoso> | https://docs.microsoft.com/en-us/windows/uwp/publish/store-policies#102-security |
| 18:45:05 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 18:45:10 | <sm> | https://docs.microsoft.com/en-us/windows/uwp/publish/ |
| 18:45:28 | <dminuoso> | Appears to be the only section that somewhat relates to what's inside. So as long as you conform to that |
| 18:45:39 | × | ProfSimm quits (~ProfSimm@118.125.246.35.bc.googleusercontent.com) (Remote host closed the connection) |
| 18:45:50 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 18:46:24 | → | emf_ joins (~emf@2620:10d:c090:400::5:e9f1) |
| 18:46:38 | <sm> | https://docs.microsoft.com/en-us/windows/uwp/publish/msiexe/overview is useful |
| 18:46:57 | <sm> | but it seems quite hard to be certain without going through it. Or finding an existing app.. can't think of one offhand |
| 18:47:28 | <sm> | dminuoso: thanks |
| 18:47:54 | <dminuoso> | sm: the policies are very short. |
| 18:48:12 | <dminuoso> | If you go through it thoroughly, it seems like a 15 minute read |
| 18:48:33 | <dminuoso> | 30 if you're being extra careful I guess |
| 18:48:57 | × | emf quits (~emf@c-73-97-137-43.hsd1.wa.comcast.net) (Ping timeout: 240 seconds) |
| 18:49:07 | <sm> | I still won't be certain |
| 18:49:50 | <dminuoso> | You never will be. At the end you're at the mercy of some random store algorithm's whim. |
| 18:49:53 | <sm> | for my particular app at least, which is slightly harder than "any haskell app in principle" |
| 18:49:54 | <dminuoso> | Or some admins whim. |
| 18:51:30 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection) |
| 18:51:30 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 18:51:54 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) |
| 18:52:37 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection) |
| 18:52:45 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 18:52:50 | <sm> | I'll be certain if I do it and succeed |
| 18:53:53 | <sm> | but if anyone thinks of an existing windows app store haskell app, do let us know |
| 18:54:11 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 272 seconds) |
| 18:55:52 | → | Pickchea joins (~private@user/pickchea) |
| 18:56:16 | × | sprout quits (~quassel@2a02:a467:ccd6:1:940d:dbf8:92f5:3d86) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 18:56:38 | → | sprout joins (~quassel@2a02:a467:ccd6:1:940d:dbf8:92f5:3d86) |
| 18:59:21 | × | vickyHaskell quits (~textual@49.37.169.2) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 18:59:26 | → | slack1256 joins (~slack1256@45.4.2.52) |
| 18:59:29 | × | Batzy quits (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 18:59:57 | <slack1256> | Has anyone seen this error before launching a binary inside docker? "a.out: internal error: Itimer: Failed to spawn thread: Operation not permitted" |
| 19:00:14 | × | komikat quits (~komikat@183.82.154.239) (Remote host closed the connection) |
| 19:01:32 | → | komikat joins (~komikat@183.82.154.239) |
| 19:01:45 | → | alx741 joins (~alx741@181.199.42.143) |
| 19:01:54 | → | Batzy joins (~quassel@user/batzy) |
| 19:02:15 | × | jespada quits (~jespada@85.255.234.190) (Read error: Connection reset by peer) |
| 19:02:28 | × | Guest60 quits (~Guest60@134.101.5.46) (Quit: Client closed) |
| 19:04:03 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
| 19:05:36 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 19:06:20 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 19:07:19 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 19:08:21 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 19:09:31 | → | MajorBiscuit joins (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) |
| 19:10:09 | → | ProfSimm joins (~ProfSimm@118.125.246.35.bc.googleusercontent.com) |
| 19:12:44 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 19:12:54 | → | benin joins (~benin@223.182.225.201) |
| 19:13:00 | × | deadmarshal quits (~deadmarsh@95.38.230.132) (Ping timeout: 240 seconds) |
| 19:15:23 | → | Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
| 19:19:53 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d024:453c:94af:7479) (Remote host closed the connection) |
| 19:20:08 | × | arjun quits (~arjun@user/arjun) (Ping timeout: 250 seconds) |
| 19:22:37 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 19:22:49 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 19:23:09 | → | alx741 joins (~alx741@157.100.197.240) |
| 19:29:30 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 19:29:33 | × | Topsi quits (~Tobias@dyndsl-095-033-018-046.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 19:30:00 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 19:30:08 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 19:32:45 | × | Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
| 19:42:06 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
| 19:45:13 | × | ProfSimm quits (~ProfSimm@118.125.246.35.bc.googleusercontent.com) (Ping timeout: 256 seconds) |
| 19:46:15 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 19:46:22 | → | alx741 joins (~alx741@181.199.42.143) |
| 19:46:49 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer) |
| 19:46:58 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 19:47:23 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds) |
| 19:47:48 | → | ProfSimm joins (~ProfSimm@87.227.196.109) |
| 19:48:59 | Lord_of_Life_ | is now known as Lord_of_Life |
| 19:49:45 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 19:49:48 | × | MajorBiscuit quits (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Ping timeout: 240 seconds) |
| 19:52:52 | × | coot quits (~coot@213.134.190.95) (Ping timeout: 256 seconds) |
| 20:00:45 | → | coot joins (~coot@213.134.190.95) |
| 20:01:17 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d024:453c:94af:7479) |
| 20:02:10 | → | Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
| 20:03:28 | <Cale> | dminuoso: TH splices will somehow give you an expression, but that expression will generally need to be evaluated. In cases where you have access to the data constructors for the type you're constructing, that can be helpful, but for stuff like Map/Set, it's quite inconvenient at the very least, and for ByteString/Text, you're still out of luck, since we can't have ByteString literals. |
| 20:04:15 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 20:04:29 | × | slack1256 quits (~slack1256@45.4.2.52) (Ping timeout: 272 seconds) |
| 20:06:33 | × | jgeerds quits (~jgeerds@d53600c5.access.ecotel.net) (Read error: Connection reset by peer) |
| 20:06:35 | → | alx741 joins (~alx741@181.199.42.143) |
| 20:07:01 | × | Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 272 seconds) |
| 20:09:26 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 20:10:05 | → | alx741 joins (~alx741@181.199.42.143) |
| 20:10:37 | → | _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl) |
| 20:14:02 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 20:16:24 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 20:16:54 | → | wroathe joins (~wroathe@user/wroathe) |
| 20:17:32 | → | zero joins (~z@user/zero) |
| 20:17:36 | → | wennefer0 joins (~wennefer0@192.160.51.50) |
| 20:18:51 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.4) |
| 20:19:49 | × | zzz quits (~z@user/zero) (Ping timeout: 240 seconds) |
| 20:20:02 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 20:20:50 | × | wennefer0 quits (~wennefer0@192.160.51.50) (Client Quit) |
| 20:22:49 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d024:453c:94af:7479) (Remote host closed the connection) |
| 20:22:54 | × | wonko quits (~wjc@user/wonko) (Ping timeout: 260 seconds) |
| 20:23:00 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 20:23:50 | → | python476 joins (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) |
| 20:24:45 | × | bahamas quits (~lucian@84.232.140.52) (Ping timeout: 272 seconds) |
| 20:25:23 | → | doyougnu joins (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) |
| 20:26:17 | → | cynomys joins (~cynomys@user/cynomys) |
| 20:27:22 | → | slack1256 joins (~slack1256@45.4.2.52) |
| 20:28:16 | × | fendor_ quits (~fendor@91.141.59.141.wireless.dyn.drei.com) (Remote host closed the connection) |
| 20:31:07 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
| 20:32:50 | × | theproffesor quits (~theproffe@user/theproffesor) (Remote host closed the connection) |
| 20:32:56 | ← | python476 parts (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (ERC 5.4.1 (IRC client for GNU Emacs 29.0.50)) |
| 20:33:27 | → | alx741 joins (~alx741@181.199.42.143) |
| 20:34:43 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 20:37:16 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 20:37:55 | → | alx741 joins (~alx741@157.100.197.240) |
| 20:38:23 | <ehammarstrom> | Does anyone know of a good visualisation of function cardinality? |a -> b| = |b| ^ |a| |
| 20:40:28 | → | bahamas joins (~lucian@84.232.140.52) |
| 20:40:38 | <slack1256> | You mean diagrams? There are some blog post that I can search if that is what you want. |
| 20:41:00 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 20:41:40 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 20:43:07 | × | doyougnu quits (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 272 seconds) |
| 20:43:11 | <ehammarstrom> | slack1256: Yes. I would appreciate that. |
| 20:43:20 | <ehammarstrom> | My google-fu is not getting me anywhere |
| 20:45:18 | → | burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
| 20:45:39 | × | Katarushisu quits (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) (Ping timeout: 272 seconds) |
| 20:46:18 | → | dextaa_ joins (~dextaa@user/dextaa) |
| 20:46:33 | <slack1256> | ehammarstrom: https://www.youtube.com/watch?v=YScIPA8RbVE That is the "pretties" exposition on the subject in terms of style. You can get it summaried on the blogpost linked. |
| 20:46:52 | <slack1256> | But yeah, the function cardinality is the hardest one and you already got it. |
| 20:48:36 | <slack1256> | s_pretties_prettiest_ |
| 20:50:42 | <ehammarstrom> | slack1256: Looks like a great talk. What blogpost are you referring to? |
| 20:52:05 | → | slac23112 joins (~slack1256@45.4.2.52) |
| 20:52:15 | × | _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
| 20:53:09 | <slac23112> | ehammarstrom: Oh, I swear I saw it on the video description. https://gist.github.com/gregberns/5e9da0c95a9a8d2b6338afe69310b945 |
| 20:53:48 | <slac23112> | The author had it formatted differently on various sites, but the general idea is the same and it is well exposed on that gist. |
| 20:54:13 | × | mrkajetanp quits (~mrkajetan@88.98.245.28) (Read error: Connection reset by peer) |
| 20:55:00 | × | bahamas quits (~lucian@84.232.140.52) (Ping timeout: 240 seconds) |
| 20:55:03 | <[exa]> | ehammarstrom: a good intuition is to use `b` as coordinates in an |a|-dimensional space and just draw it as a flimsy 3D-ish vector space. It kinda breaks if the magnitudes get real, but at that point most people will see it. |
| 20:55:13 | × | slack1256 quits (~slack1256@45.4.2.52) (Ping timeout: 250 seconds) |
| 20:55:54 | → | bendo joins (~bendo@ip5f5bebbb.dynamic.kabel-deutschland.de) |
| 20:56:15 | <ehammarstrom> | So I guess my question is, what happens when |a| < |b|? When enumerating functions which would map elements of a to elements of b I feel like I get functions that are not total (?) |
| 20:56:15 | → | mrkajetanp joins (~mrkajetan@2a01:4b00:ea36:6c00:7994:941c:3f5d:2b88) |
| 20:56:20 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds) |
| 20:56:36 | <ehammarstrom> | I am not sure total is the correct wording |
| 20:57:08 | → | pavonia joins (~user@user/siracusa) |
| 20:57:25 | <ehammarstrom> | E.g. `Bool -> Quad` where `data Quad = A | B | C | D` |
| 20:57:37 | <[exa]> | if the set sizes differ, the function may become surjective or bijective, totality is a different problem |
| 20:57:41 | → | vorpuni joins (~pvorp@2001:861:3881:c690:d322:f659:136d:eef6) |
| 20:57:50 | <[exa]> | s/bijective/injective/ whoops |
| 20:59:23 | → | alx741 joins (~alx741@181.199.42.143) |
| 20:59:39 | <ehammarstrom> | [exa]: I see, it seem that |a -> b| becomes injective if |a| < |b|. But thanks for pointing the terms out, I'll have to do some more digging |
| 21:00:14 | → | alp joins (~alp@user/alp) |
| 21:01:58 | <[exa]> | otoh I'm totally unaware of a cardinality theory (where you usually only consider well-behaved proper function that are total) that would work with partial functions, other than perhaps trivially adding the bottom as a part of `b` |
| 21:02:35 | × | benin quits (~benin@223.182.225.201) (Read error: Connection reset by peer) |
| 21:02:59 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 21:07:04 | × | Ariakenom quits (~Ariakenom@h-82-196-111-63.NA.cust.bahnhof.se) (Quit: Leaving) |
| 21:08:13 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d024:453c:94af:7479) |
| 21:08:19 | × | zeenk quits (~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) (Quit: Konversation terminated!) |
| 21:08:34 | → | yauhsien joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 21:08:40 | × | vorpuni quits (~pvorp@2001:861:3881:c690:d322:f659:136d:eef6) (Quit: bye) |
| 21:09:25 | → | acidjnk joins (~acidjnk@p5487dbd8.dip0.t-ipconnect.de) |
| 21:10:23 | <dolio> | ehammarstrom: Functions a -> b with |a| < |b| are not necessarily injective. |
| 21:10:44 | <dolio> | If |a| > |b| then they are necessarily not injective, though. |
| 21:13:03 | × | yauhsien quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 21:16:20 | → | lavaman joins (~lavaman@98.38.249.169) |
| 21:19:39 | → | alx741 joins (~alx741@157.100.197.240) |
| 21:20:45 | × | lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 21:22:07 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 21:24:55 | → | Null_A joins (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) |
| 21:25:25 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 21:25:30 | × | komikat quits (~komikat@183.82.154.239) (Remote host closed the connection) |
| 21:29:46 | × | Null_A quits (~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
| 21:34:34 | → | komikat joins (~komikat@183.82.154.239) |
| 21:37:01 | × | xff0x quits (~xff0x@2001:1a81:53c8:8500:d186:ea73:d14c:679b) (Ping timeout: 245 seconds) |
| 21:38:14 | → | xff0x joins (~xff0x@2001:1a81:53c8:8500:acc6:628c:c348:430) |
| 21:38:45 | → | alx741 joins (~alx741@157.100.197.240) |
| 21:38:48 | → | merijn joins (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) |
| 21:39:24 | × | komikat quits (~komikat@183.82.154.239) (Ping timeout: 256 seconds) |
| 21:41:25 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 21:44:07 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 21:47:39 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 21:49:44 | <dibblego> | @src (>>=) [] |
| 21:49:44 | <lambdabot> | Source not found. You untyped fool! |
| 21:49:48 | <dibblego> | @src [] (>>=) |
| 21:49:48 | <lambdabot> | xs >>= f = concatMap f xs |
| 21:49:50 | × | ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
| 21:51:04 | → | kenran joins (~kenran@200116b82bed0b0071c8f52489bfb401.dip.versatel-1u1.de) |
| 21:51:31 | <dibblego> | @src concatMap |
| 21:51:32 | <lambdabot> | concatMap f = foldr ((++) . f) [] |
| 21:54:11 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
| 21:57:52 | × | euandreh quits (~euandreh@2804:14c:33:9fe5:fb55:f4b:9349:d06d) (Ping timeout: 250 seconds) |
| 21:59:12 | × | kenran quits (~kenran@200116b82bed0b0071c8f52489bfb401.dip.versatel-1u1.de) (Quit: WeeChat info:version) |
| 21:59:17 | → | alx741 joins (~alx741@157.100.197.240) |
| 22:00:32 | × | gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 22:01:04 | slac23112 | is now known as slack1256 |
| 22:01:17 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 22:03:55 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 22:04:10 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 22:04:56 | × | zer0bitz quits (~zer0bitz@2001:2003:f74d:b800:b4a7:dec3:a543:4b87) (Ping timeout: 245 seconds) |
| 22:05:35 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 22:06:20 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d024:453c:94af:7479) (Remote host closed the connection) |
| 22:06:32 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 240 seconds) |
| 22:07:16 | → | once_upon_a_pota joins (~once_upon@117.55.252.24) |
| 22:13:02 | × | merijn quits (~merijn@c-001-001-027.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
| 22:13:48 | <sm> | nice, joeyh's recent arduino/copilot talk got published: https://www.youtube.com/watch?v=l-luyVRgWVU |
| 22:15:40 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 22:15:50 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 22:15:58 | → | zincy_ joins (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) |
| 22:17:13 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 22:20:02 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 22:20:25 | → | alx741 joins (~alx741@181.199.42.143) |
| 22:22:45 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 22:24:40 | → | jgeerds joins (~jgeerds@d53600c5.access.ecotel.net) |
| 22:28:08 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 22:28:20 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 22:33:17 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 22:35:36 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 22:35:50 | → | abhixec joins (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) |
| 22:35:57 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:36:38 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 22:39:44 | → | alx741 joins (~alx741@181.199.42.143) |
| 22:40:59 | × | zincy_ quits (~zincy@2a00:23c8:970c:4801:e530:c2a8:6798:30a9) (Remote host closed the connection) |
| 22:41:44 | × | once_upon_a_pota quits (~once_upon@117.55.252.24) (Quit: Client closed) |
| 22:42:26 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 22:43:59 | × | CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 22:51:33 | → | deadmarshal joins (~deadmarsh@95.38.230.238) |
| 22:56:11 | × | deadmarshal quits (~deadmarsh@95.38.230.238) (Ping timeout: 256 seconds) |
| 22:58:37 | × | emf_ quits (~emf@2620:10d:c090:400::5:e9f1) (Ping timeout: 240 seconds) |
| 22:59:06 | → | alx741 joins (~alx741@157.100.197.240) |
| 23:00:35 | → | zincy_ joins (~zincy@host86-160-236-152.range86-160.btcentralplus.com) |
| 23:01:01 | → | emf joins (~emf@2620:10d:c090:400::5:3ef2) |
| 23:01:15 | → | Null_A joins (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) |
| 23:01:28 | × | zincy_ quits (~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection) |
| 23:05:37 | × | Null_A quits (~null_a@2601:645:8700:2290:44bc:7304:7645:6729) (Ping timeout: 240 seconds) |
| 23:06:35 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 23:12:32 | <jackdk> | sm: this is very interesting, thanks for the link |
| 23:13:25 | <sm> | np |
| 23:13:52 | <monochrom> | ski: Last time you used the names "stage" and "costage" for the maps between Hom(F x, y) and Hom(x, G y) when F -| G. Do other category theorists use that name too? What is the etymology of those names? Or what inspired them? |
| 23:18:00 | → | lavaman joins (~lavaman@98.38.249.169) |
| 23:20:17 | → | Null_A joins (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) |
| 23:22:01 | × | TonyStone quits (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Ping timeout: 256 seconds) |
| 23:23:14 | → | TonyStone joins (~TonyStone@2603-7080-8607-c36a-f50c-7cae-60f9-8617.res6.spectrum.com) |
| 23:23:43 | × | burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection) |
| 23:24:34 | → | alx741 joins (~alx741@181.199.42.143) |
| 23:25:00 | × | shapr quits (~user@pool-173-73-44-186.washdc.fios.verizon.net) (Remote host closed the connection) |
| 23:25:16 | → | shapr joins (~user@pool-173-73-44-186.washdc.fios.verizon.net) |
| 23:27:50 | × | alx741 quits (~alx741@181.199.42.143) (Read error: Connection reset by peer) |
| 23:31:48 | × | TonyStone quits (~TonyStone@2603-7080-8607-c36a-f50c-7cae-60f9-8617.res6.spectrum.com) (Ping timeout: 240 seconds) |
| 23:32:06 | → | TonyStone joins (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) |
| 23:32:13 | <ski> | monochrom : i more or less made them up on the spot. for `stage' going from `G . F >---> H' to `G >---> F -> H', i was first thinking of `curry', but then thought that could be confusing. but it in some sense separates the stages of dealing with the outer `G' structure, and then the inner `F' structure. and `costage' (rather than say `unstage', which would suggest inverse; or perhaps rather than something |
| 23:32:19 | <ski> | else), for duality (there might be a nicer name, i didn't think of one) |
| 23:33:23 | <monochrom> | Ah thanks. |
| 23:35:29 | × | shapr quits (~user@pool-173-73-44-186.washdc.fios.verizon.net) (Remote host closed the connection) |
| 23:35:37 | × | jrm quits (~jrm@156.34.173.250) (Ping timeout: 240 seconds) |
| 23:36:11 | <ski> | (i think i've seen some name somewhere for going in one or other direction, in the Hom-set natural isomorphism formulation of adjunctions, but i can't quite recall. maybe "transpose", or something) |
| 23:38:17 | × | Null_A quits (~null_a@2601:645:8700:2290:a4fb:481a:7fa9:b909) (Ping timeout: 240 seconds) |
| 23:38:46 | × | cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Quit: ERC (IRC client for Emacs 27.1)) |
| 23:38:55 | <ski> | .. i've been trying to think a little, now and then, about a language where one would have terms/expressions of a type that is a functor (so, `F', rather than `F T'). the idea is that in e.g. `[[Integer]]', you'd give one name to the outer list struction, another to the inner, and a third to the `Integer's |
| 23:39:27 | <monochrom> | In the case of FreeMonoid -| Forgetful, Monoid(FreeMonoid x, y) becomes foldMap in Haskell, and I think it inspires the "free" package for free monads to say "foldFree" for Monad(Free m, n). So I am inspired to say "fold" in general. For the reverse direction Set(x, Forgetful y), I am thinking "core" because it feels like some kind of kernal function of the fold. |
| 23:39:30 | → | yauhsien joins (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) |
| 23:39:52 | <ski> | using such notation e.g. emphasizes seeing monads as monoids. also seems to be helpful for algebras over a monad, seeing them as a monoid action |
| 23:39:54 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:40:15 | <monochrom> | I have seen "transpose" BTW, yeah. |
| 23:40:46 | <ski> | (i think i've seen "transpose" used for both `curry f' and `uncurry g', too, btw) |
| 23:41:37 | → | shapr joins (~user@pool-173-73-44-186.washdc.fios.verizon.net) |
| 23:42:15 | <ski> | @type Control.Monad.Free.foldFree |
| 23:42:16 | <lambdabot> | Monad m => (forall x. f x -> m x) -> Control.Monad.Free.Free f a -> m a |
| 23:42:21 | <ski> | s/struction/structure/ |
| 23:43:02 | <monochrom> | Emily Riehl also uses sharps and flats, but that's a bit traumatising for me, flash back to the old days when I struggled to read Patrick Cousot's abstract interpretation papers. :) |
| 23:43:36 | → | whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com) |
| 23:43:45 | <ski> | hm, i think i've seen such notation in places, too. (sometimes with stars, or exclamation marks) |
| 23:43:48 | × | yauhsien quits (~yauhsien@61-231-19-150.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 23:44:49 | → | alx741 joins (~alx741@157.100.197.240) |
| 23:45:17 | × | np quits (~nerdypepp@user/nerdypepper) (Quit: bye) |
| 23:46:26 | <monochrom> | Oh oops, typo. Set(x, ForgetFul y)->Monoid(FreeMonoid x, y) becomes foldMap; Functor(f, Forgetful m)->Monad(Free f, m) is foldFree. |
| 23:47:20 | <ski> | (btw, in case it wasn't too clear, my `costage' above wasn't the inverse of `stage', but rather the `Lan' counterpart version of the one for `Ran') |
| 23:47:40 | <monochrom> | so Monoid(FreeMonoid x, y)->Set(x, Forgetful y) feels like extracting the "core" of a monoid homomorphism. |
| 23:48:02 | <monochrom> | Ah OK, it was specific to Kan extensions. |
| 23:48:33 | <ski> | yes, that was the situation i was trying to give a reasonable name for, there |
| 23:49:10 | × | alx741 quits (~alx741@157.100.197.240) (Read error: Connection reset by peer) |
| 23:50:03 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 23:52:17 | <ski> | looking at <https://hackage.haskell.org/package/free-5.1.7/docs/Control-Monad-Free.html>, to see what this `core' would be there |
| 23:52:37 | <ski> | hm, i guess it's (when applied to `id') `lift' in `MonadTrans' |
| 23:53:04 | <monochrom> | I think no one cares, but it's liftF id. |
| 23:53:31 | <monochrom> | If you squint, liftF is analogous to singleton :: a -> FreeMonoid a, e.g., \x -> [x]. |
| 23:53:55 | <ski> | ah .. i guess. (i ignored looking at `MonadFree') |
| 23:54:27 | <monochrom> | I had a recent revelation that singleton and core are expressible in each other. |
| 23:54:27 | <ski> | .. yes |
| 23:54:49 | <ski> | ("Oh oops, typo. .." -- yea, i figured) |
| 23:55:23 | <ski> | why `core' ? ("kernal function" ?) |
| 23:56:13 | ski | . o O ( <https://en.wikipedia.org/wiki/KERNAL> ) |
| 23:57:23 | × | acidjnk quits (~acidjnk@p5487dbd8.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 23:57:46 | <monochrom> | If you give me a monoid homomorphism phi : FreeMonoid x -> y, it is equivalent to giving me a set function g : x -> Forgetful y and letting me extend that to phi. So g is some kind of kernal of phi. And then I decided to say "core" because I want to have the same number of letters as "fold". |
All times are in UTC on 2022-02-23.