2021-12-13 00:00:15 +0100 | mud | (~mud@user/kadoban) |
2021-12-13 00:00:33 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-13 00:00:47 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Remote host closed the connection) |
2021-12-13 00:02:54 +0100 | Axman6 | (~Axman6@user/axman6) |
2021-12-13 00:05:14 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) |
2021-12-13 00:05:25 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
2021-12-13 00:06:26 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Client Quit) |
2021-12-13 00:07:02 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) |
2021-12-13 00:13:36 +0100 | ph88 | (~ph88@2a02:8109:9e00:71d0:943d:5b05:e9f7:79b5) (Quit: Leaving) |
2021-12-13 00:14:14 +0100 | alx741 | (~alx741@181.199.42.79) |
2021-12-13 00:16:07 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) (Remote host closed the connection) |
2021-12-13 00:19:13 +0100 | alx741 | (~alx741@181.199.42.79) (Read error: Connection reset by peer) |
2021-12-13 00:21:19 +0100 | earendel | (uid498179@user/earendel) (Quit: Connection closed for inactivity) |
2021-12-13 00:22:40 +0100 | chomwitt | (~chomwitt@2a02:587:dc0d:3700:12c3:7bff:fe6d:d374) (Ping timeout: 268 seconds) |
2021-12-13 00:25:02 +0100 | mmhat | (~mmh@55d44624.access.ecotel.net) (Quit: WeeChat 3.3) |
2021-12-13 00:25:05 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2021-12-13 00:26:39 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) (Remote host closed the connection) |
2021-12-13 00:32:36 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-13 00:33:45 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-13 00:34:18 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Ping timeout: 260 seconds) |
2021-12-13 00:34:46 +0100 | <smichel17[m]> | Does anyone know how to get GHC to spit out all of the options it's being called with? I'm using stack, but would like to know what the actual ghc command that runs in the end is. |
2021-12-13 00:35:42 +0100 | <hololeap> | that sounds like it should be a debug option for stack (I'm not a stack user) |
2021-12-13 00:35:44 +0100 | <geekosaur> | shouldn't stack -v show you that? |
2021-12-13 00:36:32 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 00:36:34 +0100 | <smichel17[m]> | Ah, maybe. `stack -v` spits out *a lot*, so I was hoping there was a quicker way to get to the point, but I'll take a look |
2021-12-13 00:37:05 +0100 | <geekosaur> | usually there isn't, it's up to the invoker to show how it's invoking |
2021-12-13 00:39:53 +0100 | <sm> | verbosity control is not great with stack/cabal/ghc |
2021-12-13 00:40:22 +0100 | <sm> | you get too much, or too little |
2021-12-13 00:40:36 +0100 | slice | (~slice@user/slice) (Quit: zzz) |
2021-12-13 00:42:32 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) |
2021-12-13 00:47:01 +0100 | Jing | (~hedgehog@2604:a840:3::1001) (Remote host closed the connection) |
2021-12-13 00:47:24 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 00:47:55 +0100 | Jing | (~hedgehog@2604:a840:3::1001) |
2021-12-13 00:49:30 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) (Remote host closed the connection) |
2021-12-13 00:50:55 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-13 00:50:55 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-13 00:50:55 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-13 00:51:39 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) |
2021-12-13 00:52:17 +0100 | shapr | (~user@pool-108-28-144-11.washdc.fios.verizon.net) (Ping timeout: 268 seconds) |
2021-12-13 00:53:19 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) (Remote host closed the connection) |
2021-12-13 00:54:11 +0100 | <smichel17[m]> | Thanks, it was there, after some digging |
2021-12-13 00:54:13 +0100 | jinsun__ | (~quassel@user/jinsun) |
2021-12-13 00:55:51 +0100 | SoF3 | (~skius@user/skius) |
2021-12-13 00:55:54 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2021-12-13 00:55:59 +0100 | shailangsa | (~shailangs@host86-186-127-128.range86-186.btcentralplus.com) (Ping timeout: 252 seconds) |
2021-12-13 00:56:14 +0100 | SoF | (~skius@user/skius) (Killed (NickServ (GHOST command used by SoF3))) |
2021-12-13 00:56:14 +0100 | SoF3 | SoF |
2021-12-13 00:56:51 +0100 | ts2 | (~ts@46.101.20.9) (Ping timeout: 250 seconds) |
2021-12-13 00:56:56 +0100 | dcoutts_ | (~duncan@71.78.6.51.dyn.plus.net) |
2021-12-13 00:57:05 +0100 | jinsun | (~quassel@user/jinsun) (Ping timeout: 252 seconds) |
2021-12-13 00:57:05 +0100 | dcoutts | (~duncan@71.78.6.51.dyn.plus.net) (Ping timeout: 252 seconds) |
2021-12-13 00:57:09 +0100 | ts2 | (~ts@46.101.20.9) |
2021-12-13 00:57:47 +0100 | max22- | (~maxime@2a01cb0883359800ce4fb8a82cc4438c.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
2021-12-13 00:59:45 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:fcc8:d2a0:3b64:5912) (Quit: Textual IRC Client: www.textualapp.com) |
2021-12-13 01:02:49 +0100 | <koz> | Can I specify that a test-suite depends on a library, but not its tests? |
2021-12-13 01:02:56 +0100 | <koz> | I'm getting cyclic dependency errors in the solver. |
2021-12-13 01:04:26 +0100 | <hololeap> | that's weird, I would think that what you want would be the default |
2021-12-13 01:04:44 +0100 | <koz> | hololeap: Well, it's not, sadly. |
2021-12-13 01:04:51 +0100 | <hololeap> | this is cabal? |
2021-12-13 01:04:57 +0100 | <koz> | Yup. |
2021-12-13 01:05:13 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 01:07:11 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) |
2021-12-13 01:07:43 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-13 01:07:58 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3) |
2021-12-13 01:09:57 +0100 | averell | (~averell@user/averell) (Remote host closed the connection) |
2021-12-13 01:13:28 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2021-12-13 01:13:31 +0100 | <jackdk> | It could be that the package is set up funny, like all the build-depends are in a common stanza or something. I know the nixpkgs haskell infrastructure disables checks on a bunch of libraries to break cycles |
2021-12-13 01:13:50 +0100 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2021-12-13 01:13:53 +0100 | acidjnk | (~acidjnk@p200300d0c7271e62c4e0968b1a8deb03.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
2021-12-13 01:15:44 +0100 | <koz> | jackdk: Not as far as I can tell. |
2021-12-13 01:16:33 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) |
2021-12-13 01:16:46 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 01:17:14 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) (Ping timeout: 256 seconds) |
2021-12-13 01:19:50 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-12-13 01:20:01 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-80cc-6b44-5328-2ea1.res6.spectrum.com) |
2021-12-13 01:20:04 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-13 01:20:11 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-12-13 01:20:55 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) (Ping timeout: 252 seconds) |
2021-12-13 01:21:10 +0100 | aeka` | (~aeka@2606:9580:100:c:8757:8ee:ec9c:991c) |
2021-12-13 01:22:01 +0100 | slice | (~slice@user/slice) |
2021-12-13 01:22:29 +0100 | aeka | (~aeka@2606:6080:1002:9:ffc4:b9c1:20ad:82f9) (Ping timeout: 268 seconds) |
2021-12-13 01:25:36 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-80cc-6b44-5328-2ea1.res6.spectrum.com) (Remote host closed the connection) |
2021-12-13 01:27:26 +0100 | altern | (~Sergii@altern.corbina.com.ua) |
2021-12-13 01:27:53 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 252 seconds) |
2021-12-13 01:34:21 +0100 | <pfurla> | how can I use language pragmas in a .lhs file? |
2021-12-13 01:34:47 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 01:35:15 +0100 | <jackdk> | `{-# LANGUAGE DataKinds #-}` or whatever at teh very top of the file |
2021-12-13 01:36:03 +0100 | <geekosaur> | with .lhs I'd expect it to work the same way as anything else in a .lhs, precede with > or wrap in \begin{code} … \end{code} |
2021-12-13 01:36:26 +0100 | <pfurla> | keep saying ``unlit' failed in phase `Literate pre-processor'. (Exit code: 1)` for {-# LANGUAGE LambdaCase #-} |
2021-12-13 01:36:35 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-12-13 01:36:42 +0100 | <geekosaur> | I don't think it has to be the absolute first thing in the file because unlit runs before parsing] |
2021-12-13 01:36:56 +0100 | <pfurla> | geekosaur same thing with > |
2021-12-13 01:38:43 +0100 | <monochrom> | worksforme cannotreproduce |
2021-12-13 01:38:51 +0100 | <geekosaur> | same |
2021-12-13 01:38:56 +0100 | <pfurla> | interesting |
2021-12-13 01:39:10 +0100 | <geekosaur> | @where paste |
2021-12-13 01:39:10 +0100 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
2021-12-13 01:39:16 +0100 | <pfurla> | I forgot a > in the last line of the source and it was causing the previous error |
2021-12-13 01:42:50 +0100 | <pfurla> | yeah, ^ was the issue, thanks guys |
2021-12-13 01:44:04 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-80cc-6b44-5328-2ea1.res6.spectrum.com) |
2021-12-13 01:45:19 +0100 | jgeerds | (~jgeerds@55d4ac73.access.ecotel.net) (Ping timeout: 268 seconds) |
2021-12-13 01:50:42 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-13 01:50:53 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 01:54:55 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 250 seconds) |
2021-12-13 01:56:43 +0100 | meinside | (uid24933@id-24933.helmsley.irccloud.com) |
2021-12-13 01:58:05 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) |
2021-12-13 01:58:31 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2021-12-13 02:08:18 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-12-13 02:08:32 +0100 | Stotteren | (~Stotteren@pool-108-20-79-41.bstnma.fios.verizon.net) (Remote host closed the connection) |
2021-12-13 02:09:23 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 02:09:42 +0100 | img | (~img@user/img) |
2021-12-13 02:10:06 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-80cc-6b44-5328-2ea1.res6.spectrum.com) (Remote host closed the connection) |
2021-12-13 02:10:43 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-80cc-6b44-5328-2ea1.res6.spectrum.com) |
2021-12-13 02:11:10 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) (Remote host closed the connection) |
2021-12-13 02:12:23 +0100 | shailangsa_ | (~shailangs@host86-186-127-128.range86-186.btcentralplus.com) () |
2021-12-13 02:13:41 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
2021-12-13 02:16:17 +0100 | altern | (~Sergii@altern.corbina.com.ua) (Ping timeout: 252 seconds) |
2021-12-13 02:17:04 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 02:18:08 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) (Read error: Connection reset by peer) |
2021-12-13 02:18:35 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) |
2021-12-13 02:19:57 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::9788) (Ping timeout: 252 seconds) |
2021-12-13 02:20:44 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) |
2021-12-13 02:21:36 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-13 02:25:32 +0100 | Guest48 | (~Guest48@wireless-student-pt3-240-232.lut.ac.uk) |
2021-12-13 02:26:12 +0100 | <Guest48> | Hey Im trying to make a function that creates a pattern like this |
2021-12-13 02:27:13 +0100 | <Guest48> | https://imgur.com/a/lMho8qo |
2021-12-13 02:27:17 +0100 | <Guest48> | so it takes 3 values |
2021-12-13 02:27:19 +0100 | <Guest48> | x y z |
2021-12-13 02:27:55 +0100 | zebrag | (~chris@user/zebrag) |
2021-12-13 02:27:56 +0100 | <Guest48> | x is the the height y is the width and z is the steps |
2021-12-13 02:28:05 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-12-13 02:28:13 +0100 | <Guest48> | My code right now looks like this |
2021-12-13 02:28:20 +0100 | <Guest48> | steps :: Int -> Int -> String |
2021-12-13 02:28:21 +0100 | <Guest48> | steps n m = putStr (unlines (replicate m (concat(replicate n " " ++ replicate n "*")))) |
2021-12-13 02:28:57 +0100 | <Guest48> | so this creates the steps and the repetition |
2021-12-13 02:29:49 +0100 | nattiestnate | (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) (Quit: WeeChat 3.3) |
2021-12-13 02:29:54 +0100 | <Guest48> | but in the picture you can see if I specify n steps it should duplicate n times on a new line all the while the width is x+x every loop |
2021-12-13 02:30:47 +0100 | <Guest48> | I was wondering how do I call my functions n times whilst updating the doubling n |
2021-12-13 02:30:55 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) |
2021-12-13 02:30:57 +0100 | <Guest48> | if anyone could help it would be highly appreciated |
2021-12-13 02:31:09 +0100 | <nosewings> | What do you mean by "steps"? |
2021-12-13 02:31:35 +0100 | <Guest48> | so in the picture the two lines are repeated 4 times downwards |
2021-12-13 02:31:42 +0100 | <Guest48> | then the pattern is reversed |
2021-12-13 02:31:52 +0100 | <Guest48> | forget about the reversed part |
2021-12-13 02:32:16 +0100 | <Guest48> | but the 2 lines repeat 4 times whilst the number of spaces + number of astrexis double |
2021-12-13 02:32:52 +0100 | <nosewings> | So what values of x,y,z would generate the image you posted? |
2021-12-13 02:33:05 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-12-13 02:33:46 +0100 | <Guest48> | so 2 3 4. 2 being the height, 3 being the width and 4 being steps |
2021-12-13 02:34:12 +0100 | <Guest48> | steps x y takes the height and the width |
2021-12-13 02:34:15 +0100 | <Guest48> | but im struggling on the steps |
2021-12-13 02:34:31 +0100 | earendel | (uid498179@user/earendel) |
2021-12-13 02:34:32 +0100 | <Guest48> | all I would have to do is call steps 4 times and double the x every time its called |
2021-12-13 02:35:06 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 02:35:08 +0100 | <Guest48> | sorry nosewings does that make sense |
2021-12-13 02:36:05 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) (Ping timeout: 252 seconds) |
2021-12-13 02:36:12 +0100 | dsrt^ | (~dsrt@wsip-98-188-240-142.mc.at.cox.net) (Remote host closed the connection) |
2021-12-13 02:37:55 +0100 | Jing | (~hedgehog@2604:a840:3::1001) (Remote host closed the connection) |
2021-12-13 02:38:46 +0100 | <nosewings> | Sure, but your type signature for steps doesn't seem right |
2021-12-13 02:38:53 +0100 | <nosewings> | It should be steps :: Int -> Int -> IO () |
2021-12-13 02:39:58 +0100 | <Guest48> | yeah your right |
2021-12-13 02:40:04 +0100 | <Guest48> | I changed that whilst testing something out |
2021-12-13 02:41:31 +0100 | Jing | (~hedgehog@2604:a840:3::1001) |
2021-12-13 02:42:38 +0100 | <Guest48> | nosewings you think you know how to do it? |
2021-12-13 02:43:23 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-13 02:45:34 +0100 | <nosewings> | OK, so is the idea just that you want to do the same thing some number of times? |
2021-12-13 02:45:46 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 02:47:01 +0100 | <Guest48> | yep |
2021-12-13 02:47:23 +0100 | <Guest48> | nosewings but I need to update the parameters as well |
2021-12-13 02:47:32 +0100 | <nosewings> | OK, there are functions in the standard library for that |
2021-12-13 02:47:41 +0100 | <nosewings> | In this case, replicateM_ will do the job |
2021-12-13 02:47:50 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) |
2021-12-13 02:48:23 +0100 | <Guest48> | is there a way to do without using standard librarys? |
2021-12-13 02:48:27 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::9788) |
2021-12-13 02:48:48 +0100 | <Guest48> | wait is it in built into haskell? |
2021-12-13 02:49:14 +0100 | <nosewings> | It's not a primitive; it's written in regular haskell |
2021-12-13 02:49:35 +0100 | <Guest48> | yh I can only use primitive |
2021-12-13 02:49:52 +0100 | <nosewings> | Ah, okay |
2021-12-13 02:50:44 +0100 | <nosewings> | Hm, but you're also using unlines, replicate, concat, ++; these are also not primitives |
2021-12-13 02:51:10 +0100 | <nosewings> | Anyway, the way to do this is with recursion |
2021-12-13 02:51:20 +0100 | <Guest48> | sorry im not allowed to import anything |
2021-12-13 02:51:22 +0100 | <Guest48> | thats the base rule |
2021-12-13 02:51:46 +0100 | <nosewings> | Oh, okay |
2021-12-13 02:51:50 +0100 | <Guest48> | if replicateM is like unlines/ replicate/concat then Im allowed to use it |
2021-12-13 02:52:06 +0100 | <nosewings> | It's not in the Prelude, so you can't use it |
2021-12-13 02:52:11 +0100 | <Guest48> | ah right |
2021-12-13 02:52:13 +0100 | <Guest48> | understood |
2021-12-13 02:52:19 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) (Ping timeout: 250 seconds) |
2021-12-13 02:52:21 +0100 | shailangsa | (~shailangs@host86-186-127-128.range86-186.btcentralplus.com) |
2021-12-13 02:52:25 +0100 | <Guest48> | how would you do this with recursion |
2021-12-13 02:52:39 +0100 | <nosewings> | Actually, I don't think you even have to |
2021-12-13 02:52:48 +0100 | <Guest48> | even better xp |
2021-12-13 02:52:53 +0100 | <nosewings> | If you remove the `putStrLn`, you'll get a function that returns a String |
2021-12-13 02:53:09 +0100 | <nosewings> | Then you want to print z copies of that string |
2021-12-13 02:53:51 +0100 | <Guest48> | so would you use replicate again? |
2021-12-13 02:54:29 +0100 | <nosewings> | Yeah, and then you'll have to concat the resulting string |
2021-12-13 02:54:38 +0100 | <nosewings> | Er, resulting list |
2021-12-13 02:54:45 +0100 | <nosewings> | Might have to be careful with newlines |
2021-12-13 02:55:19 +0100 | <Guest48> | yh I tried that with replicate and concat but it gave me extra new lines |
2021-12-13 02:55:27 +0100 | <Guest48> | because then I had to do unlines again |
2021-12-13 02:56:47 +0100 | <nosewings> | Oh, but do you want to increase the number of asterisks at each step? |
2021-12-13 02:57:10 +0100 | <Guest48> | yep |
2021-12-13 02:57:17 +0100 | <Guest48> | so double them basically |
2021-12-13 02:57:21 +0100 | <Guest48> | and double the amount of spaces |
2021-12-13 02:57:49 +0100 | <Guest48> | not double |
2021-12-13 02:57:53 +0100 | <Guest48> | x+x |
2021-12-13 02:58:42 +0100 | <nosewings> | Okay, so you do have to use recursion |
2021-12-13 02:59:23 +0100 | <Guest48> | no problem |
2021-12-13 02:59:49 +0100 | <nosewings> | (Might be a fancy way to do it without it, but) |
2021-12-13 03:00:06 +0100 | <nosewings> | The other trick is that you need to use some sort of helper function |
2021-12-13 03:00:18 +0100 | <Guest48> | nah recursion is fine |
2021-12-13 03:00:20 +0100 | <nosewings> | Oh, or maybe you don't |
2021-12-13 03:00:30 +0100 | <nosewings> | So it will look something like |
2021-12-13 03:00:40 +0100 | <nosewings> | steps m n 0 = ... |
2021-12-13 03:00:44 +0100 | <nosewings> | steps m n p = ... |
2021-12-13 03:01:06 +0100 | <nosewings> | Where the first one is the case where you have 0 steps left, and the second one is where you still have some steps left to go |
2021-12-13 03:02:27 +0100 | <Guest48> | m has to increase as well |
2021-12-13 03:02:40 +0100 | <nosewings> | Right, so you call the function again with a new value of m |
2021-12-13 03:03:17 +0100 | <Guest48> | so steps m n 0, step m+m n 0, step m+m+m n p etc? |
2021-12-13 03:03:38 +0100 | xff0x | (~xff0x@2001:1a81:5203:4200:40b7:e822:93c8:fd81) (Ping timeout: 268 seconds) |
2021-12-13 03:03:45 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 03:04:05 +0100 | <nosewings> | The sequence of recursive calls will look like steps m n p, steps m (2*m) (p - 1), steps m (3*m) (p - 2) ... |
2021-12-13 03:04:07 +0100 | xff0x | (~xff0x@port-92-195-24-10.dynamic.as20676.net) |
2021-12-13 03:04:24 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-13 03:04:49 +0100 | <Guest48> | okk |
2021-12-13 03:04:51 +0100 | <Guest48> | that makes sense |
2021-12-13 03:05:00 +0100 | <nosewings> | i.e., `steps m n p` should end up calling itself like `steps (2*m) (n+m) (p - 1) |
2021-12-13 03:05:15 +0100 | <nosewings> | You probably will need a helper function too, because you need to remember what the original value of m was |
2021-12-13 03:05:24 +0100 | <Guest48> | got it |
2021-12-13 03:05:55 +0100 | <Guest48> | so what would the helper function do |
2021-12-13 03:06:33 +0100 | <nosewings> | The helper function would do basically all of the work |
2021-12-13 03:07:22 +0100 | <nosewings> | Your function would end up looking something like steps m n p = steps' m n p where steps' x y z = ... |
2021-12-13 03:07:37 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 252 seconds) |
2021-12-13 03:08:09 +0100 | <nosewings> | And then steps' calls itself recursively like `steps' (x + m) (y + m) (p - 1) |
2021-12-13 03:08:46 +0100 | <Guest48> | okk let me try and write this down, im new to haskell so im not entirely sure how to write this but Ill see |
2021-12-13 03:08:50 +0100 | <nosewings> | The point is that this lets you remember what the original value of `m` was, so you always increase by the original amount instead of doubling |
2021-12-13 03:09:03 +0100 | <Guest48> | i see |
2021-12-13 03:09:24 +0100 | <Guest48> | whats the base case for the recursion? |
2021-12-13 03:11:07 +0100 | <nosewings> | Something like `steps' x y 0 = ""` |
2021-12-13 03:11:43 +0100 | <Guest48> | got it |
2021-12-13 03:12:38 +0100 | <nosewings> | And then you append the strings at every step |
2021-12-13 03:13:17 +0100 | <Guest48> | in the helper function or the main steps function |
2021-12-13 03:13:37 +0100 | <nosewings> | In the helper function, because `steps` doesn't do anything except call the helper function |
2021-12-13 03:13:53 +0100 | <nosewings> | Oh, look up where-syntax if you're unfamiliar with that keyword |
2021-12-13 03:14:16 +0100 | <Guest48> | got it will do |
2021-12-13 03:16:21 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 03:19:13 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) |
2021-12-13 03:20:39 +0100 | Jing | (~hedgehog@2604:a840:3::1001) (Remote host closed the connection) |
2021-12-13 03:21:12 +0100 | <snake> | my haskell is spinning i wonder how long it will take to finish day 6 like this.. any suggestions? https://dpaste.com/7J4ZKM9FW |
2021-12-13 03:23:14 +0100 | <glguy> | snake: you can probably finish part 1 like that, but not part 2 |
2021-12-13 03:23:40 +0100 | <snake> | yeah lol pt 1 was fast, but pt 2 is just... spinning away |
2021-12-13 03:24:10 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) (Ping timeout: 256 seconds) |
2021-12-13 03:24:57 +0100 | Jing | (~hedgehog@2604:a840:3::1001) |
2021-12-13 03:33:24 +0100 | Guest4846 | (~Guest48@wireless-student-pt3-240-232.lut.ac.uk) |
2021-12-13 03:34:29 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 03:34:35 +0100 | <dsal> | snake: 256 is a bigger number than 80. :) |
2021-12-13 03:34:51 +0100 | Guest48 | (~Guest48@wireless-student-pt3-240-232.lut.ac.uk) (Ping timeout: 256 seconds) |
2021-12-13 03:35:05 +0100 | <snake> | mhm, yeah im a total newbie with this haskell / functional stuff |
2021-12-13 03:35:22 +0100 | <dsal> | It's not haskell/functional. This is one of those where the examples gives you a clue. |
2021-12-13 03:35:34 +0100 | <dsal> | For the small example, you'd have a list of 26,984,457,539 fish. |
2021-12-13 03:36:05 +0100 | <snake> | o |
2021-12-13 03:36:44 +0100 | <dsal> | For the 255th run, you'd need to traverse a list about that big and do stuff to each element, including making new elements. |
2021-12-13 03:37:20 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-13 03:37:44 +0100 | <glguy> | We haven't had anything this year that will be particular hard just as a consequence of using Haskell |
2021-12-13 03:37:51 +0100 | <snake> | oh i guess i could just count the newfish |
2021-12-13 03:38:02 +0100 | <snake> | wait AAAH |
2021-12-13 03:38:03 +0100 | <snake> | idk |
2021-12-13 03:38:28 +0100 | <dsal> | I managed to make something really hard by trying to use ST Arrays and having type inference be able to keep up. |
2021-12-13 03:38:35 +0100 | <jackdk> | Why does `transformers` package have an AccumT and a CPS WriterT? Is there a difference? |
2021-12-13 03:38:38 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-12-13 03:38:51 +0100 | <snake> | maybe i can use like a count for each fish if they have a synchronized time |
2021-12-13 03:38:57 +0100 | <dsal> | It's pretty weird. I'll have code that works just fine, and then I'll add a newSTRef and it'll suddenly have no idea what these arrays are. |
2021-12-13 03:41:44 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-12-13 03:43:09 +0100 | spoofer | (~spoofer@64.185.111.205) |
2021-12-13 03:45:14 +0100 | <glguy> | dsal: which problem had you pull out mutable arrays? |
2021-12-13 03:45:39 +0100 | xkuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2021-12-13 03:45:39 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 03:46:16 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2021-12-13 03:47:30 +0100 | <Guest4846> | 'steps :: Int -> Int -> Int -> IO () |
2021-12-13 03:47:31 +0100 | <Guest4846> | steps m n p = steps` m n p |
2021-12-13 03:47:31 +0100 | <Guest4846> | where |
2021-12-13 03:47:32 +0100 | <Guest4846> | steps` x y 0 = "" |
2021-12-13 03:47:32 +0100 | <Guest4846> | steps` x y z = steps` (x+n) n (p-1) |
2021-12-13 03:47:33 +0100 | <Guest4846> | steps` x y z = (unlines (replicate y (concat(replicate x " " ++ replicate y "*")))) |
2021-12-13 03:47:33 +0100 | <Guest4846> | ' |
2021-12-13 03:47:46 +0100 | <Guest4846> | im getting some sort of parse error on this code? anyone know why |
2021-12-13 03:48:15 +0100 | <hololeap> | jackdk: AccumT is like a more powerful WriterT or a restricted StateT. It threads state like StateT, so you can `look` at the current state, but it only lets you mappend using `add` |
2021-12-13 03:48:36 +0100 | <jackdk> | hololeap: ah, missed the read-side bit |
2021-12-13 03:49:02 +0100 | <hololeap> | it's fairly useful although it lacks a lot of the mtl instances |
2021-12-13 03:49:59 +0100 | <jackdk> | yeah I'm trying to get a new transformer for amazonka right at the moment - I have "lift MonadFoo through AmazonkaT" but not "lift MonadAmazonka through FooT" |
2021-12-13 03:50:17 +0100 | <dsal> | glguy: I was trying it on day 11. It was… a little faster. |
2021-12-13 03:50:23 +0100 | <dsal> | So much more code. |
2021-12-13 03:50:28 +0100 | <jackdk> | and the design is awkward because ResourceT is a poo sometimes |
2021-12-13 03:50:55 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) |
2021-12-13 03:51:31 +0100 | <jackdk> | the main problem is that if I make the class provide `askEnv :: m Amazonka.Env` then I induce MonadResource constraints everywhere and lose mocking |
2021-12-13 03:51:46 +0100 | <nosewings> | Guest4846: the problem is the backtick |
2021-12-13 03:52:06 +0100 | <nosewings> | Backticks are syntax in Haskell; you need to use an an apostrophe |
2021-12-13 03:53:56 +0100 | <jackdk> | if I make a class with methods like `sendEither :: (AWSRequest req, MonadAmazonka m) => req -> m (Either Error (AWSResponse req))` then I have to give up either GeneralizedNewtypeDeriving or `paginate :: (AWSPager req, MonadAmazonka m) => req -> ConduitT () (AWSResponse req) m ()` |
2021-12-13 03:55:18 +0100 | <jackdk> | if I make a class whose method is a homomorphism from `Free (Coyoneda AWSAction) a -> m a` (a la ocharles), then I have to give up `reconfigure`/`within`/`once`/`timeout` combinators which are "`bracket`-like" |
2021-12-13 03:55:27 +0100 | <jackdk> | very interested in opinions on how best to solve this |
2021-12-13 03:55:54 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) (Ping timeout: 260 seconds) |
2021-12-13 03:56:53 +0100 | <jackdk> | Axman6: you around? |
2021-12-13 04:03:18 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-13 04:03:18 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-13 04:03:18 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-13 04:04:04 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 04:04:45 +0100 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-12-13 04:08:02 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
2021-12-13 04:09:27 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) (Ping timeout: 250 seconds) |
2021-12-13 04:10:27 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2021-12-13 04:10:27 +0100 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2021-12-13 04:10:27 +0100 | finn_elija | FinnElija |
2021-12-13 04:13:34 +0100 | jkaye | (~jkaye@2601:281:8300:7530:d9cd:95:6ff7:6ae4) |
2021-12-13 04:15:02 +0100 | Akiva | (~Akiva@user/Akiva) (Ping timeout: 260 seconds) |
2021-12-13 04:15:28 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 04:15:56 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-13 04:15:56 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-13 04:15:56 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-13 04:16:17 +0100 | <dibblego> | I'm dad but not around. |
2021-12-13 04:16:47 +0100 | <jackdk> | dibblego: got any opinions onthe problem outlined above? |
2021-12-13 04:17:06 +0100 | <dibblego> | woah context shift |
2021-12-13 04:17:07 +0100 | lemonsnicks | (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) |
2021-12-13 04:17:23 +0100 | <dibblego> | I'm not good at those without working with actual code tbh |
2021-12-13 04:18:43 +0100 | <dibblego> | oh yeah, I roughly know that problem... I typically give up GeneralizedNewtypeDeriving since the other contenders are too useful to give up |
2021-12-13 04:21:47 +0100 | Jing | (~hedgehog@2604:a840:3::1001) (Remote host closed the connection) |
2021-12-13 04:22:16 +0100 | whatif | (~user@2400:8902::f03c:92ff:fe60:98d8) (Quit: ERC (IRC client for Emacs 26.3)) |
2021-12-13 04:22:39 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) |
2021-12-13 04:25:48 +0100 | Jing | (~hedgehog@2604:a840:3::1001) |
2021-12-13 04:27:38 +0100 | td_ | (~td@muedsl-82-207-238-103.citykom.de) (Ping timeout: 256 seconds) |
2021-12-13 04:28:07 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) (Ping timeout: 268 seconds) |
2021-12-13 04:28:39 +0100 | jkaye | (~jkaye@2601:281:8300:7530:d9cd:95:6ff7:6ae4) (Ping timeout: 252 seconds) |
2021-12-13 04:29:16 +0100 | td_ | (~td@94.134.91.178) |
2021-12-13 04:29:20 +0100 | shapr` | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-12-13 04:30:51 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
2021-12-13 04:33:02 +0100 | retroid_ | (~retro@05412d78.skybroadband.com) (Ping timeout: 268 seconds) |
2021-12-13 04:33:39 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 04:35:51 +0100 | retroid_ | (~retro@05412d78.skybroadband.com) |
2021-12-13 04:36:05 +0100 | mbuf | (~Shakthi@122.174.40.28) |
2021-12-13 04:36:29 +0100 | <jackdk> | dibblego: here is the problem https://www.irccloud.com/pastebin/JWvF4erR/MTLClassDesign.hs |
2021-12-13 04:37:54 +0100 | gustik | (~gustik@2a01:c844:242f:ba20:72e:7030:46bf:1353) (Quit: Leaving) |
2021-12-13 04:40:32 +0100 | <dibblego> | will look I promise, millions of things stacked |
2021-12-13 04:42:35 +0100 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
2021-12-13 04:43:48 +0100 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) |
2021-12-13 04:45:25 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 04:45:46 +0100 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2021-12-13 04:48:07 +0100 | <hololeap> | jackdk: just a shot in the dark, but have you looked into using polysemy for this? personally, I haven't used it |
2021-12-13 04:50:25 +0100 | <jackdk> | hololeap: in the effect system space I think you would need polysemy or something like it to write something like `within :: Region -> Eff effs a -> Eff effs a`. But the work codebase I'm upgrading is built on MTL and I want to do this right for MTL and opensource it, then worry about effect systems once things mature some more. polysemy needs plugins and isovector is on break from it, eff needs new ghc primops, etc. |
2021-12-13 04:51:26 +0100 | <jackdk> | `freer-simple`, for example, is not powerful enough |
2021-12-13 04:53:36 +0100 | see | (~see@wireless-student-pt3-240-232.lut.ac.uk) |
2021-12-13 04:53:46 +0100 | see | (~see@wireless-student-pt3-240-232.lut.ac.uk) (Client Quit) |
2021-12-13 04:54:21 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) |
2021-12-13 04:58:12 +0100 | <EvanR> | stupid question after reading the ocharles blog link on monad stacks and APIs: why can't the API calls have type IO something |
2021-12-13 04:59:08 +0100 | <EvanR> | is it then impossible to use from an enterprise haskell monad stack technology |
2021-12-13 04:59:22 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) (Ping timeout: 260 seconds) |
2021-12-13 05:00:00 +0100 | Taneb | (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (Quit: I seem to have stopped.) |
2021-12-13 05:01:08 +0100 | Taneb | (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) |
2021-12-13 05:01:52 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 05:02:16 +0100 | cjb | (~cjb@user/cjb) (Quit: rcirc on GNU Emacs 29.0.50) |
2021-12-13 05:05:15 +0100 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) |
2021-12-13 05:05:35 +0100 | Guest4846 | (~Guest48@wireless-student-pt3-240-232.lut.ac.uk) (Quit: Client closed) |
2021-12-13 05:06:50 +0100 | Guest71 | (~Guest71@167.179.75.123) |
2021-12-13 05:06:58 +0100 | <Guest71> | ?src ($) |
2021-12-13 05:06:58 +0100 | <lambdabot> | f $ x = f x |
2021-12-13 05:07:03 +0100 | <EvanR> | IO is untestable? |
2021-12-13 05:07:21 +0100 | <Guest71> | ?src (%) |
2021-12-13 05:07:21 +0100 | <lambdabot> | x % y = reduce (x * signum y) (abs y) |
2021-12-13 05:09:36 +0100 | <Guest71> | Hi, all. Is my typing of `?src ($)` visible to all of the people here? |
2021-12-13 05:09:43 +0100 | <EvanR> | yes |
2021-12-13 05:09:56 +0100 | <EvanR> | you could privmsg lambdabot if you want |
2021-12-13 05:10:06 +0100 | _xor | (~xor@dsl-50-5-233-169.fuse.net) (Read error: Connection reset by peer) |
2021-12-13 05:10:38 +0100 | <Guest71> | Ok, I wll try that. Thanks. I just need a way to check sources of commonly used functions. |
2021-12-13 05:11:18 +0100 | <dsal> | Guest71: That's not the actual source. You can click on the source link from the docs. |
2021-12-13 05:11:34 +0100 | <dsal> | The @src thing just gives you a simple model to consider. |
2021-12-13 05:11:41 +0100 | <dsal> | (though sometimes it's right) |
2021-12-13 05:11:42 +0100 | <dsal> | @src fix |
2021-12-13 05:11:42 +0100 | <lambdabot> | fix f = let x = f x in x |
2021-12-13 05:12:25 +0100 | <Guest71> | I wish this functionality will be built into GHCi |
2021-12-13 05:12:47 +0100 | <dsal> | You can easily add things like this to ghci |
2021-12-13 05:12:59 +0100 | <Guest71> | Really? How? |
2021-12-13 05:13:33 +0100 | <dsal> | With :def settings in your .ghci |
2021-12-13 05:14:02 +0100 | <Guest71> | Great, I will try that. Thanks a lot. |
2021-12-13 05:14:33 +0100 | _xor | (~xor@dsl-50-5-233-169.fuse.net) |
2021-12-13 05:15:17 +0100 | <dsal> | Just clicking on "Source" while reading the docs is going to be the most reliable thing, though. |
2021-12-13 05:15:54 +0100 | <jackdk> | EvanR: if you're just providing an API for direct calls, you often can (though a `MonadIO m` constraint) is often easier to use. But yeah, there's two parts AIUI: 1. the testability you mentioned; 2. having some kind of monadic context gives you a good place to stow things like API keys etc |
2021-12-13 05:16:28 +0100 | <Guest71> | No, :def is used to define new commands, but I actually want a way to get definition of built in functions if available if GHCi, so I can find the info without leaving from my terminal. |
2021-12-13 05:16:28 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 05:17:13 +0100 | <EvanR> | I see, open a long term session sort of thing |
2021-12-13 05:18:43 +0100 | <EvanR> | Guest71, ghci generally doesn't have access to sources, and you can download the @src list if you want. But the real sources are also available |
2021-12-13 05:19:05 +0100 | <snake> | my new screaming-fast solution for day 6: https://dpaste.com/7S4S87HV4 |
2021-12-13 05:19:24 +0100 | <EvanR> | oh man |
2021-12-13 05:20:14 +0100 | <EvanR> | I implemented day 6 with 8 registers and now runtime is dominated by loading the program and printing out the answer :( |
2021-12-13 05:20:40 +0100 | <snake> | registers? |
2021-12-13 05:20:52 +0100 | <dsal> | snake: (f0:f1:f2:f3:f4:f5:f6:f7:f8:[]) is [f0, f1, f2, f3, f4, f5, f6, f7, f8] |
2021-12-13 05:20:59 +0100 | <EvanR> | yeah, x86-64 |
2021-12-13 05:21:07 +0100 | <snake> | dsal, thanks :V |
2021-12-13 05:22:10 +0100 | <EvanR> | each day can be computed with 1 add, if you do 9 days at a time, you can get away with no loop breaker checks xD |
2021-12-13 05:22:23 +0100 | <EvanR> | if you do 99 at a time, even better, which loop unroll can help with |
2021-12-13 05:22:33 +0100 | <dsal> | That's a neat way to do it, though it'll complain with -Wall. I saw someone else do that with a tuuple. |
2021-12-13 05:22:35 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2021-12-13 05:24:04 +0100 | shapr` | shapr |
2021-12-13 05:26:03 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) |
2021-12-13 05:28:25 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2021-12-13 05:31:06 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) (Ping timeout: 256 seconds) |
2021-12-13 05:33:16 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 05:34:52 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-13 05:37:38 +0100 | <pfurla> | snake: you can do `drop 9 . take 10 . iterate breedFishes $ [0..8]` instead of `breedFishes [0..8] 10` |
2021-12-13 05:38:12 +0100 | nattiestnate | (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) |
2021-12-13 05:42:21 +0100 | Guest71 | (~Guest71@167.179.75.123) (Ping timeout: 256 seconds) |
2021-12-13 05:43:05 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
2021-12-13 05:44:57 +0100 | <dsal> | drop 9 . take 10 sounds like (!! 10) |
2021-12-13 05:45:10 +0100 | <dsal> | > drop 9 . take 10 $ [1..] |
2021-12-13 05:45:11 +0100 | <lambdabot> | [10] |
2021-12-13 05:45:13 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-13 05:45:13 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-13 05:45:13 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-13 05:45:20 +0100 | <dsal> | > [1..] !! 10 |
2021-12-13 05:45:21 +0100 | <EvanR> | (:[]) . (!! 10) xD |
2021-12-13 05:45:21 +0100 | <lambdabot> | 11 |
2021-12-13 05:45:39 +0100 | <dsal> | Off by one... but iterate is zero based. |
2021-12-13 05:45:40 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 05:45:40 +0100 | <EvanR> | it's going to eat the 10 who is alarmed |
2021-12-13 05:45:44 +0100 | <pfurla> | > [1.10] !! 11 |
2021-12-13 05:45:45 +0100 | <lambdabot> | *Exception: Prelude.!!: index too large |
2021-12-13 05:45:54 +0100 | <dsal> | You won't get that with iterate. |
2021-12-13 05:46:05 +0100 | <pfurla> | > drop 11 . take 10 [1..10] |
2021-12-13 05:46:07 +0100 | <lambdabot> | error: |
2021-12-13 05:46:07 +0100 | <lambdabot> | • Couldn't match expected type ‘a -> [a1]’ with actual type ‘[a0]’ |
2021-12-13 05:46:07 +0100 | <lambdabot> | • Possible cause: ‘take’ is applied to too many arguments |
2021-12-13 05:46:09 +0100 | <pfurla> | > drop 11 . take 10 $ [1..10] |
2021-12-13 05:46:10 +0100 | <lambdabot> | [] |
2021-12-13 05:47:02 +0100 | <dsal> | iterate produces an infinite list. you don't have to be careful to not run past the end of it |
2021-12-13 05:47:13 +0100 | <pfurla> | oh, true |
2021-12-13 05:47:46 +0100 | <pfurla> | but I generally ignore unsafe functions |
2021-12-13 05:48:37 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-80cc-6b44-5328-2ea1.res6.spectrum.com) (Remote host closed the connection) |
2021-12-13 05:48:54 +0100 | <pfurla> | the problem I wonder if using drop. take. iterate instead of direct recursion will use much more memory |
2021-12-13 05:50:07 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2021-12-13 05:50:50 +0100 | <EvanR> | this problem requires zero ram xD |
2021-12-13 05:50:52 +0100 | <dsal> | Safe is relative. Sometimes you've gotta divide. |
2021-12-13 05:51:04 +0100 | <hololeap> | snake: this is how I did it. similar, but using different tools: https://dpaste.com/EMAJUY2LG |
2021-12-13 05:51:04 +0100 | <dsal> | EvanR: Is that a lot? |
2021-12-13 05:52:03 +0100 | <dsal> | hololeap: what is MonoidalIntMap? |
2021-12-13 05:53:07 +0100 | <xerox> | I'd wager an IntMap containing monoids |
2021-12-13 05:53:21 +0100 | <hololeap> | it's a wrapper around IntMap that gives a different semigroup instance. it basically makes `unionWith (<>)` the semigroup instance |
2021-12-13 05:53:36 +0100 | <jackdk> | why that was never the default instance is beyond me |
2021-12-13 05:53:43 +0100 | <dsal> | oh cool. The default one is kind of unexpected. |
2021-12-13 05:53:58 +0100 | InternetCitizen | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 260 seconds) |
2021-12-13 05:54:01 +0100 | <dsal> | I've written that bug a few times. |
2021-12-13 05:54:11 +0100 | <hololeap> | @hackage monoidal-containers |
2021-12-13 05:54:11 +0100 | <lambdabot> | https://hackage.haskell.org/package/monoidal-containers |
2021-12-13 05:54:20 +0100 | <dsal> | Things shouldn't compile if they don't do what I want. |
2021-12-13 05:54:34 +0100 | <int-e> | dsal: easy! |
2021-12-13 05:54:53 +0100 | <int-e> | dsal: it only gets tricky when you expect some things to actually compile |
2021-12-13 05:54:54 +0100 | <dsal> | hololeap: Thanks. I've needed that often. |
2021-12-13 05:55:13 +0100 | <dsal> | int-e: I was doing some ST recently, so I stopped expecting things to compile. |
2021-12-13 05:55:31 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-80cc-6b44-5328-2ea1.res6.spectrum.com) |
2021-12-13 05:55:38 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-13 05:57:46 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) |
2021-12-13 05:59:11 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-80cc-6b44-5328-2ea1.res6.spectrum.com) (Remote host closed the connection) |
2021-12-13 06:00:18 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-80cc-6b44-5328-2ea1.res6.spectrum.com) |
2021-12-13 06:00:37 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 268 seconds) |
2021-12-13 06:01:05 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-12-13 06:01:24 +0100 | deadmarshal | (~deadmarsh@95.38.117.193) |
2021-12-13 06:02:50 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) (Ping timeout: 256 seconds) |
2021-12-13 06:03:34 +0100 | nattiestnate | (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) (Quit: WeeChat 3.3) |
2021-12-13 06:03:46 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 06:04:54 +0100 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
2021-12-13 06:09:14 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-12-13 06:15:55 +0100 | Jing_ | (~hedgehog@2604:a840:3::10c8) |
2021-12-13 06:17:55 +0100 | Jing | (~hedgehog@2604:a840:3::1001) (Ping timeout: 252 seconds) |
2021-12-13 06:20:05 +0100 | <int-e> | c_wraith: after checking literally billions of initial configuration, https://paste.debian.net/1223190/ is the worst one I have, with 45174 steps before synchronizing. From what I've seen, finding one with 29734 after only 440k attempts was very lucky. |
2021-12-13 06:20:16 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-80cc-6b44-5328-2ea1.res6.spectrum.com) (Remote host closed the connection) |
2021-12-13 06:21:03 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 06:21:13 +0100 | ees | (~user@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
2021-12-13 06:23:10 +0100 | Guest48 | (~Guest48@wireless-student-pt3-240-232.lut.ac.uk) |
2021-12-13 06:23:29 +0100 | Guest48 | (~Guest48@wireless-student-pt3-240-232.lut.ac.uk) (Client Quit) |
2021-12-13 06:29:27 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) |
2021-12-13 06:34:02 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) (Ping timeout: 240 seconds) |
2021-12-13 06:34:08 +0100 | jinsun__ | jinsun |
2021-12-13 06:34:57 +0100 | hololeap | (~hololeap@user/hololeap) (Ping timeout: 276 seconds) |
2021-12-13 06:35:23 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-12-13 06:39:29 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 06:40:10 +0100 | turlando | (~turlando@user/turlando) (Ping timeout: 260 seconds) |
2021-12-13 06:40:17 +0100 | turlando | (~turlando@93-42-250-112.ip89.fastwebnet.it) |
2021-12-13 06:40:17 +0100 | turlando | (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host) |
2021-12-13 06:40:17 +0100 | turlando | (~turlando@user/turlando) |
2021-12-13 06:41:36 +0100 | <xerox> | int-e: today I have a chance |
2021-12-13 06:46:05 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) |
2021-12-13 06:46:05 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 06:51:03 +0100 | <xerox> | is there nothing like this for lists? file:///Users/user/.ghcup/ghc/9.3.20211020/share/doc/ghc-9.3.20211020/html/libraries/containers/Data-Set.html#v:splitMember |
2021-12-13 06:52:40 +0100 | <int-e> | xerox: that link is surprisingly useless ;-) |
2021-12-13 06:53:03 +0100 | <xerox> | hahaha |
2021-12-13 06:53:10 +0100 | <int-e> | libraries/containers/Data-Set.html#v:splitMember |
2021-12-13 06:53:11 +0100 | <xerox> | I made a point of having it locally but now... I see |
2021-12-13 06:53:14 +0100 | <int-e> | ... |
2021-12-13 06:53:21 +0100 | <int-e> | https://hackage.haskell.org/package/containers-0.6.5.1/docs/Data-Set.html#v:splitMember |
2021-12-13 06:53:22 +0100 | <xerox> | yeah you can figure it out |
2021-12-13 06:53:52 +0100 | <int-e> | This was Firefox screwing with me... I did select the link in the url bar and it still pasted a different selection. |
2021-12-13 06:54:15 +0100 | <EvanR> | Data.Set (and Data.Map) are so cool |
2021-12-13 06:55:06 +0100 | <int-e> | xerox: | (xs, _:ys) <- span (/= '|') "abc|def" -- works as a guard |
2021-12-13 06:55:24 +0100 | <xerox> | > Data.Set.splitMember [] (Data.Set.fromList [["3","4"],["6","8"],[],["fold","along","y","5"]]) |
2021-12-13 06:55:25 +0100 | <lambdabot> | (fromList [],True,fromList [["3","4"],["6","8"],["fold","along","y","5"]]) |
2021-12-13 06:55:38 +0100 | <xerox> | with lists it'd be... *chef kiss* |
2021-12-13 06:55:46 +0100 | <int-e> | huh |
2021-12-13 06:56:09 +0100 | <int-e> | I wouldn't want to rely on "fold" > "9" |
2021-12-13 06:56:30 +0100 | <xerox> | no of course, in the case of lists the ordering would be of the elements of the list, not that :D |
2021-12-13 06:57:09 +0100 | <EvanR> | your set is contaminated |
2021-12-13 06:57:23 +0100 | <EvanR> | with the stringly typed |
2021-12-13 06:58:27 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds) |
2021-12-13 07:00:55 +0100 | <EvanR> | haskell has advantage on tonights puzzle because it's good at folds |
2021-12-13 07:01:01 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) |
2021-12-13 07:01:10 +0100 | deadmarshal | (~deadmarsh@95.38.117.193) (Ping timeout: 260 seconds) |
2021-12-13 07:02:17 +0100 | <int-e> | EvanR: that's a good pun, I approve |
2021-12-13 07:02:42 +0100 | alx741 | (~alx741@181.199.42.79) |
2021-12-13 07:05:50 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) (Ping timeout: 260 seconds) |
2021-12-13 07:09:15 +0100 | perro | (~perro@072-191-245-069.res.spectrum.com) (Ping timeout: 252 seconds) |
2021-12-13 07:10:11 +0100 | pfurla | (~pfurla@2804:18:5820:1d6d:95e6:204:998d:de68) (Quit: gone to sleep. ZZZzzz…) |
2021-12-13 07:16:19 +0100 | emf | (~emf@cpe-174-109-36-85.nc.res.rr.com) |
2021-12-13 07:21:23 +0100 | emf | (~emf@cpe-174-109-36-85.nc.res.rr.com) (Ping timeout: 268 seconds) |
2021-12-13 07:30:28 +0100 | chomwitt | (~chomwitt@2a02:587:dc0d:3700:12c3:7bff:fe6d:d374) |
2021-12-13 07:30:50 +0100 | Akiva | (~Akiva@user/Akiva) |
2021-12-13 07:32:19 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-12-13 07:32:52 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) |
2021-12-13 07:36:32 +0100 | Guest71 | (~Guest71@167.179.75.123) |
2021-12-13 07:38:02 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) (Ping timeout: 256 seconds) |
2021-12-13 07:40:30 +0100 | alx741 | (~alx741@181.199.42.79) (Read error: Connection reset by peer) |
2021-12-13 07:41:11 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 07:45:13 +0100 | Guest71 | (~Guest71@167.179.75.123) (Quit: Client closed) |
2021-12-13 07:48:27 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 07:49:24 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-13 07:53:54 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2021-12-13 08:02:41 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-13 08:03:47 +0100 | michalz | (~michalz@185.246.204.122) |
2021-12-13 08:04:34 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) |
2021-12-13 08:05:32 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-13 08:06:39 +0100 | alx741 | (~alx741@181.199.42.79) |
2021-12-13 08:07:02 +0100 | chele | (~chele@user/chele) |
2021-12-13 08:09:30 +0100 | mimmy | (~mimmy@bras-base-toroon63x9w-grc-22-174-88-20-30.dsl.bell.ca) (Ping timeout: 268 seconds) |
2021-12-13 08:14:36 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-12-13 08:18:51 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Ping timeout: 250 seconds) |
2021-12-13 08:20:32 +0100 | Akiva | (~Akiva@user/Akiva) (Ping timeout: 256 seconds) |
2021-12-13 08:21:01 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
2021-12-13 08:27:14 +0100 | <dmj`> | > (join bimap) (+1) (1,1) |
2021-12-13 08:27:16 +0100 | <lambdabot> | (2,2) |
2021-12-13 08:30:37 +0100 | <hololeap> | :t join bimap |
2021-12-13 08:30:38 +0100 | <lambdabot> | Bifunctor p => (c -> d) -> p c c -> p d d |
2021-12-13 08:32:12 +0100 | alx741 | (~alx741@181.199.42.79) (Read error: Connection reset by peer) |
2021-12-13 08:38:05 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-13 08:40:20 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-12-13 08:45:04 +0100 | cfricke | (~cfricke@user/cfricke) |
2021-12-13 08:48:58 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 08:49:11 +0100 | maplike | (~maplike@31.209.100.216) |
2021-12-13 08:58:45 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:1f7:bbc2:bf58:b649) |
2021-12-13 09:00:12 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-12-13 09:00:27 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-13 09:00:51 +0100 | trcc | (~trcc@eduroam09.au.dk) |
2021-12-13 09:02:48 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 09:07:04 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-13 09:16:02 +0100 | nabaiste^ | (~nabaiste@wsip-98-188-240-142.mc.at.cox.net) |
2021-12-13 09:18:00 +0100 | mncheck | (~mncheck@193.224.205.254) |
2021-12-13 09:19:27 +0100 | <maplike> | https://stackoverflow.com/a/69651010 - works, so it's likely I am misinterpreting the idea |
2021-12-13 09:19:44 +0100 | <maplike> | since this is about _counting_ combinations, why Solved Cent and not Solved Int? |
2021-12-13 09:20:36 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 09:23:16 +0100 | <maplike> | in divide, Solved 0/1 presumably signify failure/success? |
2021-12-13 09:23:49 +0100 | <maplike> | in conquer, what does it mean to add the 2 params, a and b, of Pending? What do those 2 values (as Cents) signify? |
2021-12-13 09:24:10 +0100 | <maplike> | in conquer, I would have expected we just need to sum the Solveds. |
2021-12-13 09:24:12 +0100 | earendel | (uid498179@user/earendel) (Quit: Connection closed for inactivity) |
2021-12-13 09:24:31 +0100 | <maplike> | in conquer, a and b are Cents, whereas in divide they were ([Cent], Cent) (aka ChangePuzzleArgs) - I can't see how that transformation happens. |
2021-12-13 09:24:55 +0100 | <maplike> | more questions than lines of code! |
2021-12-13 09:25:22 +0100 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2021-12-13 09:26:12 +0100 | Jing_ | (~hedgehog@2604:a840:3::10c8) (Remote host closed the connection) |
2021-12-13 09:26:14 +0100 | kuribas | (~user@ptr-25vy0i9k5aujcskch0c.18120a2.ip6.access.telenet.be) |
2021-12-13 09:27:01 +0100 | Jing | (~hedgehog@125.106.89.200) |
2021-12-13 09:32:47 +0100 | phma_ | (phma@2001:5b0:211c:2a58:d0c:f178:6e2:131e) |
2021-12-13 09:33:41 +0100 | phma | (phma@2001:5b0:212a:ba68:a7e4:c90f:fe43:cf4b) (Read error: Connection reset by peer) |
2021-12-13 09:39:39 +0100 | acidjnk | (~acidjnk@p200300d0c7271e62e04d49a98672dc3b.dip0.t-ipconnect.de) |
2021-12-13 09:42:40 +0100 | max22- | (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) |
2021-12-13 09:48:22 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-13 09:48:22 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 09:50:37 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-13 09:52:41 +0100 | <EvanR> | nice post |
2021-12-13 09:54:30 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 276 seconds) |
2021-12-13 09:55:41 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-12-13 09:56:47 +0100 | zer0bitz | (~zer0bitz@dsl-hkibng32-54fbfb-173.dhcp.inet.fi) |
2021-12-13 09:57:05 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2021-12-13 09:57:25 +0100 | <maplike> | EvanR - the hylo one? |
2021-12-13 10:04:45 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 10:05:18 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2021-12-13 10:06:04 +0100 | jgeerds | (~jgeerds@55d4ac73.access.ecotel.net) |
2021-12-13 10:10:38 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-13 10:11:07 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-13 10:12:40 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-80cc-6b44-5328-2ea1.res6.spectrum.com) |
2021-12-13 10:12:47 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-80cc-6b44-5328-2ea1.res6.spectrum.com) (Remote host closed the connection) |
2021-12-13 10:14:16 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-d088-4906-a1eb-3fe7.res6.spectrum.com) |
2021-12-13 10:17:39 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 10:18:53 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-d088-4906-a1eb-3fe7.res6.spectrum.com) (Remote host closed the connection) |
2021-12-13 10:19:10 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-d088-4906-a1eb-3fe7.res6.spectrum.com) |
2021-12-13 10:20:35 +0100 | arjun | (~arjun@user/arjun) |
2021-12-13 10:22:22 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-d088-4906-a1eb-3fe7.res6.spectrum.com) () |
2021-12-13 10:22:33 +0100 | psygate | (~psygate@user/psygate) |
2021-12-13 10:22:40 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-13 10:22:49 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-d088-4906-a1eb-3fe7.res6.spectrum.com) |
2021-12-13 10:22:52 +0100 | ubert | (~Thunderbi@2a02:8109:9880:303c:a6e9:4af8:654:3268) |
2021-12-13 10:23:29 +0100 | <psygate> | Given that I have a type 'data State a = Minimum a | Maximum a | Unclassified a', can I unpack a without knowing the specific constructor used? |
2021-12-13 10:24:21 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-d088-4906-a1eb-3fe7.res6.spectrum.com) (Remote host closed the connection) |
2021-12-13 10:24:59 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-d088-4906-a1eb-3fe7.res6.spectrum.com) |
2021-12-13 10:25:03 +0100 | xkuru | (~xkuru@user/xkuru) |
2021-12-13 10:25:29 +0100 | slice | (~slice@user/slice) (Quit: zzz) |
2021-12-13 10:26:41 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-d088-4906-a1eb-3fe7.res6.spectrum.com) (Remote host closed the connection) |
2021-12-13 10:28:10 +0100 | trcc | (~trcc@eduroam09.au.dk) (Remote host closed the connection) |
2021-12-13 10:31:33 +0100 | <kuribas> | psygate: getValue :: State a -> a; getValue (Minimum x) = x; getValue ... |
2021-12-13 10:32:13 +0100 | phma_ | phma |
2021-12-13 10:33:30 +0100 | <kuribas> | alternatively: data StateDescr = Minimum | Maximum | Unclassified; data State a = State a StateDescr. |
2021-12-13 10:33:45 +0100 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) |
2021-12-13 10:35:40 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) |
2021-12-13 10:35:41 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 10:40:27 +0100 | Jing | (~hedgehog@125.106.89.200) (Read error: Connection reset by peer) |
2021-12-13 10:42:53 +0100 | trcc | (~trcc@users-5343.st.net.au.dk) |
2021-12-13 10:46:47 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2021-12-13 10:46:59 +0100 | Jing | (~hedgehog@2604:a840:3::10c8) |
2021-12-13 10:50:17 +0100 | <psygate> | kuribas, i like the second one, thank you |
2021-12-13 10:51:54 +0100 | josemotanet | (~jose@2001:8a0:ee85:a00:d4ef:b473:6a8a:ba2e) |
2021-12-13 10:52:24 +0100 | <psygate> | Ah, and is there a good way to implement Ord based on ''data State a = Minimum a | Maximum a | Unclassified a' ? I dont want to define compare x y for every constructor |
2021-12-13 10:53:00 +0100 | shriekingnoise | (~shrieking@186.137.144.80) (Quit: Quit) |
2021-12-13 10:53:24 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) |
2021-12-13 10:53:28 +0100 | <hololeap> | it depends on what behavior you're looking for |
2021-12-13 10:54:05 +0100 | <hololeap> | do you want Maximum a > Minimum a > Unclassified a ? |
2021-12-13 10:54:53 +0100 | <psygate> | No, I'd like to compare the contained values. |
2021-12-13 10:54:59 +0100 | <kuribas> | only? |
2021-12-13 10:55:10 +0100 | <psygate> | The outer type is just meant as a local wrapper, that ads a tag but shouldn't influence "how" it works |
2021-12-13 10:55:46 +0100 | <kuribas> | instance Ord (State a) where compare (State x _) (State y _) = compare x y |
2021-12-13 10:59:25 +0100 | <hololeap> | if you use the original data structure as opposed to kuribas' alternative, then you would have to a) enumerate all combinations of constructors b) write a function that can extract `a' from any of your constructors and compare on that directly |
2021-12-13 10:59:29 +0100 | <psygate> | That doesn't work. I've got it defined as a "wrapper" so to say |
2021-12-13 10:59:36 +0100 | <psygate> | Do I have to restructure the type to make it work like that? |
2021-12-13 10:59:51 +0100 | <psygate> | Oh okay, well that answers it, thanks hololeap |
2021-12-13 11:02:12 +0100 | teo | (~teo@user/teo) |
2021-12-13 11:02:20 +0100 | <kuribas> | yeah "compare = compare `on` getValue" for the first. |
2021-12-13 11:02:50 +0100 | <hololeap> | by defining an Ord instance for (State a), you're kind of implying that (compare (Minimum 5) (Maximum 5)) is discrete from (compare 5 5). if you really _mean_ that you want to compare the inner values, then write it as such, IMO |
2021-12-13 11:03:07 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 11:04:50 +0100 | <psygate> | I'll use kuribas suggestion for the type, it looks like a much cleaner solution |
2021-12-13 11:05:37 +0100 | <hololeap> | yeah it's like rewriting (a + a + a) as (a * 3) |
2021-12-13 11:06:19 +0100 | <hololeap> | you can do that kind of simple algebra on types, hence the name algebraic data types |
2021-12-13 11:07:32 +0100 | <psygate> | Is there a solution for getter / setter now? I've seen there are record types |
2021-12-13 11:09:28 +0100 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2021-12-13 11:09:30 +0100 | <hololeap> | you could use record syntax pretty painlessly here. data State a = State { stateVal :: a, stateDescr :: StateDescr } |
2021-12-13 11:09:34 +0100 | <kuribas> | getter/setter = lens |
2021-12-13 11:09:54 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-12-13 11:10:23 +0100 | <hololeap> | that would give you two functions that act as your getters: stateVal :: State a -> a ; stateDescr :: State a -> StateDescr |
2021-12-13 11:10:23 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
2021-12-13 11:11:20 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-12-13 11:11:24 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
2021-12-13 11:11:29 +0100 | <hololeap> | and you can use record syntax as a setter as well: State 4 Minimum { stateVal = 10 } -- this yields (State 10 Minimum) |
2021-12-13 11:11:58 +0100 | kmein_ | (~weechat@user/kmein) |
2021-12-13 11:12:22 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) (Remote host closed the connection) |
2021-12-13 11:12:24 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2021-12-13 11:13:00 +0100 | <hololeap> | that little example would actually have to be written as: (State 4 Minimum) { stateVal = 10 } |
2021-12-13 11:13:49 +0100 | kmein | (~weechat@user/kmein) (Ping timeout: 240 seconds) |
2021-12-13 11:13:55 +0100 | mvk | (~mvk@2607:fea8:5cdd:f000::9788) (Ping timeout: 250 seconds) |
2021-12-13 11:14:30 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds) |
2021-12-13 11:15:37 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2021-12-13 11:16:01 +0100 | <hololeap> | otherwise the record update would apply to Minimum (an error) as opposed to applying to the State that I'm constructing there |
2021-12-13 11:17:48 +0100 | zaquest | (~notzaques@5.130.79.72) |
2021-12-13 11:19:48 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-13 11:20:27 +0100 | <psygate> | Ahhh, and is there a way to constraint the State type to only orderable types? |
2021-12-13 11:20:43 +0100 | <psygate> | Something like 'Ord a => data State a StateDesc' ? |
2021-12-13 11:21:12 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 11:21:17 +0100 | <hololeap> | you'll want to put `Ord a => ...` on whatever functions actually need it |
2021-12-13 11:21:27 +0100 | <merijn> | psygate: You can't really constraint types |
2021-12-13 11:23:23 +0100 | <psygate> | makes sense, thanks. its been a while that ive used haskell. you may be able to tell. |
2021-12-13 11:23:35 +0100 | <dminuoso> | psygate: We used to be able to do this, but it occured this was mostly pointless. |
2021-12-13 11:23:51 +0100 | <dminuoso> | This does not have any meaningful gains and just artificially limits your code |
2021-12-13 11:25:12 +0100 | vpan | (~0@212.117.1.172) |
2021-12-13 11:25:42 +0100 | <dminuoso> | Instead we place constraints on function definition sites instead, like `f :: Ord a => State a StateDesc`, this has the cute benefit of allowing the creation of State for non-Ord choices of `a` in code regions that does not need `f` |
2021-12-13 11:25:50 +0100 | <dminuoso> | So we get the freedom to write more code |
2021-12-13 11:26:11 +0100 | <dminuoso> | Uh, the above was meant to read `f :: Ord a => State a StateDesc -> T` |
2021-12-13 11:28:12 +0100 | arjun | (~arjun@user/arjun) (Remote host closed the connection) |
2021-12-13 11:28:36 +0100 | arjun | (~arjun@103.57.87.133) |
2021-12-13 11:30:26 +0100 | <hololeap> | if you had an Ord constraint on the whole type, then you wouldn't be able to make a Functor instance for State, for instance, because Functor requires that there are no constraints on `a'. it has to work with any function (a -> b) for _any_ `a' and `b' |
2021-12-13 11:31:45 +0100 | <kuribas> | hololeap: perhaps you could with a GADT? |
2021-12-13 11:32:58 +0100 | <hololeap> | I don't think so. you would run into the same problem that we have with Set no matter how you approach it |
2021-12-13 11:33:25 +0100 | <kuribas> | But that's because Set doesn't have an Ord in the type. |
2021-12-13 11:34:05 +0100 | pavonia | (~user@user/siracusa) (Read error: Connection reset by peer) |
2021-12-13 11:36:04 +0100 | <hololeap> | it might as well. it requires Ord for anything that would involve modifying the data |
2021-12-13 11:36:45 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:41d5:8d83:8f3c:c995) |
2021-12-13 11:37:44 +0100 | <sprout> | can I post my egel solution for day 13, task 2? |
2021-12-13 11:40:13 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) |
2021-12-13 11:40:59 +0100 | <hololeap> | only if it's egel |
2021-12-13 11:41:02 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 240 seconds) |
2021-12-13 11:41:43 +0100 | pavonia | (~user@user/siracusa) |
2021-12-13 11:42:25 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 11:42:30 +0100 | <sprout> | yay! |
2021-12-13 11:42:34 +0100 | <sprout> | https://github.com/egel-lang/aoc-2021/blob/main/day13/task2.eg <- day 13, task2, egel solution. just waste cycles on it |
2021-12-13 11:42:37 +0100 | <sprout> | https://pasteboard.co/WUoK7G5rKdWk.png <- with colors! |
2021-12-13 11:43:17 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3) |
2021-12-13 11:43:42 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-12-13 11:44:19 +0100 | <sprout> | for haskellers. egel is roughly untyped impure lambda calculus + constants. so shouldn't be hard to read |
2021-12-13 11:44:32 +0100 | dyeplexer | (~dyeplexer@user/dyeplexer) |
2021-12-13 11:44:35 +0100 | <sprout> | (+eager) |
2021-12-13 11:45:57 +0100 | chomwitt | (~chomwitt@2a02:587:dc0d:3700:12c3:7bff:fe6d:d374) (Ping timeout: 268 seconds) |
2021-12-13 11:46:21 +0100 | earendel | (uid498179@user/earendel) |
2021-12-13 11:47:19 +0100 | deadmarshal | (~deadmarsh@95.38.114.19) |
2021-12-13 11:51:07 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-13 11:55:01 +0100 | <hololeap> | looks interesting |
2021-12-13 11:55:37 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
2021-12-13 11:57:06 +0100 | <kuribas> | egel = e(a)g(er) (hask)el(l)? |
2021-12-13 11:57:49 +0100 | <merijn> | Clearly sprout just likes hedgehogs :p |
2021-12-13 11:58:30 +0100 | <dminuoso> | Eegel is german for Hihrudinea |
2021-12-13 11:58:45 +0100 | <dminuoso> | I assume that is meant. |
2021-12-13 11:58:48 +0100 | <sprout> | nah, it's Dutch for hedgehog. I sometimes have a hedgehog in my garden I try to take care of |
2021-12-13 11:59:05 +0100 | <merijn> | hah! |
2021-12-13 11:59:08 +0100 | <merijn> | I was right! |
2021-12-13 11:59:26 +0100 | <sprout> | I's also a bit of a pun on Python. hedgehogs are somewhat venom resitant |
2021-12-13 11:59:30 +0100 | <sprout> | *resistant |
2021-12-13 11:59:45 +0100 | <merijn> | Shoulda gone for mongoose then :p |
2021-12-13 12:00:02 +0100 | <sprout> | when I add types! |
2021-12-13 12:00:21 +0100 | <kuribas> | sprout: so you wasted a chance for a clever acronym? :-P |
2021-12-13 12:00:23 +0100 | <sprout> | (probably not going to happen) |
2021-12-13 12:00:49 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 12:01:12 +0100 | <dminuoso> | sprout: What is eager rewriting exactly? |
2021-12-13 12:01:29 +0100 | <dminuoso> | Is that just fancy for graph reduction? |
2021-12-13 12:01:30 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-12-13 12:02:00 +0100 | <sprout> | opposite of lazy. I forgot, it's right-to-left bottom up reduction? |
2021-12-13 12:02:11 +0100 | <dminuoso> | right-to-left? |
2021-12-13 12:02:24 +0100 | <sprout> | lazy is top-to-bottom left-to-right, I think. sorry forgot |
2021-12-13 12:02:38 +0100 | dminuoso | does not know what left or right means |
2021-12-13 12:02:43 +0100 | <merijn> | kuribas: As long as you have a theme :p |
2021-12-13 12:02:49 +0100 | <sprout> | yah, when you look at a term graph there are a number of rewrite strategies |
2021-12-13 12:03:03 +0100 | <merijn> | The CS group at my university had a running theme of naming all projects after black and white animals |
2021-12-13 12:03:37 +0100 | <kuribas> | zebra? |
2021-12-13 12:03:51 +0100 | <kuribas> | How many animals are white and black? |
2021-12-13 12:03:57 +0100 | <sprout> | and some of them can fall in a taxonomy of 'what term do I rewrite' |
2021-12-13 12:04:19 +0100 | <merijn> | DAS (badger), Ibis and a bunch of others, I'd have to look up the list |
2021-12-13 12:04:27 +0100 | <sprout> | I think laziness corresponds to always rewriting the top term of the graph, but forgot |
2021-12-13 12:07:57 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:41d5:8d83:8f3c:c995) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-12-13 12:11:34 +0100 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2021-12-13 12:12:46 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) |
2021-12-13 12:13:50 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 12:15:45 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-13 12:17:23 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) (Ping timeout: 268 seconds) |
2021-12-13 12:17:35 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) |
2021-12-13 12:20:35 +0100 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2021-12-13 12:31:04 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 12:31:44 +0100 | InternetCitizen | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
2021-12-13 12:34:48 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:41d5:8d83:8f3c:c995) |
2021-12-13 12:36:42 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 260 seconds) |
2021-12-13 12:39:33 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-12-13 12:48:26 +0100 | altern | (~Sergii@altern.corbina.com.ua) |
2021-12-13 12:49:40 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2021-12-13 12:53:00 +0100 | boris_ | (~chatzilla@149.62.206.183) |
2021-12-13 12:55:11 +0100 | boris_ | (~chatzilla@149.62.206.183) (Client Quit) |
2021-12-13 12:56:25 +0100 | boris_ | (~chatzilla@149.62.206.183) |
2021-12-13 12:57:58 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-12-13 12:58:33 +0100 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 250 seconds) |
2021-12-13 13:00:20 +0100 | nunggu | (~q@gateway/tor-sasl/nunggu) |
2021-12-13 13:01:41 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:41d5:8d83:8f3c:c995) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-12-13 13:03:19 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:41d5:8d83:8f3c:c995) |
2021-12-13 13:07:01 +0100 | trcc_ | (~trcc@eduroam09.au.dk) |
2021-12-13 13:07:49 +0100 | shailangsa | (~shailangs@host86-186-127-128.range86-186.btcentralplus.com) () |
2021-12-13 13:07:58 +0100 | DNH | (~DNH@2a02:8108:1100:16d8:41d5:8d83:8f3c:c995) (Ping timeout: 268 seconds) |
2021-12-13 13:08:35 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2021-12-13 13:08:43 +0100 | jakalx | (~jakalx@base.jakalx.net) () |
2021-12-13 13:09:23 +0100 | timCF | (~timCF@m91-129-100-224.cust.tele2.ee) (Ping timeout: 250 seconds) |
2021-12-13 13:10:29 +0100 | trcc | (~trcc@users-5343.st.net.au.dk) (Ping timeout: 250 seconds) |
2021-12-13 13:10:39 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Remote host closed the connection) |
2021-12-13 13:11:21 +0100 | trcc_ | (~trcc@eduroam09.au.dk) (Ping timeout: 250 seconds) |
2021-12-13 13:12:34 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 13:13:15 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-12-13 13:14:49 +0100 | boris_ | (~chatzilla@149.62.206.183) (Ping timeout: 252 seconds) |
2021-12-13 13:15:46 +0100 | boris_ | (~chatzilla@149.62.206.183) |
2021-12-13 13:16:28 +0100 | SummerSonw | (~The_viole@203.77.49.232) |
2021-12-13 13:19:21 +0100 | jgeerds | (~jgeerds@55d4ac73.access.ecotel.net) (Ping timeout: 250 seconds) |
2021-12-13 13:24:08 +0100 | cfricke | (~cfricke@user/cfricke) |
2021-12-13 13:25:13 +0100 | SummerSonw | (~The_viole@203.77.49.232) (Ping timeout: 268 seconds) |
2021-12-13 13:26:25 +0100 | timCF | (~timCF@m91-129-100-224.cust.tele2.ee) |
2021-12-13 13:27:01 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2021-12-13 13:27:09 +0100 | jippiedoe | (~david@2a02-a44c-e14e-1-d348-9a8a-50cc-26de.fixed6.kpn.net) |
2021-12-13 13:29:05 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 13:32:28 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2021-12-13 13:35:58 +0100 | jespada | (~jespada@87.74.33.157) (Ping timeout: 260 seconds) |
2021-12-13 13:37:55 +0100 | jespada | (~jespada@87.74.33.157) |
2021-12-13 13:40:01 +0100 | boris_ | (~chatzilla@149.62.206.183) (Ping timeout: 268 seconds) |
2021-12-13 13:40:47 +0100 | boris_ | (~chatzilla@149.62.206.183) |
2021-12-13 13:42:29 +0100 | Guest4833 | (~Guest48@wireless-student-pt3-240-232.lut.ac.uk) |
2021-12-13 13:43:32 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 13:43:37 +0100 | neverfindme | (~hayden@158.123.160.43) |
2021-12-13 13:44:22 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-12-13 13:45:28 +0100 | son0p | (~ff@2800:484:1d81:b700::4) |
2021-12-13 13:45:59 +0100 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) (Ping timeout: 252 seconds) |
2021-12-13 13:45:59 +0100 | Guest4833 | (~Guest48@wireless-student-pt3-240-232.lut.ac.uk) (Client Quit) |
2021-12-13 13:46:09 +0100 | Guest4866 | (~Guest48@wireless-student-pt3-240-232.lut.ac.uk) |
2021-12-13 13:46:12 +0100 | __monty__ | (~toonn@user/toonn) |
2021-12-13 13:46:32 +0100 | Guest4866 | (~Guest48@wireless-student-pt3-240-232.lut.ac.uk) (Client Quit) |
2021-12-13 13:46:41 +0100 | yuyua32 | (~yuyua32@wireless-student-pt3-240-232.lut.ac.uk) |
2021-12-13 13:47:31 +0100 | neverfindme | (~hayden@158.123.160.43) (Remote host closed the connection) |
2021-12-13 13:47:54 +0100 | neverfindme | (~hayden@158.123.160.43) |
2021-12-13 13:51:08 +0100 | notzmv | (~zmv@user/notzmv) |
2021-12-13 13:51:23 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) |
2021-12-13 13:53:51 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) (Remote host closed the connection) |
2021-12-13 13:54:05 +0100 | cosimone` | (~user@93-47-228-207.ip115.fastwebnet.it) |
2021-12-13 13:54:58 +0100 | curiousgay | (~curiousga@77-120-141-90.kha.volia.net) |
2021-12-13 13:55:55 +0100 | perro | (~perro@072-191-245-069.res.spectrum.com) |
2021-12-13 13:56:02 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Ping timeout: 260 seconds) |
2021-12-13 13:56:31 +0100 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) |
2021-12-13 14:00:02 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 14:00:48 +0100 | dyeplexer | (~dyeplexer@user/dyeplexer) (Read error: Connection timed out) |
2021-12-13 14:01:23 +0100 | jonathanx | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 252 seconds) |
2021-12-13 14:01:30 +0100 | jonathanx_ | (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
2021-12-13 14:09:17 +0100 | afotgkmnzj7asv3r | (~afotgkmnz@2001:470:69fc:105::c24b) |
2021-12-13 14:12:23 +0100 | altern | (~Sergii@altern.corbina.com.ua) (Ping timeout: 252 seconds) |
2021-12-13 14:12:41 +0100 | boris_ | (~chatzilla@149.62.206.183) (Quit: ChatZilla 0.10 [SeaMonkey 2.53.10/20211111233623]) |
2021-12-13 14:13:46 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 14:16:03 +0100 | arjun | (~arjun@103.57.87.133) (Ping timeout: 252 seconds) |
2021-12-13 14:19:05 +0100 | yuyua32 | (~yuyua32@wireless-student-pt3-240-232.lut.ac.uk) (Quit: Client closed) |
2021-12-13 14:24:23 +0100 | pfurla | (~pfurla@177.25.184.160) |
2021-12-13 14:25:51 +0100 | xkuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2021-12-13 14:26:52 +0100 | arjun | (~arjun@103.57.87.133) |
2021-12-13 14:28:38 +0100 | chomwitt | (~chomwitt@ppp-94-67-201-96.home.otenet.gr) |
2021-12-13 14:29:37 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-13 14:30:04 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 14:33:40 +0100 | chomwitt | (~chomwitt@ppp-94-67-201-96.home.otenet.gr) (Ping timeout: 268 seconds) |
2021-12-13 14:48:30 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2021-12-13 14:49:10 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 14:50:54 +0100 | azimut_ | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds) |
2021-12-13 14:53:21 +0100 | mimmy | (~mimmy@72.142.88.18) |
2021-12-13 14:58:23 +0100 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 250 seconds) |
2021-12-13 14:58:48 +0100 | SummerSonw | (~The_viole@203.77.49.232) |
2021-12-13 15:01:48 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-13 15:03:27 +0100 | hololeap | (~hololeap@user/hololeap) (Excess Flood) |
2021-12-13 15:03:52 +0100 | vpan | (~0@212.117.1.172) (Quit: Leaving.) |
2021-12-13 15:04:48 +0100 | hololeap | (~hololeap@user/hololeap) |
2021-12-13 15:05:43 +0100 | neverfindme | (~hayden@158.123.160.43) (Remote host closed the connection) |
2021-12-13 15:06:06 +0100 | neverfindme | (~hayden@158.123.160.43) |
2021-12-13 15:06:17 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-12-13 15:07:38 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 15:13:11 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-12-13 15:13:23 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 15:13:49 +0100 | neverfindme | (~hayden@158.123.160.43) (Ping timeout: 240 seconds) |
2021-12-13 15:14:07 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 15:15:16 +0100 | Guest19 | (~Guest19@n110-33-34-202.hum1.act.optusnet.com.au) |
2021-12-13 15:16:47 +0100 | josemotanet | (~jose@2001:8a0:ee85:a00:d4ef:b473:6a8a:ba2e) (Quit: WeeChat 3.3) |
2021-12-13 15:17:22 +0100 | yuyua32 | (~yuyua32@wireless-student-pt3-240-232.lut.ac.uk) |
2021-12-13 15:17:27 +0100 | shailangsa | (~shailangs@host86-186-127-128.range86-186.btcentralplus.com) |
2021-12-13 15:19:25 +0100 | shriekingnoise | (~shrieking@186.137.144.80) |
2021-12-13 15:20:52 +0100 | dyeplexer | (~dyeplexer@user/dyeplexer) |
2021-12-13 15:21:09 +0100 | burnsidesLlama | (~burnsides@dhcp168-021.wadham.ox.ac.uk) |
2021-12-13 15:24:28 +0100 | Guest19 | jz99 |
2021-12-13 15:26:39 +0100 | singpolyma | (8a1e37e5a6@tilde.team/user/singpolyma) |
2021-12-13 15:27:24 +0100 | neverfindme | (~hayden@158.123.160.43) |
2021-12-13 15:27:25 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 15:27:25 +0100 | <singpolyma> | 👋️ I have an error in production: `CallStack (from HasCallStack):\n error, called at DB.hs:116:16 in main:DB` is there a way these days to get that call stack to be deeper than one level? |
2021-12-13 15:29:00 +0100 | kmein_ | kmein |
2021-12-13 15:29:53 +0100 | fr33domlover | (~fr33@2.55.169.194) |
2021-12-13 15:31:15 +0100 | timCF | (~timCF@m91-129-100-224.cust.tele2.ee) (Quit: leaving) |
2021-12-13 15:33:20 +0100 | <dminuoso> | Does POSIX have a mechanism to determine whether a given file is a symlink or a socket? |
2021-12-13 15:33:49 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-13 15:33:49 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-13 15:33:49 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-13 15:36:18 +0100 | yuyua32 | (~yuyua32@wireless-student-pt3-240-232.lut.ac.uk) (Quit: Client closed) |
2021-12-13 15:38:25 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2021-12-13 15:38:37 +0100 | mimmy | (~mimmy@72.142.88.18) (Ping timeout: 240 seconds) |
2021-12-13 15:39:07 +0100 | jgeerds | (~jgeerds@55d4ac73.access.ecotel.net) |
2021-12-13 15:39:58 +0100 | mimmy | (~mimmy@72.142.88.18) |
2021-12-13 15:40:09 +0100 | jkaye | (~jkaye@2601:281:8300:7530:8f84:8d09:7b68:c6ce) |
2021-12-13 15:43:03 +0100 | <[exa]> | dminuoso: lstat? |
2021-12-13 15:43:23 +0100 | <geekosaur> | lstat() aka https://downloads.haskell.org/ghc/latest/docs/html/libraries/unix-2.7.2.2/System-Posix-Files.html#… |
2021-12-13 15:43:39 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-13 15:44:16 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 15:45:04 +0100 | yuyua32 | (~yuyua32@wireless-student-pt3-240-232.lut.ac.uk) |
2021-12-13 15:45:25 +0100 | nabaiste^ | (~nabaiste@wsip-98-188-240-142.mc.at.cox.net) (Remote host closed the connection) |
2021-12-13 15:46:13 +0100 | deadmarshal | (~deadmarsh@95.38.114.19) (Ping timeout: 240 seconds) |
2021-12-13 15:47:36 +0100 | yuyua32 | (~yuyua32@wireless-student-pt3-240-232.lut.ac.uk) (Client Quit) |
2021-12-13 15:47:59 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2021-12-13 15:49:10 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 15:49:46 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 15:51:15 +0100 | InternetCitizen | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 250 seconds) |
2021-12-13 15:52:05 +0100 | maplike | (~maplike@31.209.100.216) (Ping timeout: 256 seconds) |
2021-12-13 15:56:47 +0100 | paddymahoney | (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) |
2021-12-13 15:58:59 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 15:59:42 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
2021-12-13 15:59:51 +0100 | mimmy_ | (~mimmy@37.19.212.189) |
2021-12-13 16:02:05 +0100 | mimmy | (~mimmy@72.142.88.18) (Ping timeout: 250 seconds) |
2021-12-13 16:02:07 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) (Quit: Reconnecting) |
2021-12-13 16:02:19 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) |
2021-12-13 16:05:44 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
2021-12-13 16:06:17 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-12-13 16:08:41 +0100 | neverfindme | (~hayden@158.123.160.43) (Quit: Leaving) |
2021-12-13 16:08:41 +0100 | Jing | (~hedgehog@2604:a840:3::10c8) (Remote host closed the connection) |
2021-12-13 16:09:48 +0100 | pfurla_ | (~pfurla@177.79.117.40) |
2021-12-13 16:11:07 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Ping timeout: 268 seconds) |
2021-12-13 16:12:25 +0100 | jakalx | (~jakalx@base.jakalx.net) () |
2021-12-13 16:12:29 +0100 | Jing | (~hedgehog@2604:a840:3::10c8) |
2021-12-13 16:12:34 +0100 | pfurla | (~pfurla@177.25.184.160) (Ping timeout: 256 seconds) |
2021-12-13 16:13:21 +0100 | emf | (~emf@cpe-174-109-36-85.nc.res.rr.com) |
2021-12-13 16:16:09 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 16:16:35 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
2021-12-13 16:16:54 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-13 16:16:54 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-13 16:16:54 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-13 16:17:36 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) |
2021-12-13 16:18:35 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2021-12-13 16:18:54 +0100 | <oats> | anyone using emacs and lsp-haskell know how to disable these import suggestions? https://paste.xinu.at/JpHdi/ |
2021-12-13 16:19:58 +0100 | <oats> | I thought it might be `lsp-haskell-refineimports-on' set to nil, but that didn't do it |
2021-12-13 16:19:59 +0100 | emf | (~emf@cpe-174-109-36-85.nc.res.rr.com) (Quit: emf) |
2021-12-13 16:20:51 +0100 | emf | (~emf@cpe-174-109-36-85.nc.res.rr.com) |
2021-12-13 16:21:35 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2021-12-13 16:22:04 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) (Ping timeout: 265 seconds) |
2021-12-13 16:23:00 +0100 | <oats> | oh nvm, I think `lsp-haskell-importlens-on' was it |
2021-12-13 16:26:33 +0100 | slowtyper | (~slowtyper@user/slowtyper) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-12-13 16:26:49 +0100 | slowtyper | (~slowtyper@user/slowtyper) |
2021-12-13 16:27:49 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 16:28:59 +0100 | emf_ | (~emf@2620:10d:c091:480::1:cbc8) |
2021-12-13 16:29:09 +0100 | emf | (~emf@cpe-174-109-36-85.nc.res.rr.com) (Ping timeout: 252 seconds) |
2021-12-13 16:34:35 +0100 | deadmarshal | (~deadmarsh@95.38.114.19) |
2021-12-13 16:35:01 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-12-13 16:35:08 +0100 | SummerSonw | (~The_viole@203.77.49.232) (Remote host closed the connection) |
2021-12-13 16:35:32 +0100 | SummerSonw | (~The_viole@203.77.49.232) |
2021-12-13 16:37:35 +0100 | <dminuoso> | [exa], geekosaur: Thanks! |
2021-12-13 16:37:55 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
2021-12-13 16:37:57 +0100 | <dminuoso> | Unrelatedly, does conduit have some efficient way to find a substring in a bytestring conduit? |
2021-12-13 16:38:18 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-13 16:38:27 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-12-13 16:38:58 +0100 | <dminuoso> | Or do I have to roll my own KMP ontop of it? |
2021-12-13 16:39:22 +0100 | deadmarshal | (~deadmarsh@95.38.114.19) (Ping timeout: 260 seconds) |
2021-12-13 16:43:06 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Ping timeout: 260 seconds) |
2021-12-13 16:43:27 +0100 | arjun | (~arjun@103.57.87.133) (Ping timeout: 252 seconds) |
2021-12-13 16:44:21 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 16:44:30 +0100 | mimmy_ | (~mimmy@37.19.212.189) (Ping timeout: 260 seconds) |
2021-12-13 16:44:46 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-12-13 16:46:50 +0100 | acidjnk | (~acidjnk@p200300d0c7271e62e04d49a98672dc3b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2021-12-13 16:46:56 +0100 | mimmy_ | (~mimmy@37.19.212.190) |
2021-12-13 16:51:03 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 250 seconds) |
2021-12-13 16:52:26 +0100 | johnjay | (~pi@154.6.152.74) (Ping timeout: 268 seconds) |
2021-12-13 16:53:59 +0100 | johnjay | (~pi@154.6.152.74) |
2021-12-13 16:54:27 +0100 | emf_ | (~emf@2620:10d:c091:480::1:cbc8) (Ping timeout: 252 seconds) |
2021-12-13 16:55:26 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3) |
2021-12-13 16:55:45 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-13 16:55:50 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-12-13 16:58:11 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 16:58:55 +0100 | emf | (~emf@2620:10d:c091:480::1:cbc8) |
2021-12-13 17:00:06 +0100 | acco[m] | (~accotedom@2001:470:69fc:105::1:3236) (Quit: You have been kicked for being idle) |
2021-12-13 17:02:30 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) |
2021-12-13 17:03:27 +0100 | myShoggoth | (~myShoggot@97-120-85-195.ptld.qwest.net) |
2021-12-13 17:03:32 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-12-13 17:03:43 +0100 | cfricke | (~cfricke@user/cfricke) |
2021-12-13 17:04:46 +0100 | SummerSonw | (~The_viole@203.77.49.232) (Ping timeout: 268 seconds) |
2021-12-13 17:05:12 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) |
2021-12-13 17:06:32 +0100 | meinside | (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-13 17:06:34 +0100 | dschrempf | (~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit) |
2021-12-13 17:07:56 +0100 | Jing | (~hedgehog@2604:a840:3::10c8) (Remote host closed the connection) |
2021-12-13 17:09:08 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-13 17:09:12 +0100 | jippiedoe | (~david@2a02-a44c-e14e-1-d348-9a8a-50cc-26de.fixed6.kpn.net) (Quit: Leaving) |
2021-12-13 17:11:35 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-13 17:11:39 +0100 | samlamamma | (~user@79.138.136.192.mobile.tre.se) |
2021-12-13 17:12:00 +0100 | Jing | (~hedgehog@2604:a840:3::10c8) |
2021-12-13 17:12:43 +0100 | burnsidesLlama | (~burnsides@dhcp168-021.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-12-13 17:12:58 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2021-12-13 17:13:04 +0100 | <samlamamma> | Is finding morphisms between ADT:s easy? F.ex. "Find isomorphism for inductively defined A and inductively defined B" |
2021-12-13 17:14:06 +0100 | zebrag | (~chris@user/zebrag) |
2021-12-13 17:14:08 +0100 | <samlamamma> | It sounds like an interesting and useful problem to me, but maybe I'm too out of the loop to know that this is simple :). I'm thinking it's easy! |
2021-12-13 17:15:45 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 17:21:06 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-13 17:23:58 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Remote host closed the connection) |
2021-12-13 17:25:02 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) |
2021-12-13 17:25:15 +0100 | mimmy_ | (~mimmy@37.19.212.190) (Ping timeout: 252 seconds) |
2021-12-13 17:26:14 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 256 seconds) |
2021-12-13 17:26:33 +0100 | ephemient | (uid407513@id-407513.lymington.irccloud.com) |
2021-12-13 17:27:30 +0100 | x88x88x | (~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) (Read error: Connection reset by peer) |
2021-12-13 17:27:49 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 17:28:53 +0100 | APic | (~apic@apic.name) (Quit: [TLS] Client upgrade) |
2021-12-13 17:29:03 +0100 | APic | (apic@apic.name) |
2021-12-13 17:29:38 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Ping timeout: 256 seconds) |
2021-12-13 17:30:26 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-12-13 17:32:21 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-13 17:35:11 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2021-12-13 17:39:36 +0100 | mimmy_ | (~mimmy@37.19.212.189) |
2021-12-13 17:40:14 +0100 | mimmy_ | (~mimmy@37.19.212.189) (Client Quit) |
2021-12-13 17:40:27 +0100 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
2021-12-13 17:43:43 +0100 | <raehik> | Just to confirm, I can't do "mixed" record syntax, right? Like "data A a = A a { a2 :: a } a" |
2021-12-13 17:43:49 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-13 17:44:02 +0100 | <raehik> | I should just write my own function for it |
2021-12-13 17:45:05 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 17:48:26 +0100 | <xerox> | what you you want that to do? |
2021-12-13 17:49:27 +0100 | johnjay | (~pi@154.6.152.74) (Ping timeout: 252 seconds) |
2021-12-13 17:49:58 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:1f7:bbc2:bf58:b649) (Quit: WeeChat 2.8) |
2021-12-13 17:50:06 +0100 | <geekosaur> | projection function for just one field, presumably |
2021-12-13 17:50:23 +0100 | burnsidesLlama | (~burnsides@dhcp168-021.wadham.ox.ac.uk) |
2021-12-13 17:51:13 +0100 | johnjay | (~pi@154.6.152.74) |
2021-12-13 17:53:02 +0100 | Jing | (~hedgehog@2604:a840:3::10c8) (Remote host closed the connection) |
2021-12-13 17:53:06 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-13 17:54:07 +0100 | <c_wraith> | Funny, pattern-matching and construction syntax would both work fine* with that. *though obviously you couldn't match the unnamed field by name |
2021-12-13 17:55:08 +0100 | burnsidesLlama | (~burnsides@dhcp168-021.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
2021-12-13 17:55:55 +0100 | <raehik> | c_wraith: what would that look like? I wasn't able to make an "unnamed" field |
2021-12-13 17:56:02 +0100 | <c_wraith> | But it would require a pretty significant change to template haskell code that works with data types, and probably generics too |
2021-12-13 17:56:23 +0100 | <raehik> | Ah I see, there's nothing in the language restricting it |
2021-12-13 17:56:25 +0100 | <c_wraith> | raehik: oh, it's not possible. I was pondering how much would change if it was |
2021-12-13 17:56:34 +0100 | Jing | (~hedgehog@2604:a840:3::10c8) |
2021-12-13 17:57:33 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 250 seconds) |
2021-12-13 17:57:47 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 17:58:21 +0100 | pfurla_ | (~pfurla@177.79.117.40) (Read error: Connection reset by peer) |
2021-12-13 17:58:25 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3) |
2021-12-13 17:58:29 +0100 | pfurla | (~pfurla@2804:18:585d:1964:1855:cca0:7d18:69de) |
2021-12-13 17:59:08 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-12-13 17:59:50 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-13 18:00:20 +0100 | <[exa]> | samlamamma: depends on what you want from the morphism. Technically `Integer` is isomorphic to anything. :] |
2021-12-13 18:00:41 +0100 | <c_wraith> | Usually that sort of thing means structural isomorphism |
2021-12-13 18:00:56 +0100 | lbseale | (~ep1ctetus@user/ep1ctetus) |
2021-12-13 18:01:14 +0100 | <geekosaur> | for that matter so is Int#, since that's how computers work with anything that isn't an Int# |
2021-12-13 18:01:14 +0100 | <kuribas> | [exa]: not to Int? |
2021-12-13 18:01:25 +0100 | <[exa]> | ok (*hides a little statue of godel*) |
2021-12-13 18:01:32 +0100 | <[exa]> | kuribas: Int too small :'( |
2021-12-13 18:01:54 +0100 | <kuribas> | anything countable infinite, right? |
2021-12-13 18:02:05 +0100 | <[exa]> | well you can encode the generating function |
2021-12-13 18:02:08 +0100 | <c_wraith> | So like... Fix Maybe is structurally isomorphic to inductive Nat |
2021-12-13 18:02:58 +0100 | <kritzefitz> | kuribas: I don't think computers can work directly with anything uncountably infinite. |
2021-12-13 18:03:27 +0100 | <kuribas> | kritzefitz: maybe symbolically? |
2021-12-13 18:03:58 +0100 | <[exa]> | hm, how complex it is to find a structural morphism? (ie isn't it undecidable if you encode something really ugly like PKP to your types?) |
2021-12-13 18:04:14 +0100 | <c_wraith> | Korrespondence? |
2021-12-13 18:04:28 +0100 | <kritzefitz> | kuribas: Maybe, but wouldn't the symbols be countable and thus be isomorphic to Integer again? |
2021-12-13 18:04:38 +0100 | <[exa]> | c_wraith: I'm from the korresponding part of the word, yeah :D |
2021-12-13 18:04:38 +0100 | <monochrom> | Symbolically, you can only have countably many symbols. |
2021-12-13 18:04:45 +0100 | <[exa]> | correspondence for sure. :D |
2021-12-13 18:05:10 +0100 | <monochrom> | For example, Mathematica can still only represent countably many real numbers, not all real numbers. |
2021-12-13 18:05:40 +0100 | <c_wraith> | [exa]: but yeah, when you start using data types with extra restrictions on them (GADTs), you can make structural properties arbitrarily complex |
2021-12-13 18:05:42 +0100 | <monochrom> | Unless you go constructivism and declare "all real numbers" = "all constructible real numbers". |
2021-12-13 18:06:59 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-12-13 18:07:03 +0100 | <[exa]> | actually (I hit this a while ago and kinda forgot to solve for myself) -- there's only countably infinite of constructible real numbers right? (because of the number of programs to construct them) |
2021-12-13 18:07:12 +0100 | <c_wraith> | yes |
2021-12-13 18:07:25 +0100 | <monochrom> | or number of strings you can write down |
2021-12-13 18:07:25 +0100 | <c_wraith> | there are only countably infinite possible programs |
2021-12-13 18:07:41 +0100 | <[exa]> | hmm |
2021-12-13 18:07:50 +0100 | <[exa]> | any example of inconstructible one? |
2021-12-13 18:07:55 +0100 | <kuribas> | kritzefitz: actually, computers cannot deal with anything infinite |
2021-12-13 18:07:56 +0100 | <[exa]> | (not asking anyone to construct it) |
2021-12-13 18:07:56 +0100 | <c_wraith> | I'm sure you can create a programming language such that possible programs = strings :) |
2021-12-13 18:08:06 +0100 | <c_wraith> | [exa]: Chitin's Omega |
2021-12-13 18:08:21 +0100 | <c_wraith> | err. Chaitin |
2021-12-13 18:08:30 +0100 | <[exa]> | uuuuuuh gooood, I didn't know this |
2021-12-13 18:08:32 +0100 | <[exa]> | thanks |
2021-12-13 18:08:48 +0100 | <c_wraith> | he is not a waxy exoskeleton |
2021-12-13 18:08:51 +0100 | <c_wraith> | even if that'd be cool |
2021-12-13 18:09:05 +0100 | <monochrom> | So even if you are classical and accept "I don't have to write how to produce, I just have to write a predicate for what to satisfy", which still is a string, as long as you are formal, you can only specify countably many real numbers. |
2021-12-13 18:09:15 +0100 | <samlamamma> | Yup, interest really comes from me wasting time writing functions going from different serialization formats |
2021-12-13 18:09:42 +0100 | <monochrom> | Which brings us to: There are countable models of set theory. |
2021-12-13 18:10:15 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-13 18:10:50 +0100 | <[exa]> | yap I recall some of that, but I completely missed this halting probability |
2021-12-13 18:12:49 +0100 | <samlamamma> | At work I write C/C++ in a meager environment. This means that I have to write a lot of boring code. So of course I'm interested in program |
2021-12-13 18:12:49 +0100 | <samlamamma> | synthesis to help me out |
2021-12-13 18:12:52 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-13 18:13:32 +0100 | <monochrom> | Now that the OP is here, my turn to talk about that. Generally, "isomorphism" is ambiguous in the Haskell community. Try it: Define "isomorphism". |
2021-12-13 18:14:14 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 18:14:18 +0100 | <monochrom> | I may even be able to claim s/ambiguous/a buzzword/, i.e., you don't even know of one definition, lack alone multiple definitions. |
2021-12-13 18:14:42 +0100 | <[exa]> | samlamamma: the conversion problem is hard. There are lenses to avoid conversion completely (allow you to work kinda the same way with many structures) and in Hs it's pretty easy to make a relatively universal ADT for all possibilities (which is roughly how pandoc went around that) |
2021-12-13 18:14:57 +0100 | <samlamamma> | Probably f: A -> B, g: B -> A s.t. f(g(b)) == id(b) ^ g(f(a)) == id(a) for all a, b |
2021-12-13 18:15:34 +0100 | <[exa]> | samlamamma: not sure if any of that applies to C++ though, probably depends on what data you represent |
2021-12-13 18:15:35 +0100 | <samlamamma> | Proof of isomorphism is given by finding g and f |
2021-12-13 18:15:49 +0100 | <monochrom> | That's just bijection. But sure. Now see [exa]'s Integer answer. |
2021-12-13 18:16:20 +0100 | <monochrom> | Does that help with understanding the correspondence between serialization formats? |
2021-12-13 18:16:21 +0100 | [exa] | hides the godel statue deeper in the bag |
2021-12-13 18:16:22 +0100 | <samlamamma> | monochrom: But it's a lossless bijection, so what am I missing? (reading int ans now) |
2021-12-13 18:16:23 +0100 | <monochrom> | I bet no. |
2021-12-13 18:17:04 +0100 | pfurla_ | (~pfurla@2804:18:5002:3d2c:db:f3d4:1503:ae07) |
2021-12-13 18:17:49 +0100 | <[exa]> | samlamamma: isomorphism differs from bijection in the assurance that it preserves some predefined structure. Actually the Integer answer is quite borderline on that |
2021-12-13 18:18:04 +0100 | <[exa]> | predefined/assumed/required |
2021-12-13 18:18:28 +0100 | <monochrom> | For example, both XML and Markdown are in bijection with Integer. |
2021-12-13 18:18:32 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
2021-12-13 18:18:32 +0100 | <[exa]> | samlamamma: what data types you have there? (just curious) |
2021-12-13 18:18:35 +0100 | <samlamamma> | Right, but this "preserves [...]" would have to be encoded in some logical predicate |
2021-12-13 18:18:50 +0100 | <[exa]> | samlamamma: yes, usually you have "relations to keep working" |
2021-12-13 18:18:54 +0100 | <samlamamma> | [exa]: Oh, just D-Bus messages and JSON. |
2021-12-13 18:19:00 +0100 | <monochrom> | That still doesn't help you with conversion, or alternatively to argue that there can't be a conversion. |
2021-12-13 18:19:21 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2021-12-13 18:19:25 +0100 | pfurla | (~pfurla@2804:18:585d:1964:1855:cca0:7d18:69de) (Ping timeout: 240 seconds) |
2021-12-13 18:20:22 +0100 | <samlamamma> | monochrom: I imagine that in most "reasonable" cases finding a conversion (let's not be classical) might be easy. After all, programmers can do it easily |
2021-12-13 18:20:45 +0100 | <monochrom> | Yeah, about that. |
2021-12-13 18:20:53 +0100 | <monochrom> | Programmers make bugs just as easily. |
2021-12-13 18:21:03 +0100 | <samlamamma> | Haha :-) |
2021-12-13 18:21:43 +0100 | <[exa]> | samlamamma: anyway, in this case in Hs you'd probabl just parse/format the dbus format to/from Aeson and let the rest generate jsons and yamls for you :] |
2021-12-13 18:21:51 +0100 | <monochrom> | I don't accept "programmers can do it easily". I only accept "programmers can do it with bugs easily". |
2021-12-13 18:22:53 +0100 | <samlamamma> | monochrom: That's fair enough! |
2021-12-13 18:22:56 +0100 | <samlamamma> | [exa]: Yeah, "someone else having done the work" is the real answer here, but not as interesting! |
2021-12-13 18:24:03 +0100 | <[exa]> | let's go to the morphisms then, what are the operations you're doing on the stuff? |
2021-12-13 18:24:14 +0100 | ubert | (~Thunderbi@2a02:8109:9880:303c:a6e9:4af8:654:3268) (Remote host closed the connection) |
2021-12-13 18:24:33 +0100 | <[exa]> | if it's just conversion, the "common middle format" is usually the way, preferably with a good ADT |
2021-12-13 18:24:42 +0100 | pfurla | (~pfurla@177.79.126.164) |
2021-12-13 18:24:43 +0100 | <samlamamma> | I'd just like to give input/output examples and have my computer throw programs at me in <100ms and having me refine its responses with more |
2021-12-13 18:24:44 +0100 | <samlamamma> | examples and logic! What's so hard about that??? /sarcasm |
2021-12-13 18:25:21 +0100 | burnsidesLlama | (~burnsides@dhcp168-021.wadham.ox.ac.uk) |
2021-12-13 18:25:32 +0100 | <samlamamma> | [exa]: That's the boring part, we're not doing anything with the data. We're just shuffling it around. |
2021-12-13 18:25:37 +0100 | kuribas | (~user@ptr-25vy0i9k5aujcskch0c.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
2021-12-13 18:26:13 +0100 | <samlamamma> | But now I think we're getting into org issues with my work re why no one has put in the effort for a common library to do this |
2021-12-13 18:26:13 +0100 | <samlamamma> | stuff for us :-) |
2021-12-13 18:26:18 +0100 | <[exa]> | good, just implement instance FromJson Dbus, instance ToJson Dbus, then convert=id |
2021-12-13 18:26:45 +0100 | <EvanR> | isn't bijection literally shuffling things around |
2021-12-13 18:26:50 +0100 | <EvanR> | in some sense |
2021-12-13 18:26:53 +0100 | <[exa]> | yap |
2021-12-13 18:27:22 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 18:27:23 +0100 | pfurla_ | (~pfurla@2804:18:5002:3d2c:db:f3d4:1503:ae07) (Ping timeout: 268 seconds) |
2021-12-13 18:29:03 +0100 | yuyua32 | (~yuyua32@wireless-student-pt3-240-232.lut.ac.uk) |
2021-12-13 18:29:05 +0100 | ystael | (~ystael@user/ystael) (Read error: Connection reset by peer) |
2021-12-13 18:30:37 +0100 | burnsidesLlama | (~burnsides@dhcp168-021.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
2021-12-13 18:32:43 +0100 | thevishy | (~Nishant@2405:201:f005:c007:81f3:ee3c:76f0:8869) (Ping timeout: 252 seconds) |
2021-12-13 18:32:43 +0100 | yhsiveht | (~Nishant@2405:201:f005:c007:d93e:9746:14f0:2f69) |
2021-12-13 18:34:05 +0100 | yhsiveht | (~Nishant@2405:201:f005:c007:d93e:9746:14f0:2f69) (Client Quit) |
2021-12-13 18:37:33 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3) |
2021-12-13 18:37:53 +0100 | yuyua32 | (~yuyua32@wireless-student-pt3-240-232.lut.ac.uk) (Quit: Client closed) |
2021-12-13 18:37:54 +0100 | deadmarshal | (~deadmarsh@95.38.114.19) |
2021-12-13 18:37:56 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-12-13 18:39:13 +0100 | pfurla_ | (~pfurla@177.79.116.198) |
2021-12-13 18:40:51 +0100 | pfurla | (~pfurla@177.79.126.164) (Read error: Connection reset by peer) |
2021-12-13 18:41:51 +0100 | notzmv | (~zmv@user/notzmv) (Remote host closed the connection) |
2021-12-13 18:42:54 +0100 | notzmv | (~zmv@user/notzmv) |
2021-12-13 18:43:51 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-12-13 18:43:51 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2021-12-13 18:43:54 +0100 | allbery_b | geekosaur |
2021-12-13 18:45:52 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 18:47:14 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-12-13 18:49:06 +0100 | InternetCitizen | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
2021-12-13 18:50:06 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-13 18:50:06 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-13 18:50:06 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-13 18:50:46 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3) |
2021-12-13 18:53:10 +0100 | pfurla_ | (~pfurla@177.79.116.198) (Read error: Connection reset by peer) |
2021-12-13 18:54:16 +0100 | samlamam` | (~user@2a02:aa1:1608:7ad3:e9b0:545c:1f5b:b2ec) |
2021-12-13 18:56:34 +0100 | samlamamma | (~user@79.138.136.192.mobile.tre.se) (Ping timeout: 260 seconds) |
2021-12-13 18:56:47 +0100 | pfurla | (~pfurla@2804:18:5804:7c6e:974:c347:e60e:e6) |
2021-12-13 18:57:29 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 18:57:45 +0100 | samlamam` | (~user@2a02:aa1:1608:7ad3:e9b0:545c:1f5b:b2ec) (Remote host closed the connection) |
2021-12-13 18:58:54 +0100 | fr33domlover | (~fr33@2.55.169.194) (Ping timeout: 260 seconds) |
2021-12-13 18:59:27 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-12-13 19:00:54 +0100 | mbuf | (~Shakthi@122.174.40.28) (Quit: Leaving) |
2021-12-13 19:01:58 +0100 | xff0x | (~xff0x@port-92-195-24-10.dynamic.as20676.net) (Quit: xff0x) |
2021-12-13 19:03:32 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 240 seconds) |
2021-12-13 19:03:59 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2021-12-13 19:05:21 +0100 | lechner | (~lechner@debian/lechner) (Ping timeout: 252 seconds) |
2021-12-13 19:05:45 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-13 19:08:25 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection) |
2021-12-13 19:11:23 +0100 | xff0x | (~xff0x@2001:1a81:5245:500:35c3:4c34:eb85:8494) |
2021-12-13 19:11:58 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
2021-12-13 19:12:12 +0100 | arjun | (~arjun@103.57.87.133) |
2021-12-13 19:13:04 +0100 | <dminuoso> | Lazy IO strikes again. |
2021-12-13 19:13:40 +0100 | arjun | (~arjun@103.57.87.133) (Remote host closed the connection) |
2021-12-13 19:13:51 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 19:13:58 +0100 | arjun | (~arjun@103.57.87.133) |
2021-12-13 19:14:23 +0100 | <dminuoso> | I think? |
2021-12-13 19:14:24 +0100 | <dminuoso> | openBinaryFile: resource busy (file is locked) |
2021-12-13 19:15:29 +0100 | <dminuoso> | This is so annoying, cant even figure out why :( |
2021-12-13 19:16:08 +0100 | <EvanR> | windows? |
2021-12-13 19:16:17 +0100 | <dminuoso> | Linux |
2021-12-13 19:16:27 +0100 | jz99 | (~Guest19@n110-33-34-202.hum1.act.optusnet.com.au) (Quit: Client closed) |
2021-12-13 19:16:53 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-13 19:17:07 +0100 | Guest19 | (~Guest19@n110-33-34-202.hum1.act.optusnet.com.au) |
2021-12-13 19:17:08 +0100 | <dminuoso> | Im recursing nested zip files using `zip`, and for each entry I use withSystemTempFile, I write it to the provided handle, and then use `zip` to open the provided path |
2021-12-13 19:17:22 +0100 | <dminuoso> | And in that recursive zip I get that error |
2021-12-13 19:17:30 +0100 | nvmd | (~nvmd@user/nvmd) |
2021-12-13 19:17:44 +0100 | <dminuoso> | The writing happens using Data.ByteString.hPut |
2021-12-13 19:18:08 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-d088-4906-a1eb-3fe7.res6.spectrum.com) |
2021-12-13 19:18:13 +0100 | sander | (~sander@user/sander) (Ping timeout: 240 seconds) |
2021-12-13 19:18:34 +0100 | sander | (~sander@user/sander) |
2021-12-13 19:18:40 +0100 | <dminuoso> | I wonder, does the GHC RTS employ some kind of internal locking when opening files? |
2021-12-13 19:18:45 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2021-12-13 19:19:11 +0100 | <EvanR> | so opening a file for reading that is already open for writing and in the middle of things. But I thought writing wasn't lazy at all |
2021-12-13 19:20:21 +0100 | <dminuoso> | I was suspecting lazy IO anyhow |
2021-12-13 19:20:25 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) (Remote host closed the connection) |
2021-12-13 19:21:11 +0100 | <dminuoso> | I naively expected to simply get two separate file descriptors under the hood |
2021-12-13 19:21:16 +0100 | <EvanR> | are you closing the file before opening it |
2021-12-13 19:22:31 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-13 19:22:36 +0100 | <dminuoso> | Nope |
2021-12-13 19:22:57 +0100 | <dminuoso> | https://hackage.haskell.org/package/base-4.16.0.0/docs/System-IO.html#g:8 suggests this would be fine |
2021-12-13 19:23:09 +0100 | <dminuoso> | oh, but maybe I didnt read the warning right |
2021-12-13 19:23:40 +0100 | <dminuoso> | I first start with a write handler via withSystemTempFile, and then (hopefully) a read only handle using zip |
2021-12-13 19:24:07 +0100 | <dminuoso> | https://hackage.haskell.org/package/zip-1.7.2/docs/src/Codec.Archive.Zip.Internal.html#scanArchive |
2021-12-13 19:24:07 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 19:24:12 +0100 | xkuru | (~xkuru@user/xkuru) |
2021-12-13 19:24:21 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-12-13 19:24:28 +0100 | <EvanR> | if openBinaryFile error is about the large zip file you're reading, makes sense |
2021-12-13 19:24:39 +0100 | <EvanR> | if it's about the temp file, not sure |
2021-12-13 19:24:54 +0100 | <EvanR> | oh, are you trying to lazy I/O open the temp file... |
2021-12-13 19:25:33 +0100 | <dminuoso> | Seems that way |
2021-12-13 19:26:31 +0100 | <EvanR> | what if you strict open the temp file xD |
2021-12-13 19:26:49 +0100 | <dminuoso> | Well I guess I can simply close the file and manage it with bracket myself |
2021-12-13 19:26:52 +0100 | <dolio> | What is "strict open"? |
2021-12-13 19:27:44 +0100 | x88x88x | (~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) |
2021-12-13 19:28:21 +0100 | <dminuoso> | Anyway, the RTS has some kind of lockFile that mkFD uses |
2021-12-13 19:28:27 +0100 | jgeerds | (~jgeerds@55d4ac73.access.ecotel.net) (Ping timeout: 268 seconds) |
2021-12-13 19:28:33 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-12-13 19:28:33 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
2021-12-13 19:28:33 +0100 | wroathe | (~wroathe@user/wroathe) |
2021-12-13 19:28:39 +0100 | <dminuoso> | Sadly without any comments or documentation. :( |
2021-12-13 19:28:39 +0100 | <EvanR> | Data.ByteString.getContents |
2021-12-13 19:29:06 +0100 | <EvanR> | er |
2021-12-13 19:29:08 +0100 | <EvanR> | hGetContents |
2021-12-13 19:29:29 +0100 | <dolio> | Okay, so nothing to do with opening a file. |
2021-12-13 19:30:02 +0100 | <EvanR> | yeah |
2021-12-13 19:30:17 +0100 | <dminuoso> | But judging from a skim, it seems that the RTS does not allow having two simultaneous non-ReadMode handles to the same file |
2021-12-13 19:32:13 +0100 | <EvanR> | that's a concrete that to be tested |
2021-12-13 19:32:19 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2021-12-13 19:32:21 +0100 | <EvanR> | to see if it's false at least |
2021-12-13 19:32:33 +0100 | <EvanR> | concrete thing* |
2021-12-13 19:32:45 +0100 | <dminuoso> | Well the code in mkFD is quite clear |
2021-12-13 19:32:54 +0100 | <dminuoso> | It's just surprising because zip actually opens in ReadMode |
2021-12-13 19:33:07 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
2021-12-13 19:34:11 +0100 | <EvanR> | the docs for lazy bytestring suggests there's a lock on something that's being lazy I/O read |
2021-12-13 19:34:15 +0100 | mmhat | (~mmh@55d455f3.access.ecotel.net) |
2021-12-13 19:35:22 +0100 | <dminuoso> | Im not using lazy bytestrings though |
2021-12-13 19:36:08 +0100 | <EvanR> | oh |
2021-12-13 19:36:38 +0100 | dyeplexer | (~dyeplexer@user/dyeplexer) (Remote host closed the connection) |
2021-12-13 19:37:34 +0100 | ystael | (~ystael@user/ystael) |
2021-12-13 19:37:55 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-12-13 19:39:01 +0100 | arjun | (~arjun@103.57.87.133) (Quit: Leaving) |
2021-12-13 19:40:48 +0100 | edrx | (~Eduardo@2804:18:581c:883f:998:719e:3903:d0a1) |
2021-12-13 19:41:32 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
2021-12-13 19:42:05 +0100 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-12-13 19:42:26 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 19:43:33 +0100 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2021-12-13 19:44:21 +0100 | <edrx> | hi! I am learning Agda using Wadler's PLFA and Peter Selinger's lectures. Both Wadler and Selinger _define_ the logical connectives in their tutorials, but I can't find references to where these definitions are in Agda's stdlib... is there a module of Agda that I can import and that defines _∧_, _∨_, _↔_, etc, for truth-values? |
2021-12-13 19:47:04 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 19:47:10 +0100 | <earendel> | kritzefitz: hm. calculus can deal with infinitely small margins. lim->0 .. |
2021-12-13 19:47:41 +0100 | Guest19 | (~Guest19@n110-33-34-202.hum1.act.optusnet.com.au) (Quit: Client closed) |
2021-12-13 19:49:00 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-12-13 19:49:24 +0100 | InternetCitizen | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 268 seconds) |
2021-12-13 19:49:56 +0100 | kayvank | (~user@52-119-115-185.PUBLIC.monkeybrains.net) |
2021-12-13 19:51:19 +0100 | <earendel> | however the coastline of england is infinitely long. the more precise you measure, the longer it gets. :) |
2021-12-13 19:51:24 +0100 | pfurla | (~pfurla@2804:18:5804:7c6e:974:c347:e60e:e6) (Quit: gone to sleep. ZZZzzz…) |
2021-12-13 19:51:28 +0100 | <earendel> | rough huh? |
2021-12-13 19:51:56 +0100 | <dolio> | It probably isn't. |
2021-12-13 19:51:56 +0100 | <EvanR> | even though there possible haskell programs is countable, you can't create a list of all Stream Bool (that could be generated by haskell) |
2021-12-13 19:52:19 +0100 | <earendel> | dolio: it is. |
2021-12-13 19:52:20 +0100 | <EvanR> | in haskell |
2021-12-13 19:52:25 +0100 | <geekosaur> | isn't that just another form of zeno's paradox? |
2021-12-13 19:52:49 +0100 | <dolio> | earendel: No, that's some idealized nonsense people say when talking about fractals. |
2021-12-13 19:53:07 +0100 | <dolio> | The coastline of England isn't an actual mathematical fractal. |
2021-12-13 19:53:40 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) |
2021-12-13 19:53:57 +0100 | <EvanR> | yeah if you walk around it you get somewhere |
2021-12-13 19:53:57 +0100 | trcc | (~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Client Quit) |
2021-12-13 19:53:58 +0100 | <earendel> | its not idealised. it says the more precise you measure the longer it gets. |
2021-12-13 19:54:07 +0100 | <monochrom> | I like an idealized England. :) |
2021-12-13 19:54:54 +0100 | <dolio> | Okay, prove that it will always get longer the more precisely you measure. |
2021-12-13 19:55:27 +0100 | <geekosaur> | it's idealised if only because there are limits both to precision and to fractal expansion in the real world as opposed to the mathematical one |
2021-12-13 19:55:38 +0100 | <dolio> | Right. |
2021-12-13 19:56:15 +0100 | <earendel> | which is a fact. it also elegenantly points at limitations as of primary: limits of the machines we use to compute. and time memory it would take too. for infinity it would be a lot. especially at its ends. |
2021-12-13 19:56:31 +0100 | burnsidesLlama | (~burnsides@dhcp168-021.wadham.ox.ac.uk) |
2021-12-13 19:58:54 +0100 | econo | (uid147250@user/econo) |
2021-12-13 19:58:56 +0100 | <monochrom> | "The closer you look, the less you see." |
2021-12-13 20:00:31 +0100 | <earendel> | dolio: ok. imagine you put a grid over england. of some arbitrary resolution. now you can draw the coast of england using nodes at the grid-snaps. now: the higer the resolution gets, the more precise you can map the coast on it right? so far so good. now consider this. the shortest distance between two points/nodes is .. a line! now if you add more nodes (higher resolution) the distance between the points can only get longer or stay equally long |
2021-12-13 20:00:31 +0100 | <earendel> | (with the additional node being exactly on that line) |
2021-12-13 20:01:08 +0100 | lechner | (~lechner@debian/lechner) |
2021-12-13 20:01:15 +0100 | <geekosaur> | so have you heard of zeno's paradox? |
2021-12-13 20:01:18 +0100 | <monochrom> | You do not want your precision to exceed the atomic level (say). Because at that point the whole notion of "coast line" dissolves. |
2021-12-13 20:01:35 +0100 | <dsal> | That describes how I understand things. |
2021-12-13 20:01:54 +0100 | <monochrom> | But then once you bound your precision, you stop at a finite answer. |
2021-12-13 20:02:10 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-12-13 20:02:12 +0100 | <monochrom> | Also technically you no longer have a fractal. |
2021-12-13 20:02:25 +0100 | <dsal> | My gap of understanding has infinite precision. |
2021-12-13 20:02:26 +0100 | <dolio> | Eventually they stay equally long, because the real coastline of England isn't actually a fractal. |
2021-12-13 20:02:31 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-12-13 20:02:43 +0100 | <monochrom> | But I'm OK with an idealized English notion. We have idealized circles too. |
2021-12-13 20:03:24 +0100 | <geekosaur> | for that matter, have you heard of banach-tarski? |
2021-12-13 20:03:24 +0100 | <earendel> | one more on infinity; if the universe is infinite (and so far we can look now it seems to be perfectly flat .. ergo infinite) it was infinite even as the observable universe was the size close to smallest (at big bang) |
2021-12-13 20:03:53 +0100 | <dolio> | I see no reason to assume the universe is infinite, either. |
2021-12-13 20:04:12 +0100 | edrx | (~Eduardo@2804:18:581c:883f:998:719e:3903:d0a1) (Ping timeout: 268 seconds) |
2021-12-13 20:05:00 +0100 | <earendel> | one more. during the inflation. the universe expanded in a very short time by the same factor it has expanded it expanded since then till today. and! by that time it was the size of an orange. |
2021-12-13 20:05:03 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 20:05:12 +0100 | earendel | drops the mike |
2021-12-13 20:05:13 +0100 | <monochrom> | The Banach-Tarski paradox says that England can exit Europe twice in a row. (1st was Brexit, 2nd was losing the Euro Cup.) >:) |
2021-12-13 20:05:22 +0100 | <EvanR> | lol |
2021-12-13 20:06:59 +0100 | <EvanR> | anyway, countable uncountable is another one of those things that gets fantastic descriptions because it rarely has any practical relevance |
2021-12-13 20:07:13 +0100 | <EvanR> | so no one gets the opportunity to call bullshit |
2021-12-13 20:08:28 +0100 | <dolio> | Countability is much more interesting constructively. |
2021-12-13 20:09:11 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-d088-4906-a1eb-3fe7.res6.spectrum.com) (Remote host closed the connection) |
2021-12-13 20:09:26 +0100 | <dolio> | Like, you can't show that the extended naturals are countable, so the continuum hyptothesis is obviously false. :þ |
2021-12-13 20:09:34 +0100 | <earendel> | im no good in maths, but from what i get informatics don't deal with limitations of hardware like egineers do. if something halts, it wouldn't matter if the universe still would exist at that time. it will halt. |
2021-12-13 20:09:36 +0100 | <earendel> | lol |
2021-12-13 20:10:04 +0100 | <earendel> | not that engineering has no merits! |
2021-12-13 20:10:41 +0100 | <earendel> | and from what i get this is where you were pointing at. fuck circles. all is a polygon. xd the holy n-eck |
2021-12-13 20:10:49 +0100 | jkaye | (~jkaye@2601:281:8300:7530:8f84:8d09:7b68:c6ce) (Ping timeout: 250 seconds) |
2021-12-13 20:10:49 +0100 | <dolio> | There are probably constructively acceptable axioms that make it uncountable (like 'not countable'), even. |
2021-12-13 20:11:38 +0100 | <EvanR> | in my mind there is a positive notion of uncountable somehow |
2021-12-13 20:11:42 +0100 | <dolio> | Some continuity principle. |
2021-12-13 20:11:48 +0100 | <boxscape> | ski: I think you had some notation in mind for the existential version (if that makes sense) of => at some point? I don't remember what it was, but just wanted to note, there's some discussion about what it should be in https://github.com/ghc-proposals/ghc-proposals/pull/473 - at least I think it's the same idea |
2021-12-13 20:11:59 +0100 | <monochrom> | *> |
2021-12-13 20:12:00 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 20:12:08 +0100 | <boxscape> | ah, right |
2021-12-13 20:12:09 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) |
2021-12-13 20:12:13 +0100 | <dolio> | Oh yeah. Uncountable is actually stronger. Like, for any enumeration, you can produce a value not in the enumeration. |
2021-12-13 20:12:56 +0100 | boxscape_ | (~boxscape_@p4ff0bb6c.dip0.t-ipconnect.de) |
2021-12-13 20:13:01 +0100 | jkaye | (~jkaye@2601:281:8300:7530:770c:7340:e88b:8722) |
2021-12-13 20:13:12 +0100 | <boxscape> | wait, ski isn't even online. Why is matrix telling me otherwise >:( |
2021-12-13 20:13:20 +0100 | <dolio> | But, the extended naturals are just not provably countable if you don't add principles, because in classical mathematics they are countable. |
2021-12-13 20:13:25 +0100 | deadmarshal | (~deadmarsh@95.38.114.19) (Ping timeout: 250 seconds) |
2021-12-13 20:14:31 +0100 | <EvanR> | principles are cool |
2021-12-13 20:14:42 +0100 | pgib | (~textual@173.38.117.69) |
2021-12-13 20:14:44 +0100 | <EvanR> | principals, usually not |
2021-12-13 20:15:20 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3) |
2021-12-13 20:15:44 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-12-13 20:16:48 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-43bd-64a7-1221-490e.res6.spectrum.com) |
2021-12-13 20:19:03 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
2021-12-13 20:22:00 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-13 20:23:27 +0100 | dsrt^ | (~dsrt@wsip-98-188-240-142.mc.at.cox.net) |
2021-12-13 20:24:53 +0100 | <earendel> | princesses are best <3 |
2021-12-13 20:25:11 +0100 | <earendel> | printhesses |
2021-12-13 20:27:01 +0100 | Jing | (~hedgehog@2604:a840:3::10c8) (Remote host closed the connection) |
2021-12-13 20:29:22 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) (Remote host closed the connection) |
2021-12-13 20:30:46 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 20:30:53 +0100 | Akiva | (~Akiva@user/Akiva) |
2021-12-13 20:31:25 +0100 | Jing | (~hedgehog@2604:a840:3::10c8) |
2021-12-13 20:31:32 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3) |
2021-12-13 20:31:42 +0100 | ubert | (~Thunderbi@p200300ecdf1abbd3ca03b07f10ffc657.dip0.t-ipconnect.de) |
2021-12-13 20:32:40 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-12-13 20:36:27 +0100 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-12-13 20:36:38 +0100 | fr33domlover | (~fr33@2.55.171.43) |
2021-12-13 20:40:02 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2021-12-13 20:40:56 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 20:43:30 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-13 20:45:01 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) |
2021-12-13 20:48:19 +0100 | <sm> | why does cabal fail on m1 mac with "unrecognized instruction mnemonic" / "you need clang" errors here: https://bpa.st/FJ2Q ? |
2021-12-13 20:48:39 +0100 | <sm> | `cabal` is an x86 binary |
2021-12-13 20:49:57 +0100 | <sclv> | i think its a ghc issue where its only able to compile for m1 via llvm? |
2021-12-13 20:51:22 +0100 | <sm> | thanks, I'll ask them |
2021-12-13 20:52:42 +0100 | <geekosaur> | if cabal is an x86 binary then it should be trying to build for x86, but the followup error suggests it's trying to build natively |
2021-12-13 20:53:04 +0100 | <geekosaur> | "you need clang" is one of ghc's typically oh-so-helpful suggestions :) |
2021-12-13 20:54:09 +0100 | <geekosaur> | I guess this in part because the assembly shown pretty clearly expects ; to be a comment character, which iirc it is on x86 |
2021-12-13 20:57:33 +0100 | Akiva | (~Akiva@user/Akiva) (Ping timeout: 252 seconds) |
2021-12-13 20:57:51 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 21:00:38 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3) |
2021-12-13 21:00:47 +0100 | <sm> | indeed.. I believe homebrew's haskell binaries switched to arm binaries semi recently. `brew install cabal-install` got me an arm cabal binary, which fixed it |
2021-12-13 21:05:16 +0100 | juhp | (~juhp@128.106.188.82) (Ping timeout: 268 seconds) |
2021-12-13 21:10:21 +0100 | juhp | (~juhp@128.106.188.82) |
2021-12-13 21:10:48 +0100 | nattiestnate | (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) |
2021-12-13 21:12:00 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 21:15:59 +0100 | mcglk | (~mcglk@131.191.49.120) (Read error: Connection reset by peer) |
2021-12-13 21:18:00 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-13 21:19:07 +0100 | mcglk | (~mcglk@131.191.49.120) |
2021-12-13 21:20:16 +0100 | coot | (~coot@2a02:a310:e03f:8500:933a:39ca:ef4e:37cb) |
2021-12-13 21:26:52 +0100 | bollu | (uid233390@id-233390.helmsley.irccloud.com) |
2021-12-13 21:27:41 +0100 | deadmarshal | (~deadmarsh@95.38.114.19) |
2021-12-13 21:29:01 +0100 | alx741 | (~alx741@181.199.42.79) |
2021-12-13 21:31:36 +0100 | Morrow | (~quassel@bzq-110-168-31-106.red.bezeqint.net) (Remote host closed the connection) |
2021-12-13 21:32:10 +0100 | deadmarshal | (~deadmarsh@95.38.114.19) (Ping timeout: 256 seconds) |
2021-12-13 21:36:29 +0100 | briandaed | (~root@185.234.208.208.r.toneticgroup.pl) |
2021-12-13 21:38:51 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) (Remote host closed the connection) |
2021-12-13 21:39:49 +0100 | Akiva | (~Akiva@user/Akiva) |
2021-12-13 21:39:50 +0100 | alx741 | (~alx741@181.199.42.79) (Read error: Connection reset by peer) |
2021-12-13 21:40:30 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 21:42:19 +0100 | <dminuoso> | EvanR: By the way, I ended up just closing the file before zip opened it. |
2021-12-13 21:42:29 +0100 | <dminuoso> | Cant for my life figure out why GHC gives me these file is locked errors here. |
2021-12-13 21:43:19 +0100 | <monochrom> | Is this on Windows? |
2021-12-13 21:43:36 +0100 | <dminuoso> | No, this is on Linux |
2021-12-13 21:43:41 +0100 | <monochrom> | Ah yikes. |
2021-12-13 21:44:24 +0100 | briandaed | (~root@185.234.208.208.r.toneticgroup.pl) (Quit: Lost terminal) |
2021-12-13 21:44:52 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 21:49:03 +0100 | <johnw> | anyone else noticed that foldl' f z xs is morally equivalent to execState (mapM_ f xs) z, where f :: a -> State b ()? |
2021-12-13 21:49:15 +0100 | <dminuoso> | openTempFile "/tmp" "foo.ext" >>= \(path, handle) -> openFile path ReadMode |
2021-12-13 21:49:20 +0100 | <dminuoso> | This is a quick reproducer |
2021-12-13 21:49:41 +0100 | <dminuoso> | I suspect there's some strange interaction between the way openTempFile obtains a file handle and the RTS locking code on `openFile` |
2021-12-13 21:49:49 +0100 | <johnw> | (though I may need a strictified version of State for that to be true) |
2021-12-13 21:49:55 +0100 | <dminuoso> | It's definitely a bug, just not sure whether its a documentation bug or a behavioral bug |
2021-12-13 21:51:11 +0100 | <dolio> | That's essentially the same observation as mapAccumL/R being mapM. |
2021-12-13 21:52:08 +0100 | fr33domlover | (~fr33@2.55.171.43) (Ping timeout: 268 seconds) |
2021-12-13 21:52:39 +0100 | <dolio> | Just where the output isn't interesting. |
2021-12-13 21:53:05 +0100 | <monochrom> | johnw: Yes, it is also how Jeremy Gibbons generalizes APL to all of (Traversable t, Representable t). |
2021-12-13 21:53:47 +0100 | <monochrom> | https://link.springer.com/chapter/10.1007/978-3-662-54434-1_21 |
2021-12-13 21:56:14 +0100 | <dminuoso> | let path = "./openfile.bug" in do { openFile path ReadWriteMode; openFile path ReadMode } |
2021-12-13 21:56:14 +0100 | Jing | (~hedgehog@2604:a840:3::10c8) (Remote host closed the connection) |
2021-12-13 21:56:18 +0100 | <dminuoso> | An even simpler reproducer |
2021-12-13 21:56:19 +0100 | lavaman | (~lavaman@98.38.249.169) |
2021-12-13 21:56:27 +0100 | <monochrom> | Err, (Applicative t, Traversable t, Representable t) |
2021-12-13 21:57:22 +0100 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3) |
2021-12-13 21:57:23 +0100 | <dminuoso> | The way I read 41.3.4 File locking, this should be permisseable |
2021-12-13 21:58:24 +0100 | <dminuoso> | Am I misreading the report? |
2021-12-13 21:59:39 +0100 | <dolio> | "there may either be many handles on the same file which manage input, or just one handle on the file which manages output" |
2021-12-13 21:59:51 +0100 | <dminuoso> | That or is meant exclusively, I presume? |
2021-12-13 21:59:51 +0100 | <dolio> | It sounds like one writer locks the file. |
2021-12-13 22:00:18 +0100 | Jing | (~hedgehog@2604:a840:3::10c8) |
2021-12-13 22:00:19 +0100 | <dolio> | I guess. |
2021-12-13 22:00:25 +0100 | <geekosaur> | yes |
2021-12-13 22:00:37 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 252 seconds) |
2021-12-13 22:00:38 +0100 | <geekosaur> | I read it the same way dolio does: the or is exclusive |
2021-12-13 22:00:56 +0100 | <dolio> | I mean, I might not read it that way, but that's clearly what GHC is doing. |
2021-12-13 22:01:15 +0100 | <dolio> | So, considering the actual behavior, that or is exclusive. |
2021-12-13 22:01:16 +0100 | <dminuoso> | "If any open or semi-closed handle is managing a file for output, no new handle can be allocated for that file" |
2021-12-13 22:01:23 +0100 | <geekosaur> | either … or is generally exclusive to me |
2021-12-13 22:01:34 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 22:01:54 +0100 | <dminuoso> | Okay, I think I kept reading it with the expectation to allow simultaneous multiple reader and one writer handle.. |
2021-12-13 22:02:21 +0100 | smartin | (~Thunderbi@88.135.18.171) (Remote host closed the connection) |
2021-12-13 22:02:40 +0100 | smartin | (~Thunderbi@88.135.18.171) |
2021-12-13 22:02:45 +0100 | cosimone` | (~user@93-47-228-207.ip115.fastwebnet.it) (Remote host closed the connection) |
2021-12-13 22:02:58 +0100 | acidjnk | (~acidjnk@p200300d0c7271e77ede7a7f9d267d612.dip0.t-ipconnect.de) |
2021-12-13 22:04:50 +0100 | cosimone | (~user@93-47-228-207.ip115.fastwebnet.it) |
2021-12-13 22:04:55 +0100 | <dolio> | That's also kind of a common concurrency pattern. Multiple readers at a time. Single writer at a time, and readers and writers block one another. |
2021-12-13 22:06:35 +0100 | coot | (~coot@2a02:a310:e03f:8500:933a:39ca:ef4e:37cb) (Quit: coot) |
2021-12-13 22:06:40 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-12-13 22:07:12 +0100 | <geekosaur> | problem is that behaves oddly with disk files as the writer may change what you just read or even delete it (see ftruncate) |
2021-12-13 22:07:34 +0100 | <geekosaur> | sockets and pipes are another story |
2021-12-13 22:08:47 +0100 | <geekosaur> | a reader may even have buffered data that no longer exists |
2021-12-13 22:08:47 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 22:10:07 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
2021-12-13 22:10:18 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-13 22:10:56 +0100 | AkechiShiro | (~licht@2a01:e0a:5f9:9681:1473:3dff:fe42:56a9) (Changing host) |
2021-12-13 22:10:56 +0100 | AkechiShiro | (~licht@user/akechishiro) |
2021-12-13 22:11:33 +0100 | <dolio> | Oh yeah, I guess with "either" in there I'd most likely read it as exclusive anyway. |
2021-12-13 22:15:48 +0100 | slice | (~slice@user/slice) |
2021-12-13 22:17:53 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) |
2021-12-13 22:21:14 +0100 | Morrow | (~quassel@bzq-110-168-31-106.red.bezeqint.net) |
2021-12-13 22:21:31 +0100 | nosewings | (~ngpc@2603-8081-3e05-e2d0-43bd-64a7-1221-490e.res6.spectrum.com) (Ping timeout: 252 seconds) |
2021-12-13 22:25:41 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 22:26:36 +0100 | Neuromancer | (~Neuromanc@user/neuromancer) (Remote host closed the connection) |
2021-12-13 22:26:37 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-13 22:28:58 +0100 | Morrow | (~quassel@bzq-110-168-31-106.red.bezeqint.net) (Remote host closed the connection) |
2021-12-13 22:30:00 +0100 | Morrow | (~quassel@bzq-110-168-31-106.red.bezeqint.net) |
2021-12-13 22:30:48 +0100 | nattiestnate | (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) (Quit: WeeChat 3.3) |
2021-12-13 22:37:20 +0100 | Akiva | (~Akiva@user/Akiva) (Ping timeout: 256 seconds) |
2021-12-13 22:39:28 +0100 | Akiva | (~Akiva@user/Akiva) |
2021-12-13 22:40:34 +0100 | cjb | (~cjb@user/cjb) |
2021-12-13 22:41:02 +0100 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2021-12-13 22:41:53 +0100 | <dmj`> | encodeStrict in aeson wouldn't be a bad idea |
2021-12-13 22:42:34 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 22:44:45 +0100 | dmenz | (~dmenz@2804:14d:5cd4:5e94::1) |
2021-12-13 22:47:36 +0100 | pfurla | (~pfurla@177.25.178.222) |
2021-12-13 22:48:25 +0100 | jgeerds | (~jgeerds@55d4ac73.access.ecotel.net) |
2021-12-13 22:48:45 +0100 | zer0bitz | (~zer0bitz@dsl-hkibng32-54fbfb-173.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-12-13 22:51:55 +0100 | Kauto | (~Kauto@wireless-student-pt10-182-232.lut.ac.uk) |
2021-12-13 22:52:09 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) (Remote host closed the connection) |
2021-12-13 22:53:38 +0100 | Midjak | (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep) |
2021-12-13 22:59:46 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:f458:37c0:1547:7436) |
2021-12-13 23:00:16 +0100 | alx741 | (~alx741@181.199.42.79) |
2021-12-13 23:01:19 +0100 | vicfred | (~vicfred@user/vicfred) |
2021-12-13 23:02:54 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-13 23:03:28 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-12-13 23:05:12 +0100 | jgeerds | (~jgeerds@55d4ac73.access.ecotel.net) (Remote host closed the connection) |
2021-12-13 23:05:24 +0100 | jgeerds | (~jgeerds@55d4ac73.access.ecotel.net) |
2021-12-13 23:10:09 +0100 | alx741 | (~alx741@181.199.42.79) (Read error: Connection reset by peer) |
2021-12-13 23:10:45 +0100 | alx741 | (~alx741@157.100.93.160) |
2021-12-13 23:11:44 +0100 | pavonia | (~user@user/siracusa) |
2021-12-13 23:11:58 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) |
2021-12-13 23:12:11 +0100 | azimut_ | (~azimut@gateway/tor-sasl/azimut) |
2021-12-13 23:13:19 +0100 | BrokenClutch | (~pioneer@2804:d41:c2b2:be00:da32:623d:efa3:7121) |
2021-12-13 23:13:21 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds) |
2021-12-13 23:13:57 +0100 | ees | (~user@pool-108-18-30-46.washdc.fios.verizon.net) |
2021-12-13 23:14:20 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-12-13 23:15:14 +0100 | InternetCitizen | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
2021-12-13 23:16:09 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-12-13 23:16:10 +0100 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) |
2021-12-13 23:16:25 +0100 | <BrokenClutch> | I know that this will sound dumb, but I developed a strong opinion about most haskell books (that I've read at least). |
2021-12-13 23:16:25 +0100 | <BrokenClutch> | They are holding hands too much, like "let's make a software together xoxo" (which is fine), I miss a little of cppreference on haskell, like: |
2021-12-13 23:16:25 +0100 | <BrokenClutch> | 1) Give definition of thing; 2) Give 4 to 6 examples in order from very simple/abstract things to very pratical and complex ones. |
2021-12-13 23:16:25 +0100 | <BrokenClutch> | Correct me if I'm wrong |
2021-12-13 23:16:53 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-12-13 23:18:47 +0100 | <jackdk> | BrokenClutch: I see what you're saying but I found when I was learning that the definitions are often just outside people's zones of proximal development. Also you can sometimes find that sort of stuff in haddocks rather than books. |
2021-12-13 23:19:12 +0100 | <dmj`> | BrokenClutch: hmm, which books are you referring to? I didn't see any xoxo in LYAH, but I might have overlooked that section ... I'd always go to the typeclassopedia instead of other books, unless its on RTS stuff |
2021-12-13 23:19:53 +0100 | <jackdk> | I think "xoxo" is referring to things like cute pictures (LYAH), goat jokes (HPFFP), etc. |
2021-12-13 23:20:35 +0100 | <jackdk> | For typeclasses in particular, I've had the most success with "here is a repeated pattern. here is a typeclass that captures the pattern. here are some operations you can write using only the typeclass. here is how those operations behave for each instance" |
2021-12-13 23:21:31 +0100 | <BrokenClutch> | jackdk: Me too |
2021-12-13 23:21:58 +0100 | <jackdk> | just pointing out that it's a an additional step before the cppreference-style stuff you were talking about |
2021-12-13 23:22:02 +0100 | <dsal> | BrokenClutch: haddock has all the definitions. It's pretty much all I use anymore. |
2021-12-13 23:22:19 +0100 | <Rembane> | Hoogle is the best. |
2021-12-13 23:22:42 +0100 | <BrokenClutch> | dmj: The best one was haskell in depth, it have those flaws that I've said but they've written good things about development |
2021-12-13 23:22:57 +0100 | <dsal> | Yeah, hoogle is great when you know what something looks like but don't know what it's called. |
2021-12-13 23:23:06 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 276 seconds) |
2021-12-13 23:23:09 +0100 | <BrokenClutch> | dsal: Too little information, I'm not saying that's bad. I'm just missing cppreference. |
2021-12-13 23:23:45 +0100 | <BrokenClutch> | I'm doing a combo of GHCI + hoogle + lambdabot + haskell report |
2021-12-13 23:24:00 +0100 | <dsal> | @hoogle a -> Maybe b -> Either a b |
2021-12-13 23:24:01 +0100 | <lambdabot> | Data.Either.Combinators maybeToRight :: b -> Maybe a -> Either b a |
2021-12-13 23:24:01 +0100 | <lambdabot> | Rebase.Prelude maybeToRight :: () => b -> Maybe a -> Either b a |
2021-12-13 23:24:01 +0100 | <lambdabot> | Network.Haskoin.Util maybeToEither :: b -> Maybe a -> Either b a |
2021-12-13 23:25:05 +0100 | <dsal> | I don't miss cppreference. There's a part of learning anything new that is disorienting. |
2021-12-13 23:25:06 +0100 | <dmj`> | BrokenClutch: Interesting, yea hackage might be best, or just .... raw source, that is probably the best tbh... back in my day we didn't have "books", we had broken haskell wiki links, darcs checkouts, cabal sandbox tarballs, and blue / white hackage pages w/ no source hyperlinks. |
2021-12-13 23:25:06 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-12-13 23:26:30 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-12-13 23:26:58 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-12-13 23:28:05 +0100 | ees | (~user@pool-108-18-30-46.washdc.fios.verizon.net) (Remote host closed the connection) |
2021-12-13 23:28:26 +0100 | <monochrom> | The Haskell 2010 Report has all the definitions, but no examples. |
2021-12-13 23:28:34 +0100 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-12-13 23:28:47 +0100 | <monochrom> | The blogosphere tutorials have all the examples, but no definition. |
2021-12-13 23:28:53 +0100 | <monochrom> | Ah, what if you read both. |
2021-12-13 23:30:12 +0100 | <BrokenClutch> | monochrom: I forgot to say what I'm doing to solve that! I've downloaded a lot of source codes, git-annex source is helping me a lot |
2021-12-13 23:30:15 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2021-12-13 23:30:56 +0100 | <BrokenClutch> | and when the people who write the definition write the examples too, everything becomes better connected |
2021-12-13 23:31:09 +0100 | <BrokenClutch> | bad comma, sorry |
2021-12-13 23:36:30 +0100 | michalz | (~michalz@185.246.204.122) (Remote host closed the connection) |
2021-12-13 23:36:31 +0100 | burnsidesLlama | (~burnsides@dhcp168-021.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-12-13 23:40:17 +0100 | smartin | (~Thunderbi@88.135.18.171) (Quit: smartin) |
2021-12-13 23:43:47 +0100 | Akiva | (~Akiva@user/Akiva) (Ping timeout: 250 seconds) |
2021-12-13 23:45:07 +0100 | jkaye | (~jkaye@2601:281:8300:7530:770c:7340:e88b:8722) (Ping timeout: 252 seconds) |
2021-12-13 23:45:31 +0100 | alx741 | (~alx741@157.100.93.160) (Read error: Connection reset by peer) |
2021-12-13 23:48:07 +0100 | pfurla[m] | (uid345156@id-345156.tinside.irccloud.com) |
2021-12-13 23:48:44 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-12-13 23:53:09 +0100 | BrokenClutch | (~pioneer@2804:d41:c2b2:be00:da32:623d:efa3:7121) () |
2021-12-13 23:55:37 +0100 | kranius_ | (~kranius@222.186.245.213.rev.sfr.net) |
2021-12-13 23:57:57 +0100 | emf | (~emf@2620:10d:c091:480::1:cbc8) (Ping timeout: 252 seconds) |