2024/06/22

2024-06-22 00:00:37 +0200ocra8(~ocra8@user/ocra8)
2024-06-22 00:00:49 +0200ocra8(~ocra8@user/ocra8) (Max SendQ exceeded)
2024-06-22 00:04:17 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-22 00:14:04 +0200tabemann_(~tabemann@2600:1700:7990:24e0:2412:852b:477a:286f)
2024-06-22 00:16:10 +0200tabemann(~tabemann@2600:1700:7990:24e0:2412:852b:477a:286f) (Ping timeout: 268 seconds)
2024-06-22 00:21:18 +0200falafel(~falafel@2a0c:5a87:3103:ec01::62b8)
2024-06-22 00:24:30 +0200philopsos1(~caecilius@user/philopsos) (Ping timeout: 268 seconds)
2024-06-22 00:25:51 +0200mud(~mud@user/kadoban) (Quit: quit)
2024-06-22 00:27:53 +0200falafel(~falafel@2a0c:5a87:3103:ec01::62b8) (Ping timeout: 268 seconds)
2024-06-22 00:28:38 +0200mud(~mud@user/kadoban)
2024-06-22 00:37:22 +0200philopsos1(~caecilius@user/philopsos)
2024-06-22 00:37:34 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-06-22 00:41:03 +0200sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 264 seconds)
2024-06-22 00:42:24 +0200falafel(~falafel@2a0c:5a87:3103:ec01::62b8)
2024-06-22 00:51:48 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2024-06-22 00:54:49 +0200phma(~phma@host-67-44-208-58.hnremote.net) (Read error: Connection reset by peer)
2024-06-22 00:55:32 +0200phma(phma@2001:5b0:210b:aea8:538c:529b:c69b:8275)
2024-06-22 00:59:23 +0200 <monochrom> Belated re: functor kaleidoscopes: Why would people prefer a broken analogy that takes half an hour to rationalize to just reading the definition that takes only five minutes? (OK rhetorical question. Answer: Not-Invented-Here.)
2024-06-22 01:02:18 +0200 <monochrom> The more constructive thing I can say is that I learned free monads by trying it on a few functors and playing with them to get the hang of what happens.
2024-06-22 01:02:30 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2024-06-22 01:03:01 +0200 <monochrom> One day I am adding "Learn by Playing" to one of my pedagogical slogans / statements of position.
2024-06-22 01:12:10 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 260 seconds)
2024-06-22 01:14:19 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2024-06-22 01:16:44 +0200ajr0d(~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net)
2024-06-22 01:18:09 +0200acidjnk_new3(~acidjnk@p200300d6e714dc0755a3999fc5d750b0.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2024-06-22 01:20:03 +0200 <ajr0d> Hi all, new to Haskell. I'm trying to run a web server via Scotty.  I've made a paste here, but formatting is gross and forgot to delete the top line m/b. https://paste.tomsmeding.com/eMeqZIb0
2024-06-22 01:21:00 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2024-06-22 01:24:51 +0200philopsos1(~caecilius@user/philopsos) (Ping timeout: 264 seconds)
2024-06-22 01:24:54 +0200dcoutts__(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net) (Ping timeout: 255 seconds)
2024-06-22 01:26:48 +0200 <cheater> cool! enjoy it
2024-06-22 01:28:26 +0200 <ajr0d> sorry, i should of made the point that i'm getting failures, yet i'm not sure what's causing them exactly.  i have added most context in that paste.
2024-06-22 01:32:58 +0200 <cheater> so this is just the stack
2024-06-22 01:33:12 +0200 <cheater> it's basically a wrapper around the software actually providing value, which is cabal
2024-06-22 01:33:15 +0200 <cheater> you want the cabal error
2024-06-22 01:33:20 +0200 <cheater> the last line tells you how to get it
2024-06-22 01:33:22 +0200 <cheater> look in there
2024-06-22 01:34:33 +0200philopsos1(~caecilius@user/philopsos)
2024-06-22 01:36:24 +0200 <ajr0d> the last line of my error output tells me how to get the cabal error, which i want? i'm confused
2024-06-22 01:39:27 +0200 <cheater> Process exited with code: ExitFailure 1
2024-06-22 01:39:27 +0200 <cheater> ````
2024-06-22 01:39:33 +0200 <cheater> no
2024-06-22 01:39:47 +0200 <cheater> here /Users/ajl/.stack/setup-exe-cache/aarch64-osx/Cabal-simple_6HauvNHV_3.10.3.0_ghc-9.6.5 --verbose=1 --builddir=.stack-work/dist/aarch64-osx/ghc-9.6.5 build lib:combatcalendar exe:combatcalendar-exe --ghc-options " -fdiagnostics-color=always"
2024-06-22 01:41:23 +0200philopsos1(~caecilius@user/philopsos) (Ping timeout: 252 seconds)
2024-06-22 01:42:28 +0200 <cheater> sorry a line is missing telling you to actually look at this thing
2024-06-22 01:42:30 +0200 <cheater> ANYWAYS
2024-06-22 01:42:37 +0200 <cheater> just look at what the last 4 lines of your paste say
2024-06-22 01:42:43 +0200 <cheater> they instruct you how to get the *actual* log
2024-06-22 01:42:56 +0200 <cheater> stop using stack, it's garbage and gets in the way
2024-06-22 01:42:59 +0200 <cheater> it's like rails
2024-06-22 01:43:14 +0200 <ajr0d> what should i use instead?
2024-06-22 01:43:24 +0200 <cheater> cabal
2024-06-22 01:51:26 +0200 <geekosaur> I'm not a stack proponent, but the actual error was clearly there in the original paste
2024-06-22 01:51:56 +0200 <ajr0d> Yeah using the cabal command it just gave me the similar output.
2024-06-22 01:52:05 +0200 <geekosaur> lines 89-97
2024-06-22 01:52:06 +0200 <ajr0d> i'm assuming i'm misisng an import statement of some sort
2024-06-22 01:55:11 +0200 <geekosaur> no, it's there since 0.21. what's your stack.yaml look like?
2024-06-22 01:55:30 +0200 <cheater> oh yeah, it was
2024-06-22 01:55:38 +0200 <cheater> i'm on a small screen, i literally only saw the last bit lol
2024-06-22 01:55:46 +0200 <ajr0d> i've made no changes to it, geekosaur. i'll add it to a paste for you one sec.
2024-06-22 01:55:57 +0200 <ajr0d> https://paste.tomsmeding.com/OK5UrgAV
2024-06-22 01:57:55 +0200[exa](~exa@user/exa/x-3587197) (Ping timeout: 268 seconds)
2024-06-22 01:57:59 +0200 <geekosaur> that resolver has scotty 0.20.1, you need at least 0.21 to have pathParam
2024-06-22 01:58:27 +0200 <geekosaur> you have to use param instead of pathParam
2024-06-22 01:58:50 +0200 <ajr0d> oops. is it easy to update?
2024-06-22 01:58:57 +0200 <geekosaur> no
2024-06-22 01:59:06 +0200 <cheater> yeah.. use cabal
2024-06-22 01:59:13 +0200 <geekosaur> looks like there's no LTS with a later scotty; you'd need to use an extra-dep
2024-06-22 01:59:18 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: Leaving)
2024-06-22 01:59:32 +0200 <ajr0d> okay i'll use cabal lol
2024-06-22 01:59:46 +0200 <geekosaur> (aside from nightly, which is "experts only" territory)
2024-06-22 01:59:49 +0200 <cheater> rare W
2024-06-22 02:00:21 +0200 <geekosaur> actually the example for 0.20.1 says captureParam, not pathParam
2024-06-22 02:01:38 +0200talismanick(~user@2601:644:937c:ed10::ae5)
2024-06-22 02:02:02 +0200 <yushyin> wouldn't be wrong to just use 0.20.1 and captureParam if you don't want to worry about cabal or extra-dep for now
2024-06-22 02:02:25 +0200 <geekosaur> ^
2024-06-22 02:03:26 +0200 <cheater> yup
2024-06-22 02:04:47 +0200 <geekosaur> if you're using stack, you generally don't want to go to hackage unless you're looking for an extra-dep. you want to go to stackage.org and look up the specific resolver you're using, so you get the versions of packages in that resolver
2024-06-22 02:06:56 +0200 <ajr0d> ty everyone! i got it working and localhost:3000 works
2024-06-22 02:07:04 +0200euleritian(~euleritia@dynamic-176-007-158-013.176.7.pool.telefonica.de) (Ping timeout: 246 seconds)
2024-06-22 02:07:22 +0200henry40408(~henry4040@175.182.111.183) (Quit: Ping timeout (120 seconds))
2024-06-22 02:07:49 +0200henry40408(~henry4040@175.182.111.183)
2024-06-22 02:14:43 +0200ajr0d(~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Ping timeout: 250 seconds)
2024-06-22 02:17:09 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-06-22 02:28:27 +0200yin(~yin@user/zero) (Ping timeout: 264 seconds)
2024-06-22 02:34:43 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 246 seconds)
2024-06-22 02:40:33 +0200euleritian(~euleritia@dynamic-176-005-131-201.176.5.pool.telefonica.de)
2024-06-22 02:41:59 +0200causal(~eric@50.35.88.207)
2024-06-22 02:46:33 +0200yin(~yin@user/zero)
2024-06-22 02:56:29 +0200sp1ff(~user@c-73-11-70-111.hsd1.wa.comcast.net)
2024-06-22 03:00:53 +0200falafel(~falafel@2a0c:5a87:3103:ec01::62b8) (Ping timeout: 256 seconds)
2024-06-22 03:02:23 +0200RedFlamingos(~RedFlamin@user/RedFlamingos) (Ping timeout: 264 seconds)
2024-06-22 03:09:15 +0200yin(~yin@user/zero) (Ping timeout: 264 seconds)
2024-06-22 03:12:22 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-06-22 03:15:47 +0200yin(~yin@user/zero)
2024-06-22 03:15:48 +0200dysthesis(~dysthesis@user/dysthesis)
2024-06-22 03:18:53 +0200philopsos1(~caecilius@user/philopsos)
2024-06-22 03:29:59 +0200philopsos1(~caecilius@user/philopsos) (Ping timeout: 264 seconds)
2024-06-22 03:32:35 +0200yin(~yin@user/zero) (Ping timeout: 268 seconds)
2024-06-22 03:33:20 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2024-06-22 03:37:35 +0200philopsos1(~caecilius@user/philopsos)
2024-06-22 03:38:54 +0200yin(~yin@user/zero)
2024-06-22 03:42:58 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-06-22 03:43:22 +0200philopsos1(~caecilius@user/philopsos) (Ping timeout: 268 seconds)
2024-06-22 03:44:25 +0200caconym(~caconym@user/caconym)
2024-06-22 03:44:56 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
2024-06-22 03:46:23 +0200madhavanmiui(~madhavanm@2409:40f4:204c:9413:8000::)
2024-06-22 03:47:06 +0200madhavanmiui(~madhavanm@2409:40f4:204c:9413:8000::) (Client Quit)
2024-06-22 03:49:18 +0200 <cheater> nice
2024-06-22 03:49:23 +0200 <cheater> oh he left
2024-06-22 03:49:26 +0200 <cheater> :(
2024-06-22 03:50:02 +0200 <cheater> wtf is a "combat calendar" anyways
2024-06-22 03:50:24 +0200 <cheater> EVERYTHING you need & want in one place for BOXING & MMA FIGHT Information! ‍♂️ Fight Cards, Fight Times, Where To Watch & More! #thecombatcalendar.
2024-06-22 03:50:24 +0200 <geekosaur> sounds SCAish to me…
2024-06-22 03:50:32 +0200 <cheater> what's SCA?
2024-06-22 03:50:41 +0200 <geekosaur> society for creative anachronism
2024-06-22 03:50:51 +0200 <cheater> oh larpers
2024-06-22 03:51:08 +0200 <cheater> https://www.facebook.com › nzcombatcalendar
2024-06-22 03:51:08 +0200 <cheater> The Combat Calendar is a central place that plans and describes the things we all love to do. It also shows what is going on in your area!
2024-06-22 03:51:14 +0200 <cheater> what do you know
2024-06-22 03:51:29 +0200 <cheater> so it's either that or pugilism.
2024-06-22 03:51:39 +0200 <cheater> good to know haskell is being used where it matters
2024-06-22 03:54:26 +0200 <geekosaur> if it matters to them, then it matters
2024-06-22 03:54:39 +0200 <geekosaur> you'd prefer it be used for actual warfare?
2024-06-22 03:54:47 +0200 <cheater> we have that already
2024-06-22 03:55:38 +0200 <cheater> some of the most prominent haskell companies sponsor genocide in the strip, so
2024-06-22 03:57:32 +0200 <cheater> oops sorry i guess the PC term for that is "getting a tax break"
2024-06-22 03:59:53 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2024-06-22 04:08:15 +0200philopsos1(~caecilius@user/philopsos)
2024-06-22 04:36:58 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2024-06-22 04:37:51 +0200madhavanmiui(~madhavanm@2409:40f4:204c:9413:8000::)
2024-06-22 04:38:20 +0200madhavanmiui(~madhavanm@2409:40f4:204c:9413:8000::) (Client Quit)
2024-06-22 04:39:19 +0200joeyadams(~joeyadams@2603:6010:5100:2ed:5115:fcfa:a4c4:f2c6)
2024-06-22 04:53:17 +0200td_(~td@i53870921.versanet.de) (Ping timeout: 240 seconds)
2024-06-22 04:55:11 +0200td_(~td@i5387090B.versanet.de)
2024-06-22 05:00:01 +0200acontext(~acontext@user/acontext) (Quit: connection reset by purr)
2024-06-22 05:00:16 +0200acontext(~acontext@user/acontext)
2024-06-22 05:19:12 +0200joeyadams(~joeyadams@2603:6010:5100:2ed:5115:fcfa:a4c4:f2c6) (Quit: Leaving)
2024-06-22 05:23:34 +0200hgolden(~hgolden@2603:8000:9d00:3ed1:2678:8497:aa5c:7fa9) (Remote host closed the connection)
2024-06-22 05:25:15 +0200hgolden(~hgolden@2603:8000:9d00:3ed1:2678:8497:aa5c:7fa9)
2024-06-22 05:27:15 +0200dysthesis(~dysthesis@user/dysthesis) (Quit: dysthesis)
2024-06-22 05:42:02 +0200aforemny_(~aforemny@i59F516E5.versanet.de)
2024-06-22 05:42:45 +0200gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-06-22 05:43:27 +0200aforemny(~aforemny@2001:9e8:6cc8:d500:4601:9954:5a57:3fa8) (Ping timeout: 264 seconds)
2024-06-22 05:46:42 +0200gorignak(~gorignak@user/gorignak)
2024-06-22 06:13:15 +0200madhavanmiui(~madhavanm@2409:40f4:204c:9413:8000::)
2024-06-22 06:30:40 +0200andrei_n(~andrei_n@user/andrei-n:62396)
2024-06-22 06:31:39 +0200talismanick(~user@2601:644:937c:ed10::ae5) (Remote host closed the connection)
2024-06-22 06:33:49 +0200madhavanmiui(~madhavanm@2409:40f4:204c:9413:8000::) (Quit: Quit)
2024-06-22 06:34:19 +0200xdminsy(~xdminsy@117.147.70.231)
2024-06-22 06:34:48 +0200rdcdr_(~rdcdr@75-172-82-63.tukw.qwest.net) (Ping timeout: 268 seconds)
2024-06-22 06:36:35 +0200rdcdr(~rdcdr@user/rdcdr)
2024-06-22 06:42:14 +0200philopsos1(~caecilius@user/philopsos) (Ping timeout: 252 seconds)
2024-06-22 06:43:27 +0200rdcdr(~rdcdr@user/rdcdr) (Ping timeout: 264 seconds)
2024-06-22 06:45:06 +0200rdcdr(~rdcdr@user/rdcdr)
2024-06-22 06:47:58 +0200rdcdr(~rdcdr@user/rdcdr) (Client Quit)
2024-06-22 06:50:02 +0200rdcdr(~rdcdr@user/rdcdr)
2024-06-22 06:54:42 +0200philopsos1(~caecilius@user/philopsos)
2024-06-22 07:01:20 +0200soverysour(~soverysou@188.27.2.34)
2024-06-22 07:01:20 +0200soverysour(~soverysou@188.27.2.34) (Changing host)
2024-06-22 07:01:20 +0200soverysour(~soverysou@user/soverysour)
2024-06-22 07:07:30 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-06-22 07:08:12 +0200caconym(~caconym@user/caconym) (Read error: Connection reset by peer)
2024-06-22 07:08:23 +0200caconym(~caconym@user/caconym)
2024-06-22 07:10:29 +0200euphores(~SASL_euph@user/euphores)
2024-06-22 07:15:00 +0200yin(~yin@user/zero) (Ping timeout: 255 seconds)
2024-06-22 07:15:36 +0200andrei_n(~andrei_n@user/andrei-n:62396) (Quit: Leaving)
2024-06-22 07:38:00 +0200rosco(~rosco@175.136.155.137)
2024-06-22 07:38:29 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 240 seconds)
2024-06-22 07:47:01 +0200dcoutts__(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net)
2024-06-22 07:48:03 +0200soverysour(~soverysou@188.27.2.34)
2024-06-22 07:48:03 +0200soverysour(~soverysou@188.27.2.34) (Changing host)
2024-06-22 07:48:03 +0200soverysour(~soverysou@user/soverysour)
2024-06-22 07:58:35 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2024-06-22 08:10:09 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 256 seconds)
2024-06-22 08:13:58 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2024-06-22 08:22:05 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-22 08:23:35 +0200soverysour(~soverysou@188.27.2.34)
2024-06-22 08:23:35 +0200soverysour(~soverysou@188.27.2.34) (Changing host)
2024-06-22 08:23:35 +0200soverysour(~soverysou@user/soverysour)
2024-06-22 08:23:57 +0200philopsos1(~caecilius@user/philopsos) (Ping timeout: 268 seconds)
2024-06-22 08:37:14 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-06-22 09:02:12 +0200acidjnk_new3(~acidjnk@p200300d6e714dc8680d285e9fe77a56f.dip0.t-ipconnect.de)
2024-06-22 09:13:34 +0200ajr0d(~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net)
2024-06-22 09:13:48 +0200ajr0d(~ajr0d@cpc111119-wiga14-2-0-cust433.18-3.cable.virginm.net) (Client Quit)
2024-06-22 09:20:53 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-06-22 09:21:11 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 252 seconds)
2024-06-22 09:21:17 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-06-22 09:28:47 +0200euphores(~SASL_euph@user/euphores)
2024-06-22 09:29:29 +0200euleritian(~euleritia@dynamic-176-005-131-201.176.5.pool.telefonica.de) (Ping timeout: 256 seconds)
2024-06-22 09:30:10 +0200euleritian(~euleritia@dynamic-176-001-229-012.176.1.pool.telefonica.de)
2024-06-22 09:30:57 +0200 <haskellbridge> <sm> cheater that's a ton of stack bashing when all that was needed was to specify the version of scotty required
2024-06-22 09:32:29 +0200 <haskellbridge> <sm> * lot
2024-06-22 09:33:38 +0200dcoutts__(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net) (Ping timeout: 268 seconds)
2024-06-22 09:35:26 +0200rlj(~rlj@194-218-34-180.customer.telia.com)
2024-06-22 09:36:17 +0200rlj(~rlj@194-218-34-180.customer.telia.com) (Client Quit)
2024-06-22 09:37:05 +0200dcoutts__(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net)
2024-06-22 09:37:10 +0200soverysour(~soverysou@user/soverysour)
2024-06-22 09:50:28 +0200dolio(~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in)
2024-06-22 09:52:12 +0200dolio(~dolio@130.44.134.54)
2024-06-22 09:55:52 +0200dolio(~dolio@130.44.134.54) (Client Quit)
2024-06-22 09:59:39 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-22 10:01:03 +0200dolio(~dolio@130.44.134.54)
2024-06-22 10:04:44 +0200target_i(~target_i@user/target-i/x-6023099)
2024-06-22 10:05:50 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-22 10:09:17 +0200euleritian(~euleritia@dynamic-176-001-229-012.176.1.pool.telefonica.de) (Ping timeout: 240 seconds)
2024-06-22 10:16:11 +0200dolio(~dolio@130.44.134.54) (Ping timeout: 260 seconds)
2024-06-22 10:17:17 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 240 seconds)
2024-06-22 10:19:19 +0200dcoutts__(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net) (Remote host closed the connection)
2024-06-22 10:19:44 +0200dcoutts__(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net)
2024-06-22 10:22:51 +0200JamesMowery(~JamesMowe@ip98-167-207-182.ph.ph.cox.net) (Read error: Connection reset by peer)
2024-06-22 10:23:16 +0200JamesMowery(~JamesMowe@ip98-167-207-182.ph.ph.cox.net)
2024-06-22 10:23:28 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-06-22 10:25:31 +0200xal(~xal@mx1.xal.systems) (Ping timeout: 260 seconds)
2024-06-22 10:25:32 +0200dcoutts__(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net) (Ping timeout: 252 seconds)
2024-06-22 10:26:43 +0200xal(~xal@mx1.xal.systems)
2024-06-22 10:28:14 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
2024-06-22 10:29:01 +0200oneeyedalien(~oneeyedal@user/oneeyedalien)
2024-06-22 10:34:06 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2024-06-22 10:41:48 +0200lxsameer(~lxsameer@Serene/lxsameer)
2024-06-22 10:48:31 +0200rosco(~rosco@175.136.155.137) (Remote host closed the connection)
2024-06-22 10:55:07 +0200mreh(~matthew@host86-160-168-12.range86-160.btcentralplus.com)
2024-06-22 10:56:23 +0200 <mreh> does stack run some kind of daemon process?? I just rebooted, edited a package.yaml file and the generated .cabal file was updated.
2024-06-22 10:56:46 +0200 <mreh> Could HLS do that?
2024-06-22 10:59:18 +0200euleritian(~euleritia@dynamic-176-003-073-005.176.3.pool.telefonica.de)
2024-06-22 11:09:37 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-06-22 11:11:23 +0200euleritian(~euleritia@dynamic-176-003-073-005.176.3.pool.telefonica.de) (Ping timeout: 264 seconds)
2024-06-22 11:14:35 +0200 <jackdk> Honestly, I don't bother with hpack (package.yaml). It seems like an additional moving part for dubious benefit, given how much modern cabal has improved
2024-06-22 11:15:00 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2024-06-22 11:15:08 +0200 <mreh> jackdk: seems to be the way now
2024-06-22 11:15:10 +0200 <jackdk> I think stack does co-ordinate running hpack or not, and probably is smart enough to do so in its file-watch mode
2024-06-22 11:15:33 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2024-06-22 11:21:53 +0200 <lyxia> it
2024-06-22 11:22:32 +0200 <lyxia> it's just the default template in stack new, it's easy to just remove it (from the template or from individual projects manually)
2024-06-22 11:41:57 +0200euleritian(~euleritia@dynamic-176-005-128-104.176.5.pool.telefonica.de)
2024-06-22 11:43:58 +0200morpho(~user@87.114.27.62)
2024-06-22 11:45:00 +0200sawilagar(~sawilagar@user/sawilagar)
2024-06-22 11:47:06 +0200 <morpho> the only programming languages I know well are C and shell. Would haskell be a good second language? I need to be write a SSR web app and im not doing it in C hahah.
2024-06-22 11:48:13 +0200CiaoSen(~Jura@2a05:5800:29e:3c00:e6b9:7aff:fe80:3d03)
2024-06-22 11:52:17 +0200 <Rembane> morpho: What's SSR?
2024-06-22 11:52:39 +0200 <jackdk> What do you mean by "need" and "SSR"? If you have short deadlines and need to interop with standard frontend stuff, you might struggle because there's going to be a lot to learn. If you want to really expand your perspective on programming and learn a great general-purpose language, then Haskell is great for that. But the paradigm shift can be hard for some people.
2024-06-22 11:53:00 +0200CiaoSen(~Jura@2a05:5800:29e:3c00:e6b9:7aff:fe80:3d03) (Ping timeout: 268 seconds)
2024-06-22 11:53:13 +0200 <Rembane> What jackdk said + don't be in a hurry
2024-06-22 11:53:50 +0200 <morpho> server side rendering, so using templates to generate html to return
2024-06-22 11:54:39 +0200 <haskellbridge> <maralorn> People say that learning Haskell after C might be harder then learning it without programming experience. I don't know if that's really true though.
2024-06-22 11:55:23 +0200 <jackdk> If you're just generating pages and forms with a bit of interactivity, that's pretty doable. Some people use "SSR" to mean "pre-rendering some of their HTML with the same JS that drives an SPA". I think the most recent wave of interest in Haskell-flavoured webdev is to touch the JS world as little as possible using a library like HTMX
2024-06-22 11:56:21 +0200 <morpho> I need a paradigm shift. I loved C because it relates so much to how a computer actually works. I do a lot of graphics stuff where It makes sense to have that attention to memory management
2024-06-22 11:56:27 +0200 <jackdk> The "servant" family of libraries is fantastic for building type-safe APIs, but see what I said earlier about it being at the end of a long journey (it uses some fairly advanced features).
2024-06-22 11:56:44 +0200 <haskellbridge> <maralorn> I'd agree that Haskell is a very good tool for that job.
2024-06-22 11:57:09 +0200 <jackdk> There's a chance that the IHP project might be all right to start with (it's trying to provide rails-ish integrated webdev for Haskell), but I haven't played with it very much and haven't seen how new Haskellers take to it.
2024-06-22 11:57:17 +0200 <haskellbridge> <maralorn> And I think it's a nice kind of project to get started with Haskell.
2024-06-22 11:57:50 +0200 <jackdk> Also, it was once said that "LISP is worth learning for a different reason — the profound enlightenment experience you will have when you finally get it. That experience will make you a better programmer for the rest of your days, even if you never actually use LISP itself a lot." I believe this is also true for Haskell
2024-06-22 11:58:01 +0200 <morpho> jackdk: htmx is interesting. I have messed around with it in golang
2024-06-22 11:58:12 +0200 <Rembane> morpho: Are you going to talk to a database?
2024-06-22 11:58:24 +0200 <haskellbridge> <maralorn> But you will probably need longer for liftoff than e.g. with python.
2024-06-22 11:59:17 +0200 <jackdk> Which brings me back to "what do you mean by 'need'?" — I think text-mode games are a great place to start when learning languages, unless they're specifically web-focused.
2024-06-22 11:59:56 +0200 <morpho> how is haskell for prototyping? I understand the learning curve is steeper but if I can deliver a working prototype faster that is the main thing that I sturggle with using C, no matter how proficient i become in it
2024-06-22 12:00:06 +0200 <jackdk> Because they can grow smoothly alongside the learner's knowledge and you don't have to deal with databases and other complex bits until you're ready. Sometimes starting a web project involves learning to see the elephant from all angles, so to speak
2024-06-22 12:00:18 +0200euleritian(~euleritia@dynamic-176-005-128-104.176.5.pool.telefonica.de) (Ping timeout: 255 seconds)
2024-06-22 12:01:27 +0200 <morpho> most of my programming projects are with Vulkan, like 3D graphics stuff, so maybe rewriting some of that stuff may be a good way to learn haskell?
2024-06-22 12:01:34 +0200 <sprout> morpho: it all depends. semi-proficient functional programmers will throw together prototypes in no time, but your problem will be to become a semi-proficient functional programmer first
2024-06-22 12:01:59 +0200 <sprout> I really don't know how hard that is, or is for you
2024-06-22 12:02:23 +0200 <jackdk> Prototyping: depends on how well you know it, but I find it a great tool to sketch thoughts and refine them towards programs. I saw a conference talk years ago from a guy who wrote signal processing filters in Haskell for marine radars. Once he was happy with their results, he ported them to C++ and used a property-testing library like QuickCheck to ensure that they behaved the same as each other.
2024-06-22 12:02:48 +0200 <morpho> jackdk: that is interesting!
2024-06-22 12:03:17 +0200 <morpho> I was going to use filesystem as database, like text files.
2024-06-22 12:03:22 +0200 <jackdk> As for Vulkan/3D, I haven't checked what libraries are available but someone made and sold a 2d-hack-n-slash on steam written in Haskell: https://github.com/incoherentsoftware/defect-process
2024-06-22 12:03:37 +0200 <jackdk> A filesystem is a pretty good DB when you're starting out
2024-06-22 12:04:20 +0200 <morpho> well parsing text files is haskells strong points no?
2024-06-22 12:04:29 +0200 <jackdk> Also #haskell-game exists, though I expect many of its members are in here too. But maybe you can get some Vulkan-specific help if you need there?
2024-06-22 12:04:39 +0200 <morpho> thanks everyone!
2024-06-22 12:04:40 +0200 <jackdk> Yeah it's a lovely language for parsing data
2024-06-22 12:06:56 +0200 <morpho> and I find myself now writing programs or macros to generate C for me, so I was quite interested in lisp for its ability to easily mutate or write itself. I don't know what the proper term for this pattern is.
2024-06-22 12:07:37 +0200 <jackdk> "metaprogramming", I think - programs that write programs.
2024-06-22 12:08:58 +0200sprout(~quassel@2a02-a448-3a80-0-3430-92e6-1565-73f9.fixed6.kpn.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2024-06-22 12:09:21 +0200sprout(~quassel@2a02-a448-3a80-0-3430-92e6-1565-73f9.fixed6.kpn.net)
2024-06-22 12:09:39 +0200 <morpho> thankyou for your insights!
2024-06-22 12:12:04 +0200 <morpho> sounds like haskell will be the breath of fresh air I needed. Its embarassing I only know C after 8 years of programming. I can now think in blinkenlights
2024-06-22 12:16:42 +0200lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 256 seconds)
2024-06-22 12:22:10 +0200euleritian(~euleritia@dynamic-176-005-132-183.176.5.pool.telefonica.de)
2024-06-22 12:23:30 +0200dcoutts__(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net)
2024-06-22 12:31:26 +0200euleritian(~euleritia@dynamic-176-005-132-183.176.5.pool.telefonica.de) (Ping timeout: 256 seconds)
2024-06-22 12:37:22 +0200euleritian(~euleritia@dynamic-176-005-133-157.176.5.pool.telefonica.de)
2024-06-22 12:39:46 +0200henry40408(~henry4040@175.182.111.183) (Quit: Ping timeout (120 seconds))
2024-06-22 12:40:15 +0200henry40408(~henry4040@175.182.111.183)
2024-06-22 12:55:39 +0200soverysour(~soverysou@user/soverysour)
2024-06-22 12:57:26 +0200madhavanmiui(~madhavanm@2409:40f4:10f8:5092:8000::)
2024-06-22 13:04:09 +0200__monty__(~toonn@user/toonn)
2024-06-22 13:13:54 +0200madhavanmiui(~madhavanm@2409:40f4:10f8:5092:8000::) (Read error: Connection reset by peer)
2024-06-22 13:14:07 +0200mreh(~matthew@host86-160-168-12.range86-160.btcentralplus.com) (Quit: Lost terminal)
2024-06-22 13:26:15 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 255 seconds)
2024-06-22 13:27:22 +0200soverysour(~soverysou@81.196.150.219)
2024-06-22 13:27:22 +0200soverysour(~soverysou@81.196.150.219) (Changing host)
2024-06-22 13:27:22 +0200soverysour(~soverysou@user/soverysour)
2024-06-22 13:30:14 +0200 <duncan> of lisp and metaprog: https://www.paulgraham.com/avg.html
2024-06-22 13:34:45 +0200down200(~down200@shell.lug.mtu.edu) (Ping timeout: 268 seconds)
2024-06-22 13:34:54 +0200Square(~Square@user/square) (Ping timeout: 256 seconds)
2024-06-22 13:37:20 +0200down200(~down200@shell.lug.mtu.edu)
2024-06-22 13:42:50 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-06-22 13:43:11 +0200euphores(~SASL_euph@user/euphores)
2024-06-22 13:43:31 +0200solaire(~solaire@fp74528110.tkyc408.ap.nuro.jp)
2024-06-22 13:51:41 +0200billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe)
2024-06-22 13:52:40 +0200zetef(~quassel@2a02:2f00:5202:1200:3fa2:e908:b522:fa2f)
2024-06-22 13:52:47 +0200zetef(~quassel@2a02:2f00:5202:1200:3fa2:e908:b522:fa2f) (Client Quit)
2024-06-22 13:56:50 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-06-22 13:58:56 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-06-22 14:00:27 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
2024-06-22 14:01:10 +0200rosco(~rosco@175.136.155.137)
2024-06-22 14:01:53 +0200down200(~down200@shell.lug.mtu.edu) (Ping timeout: 268 seconds)
2024-06-22 14:05:39 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-22 14:05:48 +0200down200(~down200@shell.lug.mtu.edu)
2024-06-22 14:10:13 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 268 seconds)
2024-06-22 14:14:32 +0200soverysour(~soverysou@user/soverysour)
2024-06-22 14:17:59 +0200euleritian(~euleritia@dynamic-176-005-133-157.176.5.pool.telefonica.de) (Ping timeout: 264 seconds)
2024-06-22 14:22:05 +0200pera(~pera@user/pera)
2024-06-22 14:23:48 +0200euleritian(~euleritia@dynamic-176-004-138-095.176.4.pool.telefonica.de)
2024-06-22 14:33:21 +0200down200(~down200@shell.lug.mtu.edu) (Ping timeout: 256 seconds)
2024-06-22 14:34:15 +0200 <cheater> morpho: homoiconicity
2024-06-22 14:34:28 +0200 <cheater> and self-modifying code
2024-06-22 14:34:34 +0200 <cheater> are the two terms you want to look up
2024-06-22 14:35:30 +0200down200(~down200@shell.lug.mtu.edu)
2024-06-22 14:37:21 +0200euleritian(~euleritia@dynamic-176-004-138-095.176.4.pool.telefonica.de) (Ping timeout: 268 seconds)
2024-06-22 14:41:13 +0200solaire(~solaire@fp74528110.tkyc408.ap.nuro.jp) (Ping timeout: 272 seconds)
2024-06-22 14:42:15 +0200solaire(~solaire@2400:4050:aea2:2d00:839d:1c37:ef5d:95b7)
2024-06-22 14:45:10 +0200down200(~down200@shell.lug.mtu.edu) (Ping timeout: 256 seconds)
2024-06-22 14:45:17 +0200__monty__(~toonn@user/toonn) (Ping timeout: 240 seconds)
2024-06-22 14:45:28 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2024-06-22 14:47:31 +0200down200(~down200@shell.lug.mtu.edu)
2024-06-22 14:49:36 +0200gmg(~user@user/gehmehgeh)
2024-06-22 14:52:21 +0200acontext(~acontext@user/acontext) ()
2024-06-22 15:00:12 +0200__monty__(~toonn@user/toonn)
2024-06-22 15:00:33 +0200fun-safe-math(~fun-safe-@24.21.106.247) (Read error: Connection reset by peer)
2024-06-22 15:07:11 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 264 seconds)
2024-06-22 15:11:17 +0200oneeyedalien(~oneeyedal@user/oneeyedalien) (Quit: Leaving)
2024-06-22 15:12:06 +0200soverysour(~soverysou@81.196.150.219)
2024-06-22 15:12:06 +0200soverysour(~soverysou@81.196.150.219) (Changing host)
2024-06-22 15:12:06 +0200soverysour(~soverysou@user/soverysour)
2024-06-22 15:12:36 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-22 15:13:10 +0200 <haskellbridge> <sm> welcome morpho
2024-06-22 15:15:06 +0200sm(~znc@plaintextaccounting/sm)
2024-06-22 15:17:01 +0200__monty__(~toonn@user/toonn) (Ping timeout: 246 seconds)
2024-06-22 15:17:07 +0200myme(~myme@2a01:799:d5c:5f00:33d4:3d73:88f6:3af4) (Ping timeout: 268 seconds)
2024-06-22 15:20:21 +0200dsrt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection)
2024-06-22 15:23:06 +0200euleritian(~euleritia@dynamic-176-005-134-119.176.5.pool.telefonica.de)
2024-06-22 15:24:55 +0200stef204(~stef204@user/stef204)
2024-06-22 15:25:31 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-22 15:25:41 +0200 <cheater> aye, welcome
2024-06-22 15:27:17 +0200euleritian(~euleritia@dynamic-176-005-134-119.176.5.pool.telefonica.de) (Ping timeout: 240 seconds)
2024-06-22 15:39:06 +0200Feuermagier(~Feuermagi@user/feuermagier)
2024-06-22 15:40:48 +0200morpho(~user@87.114.27.62) (Ping timeout: 255 seconds)
2024-06-22 15:53:07 +0200myme(~myme@40.51-175-185.customer.lyse.net)
2024-06-22 15:58:59 +0200 <duncan> metaprogramming is fraught with danger but it lets one write terse and rather elegant code. I guess with Lisp the advantage of it is that the program structure is the AST. In Elixir we have full access to the AST, with TH I don't think we've got the same thing, but I never really dabbled that much in Te
2024-06-22 15:59:02 +0200 <duncan> in TH*
2024-06-22 15:59:41 +0200 <duncan> most programming languages can be summarised as YASL: "Yet Another Shitty Lisp"
2024-06-22 16:00:44 +0200 <c_wraith> TH doesn't give you access to the AST of anything that isn't explicitly quoted.
2024-06-22 16:00:47 +0200 <jackdk> aka "Greenspun's Tenth Rule"
2024-06-22 16:04:26 +0200 <c_wraith> Huh. TH does give you access to the AST of data types. And where it would give you access to the AST of other definitions, it has this note: "At present, this value is always Nothing: returning the RHS has not yet been implemented because of lack of interest."
2024-06-22 16:07:13 +0200 <eugenrh> So is Lisp more powerful than Haskell?
2024-06-22 16:08:01 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-22 16:10:23 +0200 <jackdk> I think you'd have to clarify what you mean by "more powerful" to have a shot at answering that question sensibly: a lot of things lisps use macros for (e.g., even something as simple as `and`) have much simpler implementations because of the tools Haskell gives you, like lazy evaluation
2024-06-22 16:10:23 +0200 <c_wraith> Well, it doesn't have a type system that generates code for you....
2024-06-22 16:11:41 +0200 <c_wraith> also, there's that tiny detail that "lisp" isn't a programming language. It's a family of about 100000 languages which vary significantly between them
2024-06-22 16:14:55 +0200 <eugenrh> From the article posted by duncan, quote: " Lisp is so great not because of some magic quality visible only to devotees, but because it is simply the most powerful language available." (year 2001, updated 2003, it seems)
2024-06-22 16:16:15 +0200 <eugenrh> I don't know Lisp and I'm learning (sloooowwwly) Haskell..
2024-06-22 16:16:47 +0200Feuermagier_(~Feuermagi@user/feuermagier)
2024-06-22 16:16:47 +0200Feuermagier(~Feuermagi@user/feuermagier) (Killed (zinc.libera.chat (Nickname regained by services)))
2024-06-22 16:16:47 +0200Feuermagier_Feuermagier
2024-06-22 16:17:38 +0200Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2024-06-22 16:23:30 +0200 <c_wraith> One other detail for consideration: Not all power is good. In fact, a lot of why I like Haskell is that there are a bunch of things that the language forbids doing (unless you use constructs that are explicitly marked as unsafe and documented as "you will break everything unless you know exactly what you're doing")
2024-06-22 16:26:15 +0200rdcdr(~rdcdr@user/rdcdr) (Ping timeout: 255 seconds)
2024-06-22 16:35:39 +0200morpho(~user@87.114.27.62)
2024-06-22 16:36:21 +0200 <morpho> duncan: that article by paul graham is good
2024-06-22 16:38:42 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-22 16:44:31 +0200 <probie> c_wraith: If someone says lisp (and clearly means a concrete language), I tend to assume that they mean common lisp, because users of common lisp just call it lisp.
2024-06-22 16:46:47 +0200rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-06-22 16:47:17 +0200rvalue(~rvalue@user/rvalue)
2024-06-22 16:47:43 +0200joeyadams(~joeyadams@2603:6010:5100:2ed:89a1:b665:e407:6673)
2024-06-22 16:50:09 +0200 <duncan> probie: the best Lisp literature is about Scheme though (especially, the wonderful "Reasoned Schemer" which got a second addition very recently)
2024-06-22 16:50:37 +0200 <duncan> there are also Lisp books which are not specific to a particular Lisp dialect, like "Lisp in Small Pieces"
2024-06-22 16:50:50 +0200 <duncan> I used that to learn LFE and Clojure
2024-06-22 16:51:26 +0200 <duncan> none of this is important, of course, but I don't think it's reasonable to say that Lisp = Common Lisp. that's not how things rolL!
2024-06-22 16:51:42 +0200michalz(~michalz@185.246.207.203)
2024-06-22 16:52:13 +0200 <morpho> Common Lisp is 'ANSI' lisp right?
2024-06-22 16:52:25 +0200 <duncan> the Paul Graham article really brings home the association between Lisp and macros. that's not specific to any particular dialect, and certainly not CL
2024-06-22 16:53:16 +0200michalz(~michalz@185.246.207.203) (Client Quit)
2024-06-22 16:53:44 +0200 <duncan> anyway. sorry. i'm talking about lisp on a haskell channel.
2024-06-22 16:54:00 +0200 <duncan> but macros are super cool! we can learn from them!
2024-06-22 16:55:52 +0200 <morpho> can you do macros in haskell? sometimes i find myself writing a 'command buffer' which is an array of function pointers to have some mutable form of execution at runtime.
2024-06-22 16:58:18 +0200yin(~yin@user/zero)
2024-06-22 17:00:11 +0200falafel(~falafel@2a0c:5a87:3103:ec01::62b8)
2024-06-22 17:00:53 +0200 <joeyadams> morpho: I want to say yes, but I'm having trouble understanding your application.
2024-06-22 17:03:46 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-22 17:09:23 +0200 <morpho> just as a general pattern, so in a turn based game, collecting a list of events that happen in a turn, but maybe they happen asynchronously, so building an array of functions that correspond to those game events.
2024-06-22 17:10:33 +0200 <joeyadams> Regular higher-order function usage does the job, for the most part. You're pretty much forced to do that any time you use the IO monad.
2024-06-22 17:11:32 +0200 <joeyadams> E.g. putStrLn "Delete system32???" >> readLine >>= (\line -> if line == "yes" then launchMissiles else putStrLn "Sike!")
2024-06-22 17:12:11 +0200 <joeyadams> The >> operator chains two IO actions together. And if you have a list of IO actions (e.g. IO ()), there's a helper function 'sequence' run them together.
2024-06-22 17:13:36 +0200 <joeyadams> The >>= operator is for cases where the result of one IO action decides what the next IO action is. In my example, the result of readLine is deciding what IO to perform next.
2024-06-22 17:14:40 +0200 <morpho> ah!
2024-06-22 17:15:47 +0200 <joeyadams> But wait, there's more! These operators, and more, can be used with any monad! If you just want to build up a function to refresh the game state, you can use a state monad and use all the same tricks.
2024-06-22 17:19:17 +0200philopsos1(~caecilius@user/philopsos)
2024-06-22 17:19:33 +0200 <joeyadams> Not sure if it applies, but there's also the concept of a "prompt monad" where you can define a list of "prompts" that must be answered for the game to continue.
2024-06-22 17:22:16 +0200 <joeyadams> When you run the prompt, you get back a response saying what needs to happen next. The game logic can be written as a function that doesn't care how those prompts are answered.
2024-06-22 17:22:50 +0200 <joeyadams> It just has a line saying "card <- prompt (PickACard anyCard)" and then the next line is what to do.
2024-06-22 17:23:29 +0200 <joeyadams> If the player quits the game, your game logic function simply doesn't get to the next line. Unlike in C or similar where such a line has to hang a thread waiting for the response.
2024-06-22 17:29:56 +0200euleritian(~euleritia@dynamic-176-007-151-102.176.7.pool.telefonica.de)
2024-06-22 17:38:56 +0200philopsos1(~caecilius@user/philopsos) (Ping timeout: 252 seconds)
2024-06-22 17:43:09 +0200 <morpho> joeyadams: i can see how that works... i watched the numberphile video on monads. Like the error failing is very explicit
2024-06-22 17:45:56 +0200soverysour(~soverysou@user/soverysour) (Remote host closed the connection)
2024-06-22 17:46:19 +0200soverysour(~soverysou@user/soverysour)
2024-06-22 17:48:51 +0200euleritian(~euleritia@dynamic-176-007-151-102.176.7.pool.telefonica.de) (Ping timeout: 260 seconds)
2024-06-22 17:49:05 +0200michalz(~michalz@185.246.207.197)
2024-06-22 17:51:22 +0200michalz(~michalz@185.246.207.197) (Client Quit)
2024-06-22 17:53:18 +0200andrewboltachev(~andrey@178.141.121.180)
2024-06-22 17:53:46 +0200 <andrewboltachev> Hi. When using makeBaseFunctor could you keep few inclusions of "this" type?
2024-06-22 17:53:57 +0200falafel(~falafel@2a0c:5a87:3103:ec01::62b8) (Ping timeout: 256 seconds)
2024-06-22 17:55:04 +0200 <ncf> ?
2024-06-22 17:55:12 +0200euleritian(~euleritia@dynamic-176-005-142-123.176.5.pool.telefonica.de)
2024-06-22 17:57:31 +0200 <andrewboltachev> https://github.com/andrewboltachev/matcher/blob/master/src/Logicore/Matcher/Core.hs#L382
2024-06-22 17:58:06 +0200 <andrewboltachev> say here I want (KeyMap MatchResult) not be translated to (KeyMap (MatchResultF x)), but keep (KeyMap MatchResult)
2024-06-22 17:58:31 +0200Enrico63(~Enrico63@81.109.143.226)
2024-06-22 17:58:38 +0200 <andrewboltachev> when doing makeBaseFunctor ''MatchResult
2024-06-22 17:59:21 +0200michalz(~michalz@185.246.207.221)
2024-06-22 17:59:24 +0200 <probie> If you want that, I think you're stuck writing the instances by hand
2024-06-22 17:59:33 +0200 <andrewboltachev> ah. well
2024-06-22 17:59:37 +0200andrewboltachevis afk, ty for help :-)
2024-06-22 17:59:49 +0200andrewboltachev(~andrey@178.141.121.180) (Quit: Leaving.)
2024-06-22 17:59:55 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 268 seconds)
2024-06-22 18:00:34 +0200michalz(~michalz@185.246.207.221) (Client Quit)
2024-06-22 18:00:39 +0200rdcdr(~rdcdr@user/rdcdr)
2024-06-22 18:04:25 +0200soverysour(~soverysou@81.196.150.219)
2024-06-22 18:04:25 +0200soverysour(~soverysou@81.196.150.219) (Changing host)
2024-06-22 18:04:25 +0200soverysour(~soverysou@user/soverysour)
2024-06-22 18:09:10 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-22 18:09:28 +0200philopsos1(~caecilius@user/philopsos)
2024-06-22 18:10:01 +0200 <dmj`> morpho: no macros in haskell
2024-06-22 18:15:17 +0200dolio(~dolio@130.44.134.54)
2024-06-22 18:17:38 +0200joeyadams(~joeyadams@2603:6010:5100:2ed:89a1:b665:e407:6673) (Quit: Leaving)
2024-06-22 18:18:17 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2024-06-22 18:19:43 +0200img(~img@user/img)
2024-06-22 18:22:25 +0200emmanuelux(~emmanuelu@user/emmanuelux)
2024-06-22 18:22:58 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2024-06-22 18:28:46 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-06-22 18:38:44 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-22 18:39:17 +0200euleritian(~euleritia@dynamic-176-005-142-123.176.5.pool.telefonica.de) (Ping timeout: 240 seconds)
2024-06-22 18:45:51 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2024-06-22 18:53:26 +0200euleritian(~euleritia@dynamic-176-002-131-229.176.2.pool.telefonica.de)
2024-06-22 18:58:11 +0200euleritian(~euleritia@dynamic-176-002-131-229.176.2.pool.telefonica.de) (Ping timeout: 264 seconds)
2024-06-22 19:01:23 +0200lxsameer(~lxsameer@Serene/lxsameer)
2024-06-22 19:12:22 +0200simendsjo(~user@84.209.170.3)
2024-06-22 19:14:39 +0200euleritian(~euleritia@dynamic-176-001-213-244.176.1.pool.telefonica.de)
2024-06-22 19:15:24 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-22 19:15:28 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 268 seconds)
2024-06-22 19:15:59 +0200joeyadams(~joeyadams@2603:6010:5100:2ed:46e1:3cf6:67a0:caed)
2024-06-22 19:21:26 +0200rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-06-22 19:21:55 +0200rvalue(~rvalue@user/rvalue)
2024-06-22 19:26:29 +0200madhavanmiui(~madhavanm@2409:40f4:2040:cc7:8000::)
2024-06-22 19:27:08 +0200tomboy64(~tomboy64@user/tomboy64) (Quit: Off to see the wizard.)
2024-06-22 19:27:29 +0200tomboy64(~tomboy64@user/tomboy64)
2024-06-22 19:30:34 +0200haetsal(~quassel@221.138.168.192) (Ping timeout: 268 seconds)
2024-06-22 19:30:53 +0200madhavanmiui(~madhavanm@2409:40f4:2040:cc7:8000::) (Read error: Connection reset by peer)
2024-06-22 19:32:38 +0200haetsal(~quassel@221.138.168.192)
2024-06-22 19:33:02 +0200euleritian(~euleritia@dynamic-176-001-213-244.176.1.pool.telefonica.de) (Ping timeout: 268 seconds)
2024-06-22 19:34:02 +0200euleritian(~euleritia@dynamic-176-005-138-192.176.5.pool.telefonica.de)
2024-06-22 19:37:07 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-22 19:37:08 +0200billchenchina(~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Remote host closed the connection)
2024-06-22 19:37:11 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit)
2024-06-22 19:38:10 +0200Guest25(~Guest25@2a00:23c8:a613:101:460:e11b:685:8e8a)
2024-06-22 19:38:27 +0200tomboy64(~tomboy64@user/tomboy64) (Read error: Connection reset by peer)
2024-06-22 19:38:37 +0200tomboy64(~tomboy64@user/tomboy64)
2024-06-22 19:39:45 +0200Guest25(~Guest25@2a00:23c8:a613:101:460:e11b:685:8e8a) (Client Quit)
2024-06-22 19:41:02 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-22 19:45:41 +0200euleritian(~euleritia@dynamic-176-005-138-192.176.5.pool.telefonica.de) (Ping timeout: 240 seconds)
2024-06-22 19:46:02 +0200Sgeo(~Sgeo@user/sgeo)
2024-06-22 19:46:20 +0200fiddlerw-(~fiddlerwo@user/fiddlerwoaroof) (Remote host closed the connection)
2024-06-22 19:48:48 +0200soverysour(~soverysou@user/soverysour)
2024-06-22 19:52:09 +0200solaire(~solaire@2400:4050:aea2:2d00:839d:1c37:ef5d:95b7) (Ping timeout: 268 seconds)
2024-06-22 19:53:39 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 264 seconds)
2024-06-22 19:54:07 +0200danse-nr3(~danse-nr3@151.19.224.243)
2024-06-22 19:57:02 +0200ocra8(~ocra8@user/ocra8)
2024-06-22 19:58:23 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-06-22 20:01:48 +0200AlexZenon(~alzenon@178.34.162.224) (Ping timeout: 255 seconds)
2024-06-22 20:04:21 +0200solaire(~solaire@2400:4050:aea2:2d00:3abb:dd3d:bbe2:6688)
2024-06-22 20:10:08 +0200AlexZenon(~alzenon@178.34.162.224)
2024-06-22 20:10:10 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2024-06-22 20:10:19 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds)
2024-06-22 20:10:35 +0200rosco(~rosco@175.136.155.137) (Quit: Lost terminal)
2024-06-22 20:13:04 +0200Lord_of_Life_Lord_of_Life
2024-06-22 20:14:58 +0200sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 268 seconds)
2024-06-22 20:16:06 +0200euphores(~SASL_euph@user/euphores)
2024-06-22 20:16:07 +0200andrewboltachev(~andrey@178.141.121.180)
2024-06-22 20:16:13 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-22 20:17:45 +0200AlexZenon(~alzenon@178.34.162.224) (Ping timeout: 256 seconds)
2024-06-22 20:18:18 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds)
2024-06-22 20:19:37 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-22 20:20:43 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-06-22 20:21:19 +0200noumenon(~noumenon@113.51-175-156.customer.lyse.net)
2024-06-22 20:22:03 +0200philopsos1(~caecilius@user/philopsos) (Ping timeout: 255 seconds)
2024-06-22 20:22:58 +0200soverysour(~soverysou@81.196.150.219)
2024-06-22 20:22:58 +0200soverysour(~soverysou@81.196.150.219) (Changing host)
2024-06-22 20:22:58 +0200soverysour(~soverysou@user/soverysour)
2024-06-22 20:23:09 +0200AlexZenon(~alzenon@178.34.162.224)
2024-06-22 20:23:18 +0200Enrico63(~Enrico63@81.109.143.226) (Quit: Client closed)
2024-06-22 20:27:17 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 240 seconds)
2024-06-22 20:30:53 +0200AlexZenon(~alzenon@178.34.162.224) (Ping timeout: 240 seconds)
2024-06-22 20:34:51 +0200soverysour(~soverysou@user/soverysour)
2024-06-22 20:37:18 +0200tomboy64(~tomboy64@user/tomboy64) (Quit: Off to see the wizard.)
2024-06-22 20:38:21 +0200tomboy64(~tomboy64@user/tomboy64)
2024-06-22 20:41:50 +0200tomboy64(~tomboy64@user/tomboy64) (Read error: Connection reset by peer)
2024-06-22 20:42:04 +0200Angelz(Angelz@Angelz.oddprotocol.org) (Changing host)
2024-06-22 20:42:04 +0200Angelz(Angelz@user/angelz)
2024-06-22 20:42:07 +0200tomboy64(~tomboy64@user/tomboy64)
2024-06-22 20:43:47 +0200sawilagar(~sawilagar@user/sawilagar)
2024-06-22 20:45:01 +0200AlexZenon(~alzenon@178.34.162.224)
2024-06-22 20:46:04 +0200wbooze(~wbooze@2a02:908:1244:9a20:eb19:86e1:fc3f:bfad)
2024-06-22 20:52:27 +0200tomboy64(~tomboy64@user/tomboy64) (Read error: Connection reset by peer)
2024-06-22 20:52:43 +0200tomboy64(~tomboy64@user/tomboy64)
2024-06-22 20:52:58 +0200philopsos1(~caecilius@user/philopsos)
2024-06-22 20:53:36 +0200sawilagar(~sawilagar@user/sawilagar) (Remote host closed the connection)
2024-06-22 20:53:51 +0200sawilagar(~sawilagar@user/sawilagar)
2024-06-22 20:57:33 +0200tomboy64(~tomboy64@user/tomboy64) (Client Quit)
2024-06-22 20:57:36 +0200simendsjo(~user@84.209.170.3) (Ping timeout: 255 seconds)
2024-06-22 20:58:03 +0200tomboy64(~tomboy64@user/tomboy64)
2024-06-22 20:58:20 +0200tomboy64(~tomboy64@user/tomboy64) (Client Quit)
2024-06-22 20:58:48 +0200tomboy64(~tomboy64@user/tomboy64)
2024-06-22 21:04:58 +0200tomboy64(~tomboy64@user/tomboy64) (Quit: Off to see the wizard.)
2024-06-22 21:06:05 +0200tomboy64(~tomboy64@user/tomboy64)
2024-06-22 21:10:10 +0200ocra8(~ocra8@user/ocra8) (Ping timeout: 246 seconds)
2024-06-22 21:11:32 +0200morpho(~user@87.114.27.62) (ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3))
2024-06-22 21:12:14 +0200tomboy64(~tomboy64@user/tomboy64) (Quit: Off to see the wizard.)
2024-06-22 21:12:22 +0200ocra8(~ocra8@user/ocra8)
2024-06-22 21:12:35 +0200euleritian(~euleritia@dynamic-176-002-138-255.176.2.pool.telefonica.de)
2024-06-22 21:13:21 +0200sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 255 seconds)
2024-06-22 21:13:28 +0200tomboy64(~tomboy64@user/tomboy64)
2024-06-22 21:15:19 +0200wlhn(~wlhn@dl46fx8hbfttwvhb-h1ly-3.rev.dnainternet.fi) (Quit: Leaving)
2024-06-22 21:18:12 +0200tomboy64(~tomboy64@user/tomboy64) (Client Quit)
2024-06-22 21:18:19 +0200fun-safe-math(~fun-safe-@24.21.106.247)
2024-06-22 21:18:55 +0200tomboy64(~tomboy64@user/tomboy64)
2024-06-22 21:19:35 +0200tomboy64(~tomboy64@user/tomboy64) (Client Quit)
2024-06-22 21:20:21 +0200tomboy64(~tomboy64@user/tomboy64)
2024-06-22 21:23:44 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-22 21:27:11 +0200danse-nr3(~danse-nr3@151.19.224.243) (Read error: Connection reset by peer)
2024-06-22 21:27:31 +0200boxscape_(~boxscape_@236.80-202-53.nextgentel.com)
2024-06-22 21:28:09 +0200danse-nr3(~danse-nr3@151.47.244.214)
2024-06-22 21:28:38 +0200ocra8(~ocra8@user/ocra8) (Ping timeout: 256 seconds)
2024-06-22 21:30:36 +0200ocra8(~ocra8@user/ocra8)
2024-06-22 21:32:33 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-22 21:35:38 +0200tremon(~tremon@83.80.159.219)
2024-06-22 21:38:44 +0200hgolden(~hgolden@2603:8000:9d00:3ed1:2678:8497:aa5c:7fa9) (Quit: Leaving)
2024-06-22 21:40:35 +0200hgolden(~hgolden@2603:8000:9d00:3ed1:2678:8497:aa5c:7fa9)
2024-06-22 21:47:04 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-06-22 21:56:22 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-22 22:00:51 +0200joeyadams(~joeyadams@2603:6010:5100:2ed:46e1:3cf6:67a0:caed) (Quit: Leaving)
2024-06-22 22:07:00 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-22 22:13:38 +0200Psybur(~Psybur@2601:5c9:4201:3220:252d:1261:5198:642e)
2024-06-22 22:18:18 +0200danse-nr3(~danse-nr3@151.47.244.214) (Ping timeout: 268 seconds)
2024-06-22 22:21:45 +0200lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 255 seconds)
2024-06-22 22:30:55 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-06-22 22:30:55 +0200solaire(~solaire@2400:4050:aea2:2d00:3abb:dd3d:bbe2:6688) (Ping timeout: 256 seconds)
2024-06-22 22:35:51 +0200euleritian(~euleritia@dynamic-176-002-138-255.176.2.pool.telefonica.de) (Ping timeout: 260 seconds)
2024-06-22 22:41:33 +0200talismanick(~user@2601:644:937c:ed10::ae5)
2024-06-22 22:48:10 +0200sawilagar(~sawilagar@user/sawilagar)
2024-06-22 22:54:26 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-06-22 22:55:00 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 268 seconds)
2024-06-22 23:05:29 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 268 seconds)
2024-06-22 23:05:40 +0200Psybur(~Psybur@2601:5c9:4201:3220:252d:1261:5198:642e) (Ping timeout: 246 seconds)
2024-06-22 23:10:07 +0200stef204(~stef204@user/stef204) (Quit: WeeChat 4.2.1)
2024-06-22 23:22:47 +0200gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2024-06-22 23:25:10 +0200Psybur(~Psybur@2601:5c9:4201:3220:252d:1261:5198:642e)
2024-06-22 23:25:47 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 260 seconds)
2024-06-22 23:28:17 +0200gentauro(~gentauro@user/gentauro)
2024-06-22 23:29:39 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 264 seconds)
2024-06-22 23:31:16 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2024-06-22 23:33:18 +0200Psybur(~Psybur@2601:5c9:4201:3220:252d:1261:5198:642e) (Ping timeout: 256 seconds)
2024-06-22 23:33:39 +0200Psybur(~Psybur@c-76-123-45-25.hsd1.va.comcast.net)
2024-06-22 23:34:38 +0200__monty__(~toonn@user/toonn)
2024-06-22 23:35:03 +0200dysthesis(~dysthesis@user/dysthesis)
2024-06-22 23:39:31 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-06-22 23:40:48 +0200solaire(~solaire@2400:4050:aea2:2d00:3abb:dd3d:bbe2:6688)
2024-06-22 23:41:21 +0200AlexNoo_(~AlexNoo@5.139.233.94)
2024-06-22 23:43:43 +0200mud(~mud@user/kadoban) (Ping timeout: 268 seconds)
2024-06-22 23:44:47 +0200mud(~mud@user/kadoban)
2024-06-22 23:45:12 +0200AlexNoo(~AlexNoo@178.34.162.224) (Ping timeout: 256 seconds)
2024-06-22 23:45:15 +0200AlexZenon(~alzenon@178.34.162.224) (Ping timeout: 264 seconds)
2024-06-22 23:46:59 +0200dysthesis(~dysthesis@user/dysthesis) (Quit: dysthesis)
2024-06-22 23:47:24 +0200euleritian(~euleritia@dynamic-176-005-141-033.176.5.pool.telefonica.de)
2024-06-22 23:49:12 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-22 23:53:35 +0200Square(~Square@user/square)
2024-06-22 23:57:45 +0200onliner10(~textual@83.25.32.202.ipv4.supernova.orange.pl)