Home liberachat/#haskell: Logs Calendar

Logs on 2022-09-02 (liberachat/#haskell)

00:02:49 × bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 268 seconds)
00:03:43 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
00:05:08 catern joins (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407)
00:08:22 × raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
00:15:28 matthewmosior joins (~matthewmo@173.170.253.91)
00:16:34 nate4 joins (~nate@98.45.169.16)
00:16:34 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
00:20:48 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 244 seconds)
00:26:57 ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
00:27:11 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 255 seconds)
00:30:37 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
00:36:09 × beteigeuze quits (~Thunderbi@89.187.168.240) (Ping timeout: 252 seconds)
00:38:58 Guest27 joins (~Guest27@37.230.207.224)
00:40:46 × wolfshappen quits (~waff@irc.furworks.de) (Ping timeout: 260 seconds)
00:41:47 <segfaultfizzbuzz> so if i am trying to sample from a distribution (think: monte carlo), let's suppose that i have a batch of observations, such as one hundred observations with some kind of answer regarding whether these observations do or don't have the desired characteristic
00:42:18 <segfaultfizzbuzz> for instance i have my circle and i select uniformly at random (x, y) coordinates from a unit interval and then i get information on whether each point is inside the circle or not
00:42:39 <segfaultfizzbuzz> somehow i need to update my sampling method based on these observations
00:42:58 <segfaultfizzbuzz> but i can't think that there is any "rational" manner for doing this
00:43:26 <segfaultfizzbuzz> it seems like you always have to have some kind of model which learns how to update the sampling process from the examples
00:46:15 × mikoto-chan quits (~mikoto-ch@164.5.249.78) (Read error: Connection reset by peer)
00:47:30 × TonyStone quits (~TonyStone@2603-7080-8607-c36a-d034-9363-3fef-214e.res6.spectrum.com) (Ping timeout: 264 seconds)
00:49:24 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
00:59:12 matthewmosior joins (~matthewmo@173.170.253.91)
00:59:22 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
00:59:39 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
01:03:03 master joins (~Trickster@37.230.207.224)
01:04:14 master parts (~Trickster@37.230.207.224) ()
01:04:47 TonyStone joins (~TonyStone@2603-7080-8607-c36a-d034-9363-3fef-214e.res6.spectrum.com)
01:05:39 master joins (~Trickster@37.230.207.224)
01:05:54 master parts (~Trickster@37.230.207.224) ()
01:06:35 × Guest27 quits (~Guest27@37.230.207.224) (Quit: Client closed)
01:10:51 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:12:55 × Guest8526 quits (~Guest85@2601:602:a080:fa0::54ff) (Quit: Client closed)
01:13:48 × xff0x quits (~xff0x@2405:6580:b080:900:2fc4:f88d:3507:57fe) (Ping timeout: 268 seconds)
01:15:06 instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net)
01:16:58 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:17:35 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
01:18:56 wolfshappen joins (~waff@irc.furworks.de)
01:19:18 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 264 seconds)
01:19:56 matthewmosior joins (~matthewmo@173.170.253.91)
01:24:20 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
01:26:31 × khumba quits (~khumba@user/khumba) ()
01:30:43 × oxide quits (~lambda@user/oxide) (Quit: oxide)
01:33:21 × segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds)
01:34:54 gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de)
01:36:03 polo joins (~Gambino@user/polo)
01:36:31 aeka` joins (~aeka@pool-96-233-77-78.bstnma.fios.verizon.net)
01:37:21 × aeka quits (~aeka@2606:6080:2001:6:e14e:c3f3:8562:6916) (Ping timeout: 260 seconds)
01:37:21 aeka` is now known as aeka
01:37:32 × polo quits (~Gambino@user/polo) (Client Quit)
01:38:18 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
01:38:19 polo joins (~Gambino@user/polo)
01:39:12 nilradical joins (~nilradica@user/naso)
01:39:51 × instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 244 seconds)
01:40:05 libertyprime joins (~libertypr@118-92-68-91.dsl.dyn.ihug.co.nz)
01:40:29 matthewmosior joins (~matthewmo@173.170.253.91)
01:42:24 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
01:43:30 frost joins (~frost@user/frost)
01:45:53 razetime joins (~quassel@117.193.3.141)
01:46:36 segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
01:48:51 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
01:48:59 mikoto-chan joins (~mikoto-ch@164.5.249.78)
01:51:42 instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net)
01:53:09 × libertyprime quits (~libertypr@118-92-68-91.dsl.dyn.ihug.co.nz) (Ping timeout: 252 seconds)
01:53:39 × ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Quit: WeeChat 3.5)
01:54:43 ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
01:55:13 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
01:55:21 × polo quits (~Gambino@user/polo) (Quit: late)
01:55:52 × instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 244 seconds)
01:56:18 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
02:01:13 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
02:03:44 qy joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
02:05:10 × ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 244 seconds)
02:06:21 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds)
02:08:11 × fserucas quits (~fserucas@83.223.240.58) (Ping timeout: 252 seconds)
02:14:30 × TonyStone quits (~TonyStone@2603-7080-8607-c36a-d034-9363-3fef-214e.res6.spectrum.com) (Ping timeout: 264 seconds)
02:16:02 nate4 joins (~nate@98.45.169.16)
02:17:30 instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net)
02:18:03 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
02:18:32 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
02:18:48 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
02:22:50 libertyprime joins (~libertypr@118-92-68-91.dsl.dyn.ihug.co.nz)
02:27:16 × qy quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 268 seconds)
02:29:18 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds)
02:29:36 TonyStone joins (~TonyStone@2603-7080-8607-c36a-d034-9363-3fef-214e.res6.spectrum.com)
02:29:45 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
02:30:18 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
02:36:06 fernand joins (uid551405@id-551405.tinside.irccloud.com)
02:40:10 azimut joins (~azimut@gateway/tor-sasl/azimut)
02:43:54 × TonyStone quits (~TonyStone@2603-7080-8607-c36a-d034-9363-3fef-214e.res6.spectrum.com) (Ping timeout: 264 seconds)
02:44:53 × td_ quits (~td@94.134.91.37) (Ping timeout: 255 seconds)
02:46:14 × gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
02:46:32 td_ joins (~td@94.134.91.208)
02:58:01 mbuf joins (~Shakthi@49.204.128.234)
02:59:08 TonyStone joins (~TonyStone@2603-7080-8607-c36a-d034-9363-3fef-214e.res6.spectrum.com)
03:01:04 fef joins (~thedawn@user/thedawn)
03:01:21 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection)
03:01:39 × libertyprime quits (~libertypr@118-92-68-91.dsl.dyn.ihug.co.nz) (Ping timeout: 268 seconds)
03:10:06 × nilradical quits (~nilradica@user/naso) (Remote host closed the connection)
03:10:51 nilradical joins (~nilradica@user/naso)
03:11:26 × nilradical quits (~nilradica@user/naso) (Remote host closed the connection)
03:13:00 nilradical joins (~nilradica@user/naso)
03:14:29 × nilradical quits (~nilradica@user/naso) (Remote host closed the connection)
03:14:44 nilradical joins (~nilradica@user/naso)
03:15:03 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
03:18:34 ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
03:24:50 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
03:25:00 × nilradical quits (~nilradica@user/naso) (Remote host closed the connection)
03:25:48 nilradical joins (~nilradica@user/naso)
03:27:23 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds)
03:29:13 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds)
03:30:18 × nilradical quits (~nilradica@user/naso) (Ping timeout: 240 seconds)
03:31:43 nilradical joins (~nilradica@user/naso)
03:35:41 <albet70> how to implement chunksOf with lambda?
03:45:42 × Vajb quits (~Vajb@2001:999:705:3c86:e7ea:442b:1e01:22d8) (Read error: Connection reset by peer)
03:46:31 Vajb joins (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi)
03:53:28 <dsal> albet70: That question's a little odd. What are you trying to do?
03:53:50 mixfix41 joins (~seikoreg2@user/mixfix41)
03:56:46 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
04:05:41 nate4 joins (~nate@98.45.169.16)
04:09:34 matthewmosior joins (~matthewmo@173.170.253.91)
04:09:58 × mikoto-chan quits (~mikoto-ch@164.5.249.78) (Ping timeout: 240 seconds)
04:10:33 komikat[m] joins (~komikatma@2001:470:69fc:105::1:c71e)
04:10:39 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds)
04:11:05 <komikat[m]> hi
04:11:11 <komikat[m]> is Haskell programming from ff still a good book to learn haskell/fp from
04:11:11 <komikat[m]> have read like 5 chapters but find it boring and can't motivate myself enough to go through it
04:11:47 <glguy> still?
04:12:23 <dsal> komikat[m]: I read it concurrently with project work. I thought it was good. Some people don't like it.
04:12:54 <maerwald[m]> komikat: burn the books and staht coding
04:13:29 <komikat[m]> glguy: still as in I already have been programming for years but its always been something general purpose like python/lisp or low level stuff like C/C++
04:13:47 <komikat[m]> maerwald[m]: what do i code :P
04:13:57 <komikat[m]> dsal: any other recommendation?
04:14:43 <dsal> There are lots of books, but I don't learn well without a project that's interesting to me.
04:15:41 <komikat[m]> how do i look for projects that may interest me
04:15:56 <glguy> komikat[m]: the problem with hpffp is that it typically uses way more words than needed and is often wrong or subtly wrong. You'd want to write a program that was interesting to you. Presumably there's a reason you want to program
04:16:33 <maerwald[m]> komikat[m]: A terminal game
04:16:36 rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
04:16:48 <komikat[m]> komikat[m]: because my uni focusses a lot more on algorithmic problems instead of straight up projects
04:16:57 <jackdk> http://jackkelly.name/blog/archives/2022/05/28/text-mode_games_as_first_haskell_projects/
04:17:09 <maerwald[m]> komikat: implement graham scan in haskell
04:17:17 <maerwald[m]> Visualize it with diagrams or so
04:18:00 slack1256 joins (~slack1256@191.126.99.78)
04:18:05 <maerwald[m]> 2d algorithms are fine
04:19:12 <maerwald[m]> Image processing is also fun
04:19:15 pavonia_ joins (~user@user/siracusa)
04:20:02 × pavonia quits (~user@user/siracusa) (Ping timeout: 244 seconds)
04:20:21 <slack1256> How do I force stack to clone private repo via ssh instead of https?
04:20:28 <slack1256> repos*.
04:20:40 pavonia_ is now known as pavonia
04:21:54 <slack1256> Wait, nevermind.
04:22:16 × Vajb quits (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer)
04:22:45 Vajb joins (~Vajb@2001:999:705:3c86:e7ea:442b:1e01:22d8)
04:23:40 <maerwald[m]> slack1256: protocol is part of the url
04:26:19 <slack1256> Yeah, `git checkout` had overwritten that file to their https counterpart.
04:27:46 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
04:31:16 × slack1256 quits (~slack1256@191.126.99.78) (Remote host closed the connection)
04:31:23 kin joins (~kin@5.164.0.203)
04:31:30 enek joins (~Gambino@pool-100-11-18-203.phlapa.fios.verizon.net)
04:32:51 scobydoo is now known as whatsupboy
04:34:07 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 258 seconds)
04:34:53 × fef quits (~thedawn@user/thedawn) (Ping timeout: 258 seconds)
04:37:04 × instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 244 seconds)
04:37:10 libertyprime joins (~libertypr@118-92-68-91.dsl.dyn.ihug.co.nz)
04:38:46 × codaraxis quits (~codaraxis@user/codaraxis) (Quit: Leaving)
04:40:51 matthewmosior joins (~matthewmo@173.170.253.91)
04:43:46 c209e6dc-4d76-47 joins (~aditya@c-73-103-92-95.hsd1.in.comcast.net)
04:45:49 <c209e6dc-4d76-47> I am trying to construct a function `m [(a, [(b, c)])] -> m [(a, [(b', c)])]` where I have a function `b -> m b'`
04:46:04 defanor_ is now known as defanor
04:47:26 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
04:52:58 × nilradical quits (~nilradica@user/naso) (Remote host closed the connection)
04:53:45 nilradical joins (~nilradica@user/naso)
04:54:50 <pavonia> m is a Monad?
04:55:27 fef joins (~thedawn@user/thedawn)
04:55:39 × fernand quits (uid551405@id-551405.tinside.irccloud.com) (Quit: Connection closed for inactivity)
04:56:19 <dsal> If m is a functor, you should remove that from the requirement.
04:57:16 <dsal> And [] is a functor, and (,) is a functor.
04:57:38 <dsal> Your function is approximately fmap.fmap.fmap with maybe a first in there somewhere.
04:58:16 × nilradical quits (~nilradica@user/naso) (Remote host closed the connection)
04:58:31 nilradical joins (~nilradica@user/naso)
04:58:34 <dsal> I guess if you really need `b -> m b'` then you replace one of the `fmap`s with a `traverse`
04:58:46 × enek quits (~Gambino@pool-100-11-18-203.phlapa.fios.verizon.net) (Ping timeout: 244 seconds)
04:58:53 <aaron[m]1234> they would all need to be traverse
04:59:01 <aaron[m]1234> assuming that's the desired behavior
05:02:17 <c209e6dc-4d76-47> I think traverse is what I needed
05:02:19 <c209e6dc-4d76-47> thanks!
05:03:20 <dsal> :t traverse.traverse.traverse
05:03:22 <lambdabot> (Applicative f, Traversable t1, Traversable t2, Traversable t3) => (a -> f b) -> t1 (t2 (t3 a)) -> f (t1 (t2 (t3 b)))
05:03:34 <aaron[m]1234> with lens you can do this easily with Traversals
05:03:37 <Axman6> also pretty easy to do with lens
05:03:42 <Axman6> damn, beaten to it
05:03:53 <Axman6> "It's always traverse"
05:03:56 <aaron[m]1234> e.g. x >>= (each . _2 . each ._1) f
05:05:27 <dsal> :t \x f -> x >>= (each . _2 . each ._1) f
05:05:29 <lambdabot> (Monad m, Field2 a1 b1 a2 b2, Each s b3 a1 b1, Each a2 b2 a3 b4, Field1 a3 b4 a4 b5) => m s -> (a4 -> m b5) -> m b3
05:05:35 <dsal> so pretty
05:05:39 <aaron[m]1234> lol
05:06:18 <Axman6> "obviously"
05:07:03 <Axman6> the implementation is something anyone with a reasonable lens experience would be able to read easily, but probably not tell you what the exact typw it.
05:07:09 <aaron[m]1234> :t \x f -> x >>= (traverse . _2 . traverse . _1) f
05:07:11 <lambdabot> (Monad m, Field2 a1 b1 (t1 a2) (t1 b2), Traversable t2, Traversable t1, Field1 a2 b2 a3 b3) => m (t2 a1) -> (a3 -> m b3) -> m (t2 b1)
05:07:19 <Axman6> type* I'd personally use traverse
05:08:42 Guest__ joins (~Gambino@pool-100-11-18-203.phlapa.fios.verizon.net)
05:11:55 <dsal> each is mostly cool to abuse tuples as lists.
05:14:45 × fef quits (~thedawn@user/thedawn) (Ping timeout: 258 seconds)
05:18:22 <c209e6dc-4d76-47> I came up with this https://paste.tomsmeding.com/t4MXCadz
05:18:45 <c209e6dc-4d76-47> seems like there could be a simpler way, but I'm not allowed to use lenses
05:19:38 fef joins (~thedawn@user/thedawn)
05:20:30 × kin quits (~kin@5.164.0.203) (Ping timeout: 264 seconds)
05:20:52 <dsal> Not being able to use lenses can really complicate things sometimes.
05:23:00 <aaron[m]1234> Not a fan of using zip like that. How about using Bitraversable
05:23:24 <c209e6dc-4d76-47> it's part of base?
05:24:31 <Axman6> @hoogle Bitraversable
05:24:31 <lambdabot> module Data.Bitraversable
05:24:31 <lambdabot> Data.Bitraversable class (Bifunctor t, Bifoldable t) => Bitraversable t
05:24:31 <lambdabot> module Data.Semigroup.Bitraversable
05:24:45 <Axman6> hmm, forgot that doesn't tell you the package
05:25:00 <aaron[m]1234> think it is
05:25:01 <c209e6dc-4d76-47> seems like it's in base on hoogle
05:29:29 <aaron[m]1234> :t \f x -> x >>= (traverse $ traverse $ traverse $ bitraverse f pure)
05:29:31 <lambdabot> error:
05:29:31 <lambdabot> • Variable not in scope:
05:29:31 <lambdabot> bitraverse :: t -> (a0 -> f0 a0) -> a -> m b
05:32:06 <c209e6dc-4d76-47> :t \f x -> x >>= (traverse $ traverse $ traverse $ traverse (bitraverse f pure))
05:32:07 <lambdabot> error:
05:32:07 <lambdabot> • Variable not in scope:
05:32:07 <lambdabot> bitraverse :: t -> (a0 -> f0 a0) -> a -> m b
05:34:04 zeenk joins (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f)
05:35:28 <aaron[m]1234> :t \f x -> x >>= (traverse $ traverse $ traverse $ Data.Bitraversable.bitraverse f pure)
05:35:29 <lambdabot> (Monad m, Traversable t1, Traversable t2, Traversable t3, Data.Bitraversable.Bitraversable t4) => (a -> m c) -> m (t1 (t2 (t3 (t4 a d)))) -> m (t1 (t2 (t3 (t4 c d))))
05:37:11 <rustisafungus> "not allowed to use lens" -- where does this kind of mandate come from?
05:37:22 × fef quits (~thedawn@user/thedawn) (Ping timeout: 258 seconds)
05:41:27 × nilradical quits (~nilradica@user/naso) ()
05:43:30 <dsal> rustisafungus: Lots of places where developers are diverse and they want to limit the number of languages people need to learn.
05:45:09 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
05:46:57 × rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
05:47:00 <maerwald[m]> After you've had a Monoid based bug in production with lens maybe
05:47:03 <c209e6dc-4d76-47> I'm working on some open source project and adding a new dependency of lens just for this will be too much
05:47:27 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:47:38 <c209e6dc-4d76-47> it's preferred to keep it to bare minimum and also the end goal is something else
05:47:54 <c209e6dc-4d76-47> if I was the owner, I might have added it without a thought
05:48:20 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
05:48:56 × cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds)
05:49:08 cheater joins (~Username@user/cheater)
05:50:40 × c209e6dc-4d76-47 quits (~aditya@c-73-103-92-95.hsd1.in.comcast.net) (Quit: Konversation terminated!)
05:50:57 × libertyprime quits (~libertypr@118-92-68-91.dsl.dyn.ihug.co.nz) (Ping timeout: 244 seconds)
05:51:16 fef joins (~thedawn@user/thedawn)
05:52:13 × fef quits (~thedawn@user/thedawn) (Client Quit)
05:53:50 coot joins (~coot@213.134.176.158)
05:55:00 rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
05:55:01 jakalx joins (~jakalx@base.jakalx.net)
05:58:47 × causal quits (~user@50.35.83.177) (Quit: WeeChat 3.6)
06:02:11 caffery156 joins (~caffery@user/caffery156)
06:02:48 <caffery156> guys what is `Nothing` in haskell.Is it equivalent of null or what?
06:04:24 <[_________]> Nothing is a constructor of Maybe a.
06:06:16 × hueso quits (~root@user/hueso) (Ping timeout: 260 seconds)
06:08:05 toeffel joins (~toeffel@user/toeffel)
06:12:32 × Guest__ quits (~Gambino@pool-100-11-18-203.phlapa.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:14:53 <dsal> `Maybe` is a sum type that adds one to the cardinality of another type by introducing `Nothing` e.g., if you have a `Bool`, it's got two values (`True` and `False`) whereas `Maybe Bool` has three values (`Nothing`, `Just True`, and `Just False`)
06:14:53 × shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit)
06:20:49 libertyprime joins (~libertypr@118-92-68-91.dsl.dyn.ihug.co.nz)
06:22:40 <DigitalKiwi> ah this must be the infamous null + 1 error i heard about
06:22:46 <DigitalKiwi> https://twitter.com/grhmc/status/1564975641761660928
06:22:57 nate4 joins (~nate@98.45.169.16)
06:27:38 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 244 seconds)
06:30:16 Guest5079 joins (~Guest50@50.47.108.232)
06:30:44 <Guest5079> How do I get CoC to recognize libraries in a Haskell project?
06:31:38 <Guest5079> For example, in the stack default project, when loading `Main`, it doesn't recognize the module Lib even though it's in src
06:34:08 <c_wraith> What's CoC? the only thing coming to mind is "calculus of constructions", and contextually I'm pretty sure that's wrong
06:35:01 <DigitalKiwi> code of conduct
06:35:15 <c_wraith> That also doesn't quite fit contextually.
06:35:46 × hgolden quits (~Howard@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection)
06:36:44 × bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
06:36:53 <maerwald[m]> c_wraith: coc.nvim
06:37:10 MoC joins (~moc@user/moc)
06:37:10 <c_wraith> ah! now that makes sense. and also utterly disqualifies me from helping. :)
06:37:37 <Guest5079> my apologies, it's coc not CoC. It's a vim plugin for using language servers such as hls https://github.com/neoclide/coc.nvim
06:38:30 <maerwald[m]> c_wraith: it's the worst of all LSP clients. Entirely written in nodejs
06:39:05 <maerwald[m]> Occasionally works and if it does, makes your screen flicker due to feature creep
06:39:15 <c_wraith> also, I'm an emacs heathen, so completely untrustworthy. :P
06:41:51 × Guest5079 quits (~Guest50@50.47.108.232) (Quit: Client closed)
06:43:58 pagnol joins (~me@213-205-209-87.ftth.glasoperator.nl)
06:47:15 lortabac joins (~lortabac@2a01:e0a:541:b8f0:95c3:2c3e:653d:83f0)
06:47:41 × ft quits (~ft@p4fc2a0f5.dip0.t-ipconnect.de) (Quit: Lost terminal)
06:48:03 titibandit joins (~titibandi@xdsl-84-44-227-248.nc.de)
06:49:05 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:51:15 × rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds)
06:54:10 <maerwald[m]> Worshipping the old gods, I see
07:01:09 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds)
07:05:55 × m5zs7k quits (aquares@web10.mydevil.net) (Ping timeout: 252 seconds)
07:10:14 m5zs7k joins (aquares@web10.mydevil.net)
07:11:41 mikoto-chan joins (~mikoto-ch@164.5.249.78)
07:13:52 × libertyprime quits (~libertypr@118-92-68-91.dsl.dyn.ihug.co.nz) (Ping timeout: 268 seconds)
07:15:53 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
07:16:12 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
07:16:14 × titibandit quits (~titibandi@xdsl-84-44-227-248.nc.de) (Remote host closed the connection)
07:19:22 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:19:51 × mikoto-chan quits (~mikoto-ch@164.5.249.78) (Ping timeout: 252 seconds)
07:21:49 acidjnk joins (~acidjnk@p200300d6e7137a813c1ceb484850c742.dip0.t-ipconnect.de)
07:25:25 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:26:11 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
07:26:11 × Guest4212 quits (~chenqisu1@183.217.201.192) (Quit: Leaving)
07:27:04 mikoto-chan joins (~mikoto-ch@164.5.249.78)
07:29:30 wonko_ joins (~wjc@2a0e:1c80:2::130)
07:29:37 kuribas joins (~user@ptr-17d51emn3roko68gdk1.18120a2.ip6.access.telenet.be)
07:30:40 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
07:30:48 matthewmosior joins (~matthewmo@173.170.253.91)
07:31:28 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Client Quit)
07:32:01 <jackdk> c_wraith: good to see someone else keeping the old ways alive
07:39:46 × mikoto-chan quits (~mikoto-ch@164.5.249.78) (Ping timeout: 268 seconds)
07:44:46 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
08:00:36 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
08:01:52 fserucas joins (~fserucas@83.223.240.58)
08:03:10 <kuribas> how does ghc grow the stack?
08:03:12 × mixfix41 quits (~seikoreg2@user/mixfix41) (Ping timeout: 268 seconds)
08:03:20 <kuribas> does it just allocate a bigger stack, and copy the whole thing?
08:03:58 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
08:05:24 ccntrq joins (~Thunderbi@172.209.94.92.rev.sfr.net)
08:10:51 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
08:12:05 zaquest joins (~notzaques@5.130.79.72)
08:14:03 <[exa]> what stack?
08:17:51 alternateved joins (~user@staticline-31-183-146-203.toya.net.pl)
08:20:06 <Axman6> GHc's stack is segmented IIRC
08:21:56 <Axman6> See the RTS flags:
08:21:58 <Axman6> -ki<size> Sets the initial thread stack size (default 1k) Egs: -ki4k -ki2m
08:21:58 <Axman6> -kc<size> Sets the stack chunk size (default 32k)
08:21:59 <Axman6> -kb<size> Sets the stack chunk buffer size (default 1k)
08:25:30 zer0bitz joins (~zer0bitz@2001:2003:f748:2000:a8c4:c646:2b11:d02f)
08:26:48 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
08:28:28 <kuribas> Axman6: but then how does it "jump" from one segment to the other?
08:28:32 Guest__ joins (~Gambino@pool-100-11-18-203.phlapa.fios.verizon.net)
08:29:30 agander_m_ is now known as agander_m
08:30:56 × Guest__ quits (~Gambino@pool-100-11-18-203.phlapa.fios.verizon.net) (Client Quit)
08:31:18 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
08:33:33 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
08:34:05 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
08:34:25 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
08:35:35 <Axman6> pretty sure all stack modifications check the current chunk bounds
08:38:21 × califax quits (~califax@user/califx) (Remote host closed the connection)
08:38:58 odnes joins (~odnes@5-203-166-239.pat.nym.cosmote.net)
08:39:13 califax joins (~califax@user/califx)
08:40:41 nate4 joins (~nate@98.45.169.16)
08:43:12 jimki joins (~jmaki@gazorpazorp.fixme.fi)
08:45:39 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds)
08:47:16 matthewmosior joins (~matthewmo@173.170.253.91)
08:53:40 × FragByte quits (~christian@user/fragbyte) (Quit: Quit)
08:55:01 mixfix41 joins (~sdeny9ee@user/mixfix41)
08:55:35 FragByte joins (~christian@user/fragbyte)
09:04:21 × pie_ quits (~pie_bnc@user/pie/x-2818909) ()
09:04:45 pie_ joins (~pie_bnc@user/pie/x-2818909)
09:12:47 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
09:19:27 mikoto-chan joins (~mikoto-ch@dy69gb1kyyyyyyyyyyyby-4.rev.dnainternet.fi)
09:20:59 × tcard_ quits (~tcard@p945242-ipngn9701hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving)
09:26:34 PiDelport joins (uid25146@id-25146.lymington.irccloud.com)
09:26:49 tcard joins (~tcard@p945242-ipngn9701hodogaya.kanagawa.ocn.ne.jp)
09:34:41 luffy joins (~chenqisu1@183.217.201.192)
09:36:44 × mixfix41 quits (~sdeny9ee@user/mixfix41) (Ping timeout: 244 seconds)
09:38:05 qhong_ joins (~qhong@rescomp-21-400677.stanford.edu)
09:40:39 mncheck joins (~mncheck@193.224.205.254)
09:41:54 × qhong quits (~qhong@rescomp-21-400677.stanford.edu) (Ping timeout: 268 seconds)
09:41:54 × mikoto-chan quits (~mikoto-ch@dy69gb1kyyyyyyyyyyyby-4.rev.dnainternet.fi) (Ping timeout: 244 seconds)
09:43:45 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 268 seconds)
09:46:50 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
09:57:45 × pagnol quits (~me@213-205-209-87.ftth.glasoperator.nl) (Quit: Leaving)
09:59:54 × caffery156 quits (~caffery@user/caffery156) (Quit: WeeChat 3.6)
10:04:47 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
10:06:09 <kuribas> hmm: _s2hg::I64 = _s2h1::I64 * 3 + (_s2h1::I64 * 3 + ((_s2h3::I64 << 2) + (_s2h1::I64 * 3 + ((_s2h3::I64 << 2) + (I64[R1 + 7] << 5)))));
10:06:26 <kuribas> it looks like it could have calculated the "_s2h1::I64 * 3" part only once.
10:06:53 <kuribas> I would think the CSE would take care of that.
10:07:13 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 244 seconds)
10:08:58 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
10:12:24 × wolfshappen quits (~waff@irc.furworks.de) (Ping timeout: 244 seconds)
10:17:39 wolfshappen joins (~waff@irc.furworks.de)
10:21:11 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
10:24:36 <kuribas> ah, llvm does it better.
10:25:44 <kuribas> it generated "imulq $9, 16(%rbp), %rsi"
10:28:42 × odnes quits (~odnes@5-203-166-239.pat.nym.cosmote.net) (Quit: Leaving)
10:30:07 <kuribas> but it's an old ghc (8.6.5) so they may have been improved
10:31:49 × coot quits (~coot@213.134.176.158) (Ping timeout: 268 seconds)
10:40:56 <kuribas> So far I am quite satisfied with how ghc can inline known variables, functions and class instances.
10:41:29 nate4 joins (~nate@98.45.169.16)
10:42:59 × vglfr quits (~vglfr@145.224.94.248) (Ping timeout: 252 seconds)
10:43:41 <kuribas> I was worried lazyness would get in the way of that, but it doesn't.
10:43:50 vglfr joins (~vglfr@145.224.94.248)
10:44:18 × wonko_ quits (~wjc@2a0e:1c80:2::130) (Ping timeout: 240 seconds)
10:45:58 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 244 seconds)
10:46:18 × raym quits (~raym@user/raym) (Remote host closed the connection)
10:55:22 raym joins (~raym@user/raym)
11:06:58 xff0x joins (~xff0x@ai071162.d.east.v6connect.net)
11:21:39 Kaiepi joins (~Kaiepi@142.68.249.28)
11:22:41 bitdex_ joins (~bitdex@gateway/tor-sasl/bitdex)
11:23:57 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
11:24:03 × Kaipei quits (~Kaiepi@142.68.249.28) (Ping timeout: 252 seconds)
11:24:48 mastarija joins (~mastarija@2a05:4f46:e03:6000:5131:5449:6319:5d6f)
11:29:33 × toeffel quits (~toeffel@user/toeffel) (Ping timeout: 252 seconds)
11:48:20 jinsun__ joins (~jinsun@user/jinsun)
11:48:20 jinsun is now known as Guest2127
11:48:20 × Guest2127 quits (~jinsun@user/jinsun) (Killed (molybdenum.libera.chat (Nickname regained by services)))
11:48:20 jinsun__ is now known as jinsun
11:51:44 notzmv joins (~zmv@user/notzmv)
11:53:07 × TonyStone quits (~TonyStone@2603-7080-8607-c36a-d034-9363-3fef-214e.res6.spectrum.com) (Ping timeout: 248 seconds)
11:54:38 × mastarija quits (~mastarija@2a05:4f46:e03:6000:5131:5449:6319:5d6f) (Quit: WeeChat 3.5)
11:55:57 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
11:56:35 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
11:57:43 sajith- is now known as sajith
12:03:24 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
12:08:27 × m1dnight quits (~christoph@78-22-0-121.access.telenet.be) (Quit: WeeChat 3.6)
12:08:30 TonyStone joins (~TonyStone@2603-7080-8607-c36a-d034-9363-3fef-214e.res6.spectrum.com)
12:08:52 m1dnight joins (~christoph@78-22-0-121.access.telenet.be)
12:09:29 toeffel joins (~toeffel@user/toeffel)
12:10:14 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
12:10:24 matthewmosior joins (~matthewmo@173.170.253.91)
12:15:06 × PiDelport quits (uid25146@id-25146.lymington.irccloud.com) (Quit: Connection closed for inactivity)
12:16:36 × Pent_ quits (sid313808@id-313808.lymington.irccloud.com) ()
12:16:44 × bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:17:02 Pent_ joins (sid313808@id-313808.lymington.irccloud.com)
12:18:00 × Pent_ quits (sid313808@id-313808.lymington.irccloud.com) (Client Quit)
12:18:52 Pent joins (sid313808@id-313808.lymington.irccloud.com)
12:19:18 × acidjnk quits (~acidjnk@p200300d6e7137a813c1ceb484850c742.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
12:27:11 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
12:27:42 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds)
12:30:11 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
12:31:22 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 244 seconds)
12:41:07 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
12:41:14 matthewmosior joins (~matthewmo@173.170.253.91)
12:41:58 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
12:42:18 nate4 joins (~nate@98.45.169.16)
12:46:55 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds)
12:49:01 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
12:52:58 × xff0x quits (~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 240 seconds)
12:54:06 × TonyStone quits (~TonyStone@2603-7080-8607-c36a-d034-9363-3fef-214e.res6.spectrum.com) (Ping timeout: 264 seconds)
12:54:18 × frost quits (~frost@user/frost) (Ping timeout: 252 seconds)
12:54:32 × Jonno_FT1 quits (~come@api.carswap.me) (Quit: Reconnecting)
12:54:40 Jonno_FTW joins (~come@api.carswap.me)
12:54:41 × Jonno_FTW quits (~come@api.carswap.me) (Changing host)
12:54:41 Jonno_FTW joins (~come@user/jonno-ftw/x-0835346)
12:54:43 nefercheprure is now known as TMA
12:55:10 xff0x joins (~xff0x@2405:6580:b080:900:e333:df19:b280:4b33)
12:55:21 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds)
12:58:53 × mniip quits (mniip@libera/staff/mniip) (Remote host closed the connection)
13:00:23 Guest56 joins (~Guest56@2a00:23c5:b80c:6a01:a067:3e1e:2f95:274b)
13:00:59 × Guest56 quits (~Guest56@2a00:23c5:b80c:6a01:a067:3e1e:2f95:274b) (Client Quit)
13:02:32 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
13:03:12 matthewmosior joins (~matthewmo@173.170.253.91)
13:06:15 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds)
13:07:32 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
13:07:52 ChaiTRex joins (~ChaiTRex@user/chaitrex)
13:07:52 Guest56 joins (~Guest56@2a00:23c5:b80c:6a01:a067:3e1e:2f95:274b)
13:08:49 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
13:09:06 shriekingnoise joins (~shrieking@186.137.167.202)
13:09:36 TonyStone joins (~TonyStone@2603-7080-8607-c36a-d034-9363-3fef-214e.res6.spectrum.com)
13:10:53 <Guest56> Hi guys, I am beginning the mooc.fi haskell course and I am having an issue with downloading the stack tool. I am getting a lot of warnings about its safety, i am inclined to ignore them and download regardless but is there anything i should know about its safety. Thanks in advance.
13:12:26 <geekosaur> stack itself is fine. I do wonder if "warnings about its safety" means either you've found an untrusted repo, or if your Let's Encrypt root cert is expired
13:13:13 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 244 seconds)
13:13:17 nilradical joins (~nilradica@user/naso)
13:15:51 × Kaiepi quits (~Kaiepi@142.68.249.28) (Ping timeout: 268 seconds)
13:16:37 × luffy quits (~chenqisu1@183.217.201.192) (Ping timeout: 252 seconds)
13:19:31 × kitty4 quits (~kitty@096-039-147-043.res.spectrum.com) (Ping timeout: 248 seconds)
13:20:53 matthewmosior joins (~matthewmo@173.170.253.91)
13:23:45 kitty4 joins (~kitty@096-039-147-043.res.spectrum.com)
13:25:43 <Guest56> I am not on a linux machine, its actually windows that doesn't seem to like the download, the Stack site provides a link to download through windows installer.I think I will just ignore the warnings and install, its probably because of the low number of installs onto windows.
13:27:53 <Guest56> Its fine, it passed all the antivirus hoops.
13:45:48 × Guest56 quits (~Guest56@2a00:23c5:b80c:6a01:a067:3e1e:2f95:274b) (Quit: Client closed)
13:47:33 × raym quits (~raym@user/raym) (Remote host closed the connection)
13:48:38 ft joins (~ft@p4fc2a0f5.dip0.t-ipconnect.de)
13:50:55 Kaiepi joins (~Kaiepi@142.68.249.28)
13:52:51 × cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds)
13:52:56 cheater1__ joins (~Username@user/cheater)
13:53:01 cheater1__ is now known as cheater
13:56:13 × shapr quits (~user@68.54.166.125) (Ping timeout: 252 seconds)
13:58:14 <texasmynsted> I watched this https://youtu.be/3uwrtjxiq6E about Rel8. Great idea and interesting. It occurs to me that I would like to find an alternative approach to working with postgres.
13:59:56 <texasmynsted> There are _many_ database packages. What is something I should look at if I want many of my queries to be raw SQL but still have a nice experience in haskell?
14:00:47 × Volt_ quits (~Volt_@c-73-167-119-209.hsd1.ma.comcast.net) (Quit: )
14:01:27 raym joins (~raym@user/raym)
14:02:43 × kitty4 quits (~kitty@096-039-147-043.res.spectrum.com) (Ping timeout: 268 seconds)
14:03:27 <merijn> texasmynsted: "rolling your own" :p
14:03:49 <texasmynsted> :-) That would likely be fun.
14:03:56 <merijn> texasmynsted: My advice would be: use one of the X-simple low level packages and handroll your own abstractions on top of that
14:04:11 <merijn> That's what I would do for my code with the benefit of hindsight
14:04:33 <merijn> I'm using persistent atm, but I would definitely *not* advise that :p
14:04:33 <texasmynsted> https://xkcd.com/927/
14:05:25 <merijn> texasmynsted: I build my own kinda abstraction on top of it if you want some inspiration: https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/src/Query.hs
14:05:29 <texasmynsted> heh, why not _persistent_?
14:06:04 <merijn> texasmynsted: Because using it correctly involves becoming an expert in persistent internals
14:06:49 <merijn> The superficial API seems very convenient and easy. And then you realise the design of a bunch of dependencies and other things changed introducing all sorts of tricky edge cases into this "safe" API
14:07:35 shapr joins (~user@68.54.166.125)
14:07:37 <texasmynsted> "Because using it correctly involves becoming an expert in persistent internals" = exactly what I am trying to avoid.
14:07:51 <merijn> texasmynsted: See for example https://github.com/yesodweb/persistent/issues/981
14:08:22 <texasmynsted> o_O yike!
14:08:30 <texasmynsted> or yikes
14:08:51 <texasmynsted> hehe, persistent is out then
14:08:51 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:95c3:2c3e:653d:83f0) (Quit: WeeChat 2.8)
14:09:17 <merijn> texasmynsted: Personally I would just use sqlite-simple if I had to do this again (or postgres-simple if you want to use postgres)
14:10:24 <merijn> And then wrap it with something like the Query type I made to encapsulate the messy low level bits and provide a nice high-level API
14:14:19 <texasmynsted> Okay that does sound like a good fit
14:17:36 <merijn> texasmynsted: The low-level/raw SQL intercace I use in the module I linked is basically equivalent to the interface the -simple packages provide, so should be easy enough to roll something like that
14:20:51 mixfix41 joins (~sdeny9ee@user/mixfix41)
14:23:26 × Katarushisu quits (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat)
14:26:26 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
14:26:26 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
14:26:26 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Read error: Connection reset by peer)
14:26:26 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Write error: Connection reset by peer)
14:26:42 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
14:26:44 chexum joins (~quassel@gateway/tor-sasl/chexum)
14:26:54 azimut joins (~azimut@gateway/tor-sasl/azimut)
14:26:58 jpds joins (~jpds@gateway/tor-sasl/jpds)
14:29:17 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
14:29:30 chexum joins (~quassel@gateway/tor-sasl/chexum)
14:29:38 acidjnk joins (~acidjnk@p200300d6e7137a8130878ffc93dd9ace.dip0.t-ipconnect.de)
14:29:56 × nilradical quits (~nilradica@user/naso) (Remote host closed the connection)
14:30:31 Katarushisu joins (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net)
14:31:04 nilradical joins (~nilradica@user/naso)
14:32:14 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
14:32:23 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
14:32:29 matthewmosior joins (~matthewmo@173.170.253.91)
14:33:55 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
14:36:24 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 244 seconds)
14:36:33 × nilradical quits (~nilradica@user/naso) (Ping timeout: 252 seconds)
14:37:32 matthewmosior joins (~matthewmo@173.170.253.91)
14:38:20 <texasmynsted> Thank you :-)
14:40:03 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
14:40:38 × toeffel quits (~toeffel@user/toeffel) (Ping timeout: 240 seconds)
14:42:47 matthewmosior joins (~matthewmo@173.170.253.91)
14:43:59 Sgeo joins (~Sgeo@user/sgeo)
14:48:12 <ryantrinkle> merijn: wow that is a mess lol
14:48:30 <ryantrinkle> texasmynsted: i agree with merijn that the *-simple libs are great
14:48:52 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:48:54 <ryantrinkle> if you want more of your DB schema to be typed in Haskell-land, i'd recommend Beam
14:49:06 <ryantrinkle> but it requires a decent investment of time to learn
14:56:39 toeffel joins (~toeffel@user/toeffel)
14:56:51 × zeenk quits (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!)
15:01:05 × glguy quits (x@libera/staff-emeritus/glguy) (Ping timeout: 255 seconds)
15:02:12 <kuribas> meh, I've been using my own database library with not many problems.
15:02:13 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
15:02:37 <kuribas> without the complexity of beam, and without the unsafeness of *-simple
15:02:56 <kuribas> though it currently works only on mysql
15:07:03 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
15:07:20 Master_Sporta joins (~master@37.230.207.224)
15:07:25 × Master_Sporta quits (~master@37.230.207.224) (Client Quit)
15:07:44 Master_Sporta joins (~master@37.230.207.224)
15:07:54 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Remote host closed the connection)
15:09:48 × gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer)
15:10:04 gentauro joins (~gentauro@user/gentauro)
15:10:39 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 252 seconds)
15:11:58 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
15:14:20 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
15:14:32 kadir joins (~kadir@78.190.9.68)
15:16:17 nilradical joins (~nilradica@user/naso)
15:16:28 × nilradical quits (~nilradica@user/naso) (Remote host closed the connection)
15:16:39 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
15:16:56 × stefan-_ quits (~cri@42dots.de) (Ping timeout: 260 seconds)
15:16:58 matthewmosior joins (~matthewmo@173.170.253.91)
15:18:19 <pareto-optimal-d> <ryantrinkle> "if you want more of your DB..." <- I've started recommending rel8 over either persistent or beam if you are using or can use postgres
15:19:54 × acidjnk quits (~acidjnk@p200300d6e7137a8130878ffc93dd9ace.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
15:20:31 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:21:20 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
15:21:40 <c_wraith> have you found its model to work for your needs? I've always thought the idea of rel8 was cool, but I wasn't sure it was flexible enough for what I need.
15:23:04 Successus joins (~Successus@user/Successus)
15:25:30 motherfsck joins (~motherfsc@user/motherfsck)
15:27:31 `2jt joins (~jtomas@56.red-88-17-82.dynamicip.rima-tde.net)
15:30:04 × biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer)
15:33:38 roboguy joins (~roboguy@user/roboguy)
15:35:15 × dtman34 quits (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
15:38:22 coot joins (~coot@213.134.176.158)
15:38:55 biberu joins (~biberu@user/biberu)
15:39:02 rockymarine joins (~rocky@user/rockymarine)
15:40:04 matthewmosior joins (~matthewmo@173.170.253.91)
15:42:30 dtman34 joins (~dtman34@2601:446:4400:2ad9:4876:edc8:3707:71a1)
15:44:25 Master_Sporta parts (~master@37.230.207.224) ()
15:46:19 stefan-_ joins (~cri@42dots.de)
15:47:51 × hpc quits (~juzz@ip98-169-32-242.dc.dc.cox.net) (Ping timeout: 260 seconds)
15:48:19 × raym quits (~raym@user/raym) (Ping timeout: 268 seconds)
15:48:36 <pareto-optimal-d> I've only been using it for side projects so far since work has lots of blockers for such a move c_wraith
15:48:36 <pareto-optimal-d> However I can't think of cases where it wouldn't be flexible enough for work use cases for me.
15:48:36 <pareto-optimal-d> It's an adjustment for sure since your mental model becomes more Haskell than SQL.
15:49:24 hpc joins (~juzz@ip98-169-32-242.dc.dc.cox.net)
15:50:01 <pareto-optimal-d> Question: Is there some trick to showing all "instance Arbitrary YourType` not defined errors? Like if that type had a field whose type didn't have an arbitrary instance, I'd like to see both errors.
15:50:01 <pareto-optimal-d> I thought `-fkeep-going` and `-fdeferred` type errors might do it but they didn't.
15:50:17 <pareto-optimal-d> This also may not be easily possible.
15:51:00 <c_wraith> The thing is, that's not actually knowable
15:51:23 <c_wraith> it's possible you'll write an instance that doesn't require an instance for its type variables
15:51:56 <c_wraith> That sounds very unlikely with Arbitrary, but it is theoretically possible
15:52:18 Midjak joins (~Midjak@82.66.147.146)
15:54:22 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
15:56:43 janus parts (janus@anubis.0x90.dk) ()
15:56:43 Guest__ joins (~Gambino@pool-100-11-18-203.phlapa.fios.verizon.net)
15:58:39 raym joins (~raym@user/raym)
15:59:46 gmg joins (~user@user/gehmehgeh)
16:00:40 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
16:02:09 matthewmosior joins (~matthewmo@173.170.253.91)
16:04:30 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:04:41 × Guest__ quits (~Gambino@pool-100-11-18-203.phlapa.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:06:47 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
16:07:15 matthewmosior joins (~matthewmo@173.170.253.91)
16:11:44 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
16:13:25 glguy joins (x@libera/staff-emeritus/glguy)
16:13:37 neceve joins (~quassel@2.26.93.14)
16:15:18 hgolden joins (~Howard@cpe-172-251-233-141.socal.res.rr.com)
16:19:00 Guest__ joins (~Gambino@pool-100-11-18-203.phlapa.fios.verizon.net)
16:24:05 × Guest__ quits (~Gambino@pool-100-11-18-203.phlapa.fios.verizon.net) (Ping timeout: 268 seconds)
16:26:25 matthewmosior joins (~matthewmo@173.170.253.91)
16:28:20 × alp quits (~alp@user/alp) (*.net *.split)
16:28:20 × bonz060_ quits (~quassel@2001:bc8:47a4:a23::1) (*.net *.split)
16:28:20 × jonrh quits (sid5185@id-5185.ilkley.irccloud.com) (*.net *.split)
16:28:20 × rubin55 quits (sid175221@id-175221.hampstead.irccloud.com) (*.net *.split)
16:28:20 × iphy quits (sid67735@id-67735.lymington.irccloud.com) (*.net *.split)
16:28:21 × Trattue quits (~Trattue@152.70.182.158) (*.net *.split)
16:28:21 × Zemyla quits (~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com) (*.net *.split)
16:28:21 × dminuoso quits (~dminuoso@user/dminuoso) (*.net *.split)
16:28:21 × markasoftware quits (~quassel@107.161.26.124) (*.net *.split)
16:28:21 × Logio quits (em@kapsi.fi) (*.net *.split)
16:28:21 × piele quits (~piele@tbonesteak.creativeserver.net) (*.net *.split)
16:28:21 × akhesacaro quits (~caro@212-83-144-58.rev.poneytelecom.eu) (*.net *.split)
16:28:21 × derelict quits (~derelict@user/derelict) (*.net *.split)
16:28:21 × kronicmage quits (user92236@neotame.csclub.uwaterloo.ca) (*.net *.split)
16:28:21 × T_S_ quits (sid501726@id-501726.uxbridge.irccloud.com) (*.net *.split)
16:28:21 × S11001001 quits (sid42510@id-42510.ilkley.irccloud.com) (*.net *.split)
16:28:21 × amir quits (sid22336@user/amir) (*.net *.split)
16:28:21 × nurupo quits (~nurupo.ga@user/nurupo) (*.net *.split)
16:28:21 × WaxCPU quits (Andrew@user/AndrewYu) (*.net *.split)
16:28:31 Logio joins (em@kapsi.fi)
16:28:31 akhesacaro joins (~caro@212-83-144-58.rev.poneytelecom.eu)
16:28:35 piele joins (~piele@tbonesteak.creativeserver.net)
16:28:35 bonz060 joins (~quassel@2001:bc8:47a4:a23::1)
16:28:37 kronicmage joins (user88019@neotame.csclub.uwaterloo.ca)
16:28:43 S11001001 joins (sid42510@id-42510.ilkley.irccloud.com)
16:28:43 iphy joins (sid67735@id-67735.lymington.irccloud.com)
16:28:44 jonrh joins (sid5185@id-5185.ilkley.irccloud.com)
16:28:47 rubin55 joins (sid175221@id-175221.hampstead.irccloud.com)
16:28:51 T_S_ joins (sid501726@id-501726.uxbridge.irccloud.com)
16:28:58 nurupo joins (~nurupo.ga@user/nurupo)
16:29:00 Andrew joins (Andrew@user/AndrewYu)
16:29:12 amir joins (sid22336@id-22336.hampstead.irccloud.com)
16:29:13 × amir quits (sid22336@id-22336.hampstead.irccloud.com) (Changing host)
16:29:13 amir joins (sid22336@user/amir)
16:29:28 Trattue joins (~Trattue@152.70.182.158)
16:30:35 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
16:31:06 derelict joins (~derelict@user/derelict)
16:31:17 acidjnk joins (~acidjnk@p200300d6e7137a2230878ffc93dd9ace.dip0.t-ipconnect.de)
16:31:40 dminuoso joins (~dminuoso@user/dminuoso)
16:33:36 Zemyla joins (~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com)
16:36:39 titibandit joins (~titibandi@xdsl-84-44-227-248.nc.de)
16:38:03 × hgolden quits (~Howard@cpe-172-251-233-141.socal.res.rr.com) (Quit: Leaving)
16:38:19 hgolden joins (~Howard@cpe-172-251-233-141.socal.res.rr.com)
16:39:24 causal joins (~user@50.35.83.177)
16:41:35 Guest___ joins (~Gambino@pool-100-11-18-203.phlapa.fios.verizon.net)
16:42:22 <texasmynsted> okay. That makes sense. There are times where a query is complex or potentially time consuming where I want to just use SQL and let the query planner handle the complexity.
16:43:01 × Guest___ quits (~Gambino@pool-100-11-18-203.phlapa.fios.verizon.net) (Client Quit)
16:43:26 owsley joins (~owsley@pool-100-11-18-203.phlapa.fios.verizon.net)
16:43:46 nate4 joins (~nate@98.45.169.16)
16:44:03 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:44:10 <texasmynsted> rel8 is impressive . . .
16:44:52 × mbuf quits (~Shakthi@49.204.128.234) (Quit: Leaving)
16:45:08 × hgolden quits (~Howard@cpe-172-251-233-141.socal.res.rr.com) (Quit: Leaving)
16:45:28 hgolden joins (~Howard@cpe-172-251-233-141.socal.res.rr.com)
16:48:40 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 244 seconds)
16:50:43 × toeffel quits (~toeffel@user/toeffel) (Ping timeout: 248 seconds)
16:52:47 __monty__ joins (~toonn@user/toonn)
16:53:12 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
16:53:22 × owsley quits (~owsley@pool-100-11-18-203.phlapa.fios.verizon.net) (Read error: Connection reset by peer)
16:59:16 owsley joins (~owsley@pool-100-11-18-203.phlapa.fios.verizon.net)
17:00:16 matthewmosior joins (~matthewmo@173.170.253.91)
17:02:12 <pareto-optimal-d> <texasmynsted> "rel8 is impressive . . ." <- Yeah the cookbook gives you a good feel for it too:
17:02:12 <pareto-optimal-d> https://rel8.readthedocs.io/en/latest/cookbook.html
17:04:34 <pareto-optimal-d> I'm waiting on schema-rel8 to try stuff on work models: https://github.com/circuithub/rel8/pull/59
17:04:48 <pareto-optimal-d> * on schema-to-rel8 to
17:04:56 <pareto-optimal-d> * on schema-to-rel8 to, * on work db models: https://github.com/circuithub/rel8/pull/59
17:11:10 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
17:13:06 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
17:15:09 ec joins (~ec@gateway/tor-sasl/ec)
17:15:33 schuelermine[m] joins (~schuelerm@user/schuelermine)
17:19:54 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:21:20 × fserucas quits (~fserucas@83.223.240.58) (Quit: Leaving)
17:21:38 × acidjnk quits (~acidjnk@p200300d6e7137a2230878ffc93dd9ace.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
17:23:02 gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de)
17:23:17 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
17:24:14 × owsley quits (~owsley@pool-100-11-18-203.phlapa.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:24:39 owsley joins (~owsley@pool-100-11-18-203.phlapa.fios.verizon.net)
17:25:03 owsley is now known as Guest6294
17:28:53 × Guest6294 quits (~owsley@pool-100-11-18-203.phlapa.fios.verizon.net) (Ping timeout: 252 seconds)
17:30:35 matthewmosior joins (~matthewmo@173.170.253.91)
17:30:40 × razetime quits (~quassel@117.193.3.141) (Remote host closed the connection)
17:31:44 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
17:32:45 <texasmynsted> nice
17:33:59 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
17:34:06 matthewmosior joins (~matthewmo@173.170.253.91)
17:34:11 mikoto-chan joins (~mikoto-ch@dyjhv-mtyyyyyyyyyyybt-4.rev.dnainternet.fi)
17:35:47 × ccntrq quits (~Thunderbi@172.209.94.92.rev.sfr.net) (Read error: Connection reset by peer)
17:36:42 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
17:37:23 × titibandit quits (~titibandi@xdsl-84-44-227-248.nc.de) (Remote host closed the connection)
17:38:43 AlexNoo_ is now known as AlexNoo
17:42:56 econo joins (uid147250@user/econo)
17:43:33 × hpc quits (~juzz@ip98-169-32-242.dc.dc.cox.net) (Ping timeout: 252 seconds)
17:45:26 hpc joins (~juzz@ip98-169-32-242.dc.dc.cox.net)
17:45:42 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds)
17:47:42 ChaiTRex joins (~ChaiTRex@user/chaitrex)
17:48:01 × ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec)
17:48:34 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:49:25 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds)
17:49:38 × hpc quits (~juzz@ip98-169-32-242.dc.dc.cox.net) (Ping timeout: 244 seconds)
17:50:57 × mikoto-chan quits (~mikoto-ch@dyjhv-mtyyyyyyyyyyybt-4.rev.dnainternet.fi) (Ping timeout: 268 seconds)
17:51:06 toeffel joins (~toeffel@user/toeffel)
17:51:32 rockymarine joins (~rocky@user/rockymarine)
17:56:25 hpc joins (~juzz@ip98-169-32-242.dc.dc.cox.net)
18:00:12 × nurupo quits (~nurupo.ga@user/nurupo) (Quit: nurupo.ga)
18:00:25 nurupo joins (~nurupo.ga@user/nurupo)
18:01:01 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 244 seconds)
18:06:57 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
18:09:19 × mixfix41 quits (~sdeny9ee@user/mixfix41) (Quit: loggin off)
18:11:15 matthewmosior joins (~matthewmo@173.170.253.91)
18:12:40 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
18:20:01 jakalx parts (~jakalx@base.jakalx.net) ()
18:21:31 matthewmosior joins (~matthewmo@173.170.253.91)
18:22:42 × coot quits (~coot@213.134.176.158) (Quit: coot)
18:22:49 jakalx joins (~jakalx@base.jakalx.net)
18:23:06 AlexNoo_ joins (~AlexNoo@178.34.163.149)
18:23:31 biberu\ joins (~biberu@user/biberu)
18:23:49 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
18:24:44 acidjnk joins (~acidjnk@p200300d6e7137a2230878ffc93dd9ace.dip0.t-ipconnect.de)
18:25:50 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
18:26:39 × AlexNoo quits (~AlexNoo@178.34.163.186) (Ping timeout: 268 seconds)
18:26:41 × Alex_test quits (~al_test@178.34.163.186) (Ping timeout: 268 seconds)
18:27:01 fef joins (~thedawn@user/thedawn)
18:27:18 × AlexZenon quits (~alzenon@178.34.163.186) (Ping timeout: 268 seconds)
18:27:25 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
18:27:37 matthewmosior joins (~matthewmo@173.170.253.91)
18:27:48 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:27:53 × biberu quits (~biberu@user/biberu) (Ping timeout: 268 seconds)
18:27:53 biberu\ is now known as biberu
18:29:11 Guest2 joins (~Guest2@207.102.57.162)
18:30:39 Alex_test joins (~al_test@178.34.163.149)
18:31:18 dysfigured is now known as dfg
18:31:25 × dfg quits (dfg@dfg.rocks) (Changing host)
18:31:25 dfg joins (dfg@user/dfg)
18:31:50 AlexZenon joins (~alzenon@178.34.163.149)
18:31:50 <Guest2> I’m looking at the servant tutorial and I’m having trouble interpreting:
18:31:51 <Guest2> type RootEndpoint =
18:31:51 <Guest2>   Get '[JSON] User
18:31:52 <Guest2> what is ‘ and is [JSON] the type of a list of JSON?
18:32:01 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
18:32:04 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
18:33:26 <Guest2> anyone around that can offer suggestions of what I need to read? I see DataKinds and TypeOperator extensions are enabled. Is the answer there?
18:33:34 AlexNoo_ is now known as AlexNoo
18:33:44 <geekosaur> there, the tick means that what follows is a promoted value (in this case, a type level list)
18:33:55 <geekosaur> DataKinds will tell you about the tick
18:34:14 <geekosaur> the list is a list of types of kind JSON, which is probably promoted
18:34:29 <Guest2> Ok, cool. Looks like a bunch of reading but prob. worth it
18:34:30 <geekosaur> that is, somewhere there is a definition `data JSON = ...`
18:34:47 <geekosaur> and the valid values of kind JSON are whatever the `...` is
18:35:01 sjanssen joins (~sjanssenm@2001:470:69fc:105::1:61d8)
18:35:34 <Guest2>  Many thanks geekosaur
18:35:37 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 252 seconds)
18:36:29 Guest2 parts (~Guest2@207.102.57.162) ()
18:38:29 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
18:39:05 matthewmosior joins (~matthewmo@173.170.253.91)
18:39:15 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 244 seconds)
18:41:14 Lord_of_Life_ is now known as Lord_of_Life
18:41:47 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:45:59 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
18:46:46 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
18:48:09 lortabac joins (~lortabac@2a01:e0a:541:b8f0:818a:17a5:ec7a:19f9)
18:51:07 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
18:51:39 × mncheck quits (~mncheck@193.224.205.254) (Ping timeout: 244 seconds)
18:53:18 × `2jt quits (~jtomas@56.red-88-17-82.dynamicip.rima-tde.net) (Remote host closed the connection)
18:53:41 `2jt joins (~jtomas@56.red-88-17-82.dynamicip.rima-tde.net)
18:57:59 matthewmosior joins (~matthewmo@173.170.253.91)
19:01:27 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 244 seconds)
19:02:29 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
19:02:48 owsley joins (~owsley@pool-100-11-18-203.phlapa.fios.verizon.net)
19:02:55 owsley is now known as Guest7666
19:05:12 × shapr quits (~user@68.54.166.125) (Remote host closed the connection)
19:06:35 × fef quits (~thedawn@user/thedawn) (Ping timeout: 258 seconds)
19:11:09 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:14:38 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
19:15:47 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
19:16:24 matthewmosior joins (~matthewmo@173.170.253.91)
19:17:30 × acidjnk quits (~acidjnk@p200300d6e7137a2230878ffc93dd9ace.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
19:19:01 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 244 seconds)
19:20:32 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
19:21:00 kydliceh joins (~kydliceh@94-255-154-14.cust.bredband2.com)
19:24:32 acidjnk joins (~acidjnk@p200300d6e7137a2230878ffc93dd9ace.dip0.t-ipconnect.de)
19:29:53 × vglfr quits (~vglfr@145.224.94.248) (Ping timeout: 244 seconds)
19:30:07 rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
19:31:19 vglfr joins (~vglfr@145.224.94.248)
19:32:27 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
19:32:53 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
19:34:28 <kydliceh> hi
19:35:20 <geekosaur[m]> Hi
19:37:18 <kydliceh> I am having trouble with writing bind function for my state Monad :/
19:37:40 <kydliceh> https://github.com/hynky1999/LidlParser/blob/main/app/Interpreter.hs you can see the function at line 45
19:37:54 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:818a:17a5:ec7a:19f9) (Ping timeout: 264 seconds)
19:38:55 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
19:39:23 zeenk joins (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f)
19:41:56 <geekosaur> I would guess you've done something wrong somewhere else if you have an `IO a` (a generator of `a`s, in effect) there instead of an `a`
19:43:35 <geekosaur> presumably you want StateT Store IO (Either RuntimeError a)
19:44:12 <geekosaur> at least, if I'm reading this right
19:45:17 matthewmosior joins (~matthewmo@173.170.253.91)
19:45:23 <kydliceh> Well I haven't had there IO monad before. At the start it was just StateT Store (Either RuntimeError a).
19:45:59 <kydliceh> But then I needed to add printing capability to interpreter, so that print statements can be called
19:46:13 <geekosaur> then you need to do it the way I said
19:46:32 <kydliceh> Okay I will try that
19:46:35 <geekosaur> otherwise you're passing around `IO a`s you can't do anything with
19:51:58 <monochrom> I would think that "StateT Store (ExceptT RuntimeError IO) a" is the most appropriate.
19:52:33 <monochrom> or maybe not, maybe ExceptT RuntimeError (StateT Store IO) a
19:52:40 <geekosaur> I conbsidered suggesting that, but wasn't sure even mentioning StateT was appropriate
19:53:07 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
19:55:04 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
19:55:57 × Guest7666 quits (~owsley@pool-100-11-18-203.phlapa.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:56:41 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
19:57:01 × `2jt quits (~jtomas@56.red-88-17-82.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
19:58:58 owslye joins (~owsley@pool-100-11-18-203.phlapa.fios.verizon.net)
20:04:50 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 255 seconds)
20:05:44 jakalx joins (~jakalx@base.jakalx.net)
20:06:44 matthewmosior joins (~matthewmo@173.170.253.91)
20:10:47 OscarZ joins (~oscarz@95.175.104.83)
20:14:25 wonko_ joins (~wjc@2a0e:1c80:2::130)
20:16:07 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
20:18:05 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
20:20:23 kayvank joins (~user@52-119-115-185.PUBLIC.monkeybrains.net)
20:24:11 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
20:24:31 × rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds)
20:24:45 <kayvank> join
20:26:09 <geekosaur> ?
20:28:04 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
20:29:25 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:30:20 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
20:32:35 × owslye quits (~owsley@pool-100-11-18-203.phlapa.fios.verizon.net) (Read error: Connection reset by peer)
20:35:29 × toeffel quits (~toeffel@user/toeffel) (Quit: quit)
20:38:44 × kydliceh quits (~kydliceh@94-255-154-14.cust.bredband2.com) (Read error: Connection reset by peer)
20:39:59 <geekosaur> hrm
20:41:36 × phma quits (phma@2001:5b0:210b:e1a8:238a:6544:b808:4f6c) (Read error: Connection reset by peer)
20:42:06 × TonyStone quits (~TonyStone@2603-7080-8607-c36a-d034-9363-3fef-214e.res6.spectrum.com) (Ping timeout: 264 seconds)
20:42:19 `2jt joins (~jtomas@56.red-88-17-82.dynamicip.rima-tde.net)
20:43:25 kydliceh joins (~kydliceh@94-255-154-14.cust.bredband2.com)
20:45:18 nate4 joins (~nate@98.45.169.16)
20:47:18 jargon joins (~jargon@184.101.185.66)
20:47:24 phma joins (~phma@2001:5b0:212a:c678:14e3:c738:ac7d:1d76)
20:49:05 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds)
20:50:11 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds)
20:53:43 matthewmosior joins (~matthewmo@173.170.253.91)
20:55:31 × neceve quits (~quassel@2.26.93.14) (Ping timeout: 248 seconds)
20:57:30 TonyStone joins (~TonyStone@2603-7080-8607-c36a-64d5-91de-6fa5-ec29.res6.spectrum.com)
20:58:13 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
20:59:30 Guest5078 joins (~Guest50@50.47.108.232)
21:03:29 <geekosaur> kydliceh, you should probably be asking in here rather than pm-ing me; I'm not always at my desk
21:03:58 <geekosaur> but I think you have some misunderstandings as to how monads work
21:04:42 <geekosaur> (context for others: https://paste.tomsmeding.com/Ht52LOEs)
21:09:36 × wonko_ quits (~wjc@2a0e:1c80:2::130) (Ping timeout: 244 seconds)
21:10:42 × roboguy quits (~roboguy@user/roboguy) ()
21:10:43 × kydliceh quits (~kydliceh@94-255-154-14.cust.bredband2.com) (Ping timeout: 252 seconds)
21:10:47 kydliceh_ joins (~kydliceh@94-255-175-55.cust.bredband2.com)
21:11:28 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
21:11:33 matthewmosior joins (~matthewmo@173.170.253.91)
21:13:06 <kydliceh_> I do believe I understand how to work with one Monad but I don't quite understand how to work with composition of them
21:16:38 <geekosaur> % :set -XTypedHoles
21:16:38 <yahb2> Some flags have not been recognized: -XTypedHoles
21:17:06 <geekosaur> % :set -XScopedTypeVariables
21:17:06 <yahb2> <interactive>:1:1: error: Not in scope: ‘Yahb2Defs.limitedPrint’
21:17:30 <geekosaur> guess I'[m not using yahb2
21:17:48 <geekosaur> @let {-# LANGUAGE ScopedTypeVariables #-}
21:17:49 <lambdabot> Defined.
21:20:03 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:23:50 kadir parts (~kadir@78.190.9.68) (WeeChat 3.6)
21:24:24 son0p joins (~ff@181.136.122.143)
21:24:52 × kydliceh_ quits (~kydliceh@94-255-175-55.cust.bredband2.com) (Ping timeout: 268 seconds)
21:25:06 kydliceh_ joins (~kydliceh@94-255-154-14.cust.bredband2.com)
21:26:36 <geekosaur> :t runStateT (do { (p :: _) <- StateT (\_ -> return (Right "a", 1)); return p }) 0
21:26:37 <lambdabot> (Monad m, Num s) => m (Either a [Char], s)
21:26:56 <geekosaur> hm, didn't do the typed hole
21:28:03 <geekosaur> https://paste.tomsmeding.com/GvlufZKP
21:28:42 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
21:30:10 <geekosaur> so `p` there is already Either RuntimeError String (I left the Left type unspecified and used String just to get somethingt that could be evaluated)
21:30:49 <geekosaur> your use of `return` is somewhat suspect both in terms of trying to peel apart a monad stack, and looking as if you were trying to use it as a keyword
21:31:14 <[Leary]> kydliceh_: You build the composition from Monad transformers so it already has a Monad instance.
21:32:19 <geekosaur> also that
21:33:05 <geekosaur> tomsmeding: [02 21:17:06] <yahb2> <interactive>:1:1: error: Not in scope: ‘Yahb2Defs.limitedPrint’ (from: % :set -XScopedTypeVariables)
21:33:58 <geekosaur> maybe I should have used @tell, it's 22:30 over there I think…
21:35:54 <kydliceh_> Yeah I thought I still use the Monad I have defined rather than use Monad transformers
21:36:05 <kydliceh_> *I could still use
21:36:08 rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
21:36:16 <geekosaur> you already have one, you can't replace it
21:36:47 <geekosaur> and it should already do what you intend
21:37:27 <geekosaur> @unmtl StateT Store IO (Either RuntimeError a)
21:37:27 <lambdabot> Store -> IO (Either RuntimeError a, Store)
21:37:42 <kydliceh_> Yeah But I was not using StateT
21:38:15 <kydliceh_> I thought it would be Ok to leave there my custom State
21:38:39 <kydliceh_> https://github.com/hynky1999/LidlParser/blob/main/app/State.hs
21:38:45 <geekosaur> why do you need a custom State? and how did you plan to deal with IO?
21:39:52 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:39:54 <geekosaur> and, well, that module just looks like you reinvented Control.Monad.State (well, from mtl1 where it wasn't a wrapper for StateT). and you still need some way to deal with IO
21:40:02 <geekosaur> \which is why StateT exists
21:40:09 <kydliceh_> Well I don't need one, I reused a code from class so I left it there
21:40:22 <kydliceh_> Yeah it was made to explain how state monad works
21:43:39 <kydliceh_> I thought that I would resolve how to deal with IO at bind definition
21:43:59 <kydliceh_> But I guess I will take a look at transfomers before I ask another questions for sure
21:44:02 <geekosaur> but bind has no way to reach IO because it hasn't been plumbed through
21:44:20 <geekosaur> if it gets an IO a it can't do anything but return it
21:44:31 × califax quits (~califax@user/califx) (Ping timeout: 258 seconds)
21:44:47 <kydliceh_> Yeah that's why I had no idea how to continue
21:45:06 × MoC quits (~moc@user/moc) (Quit: Konversation terminated!)
21:45:09 <kydliceh_> And that's why there were the returns so I could "unwrap it"
21:45:28 <geekosaur> and even if you use your own State monad it will still behave like any other monad; you already get the whole thing evaluated with the <-, you can't peel it apart and manually evaluate each "level"
21:45:49 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
21:46:20 <kydliceh_> Ok, that makes sense. I thought I could somehow do it
21:46:20 califax joins (~califax@user/califx)
21:46:56 <geekosaur> and even if you could, once you commit to `return` you can't bail out of it if you get a RuntimeError instead of a result
21:48:20 × bbear quits (~david@2a01:e34:ec2b:d430:44a:f5ca:9867:d69d) (Ping timeout: 255 seconds)
21:50:11 <kydliceh_> okay
21:52:37 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
21:53:52 × kydliceh_ quits (~kydliceh@94-255-154-14.cust.bredband2.com) (Quit: Konversation terminated!)
21:55:23 × jludwig quits (~justin@li657-110.members.linode.com) (Changing host)
21:55:23 jludwig joins (~justin@user/jludwig)
21:57:32 matthewmosior joins (~matthewmo@173.170.253.91)
22:02:44 × leah_ quits (lp0@heathens.club) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
22:03:23 leah_ joins (lp0@heathens.club)
22:04:07 zmt00 joins (~zmt00@user/zmt00)
22:04:19 × zer0bitz quits (~zer0bitz@2001:2003:f748:2000:a8c4:c646:2b11:d02f) (Ping timeout: 248 seconds)
22:07:07 × Guest5078 quits (~Guest50@50.47.108.232) (Quit: Client closed)
22:17:47 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 244 seconds)
22:18:29 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
22:18:50 × Kaiepi quits (~Kaiepi@142.68.249.28) (Remote host closed the connection)
22:19:13 Kaiepi joins (~Kaiepi@142.68.249.28)
22:20:22 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
22:20:33 matthewmosior joins (~matthewmo@173.170.253.91)
22:21:15 Pickchea joins (~private@user/pickchea)
22:23:25 off^ joins (~off@c-73-237-184-20.hsd1.ga.comcast.net)
22:25:01 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
22:31:06 fhn joins (~fhn@2.58.185.24)
22:32:18 × acidjnk quits (~acidjnk@p200300d6e7137a2230878ffc93dd9ace.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
22:34:06 <fhn> I want to apply STArray s to newArray in ghci but this doesn't work: ghci> :t newArray @(forall s. STArray s) Can I do this somehow?
22:34:20 <fhn> (Error is: no impredicative polymorphism)
22:34:54 luffy joins (~chenqisu1@183.217.201.192)
22:37:29 matthewmosior joins (~matthewmo@173.170.253.91)
22:38:00 <geekosaur> what's wrong with newSTArray?
22:40:16 × rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
22:43:22 × alternateved quits (~user@staticline-31-183-146-203.toya.net.pl) (Remote host closed the connection)
22:43:34 <fhn> I didn't know it existed ;) I looked into Data.Array.ST and from there to Data.Array.MArray. I see now that newSTArray is in GHC.Arr
22:44:39 × off^ quits (~off@c-73-237-184-20.hsd1.ga.comcast.net) (Ping timeout: 244 seconds)
22:44:52 <geekosaur> @index newSTArray
22:44:52 <lambdabot> bzzt
22:45:39 off^ joins (~off@c-73-237-184-20.hsd1.ga.comcast.net)
22:47:42 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
22:47:49 paddymahoney joins (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com)
22:48:07 × zeenk quits (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!)
22:48:31 <fhn> bzzt?
22:48:49 <geekosaur> I believe what you really want is https://hackage.haskell.org/package/array-0.5.4.0/docs/Data-Array-ST.html and runSTArray, not using newSTArray directly
22:48:57 <geekosaur> the bot was telling me it's not in base
22:50:06 <geekosaur> any module starting with "GHC" is an internals module and you probably shouldn't use it directly
22:50:24 <geekosaur> only GHC.Exts is considered "safe"
22:50:54 <fhn> Good to know. Thank you!
22:52:40 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
22:53:02 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
22:55:50 <geekosaur> sorry for misleading you, I used hoogle but didn't notice it was pointing me at an internals module 😕
22:59:58 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
23:00:46 × Successus quits (~Successus@user/Successus) ()
23:05:36 <fhn> No worries. Appreciate suggesting runSTArray. If other beginners are wondering how to use it this is a minimal example:
23:05:38 <fhn> Data.Array.ST.runSTArray (do arr <- Data.Array.ST.newArray (0, 3) "empty"; return arr)
23:05:56 <fhn> Should return: array (0,3) [(0,"empty"),(1,"empty"),(2,"empty"),(3,"empty")]
23:06:16 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
23:13:11 × Pickchea quits (~private@user/pickchea) (Ping timeout: 252 seconds)
23:16:22 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
23:16:25 × Midjak quits (~Midjak@82.66.147.146) (Quit: Leaving)
23:21:51 × Kaiepi quits (~Kaiepi@142.68.249.28) (Ping timeout: 244 seconds)
23:29:33 × califax quits (~califax@user/califx) (Ping timeout: 258 seconds)
23:30:43 califax joins (~califax@user/califx)
23:32:26 Tuplanolla joins (~Tuplanoll@91-159-69-12.elisa-laajakaista.fi)
23:33:24 × ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Read error: Connection reset by peer)
23:34:18 ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
23:35:11 × `2jt quits (~jtomas@56.red-88-17-82.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
23:37:52 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
23:39:02 jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff)
23:46:26 pavonia joins (~user@user/siracusa)
23:50:13 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds)
23:50:52 matthewmosior joins (~matthewmo@173.170.253.91)
23:53:39 rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
23:59:41 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
23:59:47 rref joins (~moe@cpc110681-lewi19-2-0-cust485.2-4.cable.virginm.net)
23:59:48 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
23:59:48 finn_elija is now known as FinnElija

All times are in UTC on 2022-09-02.