2021-12-03 00:02:41 +0100 | <sm> | yes, nice answer |
2021-12-03 00:03:16 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
2021-12-03 00:03:36 +0100 | <Hecate> | dsal, sm haha thanks :) |
2021-12-03 00:03:39 +0100 | juri_ | (~juri@178.63.35.222) (Ping timeout: 250 seconds) |
2021-12-03 00:03:40 +0100 | <Hecate> | Franciman: thanks :3 |
2021-12-03 00:06:25 +0100 | <jackdk> | hey cool, the amazonka RC got into HWN too. Wish the call-to-action made it in also - if you're using it, please upgrade and test. I promise to respond promptly to issues etc |
2021-12-03 00:07:28 +0100 | <Axman6> | The translation to v2.0 for one of my packages ended up being less painful than I expected |
2021-12-03 00:10:06 +0100 | Midjak | (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep) |
2021-12-03 00:10:09 +0100 | jstolarek | (~jstolarek@137.220.120.162) (Ping timeout: 256 seconds) |
2021-12-03 00:10:33 +0100 | chomwitt | (~chomwitt@2a02:587:dc0d:6d00:12c3:7bff:fe6d:d374) (Ping timeout: 268 seconds) |
2021-12-03 00:10:42 +0100 | juri_ | (~juri@79.140.120.193) |
2021-12-03 00:10:51 +0100 | <Axman6> | Also, getting to use generic-lens was fun, definitely cleaner than the new lenses (which I suspect have intentionally been given very long, annoying names to disuade people from using them) |
2021-12-03 00:14:18 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) |
2021-12-03 00:15:44 +0100 | <monochrom> | https://xkcd.com/1105/ applies. |
2021-12-03 00:17:01 +0100 | jgeerds | (~jgeerds@55d45b75.access.ecotel.net) (Ping timeout: 245 seconds) |
2021-12-03 00:17:15 +0100 | cosimone | (~user@93-44-186-55.ip98.fastwebnet.it) (Remote host closed the connection) |
2021-12-03 00:18:29 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) (Ping timeout: 252 seconds) |
2021-12-03 00:18:44 +0100 | <monochrom> | Also, IDEs use auto-completion to solve all long, annoying name problems. |
2021-12-03 00:19:31 +0100 | <EvanR> | all? |
2021-12-03 00:19:50 +0100 | <EvanR> | what about the "have to read the code" part of the problem xD |
2021-12-03 00:20:08 +0100 | <hpc> | when has reading code ever been necessary to write code? :P |
2021-12-03 00:20:09 +0100 | <EvanR> | "without being too annoyed" |
2021-12-03 00:20:18 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2021-12-03 00:21:21 +0100 | max22- | (~maxime@2a01cb0883359800118b3200b4a756c8.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
2021-12-03 00:21:27 +0100 | <monochrom> | I thought syntax highlighting solved all reading problems. |
2021-12-03 00:21:57 +0100 | <monochrom> | I mean, I thought people made that claim. |
2021-12-03 00:22:54 +0100 | <hpc> | maybe 256 colors was enough for 80x24 characters of code |
2021-12-03 00:23:07 +0100 | <hpc> | in today's world of portrait-oriented 4k screens, nothing less than emoji and helvetica is required |
2021-12-03 00:23:08 +0100 | <geekosaur> | syntax gaslighting |
2021-12-03 00:26:35 +0100 | xff0x | (~xff0x@2001:1a81:5351:7200:d75b:ca2f:7cd3:f39) (Ping timeout: 268 seconds) |
2021-12-03 00:27:13 +0100 | xff0x | (~xff0x@2001:1a81:5351:7200:c8d5:d64b:ba01:92ce) |
2021-12-03 00:29:24 +0100 | AlexNoo_ | (~AlexNoo@178.34.151.83) |
2021-12-03 00:32:15 +0100 | AlexZenon | (~alzenon@178.34.160.14) (Ping timeout: 256 seconds) |
2021-12-03 00:32:19 +0100 | Alex_test | (~al_test@178.34.160.14) (Ping timeout: 256 seconds) |
2021-12-03 00:32:49 +0100 | AlexNoo | (~AlexNoo@178.34.160.14) (Ping timeout: 256 seconds) |
2021-12-03 00:33:05 +0100 | jasonmason | (~bc8165b6@cerf.good1.com) (Quit: CGI:IRC (Session timeout)) |
2021-12-03 00:33:20 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 252 seconds) |
2021-12-03 00:34:37 +0100 | juri_ | (~juri@79.140.120.193) (Ping timeout: 252 seconds) |
2021-12-03 00:35:33 +0100 | waleee | (~waleee@h-82-196-111-63.NA.cust.bahnhof.se) |
2021-12-03 00:35:51 +0100 | namkeleser | (~namkelese@101.175.102.188) |
2021-12-03 00:36:35 +0100 | juri_ | (~juri@178.63.35.222) |
2021-12-03 00:37:29 +0100 | Alex_test | (~al_test@178.34.151.83) |
2021-12-03 00:38:09 +0100 | AlexZenon | (~alzenon@178.34.151.83) |
2021-12-03 00:41:19 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
2021-12-03 00:45:23 +0100 | <shapr> | I was gonna complain about this paper https://well-typed.com/blog/2019/10/nonmoving-gc-merge/ but then I found https://www.cs.unh.edu/~dietz/appendix/pldiws20ismmmain-p64-p-18fdc64--final.pdf |
2021-12-03 00:45:28 +0100 | <shapr> | thanks bgamari for doing awesome stuff! |
2021-12-03 00:46:14 +0100 | <bgamari> | shapr, no worries ;) |
2021-12-03 00:46:20 +0100 | <bgamari> | shapr, let me know if you have any questions |
2021-12-03 00:49:29 +0100 | hamflask | (~hamflask@2600:1700:1bd8:b00f:8fba:5075:a126:c2f) (Quit: Ping timeout (120 seconds)) |
2021-12-03 00:50:32 +0100 | <shapr> | bgamari: only one I have at the moment is whether the non-moving GC became parallel since its merge in 8.10 ? |
2021-12-03 00:50:45 +0100 | <bgamari> | shapr, I have a branch |
2021-12-03 00:50:49 +0100 | <bgamari> | it currently segfaults |
2021-12-03 00:50:51 +0100 | <shapr> | oh exciting! |
2021-12-03 00:50:53 +0100 | <shapr> | oh no! |
2021-12-03 00:50:55 +0100 | <bgamari> | I haven't had time to investigate why |
2021-12-03 00:51:05 +0100 | <bgamari> | Perhaps for9.4 |
2021-12-03 00:51:09 +0100 | <shapr> | yay! |
2021-12-03 00:51:21 +0100 | dudek | (~dudek@185.150.236.103) (Quit: Leaving) |
2021-12-03 00:51:29 +0100 | kuribas | (~user@ptr-25vy0i85jcl6zvp0ziu.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
2021-12-03 00:51:33 +0100 | <shapr> | five of us are reading the alligator paper for our weekly meeting, I'll ask if anyone has interesting questions |
2021-12-03 00:51:45 +0100 | sprout_ | (~quassel@2a02:a467:ccd6:1:54db:f79f:90dc:3ee5) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-12-03 00:52:04 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:54db:f79f:90dc:3ee5) |
2021-12-03 00:59:47 +0100 | namkeleser | (~namkelese@101.175.102.188) (Quit: Client closed) |
2021-12-03 01:01:40 +0100 | <EvanR> | you have a weekly meeting about haskell? jelly :( |
2021-12-03 01:04:42 +0100 | <shapr> | several! |
2021-12-03 01:04:56 +0100 | <shapr> | one for recurse center, two for work (SimSpace) |
2021-12-03 01:05:25 +0100 | <shapr> | EvanR: we could have one for here |
2021-12-03 01:11:15 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-12-03 01:11:34 +0100 | <geekosaur> | "recurse center" |
2021-12-03 01:12:04 +0100 | <EvanR> | a weekly meeting, on IRC? |
2021-12-03 01:12:45 +0100 | <monochrom> | Actually I'm curious too. Does it mean https://www.recurse.com/ ? |
2021-12-03 01:13:24 +0100 | <monochrom> | "Never graduate" haha do you know how nightmarish that sounds to grad school survivors >:) |
2021-12-03 01:16:33 +0100 | <dsal> | shapr: Ah, that's you? I've got a tab open. heh |
2021-12-03 01:16:41 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3) |
2021-12-03 01:19:42 +0100 | anyone | (~filler@a4.inai.de) |
2021-12-03 01:20:08 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2021-12-03 01:21:28 +0100 | <shapr> | dsal: have you attended recurse center? |
2021-12-03 01:21:30 +0100 | <shapr> | it's good stuff |
2021-12-03 01:21:46 +0100 | <dsal> | I've never heard of recurse center. |
2021-12-03 01:21:48 +0100 | <shapr> | EvanR: sure, we could organize a weekly video chat |
2021-12-03 01:22:12 +0100 | <shapr> | dsal: it's in my top two favorite communities |
2021-12-03 01:22:28 +0100 | <dsal> | That looks like a thing I'd like, though. |
2021-12-03 01:25:56 +0100 | <shapr> | I liked it enough to spend six months there. |
2021-12-03 01:26:09 +0100 | <shapr> | wrote some blog posts: https://shapr.github.io/ |
2021-12-03 01:26:20 +0100 | <shapr> | learned about SMT solvers and all kinda things |
2021-12-03 01:26:41 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2021-12-03 01:27:34 +0100 | anyone | (~filler@a4.inai.de) () |
2021-12-03 01:33:03 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-12-03 01:35:14 +0100 | <boxscape> | is there any package that allows you to generate TH expressions for quickcheck? |
2021-12-03 01:36:13 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-12-03 01:36:46 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
2021-12-03 01:37:40 +0100 | <boxscape> | in other words |
2021-12-03 01:37:54 +0100 | <boxscape> | a package that provides an instance `Arbitrary Language.Haskell.TH.Exp` |
2021-12-03 01:40:59 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 252 seconds) |
2021-12-03 01:44:33 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-03 01:44:47 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) (Ping timeout: 256 seconds) |
2021-12-03 01:46:29 +0100 | vysn | (~vysn@user/vysn) (Ping timeout: 252 seconds) |
2021-12-03 01:46:46 +0100 | renzhi | (~xp@2607:fa49:6500:b100::5cef) |
2021-12-03 01:49:39 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-03 01:52:19 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
2021-12-03 01:54:29 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 256 seconds) |
2021-12-03 02:09:54 +0100 | boxscape_73 | (~boxscape_@p4ff0bb6c.dip0.t-ipconnect.de) |
2021-12-03 02:10:08 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 252 seconds) |
2021-12-03 02:12:31 +0100 | boxscape_ | (~boxscape_@p4ff0bb6c.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2021-12-03 02:12:43 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
2021-12-03 02:15:05 +0100 | acidjnk_new | (~acidjnk@p200300d0c7271e85247d18c27da64632.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2021-12-03 02:16:11 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
2021-12-03 02:17:43 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
2021-12-03 02:18:45 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-03 02:19:16 +0100 | notzmv | (~zmv@user/notzmv) (Read error: Connection reset by peer) |
2021-12-03 02:23:45 +0100 | notzmv | (~zmv@user/notzmv) |
2021-12-03 02:30:13 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:a968:658b:9652:428a) (Quit: Textual IRC Client: www.textualapp.com) |
2021-12-03 02:44:32 +0100 | lbseale | (~ep1ctetus@user/ep1ctetus) (Quit: Leaving) |
2021-12-03 02:46:28 +0100 | <Axman6> | that sounds horrible D: |
2021-12-03 02:46:41 +0100 | <Axman6> | you're gonna make AI monsters man |
2021-12-03 02:47:40 +0100 | <boxscape> | that's the plan |
2021-12-03 02:48:36 +0100 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-12-03 02:57:33 +0100 | mmhat | (~mmh@55d45251.access.ecotel.net) (Quit: WeeChat 3.3) |
2021-12-03 02:59:51 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-12-03 03:02:06 +0100 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-03 03:02:25 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 256 seconds) |
2021-12-03 03:02:26 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-03 03:06:57 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-12-03 03:07:29 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-12-03 03:08:38 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-12-03 03:08:53 +0100 | yauhsien | (~yauhsien@2402:7500:4e5:d897:6d8a:b7a6:6ceb:da56) |
2021-12-03 03:10:21 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Ping timeout: 256 seconds) |
2021-12-03 03:12:01 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:54db:f79f:90dc:3ee5) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-12-03 03:12:26 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:54db:f79f:90dc:3ee5) |
2021-12-03 03:15:00 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 03:16:40 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 03:17:53 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-12-03 03:21:09 +0100 | abrantesasf | (~abrantesa@187.36.170.211) (Remote host closed the connection) |
2021-12-03 03:22:27 +0100 | ec_ | (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
2021-12-03 03:23:48 +0100 | neurocyte0132889 | (~neurocyte@IP-185189141046.dynamic.medianet-world.de) |
2021-12-03 03:23:48 +0100 | neurocyte0132889 | (~neurocyte@IP-185189141046.dynamic.medianet-world.de) (Changing host) |
2021-12-03 03:23:48 +0100 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
2021-12-03 03:27:27 +0100 | fef | (~thedawn@user/thedawn) |
2021-12-03 03:28:17 +0100 | <boxscape> | is there a nicer way to write (escape @Exp . escape @Type . escape @Dec . escape @Pat)? |
2021-12-03 03:30:58 +0100 | xff0x | (~xff0x@2001:1a81:5351:7200:c8d5:d64b:ba01:92ce) (Ping timeout: 268 seconds) |
2021-12-03 03:31:00 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-03 03:32:25 +0100 | xff0x | (~xff0x@2001:1a81:5394:4100:b17b:62d7:7f1e:4d8a) |
2021-12-03 03:34:01 +0100 | unyu | (~pyon@user/pyon) (Quit: WeeChat 3.3) |
2021-12-03 03:35:03 +0100 | TranquilEcho | (~grom@user/tranquilecho) (Quit: WeeChat 2.8) |
2021-12-03 03:35:21 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-12-03 03:35:49 +0100 | <boxscape> | maybe in the glorious future of DH I'll be able to write `alaf foldMap Endo escape [Exp, Type, Dec, Pat]` |
2021-12-03 03:36:29 +0100 | arahael | (~arahael@27-32-144-20.tpgi.com.au) (Ping timeout: 252 seconds) |
2021-12-03 03:38:04 +0100 | arahael | (~arahael@27-32-144-20.tpgi.com.au) |
2021-12-03 03:39:37 +0100 | <Axman6> | feels like a nice haskell challenge |
2021-12-03 03:40:54 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-12-03 03:41:02 +0100 | unyu | (~pyon@user/pyon) |
2021-12-03 03:41:26 +0100 | burnsidesLlama | (~burnsides@client-8-73.eduroam.oxuni.org.uk) |
2021-12-03 03:46:03 +0100 | burnsidesLlama | (~burnsides@client-8-73.eduroam.oxuni.org.uk) (Ping timeout: 256 seconds) |
2021-12-03 03:47:35 +0100 | Stotteren | (~Stotteren@pool-108-20-79-41.bstnma.fios.verizon.net) |
2021-12-03 03:47:39 +0100 | Gestotterd | (~Stotteren@pool-108-20-79-41.bstnma.fios.verizon.net) |
2021-12-03 03:48:40 +0100 | Gestotterd | (~Stotteren@pool-108-20-79-41.bstnma.fios.verizon.net) () |
2021-12-03 03:49:09 +0100 | namkeleser | (~namkelese@101.175.102.188) |
2021-12-03 03:50:16 +0100 | Kiori | (~Kiori@179.235.95.59) |
2021-12-03 03:52:33 +0100 | ubert | (~Thunderbi@p200300ecdf0ba2909868c7bbf0c5b488.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2021-12-03 03:52:44 +0100 | ub | (~Thunderbi@p200300ecdf0ba299f01739553a033620.dip0.t-ipconnect.de) |
2021-12-03 03:53:21 +0100 | yauhsien | (~yauhsien@2402:7500:4e5:d897:6d8a:b7a6:6ceb:da56) (Ping timeout: 252 seconds) |
2021-12-03 03:53:29 +0100 | <Kiori> | hey guys, what is the current state of haskell on Android(and mobile generally)? I've had a hard time finding information on compiling and general development for these arm based platforms. |
2021-12-03 03:54:45 +0100 | cheater | (~Username@user/cheater) |
2021-12-03 03:55:03 +0100 | ub | ubert |
2021-12-03 03:56:15 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
2021-12-03 03:58:03 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-12-03 04:00:02 +0100 | sander | (~sander@user/sander) (Quit: So long! :)) |
2021-12-03 04:01:30 +0100 | sander | (~sander@user/sander) |
2021-12-03 04:03:26 +0100 | <sm> | difficult |
2021-12-03 04:05:07 +0100 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-03 04:05:45 +0100 | <sm> | some company sells a toolkit for it (keera studios ?) |
2021-12-03 04:08:02 +0100 | Xnuk | (~Xnuk@14.33.159.252) |
2021-12-03 04:08:58 +0100 | <Xnuk> | @pl \x -> x |
2021-12-03 04:08:58 +0100 | <lambdabot> | id |
2021-12-03 04:13:25 +0100 | Kiori | (~Kiori@179.235.95.59) (Quit: Leaving) |
2021-12-03 04:13:57 +0100 | <davean> | heres also a nix expression out there that just does it? I forget where |
2021-12-03 04:14:11 +0100 | <davean> | and Obsidian Systems also dealt with it I think? |
2021-12-03 04:15:22 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-03 04:15:36 +0100 | waleee | (~waleee@h-82-196-111-63.NA.cust.bahnhof.se) (Quit: WeeChat 3.3) |
2021-12-03 04:18:58 +0100 | Xnuk | (~Xnuk@14.33.159.252) (Quit: Client closed) |
2021-12-03 04:24:19 +0100 | pfurla | (~pfurla@201.17.118.230) |
2021-12-03 04:28:55 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Quit: Leaving) |
2021-12-03 04:29:32 +0100 | <boxscape> | The composition I asked about above was actually wrong, it now looks like this https://paste.tomsmeding.com/CUEbLR49 |
2021-12-03 04:29:36 +0100 | <boxscape> | still kind of verbose |
2021-12-03 04:29:42 +0100 | <boxscape> | not sure if there's a better way |
2021-12-03 04:30:53 +0100 | <boxscape> | hmm I might be able to split that pattern out into a function call actually |
2021-12-03 04:36:29 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 256 seconds) |
2021-12-03 04:37:03 +0100 | td_ | (~td@muedsl-82-207-238-002.citykom.de) (Ping timeout: 256 seconds) |
2021-12-03 04:38:45 +0100 | td_ | (~td@94.134.91.231) |
2021-12-03 04:38:54 +0100 | <boxscape> | indeed I can https://paste.tomsmeding.com/x7GghwV1 |
2021-12-03 04:42:47 +0100 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 256 seconds) |
2021-12-03 04:44:42 +0100 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
2021-12-03 04:44:59 +0100 | <boxscape> | (admittedly actually less readable than before) |
2021-12-03 04:49:27 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-03 04:52:30 +0100 | johnw | (~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0) (Quit: ZNC - http://znc.in) |
2021-12-03 04:53:29 +0100 | namkeleser | (~namkelese@101.175.102.188) (Quit: Client closed) |
2021-12-03 04:54:20 +0100 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2021-12-03 04:54:20 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2021-12-03 04:54:20 +0100 | finn_elija | FinnElija |
2021-12-03 04:58:32 +0100 | Lycurgus | (~juan@98.4.112.204) |
2021-12-03 04:59:31 +0100 | <boxscape> | (final version - https://paste.tomsmeding.com/yUd2TelK - going to bed, good night) |
2021-12-03 05:00:17 +0100 | yauhsien | (~yauhsien@2402:7500:4e5:d897:5d9d:1dde:33ff:788f) |
2021-12-03 05:02:01 +0100 | yauhsien | (~yauhsien@2402:7500:4e5:d897:5d9d:1dde:33ff:788f) (Remote host closed the connection) |
2021-12-03 05:04:44 +0100 | <EvanR> | is there something like juicy pixels but for sound files |
2021-12-03 05:04:50 +0100 | <EvanR> | juicy samples |
2021-12-03 05:12:52 +0100 | <Lycurgus> | bindings to things |
2021-12-03 05:14:56 +0100 | boxscape_73 | (~boxscape_@p4ff0bb6c.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2021-12-03 05:17:35 +0100 | <Axman6> | libsndfile? |
2021-12-03 05:19:40 +0100 | <Axman6> | http://www.mega-nerd.com/libsndfile/ is writtne be Erik de Castro Lopo, who is definitelyt an active haskeller... trying to see if he has haskell bindings |
2021-12-03 05:20:50 +0100 | <EvanR> | there's simply bindings to C libs, and there's the juicy pixels secret sauce that's like file -> thing of pixels and tells you the format too without any real configuration |
2021-12-03 05:20:59 +0100 | <EvanR> | in one api call |
2021-12-03 05:22:15 +0100 | <EvanR> | I see libsndfile doesn't want to touch MP3 |
2021-12-03 05:24:24 +0100 | <Axman6> | does anyone? |
2021-12-03 05:27:50 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2021-12-03 05:27:51 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-03 05:30:52 +0100 | pfurla | (~pfurla@201.17.118.230) (Quit: gone to sleep. ZZZzzzβ¦) |
2021-12-03 05:32:21 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-12-03 05:38:13 +0100 | renzhi | (~xp@2607:fa49:6500:b100::5cef) (Ping timeout: 252 seconds) |
2021-12-03 05:41:39 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 256 seconds) |
2021-12-03 05:42:15 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-03 05:45:21 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) |
2021-12-03 05:48:04 +0100 | Lycurgus | (~juan@98.4.112.204) (Quit: Exeunt) |
2021-12-03 05:49:45 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-03 05:57:24 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-12-03 06:16:20 +0100 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2021-12-03 06:17:38 +0100 | Sgeo_ | (~Sgeo@user/sgeo) |
2021-12-03 06:20:01 +0100 | Sgeo | (~Sgeo@user/sgeo) (Ping timeout: 252 seconds) |
2021-12-03 06:25:55 +0100 | nautical | (~nautical@2601:602:900:1630::396f) |
2021-12-03 06:37:26 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 252 seconds) |
2021-12-03 06:39:27 +0100 | monochrom | (trebla@216.138.220.146) (Ping timeout: 252 seconds) |
2021-12-03 06:42:23 +0100 | <opqdonut> | roast my advent of code day 3: https://gist.github.com/opqdonut/eedde3377492334ba7074130e9e52653 |
2021-12-03 06:42:31 +0100 | monochrom | (trebla@216.138.220.146) |
2021-12-03 06:45:47 +0100 | <int-e> | :t foldl' (\a b -> 2*a + b) 0 |
2021-12-03 06:45:48 +0100 | <lambdabot> | (Foldable t, Num a) => t a -> a |
2021-12-03 06:45:53 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-03 06:47:11 +0100 | <int-e> | opqdonut: are you running this in ghci? (no main) |
2021-12-03 06:48:01 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) (Ping timeout: 256 seconds) |
2021-12-03 06:49:05 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-12-03 06:52:13 +0100 | <opqdonut> | int-e: yeah |
2021-12-03 06:53:07 +0100 | <opqdonut> | I just wrote out `bin` in anger when I realised the version of base I happened to be on didn't have Numeric.readBin :) |
2021-12-03 06:53:24 +0100 | <opqdonut> | but yeah now that I look at it it's an obvious foldl' |
2021-12-03 06:56:05 +0100 | <int-e> | bin xs | [(v, s)] <- readInt 2 (`elem` "01") digitToInt xs = v -- ouch |
2021-12-03 06:57:49 +0100 | <int-e> | `readBin`, oh that's new in ghc-9.2... hmm. Not enough of a reason to switch :P |
2021-12-03 06:58:26 +0100 | <int-e> | (base-4.16 but it's tied to ghc anyway) |
2021-12-03 06:58:42 +0100 | johnw | (~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0) |
2021-12-03 06:59:07 +0100 | <xerox> | it was for me xD |
2021-12-03 07:07:19 +0100 | mvk | (~mvk@2607:fea8:5cc1:fa00::4702) (Ping timeout: 252 seconds) |
2021-12-03 07:09:26 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-03 07:11:15 +0100 | n8ess163 | (~b@pool-72-80-171-162.nycmny.fios.verizon.net) |
2021-12-03 07:13:53 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) |
2021-12-03 07:13:55 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
2021-12-03 07:14:07 +0100 | <dmj`> | hard keeping up with the big dogs on day 3 |
2021-12-03 07:17:51 +0100 | <c_wraith> | I spent a lot of time solving the wrong problem in part 2 because I didn't read the example. Then I read the example, threw out all my code, and spent a lot less time solving the right problem. |
2021-12-03 07:20:09 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-03 07:26:56 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) (Ping timeout: 252 seconds) |
2021-12-03 07:28:04 +0100 | chomwitt | (~chomwitt@2a02:587:dc0d:6d00:12c3:7bff:fe6d:d374) |
2021-12-03 07:28:06 +0100 | <EvanR> | I feel so dumb taking an hour on part 2 |
2021-12-03 07:28:10 +0100 | <EvanR> | stupid bugs |
2021-12-03 07:28:49 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) |
2021-12-03 07:29:56 +0100 | <EvanR> | on part 1, i momentarily checked if there was some algebraic jibber jabber that could solve x times not x without a computer xD |
2021-12-03 07:30:06 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
2021-12-03 07:31:43 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-12-03 07:33:24 +0100 | <dmj`> | c_wraith: did the same exact thing yesterday |
2021-12-03 07:34:53 +0100 | <dmj`> | Part 2 you had to select the right column in the transpose, and then use that to filter out the rows from initial, and iterate until a single element. |
2021-12-03 07:36:05 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) |
2021-12-03 07:36:15 +0100 | <EvanR> | no point in transposing if your transpose is invalidated at each step xD |
2021-12-03 07:43:59 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-03 07:47:05 +0100 | <EvanR> | opqdonut, after the first day, I got a 2 terminal setup where I had a source file where I could put functions, and ghci in the other that I :reload to test or just run the damn thing by typing main |
2021-12-03 07:47:33 +0100 | <int-e> | :r works |
2021-12-03 07:48:39 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-12-03 07:49:04 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-12-03 07:49:09 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
2021-12-03 07:49:27 +0100 | <EvanR> | good call |
2021-12-03 07:49:41 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-03 07:49:44 +0100 | <EvanR> | was hoping for a control + something combo xD |
2021-12-03 07:52:16 +0100 | <dmj`> | EvanR: true, guess I only transpose on part 1 |
2021-12-03 07:53:14 +0100 | <int-e> | EvanR: I guess you could play with https://github.com/judah/haskeline/wiki/KeyBindings |
2021-12-03 07:53:37 +0100 | <int-e> | (I've never done that though, not sure how well that works.) |
2021-12-03 07:53:53 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
2021-12-03 07:54:18 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-12-03 07:54:21 +0100 | <int-e> | https://github.com/judah/haskeline/wiki/KeyBindings is a better link |
2021-12-03 07:54:51 +0100 | <xerox> | EvanR: if you're looking for compilation errors check out ghcid, it's beautiful |
2021-12-03 07:55:05 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-12-03 07:56:21 +0100 | <iqubic> | HLS is also great too. |
2021-12-03 08:08:00 +0100 | <int-e> | EvanR: hmm, this doesn't look so bad, though I do wonder why it doesn't recognize f5 out of the box for me: http://paste.debian.net/1221780/ |
2021-12-03 08:08:30 +0100 | EvanR | (~evan@user/evanr) (Remote host closed the connection) |
2021-12-03 08:08:47 +0100 | EvanR | (~evan@2600:1700:ba69:10:87af:d76a:1197:e8dd) |
2021-12-03 08:08:50 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2021-12-03 08:09:03 +0100 | <int-e> | there's also a blog post doing something similar, https://blog.rcook.org/blog/2018/ghci-custom-key-bindings/ |
2021-12-03 08:12:35 +0100 | <dmj`> | EvanR: despite it being invalidated, the transpose offers a convenient way to get a column, however inefficient. |
2021-12-03 08:14:59 +0100 | chele | (~chele@user/chele) |
2021-12-03 08:15:30 +0100 | dschrempf | (~dominik@mobiledyn-62-240-134-39.mrsn.at) |
2021-12-03 08:16:12 +0100 | imdoor | (~imdoor@balticom-142-78-50.balticom.lv) |
2021-12-03 08:27:17 +0100 | m5zs7k | (aquares@web10.mydevil.net) (Write error: Connection reset by peer) |
2021-12-03 08:27:34 +0100 | m5zs7k | (aquares@web10.mydevil.net) |
2021-12-03 08:28:50 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 08:30:31 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 08:30:49 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 08:32:29 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 08:32:47 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 08:34:26 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 08:34:43 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 08:35:20 +0100 | michalz | (~michalz@185.246.204.43) |
2021-12-03 08:37:38 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-12-03 08:39:34 +0100 | max22- | (~maxime@2a01cb088335980065dae87f91b73dea.ipv6.abo.wanadoo.fr) |
2021-12-03 08:41:14 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 08:41:31 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 08:41:51 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) (Ping timeout: 256 seconds) |
2021-12-03 08:42:35 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 08:42:47 +0100 | sprout_ | (~quassel@2a02:a467:ccd6:1:acfd:d7bd:8c5c:5aef) |
2021-12-03 08:42:52 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 08:44:58 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 08:45:15 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 08:46:42 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:54db:f79f:90dc:3ee5) (Ping timeout: 268 seconds) |
2021-12-03 08:46:59 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 08:47:05 +0100 | notzmv | (~zmv@user/notzmv) |
2021-12-03 08:47:17 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 08:49:07 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 08:51:05 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) (Ping timeout: 252 seconds) |
2021-12-03 08:51:46 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) |
2021-12-03 08:52:24 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 08:54:53 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 08:55:10 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 08:56:06 +0100 | n8ess163 | (~b@pool-72-80-171-162.nycmny.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzzβ¦) |
2021-12-03 08:58:49 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 08:59:06 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 09:02:53 +0100 | jakalx | (~jakalx@base.jakalx.net) () |
2021-12-03 09:03:01 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:2293:2037:bf6e:4ea5) |
2021-12-03 09:04:01 +0100 | <siers> | how can I write Endo (a, a) for (a -> a, a -> a)? I found uncurry bimap. But how do I do that for an 3-tuple or 4-tuple? Do I need something like scrap your boilerplate |
2021-12-03 09:06:33 +0100 | <siers> | if I could turn tuples into lists with generic programming, then it's just a map (uncurry ($)) (zip funcTuple dataTuple) |
2021-12-03 09:06:41 +0100 | <dminuoso> | Just do the pattern matching by hand? |
2021-12-03 09:06:46 +0100 | <siers> | yes, that's an option |
2021-12-03 09:06:53 +0100 | <siers> | just curious about how to do it generically |
2021-12-03 09:07:02 +0100 | <siers> | I already wrote the version by hand :) |
2021-12-03 09:07:07 +0100 | <dminuoso> | There's no elegant, expressive, idiomatic way to do it. |
2021-12-03 09:07:18 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-12-03 09:07:51 +0100 | <dminuoso> | You can use any of: a) typeclass-based generic uncurry, b) Generic-based generic uncurry or c) TH-based uncurry |
2021-12-03 09:08:25 +0100 | <dminuoso> | Though, you can use `lens` or `optics` if you want. |
2021-12-03 09:08:34 +0100 | <dminuoso> | If you have these as dependencies already. |
2021-12-03 09:08:54 +0100 | <dminuoso> | Both come with an Each typeclass that gives you that expressivity |
2021-12-03 09:09:04 +0100 | <dminuoso> | For up to ~10 tuples I think |
2021-12-03 09:10:05 +0100 | <siers> | wouldn't each be like map f list instead of map uncurry (zip a b)? |
2021-12-03 09:10:46 +0100 | <dminuoso> | Functor does not work because of the kindness of the types |
2021-12-03 09:10:59 +0100 | <dminuoso> | Also, you'd have to line up those tuples, you cant uniformly apply `f` |
2021-12-03 09:11:10 +0100 | <dminuoso> | i.e. you want to compose component-wise |
2021-12-03 09:11:32 +0100 | <siers> | right, that's why I'm saying Each shouldn't work |
2021-12-03 09:12:17 +0100 | <dminuoso> | Sorry, with Ixed you could |
2021-12-03 09:12:55 +0100 | <dminuoso> | Let me try and cook it up |
2021-12-03 09:13:38 +0100 | <dminuoso> | Ah no, we'd need something like IEach |
2021-12-03 09:14:01 +0100 | <siers> | I don't know so much about lens, but enough to make me suspect I couldn't do it with lens |
2021-12-03 09:14:53 +0100 | almight | (~almight@103.142.31.135) |
2021-12-03 09:15:37 +0100 | <almight> | Iam trying to run my haskell servant server in a docker container. |
2021-12-03 09:15:38 +0100 | <almight> | FROM ubuntu |
2021-12-03 09:15:38 +0100 | <almight> | WORKDIR /app |
2021-12-03 09:15:39 +0100 | <almight> | RUN apt-get update |
2021-12-03 09:15:39 +0100 | <almight> | RUN apt-get install libpq-dev -y |
2021-12-03 09:15:40 +0100 | <almight> | RUN apt-get install ca-certificates -y |
2021-12-03 09:15:40 +0100 | <almight> | #Copy the binary generated during build |
2021-12-03 09:15:41 +0100 | <almight> | COPY --from=build /app/build_output . |
2021-12-03 09:15:41 +0100 | <almight> | # Expose a port to run our application |
2021-12-03 09:15:42 +0100 | <almight> | EXPOSE 8080 |
2021-12-03 09:15:42 +0100 | <almight> | # Run the executable |
2021-12-03 09:15:43 +0100 | <almight> | CMD ./my-app-exe |
2021-12-03 09:15:48 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-03 09:15:49 +0100 | <almight> | this here is stage 2 of my docker build |
2021-12-03 09:16:04 +0100 | <almight> | the app works fine but none of the logs get printed |
2021-12-03 09:16:09 +0100 | <siers> | π€¦πΌ |
2021-12-03 09:18:39 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 09:18:57 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 09:19:45 +0100 | <dminuoso> | siers: Okay I think we can do this. |
2021-12-03 09:23:06 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 09:23:23 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 09:24:16 +0100 | almight | (~almight@103.142.31.135) (Quit: Client closed) |
2021-12-03 09:24:54 +0100 | vpan | (~0@212.117.1.172) |
2021-12-03 09:27:09 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 09:27:28 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 09:29:08 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 09:29:15 +0100 | MasseR | (~MasseR@51.15.143.128) (Quit: The Lounge - https://thelounge.chat) |
2021-12-03 09:29:26 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 09:30:00 +0100 | MasseR | (~MasseR@51.15.143.128) |
2021-12-03 09:31:40 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 09:31:57 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 09:32:00 +0100 | shriekingnoise | (~shrieking@186.137.144.80) (Quit: Quit) |
2021-12-03 09:32:59 +0100 | mud | (~mud@user/kadoban) (Remote host closed the connection) |
2021-12-03 09:38:08 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 09:38:26 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 09:38:34 +0100 | <arahael> | I'm looking for a `String -> Int -> Int` where the function converts the string as a number at a specified base to an int. |
2021-12-03 09:38:56 +0100 | vysn | (~vysn@user/vysn) |
2021-12-03 09:39:02 +0100 | <arahael> | Eg, `toInt "12341234" 4` should result in whatever is the correct value for that number in base 4. |
2021-12-03 09:39:32 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) |
2021-12-03 09:40:16 +0100 | <iqubic> | arahael: I assume this is for AoC? Is that right? |
2021-12-03 09:40:24 +0100 | <arahael> | iqubic: Good guess. :) |
2021-12-03 09:40:41 +0100 | <xerox> | :t readInt |
2021-12-03 09:40:42 +0100 | <lambdabot> | Num a => a -> (Char -> Bool) -> (Char -> Int) -> ReadS a |
2021-12-03 09:41:11 +0100 | <dminuoso> | % let x = ((+1), (+2)); y = ((+10), (+20)); (a, b) = x & indexing each %@~ (\i f -> fromJust (y ^? ix i)); in (a 0, b 0) |
2021-12-03 09:41:11 +0100 | <yahb> | dminuoso: (10,20) |
2021-12-03 09:41:12 +0100 | <xerox> | a build-your-own version |
2021-12-03 09:41:20 +0100 | <dminuoso> | siers: ^- this is just a first version, notoriously unsafe with the fromJust |
2021-12-03 09:41:22 +0100 | <int-e> | :t digitToInt |
2021-12-03 09:41:23 +0100 | <lambdabot> | Char -> Int |
2021-12-03 09:41:25 +0100 | <arahael> | xerox: That works nicely. |
2021-12-03 09:41:30 +0100 | <siers> | dminuoso, is that with lens? |
2021-12-03 09:41:33 +0100 | <dminuoso> | siers: Yes. |
2021-12-03 09:41:53 +0100 | <siers> | ah, I think I know what it means |
2021-12-03 09:41:59 +0100 | <dminuoso> | siers: this will work over two arbitrary Ixed even. Be sure to match arity, or you will get either a crash or mishbehave. |
2021-12-03 09:42:07 +0100 | <siers> | right |
2021-12-03 09:42:16 +0100 | <dminuoso> | The crash you can fix of course, the misbehaving not. |
2021-12-03 09:42:46 +0100 | <dminuoso> | And I didnt compose, but that's just a small thing to fix. |
2021-12-03 09:43:07 +0100 | <dminuoso> | % let x = ((+1), (+2)); y = ((+10), (+20)); (a, b) = x & indexing each %@~ (\i f -> f . fromJust (y ^? ix i)); in (a 0, b 0) |
2021-12-03 09:43:08 +0100 | <yahb> | dminuoso: (11,22) |
2021-12-03 09:43:20 +0100 | <siers> | kind of simple in hindsight, but that's because it's not safe :D |
2021-12-03 09:43:35 +0100 | <siers> | cool |
2021-12-03 09:43:45 +0100 | <dminuoso> | Well, you can cook up your own traversal that behaves safe if you want. |
2021-12-03 09:43:54 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:8149:2184:782c:2882) |
2021-12-03 09:44:00 +0100 | <dminuoso> | It's not too much extra work |
2021-12-03 09:44:24 +0100 | <dminuoso> | siers: The cool thing here is that you can even do this across two incompatible types. Say compose a tuple of functions with a tree of functions. |
2021-12-03 09:44:33 +0100 | <dminuoso> | As long as their arity matches, of course. |
2021-12-03 09:44:49 +0100 | <siers> | haha, that is really whack |
2021-12-03 09:45:35 +0100 | <siers> | what do you mean, a safe traversal? I don't understand at all what you might be hinting at |
2021-12-03 09:45:49 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-03 09:46:46 +0100 | acowley | (~acowley@c-68-83-22-43.hsd1.nj.comcast.net) (Read error: Connection reset by peer) |
2021-12-03 09:46:49 +0100 | sprout_ | (~quassel@2a02:a467:ccd6:1:acfd:d7bd:8c5c:5aef) (Ping timeout: 252 seconds) |
2021-12-03 09:48:04 +0100 | <dminuoso> | Well so consider this: |
2021-12-03 09:48:07 +0100 | <dminuoso> | % let x = ((+1), (+2)); y = ((+10), (+20)); crazyCompose x y = x & indexing each %@~ (\i f -> f . fromJust (y ^? ix i)); in (0 &) <$> crazyCompose [(+1), (+2)] ((+10), (+20)) |
2021-12-03 09:48:09 +0100 | <dminuoso> | % let x = ((+1), (+2)); y = ((+10), (+20)); crazyCompose x y = x & indexing each %@~ (\i f -> f . fromJust (y ^? ix i)); in (0 &) <$> crazyCompose [(+1), (+2)] ((+10), (+20)) |
2021-12-03 09:48:09 +0100 | <yahb> | dminuoso: [11,22] |
2021-12-03 09:48:23 +0100 | <dminuoso> | So this works fine, even composing a tuple of functions with a list of functions |
2021-12-03 09:48:29 +0100 | <dminuoso> | But what if we mismatch arity? |
2021-12-03 09:48:33 +0100 | <dminuoso> | % let x = ((+1), (+2)); y = ((+10), (+20)); crazyCompose x y = x & indexing each %@~ (\i f -> f . fromJust (y ^? ix i)); in (0 &) <$> crazyCompose [(+1), (+2), (+3)] ((+10), (+20)) |
2021-12-03 09:48:33 +0100 | <yahb> | dminuoso: [11,22,*** Exception: Maybe.fromJust: Nothing; CallStack (from HasCallStack):; error, called at libraries/base/Data/Maybe.hs:148:21 in base:Data.Maybe; fromJust, called at <interactive>:143:97 in interactive:Ghci48 |
2021-12-03 09:48:40 +0100 | <dminuoso> | % let x = ((+1), (+2)); y = ((+10), (+20)); crazyCompose x y = x & indexing each %@~ (\i f -> f . fromJust (y ^? ix i)); in (0 &) <$> crazyCompose [(+1), (+2)] ((+10), (+20), (+30)) |
2021-12-03 09:48:41 +0100 | <yahb> | dminuoso: [11,22] |
2021-12-03 09:48:50 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 252 seconds) |
2021-12-03 09:49:27 +0100 | <dminuoso> | So you could do something as naive as: |
2021-12-03 09:49:29 +0100 | <siers> | ah, one that would bubble the Option to the top, you mean |
2021-12-03 09:50:07 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-12-03 09:50:23 +0100 | <dminuoso> | well we can fix it like this for example |
2021-12-03 09:50:26 +0100 | <dminuoso> | % crazyCompose x y = x & indexing each %@~ (\i f -> maybe f (f .) (y ^? ix i)) |
2021-12-03 09:50:27 +0100 | <yahb> | dminuoso: |
2021-12-03 09:50:35 +0100 | <dminuoso> | % |
2021-12-03 09:50:35 +0100 | <yahb> | dminuoso: |
2021-12-03 09:50:39 +0100 | <dminuoso> | % (0 &) <$> crazyCompose [(+1), (+2), (+3)] ((+10), (+20) |
2021-12-03 09:50:39 +0100 | <yahb> | dminuoso: ; <interactive>:148:56: error: parse error (possibly incorrect indentation or mismatched brackets) |
2021-12-03 09:50:45 +0100 | <dminuoso> | % (0 &) <$> crazyCompose [(+1), (+2), (+3)] ((+10), (+20)) |
2021-12-03 09:50:45 +0100 | <yahb> | dminuoso: [11,22,3] |
2021-12-03 09:50:57 +0100 | ehamberg_ | ehamberg |
2021-12-03 09:51:00 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2021-12-03 09:51:30 +0100 | <dminuoso> | Note that this type of "you have to make sure yourself" you have frequently in various lens combinators |
2021-12-03 09:52:05 +0100 | <dminuoso> | For example: |
2021-12-03 09:52:08 +0100 | chele | (~chele@user/chele) (Ping timeout: 252 seconds) |
2021-12-03 09:52:14 +0100 | <dminuoso> | % "Sony Playstation" & partsOf (traverse . filtered isUpper) %~ reverse |
2021-12-03 09:52:14 +0100 | <yahb> | dminuoso: "Pony Slaystation" |
2021-12-03 09:52:22 +0100 | <dminuoso> | This is a pretty old and cool example. |
2021-12-03 09:52:46 +0100 | std_mutex[m] | (~stdmutexm@2001:470:69fc:105::1:4534) |
2021-12-03 09:52:53 +0100 | <dminuoso> | But what if we used set and mismatched arity? |
2021-12-03 09:53:16 +0100 | <dminuoso> | % ('a', 'b', 'c') & partsOf each .~ ['A','B','C','D'] |
2021-12-03 09:53:16 +0100 | <yahb> | dminuoso: ('A','B','C') |
2021-12-03 09:53:23 +0100 | <dminuoso> | % ('a', 'b', 'c') & partsOf each .~ ['A','B'] |
2021-12-03 09:53:23 +0100 | <yahb> | dminuoso: ('A','B','c') |
2021-12-03 09:53:46 +0100 | <dminuoso> | siers: Note that this behaves similarly to crazyCompose, in fact. |
2021-12-03 09:54:12 +0100 | acowley | (~acowley@c-68-83-22-43.hsd1.nj.comcast.net) |
2021-12-03 09:54:18 +0100 | <dminuoso> | We probably could implement crazyCompose in terms of partsOf too |
2021-12-03 09:54:45 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2021-12-03 09:54:51 +0100 | <dminuoso> | Heck, this could even be more expressible |
2021-12-03 09:56:31 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 09:56:49 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 09:56:56 +0100 | Escanor | (~Escanor@103.142.31.135) |
2021-12-03 09:57:00 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2021-12-03 09:57:17 +0100 | Escanor | (~Escanor@103.142.31.135) (Client Quit) |
2021-12-03 09:57:39 +0100 | <dminuoso> | Oh yes! |
2021-12-03 09:57:44 +0100 | <dminuoso> | % crazyCompose' x y = x & partsOf each %~ zipWith (.) (toListOf each y) |
2021-12-03 09:57:44 +0100 | <yahb> | dminuoso: |
2021-12-03 09:57:47 +0100 | <dminuoso> | siers: ^- this is it. |
2021-12-03 09:58:06 +0100 | <dminuoso> | % :t crazyCompose' |
2021-12-03 09:58:06 +0100 | <yahb> | dminuoso: (Each a1 b1 (a2 -> b2) (a2 -> b2), Each s s (b2 -> b2) (b2 -> b2)) => a1 -> s -> b1 |
2021-12-03 09:58:15 +0100 | <dminuoso> | % (0 &) <$> crazyCompose [(+1), (+2), (+3)] ((+10), (+20)) |
2021-12-03 09:58:16 +0100 | <yahb> | dminuoso: [11,22,3] |
2021-12-03 09:58:20 +0100 | <dminuoso> | Beautiful. :) |
2021-12-03 09:58:24 +0100 | acidjnk_new | (~acidjnk@p200300d0c7271e85247d18c27da64632.dip0.t-ipconnect.de) |
2021-12-03 10:00:44 +0100 | chele | (~chele@user/chele) |
2021-12-03 10:02:51 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 10:03:09 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 10:04:49 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 10:05:06 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 10:07:00 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 10:07:17 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 10:08:35 +0100 | jstolarek | (~jstolarek@137.220.120.162) |
2021-12-03 10:11:21 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 10:11:39 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 10:15:19 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 10:15:36 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 10:17:11 +0100 | dignissimus | (~dignissim@88-104-68-62.dynamic.dsl.as9105.com) |
2021-12-03 10:17:22 +0100 | <dignissimus> | I haven't used IRC in ages! |
2021-12-03 10:17:27 +0100 | <siers> | not any more |
2021-12-03 10:17:36 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-12-03 10:17:36 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-12-03 10:17:39 +0100 | allbery_b | geekosaur |
2021-12-03 10:18:47 +0100 | <dignissimus> | I'm having trouble with today's advent of Code, the issue is monads. I'm just about to paste it somewhere, hopefully I can get some help |
2021-12-03 10:19:41 +0100 | <arahael> | dignissimus: Have you considered doing it without monads? :) |
2021-12-03 10:19:48 +0100 | Sgeo_ | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-12-03 10:19:56 +0100 | <merijn> | I...may have overengineered my solution to part 1 >.> |
2021-12-03 10:20:19 +0100 | <arahael> | merijn: So did I. I had a really really clever implementation. :( |
2021-12-03 10:20:29 +0100 | <siers> | I foldMaped into Endo's to do yesterday's :) |
2021-12-03 10:20:38 +0100 | <merijn> | Mine is really unclever :p |
2021-12-03 10:20:46 +0100 | <arahael> | merijn: In retrospect, so's mine. :D |
2021-12-03 10:20:48 +0100 | <siers> | (apostrophe wasn't necessary) |
2021-12-03 10:21:12 +0100 | <xerox> | arahael: do you put those online somewhere? |
2021-12-03 10:21:16 +0100 | <siers> | did you two get all stars? |
2021-12-03 10:21:38 +0100 | <arahael> | xerox: I haven't done mine yet. Actually still doing it, but it's slow - had to cook pizza, I was starving, and I'm sooo sleepy. |
2021-12-03 10:22:19 +0100 | <merijn> | The description of part 2 seems to apply I can't just blindly collapse all predicate into one filter, because "stop at one" probably means if you apply all predicates your set will be empty |
2021-12-03 10:23:31 +0100 | <arahael> | merijn: Yeah, I had to read it several times. |
2021-12-03 10:24:29 +0100 | <dignissimus> | arahael: I'm too much of a beginenr to know if I don't have to XD |
2021-12-03 10:24:40 +0100 | <dignissimus> | https://paste.tomsmeding.com/TTGkZhpo |
2021-12-03 10:24:47 +0100 | <dignissimus> | This doesn't compile because of typing |
2021-12-03 10:25:03 +0100 | <dignissimus> | The `map (\x -> ())` is me being very desperate |
2021-12-03 10:25:26 +0100 | <merijn> | dignissimus: eh...have you considered no trying to have everything on a single line with no type annotations? xD |
2021-12-03 10:25:32 +0100 | <dignissimus> | hmmmmmm |
2021-12-03 10:25:38 +0100 | <dignissimus> | No XD |
2021-12-03 10:25:54 +0100 | <merijn> | No wonder your errors are unhelpful :p |
2021-12-03 10:26:02 +0100 | <arahael> | dignissimus: And also specify types - I'm not lookign at any possible solutions yet until I've submitted mine, but another tip is always to add types. |
2021-12-03 10:27:48 +0100 | <dignissimus> | I think I can state my question as I have something of type IO String and I'd like to print it out |
2021-12-03 10:28:13 +0100 | <dignissimus> | Also would the better way to write all that to create many functions? |
2021-12-03 10:28:35 +0100 | <dignissimus> | Or is there syntax sugar I should probably use |
2021-12-03 10:29:37 +0100 | <merijn> | Eh, just write out functions? in either where or just top level? |
2021-12-03 10:33:55 +0100 | <arahael> | Ok, done mine. Taking my contacts out, drinking port, and oh man, what a day. |
2021-12-03 10:33:58 +0100 | arahael | clicks on dignissimus's paste. |
2021-12-03 10:34:37 +0100 | <arahael> | Oh, yeah. Write a whole bunch of helper functions instead for that. :) |
2021-12-03 10:35:29 +0100 | <dminuoso> | If you have to employ a horizontal scrollbar, its too much. |
2021-12-03 10:36:27 +0100 | <merijn> | my Day2 solution is, like, 3 times that size :p |
2021-12-03 10:37:04 +0100 | <arahael> | Mine is... 30 times merijn's size. :D |
2021-12-03 10:37:17 +0100 | <dminuoso> | By merijn's size, do you mean in terms of characters of his name? |
2021-12-03 10:37:29 +0100 | <dminuoso> | Or in terms of his physical height? |
2021-12-03 10:37:40 +0100 | dminuoso | is unsure |
2021-12-03 10:37:57 +0100 | <arahael> | dminuoso: That's a strike against my implementation, seeing as I did it in literate haskell. It should have been clear! :( |
2021-12-03 10:38:15 +0100 | arahael | burns it. |
2021-12-03 10:39:11 +0100 | <arahael> | merijn: I managed to not implement part of the specification, and I still got the correct answers. :/ I suspect I was "lucky". |
2021-12-03 10:39:20 +0100 | <arahael> | (For day3) |
2021-12-03 10:41:42 +0100 | <merijn> | oh, shite |
2021-12-03 10:41:47 +0100 | <merijn> | I misread the 2nd part >.> |
2021-12-03 10:44:30 +0100 | [exa] | writes an oneliner on a 600col line |
2021-12-03 10:44:35 +0100 | <arahael> | merijn: I ignored part of it and still got it right! So I still got my stars. |
2021-12-03 10:44:53 +0100 | <merijn> | arahael: Naah, I just did the entirely wrong thing :p |
2021-12-03 10:45:30 +0100 | <arahael> | merijn: Nice. :) I'm really bad at code tonight so I'm pretty chuffed I got it done. :) Only had one of my three coffees today. :( |
2021-12-03 10:45:34 +0100 | <arahael> | Day was too busy. |
2021-12-03 10:45:47 +0100 | <arahael> | (And if I disrupt my coffee intake, my tinnitus goes haywire) |
2021-12-03 10:45:50 +0100 | dschrempf | (~dominik@mobiledyn-62-240-134-39.mrsn.at) (Quit: WeeChat 3.3) |
2021-12-03 10:50:55 +0100 | <merijn> | bleh...the inelegant way is easy, but I can't quite get the elegant solution to work >.> |
2021-12-03 10:51:52 +0100 | <arahael> | merijn: I do them all the inelegant way! Less thinking involved! |
2021-12-03 10:53:08 +0100 | <arahael> | Plus, the sooner I get AoC done, the sooner I can get into nethack again! |
2021-12-03 10:57:49 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 10:58:07 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 10:58:36 +0100 | x_kuru | (~xkuru@user/xkuru) |
2021-12-03 11:01:15 +0100 | xkuru | (~xkuru@user/xkuru) (Ping timeout: 252 seconds) |
2021-12-03 11:01:21 +0100 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2021-12-03 11:01:26 +0100 | <dignissimus> | I've solved it!! |
2021-12-03 11:01:39 +0100 | dschrempf | (~dominik@mobiledyn-62-240-134-39.mrsn.at) |
2021-12-03 11:01:47 +0100 | dschrempf | (~dominik@mobiledyn-62-240-134-39.mrsn.at) (Client Quit) |
2021-12-03 11:04:03 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 11:04:21 +0100 | <siers> | merijn, as always |
2021-12-03 11:04:21 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 11:05:15 +0100 | zer0bitz | (~zer0bitz@dsl-hkibng32-54fbfb-173.dhcp.inet.fi) |
2021-12-03 11:06:45 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
2021-12-03 11:06:50 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2021-12-03 11:08:30 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 11:08:48 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 11:08:54 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:715b:47ca:3928:db8d) (Remote host closed the connection) |
2021-12-03 11:09:06 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-12-03 11:09:41 +0100 | Lord_of_Life_ | Lord_of_Life |
2021-12-03 11:10:45 +0100 | <arahael> | dignissimus: Congrats! |
2021-12-03 11:11:10 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-03 11:15:59 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-12-03 11:16:46 +0100 | <merijn> | Well, it works. But it sucks :p |
2021-12-03 11:20:10 +0100 | <arahael> | I'm still pleasedd that mine worked for me. :) |
2021-12-03 11:20:45 +0100 | <arahael> | The detail I ignored is the bias bit - ie, if you have equal 1's and 0's, you're supposed to pick one or the other. |
2021-12-03 11:20:54 +0100 | <arahael> | I just went with whatever was the default for my algorithm. |
2021-12-03 11:21:13 +0100 | <arahael> | Pretty sure I got the correct answer by luck. |
2021-12-03 11:23:53 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 11:24:10 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 11:27:57 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 11:28:05 +0100 | <merijn> | I'm sure mine could've been way simpler, but I'm too foggy for that :p |
2021-12-03 11:28:15 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 11:28:19 +0100 | <merijn> | arahael: https://github.com/merijn/AdventOfCode/blob/master/Day3.hs |
2021-12-03 11:28:48 +0100 | <arahael> | merijn: Woah. Let me show you mine. |
2021-12-03 11:29:05 +0100 | <arahael> | https://github.com/arafangion/super-eureka/blob/main/app/Day3.md |
2021-12-03 11:29:47 +0100 | <arahael> | merijn: As you can tell, I'm very very lazy today. On multiple counts. :) |
2021-12-03 11:30:14 +0100 | <arahael> | Nice use of megaparsec, though. I'm tempted to start using that, but blegh. Not tonight. |
2021-12-03 11:30:43 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-12-03 11:31:34 +0100 | <merijn> | Not sure if Vector was worth the effort in the end :p |
2021-12-03 11:31:47 +0100 | <merijn> | I was expecting a different twist in the 2nd part :p |
2021-12-03 11:33:11 +0100 | <arahael> | Yeah, that's the trouble - impossible to predict. :) |
2021-12-03 11:33:35 +0100 | <arahael> | I did mine the most lazy way I could think of. As soon as I got the valid answer, I stopped. |
2021-12-03 11:33:48 +0100 | <arahael> | Mine is particularly inefficient, I suspect. |
2021-12-03 11:39:14 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 11:39:32 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 11:40:15 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-12-03 11:41:26 +0100 | <hololeap> | did anyone else use the NonEmpty comonad for day 1? |
2021-12-03 11:42:47 +0100 | wei2912 | (~wei2912@116.88.103.128) |
2021-12-03 11:42:49 +0100 | <xerox> | hololeap: what does that look like? |
2021-12-03 11:43:09 +0100 | <opqdonut> | sooooo GHC 8.10 and windows, segfaults, anyone else bump into this? I just find the old bug that was fixed in 8.8.4 |
2021-12-03 11:43:58 +0100 | <hololeap> | xerox: http://sprunge.us/G6o22G |
2021-12-03 11:44:04 +0100 | mmhat | (~mmh@55d45bca.access.ecotel.net) |
2021-12-03 11:46:17 +0100 | <xerox> | :t (=>=) |
2021-12-03 11:46:18 +0100 | <lambdabot> | error: |
2021-12-03 11:46:18 +0100 | <lambdabot> | β’ Variable not in scope: =>= |
2021-12-03 11:46:19 +0100 | <lambdabot> | β’ Perhaps you meant one of these: |
2021-12-03 11:47:07 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-03 11:47:08 +0100 | <hololeap> | % import Control.Comonad |
2021-12-03 11:47:08 +0100 | <yahb> | hololeap: |
2021-12-03 11:47:14 +0100 | <hololeap> | % :t (=>=) |
2021-12-03 11:47:14 +0100 | <yahb> | hololeap: Comonad w => (w a -> b) -> (w b -> c) -> w a -> c |
2021-12-03 11:47:20 +0100 | <xerox> | neat |
2021-12-03 11:47:43 +0100 | <xerox> | do they use w because it's kinda of an upside down m |
2021-12-03 11:47:49 +0100 | <hololeap> | yeah |
2021-12-03 11:47:52 +0100 | <xerox> | hilarious |
2021-12-03 11:48:30 +0100 | <hololeap> | % :t \f g -> extend (f =>= g) |
2021-12-03 11:48:31 +0100 | <yahb> | hololeap: Comonad w => (w a -> b1) -> (w b1 -> b2) -> w a -> w b2 |
2021-12-03 11:48:38 +0100 | <xerox> | is there also pure :: a -> w a ? |
2021-12-03 11:48:47 +0100 | <hololeap> | it's called extract |
2021-12-03 11:48:52 +0100 | <hololeap> | % :t extract |
2021-12-03 11:48:52 +0100 | <yahb> | hololeap: Comonad w => w a -> a |
2021-12-03 11:48:53 +0100 | <merijn> | xerox: That's the wrong way around |
2021-12-03 11:49:01 +0100 | <merijn> | xerox: it's "w a -> a" |
2021-12-03 11:49:01 +0100 | <hololeap> | everything is reversed |
2021-12-03 11:49:06 +0100 | <xerox> | I was wondering how the 'b' became 'w b' |
2021-12-03 11:49:11 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-03 11:49:50 +0100 | <merijn> | tbh, my brain still doesn't grok comonad :p |
2021-12-03 11:50:05 +0100 | <dignissimus> | merijn: Your solution looks amazing |
2021-12-03 11:50:06 +0100 | arahael | hands merijn some more wine. |
2021-12-03 11:50:15 +0100 | <hololeap> | % :t duplicate |
2021-12-03 11:50:16 +0100 | <yahb> | hololeap: Comonad w => w a -> w (w a) |
2021-12-03 11:50:21 +0100 | <dignissimus> | arahael: I like your mostCommon implementation |
2021-12-03 11:50:23 +0100 | <xerox> | cool |
2021-12-03 11:50:40 +0100 | <arahael> | dignissimus: There's a bug in it. |
2021-12-03 11:50:43 +0100 | <hololeap> | % :t \f fmap f . duplicate |
2021-12-03 11:50:44 +0100 | <yahb> | hololeap: ; <interactive>:1:11: error: parse error on input `.' |
2021-12-03 11:50:44 +0100 | <xerox> | so you expand the universe instead |
2021-12-03 11:50:49 +0100 | <hololeap> | % :t \f -> fmap f . duplicate |
2021-12-03 11:50:50 +0100 | <yahb> | hololeap: Comonad f => (f a -> b) -> f a -> f b |
2021-12-03 11:51:07 +0100 | <dignissimus> | oh what's the bug? |
2021-12-03 11:51:15 +0100 | <arahael> | dignissimus: have you done part 2 yet? |
2021-12-03 11:51:23 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-03 11:51:30 +0100 | <merijn> | dignissimus: The goal is to keep them relatively simple for beginners :) |
2021-12-03 11:51:42 +0100 | <dignissimus> | No, just part 1 |
2021-12-03 11:51:45 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-12-03 11:51:49 +0100 | <arahael> | dignissimus: There's no bug yet, then. :D |
2021-12-03 11:51:50 +0100 | <merijn> | (But also, no "skip handling errors" shortcuts!) |
2021-12-03 11:51:50 +0100 | <dignissimus> | I don't know if I want to do part 2 HAHAHAH |
2021-12-03 11:51:52 +0100 | <arahael> | dignissimus: Keep going! |
2021-12-03 11:52:10 +0100 | <hololeap> | whenever you read "sliding window", chances are comonads are a good fit |
2021-12-03 11:52:15 +0100 | <hololeap> | at least in theory... |
2021-12-03 11:52:24 +0100 | <dignissimus> | There's so much to read! |
2021-12-03 11:52:28 +0100 | <dignissimus> | I might do it later |
2021-12-03 11:52:51 +0100 | <arahael> | hololeap: What does Day2 look like using comonads, then? :) |
2021-12-03 11:53:54 +0100 | <merijn> | hololeap: Whenever I read sliding windows I read "zip + drop" :p |
2021-12-03 11:54:08 +0100 | fef | (~thedawn@user/thedawn) (Quit: Leaving) |
2021-12-03 11:54:40 +0100 | chomwitt | (~chomwitt@2a02:587:dc0d:6d00:12c3:7bff:fe6d:d374) (Remote host closed the connection) |
2021-12-03 11:54:59 +0100 | chomwitt | (~chomwitt@2a02:587:dc0d:6d00:12c3:7bff:fe6d:d374) |
2021-12-03 11:55:43 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 256 seconds) |
2021-12-03 11:57:28 +0100 | arahael | considers a third glass of port. |
2021-12-03 11:59:08 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 11:59:25 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 12:03:34 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 12:03:51 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 12:05:31 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 12:05:49 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 12:06:29 +0100 | <siers> | merijn, but you needed to do it two times, I guess? |
2021-12-03 12:06:44 +0100 | dschrempf | (~dominik@mobiledyn-62-240-134-39.mrsn.at) |
2021-12-03 12:06:55 +0100 | dschrempf | (~dominik@mobiledyn-62-240-134-39.mrsn.at) (Client Quit) |
2021-12-03 12:07:47 +0100 | AlexNoo_ | AlexNoo |
2021-12-03 12:09:19 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f5ec:bb0e:161e:528b) |
2021-12-03 12:12:01 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 252 seconds) |
2021-12-03 12:13:51 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f5ec:bb0e:161e:528b) (Ping timeout: 252 seconds) |
2021-12-03 12:16:05 +0100 | kuribas | (~user@ptr-25vy0i9sci02rkc3ssb.18120a2.ip6.access.telenet.be) |
2021-12-03 12:18:51 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 12:18:54 +0100 | namkeleser | (~namkelese@101.175.102.188) |
2021-12-03 12:19:08 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 12:20:48 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 12:21:06 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 12:22:46 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 12:23:04 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 12:24:44 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 12:25:02 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 12:25:14 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) |
2021-12-03 12:26:53 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-12-03 12:31:00 +0100 | <kuribas> | I saw this book: https://www.manning.com/books/data-oriented-programming |
2021-12-03 12:31:08 +0100 | <kuribas> | I wonder if it is applicable to FP? |
2021-12-03 12:31:27 +0100 | <kuribas> | Or is it just another technique to make up for the lack of flexibility in OO. |
2021-12-03 12:33:35 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 12:33:53 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 12:35:33 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 12:35:51 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 12:38:41 +0100 | <dminuoso> | I have two versions of a datatype, one that has `[(K, V)]` in one particular field, and the other uses `Map K V`. |
2021-12-03 12:39:21 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-03 12:39:58 +0100 | <dminuoso> | I tried parametrizing this data type over type `LookupList k v = [(k, v]`, such that I'd have `type Validated = Skeleton Map` and `type Unvalidated = Skeleton LookupList`, but GHC wont accept that, it requires the type alias to be expanded |
2021-12-03 12:40:28 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-03 12:40:28 +0100 | <dminuoso> | What other options do I have without using DataKinds + TyFams? |
2021-12-03 12:40:59 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) (Ping timeout: 256 seconds) |
2021-12-03 12:41:06 +0100 | <kuribas> | dminuoso: newtypes? |
2021-12-03 12:41:27 +0100 | <dminuoso> | Oh. Mmm. |
2021-12-03 12:41:32 +0100 | <dminuoso> | Yeah I guess that works |
2021-12-03 12:41:52 +0100 | <kuribas> | and some liberal use of "coerce". |
2021-12-03 12:42:00 +0100 | <kuribas> | if needed. |
2021-12-03 12:42:27 +0100 | iqubic | (~user@2601:602:9502:c70:7d14:3ce3:e8b8:8f59) (Ping timeout: 252 seconds) |
2021-12-03 12:44:21 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 12:44:39 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 12:44:40 +0100 | hrdl | (~hrdl@mail.hrdl.eu) (Quit: Lost terminal) |
2021-12-03 12:45:45 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-03 12:46:08 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-03 12:46:22 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-03 12:48:11 +0100 | hrdl | (~hrdl@mail.hrdl.eu) |
2021-12-03 12:52:51 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 12:53:09 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 12:56:14 +0100 | <dminuoso> | % data Foo a = Foo { foo :: a } |
2021-12-03 12:56:15 +0100 | <yahb> | dminuoso: |
2021-12-03 12:56:17 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-03 12:56:24 +0100 | <dminuoso> | % x = Foo { foo = 'c' } |
2021-12-03 12:56:25 +0100 | <yahb> | dminuoso: |
2021-12-03 12:56:31 +0100 | <dminuoso> | % y = x{ foo = "bar" } |
2021-12-03 12:56:32 +0100 | <yahb> | dminuoso: |
2021-12-03 12:56:42 +0100 | <dminuoso> | Im quite amazed this is possible. :) |
2021-12-03 12:56:58 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-03 12:58:55 +0100 | acidjnk_new | (~acidjnk@p200300d0c7271e85247d18c27da64632.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2021-12-03 12:59:06 +0100 | <dminuoso> | For some reason I did not expect this to work |
2021-12-03 12:59:31 +0100 | dignissimus | (~dignissim@88-104-68-62.dynamic.dsl.as9105.com) (Quit: Bye!) |
2021-12-03 12:59:39 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 276 seconds) |
2021-12-03 13:00:24 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-12-03 13:00:35 +0100 | <hololeap> | arahael: couldn't find a use for comonads on that one https://gist.github.com/hololeap/7bafa6592902de52fb7b4e2e9bedc1b8 |
2021-12-03 13:02:27 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:bd44:40bf:fb3b:742a) |
2021-12-03 13:02:33 +0100 | <arahael> | hololeap: Oh, I must've been thinking of day1. :( |
2021-12-03 13:03:12 +0100 | <arahael> | hololeap: Interesting implementation - very production grade. |
2021-12-03 13:04:17 +0100 | <kuribas> | dminuoso: polymorphic record update? |
2021-12-03 13:05:42 +0100 | retroid_ | (~retro@97e2ba2e.skybroadband.com) (Ping timeout: 268 seconds) |
2021-12-03 13:06:04 +0100 | retroid_ | (~retro@97e2ba2e.skybroadband.com) |
2021-12-03 13:07:03 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-03 13:08:12 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-03 13:08:19 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:5084:9b62:332c:deab) |
2021-12-03 13:10:30 +0100 | <kuribas> | % data Foo a = Foo { foo :: a, bar :: a} |
2021-12-03 13:10:30 +0100 | <yahb> | kuribas: |
2021-12-03 13:10:47 +0100 | <kuribas> | % x = Foo { foo = 'c', bar = 'd' } |
2021-12-03 13:10:48 +0100 | <yahb> | kuribas: |
2021-12-03 13:10:59 +0100 | <kuribas> | % y = x { foo = "bar"} |
2021-12-03 13:10:59 +0100 | <yahb> | kuribas: ; <interactive>:171:15: error:; * Couldn't match type `[Char]' with `Char'; Expected: Char; Actual: String; * In the `foo' field of a record; In the expression: x {foo = "bar"}; In an equation for `y': y = x {foo = "bar"} |
2021-12-03 13:14:57 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 13:15:15 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 13:16:14 +0100 | <kuribas> | yahb: good boye |
2021-12-03 13:16:41 +0100 | chisui | (~chisui@2001:16b8:661d:7600:f248:3361:5fc2:82d9) |
2021-12-03 13:18:55 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 13:18:57 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-03 13:19:13 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 13:19:27 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-03 13:20:05 +0100 | <kuribas> | what's so bad about BlockArguments? |
2021-12-03 13:20:48 +0100 | <geekosaur> | many people seem to find them hard to read |
2021-12-03 13:21:10 +0100 | <siers> | they can read haskell and it's this that trips them up? D: |
2021-12-03 13:21:31 +0100 | <hpc> | they're just in it for the $ |
2021-12-03 13:22:21 +0100 | vysn | (~vysn@user/vysn) (Ping timeout: 268 seconds) |
2021-12-03 13:22:22 +0100 | <hololeap> | lol |
2021-12-03 13:22:56 +0100 | <kuribas> | siers: yeah, my thought also... |
2021-12-03 13:23:40 +0100 | <hpc> | also, i find ruby's block arguments perfectly readable |
2021-12-03 13:24:11 +0100 | <hpc> | so there's already an example of it not being an issue, once you go into it without preconceptions |
2021-12-03 13:24:15 +0100 | <geekosaur> | admittedly ruby's are somewhat limited |
2021-12-03 13:24:25 +0100 | <hpc> | sure, but they're structurally the same |
2021-12-03 13:24:31 +0100 | <siers> | ruby is somehwat limited |
2021-12-03 13:24:37 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-03 13:24:50 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-03 13:24:55 +0100 | <hpc> | function do block <=> function do block |
2021-12-03 13:25:08 +0100 | <hpc> | function \arg -> block <=> function do |arg| block |
2021-12-03 13:25:35 +0100 | <hpc> | function case expr of ... <=> function do lots of if-then-else block |
2021-12-03 13:25:48 +0100 | <hpc> | etc |
2021-12-03 13:26:03 +0100 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-12-03 13:27:27 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:5084:9b62:332c:deab) (Quit: gone to sleep. ZZZzzzβ¦) |
2021-12-03 13:28:37 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-12-03 13:28:42 +0100 | mikoto-chan | (~mikoto-ch@esm-84-240-99-143.netplaza.fi) (Quit: mikoto-chan) |
2021-12-03 13:28:52 +0100 | mikoto-chan | (~mikoto-ch@esm-84-240-99-143.netplaza.fi) |
2021-12-03 13:28:53 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:5084:9b62:332c:deab) |
2021-12-03 13:29:42 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:5084:9b62:332c:deab) (Client Quit) |
2021-12-03 13:29:54 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) |
2021-12-03 13:30:07 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-03 13:30:33 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-03 13:32:17 +0100 | aliosablack | (~chomwitt@2a02:587:dc0d:6d00:12c3:7bff:fe6d:d374) |
2021-12-03 13:32:48 +0100 | chomwitt | (~chomwitt@2a02:587:dc0d:6d00:12c3:7bff:fe6d:d374) (Read error: Connection reset by peer) |
2021-12-03 13:33:19 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:5084:9b62:332c:deab) |
2021-12-03 13:34:31 +0100 | shriekingnoise | (~shrieking@186.137.144.80) |
2021-12-03 13:35:37 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-03 13:36:31 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-03 13:38:05 +0100 | alzgh | (~alzgh@user/alzgh) |
2021-12-03 13:38:49 +0100 | <dminuoso> | pure UserNonValidated{..}{_unvPerms = PermSet{ .. }} |
2021-12-03 13:39:11 +0100 | <dminuoso> | What a cute way to defeat faulty ApplicativeDo logic |
2021-12-03 13:39:38 +0100 | <dminuoso> | Sadly this still triggers an undefined fields warning. |
2021-12-03 13:41:18 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 13:41:35 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 13:41:51 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-03 13:42:16 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-03 13:43:12 +0100 | Benzi-Junior | (~BenziJuni@88-149-66-61.du.xdsl.is) |
2021-12-03 13:45:33 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 13:45:51 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 13:47:31 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 13:47:48 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 13:51:52 +0100 | _bo | (~bo@79.171.122.236) |
2021-12-03 13:53:32 +0100 | max22- | (~maxime@2a01cb088335980065dae87f91b73dea.ipv6.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
2021-12-03 13:56:41 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 13:56:57 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 14:00:51 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 14:01:09 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 14:02:49 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 14:03:07 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 14:04:47 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 14:05:05 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 14:06:45 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 14:07:03 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 14:07:20 +0100 | aliosablack | (~chomwitt@2a02:587:dc0d:6d00:12c3:7bff:fe6d:d374) (Ping timeout: 252 seconds) |
2021-12-03 14:08:36 +0100 | <aplainzetakind> | Does hls provided by ghcup have brittany? |
2021-12-03 14:11:03 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 14:11:21 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 14:12:47 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) (Ping timeout: 256 seconds) |
2021-12-03 14:15:01 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 14:15:09 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) |
2021-12-03 14:15:19 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 14:16:59 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 14:17:17 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 14:18:57 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 14:19:15 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 14:19:31 +0100 | <jneira[m]> | yeah, for all ghcs but 9.0.1 |
2021-12-03 14:20:59 +0100 | <jneira[m]> | ghcup downloads hls from hls repo releases |
2021-12-03 14:22:19 +0100 | chomwitt | (~chomwitt@2a02:587:dc0d:6d00:12c3:7bff:fe6d:d374) |
2021-12-03 14:27:02 +0100 | <aplainzetakind> | But that's just support and brittany itself needs to be installed right? |
2021-12-03 14:29:45 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 14:30:03 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 14:31:07 +0100 | fabfianda | (~fabfianda@net-109-115-246-237.cust.vodafonedsl.it) |
2021-12-03 14:32:55 +0100 | deadmarshal_ | (~deadmarsh@68.235.32.241) |
2021-12-03 14:33:45 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) (Ping timeout: 256 seconds) |
2021-12-03 14:35:33 +0100 | Lycurgus | (~juan@98.4.112.204) |
2021-12-03 14:36:14 +0100 | hololeap | (~hololeap@user/hololeap) (Remote host closed the connection) |
2021-12-03 14:37:37 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-12-03 14:40:41 +0100 | max22- | (~maxime@2a01cb0883359800d8b0a223a3eaa461.ipv6.abo.wanadoo.fr) |
2021-12-03 14:43:19 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 14:43:37 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 14:43:49 +0100 | deadmarshal_ | (~deadmarsh@68.235.32.241) (Ping timeout: 252 seconds) |
2021-12-03 14:44:45 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) |
2021-12-03 14:47:23 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 14:47:41 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 14:48:48 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:5084:9b62:332c:deab) (Quit: gone to sleep. ZZZzzzβ¦) |
2021-12-03 14:51:17 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 14:51:35 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 14:53:15 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 14:53:33 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 14:54:09 +0100 | alx741 | (~alx741@181.196.68.155) (Ping timeout: 256 seconds) |
2021-12-03 14:58:32 +0100 | ph88 | (~ph88@ip5f5af068.dynamic.kabel-deutschland.de) |
2021-12-03 15:00:12 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 15:00:30 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 15:02:26 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 15:02:44 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 15:03:58 +0100 | kritzefitz | (~kritzefit@debian/kritzefitz) (Remote host closed the connection) |
2021-12-03 15:04:35 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-03 15:05:17 +0100 | kritzefitz | (~kritzefit@debian/kritzefitz) |
2021-12-03 15:05:39 +0100 | aliosablack | (~chomwitt@2a02:587:dc0d:6d00:12c3:7bff:fe6d:d374) |
2021-12-03 15:06:07 +0100 | chomwitt | (~chomwitt@2a02:587:dc0d:6d00:12c3:7bff:fe6d:d374) (Read error: Connection reset by peer) |
2021-12-03 15:06:33 +0100 | alx741 | (~alx741@186.178.108.253) |
2021-12-03 15:08:56 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 252 seconds) |
2021-12-03 15:09:58 +0100 | son0p | (~ff@181.136.122.143) (Remote host closed the connection) |
2021-12-03 15:13:02 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-03 15:15:29 +0100 | ether_ | (~a@p200300ef970235268185de4e61219232.dip0.t-ipconnect.de) |
2021-12-03 15:17:27 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-12-03 15:23:37 +0100 | Guest17 | (~Guest17@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
2021-12-03 15:25:17 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 15:25:35 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 15:26:59 +0100 | imdoor | (~imdoor@balticom-142-78-50.balticom.lv) (Quit: imdoor) |
2021-12-03 15:27:27 +0100 | Lycurgus | (~juan@98.4.112.204) (Quit: Exeunt) |
2021-12-03 15:34:43 +0100 | ether_ | (~a@p200300ef970235268185de4e61219232.dip0.t-ipconnect.de) (Quit: WeeChat 3.0.1) |
2021-12-03 15:35:01 +0100 | Techcable | (~Techcable@168.235.93.147) (Ping timeout: 256 seconds) |
2021-12-03 15:35:19 +0100 | Feuermagier_ | (~Feuermagi@2a02:2488:4211:3400:b6fd:ec18:acf6:f1a8) (Quit: Leaving) |
2021-12-03 15:35:32 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) |
2021-12-03 15:38:26 +0100 | <zincy> | Is it just me or is state machine testing with Hedgehog a pretty nasty experience |
2021-12-03 15:38:49 +0100 | <zincy> | Using Vars is tricky |
2021-12-03 15:40:35 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 15:40:52 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 15:42:32 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 15:42:50 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 15:43:51 +0100 | zebrag | (~chris@user/zebrag) |
2021-12-03 15:46:03 +0100 | <[exa]> | zincy: perhaps testing state machines with anything is a nasty experience in general |
2021-12-03 15:46:18 +0100 | <zincy> | Yeah it is hard |
2021-12-03 15:46:38 +0100 | mud | (~mud@user/kadoban) |
2021-12-03 15:51:50 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 15:52:08 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 15:53:18 +0100 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
2021-12-03 15:55:13 +0100 | alzgh | (~alzgh@user/alzgh) |
2021-12-03 16:00:25 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 16:00:43 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 16:02:16 +0100 | doyougnu | (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) |
2021-12-03 16:03:10 +0100 | <kuribas> | oh, "s" will popup a searchbox! |
2021-12-03 16:03:19 +0100 | <kuribas> | (in hackage) |
2021-12-03 16:06:39 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 16:06:56 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 16:07:25 +0100 | zer0bitz | (~zer0bitz@dsl-hkibng32-54fbfb-173.dhcp.inet.fi) (Ping timeout: 252 seconds) |
2021-12-03 16:07:38 +0100 | zer0bitz | (~zer0bitz@dsl-hkibng32-54fbfb-173.dhcp.inet.fi) |
2021-12-03 16:09:26 +0100 | alzgh | (~alzgh@user/alzgh) (Remote host closed the connection) |
2021-12-03 16:10:33 +0100 | <maerwald> | yeah... it's a bit rough though |
2021-12-03 16:11:22 +0100 | alzgh | (~alzgh@user/alzgh) |
2021-12-03 16:12:25 +0100 | ether_ | (~a@p200300ef970235b38185de4e61219232.dip0.t-ipconnect.de) |
2021-12-03 16:13:38 +0100 | <kuribas> | Better than nothing? |
2021-12-03 16:14:03 +0100 | chisui | (~chisui@2001:16b8:661d:7600:f248:3361:5fc2:82d9) (Quit: Client closed) |
2021-12-03 16:17:25 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 16:17:43 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 16:19:23 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 16:19:41 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 16:20:13 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:5084:9b62:332c:deab) |
2021-12-03 16:22:43 +0100 | Itaru | (~DaSH@ro2.flokinet.is) |
2021-12-03 16:24:11 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
2021-12-03 16:24:16 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-12-03 16:24:22 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
2021-12-03 16:24:46 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-12-03 16:25:12 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
2021-12-03 16:25:19 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-12-03 16:25:26 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
2021-12-03 16:25:56 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 252 seconds) |
2021-12-03 16:26:17 +0100 | cheater | (~Username@user/cheater) |
2021-12-03 16:27:22 +0100 | vpan | (~0@212.117.1.172) (Quit: Leaving.) |
2021-12-03 16:29:12 +0100 | EvanR | (~evan@2600:1700:ba69:10:87af:d76a:1197:e8dd) (Quit: Leaving) |
2021-12-03 16:31:44 +0100 | EvanR | (~evan@user/evanr) |
2021-12-03 16:32:15 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2021-12-03 16:33:12 +0100 | jakalx | (~jakalx@base.jakalx.net) () |
2021-12-03 16:35:30 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 16:35:48 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 16:38:39 +0100 | <merijn> | maerwald: Is there any language that has something better? |
2021-12-03 16:38:51 +0100 | <ether_> | I want to do a in place QuickSort. Do I need STM? |
2021-12-03 16:39:04 +0100 | <merijn> | ether_: Not necessarily |
2021-12-03 16:39:05 +0100 | <maerwald> | merijn: rust |
2021-12-03 16:39:10 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-12-03 16:39:28 +0100 | <merijn> | ether_: But you do need some form of mutability (STM, IO, or ST) |
2021-12-03 16:40:01 +0100 | <merijn> | ether_: And probably want to use Vector (assuming you weren't already) |
2021-12-03 16:40:36 +0100 | <ether_> | merijn: Which is used normally? STM IO or ST? |
2021-12-03 16:41:25 +0100 | <merijn> | ether_: IO (if you're already in IO anyway) or ST |
2021-12-03 16:41:53 +0100 | <merijn> | ether_: ST is nice, because you can encapsulate it in pure code |
2021-12-03 16:41:59 +0100 | <ether_> | Is STM used if I try to parallelize quicksort? |
2021-12-03 16:42:39 +0100 | <merijn> | ether_: You could, but I don't think there's currently any STM vectors/arrays (or at least, I'm not aware of one) |
2021-12-03 16:42:43 +0100 | <merijn> | Could be a neat project |
2021-12-03 16:43:45 +0100 | <ether_> | Is parallel quicksort possible with ST (sorry, still a beginner)? |
2021-12-03 16:43:55 +0100 | jgeerds | (~jgeerds@55d45b75.access.ecotel.net) |
2021-12-03 16:44:06 +0100 | hiruji | (~hiruji@user/hiruji) (Ping timeout: 245 seconds) |
2021-12-03 16:44:19 +0100 | <merijn> | ST is only single-threaded |
2021-12-03 16:44:32 +0100 | <merijn> | One of the reasons you can encapsulate it in pure code :p |
2021-12-03 16:44:51 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2021-12-03 16:45:20 +0100 | fizbin_ | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-03 16:45:33 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Read error: Connection reset by peer) |
2021-12-03 16:45:54 +0100 | <ether_> | Ok, so first project could be in sort quicksort with st. And parallel quicksort is not possible right now. |
2021-12-03 16:46:29 +0100 | <merijn> | ether_: Sort is actually a nice example of this. Consider: a function that has "list goes in" -> "sorted list goes out" is pure, even if you use mutability inside *IFF* you can guarantee no one can observe your mutability outside that function call |
2021-12-03 16:47:07 +0100 | <merijn> | Because, how could you even tell if it used mutability internally? |
2021-12-03 16:47:15 +0100 | <ether_> | So it's ok because the mutability is local. |
2021-12-03 16:47:24 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-12-03 16:47:46 +0100 | <merijn> | ether_: The ST monad allows mutable references inside it, but statically prevents any of the mutability leaking out of scope |
2021-12-03 16:48:32 +0100 | <merijn> | ether_: Which is why (unlike IO) there is a (safe!) "unST :: ST a -> a" function (type is a partial fib, because the type is slightly more complicated) |
2021-12-03 16:49:08 +0100 | samhh | (7569f027cf@2604:bf00:561:2000::e4) |
2021-12-03 16:49:45 +0100 | <ether_> | If nobody else knows about it and nobody else can use it then mutability is ok :-) |
2021-12-03 16:50:17 +0100 | n8ess163 | (~b@pool-72-80-171-162.nycmny.fios.verizon.net) |
2021-12-03 16:51:17 +0100 | <merijn> | For more details than you ever wanted to know about ST (and pure mutability), this is a good explanation of how it works: https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.45.3718&rep=rep1&type=pdf |
2021-12-03 16:52:28 +0100 | xsperry | (~xs@user/xsperry) () |
2021-12-03 16:52:30 +0100 | lbseale | (~ep1ctetus@user/ep1ctetus) |
2021-12-03 16:52:45 +0100 | <geekosaur> | mutability is ok as long as nothing else can prove you did it :) |
2021-12-03 16:53:58 +0100 | <merijn> | @hackage vector |
2021-12-03 16:53:58 +0100 | <lambdabot> | https://hackage.haskell.org/package/vector |
2021-12-03 16:54:27 +0100 | <merijn> | ether_: The Vector package's Mutable modules support ST based reads/writes of vectors |
2021-12-03 16:54:47 +0100 | <merijn> | Actually...I think i used that for AoC in 2019, maybe I have an example :p |
2021-12-03 16:54:55 +0100 | <ether_> | How does Haskell solve parallel mutable array access if ST is single threaded and there is no STM vector? |
2021-12-03 16:55:18 +0100 | <merijn> | Ah, no, I did it using IO :) |
2021-12-03 16:55:56 +0100 | <merijn> | ether_: I mean, vector is just a library, there's nothing that prevents you from implementing an STM vector, I just don't think anyone has, because designing a good API is hard |
2021-12-03 16:55:59 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) (Ping timeout: 256 seconds) |
2021-12-03 16:56:08 +0100 | hiruji | (~hiruji@user/hiruji) |
2021-12-03 16:56:13 +0100 | <merijn> | ether_: IO based Vector can be used in a parallel setting, though |
2021-12-03 16:56:28 +0100 | <merijn> | ether_: There's also "sparks" which allow for pure parallelism too |
2021-12-03 16:56:48 +0100 | <merijn> | Simon Marlow's "Parallel & Concurrent Haskell" book explain those, iirc |
2021-12-03 16:57:49 +0100 | <ether_> | Is this the normal model with threads and locks? |
2021-12-03 16:57:51 +0100 | <merijn> | You could even make a regular vector of individual TVar's that you can then update individually |
2021-12-03 16:58:13 +0100 | <merijn> | ether_: The IO approach would just be the regular threads and locks kinda deal, yeah |
2021-12-03 16:59:46 +0100 | <merijn> | ether_: sparks are entirely different, in that they're basically "deterministic parallelism". Consider the example of "map (*2) someList", it is (obviously) safe to perform the multplications in parallel, because obviously no one can tell whether you did or not. But I don't think there is a lot of stuff written about how to use sparks effectively, though |
2021-12-03 17:00:08 +0100 | <merijn> | I think Athas was playing with them for a class a while back, but I dunno if he has any pointers |
2021-12-03 17:00:08 +0100 | xosdy[m] | (~xosdyalet@2001:470:69fc:105::31f7) (Quit: You have been kicked for being idle) |
2021-12-03 17:00:21 +0100 | xosdy[m] | (~xosdyalet@2001:470:69fc:105::31f7) |
2021-12-03 17:00:22 +0100 | xosdy[m] | (~xosdyalet@2001:470:69fc:105::31f7) () |
2021-12-03 17:00:46 +0100 | <ether_> | I don't know much about mutability and parallelism in Haskell. My idea was to make a parallel in place quicksort to learn real world Haskell better. But I think this is too advanced for me. I will try the in place ST quicksort though. |
2021-12-03 17:02:10 +0100 | <EvanR> | how about immutability and parallelism |
2021-12-03 17:02:49 +0100 | <EvanR> | https://hackage.haskell.org/package/parallel-3.2.2.0/docs/Control-Parallel.html |
2021-12-03 17:02:58 +0100 | <merijn> | ether_: Parallel & Concurrent Haskell is a very nice book for getting familiar with the basic parallelism/concurrency primitives in GHC |
2021-12-03 17:03:26 +0100 | <merijn> | ether_: But a single-threaded ST and/or IO based first implementation is probably an easier starting point |
2021-12-03 17:03:46 +0100 | <merijn> | Also, allow me my usual hot take: Why quick sort, the worst of all sorts? :p |
2021-12-03 17:04:27 +0100 | <merijn> | A pox upon whoever thought of that name, misleading generations of programmers into thinking it's a good sort >.> |
2021-12-03 17:08:27 +0100 | alzgh | (~alzgh@user/alzgh) (Ping timeout: 256 seconds) |
2021-12-03 17:08:40 +0100 | <ether_> | I like merge sort better too. It's just an excuse for using parallel mutable arrays in haskell. an then i have an answer to the people who say haskell's quicksort is not a real quicksort. and it's only toy language |
2021-12-03 17:08:55 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 17:09:12 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 17:09:19 +0100 | nabaiste^ | (~nabaiste@68.101.58.90) (Remote host closed the connection) |
2021-12-03 17:09:42 +0100 | <merijn> | You can do parallel merge sort too ;) |
2021-12-03 17:09:42 +0100 | notzmv | (~zmv@user/notzmv) |
2021-12-03 17:09:56 +0100 | n8ess163 | (~b@pool-72-80-171-162.nycmny.fios.verizon.net) (Ping timeout: 252 seconds) |
2021-12-03 17:10:25 +0100 | <merijn> | Even in-place! (Well, with constant extra memory...) |
2021-12-03 17:10:46 +0100 | <merijn> | Although that implementation is a bit harder |
2021-12-03 17:11:35 +0100 | xff0x | (~xff0x@2001:1a81:5394:4100:b17b:62d7:7f1e:4d8a) (Ping timeout: 252 seconds) |
2021-12-03 17:12:02 +0100 | <merijn> | ether_: tbh, a proper mutable quicksort should be easy enough. In IO you can probably do it right now, just looking at the Mutable vector API: https://hackage.haskell.org/package/vector-0.12.3.1/docs/Data-Vector-Mutable.html#g:10 |
2021-12-03 17:12:20 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-12-03 17:12:31 +0100 | <merijn> | (Just pretend 'PrimState m' says either 'IO' or 'ST') |
2021-12-03 17:12:41 +0100 | xff0x | (~xff0x@2001:1a81:5394:4100:724:71c4:c7ef:b5ba) |
2021-12-03 17:13:33 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds) |
2021-12-03 17:15:31 +0100 | <ether_> | merijn: thank you |
2021-12-03 17:19:39 +0100 | Guest17 | (~Guest17@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Client closed) |
2021-12-03 17:19:58 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) |
2021-12-03 17:22:22 +0100 | alzgh | (alzgh@user/alzgh) |
2021-12-03 17:22:31 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:2293:2037:bf6e:4ea5) (Quit: WeeChat 2.8) |
2021-12-03 17:23:31 +0100 | Itaru | (~DaSH@ro2.flokinet.is) (Quit: Leaving) |
2021-12-03 17:23:54 +0100 | Itaru | (~DaSH@ro2.flokinet.is) |
2021-12-03 17:27:50 +0100 | son0p | (~ff@181.136.122.143) |
2021-12-03 17:31:01 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-03 17:32:19 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-03 17:32:27 +0100 | erts | (~erts@user/erts) |
2021-12-03 17:32:58 +0100 | ubert | (~Thunderbi@p200300ecdf0ba299f01739553a033620.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-12-03 17:32:59 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Remote host closed the connection) |
2021-12-03 17:33:15 +0100 | Techcable | (~Techcable@168.235.93.147) |
2021-12-03 17:33:26 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2021-12-03 17:33:35 +0100 | fef | (~thedawn@user/thedawn) |
2021-12-03 17:34:56 +0100 | ubert | (~Thunderbi@p200300ecdf0ba299e6b318fffe838f33.dip0.t-ipconnect.de) |
2021-12-03 17:35:39 +0100 | chele | (~chele@user/chele) (Ping timeout: 256 seconds) |
2021-12-03 17:36:53 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
2021-12-03 17:39:15 +0100 | erts | (~erts@user/erts) (.) |
2021-12-03 17:40:11 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
2021-12-03 17:40:23 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 17:42:03 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 17:42:21 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 17:42:59 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-12-03 17:43:53 +0100 | namkeleser | (~namkelese@101.175.102.188) (Quit: Client closed) |
2021-12-03 17:47:19 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f5ec:bb0e:161e:528b) |
2021-12-03 17:47:33 +0100 | doyougnu | (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 256 seconds) |
2021-12-03 17:49:15 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds) |
2021-12-03 17:50:33 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-12-03 17:52:15 +0100 | Itaru | (~DaSH@ro2.flokinet.is) (Quit: Leaving) |
2021-12-03 17:52:26 +0100 | wei2912 | (~wei2912@116.88.103.128) (Quit: Lost terminal) |
2021-12-03 17:52:43 +0100 | Itaru | (~DaSH@ro2.flokinet.is) |
2021-12-03 17:53:09 +0100 | _bo | (~bo@79.171.122.236) (Read error: Connection reset by peer) |
2021-12-03 17:55:39 +0100 | ubert | (~Thunderbi@p200300ecdf0ba299e6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-12-03 18:00:25 +0100 | hgolden | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Quit: Konversation terminated!) |
2021-12-03 18:02:54 +0100 | hgolden | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) |
2021-12-03 18:03:39 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 18:04:22 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-12-03 18:05:07 +0100 | jgeerds | (~jgeerds@55d45b75.access.ecotel.net) (Ping timeout: 256 seconds) |
2021-12-03 18:05:21 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-03 18:07:21 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 18:08:43 +0100 | Unhammer | (~Unhammer@user/unhammer) (Ping timeout: 250 seconds) |
2021-12-03 18:10:13 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-03 18:12:19 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:5084:9b62:332c:deab) (Quit: gone to sleep. ZZZzzzβ¦) |
2021-12-03 18:13:55 +0100 | ether_ | (~a@p200300ef970235b38185de4e61219232.dip0.t-ipconnect.de) (Quit: WeeChat 3.0.1) |
2021-12-03 18:20:06 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 18:21:00 +0100 | econo | (uid147250@user/econo) |
2021-12-03 18:22:16 +0100 | Unhammer | (~Unhammer@user/unhammer) |
2021-12-03 18:23:56 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 18:29:46 +0100 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2021-12-03 18:30:53 +0100 | zaquest | (~notzaques@5.130.79.72) |
2021-12-03 18:32:37 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) (Ping timeout: 252 seconds) |
2021-12-03 18:35:41 +0100 | <EvanR> | I rewrote my day3 part2 solution so it only goes through the original list once |
2021-12-03 18:35:57 +0100 | <EvanR> | and other lists once |
2021-12-03 18:36:27 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 18:37:45 +0100 | fabfianda | (~fabfianda@net-109-115-246-237.cust.vodafonedsl.it) (Ping timeout: 252 seconds) |
2021-12-03 18:38:56 +0100 | fabfianda | (~fabfianda@mob-5-90-243-109.net.vodafone.it) |
2021-12-03 18:41:48 +0100 | fabfianda | (~fabfianda@mob-5-90-243-109.net.vodafone.it) (Read error: Connection reset by peer) |
2021-12-03 18:41:50 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2021-12-03 18:41:57 +0100 | fabfianda | (~fabfianda@net-109-115-246-237.cust.vodafonedsl.it) |
2021-12-03 18:43:05 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds) |
2021-12-03 18:48:18 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 18:51:17 +0100 | <EvanR> | does my use of seq seem cromulent here https://paste.tomsmeding.com/TA5yfS2w |
2021-12-03 18:51:46 +0100 | <dsal> | EvanR: Maybe BangPatterns would be clearer? |
2021-12-03 18:51:53 +0100 | <EvanR> | would it? |
2021-12-03 18:52:34 +0100 | <dsal> | I find `seq` weird. Though you're keeping the part you're not working with a bit lazier. I can't tell if that's intentional or not. |
2021-12-03 18:53:06 +0100 | <EvanR> | if I don't add 1, there's nothing to seq... |
2021-12-03 18:53:41 +0100 | <EvanR> | basically I am thinking it gets evaluated the next time a + comes up |
2021-12-03 18:53:51 +0100 | <dsal> | If you did bang patterns, you'd declare both it for both z and o. |
2021-12-03 18:54:02 +0100 | <EvanR> | yes that's what I originally had |
2021-12-03 18:54:21 +0100 | <EvanR> | maybe that's better for the compiler |
2021-12-03 18:54:36 +0100 | <dsal> | I'd think you'd want them all evaluated by the end, so having thunks along the way probably isn't helping you. |
2021-12-03 18:55:32 +0100 | <dsal> | I don't know how this stuff optimizes, though. Conceptually, it doubles the `seq`s. For those kinds of things, I just let the a profiler or benchmark guide me. |
2021-12-03 18:56:10 +0100 | <dsal> | But the use of seq here looks like what I'd think seq would make sense for. I just almost never use it. |
2021-12-03 18:57:14 +0100 | <EvanR> | I guess it's less noisy https://paste.tomsmeding.com/NdDixLWt |
2021-12-03 18:57:51 +0100 | <EvanR> | so now the function is more strict? :thonk: |
2021-12-03 18:58:25 +0100 | <EvanR> | before the tuple can be scrutized, the sums are done |
2021-12-03 18:58:51 +0100 | <EvanR> | so infinite lists are out right xD |
2021-12-03 18:59:51 +0100 | <dsal> | I don't think this has any effect on infinite lists, does it? (other than the part where you don't terminate until you get to the end) |
2021-12-03 18:59:57 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 19:00:14 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 19:00:48 +0100 | <EvanR> | if you try to use part on an infinite list, now you can't possibly get the first item from either partition (or anything in the tuple at all, the tuple can't exist) |
2021-12-03 19:01:20 +0100 | <boxscape> | EvanR: personally I'd use LambdaCase here, as in https://paste.tomsmeding.com/XKupxSUx - just to avoid having to write all those arguments/bang patterns twice |
2021-12-03 19:01:58 +0100 | <EvanR> | that's real slick |
2021-12-03 19:04:01 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) |
2021-12-03 19:04:35 +0100 | <EvanR> | sorry, the tuple can't exist anyway since there is no end |
2021-12-03 19:04:37 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds) |
2021-12-03 19:05:53 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-12-03 19:08:41 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-12-03 19:12:31 +0100 | rkrishnan | (~user@122.171.92.146) |
2021-12-03 19:12:57 +0100 | hiruji | (~hiruji@user/hiruji) (Ping timeout: 252 seconds) |
2021-12-03 19:12:59 +0100 | rkrishnan | (~user@122.171.92.146) (Remote host closed the connection) |
2021-12-03 19:16:39 +0100 | Midjak | (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) |
2021-12-03 19:17:11 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) (Read error: Connection reset by peer) |
2021-12-03 19:18:24 +0100 | hiruji | (~hiruji@user/hiruji) |
2021-12-03 19:20:07 +0100 | deadmarshal | (~deadmarsh@68.235.38.176) |
2021-12-03 19:22:51 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f5ec:bb0e:161e:528b) (Remote host closed the connection) |
2021-12-03 19:23:03 +0100 | shiraeeshi[m] | (~shiraeesh@2001:470:69fc:105::1:77) |
2021-12-03 19:24:03 +0100 | kuribas | (~user@ptr-25vy0i9sci02rkc3ssb.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
2021-12-03 19:30:46 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 19:31:33 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:bd44:40bf:fb3b:742a) (Quit: My MacBook has gone to sleep. ZZZzzzβ¦) |
2021-12-03 19:31:59 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:f9b9:ddeb:6361:fc1a) |
2021-12-03 19:32:10 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-03 19:32:58 +0100 | res0nat0r8 | (~Fletch@dia.whatbox.ca) (Ping timeout: 268 seconds) |
2021-12-03 19:34:17 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-12-03 19:34:58 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:bd44:40bf:fb3b:742a) |
2021-12-03 19:35:13 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds) |
2021-12-03 19:39:27 +0100 | hgolden | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Quit: Konversation terminated!) |
2021-12-03 19:43:19 +0100 | deadmarshal | (~deadmarsh@68.235.38.176) (Read error: Connection reset by peer) |
2021-12-03 19:45:22 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-03 19:53:23 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-03 19:55:49 +0100 | hgolden | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) |
2021-12-03 19:56:44 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:f9b9:ddeb:6361:fc1a) (Remote host closed the connection) |
2021-12-03 19:57:57 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-12-03 20:00:17 +0100 | hgolden | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Remote host closed the connection) |
2021-12-03 20:03:13 +0100 | hololeap | (~hololeap@user/hololeap) (Read error: Connection reset by peer) |
2021-12-03 20:04:02 +0100 | max22- | (~maxime@2a01cb0883359800d8b0a223a3eaa461.ipv6.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
2021-12-03 20:04:32 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-12-03 20:05:49 +0100 | <boxscape> | https://wiki.haskell.org/Idiom_brackets has some ugly typeclass hackery to approximate idiom brackets, but here's what I'm wondering: It introduces a mechanism to insert joins anywhere in an applicative sequence, e.g. `join (f <$> x <*> y) <*> z`. Is this commonly useful? I've never felt the need to use join in such a context |
2021-12-03 20:06:26 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 20:06:44 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-03 20:08:25 +0100 | <EvanR> | while applicativing you could possibly feel the urge to monad |
2021-12-03 20:09:09 +0100 | nautical | (~nautical@2601:602:900:1630::396f) (Quit: WeeChat 3.3) |
2021-12-03 20:09:14 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:f9b9:ddeb:6361:fc1a) |
2021-12-03 20:10:46 +0100 | <awpr> | that particular approach looks a bit inscrutable to me based on a short look, but as for the urge to introduce joins: if you have a monadic API where it's reasonable to think about expression trees of monadic actions rather than "imperative" sequences of actions, then joins show up at every level of nesting |
2021-12-03 20:11:55 +0100 | <boxscape> | hm, I see |
2021-12-03 20:13:03 +0100 | <awpr> | e.g. if you have a DSL where each operation is constructed by a monadic action: `add, mul :: p Int -> p Int -> DSL p (p Int)` and `lit :: Int -> DSL p (p Int)`, then imperative-style looks a bit unwieldy: `do { x <- lit 2; y <- lit 4; z <- lit 6; xy <- add x y; xyz <- mul xy z }` |
2021-12-03 20:14:51 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 20:15:09 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 20:15:17 +0100 | <awpr> | and expression style with only the stuff in `base` is unwieldy, too: `join (mul <$> (join (add <$> lit 2 <*> lit 4)) <*> lit 6)` (so unwieldy that I probably got it wrong, but it gets the idea across) |
2021-12-03 20:15:40 +0100 | <boxscape> | okay, yeah, that makes sense, thanks |
2021-12-03 20:17:15 +0100 | <awpr> | my preferred way to deal with that is an operator `=*< :: Monad m => m (a -> m b) -> m a -> m b` that does both the `<*>` and the `join` together, so: `mul <$> (add <$> lit 2 =*< lit 4) =*< lit 6` |
2021-12-03 20:18:00 +0100 | sprout_ | (~quassel@2a02:a467:ccd6:1:654a:7e1b:4ab5:b4bb) |
2021-12-03 20:18:27 +0100 | tfeb | (~tfb@88.98.95.237) |
2021-12-03 20:18:30 +0100 | <boxscape> | ah, neat |
2021-12-03 20:19:25 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds) |
2021-12-03 20:19:32 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) |
2021-12-03 20:19:38 +0100 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
2021-12-03 20:19:41 +0100 | <awpr> | there was some discussion of this operator a while ago, and I think ski preferred a different name for the same operator. I don't remember what that name was, though, something with multiple stars or extra angle brackets like `<***>` or `<<*>>` or something |
2021-12-03 20:20:40 +0100 | <boxscape> | okay |
2021-12-03 20:21:20 +0100 | sprout | (~quassel@2a02:a467:ccd6:1:8149:2184:782c:2882) (Ping timeout: 252 seconds) |
2021-12-03 20:21:46 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f5ec:bb0e:161e:528b) |
2021-12-03 20:22:57 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-12-03 20:22:59 +0100 | fabfianda | (~fabfianda@net-109-115-246-237.cust.vodafonedsl.it) (Ping timeout: 252 seconds) |
2021-12-03 20:23:43 +0100 | fabfianda | (~fabfianda@net-109-115-246-237.cust.vodafonedsl.it) |
2021-12-03 20:24:01 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) (Ping timeout: 256 seconds) |
2021-12-03 20:26:15 +0100 | <boxscape> | I suppose in Idris you could write `mul !(add !(lit 2) !(lit 4)) !(lit 6)` (haven't done Idris in years though) |
2021-12-03 20:27:57 +0100 | <awpr> | hmm, I do remember Idris having that kind of notation, but I'm unsure whether it implicitly joins the subexpressions or whether it's only for applicative-style expressions |
2021-12-03 20:28:22 +0100 | tfeb | (~tfb@88.98.95.237) (Quit: died) |
2021-12-03 20:28:56 +0100 | <boxscape> | the documentation is https://idris2.readthedocs.io/en/latest/tutorial/interfaces.html#notation |
2021-12-03 20:31:53 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 20:32:21 +0100 | <awpr> | so the exclamation point syntax was replaced with bracket notation in idris2? as far as I can tell that doesn't appear to handle the joins for you, only the applicative part |
2021-12-03 20:33:27 +0100 | <boxscape> | awpr: erm, not sure but I don't it was replaced? Since the link points to !-notation of idris 2 |
2021-12-03 20:33:32 +0100 | max22- | (~maxime@2a01cb0883359800e7fc8fc683bf0760.ipv6.abo.wanadoo.fr) |
2021-12-03 20:33:32 +0100 | hgolden | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) |
2021-12-03 20:33:48 +0100 | <boxscape> | (they've had idiom brackets in parallel) |
2021-12-03 20:34:06 +0100 | <awpr> | oh, I missed that. I was on the same docs page already and just assumed the link was to the section I was reading |
2021-12-03 20:34:10 +0100 | <boxscape> | s/don't/don't think |
2021-12-03 20:34:31 +0100 | <boxscape> | fair |
2021-12-03 20:34:38 +0100 | puke | (~puke@user/puke) |
2021-12-03 20:35:27 +0100 | <awpr> | ok yeah, that looks like it probably does behave how you'd want for this sort of nested joins |
2021-12-03 20:35:38 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2021-12-03 20:35:38 +0100 | <boxscape> | right, okay |
2021-12-03 20:38:05 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 20:38:23 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 20:39:37 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f5ec:bb0e:161e:528b) (Remote host closed the connection) |
2021-12-03 20:39:49 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-03 20:42:03 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 20:42:21 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 20:44:01 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 20:44:19 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 20:45:20 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 20:45:38 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 20:45:58 +0100 | abrantesasf | (~abrantesa@187.36.170.211) |
2021-12-03 20:46:59 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
2021-12-03 20:49:25 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 20:49:43 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 20:51:30 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 20:53:03 +0100 | nvmd | (~nvmd@user/nvmd) |
2021-12-03 20:58:32 +0100 | xsperry | (~xs@user/xsperry) |
2021-12-03 21:02:14 +0100 | <zincy_> | Anyone know how to fix this type error? https://gist.github.com/therewillbecode/b181a9951f2b6309a64cc88c65fc0acc |
2021-12-03 21:05:03 +0100 | <monochrom> | Ugh, is this analogous to the beginner mistake of "x :: forall a. a; x = False"? |
2021-12-03 21:05:09 +0100 | juhp | (~juhp@128.106.188.82) (Ping timeout: 252 seconds) |
2021-12-03 21:05:14 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) |
2021-12-03 21:06:52 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) |
2021-12-03 21:07:07 +0100 | <zincy_> | monochrom: Why is that a mistake? |
2021-12-03 21:07:28 +0100 | <zincy_> | oh because a isn't instantiated |
2021-12-03 21:07:39 +0100 | <dmj`> | ^ that and you're also saying v on GPlayers is the same as v on GToAct. One is a Maybe, the other a Vector. |
2021-12-03 21:07:44 +0100 | <monochrom> | "x :: forall a. a" means that user of x --- that's me --- chooses whichever type I want for "a". |
2021-12-03 21:08:03 +0100 | simendsjo | (~user@84.211.91.241) |
2021-12-03 21:08:04 +0100 | juhp | (~juhp@128.106.188.82) |
2021-12-03 21:08:05 +0100 | <monochrom> | So, what if I choose to use x in "x + 4"? |
2021-12-03 21:08:37 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:bd44:40bf:fb3b:742a) (Quit: My MacBook has gone to sleep. ZZZzzzβ¦) |
2021-12-03 21:08:44 +0100 | <zincy_> | dmj`: Hmm I thought v had to be the same here |
2021-12-03 21:09:10 +0100 | <zincy_> | Since v is just carrying info about whether we are at "runtime" or "execution" time |
2021-12-03 21:10:05 +0100 | <zincy_> | monochrom: then x :: Int |
2021-12-03 21:10:14 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-12-03 21:10:23 +0100 | <monochrom> | Yes. |
2021-12-03 21:10:23 +0100 | <dmj`> | zincy_: you're right, I read it as Vector v, and not Vector (Var a v) |
2021-12-03 21:10:36 +0100 | <monochrom> | I can have (x::Int) + length (x::String). |
2021-12-03 21:10:48 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-03 21:11:00 +0100 | <monochrom> | So whoever wrote "x = False" was not understanding "forall". |
2021-12-03 21:11:41 +0100 | <zincy_> | Is rankNTypes about "delaying" the choosing? |
2021-12-03 21:11:49 +0100 | <monochrom> | No. |
2021-12-03 21:12:21 +0100 | <monochrom> | RankNTypes is about allowing "forall" in more places, most notably more nesting. |
2021-12-03 21:12:49 +0100 | <monochrom> | For example "(forall a. a) -> Int" which is intuitively "exists a. a -> Int" |
2021-12-03 21:14:02 +0100 | <monochrom> | "foo :: exists a. a -> Int" means that the provider of foo chooses "a". Therefore the user doesn't choose. |
2021-12-03 21:14:12 +0100 | <monochrom> | The opposite of "forall a. a -> Int" |
2021-12-03 21:14:32 +0100 | <monochrom> | The same can be said of "foo2 :: (forall a. a) -> Int" |
2021-12-03 21:14:43 +0100 | <zincy_> | So the choice of parameter instantiation is inverted |
2021-12-03 21:14:44 +0100 | doyougnu | (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) |
2021-12-03 21:15:01 +0100 | <zincy_> | Well who chooses producer/consumer |
2021-12-03 21:15:14 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
2021-12-03 21:16:11 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3) |
2021-12-03 21:16:29 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 21:17:14 +0100 | <boxscape> | much like in `f :: (String -> Int) -> Int`, f gets to choose which String to use, but in `f :: String -> (Int -> Int)`, the caller of f gets to choose which String to use |
2021-12-03 21:17:20 +0100 | <monochrom> | Programming is the dialectic class struggle between the producer and the consumer. |
2021-12-03 21:18:40 +0100 | <zincy_> | haha |
2021-12-03 21:19:43 +0100 | <zincy_> | monochrom: Do you find CT fruitful for programming? |
2021-12-03 21:19:59 +0100 | <monochrom> | No. |
2021-12-03 21:20:09 +0100 | <monochrom> | Why CT? |
2021-12-03 21:20:28 +0100 | <monochrom> | I lied. Sometimes yes. |
2021-12-03 21:20:30 +0100 | __monty__ | (~toonn@user/toonn) |
2021-12-03 21:20:31 +0100 | zer0bitz | (~zer0bitz@dsl-hkibng32-54fbfb-173.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-12-03 21:20:59 +0100 | <monochrom> | https://link.springer.com/chapter/10.1007%2F978-3-662-54434-1_21 is an example I recently found. |
2021-12-03 21:21:11 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds) |
2021-12-03 21:21:31 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:bd44:40bf:fb3b:742a) |
2021-12-03 21:21:38 +0100 | <boxscape> | I just recently watched Conal Elliott's talk about compiling to categories, which I think is another good example |
2021-12-03 21:21:42 +0100 | <monochrom> | A little bit of representable functor to explain why APL makes so much sense, and it doesn't have to be just arrays. |
2021-12-03 21:21:58 +0100 | <zincy_> | I hear type theory is more useful |
2021-12-03 21:22:58 +0100 | <zincy_> | boxscape: How is there a choice about which String to use are you talking about which value of type String? |
2021-12-03 21:23:10 +0100 | <monochrom> | Yes. |
2021-12-03 21:23:11 +0100 | <boxscape> | yes, which value of type String |
2021-12-03 21:23:21 +0100 | <zincy_> | Ah ok |
2021-12-03 21:27:26 +0100 | iqubic | (~user@2601:602:9502:c70:f6f0:c69f:f066:4465) |
2021-12-03 21:30:10 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
2021-12-03 21:30:36 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2021-12-03 21:30:38 +0100 | pavonia | (~user@user/siracusa) |
2021-12-03 21:32:07 +0100 | kennyd | (~bc8165b6@cerf.good1.com) |
2021-12-03 21:34:42 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 21:36:02 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) |
2021-12-03 21:37:06 +0100 | <EvanR> | afaict type theory is logic, and logic is good sometimes |
2021-12-03 21:37:36 +0100 | doyougnu | (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) (Read error: Connection reset by peer) |
2021-12-03 21:39:37 +0100 | doyougnu | (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) |
2021-12-03 21:40:18 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f5ec:bb0e:161e:528b) |
2021-12-03 21:43:37 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) (Read error: Connection reset by peer) |
2021-12-03 21:43:39 +0100 | <zincy_> | EvanR: yeah |
2021-12-03 21:43:51 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds) |
2021-12-03 21:44:29 +0100 | <zincy_> | Algebra is next on my list |
2021-12-03 21:44:45 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f5ec:bb0e:161e:528b) (Ping timeout: 252 seconds) |
2021-12-03 21:46:33 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) |
2021-12-03 21:54:17 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f5ec:bb0e:161e:528b) |
2021-12-03 21:55:07 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-03 21:55:08 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:f9b9:ddeb:6361:fc1a) (Remote host closed the connection) |
2021-12-03 21:55:20 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:f9b9:ddeb:6361:fc1a) |
2021-12-03 21:56:41 +0100 | <shiraeeshi[m]> | hello fellas |
2021-12-03 21:56:45 +0100 | <boxscape> | hey there |
2021-12-03 21:58:12 +0100 | <shiraeeshi[m]> | apparently I last read this chat in 30th of september, and today I opened my client and it showed me old messages |
2021-12-03 21:59:06 +0100 | <shiraeeshi[m]> | a funny performance by adjoint_cats, I had a good laugh |
2021-12-03 21:59:36 +0100 | <shiraeeshi[m]> | Functors! Huh! (Good God!) What are they good for? (Not much!) |
2021-12-03 21:59:39 +0100 | <shiraeeshi[m]> | DANCES |
2021-12-03 21:59:43 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2021-12-03 21:59:48 +0100 | <shiraeeshi[m]> | Functors is something I despise! For it means destruction of innocent types. And thousands of lines in Monad's cries. Our sons write functional pearls and give their lives! |
2021-12-03 21:59:49 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-12-03 21:59:56 +0100 | <shiraeeshi[m]> | Functors! Huh! (Good God!) What are they good for? (Not much!) |
2021-12-03 22:00:13 +0100 | <shiraeeshi[m]> | and then he got kicked out |
2021-12-03 22:00:20 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
2021-12-03 22:02:04 +0100 | <boxscape> | nice rhymes |
2021-12-03 22:02:43 +0100 | deadmarshal_ | (~deadmarsh@68.235.38.176) |
2021-12-03 22:02:45 +0100 | <shiraeeshi[m]> | as to the actual question: |
2021-12-03 22:02:47 +0100 | <janus> | looks like it is to the melody of the vietnam song "War ( what is it good for?)" by Edwin Starr |
2021-12-03 22:03:06 +0100 | <shiraeeshi[m]> | hey, didn't know that |
2021-12-03 22:03:38 +0100 | deadmarshal | (~deadmarsh@95.38.116.117) (Ping timeout: 252 seconds) |
2021-12-03 22:03:40 +0100 | <shiraeeshi[m]> | there was a post and a discussion on reddit |
2021-12-03 22:03:49 +0100 | <shiraeeshi[m]> | A survey for Haskell users in the industry: how do you handle effects? |
2021-12-03 22:03:53 +0100 | <oats> | so this is weird, the docs suggest there's a function in Numeric called readBin, but ghc says "Module 'Numeric' does not export 'readBin'" |
2021-12-03 22:03:59 +0100 | <shiraeeshi[m]> | https://www.reddit.com/r/haskell/comments/r4wxi6/a_survey_for_haskell_users_in_the_industry_how_do/ |
2021-12-03 22:04:12 +0100 | <int-e> | oats: it's new in base-4.16 |
2021-12-03 22:04:17 +0100 | <oats> | ohhh |
2021-12-03 22:04:19 +0100 | <shiraeeshi[m]> | did you people discuss it in this chat? |
2021-12-03 22:04:25 +0100 | <boxscape> | AoC eh |
2021-12-03 22:04:26 +0100 | <oats> | any way I can get stack to fetch that for me? |
2021-12-03 22:04:27 +0100 | <int-e> | oats: (which comes with ghc-9.2) |
2021-12-03 22:04:31 +0100 | <oats> | ah |
2021-12-03 22:04:35 +0100 | <oats> | rip stackage |
2021-12-03 22:04:35 +0100 | <boxscape> | I stumbled over readBin today, too |
2021-12-03 22:04:38 +0100 | <oats> | lol |
2021-12-03 22:04:41 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-12-03 22:04:44 +0100 | <oats> | ugh I don't wanna implement this |
2021-12-03 22:04:52 +0100 | <int-e> | (as I learned earlier today) |
2021-12-03 22:04:53 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
2021-12-03 22:04:58 +0100 | <boxscape> | oats look for readInt |
2021-12-03 22:04:59 +0100 | <boxscape> | in base |
2021-12-03 22:05:23 +0100 | <int-e> | :t readInt (`elem` "01") digitToInt |
2021-12-03 22:05:24 +0100 | <lambdabot> | error: |
2021-12-03 22:05:24 +0100 | <lambdabot> | β’ Couldn't match type βIntβ with βBoolβ |
2021-12-03 22:05:24 +0100 | <lambdabot> | Expected type: Char -> Bool |
2021-12-03 22:05:29 +0100 | <int-e> | :t readInt 2 (`elem` "01") digitToInt |
2021-12-03 22:05:31 +0100 | <lambdabot> | Num a => ReadS a |
2021-12-03 22:06:16 +0100 | <boxscape> | > readInt 2 (`elem` "01") digitToInt |
2021-12-03 22:06:18 +0100 | <lambdabot> | <[Char] -> [(Integer,[Char])]> |
2021-12-03 22:06:31 +0100 | <oats> | oh good |
2021-12-03 22:06:50 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2021-12-03 22:06:55 +0100 | <boxscape> | oats: if you happen to be using lens, there's also `binary` |
2021-12-03 22:07:03 +0100 | <oats> | hmm, I do have microlens |
2021-12-03 22:07:09 +0100 | <janus> | > readInt 2 (`elem` "01") digitToInt "" |
2021-12-03 22:07:10 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
2021-12-03 22:07:10 +0100 | <lambdabot> | [] |
2021-12-03 22:07:28 +0100 | <boxscape> | microlens doesn't have it :( |
2021-12-03 22:07:49 +0100 | <oats> | probably for the better, I chose microlens for a reason :P |
2021-12-03 22:08:13 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-03 22:08:21 +0100 | <boxscape> | I suppose it must earn the "micro" in its name somehow |
2021-12-03 22:08:53 +0100 | vicfred | (~vicfred@user/vicfred) |
2021-12-03 22:09:03 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 22:09:08 +0100 | <janus> | shiraeeshi[m]: what is there left to discuss, the thread is already containing many points |
2021-12-03 22:09:36 +0100 | <oats> | > readInt 2 (`elem` "01") digitToInt "110" |
2021-12-03 22:09:38 +0100 | <lambdabot> | [(6,"")] |
2021-12-03 22:10:00 +0100 | Itaru | (~DaSH@ro2.flokinet.is) (See Ya Later!) |
2021-12-03 22:10:32 +0100 | <shiraeeshi[m]> | janus: there was a comment that I wanted to ask your opinions about |
2021-12-03 22:10:59 +0100 | <shiraeeshi[m]> | so people were discussing various effect systems, and then one guy posts this answer: |
2021-12-03 22:11:19 +0100 | <shiraeeshi[m]> | > enobayram Β· 3d |
2021-12-03 22:11:19 +0100 | <shiraeeshi[m]> | > We use mtl when we need that sort of thing, but we don't tend to approach problems thinking about how to use effects to solve them. I.e. we try to keep most of the logic in ADTs and abstractions with deliberate purposes before we inject it all into the monadic goop and that goop is often just IO |
2021-12-03 22:11:21 +0100 | <lambdabot> | <hint>:1:35: error: parse error on input βofβ |
2021-12-03 22:11:21 +0100 | <lambdabot> | error: Variable not in scope: enobayramerror: |
2021-12-03 22:11:21 +0100 | <lambdabot> | Variable not in scope: (Β·) :: t0 -> t1 -> t |
2021-12-03 22:11:28 +0100 | <janus> | > readInt 2 (`elem` "01") digitToInt "" (concat $ replicate 65 [1]) |
2021-12-03 22:11:30 +0100 | <lambdabot> | error: |
2021-12-03 22:11:30 +0100 | <lambdabot> | β’ Couldn't match expected type β[a1] -> tβ |
2021-12-03 22:11:30 +0100 | <lambdabot> | with actual type β[(a0, String)]β |
2021-12-03 22:11:38 +0100 | <janus> | > readInt 2 (`elem` "01") digitToInt (concat $ replicate 65 [1]) |
2021-12-03 22:11:39 +0100 | <lambdabot> | error: |
2021-12-03 22:11:39 +0100 | <lambdabot> | β’ Could not deduce (Num Char) arising from the literal β1β |
2021-12-03 22:11:40 +0100 | <lambdabot> | from the context: Num a |
2021-12-03 22:11:41 +0100 | <janus> | ah |
2021-12-03 22:12:02 +0100 | <janus> | so tempting to try something in here without doing it in ghci first :O |
2021-12-03 22:12:07 +0100 | <janus> | lazy friday |
2021-12-03 22:12:51 +0100 | <boxscape> | janus: in case you don't know you can also private message lambdabot and yahb if you want to experiment in private without opening up ghci |
2021-12-03 22:13:07 +0100 | <janus> | yeah... |
2021-12-03 22:13:11 +0100 | <oats> | #haskell's only purpose is to provide ghci-as-a-service |
2021-12-03 22:13:19 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-03 22:14:04 +0100 | <shiraeeshi[m]> | so what do you guys think about his comment? especially the "we don't tend to approach problems thinking about how to use effects to solve them" part. |
2021-12-03 22:14:24 +0100 | <janus> | shiraeeshi[m]: it's a valid strategy no? thinking about the abstraction before the problem is solved could be premature |
2021-12-03 22:14:53 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-12-03 22:15:21 +0100 | <shiraeeshi[m]> | can we say that the architecture comes first, and the effect system comes second, or the opposite, or they come together and influence each other? |
2021-12-03 22:15:26 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
2021-12-03 22:15:52 +0100 | briandaed | (~briandaed@185.234.208.208.r.toneticgroup.pl) |
2021-12-03 22:15:56 +0100 | <shiraeeshi[m]> | can you create an architecture that is independent of the effect system used? |
2021-12-03 22:18:50 +0100 | <janus> | > readInt 2 (`elem` "01") digitToInt (concat $ replicate 64 "1") :: [(Int,String)] |
2021-12-03 22:18:51 +0100 | <lambdabot> | [(-1,"")] |
2021-12-03 22:18:56 +0100 | <janus> | where does the -1 come from? |
2021-12-03 22:19:17 +0100 | <int-e> | > 2^64 :: Int |
2021-12-03 22:19:18 +0100 | <lambdabot> | 0 |
2021-12-03 22:19:21 +0100 | <int-e> | integer overflow |
2021-12-03 22:19:35 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 252 seconds) |
2021-12-03 22:19:49 +0100 | <janus> | but if signed, it should be a massive negative number then |
2021-12-03 22:20:00 +0100 | <int-e> | No, you have 2^64 - 1 |
2021-12-03 22:20:07 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds) |
2021-12-03 22:20:32 +0100 | <tomsmeding> | > sum . zipWith (*) (iterate (*2) 1) . map (fromEnum . (== '1')) $ replicate 64 '1' |
2021-12-03 22:20:33 +0100 | <lambdabot> | -1 |
2021-12-03 22:20:35 +0100 | <int-e> | > 2^63 :: Int -- that's your massive negative number |
2021-12-03 22:20:37 +0100 | <lambdabot> | -9223372036854775808 |
2021-12-03 22:21:52 +0100 | <shiraeeshi[m]> | can someone explain this part: "we try to keep most of the logic in ADTs and abstractions with deliberate purposes before we inject it all into the monadic goop and that goop is often just IO" |
2021-12-03 22:21:55 +0100 | <shiraeeshi[m]> | what does it mean? |
2021-12-03 22:22:06 +0100 | <janus> | aaah right because of how all bits set would be the number just below zero |
2021-12-03 22:22:12 +0100 | <shiraeeshi[m]> | you create ADTs and functions in IO? |
2021-12-03 22:22:20 +0100 | <boxscape> | shiraeeshi: I imagine the best person to answer that would be the person who wrote the comment |
2021-12-03 22:22:47 +0100 | <tomsmeding> | janus: yes, in 2s complement, 'complement x' is the same as '-x - 1' |
2021-12-03 22:23:09 +0100 | <shiraeeshi[m]> | I'm more interested in what other people have to say about this, not necessarily that person |
2021-12-03 22:23:56 +0100 | <tomsmeding> | shiraeeshi[m]: sounds like a weird way to state the very general design principle in Haskell that most people, by and large, adhere to: functional (pure) core, imperative shell |
2021-12-03 22:24:07 +0100 | <tomsmeding> | s/imperative/imperative (IO)/ |
2021-12-03 22:24:28 +0100 | <int-e> | "goop" is not standard slang |
2021-12-03 22:24:31 +0100 | <tomsmeding> | there are lots of ways to diverge from that pattern, with effect systems, or mtl-like monad abstractions |
2021-12-03 22:24:42 +0100 | <tomsmeding> | int-e: hence "weird way to state" :p |
2021-12-03 22:24:50 +0100 | <janus> | it's funny how it actually works 'correctly' even though the readInt docs say it works only for unsigned |
2021-12-03 22:24:55 +0100 | <janus> | i guess i shouldn't rely on this.. |
2021-12-03 22:25:14 +0100 | <int-e> | janus: well, readInt won't parts "-1" |
2021-12-03 22:25:17 +0100 | <int-e> | ouch, parse. |
2021-12-03 22:25:30 +0100 | <int-e> | that doesn't even sound the same |
2021-12-03 22:25:36 +0100 | <boxscape> | that sentence was hard to parts until you corrected yourself |
2021-12-03 22:26:06 +0100 | <int-e> | where do you file warranty claims for brains? |
2021-12-03 22:26:07 +0100 | <janus> | why do the docs even say integral if the constraint is Num? |
2021-12-03 22:26:21 +0100 | simendsjo | (~user@84.211.91.241) (Ping timeout: 256 seconds) |
2021-12-03 22:26:31 +0100 | <int-e> | janus: it won't parse "11.01" either |
2021-12-03 22:27:02 +0100 | <int-e> | the docs describe the input... what readInt parses... not the output. |
2021-12-03 22:27:07 +0100 | <tomsmeding> | and to parse simple unsigned integer-like values, you don't need anything else than (+) and (*), which Num is sufficient for |
2021-12-03 22:27:29 +0100 | <boxscape> | also the docs say `integral`, not `Integral`, which is an important difference |
2021-12-03 22:27:33 +0100 | <shiraeeshi[m]> | tomsmeding: if that was what he meant (functional core, imperative shell), then I think his answer is overly simplictic, like "hey, just code functions" |
2021-12-03 22:27:49 +0100 | <janus> | boxscape: it says capital Integral: https://hackage.haskell.org/package/base-4.16.0.0/docs/Numeric.html#v:readInt |
2021-12-03 22:28:01 +0100 | <tomsmeding> | shiraeeshi[m]: kind of given away by the use of the word 'goop' :p |
2021-12-03 22:28:13 +0100 | <boxscape> | janus: whoops I need to check my glasses |
2021-12-03 22:28:25 +0100 | <shiraeeshi[m]> | I thought that there is some deep meaning in there that I'm missing |
2021-12-03 22:28:34 +0100 | <shiraeeshi[m]> | or something like that |
2021-12-03 22:28:37 +0100 | <boxscape> | imo that's a (minor) documentation bug |
2021-12-03 22:28:47 +0100 | <tomsmeding> | boxscape: it would've made much more sense with your reading :p |
2021-12-03 22:29:24 +0100 | <boxscape> | (tbf I only read it in Hoogle where it's not a monospaced link) |
2021-12-03 22:33:10 +0100 | Lycurgus | (~juan@98.4.112.204) |
2021-12-03 22:34:44 +0100 | briandaed | (~briandaed@185.234.208.208.r.toneticgroup.pl) (Quit: Lost terminal) |
2021-12-03 22:34:46 +0100 | <janus> | boxscape: https://gitlab.haskell.org/ghc/ghc/-/issues/20776 |
2021-12-03 22:35:00 +0100 | <tomsmeding> | π |
2021-12-03 22:35:02 +0100 | <boxscape> | nice |
2021-12-03 22:35:03 +0100 | <janus> | my first ghc bug, let's see if it was a mistake :P |
2021-12-03 22:36:03 +0100 | <tomsmeding> | my suggested fix would be boxscape's misreading, i.e. s/'Integral'/integral/ |
2021-12-03 22:36:25 +0100 | zer0bitz | (~zer0bitz@dsl-hkibng32-54fbfb-173.dhcp.inet.fi) |
2021-12-03 22:37:00 +0100 | <int-e> | "Reads an integral value without sign in an arbitrary base." |
2021-12-03 22:37:11 +0100 | acidjnk_new | (~acidjnk@p200300d0c7271e92d1e9828b51aa3006.dip0.t-ipconnect.de) |
2021-12-03 22:37:29 +0100 | <tomsmeding> | better |
2021-12-03 22:38:08 +0100 | <int-e> | ... See also `readSigned` and `readFloat`. |
2021-12-03 22:38:13 +0100 | <boxscape> | I don't know if there are English language rules for this, but the show function is called showIntAtBase - so `at an arbitrary base`? |
2021-12-03 22:38:34 +0100 | <int-e> | (we don't have an arbitrary base function for floats though) |
2021-12-03 22:38:39 +0100 | jstolarek | (~jstolarek@137.220.120.162) (Ping timeout: 252 seconds) |
2021-12-03 22:39:05 +0100 | <janus> | int-e: why not? readInt works for floats, no? |
2021-12-03 22:39:20 +0100 | <janus> | aah well ok, floats that don't have a decimal separator |
2021-12-03 22:39:39 +0100 | <int-e> | janus: I'm still talking about inputs. |
2021-12-03 22:39:54 +0100 | <tomsmeding> | boxscape: related, some common notation for existential packing/unpacking in PL theory: 'pack tau with βt. sigma' and 'open e1 as t with x in e2': quiz, what component of those expressions means what |
2021-12-03 22:39:56 +0100 | <janus> | right, i see |
2021-12-03 22:40:01 +0100 | <tomsmeding> | the prepositions are completely random |
2021-12-03 22:40:17 +0100 | <tomsmeding> | correction, 'pack tau with e as βt. sigma' |
2021-12-03 22:40:33 +0100 | <int-e> | There's no function or combination of functions in Numeric that allows you to parse "-1.23e10" as a base 5 number. |
2021-12-03 22:40:34 +0100 | <boxscape> | heh, okay |
2021-12-03 22:40:49 +0100 | <int-e> | /maybe/ that's sane, especially with the 'e' part. |
2021-12-03 22:40:57 +0100 | <tomsmeding> | like, if you stare long enough there is some logic to be found, true |
2021-12-03 22:41:12 +0100 | <int-e> | which btw would be confusing for hexadecimal notation (which is probably why that uses p instead) |
2021-12-03 22:41:34 +0100 | <boxscape> | not just confusing but impossible to parse uniquely |
2021-12-03 22:41:57 +0100 | <boxscape> | e.g. 1.2eee4 |
2021-12-03 22:41:59 +0100 | <int-e> | boxscape: yes, the confusion arises from ambiguity |
2021-12-03 22:42:49 +0100 | <int-e> | (I guess it can be confusing in other ways too) |
2021-12-03 22:43:47 +0100 | zer0bitz | (~zer0bitz@dsl-hkibng32-54fbfb-173.dhcp.inet.fi) (Ping timeout: 252 seconds) |
2021-12-03 22:44:06 +0100 | <boxscape> | I think having a readFloat function that works on non-scientific notation would be fine though |
2021-12-03 22:44:22 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-03 22:46:06 +0100 | gdd | (~gdd@129.199.146.230) (Read error: Connection reset by peer) |
2021-12-03 22:47:03 +0100 | michalz | (~michalz@185.246.204.43) (Remote host closed the connection) |
2021-12-03 22:48:30 +0100 | <janus> | @package scientific can do it with its Read instance |
2021-12-03 22:48:30 +0100 | <lambdabot> | https://hackage.haskell.org/package/scientific can do it with its Read instance |
2021-12-03 22:49:05 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-03 22:49:51 +0100 | <boxscape> | right, but only for base 10 |
2021-12-03 22:50:41 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
2021-12-03 22:51:12 +0100 | <maerwald> | is there a usable parser in base? |
2021-12-03 22:51:56 +0100 | <awpr> | > let c = chr (ord 'e' - ord '9' + ord 'f') in "0x12fe" ++ c ++ "1e" |
2021-12-03 22:51:57 +0100 | <lambdabot> | error: |
2021-12-03 22:51:57 +0100 | <lambdabot> | β’ Couldn't match expected type β[Char]β with actual type βCharβ |
2021-12-03 22:51:57 +0100 | <lambdabot> | β’ In the first argument of β(++)β, namely βcβ |
2021-12-03 22:52:07 +0100 | <awpr> | > let c = chr (ord 'e' - ord '9' + ord 'f') in "0x12fe" ++ [c] ++ "1e" |
2021-12-03 22:52:08 +0100 | <lambdabot> | "0x12fe\146\&1e" |
2021-12-03 22:53:10 +0100 | <awpr> | well that generalization doesn't give very nice syntax |
2021-12-03 22:53:38 +0100 | Lycurgus | (~juan@98.4.112.204) (Quit: Exeunt) |
2021-12-03 22:54:23 +0100 | <janus> | maerwald: is it rhetorical or a genuine question ? :P |
2021-12-03 22:55:03 +0100 | <maerwald> | lol |
2021-12-03 22:55:15 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
2021-12-03 22:55:23 +0100 | deadmarshal_ | (~deadmarsh@68.235.38.176) (Read error: Connection reset by peer) |
2021-12-03 22:55:42 +0100 | ec_ | (~ec@gateway/tor-sasl/ec) |
2021-12-03 22:55:51 +0100 | <maerwald> | my code is too small to roll my own |
2021-12-03 22:55:56 +0100 | <maerwald> | but it's annoying without one |
2021-12-03 22:59:44 +0100 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2021-12-03 23:01:32 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-12-03 23:01:35 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 23:01:47 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 23:02:04 +0100 | alzgh | (alzgh@user/alzgh) (Remote host closed the connection) |
2021-12-03 23:02:04 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 23:02:23 +0100 | alzgh | (alzgh@user/alzgh) |
2021-12-03 23:02:35 +0100 | <monochrom> | I think of Text.ParserCombinators.ReadP/ReadPrec as usable parser in base. |
2021-12-03 23:02:58 +0100 | <maerwald> | I SAID USABLE |
2021-12-03 23:03:12 +0100 | maerwald | leaves in anger |
2021-12-03 23:03:27 +0100 | <monochrom> | I have used it and I have found it usable for my purpose. |
2021-12-03 23:04:29 +0100 | vysn | (~vysn@user/vysn) |
2021-12-03 23:06:09 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 23:06:27 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 23:07:23 +0100 | gdd | (~gdd@129.199.146.230) |
2021-12-03 23:07:45 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-12-03 23:10:02 +0100 | <boxscape> | maerwald: I know it's not base but parsec is shipped with ghc, if that matters to you |
2021-12-03 23:11:47 +0100 | fizbin_ | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-12-03 23:11:58 +0100 | <boxscape> | (which means you should be able to import Text.Parsec if you run ghci outside of cabal/stack) |
2021-12-03 23:12:24 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-12-03 23:13:05 +0100 | <maerwald> | I think I can only depend on base, not sure |
2021-12-03 23:13:05 +0100 | bbear72 | (~bbear@2a01:e34:ec2b:d430:e0dd:e718:df68:1877) |
2021-12-03 23:13:07 +0100 | bbear72 | (~bbear@2a01:e34:ec2b:d430:e0dd:e718:df68:1877) () |
2021-12-03 23:13:48 +0100 | bbear72 | (~bbear@2a01:e34:ec2b:d430:e0dd:e718:df68:1877) |
2021-12-03 23:14:29 +0100 | <bbear72> | Hello! |
2021-12-03 23:14:35 +0100 | <boxscape> | hey |
2021-12-03 23:14:54 +0100 | <bbear72> | Who is doing advent of code out there :) |
2021-12-03 23:15:31 +0100 | <monochrom> | I think many. I am not following it, but the /topic has the leaderboard. |
2021-12-03 23:15:36 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-03 23:15:45 +0100 | <bbear72> | I wanted to share one of my solution and see if any of you would have suggestions for improvements. |
2021-12-03 23:15:50 +0100 | <bbear72> | Right now finishing day3 |
2021-12-03 23:15:58 +0100 | <boxscape> | you might also be interested in #adventofcode-spoilers:libera.chat . Not haskell specific, but still lots of talk about haskell solutions. |
2021-12-03 23:16:08 +0100 | <monochrom> | But note that many are afk at this time of the day, or this day of the week, something. |
2021-12-03 23:17:02 +0100 | <boxscape> | bbear72: the channel I linked might be a good place for that |
2021-12-03 23:17:41 +0100 | <bbear72> | Right, I will try this, thankyou |
2021-12-03 23:18:49 +0100 | zincy_ | (~zincy@2a00:23c8:970c:4801:f9b9:ddeb:6361:fc1a) (Remote host closed the connection) |
2021-12-03 23:18:54 +0100 | pfurla | (~pfurla@2804:14d:5c81:4104:5084:9b62:332c:deab) |
2021-12-03 23:20:15 +0100 | <EvanR> | earlier I thought I improved the laziness of my day 3 part 2 |
2021-12-03 23:20:25 +0100 | <EvanR> | I increased the size of my file and wow... wrong |
2021-12-03 23:20:30 +0100 | ec_ | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2021-12-03 23:20:38 +0100 | <EvanR> | space goes down the hole |
2021-12-03 23:22:18 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 23:22:35 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 23:23:59 +0100 | <hpc> | einstein predicted that :P |
2021-12-03 23:24:11 +0100 | <monochrom> | hahaha |
2021-12-03 23:25:14 +0100 | <EvanR> | a 20M file took 450M of memory according to heap profile |
2021-12-03 23:25:15 +0100 | <monochrom> | Strictly speaking I think Einstein didn't foresee it, but Schwarzchild worked it out. |
2021-12-03 23:25:29 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2021-12-03 23:25:46 +0100 | <EvanR> | I loaded all the data into an IntSet and it took 100k |
2021-12-03 23:26:09 +0100 | <EvanR> | good job libraries crew! |
2021-12-03 23:26:52 +0100 | namkeleser | (~namkelese@101.175.102.188) |
2021-12-03 23:28:50 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 23:29:07 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 23:29:12 +0100 | boxscape_ | (~boxscape_@p4ff0bb6c.dip0.t-ipconnect.de) |
2021-12-03 23:29:48 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 23:30:05 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 23:31:56 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 23:32:03 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
2021-12-03 23:32:13 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 23:32:38 +0100 | connrs | (~connrs@user/connrs) |
2021-12-03 23:34:23 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f5ec:bb0e:161e:528b) (Remote host closed the connection) |
2021-12-03 23:34:38 +0100 | deadmarshal | (~deadmarsh@95.38.116.22) |
2021-12-03 23:34:42 +0100 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 268 seconds) |
2021-12-03 23:36:22 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 23:36:28 +0100 | waleee | (~waleee@h-82-196-111-63.NA.cust.bahnhof.se) |
2021-12-03 23:36:40 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 23:37:44 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-12-03 23:37:50 +0100 | burnsidesLlama | (~burnsides@dhcp168-020.wadham.ox.ac.uk) |
2021-12-03 23:38:41 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:dcf1:6c47:4df:1ed1) |
2021-12-03 23:39:09 +0100 | deadmarshal | (~deadmarsh@95.38.116.22) (Ping timeout: 252 seconds) |
2021-12-03 23:42:10 +0100 | jstolarek | (~jstolarek@137.220.120.162) |
2021-12-03 23:42:31 +0100 | <sm> | dsal: how's your haskell setup going ? May I ask if you have macos Monterrey, and which ghc version(s) you have working ? |
2021-12-03 23:43:20 +0100 | <dsal> | I'm doing rosetta at the moment on my new machine. |
2021-12-03 23:43:37 +0100 | <dsal> | My old one was just plain nix with stack(+nix) and LTS and everything worked fine. |
2021-12-03 23:43:50 +0100 | <dsal> | Now the only thing that works is x86_64 nix. |
2021-12-03 23:44:22 +0100 | <dsal> | ghcup with 9.2 has some problems with clang and the older one I was using from nix crashes with some kind of obscure OS X error. |
2021-12-03 23:45:04 +0100 | <maerwald> | problems with clang? |
2021-12-03 23:45:13 +0100 | <dsal> | I think it doesn't work with clang 13. |
2021-12-03 23:45:21 +0100 | <dsal> | It's a part of the toolchain I don't know much about. |
2021-12-03 23:45:25 +0100 | <maerwald> | you mean ghc |
2021-12-03 23:45:39 +0100 | <maerwald> | you can install llvm12 via brew |
2021-12-03 23:45:56 +0100 | <dsal> | Oh, yeah, I mean the ghc I got from ghcup. |
2021-12-03 23:47:58 +0100 | x_kuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2021-12-03 23:48:21 +0100 | Codaraxis | (~Codaraxis@user/codaraxis) |
2021-12-03 23:49:10 +0100 | Midjak | (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep) |
2021-12-03 23:51:53 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 23:52:03 +0100 | <dsal> | I'd kind of like to get llvm 12 without brew. They don't have it in their download pages. |
2021-12-03 23:52:11 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 23:54:09 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 23:54:27 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |
2021-12-03 23:55:32 +0100 | <sm> | dsal, thanks |
2021-12-03 23:55:36 +0100 | <xerox> | I use Homebrew clang version 13.0.0 |
2021-12-03 23:55:39 +0100 | <sm> | do you have monterrey ? |
2021-12-03 23:55:45 +0100 | <xerox> | big sur |
2021-12-03 23:56:15 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-12-03 23:56:44 +0100 | yauhsien | (~yauhsien@61-231-22-20.dynamic-ip.hinet.net) |
2021-12-03 23:56:53 +0100 | <dsal> | I just got a new MacBook with all the newest things. |
2021-12-03 23:58:49 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection) |
2021-12-03 23:59:07 +0100 | hskpractice | (~hskpracti@94-255-217-215.cust.bredband2.com) |