Home liberachat/#haskell: Logs Calendar

Logs on 2023-09-06 (liberachat/#haskell)

00:00:47 aaronv joins (~aaronv@user/aaronv)
00:03:21 × stites quits (~stites@2607:fb90:ad62:84d1:e06:3ee5:5b34:6465) (Read error: Connection reset by peer)
00:03:40 stites joins (~stites@2601:19c:4180:2fa0:b469:c383:de1f:e18d)
00:04:45 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 255 seconds)
00:12:47 × stites quits (~stites@2601:19c:4180:2fa0:b469:c383:de1f:e18d) (Ping timeout: 244 seconds)
00:13:09 stites joins (~stites@2607:fb90:ad62:84d1:e06:3ee5:5b34:6465)
00:13:13 paulpaul1076 joins (~textual@95-26-14-70.broadband.corbina.ru)
00:13:47 bratwurst joins (~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8)
00:14:35 × danza quits (~francesco@ge-19-98-248.service.infuturo.it) (Read error: Connection reset by peer)
00:15:03 danza joins (~francesco@na-19-91-172.service.infuturo.it)
00:20:18 jmdaemon joins (~jmdaemon@user/jmdaemon)
00:21:14 ryanbooker joins (uid4340@id-4340.hampstead.irccloud.com)
00:21:17 masterbuilder joins (~masterbui@user/masterbuilder)
00:27:39 × bratwurst quits (~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8) (Ping timeout: 246 seconds)
00:29:34 × lottaquestions_ quits (~nick@2607:fa49:503d:b200:4f8:d092:c79f:e0d6) (*.net *.split)
00:29:35 × astra quits (sid289983@id-289983.hampstead.irccloud.com) (*.net *.split)
00:29:35 × TheCoffeMaker_ quits (~TheCoffeM@190.245.100.85) (*.net *.split)
00:29:35 × jbalint_ quits (~jbalint@071-090-119-177.res.spectrum.com) (*.net *.split)
00:29:35 × bah quits (~bah@l1.tel) (*.net *.split)
00:29:35 × danso quits (~danso@user/danso) (*.net *.split)
00:29:35 × tomku quits (~tomku@user/tomku) (*.net *.split)
00:29:36 × ouroboros quits (~ouroboros@user/ouroboros) (*.net *.split)
00:29:36 × jil`` quits (~user@vps-15050500.vps.ovh.net) (*.net *.split)
00:29:36 × joeyh_ quits (~joeyh@kitenet.net) (*.net *.split)
00:29:36 × hexology quits (~hexology@user/hexology) (*.net *.split)
00:29:36 × aspen quits (sid449115@id-449115.helmsley.irccloud.com) (*.net *.split)
00:29:36 × mniip quits (mniip@libera/staff/mniip) (*.net *.split)
00:29:41 mniip joins (mniip@libera/staff/mniip)
00:29:43 bah joins (~bah@l1.tel)
00:29:44 jbalint joins (~jbalint@2600:6c44:117f:e98a:816a:9488:fb1:7b7)
00:29:46 jil`` joins (~user@vps-15050500.vps.ovh.net)
00:29:47 joeyh joins (joeyh@kitenet.net)
00:29:49 tomku joins (~tomku@141-126-184-057.res.spectrum.com)
00:29:55 × tomku quits (~tomku@141-126-184-057.res.spectrum.com) (Changing host)
00:29:55 tomku joins (~tomku@user/tomku)
00:29:55 danso joins (~danso@user/danso)
00:29:56 aspen joins (sid449115@id-449115.helmsley.irccloud.com)
00:30:09 astra joins (sid289983@id-289983.hampstead.irccloud.com)
00:30:24 hexology joins (~hexology@user/hexology)
00:30:34 lottaquestions_ joins (~nick@2607:fa49:503d:b200:2663:b169:e6fe:3201)
00:30:39 × stites quits (~stites@2607:fb90:ad62:84d1:e06:3ee5:5b34:6465) (Read error: Connection reset by peer)
00:30:43 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
00:30:58 stites joins (~stites@2601:19c:4180:2fa0:aee7:aa3f:7068:e1bf)
00:33:21 ouroboros joins (~ouroboros@user/ouroboros)
00:36:04 × caryhartline quits (~caryhartl@168.182.58.169) (Quit: caryhartline)
00:38:21 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 245 seconds)
00:39:02 × aaronv quits (~aaronv@user/aaronv) (Ping timeout: 246 seconds)
00:39:04 bratwurst joins (~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8)
00:41:48 × stites quits (~stites@2601:19c:4180:2fa0:aee7:aa3f:7068:e1bf) (Ping timeout: 248 seconds)
00:42:06 stites joins (~stites@c-71-232-220-33.hsd1.ma.comcast.net)
00:44:39 × whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
00:44:41 yosef` joins (~yosef`@user/yosef/x-2947716)
00:44:41 caryhartline joins (~caryhartl@168.182.58.169)
00:46:33 × stites quits (~stites@c-71-232-220-33.hsd1.ma.comcast.net) (Read error: Connection reset by peer)
00:46:45 stites joins (~stites@c-71-232-220-33.hsd1.ma.comcast.net)
00:48:52 × paulpaul1076 quits (~textual@95-26-14-70.broadband.corbina.ru) (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:50:21 arahael joins (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
00:51:06 × stites quits (~stites@c-71-232-220-33.hsd1.ma.comcast.net) (Ping timeout: 246 seconds)
00:54:32 × arahael quits (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
00:56:15 stites joins (~stites@2607:fb90:ad62:84d1:e06:3ee5:5b34:6465)
00:56:52 × stites quits (~stites@2607:fb90:ad62:84d1:e06:3ee5:5b34:6465) (Read error: Connection reset by peer)
00:57:25 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
00:58:10 <wroathe> Is there a way to express the class of all types that have a field of type T?
00:58:12 paulpaul1076 joins (~textual@95-26-14-70.broadband.corbina.ru)
00:58:34 stites joins (~stites@2601:19c:4180:2fa0:9fc4:9658:a440:7fc2)
00:58:38 aaronv joins (~aaronv@user/aaronv)
00:58:55 <c_wraith> you really shouldn't. Classes should always be opt-in.
00:58:59 <wroathe> For example all types with a field of type Text, so data Foo = Foo Int Text Bool would match, but data Bar = Bar Int String Bool would not
01:00:01 <Axman6> the HasField class comes close, it has class HasField (x :: k) r a | x r -> a where, but I don't think you can meaningfully do something like: foo :: HasField x r T => x -> Bool
01:00:08 <EvanR> Foo Text Int has a field, Bar Int Text has a field, Baz Text Text has TWO fields, even better
01:00:16 <EvanR> (but no field names)
01:00:38 <Axman6> you could use generics-sop to build that constraint pretty easily though
01:01:00 <Axman6> and you could do it in a way that ensures there is exactly one field of that type
01:01:02 <wroathe> Well my use case is that I've got types that represent SQL tables where I've got a newtype field wrapper with a phantom type parameter that indicates the field is a primary key. I want to define the class of types that has a PrimaryKey field: data Foo = Foo { foo :: Constrained Text '[PrimaryKey], }
01:01:20 × chromoblob quits (~user@37.113.180.113) (Ping timeout: 245 seconds)
01:01:23 <Axman6> the generic-lens package has stuff for this actually, IIRC
01:01:48 <wroathe> Thanks Axman6. I'll have a look at these.
01:02:01 <c_wraith> write your class, give it a default instance that uses genericyuhujikop[]\
01:02:10 <c_wraith> err, sorry about that. cat interference.
01:02:23 <c_wraith> But leave the class opt-in
01:02:39 <c_wraith> just say "no" to writing classes for all types.
01:03:03 <wroathe> The opt-in is given by the fact that only types that have this Constrained newtype with this '[PrimaryKey] parameter will be part of the class
01:03:17 <c_wraith> that's not how classes work
01:03:19 <wroathe> Also this isn't a library, so I'm free to get up to all kinds of hijinx :P
01:03:26 <c_wraith> If you write an instance for all types, it's for all types
01:03:44 <c_wraith> Even if not all types can satisfy the additional constraints
01:04:49 <c_wraith> It's so much easier in the long term to explicitly opt in.
01:05:03 <c_wraith> Like.. things don't break the first time you have a special case.
01:06:51 × Vq quits (~vq@90-225-115-195-no122.tbcn.telia.com) (Ping timeout: 246 seconds)
01:07:29 × paulpaul1076 quits (~textual@95-26-14-70.broadband.corbina.ru) (Read error: Connection reset by peer)
01:09:39 <Axman6> I would defiitely look at generic-lens, there's lots of stuff in there for similar ideas
01:11:13 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:13:50 Vq joins (~vq@90-225-115-195-no122.tbcn.telia.com)
01:17:20 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:24:09 × ft quits (~ft@p508db230.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
01:26:00 ft joins (~ft@p3e9bcdd3.dip0.t-ipconnect.de)
01:29:38 × fr33domlover quits (~fr33domlo@towards.vision) (Remote host closed the connection)
01:31:36 cptaffe joins (~cptaffe@2600:1700:f08:111f::18e7)
01:33:35 bilegeek joins (~bilegeek@2600:1008:b0a2:81a2:fbea:6531:4bd9:c24a)
01:37:18 × Vq quits (~vq@90-225-115-195-no122.tbcn.telia.com) (Ping timeout: 246 seconds)
01:37:45 <Axman6> is there a lensism for making multiple changes to a subsection of a structure? foo & _APrism . _2 .~ True & _APrism . _3 .~ "Hello" --> foo & ._APrism . (_2 .~ True ??? _3 .~ "Hello")
01:38:53 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
01:43:36 × libertyprime quits (~libertypr@203.96.203.44) (Ping timeout: 246 seconds)
01:44:13 Vq joins (~vq@90-227-195-9-no77.tbcn.telia.com)
01:47:24 × bratwurst quits (~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8) (Remote host closed the connection)
01:47:28 × caryhartline quits (~caryhartl@168.182.58.169) (Quit: caryhartline)
01:47:47 bratwurst joins (~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8)
01:48:21 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 245 seconds)
01:48:51 × otto_s quits (~user@p5de2f6ce.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
01:49:15 <probie> Axman6: What would be the intended semantics if both lenses modified the same part of the structure?
01:49:34 <jackdk> Axman6: `foo & _APrism %~ (lensProduct _2 _3 .~ (True, "Hello"))`, but `Control.Lens.Unsound.lensProduct` must be given disjoint lenses
01:50:15 <c_wraith> > [(1,2), (3,4), (5,6)] &~ zoom (ix 1) (do _1 .= 7 ; _2 .= 9) -- Axman6: alternatively, you can get nice concrete semantics with something like this
01:50:17 <lambdabot> [(1,2),(7,9),(5,6)]
01:50:30 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds)
01:50:37 otto_s joins (~user@p5de2f2f3.dip0.t-ipconnect.de)
01:54:04 <c_wraith> ok, you can do it with less complexity:
01:54:05 <c_wraith> > [(1,2), (3,4), (5,6)] & ix 1 %~ (_1 .~ 7) . (_2 .~ 9)
01:54:05 arahael joins (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
01:54:06 <lambdabot> [(1,2),(7,9),(5,6)]
01:55:20 × aaronv quits (~aaronv@user/aaronv) (Ping timeout: 246 seconds)
01:57:36 × bratwurst quits (~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8) (Ping timeout: 246 seconds)
01:57:37 chromoblob joins (~user@37.113.180.113)
02:01:58 × chromoblob quits (~user@37.113.180.113) (Ping timeout: 258 seconds)
02:03:07 × arahael quits (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 258 seconds)
02:04:12 <jackdk> Oh yeah the operator Axman6 is looking for is actually `(.)`. Because everything in lens is secretly `(.)` or `id`
02:06:23 <c_wraith> well, the real trick in what I did was %~
02:06:43 <c_wraith> Which... ok, it's a coerce away from id. (It uses some Identity wrappers)
02:09:52 × EvanR quits (~EvanR@user/evanr) (Remote host closed the connection)
02:10:13 EvanR joins (~EvanR@user/evanr)
02:14:45 × td_ quits (~td@i53870903.versanet.de) (Ping timeout: 246 seconds)
02:15:17 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
02:16:47 td_ joins (~td@i53870923.versanet.de)
02:17:12 × xff0x quits (~xff0x@2405:6580:b080:900:cdd2:5212:d38a:f71b) (Ping timeout: 246 seconds)
02:20:39 <Axman6> probie: definitely perform the left update and then the right (which the lens laws should insure is fine, given that foo .~ x & foo .~ y == foo .~ y
02:21:06 <Axman6> hmmm, I guess using %~ works
02:23:17 <Axman6> needs something with different fixity than (.) though, because you end up needing to put each setting expression in brackets: _APrism %~ ((_2 .~ True) . (_3 .~ "Hello"))
02:23:39 <Axman6> oh I guess the outer ones are unneeded
02:31:02 × ryanbooker quits (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
02:32:43 × eggplant_ quits (~Eggplanta@2600:1700:38c5:d800:9c2e:82af:913e:28a3) (Remote host closed the connection)
02:32:59 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:9c2e:82af:913e:28a3)
02:39:05 arahael joins (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
02:42:51 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:42:51 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
02:50:36 aaronv joins (~aaronv@user/aaronv)
02:53:05 × arahael quits (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
02:56:56 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 246 seconds)
02:59:28 sm joins (~sm@plaintextaccounting/sm)
03:00:03 × sm quits (~sm@plaintextaccounting/sm) (Client Quit)
03:03:24 Lycurgus joins (~juan@user/Lycurgus)
03:07:10 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
03:08:25 × aforemny quits (~aforemny@2001:9e8:6cd1:3f00:8007:4d21:194:48dd) (Ping timeout: 245 seconds)
03:10:01 aforemny joins (~aforemny@2001:9e8:6cf9:8d00:b2a:e8e3:c3c0:d6bd)
03:10:11 × bilegeek quits (~bilegeek@2600:1008:b0a2:81a2:fbea:6531:4bd9:c24a) (Quit: Leaving)
03:15:33 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
03:15:59 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
03:16:24 jmdaemon joins (~jmdaemon@user/jmdaemon)
03:18:27 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
03:22:27 × rubin55 quits (sid175221@id-175221.hampstead.irccloud.com) (Server closed connection)
03:22:44 rubin55 joins (sid175221@id-175221.hampstead.irccloud.com)
03:25:24 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
03:38:17 × waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 245 seconds)
03:38:28 × yosef` quits (~yosef`@user/yosef/x-2947716) (Ping timeout: 245 seconds)
03:50:47 <c_wraith> Axman6: you can lose the inner brackets if you use set instead of .~
03:51:02 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
03:54:09 × thegeekinside quits (~thegeekin@189.180.122.37) (Ping timeout: 246 seconds)
04:01:31 Feuermagier_ joins (~Feuermagi@user/feuermagier)
04:01:31 Feuermagier is now known as Guest9089
04:01:32 Feuermagier_ is now known as Feuermagier
04:03:47 × Guest9089 quits (~Feuermagi@user/feuermagier) (Ping timeout: 246 seconds)
04:04:23 × Lycurgus quits (~juan@user/Lycurgus) (Quit: Tschüss)
04:05:06 gatekempt joins (~gatekempt@user/gatekempt)
04:08:06 angerman joins (uid209936@id-209936.ilkley.irccloud.com)
04:10:28 × catch22 quits (~catch22@204.40.96.58.static.exetel.com.au) (Quit: Leaving)
04:10:33 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
04:14:00 whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com)
04:14:38 × danza quits (~francesco@na-19-91-172.service.infuturo.it) (Read error: Connection reset by peer)
04:15:02 danza joins (~francesco@151.35.98.106)
04:18:43 × ddellacosta quits (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 250 seconds)
04:20:47 ddellacosta joins (~ddellacos@ool-44c738de.dyn.optonline.net)
04:20:59 arahael joins (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
04:23:49 caryhartline joins (~caryhartl@168.182.58.169)
04:25:18 × arahael quits (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
04:31:31 × gatekempt quits (~gatekempt@user/gatekempt) (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:32:02 <Axman6> Anyone have opinions on which yaml library to use?
04:36:08 <probie> For dealing with yaml in all its glory, or yaml as "JSON with comments and less string quoting"?
04:39:15 × shiraeeshi quits (~shiraeesh@46.42.245.170) (Ping timeout: 258 seconds)
04:42:21 <jackdk> convert in/out of dhall
04:44:23 acidjnk joins (~acidjnk@p200300d6e7072f3028e66677b5f34067.dip0.t-ipconnect.de)
04:45:03 <probie> I've used Snoyman's one which is just named "yaml", and whilst it worked for my use case, it bothered me because it doesn't support yaml 1.2, and because I also don't like Aeson.
04:45:06 <Axman6> Possibly YAML in all its glory, I'm definitely planning to have some form of referencing/templating (think: "array: {of: Boolean, size: 8, count: $CHANNEL_COUNT}}
04:47:04 <probie> It also explicitly rejects yaml documents with a version other than 1.1, when the spec says they "should be processed with an appropriate warning"
04:47:06 <Axman6> I was looking at https://hackage.haskell.org/package/yaml-combinators-1.1.2.1/docs/Data-Yaml-Combinators.html which seems like it does some things I would want. Not sure how well it reports errors though, I would love something that tells me exactly where something went wrong (and possibly gave me the ability to extract location information for everything while parsing, since i'll need to do something to resolve those variables too)
04:48:09 <Axman6> Maybe something like Dhall isn't a terrible idea
04:48:45 <Axman6> Hmmm, maybe that is actually, in fact, a good idea.
04:50:24 <probie> I wonder why so few yaml libraries simultaneously support yaml 1.1 and yaml 1.2?
04:59:29 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:00:56 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
05:02:55 sm joins (~sm@plaintextaccounting/sm)
05:07:30 <Axman6> Probably because YAML Is Hard^{TM} (https://stackoverflow.com/questions/3790454/how-do-i-break-a-string-in-yaml-over-multiple-lines/21699210#21699210 - I used to work with Steve who wrote that answer, see also https://yaml-multiline.info)
05:17:32 × dtman34 quits (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Ping timeout: 248 seconds)
05:21:14 oo_miguel joins (~Thunderbi@78-11-179-96.static.ip.netia.com.pl)
05:22:53 × vglfr quits (~vglfr@cli-188-239-233-89.bbn.slav.dn.ua) (Ping timeout: 246 seconds)
05:23:19 vglfr joins (~vglfr@88.155.183.100)
05:28:08 CiaoSen joins (~Jura@2a05:5800:2a2:4400:664b:f0ff:fe37:9ef)
05:28:16 <probie> A fun game is seeing if it'll accept something like `? !!int 3.14` and if so what it gives. Yaml itself doesn't require string keys (or even scalar keys for that matter), but it should fail because 3.14 isn't an int
05:28:18 <Axman6> Hmmmm, the lack of recursive types might make Dhall a non-starter, but maybe that's workable. I'm specifically looking to define hierarchies, which might have bounded depth, but I don't know what it would be
05:31:52 michalz joins (~michalz@185.246.207.205)
05:31:54 <Axman6> ... can you emulate arbitrary recursion by using type level naturals and specifying the maximum height?
05:32:21 × vglfr quits (~vglfr@88.155.183.100) (Ping timeout: 255 seconds)
05:32:34 vglfr joins (~vglfr@cli-188-239-233-89.bbn.slav.dn.ua)
05:37:33 <Lears> Axman6: Dhall is approximately System F, so you have "recursive" types via least and greatest fixed points of your chosen functor.
05:37:51 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
05:38:28 <Lears> This is in Haskell, but can be translated in principle: https://gist.github.com/LSLeary/98763e62f6fe4a2d629f74b38b9f2e45
05:39:09 <Lears> There should be a library you can use somewhere so you don't actually need to do that translation yourself.
05:40:19 Square joins (~Square@user/square)
05:40:23 ph88^ joins (~ph88@ip5b403cd4.dynamic.kabel-deutschland.de)
05:41:07 × ph88 quits (~ph88@ip5b403cd4.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
05:43:16 Square2 joins (~Square4@user/square)
05:45:56 libertyprime joins (~libertypr@203.96.203.44)
05:46:02 <Axman6> well, that is definitely not going to fly at work, I can't barely follow that, and the rest of the team is python devs
05:46:12 × Square quits (~Square@user/square) (Ping timeout: 245 seconds)
05:48:51 <Lears> It basically comes down to "use newtype List a = List (forall r. r -> (a -> r -> r) -> r), not data List a = Nil | Cons a (List a)".
05:49:07 <Lears> You can hide the complexity inside and write an easy interface.
06:01:40 × echoreply quits (~echoreply@2001:19f0:9002:1f3b:5400:ff:fe6f:8b8d) (Quit: WeeChat 2.8)
06:02:35 echoreply joins (~echoreply@45.32.163.16)
06:02:37 × Square2 quits (~Square4@user/square) (Remote host closed the connection)
06:10:42 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:9c2e:82af:913e:28a3) (Remote host closed the connection)
06:11:30 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:9c2e:82af:913e:28a3)
06:13:22 robobub joins (uid248673@id-248673.uxbridge.irccloud.com)
06:20:39 × sm quits (~sm@plaintextaccounting/sm) (Quit: sm)
06:22:19 lortabac joins (~lortabac@2a01:e0a:541:b8f0:7324:f483:eea:6923)
06:22:38 yosef` joins (~yosef`@user/yosef/x-2947716)
06:23:06 azimut joins (~azimut@gateway/tor-sasl/azimut)
06:23:11 × caryhartline quits (~caryhartl@168.182.58.169) (Quit: caryhartline)
06:23:53 caryhartline joins (~caryhartl@168.182.58.169)
06:24:13 × jinsun quits (~jinsun@user/jinsun) (Ping timeout: 240 seconds)
06:28:11 jinsun joins (~jinsun@user/jinsun)
06:28:52 Jackneill_ joins (~Jackneill@20014C4E1E04F9007E194C209489FB5F.dsl.pool.telekom.hu)
06:31:05 arahael joins (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
06:35:24 × arahael quits (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 248 seconds)
06:40:00 arahael joins (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
06:42:50 sm joins (~sm@plaintextaccounting/sm)
06:43:24 × sm quits (~sm@plaintextaccounting/sm) (Client Quit)
06:45:38 × arahael quits (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 258 seconds)
06:48:13 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:52:31 sord937 joins (~sord937@gateway/tor-sasl/sord937)
06:57:30 mima joins (~mmh@net-2-38-141-18.cust.vodafonedsl.it)
06:57:31 arahael joins (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
07:01:27 × mankyKitty quits (uid31287@id-31287.helmsley.irccloud.com) (Server closed connection)
07:01:37 mankyKitty joins (sid31287@id-31287.helmsley.irccloud.com)
07:02:07 × arahael quits (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 258 seconds)
07:05:06 chromoblob joins (~user@37.113.180.113)
07:08:31 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
07:09:21 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:9c2e:82af:913e:28a3) (Remote host closed the connection)
07:09:57 × chromoblob quits (~user@37.113.180.113) (Ping timeout: 260 seconds)
07:12:11 <jackdk> https://github.com/jcouyang/dhall-aws-cloudformation/blob/master/Fn.dhall Axman6 I only have the vaguest idea of how this works, but I can confidently say that none of us have needed to know or care to be able to use it. (It's an implementation of an AST for the `Fn::*` functions in CloudFormation templates)
07:16:26 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
07:16:32 cfricke joins (~cfricke@user/cfricke)
07:16:52 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:17:44 <Axman6> I am impressed and disgusted at the same time
07:21:20 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds)
07:24:38 × yosef` quits (~yosef`@user/yosef/x-2947716) (Quit: Client closed)
07:26:04 chele joins (~chele@user/chele)
07:27:27 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
07:38:43 × mysl quits (~mysl@user/mysl) (Ping timeout: 240 seconds)
07:39:50 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:42:30 gmg joins (~user@user/gehmehgeh)
07:46:46 fendor joins (~fendor@2a02:8388:1640:be00:c785:45ab:c70:9d3f)
07:48:42 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:9c2e:82af:913e:28a3)
07:49:17 dtman34 joins (~dtman34@2601:447:d000:93c9:e1b8:a026:e3cf:cdd2)
07:49:31 sinbad joins (~sinbad@user/sinbad)
07:53:06 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:9c2e:82af:913e:28a3) (Ping timeout: 258 seconds)
07:56:43 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
07:57:23 arahael joins (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
07:59:12 yosef` joins (~yosef`@user/yosef/x-2947716)
08:02:41 × arahael quits (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 258 seconds)
08:05:38 × Buggys quits (Buggys@buggy.shelltalk.net) (Ping timeout: 246 seconds)
08:09:01 × econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
08:12:12 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
08:13:25 Buggys joins (Buggys@shelltalk.net)
08:14:39 × danza quits (~francesco@151.35.98.106) (Read error: Connection reset by peer)
08:15:03 danza joins (~francesco@151.43.106.172)
08:16:06 × libertyprime quits (~libertypr@203.96.203.44) (Ping timeout: 258 seconds)
08:19:13 sm joins (~sm@plaintextaccounting/sm)
08:19:33 × sm quits (~sm@plaintextaccounting/sm) (Client Quit)
08:22:34 × YoungFrog quits (~youngfrog@2a02:a03f:ca07:f900:f15e:5a48:ddbc:fdbc) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in)
08:22:54 YoungFrog joins (~youngfrog@2a02:a03f:ca07:f900:fffe:2aed:9333:96be)
08:29:34 Wstfgl0 joins (~Me-me@146.102.215.218.dyn.iprimus.net.au)
08:29:37 × Wstfgl0 quits (~Me-me@146.102.215.218.dyn.iprimus.net.au) (Excess Flood)
08:29:55 Wstfgl0 joins (~Me-me@146.102.215.218.dyn.iprimus.net.au)
08:29:57 × Wstfgl0 quits (~Me-me@146.102.215.218.dyn.iprimus.net.au) (Excess Flood)
08:30:22 × danza quits (~francesco@151.43.106.172) (Ping timeout: 245 seconds)
08:34:42 danse-nr3 joins (~francesco@151.43.106.172)
08:34:45 libertyprime joins (~libertypr@203.96.203.44)
08:38:14 Wstfgl0 joins (~Me-me@146.102.215.218.dyn.iprimus.net.au)
08:38:14 × Wstfgl0 quits (~Me-me@146.102.215.218.dyn.iprimus.net.au) (Excess Flood)
08:41:24 × libertyprime quits (~libertypr@203.96.203.44) (Ping timeout: 258 seconds)
08:41:41 × g quits (g@libera/staff/glguy) (Ping timeout: 615 seconds)
08:42:25 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
08:43:10 mmhat joins (~mmh@p200300f1c7178a3dee086bfffe095315.dip0.t-ipconnect.de)
08:43:56 × glguy quits (g@libera/staff/glguy) (Ping timeout: 620 seconds)
08:51:03 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:2985:35e0:893a:ad44)
08:52:02 × Me-me quits (~me-me@2602:ff16:3:0:1:dc:beef:d00d) (Changing host)
08:52:02 Me-me joins (~me-me@user/me-me)
08:54:15 artem joins (~artem@c-73-103-90-145.hsd1.in.comcast.net)
08:54:15 × ulysses4ever quits (~artem@c-73-103-90-145.hsd1.in.comcast.net) (Read error: Connection reset by peer)
08:56:37 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:00:42 × artem quits (~artem@c-73-103-90-145.hsd1.in.comcast.net) (Ping timeout: 255 seconds)
09:01:10 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
09:05:06 chromoblob joins (~user@37.113.180.113)
09:07:56 × ubert quits (~Thunderbi@178.115.70.236.wireless.dyn.drei.com) (Ping timeout: 246 seconds)
09:08:24 ubert joins (~Thunderbi@91.141.52.78.wireless.dyn.drei.com)
09:11:02 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
09:11:16 × chromoblob quits (~user@37.113.180.113) (Ping timeout: 260 seconds)
09:28:19 × ft quits (~ft@p3e9bcdd3.dip0.t-ipconnect.de) (Quit: leaving)
09:33:08 × CiaoSen quits (~Jura@2a05:5800:2a2:4400:664b:f0ff:fe37:9ef) (Ping timeout: 246 seconds)
09:38:10 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:40:12 × yosef` quits (~yosef`@user/yosef/x-2947716) (Quit: Client closed)
09:40:27 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Server closed connection)
09:40:30 chromoblob joins (~user@37.113.180.113)
09:40:40 kritzefitz joins (~kritzefit@debian/kritzefitz)
09:42:59 erty joins (~user@user/aeroplane)
09:48:58 chromoblob parts (~user@37.113.180.113) ()
09:58:28 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
10:07:02 Nixkerna- joins (~Nixkernal@119.4.193.178.dynamic.wline.res.cust.swisscom.ch)
10:07:45 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
10:08:29 ulysses4ever joins (~artem@2601:249:4380:8950:f474:e3f8:9806:671)
10:09:36 × mima quits (~mmh@net-2-38-141-18.cust.vodafonedsl.it) (Ping timeout: 260 seconds)
10:10:49 × Nixkerna- quits (~Nixkernal@119.4.193.178.dynamic.wline.res.cust.swisscom.ch) (Client Quit)
10:19:00 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 255 seconds)
10:23:01 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:7324:f483:eea:6923) (Ping timeout: 260 seconds)
10:31:48 × Buggys quits (Buggys@shelltalk.net) (Ping timeout: 258 seconds)
10:39:38 × stites quits (~stites@2601:19c:4180:2fa0:9fc4:9658:a440:7fc2) (Ping timeout: 246 seconds)
10:40:19 stites joins (~stites@2601:19c:4180:2fa0:2c5c:3127:19d0:704a)
10:40:31 Buggys joins (Buggys@shelltalk.net)
10:41:18 lortabac joins (~lortabac@2a01:e0a:541:b8f0:4c6f:d24c:af4b:1ac3)
10:48:49 × phma quits (~phma@host-67-44-208-151.hnremote.net) (Read error: Connection reset by peer)
10:50:15 phma joins (~phma@2001:5b0:210f:788:531c:c4e2:b973:9806)
10:51:29 L29Ah joins (~L29Ah@wikipedia/L29Ah)
10:53:24 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
10:53:44 mima joins (~mmh@net-93-148-94-242.cust.dsl.teletu.it)
10:58:12 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
10:58:36 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
11:06:14 xff0x joins (~xff0x@2405:6580:b080:900:f47d:72e7:1ecd:579d)
11:08:18 CiaoSen joins (~Jura@2a05:5800:2a2:4400:664b:f0ff:fe37:9ef)
11:15:03 × califax quits (~califax@user/califx) (Write error: Connection reset by peer)
11:15:03 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
11:15:03 × chiselfuse quits (~chiselfus@user/chiselfuse) (Write error: Connection reset by peer)
11:15:03 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Write error: Connection reset by peer)
11:15:23 califax joins (~califax@user/califx)
11:15:31 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
11:15:36 azimut joins (~azimut@gateway/tor-sasl/azimut)
11:15:37 chiselfuse joins (~chiselfus@user/chiselfuse)
11:17:56 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
11:18:34 × stites quits (~stites@2601:19c:4180:2fa0:2c5c:3127:19d0:704a) (Ping timeout: 258 seconds)
11:18:44 stites joins (~stites@2601:19c:4180:2fa0:1494:4fbd:f1f4:16a7)
11:18:50 × aaronv quits (~aaronv@user/aaronv) (Ping timeout: 246 seconds)
11:19:39 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:19:50 aaronv joins (~aaronv@user/aaronv)
11:20:32 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
11:21:21 gmg joins (~user@user/gehmehgeh)
11:22:20 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
11:23:17 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
11:26:41 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
11:31:10 × sinbad quits (~sinbad@user/sinbad) (Quit: Leaving.)
11:33:42 × danse-nr3 quits (~francesco@151.43.106.172) (Ping timeout: 246 seconds)
11:34:28 phma_ joins (phma@2001:5b0:210f:788:531c:c4e2:b973:9806)
11:37:27 × phma quits (~phma@2001:5b0:210f:788:531c:c4e2:b973:9806) (Ping timeout: 245 seconds)
11:37:49 danse-nr3 joins (~francesco@151.43.106.172)
11:38:44 Keinbou joins (~Keinbou@78.26.243.100)
11:46:21 <Keinbou> Greetings everyone. I have a problem regarding GHCup installation. My Windows cannot open certain file: msys2_shell.cmd. It says it does not exist. Any suggestions?
11:50:41 <jackdk> Keinbou: I don't have and have not developed for windows for a very long time, but it appears that file is part of msys2, which is a suite of tools to provide a unix-like shell for running traditional `./configure` scripts
11:51:06 <jackdk> Keinbou: https://www.haskell.org/ghcup/install/ has a manual install section which you could try, which talks about installing and setting up msys2?
11:51:30 <jackdk> Keinbou: sorry I can't be more help, it's late here and I need to sleep, but I didn't want to leave you hanging
11:51:38 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
11:51:55 chexum joins (~quassel@gateway/tor-sasl/chexum)
11:53:06 <jackdk> (The manual windows install instructions are very close to the bottom of that page)
11:57:31 × danse-nr3 quits (~francesco@151.43.106.172) (Ping timeout: 244 seconds)
11:58:17 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
11:59:17 <Keinbou> Thank you! I'll try.
12:02:07 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Excess Flood)
12:03:09 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
12:11:31 Skillkraft joins (~Skillkraf@189.172.56.161)
12:11:32 <Skillkraft> Read a children's story about diarrhea and empathy on an airplane! ::: he Adventure of Westeastern Flight 194: Emily Goes Poopie
12:11:32 <Skillkraft> Delta-India-Alpha-Romeo-Romeo-Hotel-Echo-Alpha! We have a huge fecal mess in the cabin! ::: https://justpaste.it/mile-high-diarrhea-delta-airline
12:12:43 Skillkraft is now known as Skiltoniano
12:12:44 × Skiltoniano quits (~Skillkraf@189.172.56.161) (K-Lined)
12:18:19 sm joins (~sm@plaintextaccounting/sm)
12:19:11 × sm quits (~sm@plaintextaccounting/sm) (Client Quit)
12:19:27 × srk quits (~sorki@user/srk) (Server closed connection)
12:19:46 srk joins (~sorki@user/srk)
12:20:37 sm joins (~sm@plaintextaccounting/sm)
12:21:49 danse-nr3 joins (~francesco@ge-19-108-43.service.infuturo.it)
12:27:20 Guest|28 joins (~Guest|28@104.28.247.174)
12:27:48 <Guest|28> Hi
12:28:07 <Guest|28> How to run .hs file after installation
12:31:27 × m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (Server closed connection)
12:31:59 m1dnight joins (~christoph@78-22-4-67.access.telenet.be)
12:33:07 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:34:43 × Keinbou quits (~Keinbou@78.26.243.100) (Quit: Connection closed)
12:34:57 <danse-nr3> Guest|28, did you install GHCUp or what?
12:45:17 × Guest|28 quits (~Guest|28@104.28.247.174) (Quit: Connection closed)
12:57:20 arahael joins (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
12:57:54 × hgolden quits (~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com) (Remote host closed the connection)
12:59:53 hgolden joins (~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com)
13:01:54 × arahael quits (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
13:16:15 × ystael quits (~ystael@user/ystael) (Ping timeout: 246 seconds)
13:18:30 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
13:18:59 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
13:36:47 × caryhartline quits (~caryhartl@168.182.58.169) (Quit: caryhartline)
13:37:08 × ddellacosta quits (~ddellacos@ool-44c738de.dyn.optonline.net) (Quit: WeeChat 4.0.3)
13:41:07 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
13:44:38 × Qudit quits (~user@user/Qudit) (Read error: Connection reset by peer)
13:45:08 sinbad joins (~sinbad@user/sinbad)
13:46:21 × aaronv quits (~aaronv@user/aaronv) (Ping timeout: 246 seconds)
13:50:37 notzmv joins (~zmv@user/notzmv)
13:54:00 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 246 seconds)
13:58:41 ystael joins (~ystael@user/ystael)
14:00:53 shiraeeshi joins (~shiraeesh@46.42.244.59)
14:02:55 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:04:00 glguy joins (glguy@libera/staff/glguy)
14:07:20 arahael joins (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
14:07:27 × flukiluke quits (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Server closed connection)
14:07:49 flukiluke joins (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962)
14:08:02 chexum joins (~quassel@gateway/tor-sasl/chexum)
14:09:18 g joins (g@libera/staff/glguy)
14:13:25 gatekempt joins (~gatekempt@user/gatekempt)
14:15:11 × arahael quits (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 260 seconds)
14:20:36 pavonia joins (~user@user/siracusa)
14:20:49 jackneill__ joins (~Jackneill@2001:4c4e:1e04:f900:7e19:4c20:9489:fb5f)
14:21:25 × Jackneill_ quits (~Jackneill@20014C4E1E04F9007E194C209489FB5F.dsl.pool.telekom.hu) (Ping timeout: 258 seconds)
14:22:24 × CiaoSen quits (~Jura@2a05:5800:2a2:4400:664b:f0ff:fe37:9ef) (Ping timeout: 246 seconds)
14:22:24 × jackneill__ quits (~Jackneill@2001:4c4e:1e04:f900:7e19:4c20:9489:fb5f) (Excess Flood)
14:22:55 mikoto-chan joins (~mikoto-ch@ip-83-134-209-157.dsl.scarlet.be)
14:23:29 jackneill__ joins (~Jackneill@20014C4E1E04F9007E194C209489FB5F.dsl.pool.telekom.hu)
14:25:35 thegeekinside joins (~thegeekin@189.180.122.37)
14:26:44 arahael joins (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
14:27:01 caryhartline joins (~caryhartl@168.182.58.169)
14:31:37 × arahael quits (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
14:31:46 <haskellbridge> <j​ean-paul.> Anyone have any thoughts on how to implement / represent "SHA256d" using cryptonite? Should I define my own "SHA256d" like "SHA256" and then implement all of the classes that SHA256 implements? This sounds a bit tedious :/ A shortcut would be nice ...
14:33:15 <haskellbridge> <j​ean-paul.> I'm also not even _sure_ SHA256d fits into cryptonite's HashAlgorithm class :/
14:34:21 × fendor quits (~fendor@2a02:8388:1640:be00:c785:45ab:c70:9d3f) (Remote host closed the connection)
14:34:49 <danse-nr3> is that SHA246 digest?
14:35:00 cptaffe- joins (~cptaffe@2600:1700:f08:111f::18e7)
14:35:03 × erty quits (~user@user/aeroplane) (Ping timeout: 255 seconds)
14:35:13 × cptaffe quits (~cptaffe@2600:1700:f08:111f::18e7) (Ping timeout: 240 seconds)
14:35:30 <geekosaur> I thought everyone was moving to crypton, not that that necessarily changes things
14:35:36 <haskellbridge> <j​ean-paul.> It's SHA256 where the digest is fed through SHA256 again
14:35:47 <haskellbridge> <j​ean-paul.> geekosaur: Yes, I suppose, but I'm not there yet.
14:39:31 ddellacosta joins (~ddellacos@ool-44c738de.dyn.optonline.net)
14:39:36 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Remote host closed the connection)
14:40:02 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
14:44:23 mc47 joins (~mc47@xmonad/TheMC47)
14:44:27 × ystael quits (~ystael@user/ystael) (Read error: Connection reset by peer)
14:46:32 Feuermagier_ joins (~Feuermagi@user/feuermagier)
14:46:32 × Feuermagier quits (~Feuermagi@user/feuermagier) (Killed (tungsten.libera.chat (Nickname regained by services)))
14:46:32 Feuermagier_ is now known as Feuermagier
14:47:34 cael_ joins (~quassel@host109-149-135-250.range109-149.btcentralplus.com)
14:50:30 erty joins (~user@user/aeroplane)
14:53:52 <cael_> Hello, I'm new to haskell, whats the haskell community like
14:55:15 <haskellbridge> <j​ean-paul.> a warm summer's day
14:56:31 <cael_> glad to hear it
14:56:49 swistak joins (~swistak@185.21.216.141)
14:57:52 <cael_> Its in an interesting place as a programming language, being a relativly popular language developed in academia
14:59:10 <cael_> functional programming is also quite interesting as a concept, I suppose it would be nice to have another perspective / approach to programming
15:00:14 <mauke> what's your background?
15:00:22 <cael_> physics
15:00:40 <cael_> the only programming language I would call myself profficient in is python
15:00:47 <mauke> ah
15:01:21 <danse-nr3> i recall some physicists mentioning fortran as a popular language in that field
15:02:57 <cael_> I'm currently an undergrad, I havent encounterd it but I have heard that as well
15:02:58 <haskellbridge> <j​ean-paul.> fortran will definitely give you a new perspective if you're coming from python.
15:03:33 <sinbad> cael_: here you go with haskell in physics: https://discourse.haskell.org/t/book-learn-physics-with-functional-programming/7533
15:04:28 <mauke> > [ x^2 | x <- [1 .. 10], even x ] -- have some comprehension
15:04:29 <lambdabot> [4,16,36,64,100]
15:05:24 <danse-nr3> the python-friendly feature i like the most in haskell is doctests
15:05:45 <mauke> what's that?
15:06:17 <cael_> I've had a brief look through the physics book, I've also started https://book.realworldhaskell.org/
15:06:50 jeetelongname joins (~jeet@cpc96970-rdng25-2-0-cust390.15-3.cable.virginm.net)
15:06:55 <cael_> idk if this is the best resource to learn it from scratch
15:07:02 hiyori joins (~hiyori@user/hiyori)
15:07:27 arahael joins (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
15:07:28 <danse-nr3> https://hackage.haskell.org/package/doctest-0.22.1#a-basic-example mauke
15:07:32 <EvanR> cael_, here's what I used... https://www.haskell.org/tutorial/
15:08:06 <mauke> huh. I don't even remember how I learned Haskell
15:08:09 <EvanR> skip to Values, Types, and Other Goodies to start in media res
15:08:49 <haskellbridge> <j​ean-paul.> I got this far on a `DoubleHash` `HashAlgorithm` but I'm not sure what's going on with `digestPtr` there - https://gist.github.com/exarkun/f0e5f6a1688b72b78b0390ab3c4f08bc
15:09:02 <mauke> medias, but now I have to look up the declension of 'res'
15:09:44 <danse-nr3> it means "start from the middle"
15:10:23 <haskellbridge> <j​ean-paul.> awww, nevermind, I just put some parens in a silly place.
15:10:41 <geekosaur> I don't think I recommend the "Gentle Introduction" to someone who isn't already reasonably well versed in SML/NJ or other functional language; iirc it assumes you understand things like pattern matching already and just covers Haskell's differences in that area
15:10:52 <geekosaur> I started from it but I already knew some SML
15:10:54 <mauke> ah, accusative plural
15:11:40 <mauke> "into the middle things"
15:11:57 × arahael quits (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
15:12:10 <mauke> right, I already knew OCaml when I started looking at Haskell
15:12:31 × mima quits (~mmh@net-93-148-94-242.cust.dsl.teletu.it) (Quit: leaving)
15:12:39 <EvanR> section 2 explains pattern matching almost without even explaining it, it's great
15:12:43 ystael joins (~ystael@user/ystael)
15:13:06 <mauke> jean-paul. btw, 'do X; pure ()' is 'void X'
15:13:29 <geekosaur> anyway for free resources I recommend the wikibook, for paid I recommend Hutton's book
15:13:36 <geekosaur> @where wikibook
15:13:36 <lambdabot> http://en.wikibooks.org/wiki/Haskell
15:13:42 <haskellbridge> <j​ean-paul.> mauke: indeed, thanks.
15:14:08 arahael joins (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
15:14:14 <geekosaur> @where pih
15:14:14 <lambdabot> "Programming in Haskell" by Graham Hutton in 2007-01-15,2016-09-01 at <http://www.cs.nott.ac.uk/~pszgmh/pih.html>
15:14:37 <EvanR> also you can read a pamphlet sized awful-looking free page at an easily remembered URL while also buying 100 dollars worth of textbooks for later
15:14:52 <danse-nr3> @where doctest
15:14:52 <lambdabot> I know nothing about doctest.
15:15:01 <geekosaur> @hackage doctest
15:15:01 <lambdabot> https://hackage.haskell.org/package/doctest
15:15:07 <danse-nr3> cheers
15:15:10 <mauke> danse-nr3: thanks
15:15:27 <cael_> hmm thanks, I did the interactive tutorial on haskell.org which introduced pattern matching, I know I will need to go into more depth but I enjoyed the tutorial
15:15:36 <mauke> @where+ doctest https://hackage.haskell.org/package/doctest
15:15:36 <lambdabot> Okay.
15:15:48 <cael_> currently looking at the above resources
15:17:55 <geekosaur> there's also
15:18:00 <geekosaur> @where cis194
15:18:00 <lambdabot> <https://github.com/byorgey/haskell-course>,<https://www.seas.upenn.edu/~cis194/spring13/lectures.html>
15:18:03 bratwurst joins (~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8)
15:18:06 × ystael quits (~ystael@user/ystael) (Read error: Connection reset by peer)
15:18:24 × arahael quits (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
15:18:29 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:4c6f:d24c:af4b:1ac3) (Quit: WeeChat 2.8)
15:18:29 <geekosaur> which, since you're not actually taking the course, you can do at your own pace
15:18:35 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 4.0.4)
15:19:41 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
15:21:38 <haskellbridge> <j​ean-paul.> I can say I did cis194 after tinkering with some other Haskell resources on and off and I found cis194 to be very helpful in solidifying my understanding of a lot of pieces.
15:22:06 arahael joins (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
15:23:19 ystael joins (~ystael@user/ystael)
15:25:03 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 258 seconds)
15:25:20 phma_ is now known as phma
15:29:15 × arahael quits (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
15:30:02 × ystael quits (~ystael@user/ystael) (Ping timeout: 258 seconds)
15:34:19 × sm quits (~sm@plaintextaccounting/sm) (Quit: sm)
15:34:31 × bratwurst quits (~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8) (Ping timeout: 244 seconds)
15:35:59 Simikando joins (~Simikando@adsl-dyn91.91-127-22.t-com.sk)
15:38:28 × jeetelongname quits (~jeet@cpc96970-rdng25-2-0-cust390.15-3.cable.virginm.net) (Remote host closed the connection)
15:39:03 arahael joins (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
15:39:41 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 244 seconds)
15:42:22 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:2985:35e0:893a:ad44) (Remote host closed the connection)
15:42:38 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:2985:35e0:893a:ad44)
15:43:42 × arahael quits (~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
15:43:50 × thegeekinside quits (~thegeekin@189.180.122.37) (Ping timeout: 258 seconds)
15:43:55 notzmv joins (~zmv@user/notzmv)
15:47:23 chromoblob joins (~user@37.113.180.113)
15:48:39 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
15:49:51 <chromoblob> is there a thing such as "freestanding Haskell"? sure you need an RTS anyways, but...
15:50:30 <geekosaur> you might look at jhc
15:51:04 <c_wraith> like... fully statically linked?
15:51:19 <mauke> ... House?
15:51:40 <c_wraith> people have used alpine linux to get fully standalone linux binaries out of GHC
15:51:54 <geekosaur> so now we have three different notions of what you meant; could you elucidate?
15:52:36 <chromoblob> no, freestanding is unrelated to fully statically linked
15:53:20 <chromoblob> i mean, without support of OS interface
15:53:47 econo_ joins (uid147250@id-147250.tinside.irccloud.com)
15:54:10 <EvanR> there was a project to get haskell to run on bare metal... what was it called
15:54:17 <geekosaur> halvm?
15:54:20 <EvanR> yeah
15:55:06 <mauke> @where house
15:55:06 <lambdabot> http://programatica.cs.pdx.edu/House/
15:57:47 <EvanR> yeah that to
15:57:51 <chromoblob> ok thanks
15:58:13 <chromoblob> i have a weak, purely idle interest in asking
15:58:15 thegeekinside joins (~thegeekin@189.180.122.37)
15:58:35 <EvanR> damn I want the gedit program featured In House
15:59:44 <haskellbridge> <j​ean-paul.> I have worked with Foreign.C for byte strings and such before ... but now I have a `Ptr (Digest a)`... Can I work on the `Digest a` from Haskell or is this only for handing off to C?
16:00:14 <EvanR> if you have functions that work on Ptr (Digest a), you're golden!
16:00:21 <haskellbridge> <j​ean-paul.> :)
16:00:27 <haskellbridge> <j​ean-paul.> And if not?
16:00:36 <EvanR> otherwise you can use peek to get the Digest a, if it has a Storable instance
16:00:40 <haskellbridge> <j​ean-paul.> Or ... How do I write such a function? :)
16:00:48 <haskellbridge> <j​ean-paul.> it has no Storable instance :/
16:00:51 <EvanR> hmm
16:01:09 <geekosaur> you're not guaranteed to have a `Digest`, it's a phantom parameter for the `Ptr` (`Addr#`)
16:01:45 <EvanR> so it's probably intended to be an opaque pointer here
16:01:51 × stites quits (~stites@2601:19c:4180:2fa0:1494:4fbd:f1f4:16a7) (Ping timeout: 258 seconds)
16:02:11 <geekosaur> you can access the memory using the `Foreign` interface but you need to know what it represents, which will depend on where you got it from
16:02:24 ystael joins (~ystael@user/ystael)
16:02:36 <haskellbridge> <j​ean-paul.> Digest has a ByteArrayAccess instance... but I couldn't see how that would help
16:03:18 <EvanR> that sounds promising
16:03:39 stites joins (~stites@2607:fb91:dc0:4d13:97ee:5235:aade:8ffa)
16:04:27 <geekosaur> "For example function convert can transform one ByteArrayAccess concrete type like Digest to a ByteString"
16:05:10 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:2985:35e0:893a:ad44) (Remote host closed the connection)
16:05:29 <mauke> doesn't help with the Ptr part, though
16:05:43 <haskellbridge> <j​ean-paul.> Yea, I don't see how to get through the Ptr...
16:06:02 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:06:22 <geekosaur> yeh, I just noticed that, it can go *to* a `Ptr` but not *from*
16:07:00 <EvanR> safety first
16:09:14 <geekosaur> but it looks like `ByteArray` works with `Ptr`s, and `withByteArray` seems to be what you want?
16:10:13 <mauke> we don't have a bytearray
16:10:44 <haskellbridge> <j​ean-paul.> I have a `Ptr (Digest a)`
16:12:07 × shiraeeshi quits (~shiraeesh@46.42.244.59) (Remote host closed the connection)
16:12:24 shiraeeshi joins (~shiraeesh@46.42.244.59)
16:15:05 × thegeekinside quits (~thegeekin@189.180.122.37) (Ping timeout: 245 seconds)
16:22:03 danse-nr3_ joins (~francesco@151.35.114.227)
16:22:06 × danse-nr3 quits (~francesco@ge-19-108-43.service.infuturo.it) (Read error: Connection reset by peer)
16:22:48 × mmhat quits (~mmh@p200300f1c7178a3dee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.0.4)
16:25:15 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:25:17 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
16:25:27 × aku quits (~aku@65.108.245.241) (Server closed connection)
16:25:35 aku joins (~aku@65.108.245.241)
16:28:00 × shiraeeshi quits (~shiraeesh@46.42.244.59) (Ping timeout: 255 seconds)
16:28:38 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:2985:35e0:893a:ad44)
16:31:38 × ubert quits (~Thunderbi@91.141.52.78.wireless.dyn.drei.com) (Ping timeout: 246 seconds)
16:34:06 × caryhartline quits (~caryhartl@168.182.58.169) (Read error: Connection reset by peer)
16:38:53 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
16:39:42 × danse-nr3_ quits (~francesco@151.35.114.227) (Ping timeout: 255 seconds)
16:40:32 danza joins (~francesco@151.35.114.227)
16:40:57 libertyprime joins (~libertypr@203.96.203.44)
16:44:36 danse-nr3_ joins (~francesco@151.35.114.227)
16:47:27 thegeekinside joins (~thegeekin@189.180.122.37)
16:47:51 × mikoto-chan quits (~mikoto-ch@ip-83-134-209-157.dsl.scarlet.be) (Ping timeout: 258 seconds)
16:51:43 shiraeeshi joins (~shiraeesh@46.42.244.59)
16:52:13 sm joins (~sm@plaintextaccounting/sm)
16:52:53 × sm quits (~sm@plaintextaccounting/sm) (Remote host closed the connection)
16:53:31 sm joins (~sm@plaintextaccounting/sm)
16:57:01 idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
16:58:02 × califax quits (~califax@user/califx) (Remote host closed the connection)
16:58:20 califax joins (~califax@user/califx)
17:00:51 mysl joins (~mysl@user/mysl)
17:01:02 × stites quits (~stites@2607:fb91:dc0:4d13:97ee:5235:aade:8ffa) (Read error: Connection reset by peer)
17:01:26 stites joins (~stites@130.44.147.204)
17:03:23 × danse-nr3_ quits (~francesco@151.35.114.227) (Ping timeout: 244 seconds)
17:10:02 fr33domlover joins (~fr33domlo@towards.vision)
17:10:36 × Simikando quits (~Simikando@adsl-dyn91.91-127-22.t-com.sk) (Quit: Leaving)
17:15:05 <haskellbridge> <j​ean-paul.> so .. `Digest a` is a newtype around `Block Word8`. `Block` is a data with one field, `ByteArray#` (type parameters to both types phantom). How many kinds of wrong is `coerce @(Ptr (Digest a)) @CString`?
17:23:51 exarkun joins (~exarkun@user/exarkun)
17:32:27 × bjobjo quits (~bjobjo@user/bjobjo) (Ping timeout: 246 seconds)
17:34:27 bjobjo joins (~bjobjo@user/bjobjo)
17:34:46 × shiraeeshi quits (~shiraeesh@46.42.244.59) (Ping timeout: 250 seconds)
17:38:08 × libertyprime quits (~libertypr@203.96.203.44) (Ping timeout: 246 seconds)
17:38:27 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
17:48:45 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:50:32 <EvanR> haha
17:51:18 <EvanR> CString = Ptr Char implies there's a string with intentionally null terminated end somewhere?
17:51:21 × Vq quits (~vq@90-227-195-9-no77.tbcn.telia.com) (Ping timeout: 246 seconds)
17:51:40 <EvanR> Digest sounds like a block of arbitrary bytes
17:52:50 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
17:53:30 × sm quits (~sm@plaintextaccounting/sm) (Ping timeout: 244 seconds)
17:55:12 <haskellbridge> <j​ean-paul.> In this case it's a fixed length of arbitrary bytes, not nul terminated, yes
17:55:28 <haskellbridge> <j​ean-paul.> but I know the fixed length, I don't need CStringLen or similar to tell me
17:56:25 × hiyori quits (~hiyori@user/hiyori) (Quit: Client closed)
17:56:32 <haskellbridge> <j​ean-paul.> (I can ask `Digest a` how many bytes are there with the associated type family `HashDigestSize a`)
17:56:59 libertyprime joins (~libertypr@203.96.203.44)
18:03:12 <haskellbridge> <j​ean-paul.> my HashAlgorithm instance blows up after it encounters undefined somewhere, even after I take all the undefineds out of my code, hrmph :/
18:03:28 Vq joins (~vq@90-227-195-9-no77.tbcn.telia.com)
18:04:13 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:2985:35e0:893a:ad44) (Remote host closed the connection)
18:04:27 × tdammers quits (~tdammers@219-131-178-143.ftth.glasoperator.nl) (Server closed connection)
18:04:53 tdammers joins (~tdammers@219-131-178-143.ftth.glasoperator.nl)
18:07:57 <EvanR> you can take `undefined' out of the code, but that doesn't necessarily make the code defined!
18:08:12 × ystael quits (~ystael@user/ystael) (Ping timeout: 248 seconds)
18:09:15 <haskellbridge> <j​ean-paul.> :)
18:09:40 <haskellbridge> <j​ean-paul.> cryptonite hash implementation is littered with undefined
18:09:53 ystael joins (~ystael@user/ystael)
18:10:27 <haskellbridge> <j​ean-paul.> they all look safe to me though
18:13:30 <haskellbridge> <j​ean-paul.> Hruuumph. The difference between undefined and defined is whether I write my instance functions like this: `hashBlockSize DoubleHash = hashBlockSize @hash undefined` (undefined) or like this: `hashBlockSize _ = hashBlockSize @hash undefined` (defined)
18:13:40 <haskellbridge> <j​ean-paul.> Seems like an interesting language property I should probably know about
18:15:06 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:2985:35e0:893a:ad44)
18:16:18 <mauke> the first form pattern matches on the argument, which forces evaluation
18:16:20 qqq joins (~qqq@92.43.167.61)
18:17:31 <haskellbridge> <j​ean-paul.> the definition of `DoubleHash` is `data DoubleHash hash = DoubleHash` ... (so, no undefines being carried along there). What gets evaluated exactly?
18:18:49 <ncf> the argument gets evaluated. if it's a thunk, it gets forced
18:19:22 <mauke> someone is calling 'hashBlockSize undefined'
18:19:37 <EvanR> why is the argument to that function undefined smh
18:19:38 <haskellbridge> <j​ean-paul.> Oh
18:19:42 <haskellbridge> <j​ean-paul.> Yea, okay. cryptonite is doing that a lot.
18:20:03 <EvanR> is that like a Proxy
18:20:09 <mauke> should've been using a proxy
18:20:09 <geekosaur> yes, it's an pold idiom, the size is determined by the type so there's no need to see the parameter
18:20:13 <haskellbridge> <j​ean-paul.> I think, basically, yea
18:20:16 <geekosaur> in modern code Proxy is preferred
18:20:27 <geekosaur> *an old idiom
18:20:42 <mauke> https://hackage.haskell.org/package/base-4.18.0.0/docs/Foreign-Storable.html#v:sizeOf
18:25:12 billchenchina joins (~billchenc@45.77.32.141)
18:25:30 <haskellbridge> <j​ean-paul.> Thanks all
18:26:36 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 260 seconds)
18:29:05 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
18:32:13 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:2985:35e0:893a:ad44) (Ping timeout: 240 seconds)
18:32:15 hiyori joins (~hiyori@user/hiyori)
18:32:51 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:2985:35e0:893a:ad44)
18:40:24 × chele quits (~chele@user/chele) (Remote host closed the connection)
18:42:59 justsomeguy joins (~justsomeg@user/justsomeguy)
18:47:04 × thegeekinside quits (~thegeekin@189.180.122.37) (Ping timeout: 258 seconds)
18:51:25 × haskellbridge quits (~haskellbr@069-135-003-034.biz.spectrum.com) (Remote host closed the connection)
18:52:08 haskellbridge joins (~haskellbr@069-135-003-034.biz.spectrum.com)
18:53:06 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:2985:35e0:893a:ad44) (Remote host closed the connection)
18:56:47 ft joins (~ft@p3e9bcdd3.dip0.t-ipconnect.de)
18:59:04 thegeekinside joins (~thegeekin@189.180.122.37)
19:00:15 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Ping timeout: 246 seconds)
19:02:29 cafkafk joins (~cafkafk@fsf/member/cafkafk)
19:02:49 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
19:03:11 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
19:04:15 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
19:04:31 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
19:06:13 × ystael quits (~ystael@user/ystael) (Read error: Connection reset by peer)
19:10:19 ystael joins (~ystael@user/ystael)
19:12:24 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:13:09 × mysl quits (~mysl@user/mysl) (Ping timeout: 255 seconds)
19:14:23 bratwurst joins (~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8)
19:14:36 × libertyprime quits (~libertypr@203.96.203.44) (Ping timeout: 245 seconds)
19:16:15 mysl joins (~mysl@user/mysl)
19:17:27 × jackneill__ quits (~Jackneill@20014C4E1E04F9007E194C209489FB5F.dsl.pool.telekom.hu) (Ping timeout: 245 seconds)
19:18:13 × thegeekinside quits (~thegeekin@189.180.122.37) (Ping timeout: 240 seconds)
19:19:01 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection)
19:19:24 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
19:21:28 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
19:22:13 × bratwurst quits (~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8) (Ping timeout: 240 seconds)
19:24:53 thegeekinside joins (~thegeekin@189.180.122.37)
19:25:29 × thegeekinside quits (~thegeekin@189.180.122.37) (Read error: Connection reset by peer)
19:26:00 thegeekinside joins (~thegeekin@189.180.122.37)
19:26:12 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
19:28:09 bliminse joins (~bliminse@user/bliminse)
19:31:28 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:2985:35e0:893a:ad44)
19:33:41 × chromoblob quits (~user@37.113.180.113) (Ping timeout: 260 seconds)
19:34:47 lortabac joins (~lortabac@2a01:e0a:541:b8f0:5501:b31e:d092:c734)
19:38:26 × son0p quits (~ff@186.121.39.74) (Quit: Bye)
19:41:47 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 246 seconds)
19:47:44 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:5501:b31e:d092:c734) (Quit: WeeChat 2.8)
19:47:53 × Nixkernal quits (~Nixkernal@119.4.193.178.dynamic.wline.res.cust.swisscom.ch) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
19:54:51 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Ping timeout: 246 seconds)
19:57:03 cafkafk joins (~cafkafk@fsf/member/cafkafk)
19:57:59 × thegeekinside quits (~thegeekin@189.180.122.37) (Ping timeout: 258 seconds)
20:03:12 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
20:04:34 fendor joins (~fendor@2a02:8388:1640:be00:c785:45ab:c70:9d3f)
20:05:33 × cael_ quits (~quassel@host109-149-135-250.range109-149.btcentralplus.com) (Ping timeout: 250 seconds)
20:05:46 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6)
20:07:13 Nixkernal joins (~Nixkernal@119.4.193.178.dynamic.wline.res.cust.swisscom.ch)
20:07:40 × michalz quits (~michalz@185.246.207.205) (Remote host closed the connection)
20:08:20 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
20:10:12 cael_ joins (~quassel@host109-149-135-250.range109-149.btcentralplus.com)
20:10:33 × danza quits (~francesco@151.35.114.227) (Read error: Connection reset by peer)
20:12:57 ubert joins (~Thunderbi@91.141.52.78.wireless.dyn.drei.com)
20:13:52 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
20:15:05 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Remote host closed the connection)
20:15:27 cafkafk joins (~cafkafk@fsf/member/cafkafk)
20:17:03 × stites quits (~stites@130.44.147.204) (Ping timeout: 255 seconds)
20:17:29 × mysl quits (~mysl@user/mysl) (Ping timeout: 246 seconds)
20:18:38 stites joins (~stites@c-71-232-14-73.hsd1.ma.comcast.net)
20:20:44 × stites quits (~stites@c-71-232-14-73.hsd1.ma.comcast.net) (Read error: Connection reset by peer)
20:21:41 stites joins (~stites@c-71-232-14-73.hsd1.ma.comcast.net)
20:21:42 mysl joins (~mysl@user/mysl)
20:22:53 sinbad parts (~sinbad@user/sinbad) ()
20:22:54 × ubert quits (~Thunderbi@91.141.52.78.wireless.dyn.drei.com) (Ping timeout: 246 seconds)
20:23:56 sinbad joins (~sinbad@user/sinbad)
20:25:06 aaronv joins (~aaronv@user/aaronv)
20:26:21 × acidjnk quits (~acidjnk@p200300d6e7072f3028e66677b5f34067.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
20:26:21 × stites quits (~stites@c-71-232-14-73.hsd1.ma.comcast.net) (Read error: Connection reset by peer)
20:27:08 stites joins (~stites@c-71-232-14-73.hsd1.ma.comcast.net)
20:28:14 × oo_miguel quits (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Ping timeout: 246 seconds)
20:38:08 × ystael quits (~ystael@user/ystael) (Ping timeout: 246 seconds)
20:41:22 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
20:43:36 × vglfr quits (~vglfr@cli-188-239-233-89.bbn.slav.dn.ua) (Ping timeout: 258 seconds)
20:45:25 × idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
20:50:49 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
20:57:16 son0p joins (~ff@186.121.39.74)
20:58:49 shiraeeshi joins (~shiraeesh@46.42.244.73)
20:59:03 Sinbad7 joins (~Sinbad@user/sinbad)
21:01:14 × stites quits (~stites@c-71-232-14-73.hsd1.ma.comcast.net) (Read error: Connection reset by peer)
21:01:16 × Sinbad7 quits (~Sinbad@user/sinbad) (Client Quit)
21:01:57 stites joins (~stites@c-71-232-14-73.hsd1.ma.comcast.net)
21:03:09 <erisco> Who is David Wagner? Sounds familiar and I stumbled on his blog https://thewagner.net/
21:03:27 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 246 seconds)
21:04:54 <EvanR> Oh yeah David Wagner he's a clojure guy
21:05:25 <erisco> weird because he talks about types in his blog :P
21:05:41 <EvanR> clojure has many types
21:05:47 <EvanR> of the java form
21:06:01 m_shiraeeshi joins (~shiraeesh@46.42.244.73)
21:06:06 <EvanR> checkable by the compiler even
21:06:12 <erisco> it is runtime checkde though yes?
21:06:24 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
21:06:39 <EvanR> the process of compiling your code is some kind of halfbaked runtime-like environment so I guess yes
21:06:55 <EvanR> because lisp
21:07:16 <EvanR> it will determine if your use of java is bad
21:07:47 × stites quits (~stites@c-71-232-14-73.hsd1.ma.comcast.net) (Read error: Connection reset by peer)
21:07:54 × shiraeeshi quits (~shiraeesh@46.42.244.73) (Ping timeout: 255 seconds)
21:08:02 stites joins (~stites@c-71-232-14-73.hsd1.ma.comcast.net)
21:08:42 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 245 seconds)
21:08:51 <erisco> well what do I know, I never quite got lisp
21:09:09 × hiyori quits (~hiyori@user/hiyori) (Quit: Client closed)
21:10:22 sinbad parts (~sinbad@user/sinbad) ()
21:10:38 <EvanR> I didn't understand lisp until haskell
21:11:14 <EvanR> but didn't learn haskell until after I learned lisp
21:11:37 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
21:13:48 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Quit: ZNC 1.8.2 - https://znc.in)
21:14:07 jmdaemon joins (~jmdaemon@user/jmdaemon)
21:15:52 <erisco> well I wanted to think him for this https://thewagner.net/blog/2021/02/25/building-container-images-with-nix/ because it is on point with what I wanted to know
21:22:07 sinbad_ joins (~peter@178-164-252-121.pool.digikabel.hu)
21:24:28 sinbad_ parts (~peter@178-164-252-121.pool.digikabel.hu) ()
21:25:20 × fendor quits (~fendor@2a02:8388:1640:be00:c785:45ab:c70:9d3f) (Remote host closed the connection)
21:30:06 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 246 seconds)
21:33:39 vglfr joins (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
21:35:42 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds)
21:38:13 L29Ah joins (~L29Ah@wikipedia/L29Ah)
21:38:17 justsomeguy joins (~justsomeg@user/justsomeguy)
21:44:30 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:45:28 × Xe quits (~cadey@tailscale/xe) (Ping timeout: 255 seconds)
21:49:07 × Feuermagier quits (~Feuermagi@user/feuermagier) (Quit: Leaving)
22:02:18 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 246 seconds)
22:02:29 × Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
22:09:45 × gatekempt quits (~gatekempt@user/gatekempt) (Ping timeout: 255 seconds)
22:13:12 × econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
22:15:45 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
22:19:48 wroathe joins (~wroathe@user/wroathe)
22:20:40 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
22:29:33 chromoblob joins (~user@37.113.180.113)
22:34:18 × chromoblob quits (~user@37.113.180.113) (Ping timeout: 255 seconds)
22:36:05 thegeekinside joins (~thegeekin@189.180.122.37)
22:40:19 libertyprime joins (~libertypr@203.96.203.44)
22:40:42 <wroathe> Hey guys, so I'm trying to define a typeclass that expresses that an (k :: [Type]) has a given type in the list. A "contains type" constraint. For example something like class HasB (x :: [Type]); instance HasB cs => HasB (c : cs); instance {-# OVERLAPPING #-} HasB (B : cs) seems to work, and when I do something like: test (Foo 3 :: Foo Int '[A, B, C]) where test is test :: HasB x => Bool it matches, but
22:40:48 <wroathe> '[A, C] used there results in "No instance for (HasB '[]) arising from a use of ‘test’", which makes sense because that recursive case doesn't have an '[] if it runs out of types to match against B
22:40:54 <wroathe> But what I'm wondering is if there's a better way to do this so that the constraint error makes more sense?
22:42:11 <wroathe> Or if this is really the only option for modeling on this kind of array-kinded type variable
22:44:33 <wroathe> I essentially want to make it a type error to use a type with this phantom array of types parameter that doesn't contain "B" at compile time
22:44:42 <Lears> wroathe: https://hackage.haskell.org/package/base-4.18.0.0/docs/GHC-TypeError.html#t:TypeError
22:45:22 <wroathe> Mind blown
22:45:37 <wroathe> Thanks much
22:48:52 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:52:00 × stites quits (~stites@c-71-232-14-73.hsd1.ma.comcast.net) (Ping timeout: 246 seconds)
22:52:52 stites joins (~stites@130.44.147.204)
22:56:10 <wroathe> Lears: Is it normal for that to require UndecidableInstances?
22:56:16 <wroathe> ghci is complaining at me
22:56:22 Sgeo joins (~Sgeo@user/sgeo)
22:57:16 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 248 seconds)
22:58:11 <wroathe> But yeah, with that extension enabled that works great.
23:00:15 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
23:06:22 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
23:08:07 × cael_ quits (~quassel@host109-149-135-250.range109-149.btcentralplus.com) (Ping timeout: 258 seconds)
23:08:51 hugo joins (znc@verdigris.lysator.liu.se)
23:12:41 <Lears> If the TypeError constraint is "big" and the bad instance head is "small", then yeah, same old.
23:13:29 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 258 seconds)
23:13:37 <geekosaur> whoops
23:16:27 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
23:20:52 bratwurst joins (~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8)
23:22:59 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
23:27:19 aaronv_ joins (~aaronv@user/aaronv)
23:27:38 eggplant_ joins (~Eggplanta@2600:1700:38c5:d800:2985:35e0:893a:ad44)
23:28:26 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 258 seconds)
23:29:43 × aaronv quits (~aaronv@user/aaronv) (Ping timeout: 240 seconds)
23:29:43 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:2985:35e0:893a:ad44) (Ping timeout: 240 seconds)
23:32:52 × EvanR quits (~EvanR@user/evanr) (Remote host closed the connection)
23:34:06 EvanR joins (~EvanR@user/evanr)
23:38:12 × aaronv_ quits (~aaronv@user/aaronv) (Ping timeout: 246 seconds)
23:39:30 aaronv_ joins (~aaronv@user/aaronv)
23:52:18 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
23:52:58 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds)
23:53:41 Lord_of_Life_ is now known as Lord_of_Life
23:54:30 jmdaemon joins (~jmdaemon@user/jmdaemon)
23:54:50 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
23:54:50 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
23:54:50 wroathe joins (~wroathe@user/wroathe)
23:57:13 × aaronv_ quits (~aaronv@user/aaronv) (Ping timeout: 240 seconds)

All times are in UTC on 2023-09-06.