2021/10/08

2021-10-08 00:05:30 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-08 00:05:30 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-08 00:05:30 +0200wroathe(~wroathe@user/wroathe)
2021-10-08 00:06:50 +0200hgolden(~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Remote host closed the connection)
2021-10-08 00:08:01 +0200beka(~beka@104.193.170.240) (Ping timeout: 265 seconds)
2021-10-08 00:08:32 +0200 <Skyfire> Are there any mature Haskell libraries for commutative algebra computations? I want to compute the Hilbert series of a graded subring of C[x,y].
2021-10-08 00:08:50 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 265 seconds)
2021-10-08 00:10:54 +0200 <sclv> sadly nothing pleasant to use that i know of
2021-10-08 00:11:47 +0200 <sclv> Skyfire: probably your best bet -- https://hackage.haskell.org/package/HaskellForMaths
2021-10-08 00:11:58 +0200 <Skyfire> Thanks. Let's see if there is something for Hilbert series.
2021-10-08 00:12:25 +0200Lorra(~lorenzo@2001:a61:be4:201:ad0b:4d75:e3f6:65ba) (Quit: Konversation terminated!)
2021-10-08 00:12:50 +0200emf_(~emf@2620:10d:c090:400::5:fdfa) (Ping timeout: 260 seconds)
2021-10-08 00:14:28 +0200emf(~emf@163.114.132.7)
2021-10-08 00:14:55 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-10-08 00:15:34 +0200hnOsmium0001(uid453710@hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2021-10-08 00:17:08 +0200beka(~beka@104.193.170.240)
2021-10-08 00:22:58 +0200 <Skyfire> Wow, the Math.CommutativeAlgebra.GroebnerBasis module seems very nice. But apparently the hilbertSeriesQA function assumes that the generators have degree 1, which is not true in my case.
2021-10-08 00:29:29 +0200hnOsmium0001(uid453710@id-453710.hampstead.irccloud.com)
2021-10-08 00:30:31 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 245 seconds)
2021-10-08 00:33:50 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-10-08 00:37:46 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2021-10-08 00:39:13 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-08 00:39:13 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-08 00:39:13 +0200wroathe(~wroathe@user/wroathe)
2021-10-08 00:40:01 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:f513:8be8:adee:de02) (Remote host closed the connection)
2021-10-08 00:42:22 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-08 00:42:35 +0200fendor(~fendor@178.165.191.25.wireless.dyn.drei.com) (Remote host closed the connection)
2021-10-08 00:44:58 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2)
2021-10-08 00:48:41 +0200bdaed(~bdaed@185.234.208.208.r.toneticgroup.pl)
2021-10-08 00:51:31 +0200DNH(~DNH@2a02:8108:1100:16d8:a11a:d19d:8c20:4068) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-10-08 00:52:17 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:25a3:7e37:69ba:6dab)
2021-10-08 00:53:10 +0200bdaed(~bdaed@185.234.208.208.r.toneticgroup.pl) (Ping timeout: 252 seconds)
2021-10-08 00:54:56 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-10-08 00:55:03 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
2021-10-08 00:58:41 +0200max22-(~maxime@2a01cb088335980045db91cc5b38a3ac.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2021-10-08 00:59:10 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 260 seconds)
2021-10-08 01:01:09 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-10-08 01:03:40 +0200 <zzz> someone finally did it
2021-10-08 01:03:42 +0200 <zzz> https://youtube.com/watch?v=ADqLBc1vFwI
2021-10-08 01:03:55 +0200 <monochrom> haha
2021-10-08 01:06:13 +0200MQ-17J(~MQ-17J@8.6.144.117)
2021-10-08 01:07:31 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-10-08 01:12:25 +0200spider(~spider@vps-951ce37a.vps.ovh.ca) (Quit: WeeChat 3.2)
2021-10-08 01:16:02 +0200spider(~spider@vps-951ce37a.vps.ovh.ca)
2021-10-08 01:17:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-10-08 01:18:25 +0200alzgh(~alzgh@user/alzgh) (Remote host closed the connection)
2021-10-08 01:18:52 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Read error: Connection reset by peer)
2021-10-08 01:19:10 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-10-08 01:19:41 +0200vysn(~vysn@user/vysn) (Ping timeout: 245 seconds)
2021-10-08 01:20:24 +0200Null_A(~null_a@2601:645:8700:2290:75e9:85ca:7982:df23)
2021-10-08 01:23:23 +0200ystael(~ystael@user/ystael)
2021-10-08 01:27:02 +0200mortemeur(~mortemeur@pool-173-76-107-201.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
2021-10-08 01:28:48 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-10-08 01:29:30 +0200Null_A(~null_a@2601:645:8700:2290:75e9:85ca:7982:df23) (Remote host closed the connection)
2021-10-08 01:29:30 +0200Vajb(~Vajb@85-76-12-150-nat.elisa-mobile.fi)
2021-10-08 01:31:09 +0200emf(~emf@163.114.132.7) (Ping timeout: 245 seconds)
2021-10-08 01:35:54 +0200acidjnk_new3(~acidjnk@p200300d0c703cb3809607f7c8c1f0b15.dip0.t-ipconnect.de)
2021-10-08 01:36:38 +0200cesar-(~cesar@2607:f380:828:fa00::e70)
2021-10-08 01:37:05 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 260 seconds)
2021-10-08 01:38:52 +0200acidjnk_new(~acidjnk@p200300d0c703cb15c01e6432704cfc21.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-10-08 01:39:57 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-10-08 01:41:18 +0200cesar-(~cesar@2607:f380:828:fa00::e70) (Ping timeout: 265 seconds)
2021-10-08 01:41:57 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3)
2021-10-08 01:42:02 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-10-08 01:46:54 +0200Null_A(~null_a@2601:645:8700:2290:8de:8d66:958e:46b4)
2021-10-08 01:48:15 +0200Vajb(~Vajb@85-76-12-150-nat.elisa-mobile.fi) (Read error: Connection reset by peer)
2021-10-08 01:49:05 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-10-08 01:49:24 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
2021-10-08 01:50:33 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Remote host closed the connection)
2021-10-08 01:54:21 +0200acidjnk_new3(~acidjnk@p200300d0c703cb3809607f7c8c1f0b15.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
2021-10-08 01:54:47 +0200zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2021-10-08 01:54:52 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-10-08 01:55:54 +0200zaquest(~notzaques@5.128.210.178)
2021-10-08 02:16:54 +0200Psybur(~Psybur@mobile-166-170-32-197.mycingular.net) (Remote host closed the connection)
2021-10-08 02:17:12 +0200libertyprime(~libertypr@118.149.84.202)
2021-10-08 02:17:13 +0200Psybur(~Psybur@mobile-166-170-32-197.mycingular.net)
2021-10-08 02:20:04 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2021-10-08 02:22:21 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Remote host closed the connection)
2021-10-08 02:24:04 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 245 seconds)
2021-10-08 02:33:16 +0200 <dsal> That thing about "Data.Map.Strict.Map" not being strict had me for a second. I thought I was about to learn a thing.
2021-10-08 02:33:30 +0200lavaman(~lavaman@98.38.249.169)
2021-10-08 02:33:47 +0200 <zzz> dsal: yeah...
2021-10-08 02:34:02 +0200 <dsal> I was spoiled by having already discovered that in a positive way.
2021-10-08 02:35:09 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-10-08 02:35:11 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2021-10-08 02:35:47 +0200 <monochrom> Does the term "false dichotomy" suffer from boolean blindness, which is just a new way to say false dichotomy? >:)
2021-10-08 02:36:26 +0200 <monochrom> (Anyway, "lazy and strict" is just another false dichotomy or boolean blindness, as usual.)
2021-10-08 02:37:08 +0200bdaed(~bdaed@185.234.208.208.r.toneticgroup.pl)
2021-10-08 02:38:11 +0200alx741(~alx741@181.196.69.122) (Ping timeout: 265 seconds)
2021-10-08 02:38:13 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-10-08 02:38:53 +0200 <zzz> import Data.Foldl'.Lazy
2021-10-08 02:39:01 +0200 <monochrom> :)
2021-10-08 02:39:34 +0200renzhi(~xp@2607:fa49:6500:b100::5845) (Ping timeout: 250 seconds)
2021-10-08 02:39:42 +0200 <ghoulguy> And anyway, the opposite of lazy is active or industrious or something.
2021-10-08 02:39:43 +0200vicfred(~vicfred@user/vicfred)
2021-10-08 02:40:06 +0200 <ghoulguy> lax would be a better match for strict
2021-10-08 02:41:05 +0200 <monochrom> onoes the spooky creepy ghoulguy is back!
2021-10-08 02:41:50 +0200bdaed(~bdaed@185.234.208.208.r.toneticgroup.pl) (Ping timeout: 260 seconds)
2021-10-08 02:42:01 +0200ghoulguypulls aside the mask
2021-10-08 02:42:01 +0200 <ghoulguy> monochrom, it's just me!
2021-10-08 02:42:21 +0200 <monochrom> Aaaaaiiiiiiiieeeeee....
2021-10-08 02:42:26 +0200 <c_wraith> but under the mask is... exactly the same face? Why were you even wearing a mask?
2021-10-08 02:42:59 +0200 <zzz> that's exactly what haskell needs... an excuse to introduce the word laxative into the lingo
2021-10-08 02:43:04 +0200 <monochrom> value-recursive mask
2021-10-08 02:43:22 +0200 <awpr> already have lax monoidal functors
2021-10-08 02:43:42 +0200 <c_wraith> everyone just calls them Applicative, though
2021-10-08 02:43:57 +0200 <awpr> we could have strict lax monoidal functors and lax strict monoidal functors (but the latter wouldn't be expressible as a type constructor)
2021-10-08 02:45:35 +0200 <awpr> now that I think about it, strict functors might not satisfy the functor laws, depending on how lax you want to be about strictness
2021-10-08 02:45:49 +0200 <zzz> laxatives are just endolaxoids in the category of...
2021-10-08 02:48:19 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2021-10-08 02:48:51 +0200 <monochrom> endomorphism
2021-10-08 02:48:54 +0200 <monochrom> s
2021-10-08 02:51:33 +0200alx741(~alx741@181.196.68.60)
2021-10-08 02:58:14 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-08 02:58:14 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-08 02:58:14 +0200wroathe(~wroathe@user/wroathe)
2021-10-08 02:58:29 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
2021-10-08 02:58:51 +0200Farzad(~FarzadBek@151.238.114.149) (Ping timeout: 245 seconds)
2021-10-08 03:03:31 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2021-10-08 03:05:28 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-10-08 03:07:48 +0200Null_A(~null_a@2601:645:8700:2290:8de:8d66:958e:46b4) (Remote host closed the connection)
2021-10-08 03:08:47 +0200 <geranim0> hi, i had lots of fun with tmp in c++ and was unsure if haskell offers similar capability of writing functions that take types and return types?
2021-10-08 03:09:29 +0200 <monochrom> What is tmp?
2021-10-08 03:09:37 +0200 <geranim0> template metaprogramming
2021-10-08 03:10:10 +0200xff0x(~xff0x@2001:1a81:5214:3f00:d123:8201:4d44:2918) (Ping timeout: 252 seconds)
2021-10-08 03:10:28 +0200 <awpr> sounds like you might like type families, more advanced typeclass shenanigans, data families, and GHC.Generics
2021-10-08 03:10:38 +0200 <Axman6> we have template haskell for generating code at compile time, and things like type families for writing functions over types
2021-10-08 03:11:09 +0200 <awpr> + GADTs to link type-level stuff to runtime stuff
2021-10-08 03:11:27 +0200 <monochrom> https://www.smbc-comics.com/comic/tonight comes to mind.
2021-10-08 03:11:28 +0200 <Axman6> typ family IsInt (a :: Type) :: Bool where IsInt Int = 'True; IsInt a = 'False -- I don't know if that actually works...
2021-10-08 03:12:04 +0200xff0x(~xff0x@2001:1a81:5251:1900:7e75:5755:e512:a0e0)
2021-10-08 03:13:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-08 03:13:41 +0200 <geranim0> awpr: thanks for the pointers!
2021-10-08 03:13:52 +0200 <Axman6> type family ScrewYouGHC where ScrewYouGHC a = ScrewYouGHC (a,a) -- I hope this doesn't compile
2021-10-08 03:13:56 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Remote host closed the connection)
2021-10-08 03:14:14 +0200 <awpr> UndecidableInstances
2021-10-08 03:14:34 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-10-08 03:15:05 +0200 <Axman6> https://rebeccaskinner.net/posts/2021-08-25-introduction-to-type-level-programming.html might also be useful geranim0
2021-10-08 03:15:07 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-10-08 03:15:09 +0200 <awpr> i.e. GHC will reject it by default, but if you need an escape hatch, it will gladly explode its memory space trying to run it
2021-10-08 03:15:24 +0200 <awpr> (haven't double-checked that)
2021-10-08 03:16:58 +0200 <geranim0> Axman6: thanks!
2021-10-08 03:18:36 +0200 <Axman6> geranim0: can you be more specific about what you actually want to do? We have lots of tools but choosing the right one will depend on the job.
2021-10-08 03:19:46 +0200 <geranim0> i wanted to make sure i learn a language that supports it now that i know its power xD
2021-10-08 03:19:51 +0200 <geranim0> i feel handicapped without it
2021-10-08 03:23:39 +0200 <Axman6> In my experience, I haven't seen TMP used for things that are particularly compicated - of course it can be and I've seen things like the prime number checked at compile time, whereas we are definitely moving to a world where we are pushing as much as we can into the type system. Things like servant for defining web servers mostly in the type system are a good example
2021-10-08 03:26:00 +0200 <Axman6> but if you're only just learning Haskell, you likely have a lot to learn before you'll be able to make use of type level programming
2021-10-08 03:32:06 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-08 03:32:06 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-08 03:32:06 +0200wroathe(~wroathe@user/wroathe)
2021-10-08 03:39:39 +0200 <Axman6> Hmm, having read through that article, I'm not sure I find it a particularly compelling example that shows off the power of type level programming
2021-10-08 03:41:52 +0200Jonno_FT1(~come@api.carswap.me) (Quit: Reconnecting)
2021-10-08 03:42:01 +0200Jonno_FTW(~come@api.carswap.me)
2021-10-08 03:42:02 +0200 <zzz> jkjlkj
2021-10-08 03:42:47 +0200Jonno_FTW(~come@api.carswap.me) (Changing host)
2021-10-08 03:42:47 +0200Jonno_FTW(~come@user/jonno-ftw/x-0835346)
2021-10-08 03:43:55 +0200a6a45081-2b83(~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507)
2021-10-08 03:47:24 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-10-08 03:51:10 +0200 <geranim0> Axman6: https://www.youtube.com/watch?v=L2SktfaJPuU
2021-10-08 03:52:25 +0200Codaraxis(~Codaraxis@user/codaraxis) (Ping timeout: 260 seconds)
2021-10-08 03:54:35 +0200 <Axman6> That loop unrolling thing is pretty easy to do in Haskell with type level programming
2021-10-08 03:54:45 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-10-08 03:55:56 +0200NinjaTrappeur(~ninja@user/ninjatrappeur) (Ping timeout: 245 seconds)
2021-10-08 03:56:06 +0200 <Axman6> the matrix example is something we get for free with lazines :P
2021-10-08 03:57:55 +0200 <Axman6> the dimensional analysis thing is nicely implemented in https://hackage.haskell.org/package/dimensional
2021-10-08 03:58:03 +0200Codaraxis(~Codaraxis@user/codaraxis)
2021-10-08 03:58:23 +0200Codaraxis(~Codaraxis@user/codaraxis) (Read error: Connection reset by peer)
2021-10-08 03:58:55 +0200 <Axman6> The place where templates make a lot of sense to me if for specialisation, generating code for each type it's used at. We can do that in Haskell using SPECIALISE but it's a bit less predictable IIRD
2021-10-08 03:58:57 +0200 <Axman6> IIRC*
2021-10-08 04:00:43 +0200Amras(~Amras@user/Amras) (Ping timeout: 252 seconds)
2021-10-08 04:11:32 +0200wrengrwrengr_away
2021-10-08 04:12:24 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 245 seconds)
2021-10-08 04:14:11 +0200 <Axman6> "The concepts, they come from functional programming"
2021-10-08 04:14:48 +0200yinghua(~yinghua@2800:2121:1400:900:c0b8:d50d:9ecd:24ca) (Quit: Leaving)
2021-10-08 04:14:58 +0200hexfive(~eric@50.35.83.177)
2021-10-08 04:15:08 +0200hexfive(~eric@50.35.83.177) (Client Quit)
2021-10-08 04:25:12 +0200bdaed(~bdaed@185.234.208.208.r.toneticgroup.pl)
2021-10-08 04:25:59 +0200Psybur(~Psybur@mobile-166-170-32-197.mycingular.net) (Remote host closed the connection)
2021-10-08 04:26:53 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-10-08 04:27:27 +0200 <a6a45081-2b83> How can I load both the library and executable from my project in cabal. Currently I load the library in repl then load the executable file.
2021-10-08 04:28:01 +0200 <a6a45081-2b83> Also why does repl compile everytime even if there is no change in source code
2021-10-08 04:28:15 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-10-08 04:29:59 +0200bdaed(~bdaed@185.234.208.208.r.toneticgroup.pl) (Ping timeout: 265 seconds)
2021-10-08 04:30:34 +0200 <a6a45081-2b83> Also why does Ctrl-C not stop repl (I was trying to print some variable but It just stopped after printing a double quote)
2021-10-08 04:32:19 +0200abrantesasf(~abrantesa@187.36.170.211)
2021-10-08 04:36:52 +0200_abrantesasf_(~abrantesa@187.36.170.211)
2021-10-08 04:37:14 +0200abrantesasf(~abrantesa@187.36.170.211) (Ping timeout: 265 seconds)
2021-10-08 04:39:51 +0200NinjaTrappeur(~ninja@user/ninjatrappeur)
2021-10-08 04:41:14 +0200 <monochrom> I load the library ("cabal repl") then :load or :add the executable, too.
2021-10-08 04:41:30 +0200 <monochrom> I cannot reproduce the second one.
2021-10-08 04:41:37 +0200 <monochrom> I cannot reproduce the third one.
2021-10-08 04:42:05 +0200_abrantesasf_(~abrantesa@187.36.170.211) (Remote host closed the connection)
2021-10-08 04:45:13 +0200 <a6a45081-2b83> So I was able to break on exception but it seems it stopped way above in the callstack than the position where the exception occured. Do I have to add `HasCallStack` too all the functions called in between?
2021-10-08 04:46:00 +0200 <a6a45081-2b83> so here's the output: https://hastebin.com/anaducukiy.yaml
2021-10-08 04:46:29 +0200 <a6a45081-2b83> The error occured in src/Gibbon/L0/Typecheck.hs but the history shows only until src/Gibbon/HaskellFrontend.hs.
2021-10-08 04:51:47 +0200 <awpr> "when an error thunk is created" is different from "when an exception occurs" (the latter happens when the former is evaluated)
2021-10-08 04:52:11 +0200 <awpr> e.g. `const 4 (error "failed")` doesn't raise an exception at all
2021-10-08 04:52:20 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-10-08 04:52:49 +0200 <a6a45081-2b83> Ok so `error` function only creates an error thunk and it is only thrown when it's values is required in some future computation?
2021-10-08 04:53:22 +0200 <a6a45081-2b83> I will then need to find a way to get a proper history to debug ghci, hmm
2021-10-08 04:53:23 +0200 <awpr> exactly. sometimes you can make things behave better by making things more strict about their errors
2021-10-08 04:53:47 +0200 <a6a45081-2b83> I heard using -fprof helps to get the call stack.
2021-10-08 04:53:53 +0200 <ghoulguy> a6a45081-2b83, Yes, you'd want to add more HasCallStack if you want more of that structure
2021-10-08 04:53:58 +0200 <shapr> yay, the next Boston Haskell is scheduled! https://www.meetup.com/Boston-Haskell/events/281285037/
2021-10-08 04:54:58 +0200td_(~td@94.134.91.74) (Ping timeout: 265 seconds)
2021-10-08 04:55:56 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 265 seconds)
2021-10-08 04:56:35 +0200td_(~td@muedsl-82-207-238-110.citykom.de)
2021-10-08 04:57:45 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-10-08 05:00:52 +0200TDANG(~TDANG@inet-177-7.ets.org)
2021-10-08 05:01:22 +0200 <TDANG> hi. What does this expression mean?
2021-10-08 05:01:35 +0200 <TDANG> type Validator :: *
2021-10-08 05:02:27 +0200 <a6a45081-2b83> that did help but it seems I eventually read an typeclass instance definition and I am not sure which function calls the typeclass member function
2021-10-08 05:02:38 +0200 <a6a45081-2b83> maybe I should build for profiling and use -xc, thinking....
2021-10-08 05:03:05 +0200 <awpr> yeah, that situation cannot be debugged further with HasCallStack without changing the class definition
2021-10-08 05:03:19 +0200 <awpr> I've had to _remove a Num instance_ over that issue before
2021-10-08 05:03:34 +0200 <awpr> profiling is your only recourse
2021-10-08 05:04:04 +0200 <a6a45081-2b83> I know that there is `stack build --profile` idk what cabal equivalent is, maybe `ghc-flags=-fprof -fprof-auto` or something
2021-10-08 05:04:18 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 265 seconds)
2021-10-08 05:04:41 +0200 <TDANG> hi. What does this expression mean: type Validator :: *
2021-10-08 05:04:44 +0200 <awpr> `type Validator :: *` is a declaration that just says Validator is a Type
2021-10-08 05:05:06 +0200 <awpr> (and suggests that Validator will be defined soon)
2021-10-08 05:06:04 +0200 <awpr> it's a standalone kind signature https://ryanglscott.github.io/2020/01/05/five-benefits-to-using-standalonekindsignatures/
2021-10-08 05:07:12 +0200libertyprime(~libertypr@118.149.84.202) (Ping timeout: 265 seconds)
2021-10-08 05:07:55 +0200 <TDANG> When using type, what to use :: or =
2021-10-08 05:08:19 +0200 <awpr> both for different things. = is much more common
2021-10-08 05:09:16 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-10-08 05:09:21 +0200 <awpr> `type ... :: ...` is a kind signature; `type ... = ...` is a type alias definition. same idea as with function type signatures and definitions
2021-10-08 05:10:04 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Ping timeout: 252 seconds)
2021-10-08 05:10:25 +0200sugar(~sugar@bras-base-hmtnon1497w-grc-21-70-26-153-130.dsl.bell.ca)
2021-10-08 05:10:32 +0200sugar(~sugar@bras-base-hmtnon1497w-grc-21-70-26-153-130.dsl.bell.ca) (Client Quit)
2021-10-08 05:10:48 +0200sugar(~sugar@bras-base-hmtnon1497w-grc-21-70-26-153-130.dsl.bell.ca)
2021-10-08 05:12:10 +0200hololeap(~hololeap@user/hololeap) (Quit: Bye)
2021-10-08 05:15:57 +0200 <TDANG> Thanks
2021-10-08 05:20:10 +0200mbuf(~Shakthi@171.61.175.133)
2021-10-08 05:23:38 +0200libertyprime(~libertypr@118.149.83.215)
2021-10-08 05:23:39 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2021-10-08 05:26:13 +0200sleblanc(~sleblanc@user/sleblanc)
2021-10-08 05:26:35 +0200 <zzz> matrix bridge out?
2021-10-08 05:33:45 +0200 <ghoulguy> zzz, looks like it's just a normal amount of lagged
2021-10-08 05:38:32 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-10-08 05:43:15 +0200 <sm> is there any looping function in base, where you can test for the end condition ?
2021-10-08 05:43:51 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-08 05:46:56 +0200 <sm> fix ?
2021-10-08 05:47:13 +0200 <monochrom> Perhaps "until" helps.
2021-10-08 05:47:50 +0200 <sm> and secondly, I'd like it to be monadic
2021-10-08 05:50:12 +0200 <monochrom> Then the package monad-loops has a lot of those.
2021-10-08 05:51:21 +0200 <TDANG> Hi. What does this operator do: <-
2021-10-08 05:51:38 +0200 <Axman6> :t until
2021-10-08 05:51:39 +0200 <lambdabot> (a -> Bool) -> (a -> a) -> a -> a
2021-10-08 05:52:09 +0200 <Axman6> TDANG: it's part of do-notation, it's syntax sugar for using the Monad class' (>>=) function
2021-10-08 05:52:49 +0200 <Axman6> @undo do {x <- f a; y <- g b x; return $ h x y }
2021-10-08 05:52:49 +0200 <lambdabot> f a >>= \ x -> g b x >>= \ y -> return $ h x y
2021-10-08 05:55:25 +0200 <TDANG> Still unclear ;-( I saw it without do-notation
2021-10-08 05:56:15 +0200 <TDANG> tx = mconcat [mustSpendScriptOutput oref $ Redeemer $ I 17 | oref <- orefs]
2021-10-08 05:56:44 +0200 <ghoulguy> TDANG, it's the same thing there as using <- in do notation
2021-10-08 05:57:09 +0200 <TDANG> What is: oref <-orefs
2021-10-08 05:57:21 +0200 <ghoulguy> In the context of a "list comprehension" like that, it means that you'll iterate through each element of the list orefs and each of those elements will be called oref
2021-10-08 05:57:40 +0200 <ghoulguy> > [2 * x | x <- [5,3,7] ]
2021-10-08 05:57:42 +0200 <lambdabot> [10,6,14]
2021-10-08 05:57:52 +0200 <ghoulguy> > let xs = [5,3,7] in [2 * x | x <- xs ]
2021-10-08 05:57:54 +0200 <lambdabot> [10,6,14]
2021-10-08 05:58:05 +0200 <TDANG> oh, I see
2021-10-08 05:58:17 +0200 <ghoulguy> > let xs = [x,y,z] in [2 * x | x <- xs ]
2021-10-08 05:58:18 +0200 <lambdabot> [2 * x,2 * y,2 * z]
2021-10-08 05:58:39 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 245 seconds)
2021-10-08 05:58:41 +0200 <TDANG> so, here, <- means iteration of list
2021-10-08 05:58:53 +0200 <TDANG> not in the do-notation context?
2021-10-08 05:59:18 +0200 <ghoulguy> > let xs = [x,y]; ys = [a,b] in [ (i,j) | i <- xs, j <- ys ]
2021-10-08 05:59:20 +0200 <lambdabot> [(x,a),(x,b),(y,a),(y,b)]
2021-10-08 05:59:29 +0200 <ghoulguy> it's the same in do-notation for lists
2021-10-08 05:59:54 +0200 <ghoulguy> > do let { xs = [x,y,z]}; a <- xs; pure (2*a)
2021-10-08 05:59:56 +0200 <lambdabot> [2 * x,2 * y,2 * z]
2021-10-08 06:00:19 +0200 <dsal> @undo [2 * x | x <- [5,3,7] ]
2021-10-08 06:00:19 +0200 <lambdabot> concatMap (\ x -> [2 * x]) [5, 3, 7]
2021-10-08 06:01:04 +0200 <Axman6> TDANG: they are really being used for the same thing in do notation and list comprehensions, that's how the monad instance for lists works. read x <- xs as "for each x selected from xs"
2021-10-08 06:01:54 +0200 <TDANG> I see
2021-10-08 06:04:11 +0200 <Axman6> > do { x <- [1,2,3]; y <- [10,20,30]; return (y+x) }
2021-10-08 06:04:13 +0200 <lambdabot> [11,21,31,12,22,32,13,23,33]
2021-10-08 06:04:15 +0200 <TDANG> What is the meaning of | in : tx = mconcat [mustSpendScriptOutput oref $ Redeemer $ I 17 | oref <- orefs]
2021-10-08 06:04:34 +0200 <Axman6> > [y+x | x <- [1,2,3], y <- [10,20,30]] -- these are the same
2021-10-08 06:04:36 +0200 <lambdabot> [11,21,31,12,22,32,13,23,33]
2021-10-08 06:05:07 +0200 <ghoulguy> TDANG, the | means "here comes the list comprehension stuff"
2021-10-08 06:05:22 +0200joeyh_(joeyh@kitenet.net) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
2021-10-08 06:05:32 +0200joeyh(joeyh@kitenet.net)
2021-10-08 06:05:37 +0200MQ-17J(~MQ-17J@8.6.144.117) (Ping timeout: 252 seconds)
2021-10-08 06:05:39 +0200 <TDANG> Ok, so | used to separte the iteration of list
2021-10-08 06:05:46 +0200 <ghoulguy> Mere list literals look like: [1] or [1,2]
2021-10-08 06:05:58 +0200 <ghoulguy> throw in a | and you're in list comprehension land
2021-10-08 06:05:58 +0200 <Axman6> list comprehensions look like: [res <something made from the values to the right> | x <- xs <values selected from various lists>, x^2 == n <conditions used to filter things> ]
2021-10-08 06:06:24 +0200 <ghoulguy> > ([10 | True], [10 | False])
2021-10-08 06:06:26 +0200 <lambdabot> ([10],[])
2021-10-08 06:06:27 +0200 <Axman6> https://wiki.haskell.org/List_comprehension
2021-10-08 06:07:37 +0200 <Axman6> > [ (x,y,z) | [1..100; y <- [x .. 100], z <- [y .. 100], x^2 + y^2 == z^2]
2021-10-08 06:07:39 +0200 <lambdabot> <hint>:1:20: error: parse error on input ‘;’
2021-10-08 06:08:03 +0200 <Axman6> > [ (x,y,z) | x <- [1..100] y <- [x .. 100], z <- [y .. 10000], x^2 + y^2 == z^2]
2021-10-08 06:08:04 +0200 <lambdabot> <hint>:1:29: error:
2021-10-08 06:08:05 +0200 <lambdabot> parse error on input ‘<-’
2021-10-08 06:08:05 +0200 <lambdabot> Perhaps this statement should be within a 'do' block?
2021-10-08 06:08:17 +0200 <Axman6> > [ (x,y,z) | x <- [1..100], y <- [x .. 100], z <- [y .. 10000], x^2 + y^2 == z^2] -- I am bad at this
2021-10-08 06:08:23 +0200 <lambdabot> mueval-core: Time limit exceeded
2021-10-08 06:08:29 +0200 <TDANG> So, | always go with [ ], correct?
2021-10-08 06:08:31 +0200 <ghoulguy> *nods* excellent sequence
2021-10-08 06:08:52 +0200 <ghoulguy> TDANG, no, but when the | is inside the [], that's what it means
2021-10-08 06:09:52 +0200 <TDANG> ya, let me explain: when use list-comprehension, | is always inside [ ]
2021-10-08 06:09:56 +0200 <TDANG> correct?
2021-10-08 06:10:44 +0200 <Axman6> > [ (x,y,z) | x <- [1..100], y <- [x .. 100], z <- map (^2) [y .. 100], x^2 + y^2 == z] -- A much faster version of the above
2021-10-08 06:10:46 +0200 <lambdabot> [(3,4,25),(5,12,169),(6,8,100),(7,24,625),(8,15,289),(9,12,225),(9,40,1681),...
2021-10-08 06:11:23 +0200 <Axman6> I think it's more correct to say that | is part of list comprehension syntax, we use | for things that have nothing to do with list comprehensions too
2021-10-08 06:11:45 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com)
2021-10-08 06:13:29 +0200bdaed(~bdaed@185.234.208.208.r.toneticgroup.pl)
2021-10-08 06:13:33 +0200 <TDANG> ya, I see
2021-10-08 06:14:22 +0200 <a6a45081-2b83> awpr: tried making a profile build but ran into ghc issue, sad life *sobbing*
2021-10-08 06:14:30 +0200 <a6a45081-2b83> (https://gitlab.haskell.org/ghc/ghc/-/issues/16525)
2021-10-08 06:14:44 +0200 <TDANG> tx = mconcat [mustSpendScriptOutput oref $ Redeemer $ I 17 | oref <- orefs]
2021-10-08 06:14:45 +0200 <TDANG> Traslated:
2021-10-08 06:14:47 +0200 <TDANG> first, use Redeemer function to process I 17
2021-10-08 06:14:48 +0200 <TDANG> then for each oref in orefs, use mustSpendScriptOutput for oref. Then consume the above result
2021-10-08 06:14:50 +0200 <TDANG> then mconcat the above result
2021-10-08 06:15:11 +0200 <awpr> can it be repro'd by compiling it and running the program?
2021-10-08 06:16:21 +0200 <a6a45081-2b83> it can but the semigroup operator (<>) is being called from so many places, idk where to look for the thing causing invalid input to be passed to (<>)
2021-10-08 06:16:59 +0200 <a6a45081-2b83> N.B. the bug is in invalid operands being passed to (<>) which is causing a bug
2021-10-08 06:18:14 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-10-08 06:18:15 +0200bdaed(~bdaed@185.234.208.208.r.toneticgroup.pl) (Ping timeout: 265 seconds)
2021-10-08 06:18:38 +0200 <awpr> yeah, ending up in this situation is rough. honestly I have no idea how to debug it other than "think really hard and divine the answer eventually"
2021-10-08 06:18:52 +0200 <monochrom> Do you know Python list comprehension? [ foo | x <- list ] is [ foo for x in list ]
2021-10-08 06:19:30 +0200 <awpr> I mean, you could do silly things like define your own `<>` with `HasCallStack` and `unsafePerformIO . try . evaluate` and shadow `<>` with that everywhere
2021-10-08 06:19:36 +0200 <monochrom> If you're huge into translating programs to English, you should switch to COBOL.
2021-10-08 06:20:22 +0200 <awpr> this is where my position of "no partial instance methods" comes from: because then, this happens and there is no good solution
2021-10-08 06:21:08 +0200 <a6a45081-2b83> oh, that makes sense...
2021-10-08 06:21:38 +0200 <a6a45081-2b83> I'm trying to see if an older version of ghc works, if it does then I'm gonna stick with it for the time...
2021-10-08 06:25:31 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 245 seconds)
2021-10-08 06:34:13 +0200 <TDANG> grab = do
2021-10-08 06:34:14 +0200 <TDANG> utxos <- utxoAt scrAddress
2021-10-08 06:34:43 +0200 <TDANG> can I do: utxos = utxoAt scrAddress ?
2021-10-08 06:35:11 +0200lavaman(~lavaman@98.38.249.169)
2021-10-08 06:35:25 +0200 <TDANG> What is the difference btw = vs <=
2021-10-08 06:35:51 +0200 <TDANG> sorry, in above expression, btw: = vs <-
2021-10-08 06:39:50 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
2021-10-08 06:45:25 +0200alzgh(~alzgh@user/alzgh)
2021-10-08 06:50:07 +0200 <a6a45081-2b83> earlier ghc version worked...
2021-10-08 06:51:01 +0200mbuf(~Shakthi@171.61.175.133) (Quit: Leaving)
2021-10-08 06:53:19 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-10-08 07:00:15 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-10-08 07:07:05 +0200oxide(~lambda@user/oxide)
2021-10-08 07:08:19 +0200Null_A(~null_a@2601:645:8700:2290:8de:8d66:958e:46b4)
2021-10-08 07:12:52 +0200Null_A(~null_a@2601:645:8700:2290:8de:8d66:958e:46b4) (Ping timeout: 265 seconds)
2021-10-08 07:15:15 +0200alzgh(~alzgh@user/alzgh) (Remote host closed the connection)
2021-10-08 07:20:04 +0200michalz(~michalz@185.246.204.93)
2021-10-08 07:24:29 +0200sleblanc(~sleblanc@user/sleblanc) (Ping timeout: 245 seconds)
2021-10-08 07:30:15 +0200 <sm> yes fix.. and used trace to get around the need for IO. https://github.com/simonmichael/games/blob/main/caverunner/caverunner.hs#L257:L285
2021-10-08 07:30:37 +0200 <sm> but I think it's not good
2021-10-08 07:30:45 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-10-08 07:33:28 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2021-10-08 07:33:58 +0200Amras(~Amras@user/Amras)
2021-10-08 07:34:23 +0200chomwitt(~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374)
2021-10-08 07:38:52 +0200rkrishnan(~user@45.127.46.26)
2021-10-08 07:38:53 +0200amk(~amk@109.255.169.126) (Ping timeout: 268 seconds)
2021-10-08 07:39:29 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-08 07:40:30 +0200amk(~amk@109.255.169.126)
2021-10-08 07:41:09 +0200smswiftly replaces that with a custom IO recursion
2021-10-08 07:42:10 +0200vysn(~vysn@user/vysn)
2021-10-08 07:43:59 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-08 07:47:32 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Remote host closed the connection)
2021-10-08 07:47:46 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com)
2021-10-08 07:48:06 +0200ubert(~Thunderbi@91.141.46.27.wireless.dyn.drei.com)
2021-10-08 08:01:40 +0200bdaed(~bdaed@185.234.208.208.r.toneticgroup.pl)
2021-10-08 08:14:18 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-10-08 08:14:24 +0200mei(~mei@user/mei)
2021-10-08 08:14:28 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-08 08:18:35 +0200rtjure(~rtjure@bras-79-132-17-74.comnet.bg)
2021-10-08 08:19:22 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:ee1f:1bdf:384a:356)
2021-10-08 08:19:34 +0200 <Axman6> TDANG: = and <- do different things, x = y says that x is the same as y, whereas x <- y says (roughly) for each x that y produces, do something with that x. the precise meaning of <- depends on which monad you're using. for lists is means for each x in y, for IO, y :: IO a and x :: a, and it means give the value that y returns the name a
2021-10-08 08:20:44 +0200cheater(~Username@user/cheater) (Ping timeout: 245 seconds)
2021-10-08 08:24:33 +0200cheater(~Username@user/cheater)
2021-10-08 08:30:34 +0200cfricke(~cfricke@user/cfricke)
2021-10-08 08:33:11 +0200wonko(~wjc@62.115.229.50)
2021-10-08 08:34:54 +0200bdaed(~bdaed@185.234.208.208.r.toneticgroup.pl) (Ping timeout: 245 seconds)
2021-10-08 08:39:22 +0200ubert1(~Thunderbi@91.141.46.27.wireless.dyn.drei.com)
2021-10-08 08:42:20 +0200benin03693230163(~benin@183.82.24.191)
2021-10-08 08:47:23 +0200Cajun(~Cajun@user/cajun) (Ping timeout: 256 seconds)
2021-10-08 08:48:51 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-10-08 08:50:47 +0200chele(~chele@user/chele)
2021-10-08 08:52:38 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2021-10-08 08:55:10 +0200timCF(~timCF@m91-129-108-244.cust.tele2.ee) (Ping timeout: 260 seconds)
2021-10-08 09:00:37 +0200bdaed(~bdaed@185.234.208.208.r.toneticgroup.pl)
2021-10-08 09:03:51 +0200NinjaTrappeur(~ninja@user/ninjatrappeur) (Ping timeout: 245 seconds)
2021-10-08 09:04:18 +0200NinjaTrappeur(~ninja@user/ninjatrappeur)
2021-10-08 09:04:22 +0200tzh_(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-10-08 09:04:22 +0200xff0x(~xff0x@2001:1a81:5251:1900:7e75:5755:e512:a0e0) (Ping timeout: 252 seconds)
2021-10-08 09:05:13 +0200xff0x(~xff0x@2001:1a81:5251:1900:6353:3c1e:a988:d99)
2021-10-08 09:06:31 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 252 seconds)
2021-10-08 09:07:16 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-10-08 09:08:23 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-10-08 09:08:36 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-10-08 09:09:04 +0200tzh_(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 245 seconds)
2021-10-08 09:09:52 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 252 seconds)
2021-10-08 09:09:54 +0200libertyprime(~libertypr@118.149.83.215) (Read error: Connection reset by peer)
2021-10-08 09:11:27 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-10-08 09:12:14 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-10-08 09:12:49 +0200vysn(~vysn@user/vysn) (Quit: WeeChat 3.2)
2021-10-08 09:13:01 +0200bdaed(~bdaed@185.234.208.208.r.toneticgroup.pl) (Ping timeout: 245 seconds)
2021-10-08 09:13:57 +0200fendor(~fendor@178.165.191.25.wireless.dyn.drei.com)
2021-10-08 09:14:22 +0200motherfsck(~motherfsc@user/motherfsck)
2021-10-08 09:16:50 +0200 <Amras> is there a library that handles parsec-style parsing alongside pickling?
2021-10-08 09:21:07 +0200 <Amras> ie. where I can define `do; staticString '{'; x' <- (varInt, x myData); staticString '}'` and have it both work to parse `{12}` and to generate `{12}`
2021-10-08 09:24:34 +0200 <awpr> that's a bit of a difficult thing to achieve, largely because Monad isn't a suitable typeclass for it: it involves jointly building up and tearing down the "result type", whereas Monad can only talk about producing the "result type"; things like Divisible/Decidable are for tearing down their type parameter, but they go _only_ that direction too
2021-10-08 09:25:51 +0200cheater(~Username@user/cheater) (Quit: (BitchX) Wouldn't it be great if the dog could walk itself?)
2021-10-08 09:25:57 +0200 <awpr> just looking around, I found https://hackage.haskell.org/package/bidirectional-0.1.0.0/docs/Data-IParser.html, based on profunctors, but I'm not sure whether it's any good
2021-10-08 09:26:00 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-10-08 09:29:50 +0200 <awpr> this looks more promising: https://hackage.haskell.org/package/roundtrip
2021-10-08 09:34:48 +0200a6a45081-2b83(~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507) (Remote host closed the connection)
2021-10-08 09:37:28 +0200cheater(~Username@user/cheater)
2021-10-08 09:37:38 +0200ub(~Thunderbi@178.115.60.191.wireless.dyn.drei.com)
2021-10-08 09:37:49 +0200ubert(~Thunderbi@91.141.46.27.wireless.dyn.drei.com) (Ping timeout: 245 seconds)
2021-10-08 09:37:50 +0200ububert
2021-10-08 09:37:52 +0200ubert1(~Thunderbi@91.141.46.27.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
2021-10-08 09:40:52 +0200pavonia_(~user@user/siracusa)
2021-10-08 09:41:13 +0200pavonia(~user@user/siracusa) (Ping timeout: 252 seconds)
2021-10-08 09:41:26 +0200pavonia_pavonia
2021-10-08 09:45:29 +0200 <awpr> wait I knew there was a reason this problem sounded familiar: I took a shot at the binary serialization version of it a while ago and was fairly content with the results. if you stick a parser and an encoder into a record together, you can write combinators that compose them on sums and products. for a textual version, they should be able to have "sequencing" with static text easily enough, too
2021-10-08 09:45:32 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-08 09:46:16 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-10-08 09:47:08 +0200libertyprime(~libertypr@118.149.78.62)
2021-10-08 09:47:10 +0200 <Amras> right; that seems to be the principle behind most solutions I've seen
2021-10-08 09:48:54 +0200jtomas_(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
2021-10-08 09:54:00 +0200 <jackdk> Amras: an abstraction worth looking at is the idea of a monoidal functor, which can generalise applicative/alternative/divisible/decidable, depending on whether you're using Either or (,) as your product and whether you're dealing with co- or contravariant functors
2021-10-08 09:55:16 +0200 <jackdk> Amras: George WIlson's talk Contravariant Functors: the Other Side of the Coin https://www.youtube.com/watch?v=IJ_bVVsQhvc explains the Divisible and Decidable typeclasses using prettyprinters as an example
2021-10-08 09:56:42 +0200 <jackdk> Amras: You can then do something like `data PP a = PP (PrettyPrinter a) (Parser a)`and build up many operations using the monoidal functor abstraction. You can get an fmaplike operation by stealing imap from the Invariant class in the invariant package, but the more mathematically-literate people told me it was a bodge when I suggested it
2021-10-08 09:57:56 +0200 <awpr> the thing that constituted a breakthrough for me was realizing that `newtype PP a b = PP (PrettyPrinter b) (Parser a)` was the solution to needing invariant mapping
2021-10-08 09:58:03 +0200 <jackdk> Amras: Otherwise, it's possible better to treat it as a profunctor: `data PP a b = PP (PrettyPrinter a) (Parser b)`
2021-10-08 09:58:08 +0200 <jackdk> yeah that
2021-10-08 09:58:09 +0200 <awpr> ;)
2021-10-08 09:58:53 +0200 <awpr> because then the weird invariant mapping is replaced by normal `dimap`, and you gain the flexibility to mess with both sides separately
2021-10-08 09:58:53 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-10-08 09:59:16 +0200 <jackdk> You can then get sum/productish instances from the `product-profunctors` package, which I've been meaning to wrangle into a better hierarchy: https://github.com/tomjaguarpaw/product-profunctors/pull/54
2021-10-08 09:59:57 +0200baruch(~spinoza3@c-73-147-19-239.hsd1.va.comcast.net)
2021-10-08 10:01:21 +0200 <jackdk> from there, you can recreate applicative and maybe monad operations on `b`, and divisible and decideable operations on the `a`. Can't write an `(<|>)` equivalent on the `b` though
2021-10-08 10:03:23 +0200 <jackdk> generics-eot also gives you good tools to split things into Either and (,)
2021-10-08 10:03:36 +0200 <jackdk> http://jackkelly.name/blog/archives/2020/08/19/abstracting_over_applicative_alternative_divisible_… has links if you want to explore the `PP a = PP (Pretty a) (Parser a)` approach, but I consider it a dead end
2021-10-08 10:04:37 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-10-08 10:05:38 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-10-08 10:06:34 +0200barzo(~barzo@176.55.50.114)
2021-10-08 10:06:35 +0200timCF(~timCF@254-149-20-81.sta.estpak.ee)
2021-10-08 10:07:19 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
2021-10-08 10:07:35 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-10-08 10:08:26 +0200hendursa1(~weechat@user/hendursaga)
2021-10-08 10:08:27 +0200 <jackdk> I think the profunctor that has a pair of parser and prettyprinter (note that you can create it as a `Product` of a `Clown` and a `Joker`) is "better" because it lets you vary the type variables independently if you need to go from `PP a a` to `PP b b` in a non-obvious way.
2021-10-08 10:08:31 +0200 <jackdk> anyway, braindump over
2021-10-08 10:11:12 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 276 seconds)
2021-10-08 10:15:17 +0200gehmehgeh(~user@user/gehmehgeh)
2021-10-08 10:17:08 +0200acidjnk_new3(~acidjnk@p200300d0c703cb3809607f7c8c1f0b15.dip0.t-ipconnect.de)
2021-10-08 10:18:48 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-10-08 10:19:07 +0200timCF(~timCF@254-149-20-81.sta.estpak.ee) (Ping timeout: 252 seconds)
2021-10-08 10:21:42 +0200libertyprime(~libertypr@118.149.78.62) (Ping timeout: 265 seconds)
2021-10-08 10:28:39 +0200libertyprime(~libertypr@118.149.73.16)
2021-10-08 10:31:13 +0200DNH(~DNH@2a02:8108:1100:16d8:a11a:d19d:8c20:4068)
2021-10-08 10:32:01 +0200 <Amras> thanks
2021-10-08 10:34:34 +0200rkrishnan(~user@45.127.46.26) (Ping timeout: 252 seconds)
2021-10-08 10:36:57 +0200lavaman(~lavaman@98.38.249.169)
2021-10-08 10:41:26 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
2021-10-08 10:49:44 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-10-08 10:51:01 +0200azeem(~azeem@2a00:801:42b:dd4e:d5b8:f7b1:5263:aa76) (Read error: Connection reset by peer)
2021-10-08 10:51:52 +0200azeem(~azeem@emp-183-4.eduroam.uu.se)
2021-10-08 10:53:48 +0200vpan(~vilius@212.117.1.172)
2021-10-08 10:53:48 +0200azeem(~azeem@emp-183-4.eduroam.uu.se) (Read error: Connection reset by peer)
2021-10-08 10:55:34 +0200hnOsmium0001(uid453710@id-453710.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2021-10-08 10:56:51 +0200azeem(~azeem@emp-183-4.eduroam.uu.se)
2021-10-08 10:57:43 +0200DNH(~DNH@2a02:8108:1100:16d8:a11a:d19d:8c20:4068) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-10-08 10:58:09 +0200fendor_(~fendor@178.115.75.223.wireless.dyn.drei.com)
2021-10-08 11:01:00 +0200fendor(~fendor@178.165.191.25.wireless.dyn.drei.com) (Ping timeout: 265 seconds)
2021-10-08 11:04:23 +0200beka(~beka@104.193.170.240) (Ping timeout: 265 seconds)
2021-10-08 11:08:40 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 252 seconds)
2021-10-08 11:10:19 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-10-08 11:25:40 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:25a3:7e37:69ba:6dab) (Remote host closed the connection)
2021-10-08 11:26:29 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2021-10-08 11:27:11 +0200kuribas(~user@ptr-25vy0i7xa7aijducfsu.18120a2.ip6.access.telenet.be)
2021-10-08 11:35:27 +0200jonatan_(~nate@h85-8-60-194.cust.a3fiber.se) (Remote host closed the connection)
2021-10-08 11:36:31 +0200wei2912(~wei2912@112.199.250.21)
2021-10-08 11:37:36 +0200DNH(~DNH@ip5f5abb04.dynamic.kabel-deutschland.de)
2021-10-08 11:43:35 +0200 <kuribas> Found how to write hspec smallcheck tests, and change the depth. Not hard when you know it. Just difficult to navigate through the polymorphic functions and orphan instances...
2021-10-08 11:44:29 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 245 seconds)
2021-10-08 11:46:36 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-10-08 11:47:26 +0200barzo(~barzo@176.55.50.114) (Remote host closed the connection)
2021-10-08 11:52:09 +0200DNH(~DNH@ip5f5abb04.dynamic.kabel-deutschland.de) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-10-08 11:53:26 +0200barzo(~barzo@176.55.53.201)
2021-10-08 11:54:03 +0200barzo(~barzo@176.55.53.201) (Client Quit)
2021-10-08 11:54:16 +0200barzo(~barzo@176.55.53.201)
2021-10-08 12:02:37 +0200mestre(~mestre@191.177.175.57)
2021-10-08 12:05:56 +0200chomwitt(~chomwitt@2a02:587:dc18:b400:12c3:7bff:fe6d:d374) (Ping timeout: 245 seconds)
2021-10-08 12:10:15 +0200 <kuribas> Is haskell + extensions a *big* language?
2021-10-08 12:10:19 +0200 <kuribas> compared to java say?
2021-10-08 12:10:44 +0200 <kuribas> it seems to me most language "accumulate" features as they evolve.
2021-10-08 12:12:32 +0200 <mestre> Its hard removing a feature.
2021-10-08 12:13:06 +0200 <kuribas> or, like in scheme, the language keeps small, but implementations get big, and each implementation has it's own ways of doing things.
2021-10-08 12:14:16 +0200 <kuribas> it's just because I heard people complain that haskell is big with all extensions...
2021-10-08 12:15:22 +0200fendor_fendor
2021-10-08 12:15:43 +0200 <mestre> It is big, don't get me wrong. But the language extensions are great.
2021-10-08 12:16:32 +0200 <mestre> Can't compare with Java, though, never used it.
2021-10-08 12:19:24 +0200 <fendor> I think my biggest issue with how big haskell is the accumulation of new syntax over time that seems to not interact nicely
2021-10-08 12:19:31 +0200 <fendor> or at least not visually nice
2021-10-08 12:20:26 +0200 <mestre> Interesting. Can you give me an example of a weird interaction?
2021-10-08 12:20:28 +0200 <kuribas> fendor: like what?
2021-10-08 12:20:32 +0200 <fendor> for example, while I love patternguards, their syntax is really weird with case expressions
2021-10-08 12:20:39 +0200 <fendor> > case () | () <- () -> ()
2021-10-08 12:20:40 +0200 <lambdabot> <hint>:1:9: error: parse error on input ‘|’
2021-10-08 12:20:48 +0200 <fendor> > case () of | () <- () -> ()
2021-10-08 12:20:49 +0200 <lambdabot> <hint>:1:12: error: parse error on input ‘|’
2021-10-08 12:20:57 +0200 <fendor> wait
2021-10-08 12:21:06 +0200 <fendor> > case () of () | () <- () -> ()
2021-10-08 12:21:08 +0200 <lambdabot> ()
2021-10-08 12:22:45 +0200 <fendor> contrived example, but maybe illustrates a bit what I mean by "not visually nice"
2021-10-08 12:23:12 +0200 <kuribas> yeah, that can be hard to read.
2021-10-08 12:24:18 +0200 <mestre> Guess you have to limit yourself to a subset that plays well together :/
2021-10-08 12:25:12 +0200 <kuribas> ugh, does hspec-junit-formatter really restricts to base (>=4.14.1.0)?
2021-10-08 12:25:24 +0200 <fendor> it is not like this is "bad", but if we designed the grammar from the start, I doubt we would use "->" in case expressions and have pattern guards use "<-"
2021-10-08 12:25:45 +0200DNH(~DNH@2a02:8108:1100:16d8:25ec:8a4c:7bf8:2c3a)
2021-10-08 12:25:49 +0200 <fendor> *re-designed
2021-10-08 12:26:13 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:25a3:7e37:69ba:6dab)
2021-10-08 12:27:09 +0200 <mestre> 'case Foo of True do undefined; False do undefined' maybe
2021-10-08 12:27:49 +0200ubert(~Thunderbi@178.115.60.191.wireless.dyn.drei.com) (Ping timeout: 245 seconds)
2021-10-08 12:27:50 +0200 <fendor> idk, why not reuse `=` since we have that in guard expressions and function definitions?
2021-10-08 12:28:16 +0200 <fendor> however, that ship has sailed
2021-10-08 12:28:36 +0200 <mestre> yeah
2021-10-08 12:31:08 +0200zincy_(~tom@2a00:23c8:970c:4801:e07c:c539:ea16:90d3) (Remote host closed the connection)
2021-10-08 12:31:11 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:25a3:7e37:69ba:6dab) (Ping timeout: 268 seconds)
2021-10-08 12:34:47 +0200barzo(~barzo@176.55.53.201) (Read error: Connection reset by peer)
2021-10-08 12:35:21 +0200 <kuribas> fendor: yeah, a new language could use '=' instead of '->'
2021-10-08 12:35:23 +0200barzo(~barzo@31.177.222.75)
2021-10-08 12:35:37 +0200ubert(~Thunderbi@178.115.60.191.wireless.dyn.drei.com)
2021-10-08 12:35:38 +0200chomwitt(~chomwitt@94.66.61.137)
2021-10-08 12:38:13 +0200timCF(~timCF@254-149-20-81.sta.estpak.ee)
2021-10-08 12:42:50 +0200timCF(~timCF@254-149-20-81.sta.estpak.ee) (Ping timeout: 265 seconds)
2021-10-08 12:45:08 +0200__monty__(~toonn@user/toonn)
2021-10-08 12:45:35 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-08 13:02:52 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-10-08 13:06:09 +0200ikex(~ash@user/ikex) (Ping timeout: 245 seconds)
2021-10-08 13:06:39 +0200ikex(~ash@user/ikex)
2021-10-08 13:11:39 +0200Vajb(~Vajb@n8vwdu04eps78g521-2.v6.elisa-mobile.fi)
2021-10-08 13:11:51 +0200AlexNoo_(~AlexNoo@94.233.240.247)
2021-10-08 13:13:35 +0200AlexZenon(~alzenon@94.233.240.2) (Ping timeout: 260 seconds)
2021-10-08 13:13:56 +0200DNH(~DNH@2a02:8108:1100:16d8:25ec:8a4c:7bf8:2c3a) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-10-08 13:14:15 +0200Alex_test(~al_test@94.233.240.2) (Ping timeout: 265 seconds)
2021-10-08 13:15:19 +0200AlexNoo(~AlexNoo@94.233.240.2) (Ping timeout: 245 seconds)
2021-10-08 13:15:23 +0200DNH(~DNH@2a02:8108:1100:16d8:25ec:8a4c:7bf8:2c3a)
2021-10-08 13:17:21 +0200AlexZenon(~alzenon@94.233.240.247)
2021-10-08 13:17:48 +0200Alex_test(~al_test@94.233.240.247)
2021-10-08 13:19:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-10-08 13:28:01 +0200libertyprime(~libertypr@118.149.73.16) (Ping timeout: 245 seconds)
2021-10-08 13:29:16 +0200APic(apic@apic.name) (Quit: leaving)
2021-10-08 13:29:56 +0200APic(apic@apic.name)
2021-10-08 13:30:56 +0200mbuf(~Shakthi@122.174.39.240)
2021-10-08 13:31:11 +0200wei2912(~wei2912@112.199.250.21) (Quit: Lost terminal)
2021-10-08 13:32:16 +0200Vajb(~Vajb@n8vwdu04eps78g521-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
2021-10-08 13:32:16 +0200azeem(~azeem@emp-183-4.eduroam.uu.se) (Read error: Connection reset by peer)
2021-10-08 13:33:05 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-10-08 13:33:14 +0200azeem(~azeem@emp-183-4.eduroam.uu.se)
2021-10-08 13:33:45 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-10-08 13:33:53 +0200azeem(~azeem@emp-183-4.eduroam.uu.se) (Read error: Connection reset by peer)
2021-10-08 13:35:27 +0200azeem(~azeem@emp-183-4.eduroam.uu.se)
2021-10-08 13:37:18 +0200 <kuribas> ugh, it doesn't look like flycheck-haskell supports tests :-(
2021-10-08 13:43:15 +0200kuribas(~user@ptr-25vy0i7xa7aijducfsu.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2021-10-08 13:44:20 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-10-08 13:45:13 +0200 <lortabac> is there some easy way to get a constructor index with Generic instead of Data.Data?
2021-10-08 13:58:16 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-10-08 14:01:03 +0200thyriaen(~thyriaen@dynamic-077-013-083-201.77.13.pool.telefonica.de)
2021-10-08 14:02:07 +0200ub(~Thunderbi@178.115.60.191.wireless.dyn.drei.com)
2021-10-08 14:03:04 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-10-08 14:04:02 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 265 seconds)
2021-10-08 14:04:25 +0200sleblanc(~sleblanc@user/sleblanc)
2021-10-08 14:05:16 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-10-08 14:07:10 +0200phma(~phma@host-67-44-209-51.hnremote.net) (Read error: Connection reset by peer)
2021-10-08 14:08:39 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 245 seconds)
2021-10-08 14:15:15 +0200phma(~phma@host-67-44-209-84.hnremote.net)
2021-10-08 14:15:53 +0200lavaman(~lavaman@98.38.249.169)
2021-10-08 14:16:33 +0200geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2021-10-08 14:17:16 +0200barzo(~barzo@31.177.222.75) (Ping timeout: 252 seconds)
2021-10-08 14:19:43 +0200barzo(~barzo@31.177.222.75)
2021-10-08 14:27:23 +0200mbuf(~Shakthi@122.174.39.240) (Quit: Leaving)
2021-10-08 14:41:28 +0200Guest65(~Guest65@49.207.193.19)
2021-10-08 14:41:59 +0200jlamothe(~jlamothe@104.158.48.100) (Ping timeout: 245 seconds)
2021-10-08 14:45:22 +0200 <Guest65> in GHCi, this works: let f x = x :: Int, but this doesn't: let f x = x :: Num a => a. any idea why?
2021-10-08 14:49:01 +0200 <lortabac> Guest65: because the right signature should be f :: Num a => a -> a
2021-10-08 14:49:23 +0200 <lortabac> the (Num a) constraint should apply to both arguments
2021-10-08 14:49:39 +0200 <Guest65> why does it in the `Int` case?
2021-10-08 14:49:52 +0200 <Guest65> why does it work in the `Int` case?
2021-10-08 14:49:54 +0200 <lortabac> the Int case is correct
2021-10-08 14:49:56 +0200xiongxin(~quassel@113.116.33.66)
2021-10-08 14:49:58 +0200 <lortabac> x is an Int
2021-10-08 14:50:01 +0200DNH(~DNH@2a02:8108:1100:16d8:25ec:8a4c:7bf8:2c3a) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-10-08 14:50:33 +0200 <Guest65> I am not sure I understand the reason.
2021-10-08 14:50:43 +0200 <lortabac> your definitions are parsed as f x = (x :: Int)
2021-10-08 14:50:50 +0200 <Guest65> ok
2021-10-08 14:50:52 +0200 <lortabac> and f x = (x :: Num a => a)
2021-10-08 14:50:52 +0200 <pavonia> It's not clear to me either why it can infer the final type in one case but not in the other
2021-10-08 14:53:16 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-10-08 14:53:37 +0200 <lortabac> I guess (f x = x :: Num a => a) is interpreted as (f x = x :: forall a. Num a => a)
2021-10-08 14:53:44 +0200 <pavonia> > :t let f x = x == (123 :: Num a => a) in f
2021-10-08 14:53:46 +0200 <lambdabot> <hint>:1:1: error: parse error on input ‘:’
2021-10-08 14:53:58 +0200 <pavonia> %> :t let f x = x == (123 :: Num a => a) in f
2021-10-08 14:54:03 +0200 <lortabac> which is wrong, because the argument should have the same type as the result
2021-10-08 14:54:14 +0200 <pavonia> Bah, what was the command for the other bot?
2021-10-08 14:54:29 +0200 <lortabac> > 1 :: Num a => a
2021-10-08 14:54:31 +0200 <lambdabot> 1
2021-10-08 14:54:59 +0200 <lortabac> in this case we are saying that the type of 1 can be any type as long as it is an instance of Num
2021-10-08 14:55:21 +0200 <lortabac> > f x = (x :: Num a => a)
2021-10-08 14:55:23 +0200 <lambdabot> <hint>:1:5: error: parse error on input ‘=’
2021-10-08 14:55:42 +0200 <Guest65> the type inference works differently for `Int` than it does for `Num a => a`. why is that?
2021-10-08 14:55:45 +0200 <lortabac> in this case we are trying to say the same thing about the second x
2021-10-08 14:55:50 +0200 <lortabac> which is false
2021-10-08 14:56:02 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-10-08 14:56:02 +0200 <lortabac> the second x cannot be any type, it must be the same as the argument
2021-10-08 14:56:15 +0200 <Guest65> I am sorry?
2021-10-08 14:56:20 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-10-08 14:57:10 +0200Vajb(~Vajb@n8vwdu04eps78g521-2.v6.elisa-mobile.fi)
2021-10-08 14:57:18 +0200CiaoSen(~Jura@p200300c9571e34002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2021-10-08 14:57:50 +0200 <lortabac> (Num a => a) means "this can be any type as long as it os an instance of Num"
2021-10-08 14:57:52 +0200 <lortabac> ok?
2021-10-08 14:57:59 +0200 <Guest65> correct
2021-10-08 14:58:08 +0200sleblanc(~sleblanc@user/sleblanc) (Quit: Leaving)
2021-10-08 14:58:11 +0200 <Guest65> i know the reason, i think
2021-10-08 14:58:15 +0200 <lortabac> this is true in the case of a literal, like 1 or 42
2021-10-08 14:58:38 +0200 <lortabac> you can use 1 for Ints, Floats etc.
2021-10-08 14:59:01 +0200jlamothe(~jlamothe@104.158.48.100)
2021-10-08 14:59:10 +0200 <lortabac> now, if you try to define f x = (x :: Num a => a)
2021-10-08 14:59:26 +0200 <Guest65> the `Num a => a` doesn't quantify across both argument and result, which is why it fails.
2021-10-08 15:00:36 +0200 <lortabac> yes, I guess it is interpreted as (x :: forall a. Num a => a)
2021-10-08 15:01:09 +0200 <Guest65> you say, the type checker infers f (x :: Num a => a) = x :: Num a => a, which doesn't restrict both the argument and result to the same type, so it fails.
2021-10-08 15:01:32 +0200 <lortabac> yes I think so
2021-10-08 15:01:54 +0200 <Guest65> thanks, you can see it from the error message.
2021-10-08 15:02:01 +0200 <Guest65> one other question.
2021-10-08 15:03:00 +0200 <Guest65> how can i join haskell libera chat channel from an irc client, say LimeChat? I mean any idea what the configurations would be?
2021-10-08 15:03:01 +0200Vajb(~Vajb@n8vwdu04eps78g521-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
2021-10-08 15:03:39 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-10-08 15:03:54 +0200AlexNoo_AlexNoo
2021-10-08 15:06:01 +0200 <yushyin> Guest65: did you see https://libera.chat/guides/connect ?
2021-10-08 15:07:05 +0200DNH(~DNH@2a02:8108:1100:16d8:25ec:8a4c:7bf8:2c3a)
2021-10-08 15:07:39 +0200ga(~gabx@8.41.6.83)
2021-10-08 15:07:55 +0200acidjnk_new3(~acidjnk@p200300d0c703cb3809607f7c8c1f0b15.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-10-08 15:08:55 +0200 <Guest65> yeah, i saw that. for some reason, libera is not recognizing my login. it says "failed login" without giving any more details.
2021-10-08 15:11:15 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-10-08 15:12:01 +0200max22-(~maxime@2a01cb088335980097eb09a47970d526.ipv6.abo.wanadoo.fr)
2021-10-08 15:12:43 +0200kuribas(~user@ptr-25vy0i7xa7aijducfsu.18120a2.ip6.access.telenet.be)
2021-10-08 15:13:46 +0200Hydrazer(~Hydrazer@S010684c9b26eee6d.cg.shawcable.net)
2021-10-08 15:13:47 +0200juhp(~juhp@128.106.188.220) (Read error: Connection reset by peer)
2021-10-08 15:14:01 +0200juhp(~juhp@128.106.188.220)
2021-10-08 15:14:09 +0200kuribas(~user@ptr-25vy0i7xa7aijducfsu.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-10-08 15:14:34 +0200Hydrazer(~Hydrazer@S010684c9b26eee6d.cg.shawcable.net) (Client Quit)
2021-10-08 15:15:06 +0200Guest33(~Guest33@52.187.169.108)
2021-10-08 15:15:12 +0200 <yushyin> Guest65: you should be able to connect without a login, if you already have a registered nick on libera check out https://libera.chat/guides/limechat
2021-10-08 15:15:43 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-10-08 15:16:30 +0200 <yushyin> Guest65: if nothing works, maybe ask in #libera
2021-10-08 15:16:44 +0200 <Guest65> ok
2021-10-08 15:17:12 +0200Guest33(~Guest33@52.187.169.108) (Client Quit)
2021-10-08 15:17:57 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-10-08 15:19:26 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
2021-10-08 15:20:05 +0200MatrixTravelerb4(~voyagert2@2001:470:69fc:105::22) (Write error: Connection reset by peer)
2021-10-08 15:20:05 +0200vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe) (Read error: Connection reset by peer)
2021-10-08 15:20:05 +0200ftzm[m](~ftzmmatri@2001:470:69fc:105::1:dfc) (Read error: Connection reset by peer)
2021-10-08 15:20:05 +0200kevin[m]1(~pnotequal@2001:470:69fc:105::a54) (Read error: Connection reset by peer)
2021-10-08 15:20:05 +0200maralorn(~maralorn@2001:470:69fc:105::251) (Read error: Connection reset by peer)
2021-10-08 15:20:05 +0200lwe[m](~dendrumat@2001:470:69fc:105::2f9b) (Read error: Connection reset by peer)
2021-10-08 15:20:06 +0200Rosuavio[m](~rosariopu@2001:470:69fc:105::a57) (Read error: Connection reset by peer)
2021-10-08 15:20:06 +0200jophish(~jophish@2001:470:69fc:105::670) (Write error: Connection reset by peer)
2021-10-08 15:20:06 +0200Christoph[m](~hpotsirhc@2001:470:69fc:105::2ff8) (Read error: Connection reset by peer)
2021-10-08 15:20:06 +0200ericson23141(~ericson23@2001:470:69fc:105::70c) (Write error: Connection reset by peer)
2021-10-08 15:20:06 +0200ServerStatsDisco(~serversta@2001:470:69fc:105::1a) (Read error: Connection reset by peer)
2021-10-08 15:20:06 +0200sm(~sm@plaintextaccounting/sm) (Read error: Connection reset by peer)
2021-10-08 15:20:06 +0200dexmad[m](~dexmadmat@2001:470:69fc:105::e056) (Write error: Connection reset by peer)
2021-10-08 15:20:06 +0200wysteriary[m](~wysteriar@2001:470:69fc:105::a42e) (Read error: Connection reset by peer)
2021-10-08 15:20:06 +0200fendor[m](~fendormat@2001:470:69fc:105::fcbd) (Write error: Connection reset by peer)
2021-10-08 15:20:06 +0200razor[m](~razormone@2001:470:69fc:105::f048) (Write error: Connection reset by peer)
2021-10-08 15:20:06 +0200shiraeeshi[m](~shiraeesh@2001:470:69fc:105::1:77) (Write error: Connection reset by peer)
2021-10-08 15:20:06 +0200Tisoxin(~ikosit@user/ikosit) (Write error: Connection reset by peer)
2021-10-08 15:20:06 +0200ilkecan[m](~ilkecanma@2001:470:69fc:105::1:79b) (Write error: Connection reset by peer)
2021-10-08 15:20:06 +0200Orbstheorem(~orbstheor@2001:470:69fc:105::a56) (Write error: Connection reset by peer)
2021-10-08 15:20:06 +0200jesser[m](~jessermat@2001:470:69fc:105::d5ae) (Write error: Connection reset by peer)
2021-10-08 15:20:06 +0200Morrow[m](~morrowmma@2001:470:69fc:105::1d0) (Read error: Connection reset by peer)
2021-10-08 15:20:06 +0200ixlun(~ixlun@2001:470:69fc:105::41b3) (Read error: Connection reset by peer)
2021-10-08 15:20:06 +0200Drew[m](~drewefenw@2001:470:69fc:105::c8c4) (Read error: Connection reset by peer)
2021-10-08 15:20:06 +0200maerwald[m](~maerwaldm@2001:470:69fc:105::1ee) (Read error: Connection reset by peer)
2021-10-08 15:20:06 +0200hjulle[m](~hjullemat@2001:470:69fc:105::1dd) (Read error: Connection reset by peer)
2021-10-08 15:20:06 +0200soft(~soft-matr@2001:470:69fc:105::c75) (Read error: Connection reset by peer)
2021-10-08 15:20:06 +0200ormaaj(~ormaaj@user/ormaaj) (Read error: Connection reset by peer)
2021-10-08 15:20:06 +0200bb010g(~bb010g@2001:470:69fc:105::9a5) (Write error: Connection reset by peer)
2021-10-08 15:20:06 +0200cloudy(~cloudy@2001:470:69fc:105::50c0) (Read error: Connection reset by peer)
2021-10-08 15:20:06 +0200PotatoHatsue(~berberman@2001:470:69fc:105::b488) (Read error: Connection reset by peer)
2021-10-08 15:20:06 +0200bakinonion[m](~bakinonio@2001:470:69fc:105::ddb3) (Read error: Connection reset by peer)
2021-10-08 15:20:06 +0200oak-(~oakuniver@2001:470:69fc:105::fcd) (Read error: Connection reset by peer)
2021-10-08 15:20:06 +0200reza[m](~rezaphone@2001:470:69fc:105::3eda) (Read error: Connection reset by peer)
2021-10-08 15:20:07 +0200santiagopim[m](~santiagop@2001:470:69fc:105::e57d) (Read error: Connection reset by peer)
2021-10-08 15:20:07 +0200stoicswe[m](~deadlette@2001:470:69fc:105::d277) (Read error: Connection reset by peer)
2021-10-08 15:20:07 +0200psydroid(~psydroid@user/psydroid) (Read error: Connection reset by peer)
2021-10-08 15:20:07 +0200marinelli[m](~marinelli@2001:470:69fc:105::2d8) (Write error: Connection reset by peer)
2021-10-08 15:20:07 +0200smichel17[m](~smichel17@2001:470:69fc:105::2d32) (Write error: Connection reset by peer)
2021-10-08 15:20:07 +0200moats(~oats@user/oats) (Write error: Connection reset by peer)
2021-10-08 15:20:07 +0200xosdy[m](~xosdyalet@2001:470:69fc:105::31f7) (Write error: Connection reset by peer)
2021-10-08 15:20:07 +0200denbrahe[m](~denbrahem@2001:470:69fc:105::19c0) (Write error: Connection reset by peer)
2021-10-08 15:20:07 +0200codygman[m](~codygman@2001:470:69fc:105::b4ba) (Write error: Connection reset by peer)
2021-10-08 15:20:07 +0200asdofindia-m(~akshaymat@2001:470:69fc:105::831) (Write error: Connection reset by peer)
2021-10-08 15:20:07 +0200unrooted(~unrooted@2001:470:69fc:105::a4a) (Write error: Connection reset by peer)
2021-10-08 15:20:07 +0200carmysilna(~brightly-@2001:470:69fc:105::2190) (Write error: Connection reset by peer)
2021-10-08 15:20:07 +0200Topik[m](~topikmatr@2001:470:69fc:105::a082) (Write error: Connection reset by peer)
2021-10-08 15:20:07 +0200quantum(~quantum@user/quantum/x-8556232) (Write error: Connection reset by peer)
2021-10-08 15:20:07 +0200monadfritz[m](~ahdytmatr@2001:470:69fc:105::e1f1) (Write error: Connection reset by peer)
2021-10-08 15:20:07 +0200ongy[m](~ongymatri@2001:470:69fc:105::5018) (Write error: Connection reset by peer)
2021-10-08 15:20:07 +0200amesgen[m](~amesgenm]@2001:470:69fc:105::82b) (Write error: Connection reset by peer)
2021-10-08 15:20:07 +0200thomasjm[m](~thomasjmm@2001:470:69fc:105::c6d9) (Write error: Connection reset by peer)
2021-10-08 15:20:07 +0200commuswift[m](~commuswif@2001:470:69fc:105::e862) (Write error: Connection reset by peer)
2021-10-08 15:20:07 +0200fakehacker[m](~fakehacke@2001:470:69fc:105::b5f0) (Write error: Connection reset by peer)
2021-10-08 15:20:07 +0200hsiktas[m](~hsiktasma@2001:470:69fc:105::30d4) (Read error: Connection reset by peer)
2021-10-08 15:20:08 +0200YoungChiefBTW(~youngchie@user/youngchiefbtw) (Write error: Connection reset by peer)
2021-10-08 15:20:08 +0200schuelermine[m](~schuelerm@user/schuelermine) (Write error: Connection reset by peer)
2021-10-08 15:20:08 +0200fgaz(~fgaz@2001:470:69fc:105::842) (Write error: Connection reset by peer)
2021-10-08 15:20:08 +0200Arathorn(~arathorn@2001:470:69fc:105::1f) (Write error: Connection reset by peer)
2021-10-08 15:20:08 +0200ru0mad[m](~ru0madmat@2001:470:69fc:105::9b2) (Write error: Connection reset by peer)
2021-10-08 15:20:08 +0200jneira[m](~jneiramat@2001:470:69fc:105::d729) (Read error: Connection reset by peer)
2021-10-08 15:20:08 +0200aidy(~aidy@2001:470:69fc:105::c7b4) (Read error: Connection reset by peer)
2021-10-08 15:20:08 +0200bitonic1(~bitonic@2001:470:69fc:105::1812) (Write error: Connection reset by peer)
2021-10-08 15:20:08 +0200siraben(~siraben@user/siraben) (Write error: Connection reset by peer)
2021-10-08 15:20:08 +0200Magnus[m](~magthetch@2001:470:69fc:105::d1a7) (Read error: Connection reset by peer)
2021-10-08 15:20:08 +0200srid[m](~sridmatri@2001:470:69fc:105::1c2) (Read error: Connection reset by peer)
2021-10-08 15:20:08 +0200mekeor[m](~mekeormat@2001:470:69fc:105::17e4) (Write error: Connection reset by peer)
2021-10-08 15:20:08 +0200peddie(~peddie@2001:470:69fc:105::25d) (Write error: Connection reset by peer)
2021-10-08 15:20:08 +0200SawyerBergeron[m(~sawyerber@2001:470:69fc:105::3036) (Write error: Connection reset by peer)
2021-10-08 15:20:08 +0200dualinverter[m](~dualinver@2001:470:69fc:105::16a7) (Write error: Connection reset by peer)
2021-10-08 15:20:08 +0200fcortesi(~fcortesi@2001:470:69fc:105::f3a9) (Write error: Connection reset by peer)
2021-10-08 15:20:08 +0200zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32) (Write error: Connection reset by peer)
2021-10-08 15:20:08 +0200alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba) (Write error: Connection reset by peer)
2021-10-08 15:20:08 +0200tsmc[m](~tsmcmatri@2001:470:69fc:105::1:7e1) (Write error: Connection reset by peer)
2021-10-08 15:20:09 +0200craige[m](~craigemcw@2001:470:69fc:105::35f1) (Read error: Connection reset by peer)
2021-10-08 15:20:09 +0200SimonWeiss[m](~weiss-dma@2001:470:69fc:105::bebd) (Read error: Connection reset by peer)
2021-10-08 15:20:09 +0200OndejSkup[m](~mimivxmat@2001:470:69fc:105::c300) (Write error: Connection reset by peer)
2021-10-08 15:20:09 +0200Tavi[m](~factoidde@2001:470:69fc:105::1:819) (Write error: Connection reset by peer)
2021-10-08 15:20:09 +0200the-coot[m](~the-cootm@2001:470:69fc:105::95f) (Write error: Connection reset by peer)
2021-10-08 15:20:09 +0200hughjfchen[m](~hughjfche@2001:470:69fc:105::c29d) (Write error: Connection reset by peer)
2021-10-08 15:20:09 +0200jchia[m](~jchiamatr@2001:470:69fc:105::c50b) (Write error: Connection reset by peer)
2021-10-08 15:20:09 +0200reddishblue[m](~reddishbl@2001:470:69fc:105::21eb) (Write error: Connection reset by peer)
2021-10-08 15:20:09 +0200Deewiant(~deewiant@2001:470:69fc:105::2fd3) (Write error: Connection reset by peer)
2021-10-08 15:20:09 +0200Deide(~deide@user/deide) (Write error: Connection reset by peer)
2021-10-08 15:20:09 +0200kadoban(~kadoban@user/kadoban) (Write error: Connection reset by peer)
2021-10-08 15:20:09 +0200sam[m]1(~sammtopoi@2001:470:69fc:105::e887) (Write error: Connection reset by peer)
2021-10-08 15:20:09 +0200kar1(~kar1@2001:470:69fc:105::c308) (Write error: Connection reset by peer)
2021-10-08 15:20:09 +0200rednaZ[m](~r3dnazmat@2001:470:69fc:105::ba70) (Read error: Connection reset by peer)
2021-10-08 15:20:09 +0200unclechu(~unclechu@2001:470:69fc:105::354) (Write error: Connection reset by peer)
2021-10-08 15:20:09 +0200cdsmith(~cdsmithma@2001:470:69fc:105::284) (Read error: Connection reset by peer)
2021-10-08 15:20:09 +0200IgnatInsarov[m](~kindaroma@2001:470:69fc:105::f5d9) (Read error: Connection reset by peer)
2021-10-08 15:20:09 +0200zwro[m](~zwromatri@2001:470:69fc:105::1d4) (Write error: Connection reset by peer)
2021-10-08 15:20:09 +0200Ollie[m](~ollieocha@2001:470:69fc:105::41a5) (Read error: Connection reset by peer)
2021-10-08 15:20:09 +0200hsek[m](~hsekmatri@2001:470:69fc:105::d18f) (Write error: Connection reset by peer)
2021-10-08 15:20:09 +0200ManofLetters[m](~manoflett@2001:470:69fc:105::3be) (Write error: Connection reset by peer)
2021-10-08 15:20:09 +0200gdhffd[m](~gdhffdmat@2001:470:69fc:105::1:799) (Write error: Connection reset by peer)
2021-10-08 15:20:09 +0200afotgkmnzj7asv3r(~afotgkmnz@2001:470:69fc:105::c24b) (Read error: Connection reset by peer)
2021-10-08 15:20:09 +0200justosophy[m](~justosoph@2001:470:69fc:105::572f) (Read error: Connection reset by peer)
2021-10-08 15:22:00 +0200ga(~gabx@8.41.6.83) (Quit: Leaving)
2021-10-08 15:23:02 +0200jchia[m](~jchiamatr@2001:470:69fc:105::c50b)
2021-10-08 15:24:40 +0200kuribas(~user@ptr-25vy0i7xa7aijducfsu.18120a2.ip6.access.telenet.be)
2021-10-08 15:24:47 +0200 <yushyin> Guest65: you can also register a nickname while using the webchat https://libera.chat/guides/registration#registering and use the limechat guide afterwards
2021-10-08 15:24:48 +0200MatrixTravelerbo(~voyagert2@2001:470:69fc:105::22)
2021-10-08 15:25:00 +0200dualinverter[m](~dualinver@2001:470:69fc:105::16a7)
2021-10-08 15:25:00 +0200fgaz(~fgaz@2001:470:69fc:105::842)
2021-10-08 15:25:00 +0200peddie(~peddie@2001:470:69fc:105::25d)
2021-10-08 15:25:00 +0200cdsmith(~cdsmithma@2001:470:69fc:105::284)
2021-10-08 15:25:00 +0200Morrow[m](~morrowmma@2001:470:69fc:105::1d0)
2021-10-08 15:25:01 +0200hsek[m](~hsekmatri@2001:470:69fc:105::d18f)
2021-10-08 15:25:01 +0200thomasjm[m](~thomasjmm@2001:470:69fc:105::c6d9)
2021-10-08 15:25:15 +0200ru0mad[m](~ru0madmat@2001:470:69fc:105::9b2)
2021-10-08 15:25:27 +0200gdhffd[m](~gdhffdmat@2001:470:69fc:105::1:799)
2021-10-08 15:25:41 +0200bb010g(~bb010g@2001:470:69fc:105::9a5)
2021-10-08 15:25:41 +0200ServerStatsDisco(~serversta@2001:470:69fc:105::1a)
2021-10-08 15:25:41 +0200amesgen[m](~amesgenm]@2001:470:69fc:105::82b)
2021-10-08 15:25:41 +0200the-coot[m](~the-cootm@2001:470:69fc:105::95f)
2021-10-08 15:25:41 +0200moats(~oats@user/oats)
2021-10-08 15:25:55 +0200soft(~soft-matr@2001:470:69fc:105::c75)
2021-10-08 15:25:56 +0200zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32)
2021-10-08 15:26:11 +0200oak-(~oakuniver@2001:470:69fc:105::fcd)
2021-10-08 15:26:11 +0200kadoban(~kadoban@user/kadoban)
2021-10-08 15:26:11 +0200bitonic(~bitonic@2001:470:69fc:105::1812)
2021-10-08 15:26:11 +0200jophish(~jophish@2001:470:69fc:105::670)
2021-10-08 15:26:11 +0200ericson2314(~ericson23@2001:470:69fc:105::70c)
2021-10-08 15:26:12 +0200Arathorn(~arathorn@2001:470:69fc:105::1f)
2021-10-08 15:26:12 +0200Ollie[m](~ollieocha@2001:470:69fc:105::41a5)
2021-10-08 15:26:12 +0200PotatoHatsue(~berberman@2001:470:69fc:105::b488)
2021-10-08 15:26:12 +0200ixlun(~ixlun@2001:470:69fc:105::41b3)
2021-10-08 15:26:12 +0200unclechu(~unclechu@2001:470:69fc:105::354)
2021-10-08 15:26:12 +0200Deewiant(~deewiant@2001:470:69fc:105::2fd3)
2021-10-08 15:26:12 +0200unrooted(~unrooted@2001:470:69fc:105::a4a)
2021-10-08 15:26:12 +0200rednaZ[m](~r3dnazmat@2001:470:69fc:105::ba70)
2021-10-08 15:26:12 +0200maralorn(~maralorn@2001:470:69fc:105::251)
2021-10-08 15:26:25 +0200SimonWeiss[m](~weiss-dma@2001:470:69fc:105::bebd)
2021-10-08 15:26:25 +0200denbrahe[m](~denbrahem@2001:470:69fc:105::19c0)
2021-10-08 15:26:26 +0200lwe[m](~dendrumat@2001:470:69fc:105::2f9b)
2021-10-08 15:26:40 +0200jesser[m](~jessermat@2001:470:69fc:105::d5ae)
2021-10-08 15:26:43 +0200reza[m](~rezaphone@2001:470:69fc:105::3eda)
2021-10-08 15:26:44 +0200quantum(~quantum@user/quantum/x-8556232)
2021-10-08 15:26:44 +0200marinelli[m](~marinelli@2001:470:69fc:105::2d8)
2021-10-08 15:26:44 +0200hsiktas[m](~hsiktasma@2001:470:69fc:105::30d4)
2021-10-08 15:27:00 +0200Orbstheorem(~orbstheor@2001:470:69fc:105::a56)
2021-10-08 15:27:14 +0200ubert(~Thunderbi@178.115.60.191.wireless.dyn.drei.com) (Remote host closed the connection)
2021-10-08 15:27:15 +0200ububert
2021-10-08 15:27:26 +0200craige[m](~craigemcw@2001:470:69fc:105::35f1)
2021-10-08 15:27:40 +0200afotgkmnzj7asv3r(~afotgkmnz@2001:470:69fc:105::c24b)
2021-10-08 15:27:40 +0200schuelermine[m](~schuelerm@user/schuelermine)
2021-10-08 15:27:41 +0200razor[m](~razormone@2001:470:69fc:105::f048)
2021-10-08 15:27:41 +0200sm(~sm@plaintextaccounting/sm)
2021-10-08 15:27:41 +0200reddishblue[m](~reddishbl@2001:470:69fc:105::21eb)
2021-10-08 15:27:53 +0200justosophy[m](~justosoph@2001:470:69fc:105::572f)
2021-10-08 15:27:54 +0200kevin[m]1(~pnotequal@2001:470:69fc:105::a54)
2021-10-08 15:27:54 +0200Deide(~deide@user/deide)
2021-10-08 15:28:06 +0200fakehacker[m](~fakehacke@2001:470:69fc:105::b5f0)
2021-10-08 15:28:06 +0200hughjfchen[m](~hughjfche@2001:470:69fc:105::c29d)
2021-10-08 15:28:18 +0200srid[m](~sridmatri@2001:470:69fc:105::1c2)
2021-10-08 15:28:18 +0200IgnatInsarov[m](~kindaroma@2001:470:69fc:105::f5d9)
2021-10-08 15:28:18 +0200psydroid(~psydroid@user/psydroid)
2021-10-08 15:28:18 +0200Christoph[m](~hpotsirhc@2001:470:69fc:105::2ff8)
2021-10-08 15:28:30 +0200wysteriary[m](~wysteriar@2001:470:69fc:105::a42e)
2021-10-08 15:28:30 +0200zwro[m](~zwromatri@2001:470:69fc:105::1d4)
2021-10-08 15:28:38 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 246 seconds)
2021-10-08 15:28:42 +0200stoicswe[m](~deadlette@2001:470:69fc:105::d277)
2021-10-08 15:28:55 +0200sam[m]12(~sammtopoi@2001:470:69fc:105::e887)
2021-10-08 15:28:55 +0200Topik[m](~topikmatr@2001:470:69fc:105::a082)
2021-10-08 15:28:55 +0200OndejSkup[m](~mimivxmat@2001:470:69fc:105::c300)
2021-10-08 15:29:09 +0200kar1(~kar1@2001:470:69fc:105::c308)
2021-10-08 15:29:09 +0200ongy[m](~ongymatri@2001:470:69fc:105::5018)
2021-10-08 15:29:10 +0200YoungChiefBTW(~youngchie@2001:470:69fc:105::214c)
2021-10-08 15:29:10 +0200alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba)
2021-10-08 15:29:10 +0200asdofindia-m(~akshaymat@2001:470:69fc:105::831)
2021-10-08 15:29:10 +0200hjulle[m](~hjullemat@2001:470:69fc:105::1dd)
2021-10-08 15:29:10 +0200Drew[m](~drewefenw@2001:470:69fc:105::c8c4)
2021-10-08 15:29:10 +0200jneira[m](~jneiramat@2001:470:69fc:105::d729)
2021-10-08 15:29:10 +0200Magnus[m](~magthetch@2001:470:69fc:105::d1a7)
2021-10-08 15:29:10 +0200siraben(~siraben@user/siraben)
2021-10-08 15:29:22 +0200dexmad[m](~dexmadmat@2001:470:69fc:105::e056)
2021-10-08 15:29:22 +0200smichel17[m](~smichel17@2001:470:69fc:105::2d32)
2021-10-08 15:29:22 +0200SawyerBergeron[m(~sawyerber@2001:470:69fc:105::3036)
2021-10-08 15:29:23 +0200Tisoxin(~ikosit@user/ikosit)
2021-10-08 15:29:35 +0200monadfritz[m](~ahdytmatr@2001:470:69fc:105::e1f1)
2021-10-08 15:29:35 +0200bakinonion[m](~bakinonio@2001:470:69fc:105::ddb3)
2021-10-08 15:29:35 +0200alex[m]1234567(~alexchete@2001:470:69fc:105::1:1001)
2021-10-08 15:29:35 +0200fcortesi(~fcortesi@2001:470:69fc:105::f3a9)
2021-10-08 15:29:35 +0200ManofLetters[m](~manoflett@2001:470:69fc:105::3be)
2021-10-08 15:29:48 +0200commuswift[m](~commuswif@2001:470:69fc:105::e862)
2021-10-08 15:29:48 +0200cloudy(~cloudy@2001:470:69fc:105::50c0)
2021-10-08 15:29:48 +0200carmysilna(~brightly-@2001:470:69fc:105::2190)
2021-10-08 15:29:48 +0200fendor[m](~fendormat@2001:470:69fc:105::fcbd)
2021-10-08 15:29:48 +0200aidy(~aidy@2001:470:69fc:105::c7b4)
2021-10-08 15:29:49 +0200shiraeeshi[m](~shiraeesh@2001:470:69fc:105::1:77)
2021-10-08 15:30:01 +0200ilkecan[m](~ilkecanma@2001:470:69fc:105::1:79b)
2021-10-08 15:30:02 +0200tsmc[m](~tsmcmatri@2001:470:69fc:105::1:7e1)
2021-10-08 15:30:06 +0200jtomas(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
2021-10-08 15:30:15 +0200codygman[m](~codygman@2001:470:69fc:105::b4ba)
2021-10-08 15:30:27 +0200xosdy[m](~xosdyalet@2001:470:69fc:105::31f7)
2021-10-08 15:30:28 +0200vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe)
2021-10-08 15:30:28 +0200santiagopim[m](~santiagop@2001:470:69fc:105::e57d)
2021-10-08 15:30:40 +0200Tavi[m](~factoidde@2001:470:69fc:105::1:819)
2021-10-08 15:30:40 +0200mekeor[m](~mekeormat@2001:470:69fc:105::17e4)
2021-10-08 15:30:40 +0200maerwald[m](~maerwaldm@2001:470:69fc:105::1ee)
2021-10-08 15:30:40 +0200ormaaj(~ormaaj@user/ormaaj)
2021-10-08 15:30:52 +0200RosarioPulella[m(~rosariopu@2001:470:69fc:105::a57)
2021-10-08 15:31:04 +0200ftzm[m](~ftzmmatri@2001:470:69fc:105::1:dfc)
2021-10-08 15:31:52 +0200jtomas_(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 268 seconds)
2021-10-08 15:34:41 +0200xff0x(~xff0x@2001:1a81:5251:1900:6353:3c1e:a988:d99) (Ping timeout: 245 seconds)
2021-10-08 15:35:30 +0200kuribas(~user@ptr-25vy0i7xa7aijducfsu.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-10-08 15:40:00 +0200spider(~spider@vps-951ce37a.vps.ovh.ca) (Ping timeout: 260 seconds)
2021-10-08 15:41:18 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-10-08 15:43:03 +0200gaff(~gaff@49.207.193.19)
2021-10-08 15:45:02 +0200gaff(~gaff@49.207.193.19) (Quit: Leaving...)
2021-10-08 15:45:21 +0200gaff(~gaff@49.207.193.19)
2021-10-08 15:45:51 +0200gaff(~gaff@49.207.193.19) (Client Quit)
2021-10-08 15:47:01 +0200xff0x(~xff0x@2001:1a81:5251:1900:6353:3c1e:a988:d99)
2021-10-08 15:51:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-08 15:51:58 +0200oxide(~lambda@user/oxide) (Ping timeout: 265 seconds)
2021-10-08 15:53:31 +0200Guest65(~Guest65@49.207.193.19) (Ping timeout: 256 seconds)
2021-10-08 15:53:37 +0200oxide(~lambda@user/oxide)
2021-10-08 15:56:14 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net)
2021-10-08 15:58:18 +0200oxide(~lambda@user/oxide) (Ping timeout: 260 seconds)
2021-10-08 15:59:51 +0200oxide(~lambda@user/oxide)
2021-10-08 16:03:04 +0200kuribas(~user@ptr-25vy0i7xa7aijducfsu.18120a2.ip6.access.telenet.be)
2021-10-08 16:03:20 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-08 16:03:20 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-08 16:03:20 +0200wroathe(~wroathe@user/wroathe)
2021-10-08 16:03:31 +0200jtomas(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 250 seconds)
2021-10-08 16:03:48 +0200TDANG_(~TDANG@2600:1700:13c1:8fe0:681c:2c55:e429:1c47)
2021-10-08 16:04:35 +0200 <kuribas> when I do ":l tests/test.hs" in ghci, I get "Could not find module ‘Test.ActList’". But that's a module in my test.
2021-10-08 16:04:43 +0200gaff(~gaff@49.207.207.229)
2021-10-08 16:04:53 +0200 <kuribas> in my cabal under test-suite test: other-modules: Test.ActList
2021-10-08 16:05:23 +0200boxscape_(~boxscape_@134.171.69.87)
2021-10-08 16:05:26 +0200 <maerwald> did you run `cabal repl --enable-tests`?
2021-10-08 16:05:37 +0200 <kuribas> no, just ghci
2021-10-08 16:05:38 +0200michalz(~michalz@185.246.204.93) (Remote host closed the connection)
2021-10-08 16:05:40 +0200 <maerwald> well
2021-10-08 16:06:01 +0200ubert(~Thunderbi@178.115.60.191.wireless.dyn.drei.com) (Quit: ubert)
2021-10-08 16:06:10 +0200TDANG(~TDANG@inet-177-7.ets.org) (Ping timeout: 252 seconds)
2021-10-08 16:06:11 +0200 <kuribas> but I am trying to make flycheck work with my test-suite.
2021-10-08 16:06:32 +0200gaff(~gaff@49.207.207.229) (Client Quit)
2021-10-08 16:06:56 +0200 <kuribas> apparently that runs: stack runghc tests/test.hs
2021-10-08 16:07:32 +0200 <maerwald> cabal run ghci -- tests/test.hs
2021-10-08 16:07:45 +0200 <maerwald> or: cabal run ghc -- --interactive tests/test.hs
2021-10-08 16:08:47 +0200 <kuribas> and with stack?
2021-10-08 16:09:05 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.3)
2021-10-08 16:09:07 +0200 <maerwald> stack ghci?
2021-10-08 16:10:29 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-10-08 16:14:42 +0200vpan(~vilius@212.117.1.172) (Quit: Leaving.)
2021-10-08 16:16:52 +0200gaff(~gaff@49.207.207.229)
2021-10-08 16:17:50 +0200 <kuribas> maerwald: https://github.com/flycheck/flycheck-haskell/blob/master/flycheck-haskell.el#L81
2021-10-08 16:20:35 +0200Sgeo(~Sgeo@user/sgeo)
2021-10-08 16:20:45 +0200waywardmessiah(~waywardme@50.225.117.237)
2021-10-08 16:21:14 +0200jtomas(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
2021-10-08 16:21:40 +0200jinsun(~quassel@user/jinsun) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-10-08 16:22:17 +0200jinsun(~quassel@user/jinsun)
2021-10-08 16:22:49 +0200ec(~ec@gateway/tor-sasl/ec)
2021-10-08 16:26:09 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-10-08 16:31:38 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.3)
2021-10-08 16:39:50 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se)
2021-10-08 16:39:51 +0200 <ocramz_> ell
2021-10-08 16:39:55 +0200 <ocramz_> o
2021-10-08 16:40:16 +0200 <shapr> hi
2021-10-08 16:40:17 +0200 <shapr> there
2021-10-08 16:40:32 +0200 <ocramz_> any unfortunate souls who have to deal with typesetting code in LaTex ?
2021-10-08 16:41:15 +0200 <ocramz_> I find tweaking 'lstlistings' particularly cumbersome so was wondering whether I can steal some nice defaults from someone
2021-10-08 16:42:09 +0200 <ocramz_> I'm reading https://cs.brynmawr.edu/~rae/papers/2018/stitch/stitch.pdf which has nice keyword highliting
2021-10-08 16:43:11 +0200 <ocramz_> waiting for the PLDI or ICFP gang to show u
2021-10-08 16:43:27 +0200tomsmedingsubscribes to the conversation
2021-10-08 16:43:44 +0200 <tomsmeding> isn't this some kind of agda export though?
2021-10-08 16:44:50 +0200 <ocramz_> no I think the \forall is just a stylistic flair, looks like plain haskell to me
2021-10-08 16:48:23 +0200TDANG(~TDANG@inet-177-7.ets.org)
2021-10-08 16:49:10 +0200mestre(~mestre@191.177.175.57) (Quit: Lost terminal)
2021-10-08 16:49:10 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-10-08 16:49:41 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com)
2021-10-08 16:50:30 +0200gaff(~gaff@49.207.207.229) (Remote host closed the connection)
2021-10-08 16:50:34 +0200TDANG_(~TDANG@2600:1700:13c1:8fe0:681c:2c55:e429:1c47) (Ping timeout: 260 seconds)
2021-10-08 16:52:05 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-10-08 16:52:17 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-10-08 16:53:29 +0200waywardmessiah(~waywardme@50.225.117.237) ()
2021-10-08 16:53:56 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-10-08 16:54:20 +0200wonko(~wjc@62.115.229.50)
2021-10-08 16:57:49 +0200 <tomsmeding> yeah I know, was referring to the formatting
2021-10-08 16:58:09 +0200 <tomsmeding> this looks like Haskell, but I think this formatting looks very similar to what you see in papers that use agda I think
2021-10-08 17:00:19 +0200baruch(~spinoza3@c-73-147-19-239.hsd1.va.comcast.net) (Quit: WeeChat 3.4-dev)
2021-10-08 17:02:08 +0200 <kuribas> The problem with LaTeX is that is tries to hide TeX weirdness, but that is impossible. Better to embrace it (plant TeX :) )
2021-10-08 17:02:19 +0200 <kuribas> (erm plain TeX)
2021-10-08 17:06:33 +0200 <amirouche> plant TeX x')
2021-10-08 17:08:52 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-10-08 17:09:33 +0200 <Franciman> you could try markdown
2021-10-08 17:09:36 +0200 <Franciman> and use pandoc to convert
2021-10-08 17:09:40 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2021-10-08 17:09:48 +0200 <Franciman> it also allows syntax highlighting
2021-10-08 17:11:40 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2021-10-08 17:14:12 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:ee1f:1bdf:384a:356) (Quit: WeeChat 2.8)
2021-10-08 17:17:53 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-10-08 17:18:07 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-10-08 17:19:02 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:25a3:7e37:69ba:6dab)
2021-10-08 17:20:10 +0200alzgh(~alzgh@user/alzgh)
2021-10-08 17:20:18 +0200 <monochrom> ocramz_: I use lstlistings but with \lstset{language={}, basicstyle=\ttfamily}. Henceforth the only tweaking I ever need is basicstyle=\ttfamily\small
2021-10-08 17:22:55 +0200 <monochrom> (That is, until I use that for online exam questions. The generated PDF is such that if a student does a text copy-paste, there are spurrious spaces. I don't know the exact pathway or who's to blame.)
2021-10-08 17:23:38 +0200 <monochrom> (I "fixed" it by using pandoc to generate html for online exams.)
2021-10-08 17:23:42 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:25a3:7e37:69ba:6dab) (Ping timeout: 260 seconds)
2021-10-08 17:24:12 +0200gaff(~gaff@49.207.207.229)
2021-10-08 17:25:36 +0200neurocyte0132889(~neurocyte@185.238.253.15)
2021-10-08 17:25:36 +0200neurocyte0132889(~neurocyte@185.238.253.15) (Changing host)
2021-10-08 17:25:36 +0200neurocyte0132889(~neurocyte@user/neurocyte)
2021-10-08 17:26:16 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:25a3:7e37:69ba:6dab)
2021-10-08 17:27:02 +0200kuribas(~user@ptr-25vy0i7xa7aijducfsu.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-10-08 17:27:03 +0200zebrag(~chris@user/zebrag)
2021-10-08 17:28:43 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-08 17:28:43 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-08 17:28:43 +0200wroathe(~wroathe@user/wroathe)
2021-10-08 17:29:29 +0200azeem(~azeem@emp-183-4.eduroam.uu.se) (Ping timeout: 245 seconds)
2021-10-08 17:30:11 +0200jtomas(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 250 seconds)
2021-10-08 17:30:19 +0200 <absence> int-e: FYI, that TH problem you tested for me yesterday turned out to be caused by DuplicateRecordFields being enabled for the file that defines the DecsQ. probably a variant of this: https://gitlab.haskell.org/ghc/ghc/-/issues/14848
2021-10-08 17:30:52 +0200boxscape_(~boxscape_@134.171.69.87) (Ping timeout: 252 seconds)
2021-10-08 17:31:06 +0200gaff(~gaff@49.207.207.229) (Remote host closed the connection)
2021-10-08 17:31:21 +0200gaff(~gaff@49.207.207.229)
2021-10-08 17:31:30 +0200chele(~chele@user/chele) (Remote host closed the connection)
2021-10-08 17:32:08 +0200kimjetwav(~user@2607:fea8:235f:9730:cb0f:f2b8:510e:5110)
2021-10-08 17:32:49 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2021-10-08 17:34:20 +0200 <int-e> absence: I see, thanks for the update
2021-10-08 17:34:51 +0200 <tomsmeding> monochrom: I guess, but am not sure, that another way to avoid spurious spaces is to put the code in a verbatim environment
2021-10-08 17:35:29 +0200 <tomsmeding> under the assumption that what's going wrong is that lstlisting doesn't actually set that basicstyle for the entire block, only for the keywords themselves, so the spaces in between are in a proportional font and thus too narrow
2021-10-08 17:36:09 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 245 seconds)
2021-10-08 17:36:37 +0200lbseale(~lbseale@user/ep1ctetus)
2021-10-08 17:36:55 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se)
2021-10-08 17:37:05 +0200DNH(~DNH@2a02:8108:1100:16d8:25ec:8a4c:7bf8:2c3a) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-10-08 17:37:33 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:25a3:7e37:69ba:6dab) (Remote host closed the connection)
2021-10-08 17:38:08 +0200azeem(~azeem@2a00:801:429:e0aa:bd65:9227:b4c:ee58)
2021-10-08 17:45:42 +0200zer0bitz(~zer0bitz@dsl-hkibng31-54fafc-123.dhcp.inet.fi)
2021-10-08 17:46:00 +0200mc47(~mc47@xmonad/TheMC47)
2021-10-08 17:47:03 +0200 <ocramz_> Franciman : pandoc is a good idea. Do you know if it supports latex style files ? (.sty)
2021-10-08 17:47:13 +0200 <Franciman> yes
2021-10-08 17:47:17 +0200 <Franciman> but only if it outputs to latex
2021-10-08 17:47:22 +0200 <Franciman> you can add verbatim latex
2021-10-08 17:47:27 +0200 <Franciman> in the preamble
2021-10-08 17:47:34 +0200 <Franciman> and it gets added to the preamble of the output latex
2021-10-08 17:47:38 +0200 <Franciman> wait
2021-10-08 17:47:41 +0200 <ocramz_> that's great, I'll try this route then
2021-10-08 17:48:08 +0200 <monochrom> tomsmeding: Yeah verbatim is reliable, just uncustomizable :)
2021-10-08 17:48:36 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:25a3:7e37:69ba:6dab)
2021-10-08 17:49:13 +0200 <tomsmeding> sure :p
2021-10-08 17:49:42 +0200 <Franciman> https://pandoc.org/MANUAL.html#creating-a-pdf this may be helpful
2021-10-08 17:49:44 +0200 <Franciman> and also
2021-10-08 17:50:00 +0200 <monochrom> I enjoy \lstMakeShortInline` so now I just have to say `f x = x + 1` instead of \verb... I forgot the exact \verb syntax for the inline thing.
2021-10-08 17:51:04 +0200 <Franciman> https://pandoc.org/MANUAL.html#variables-for-latex <- this one
2021-10-08 17:51:09 +0200 <Franciman> but really you can put your custom preamble
2021-10-08 17:51:16 +0200 <Franciman> if I can find an example
2021-10-08 17:51:18 +0200 <monochrom> To be sure, I don't need every-thing-customizable, but as said I sometimes need a smaller font size, verbatim is rigid on that.
2021-10-08 17:51:24 +0200mc47(~mc47@xmonad/TheMC47) (Quit: Leaving)
2021-10-08 17:51:42 +0200 <Franciman> ocramz_: https://pandoc.org/MANUAL.html#syntax-highlighting <- this is for syntax highlighting
2021-10-08 17:51:43 +0200mc47(~mc47@xmonad/TheMC47)
2021-10-08 17:52:27 +0200 <monochrom> On an exam paper for on-site exams, I want some code (part of the question) to be smaller, and some other code (part of the answer space) to be bigger (to match student writing).
2021-10-08 17:52:47 +0200 <Franciman> https://superuser.com/questions/356032/markdown-to-latex-conversion-with-a-custom-preamble-using-p… and this helped me putting thins in the preamble
2021-10-08 17:53:18 +0200 <Franciman> monochrom: does verbatim support colors?
2021-10-08 17:53:28 +0200 <Franciman> i.e. syntax highlighting
2021-10-08 17:53:31 +0200 <monochrom> I think no. I never needed colours.
2021-10-08 17:53:33 +0200 <ocramz_> awesome thanks for the links Franciman
2021-10-08 17:53:48 +0200 <monochrom> Hell, look at my nick, do I look like I appreciate colours? :)
2021-10-08 17:53:52 +0200 <Franciman> ahah
2021-10-08 17:53:56 +0200 <Franciman> np ocramz_
2021-10-08 17:54:36 +0200 <Franciman> yeah black and white gives better definition to objects in photography, too
2021-10-08 17:54:42 +0200 <Franciman> but color gives emotion
2021-10-08 17:54:46 +0200 <geekosaur> verbatim supports basically nothing
2021-10-08 17:54:57 +0200 <geekosaur> except, well, verbatim text
2021-10-08 17:55:10 +0200 <Franciman> well nice black and white photos give emotions too
2021-10-08 17:55:40 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-10-08 17:56:32 +0200 <tomsmeding> monochrom: what about https://mirror.lyrahosting.com/CTAN/macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.pdf ?
2021-10-08 17:56:56 +0200 <tomsmeding> seems to support defining an inline shortcut like your `` thing (\DefineShortVerb)
2021-10-08 17:57:09 +0200 <tomsmeding> and also fontsize :)
2021-10-08 17:57:15 +0200 <tomsmeding> haven't tested copyability though
2021-10-08 18:00:06 +0200 <geekosaur> (verbatim also scares me, I looked at the impl once and the way they detect \end{verbatim} is hacky as all hell even for TeX
2021-10-08 18:00:08 +0200OndejSkup[m](~mimivxmat@2001:470:69fc:105::c300) (Quit: You have been kicked for being idle)
2021-10-08 18:00:19 +0200 <geekosaur> )
2021-10-08 18:00:19 +0200 <monochrom> I haven't tried. But looks like worth trying.
2021-10-08 18:00:20 +0200OndejSkup[m](~mimivxmat@2001:470:69fc:105::c300)
2021-10-08 18:00:21 +0200OndejSkup[m](~mimivxmat@2001:470:69fc:105::c300) ()
2021-10-08 18:00:36 +0200Null_A(~null_a@2601:645:8700:2290:8de:8d66:958e:46b4)
2021-10-08 18:01:10 +0200Psybur(~Psybur@mobile-166-170-32-197.mycingular.net)
2021-10-08 18:01:12 +0200 <monochrom> Oh, \end{verbatim} is like The Dark Lord Who Must Not Be Named in programming anyway, so I'm fine with that. :)
2021-10-08 18:01:39 +0200tomsmedinginvents a programming language where "\end{verbatim}" at the start of a line is meaningful and occurs in many programs
2021-10-08 18:01:48 +0200neurocyte0132889(~neurocyte@user/neurocyte) (Read error: Connection reset by peer)
2021-10-08 18:01:59 +0200jle`(~justin@cpe-23-240-75-236.socal.res.rr.com) (Quit: WeeChat 2.7)
2021-10-08 18:03:01 +0200neurocyte0132889(~neurocyte@185.238.253.15)
2021-10-08 18:03:01 +0200neurocyte0132889(~neurocyte@185.238.253.15) (Changing host)
2021-10-08 18:03:01 +0200neurocyte0132889(~neurocyte@user/neurocyte)
2021-10-08 18:04:46 +0200hnOsmium0001(uid453710@id-453710.hampstead.irccloud.com)
2021-10-08 18:05:19 +0200econo(uid147250@user/econo)
2021-10-08 18:06:55 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-10-08 18:06:58 +0200xiongxin(~quassel@113.116.33.66) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-10-08 18:10:08 +0200jtomas(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
2021-10-08 18:10:21 +0200Null_A(~null_a@2601:645:8700:2290:8de:8d66:958e:46b4) (Remote host closed the connection)
2021-10-08 18:10:47 +0200Null_A(~null_a@2601:645:8700:2290:8de:8d66:958e:46b4)
2021-10-08 18:13:17 +0200 <gaff> In GHCi, this compiles: f x = x :: Int, but this doesn't: f x = x :: Num a => a. Any idea why?
2021-10-08 18:16:17 +0200gaff(~gaff@49.207.207.229) (Quit: Leaving...)
2021-10-08 18:16:34 +0200gaff(~gaff@49.207.207.229)
2021-10-08 18:16:49 +0200 <gaff> In GHCi, this compiles: f x = x :: Int, but this doesn't: f x = x :: Num a => a. Any idea why?
2021-10-08 18:17:15 +0200 <Hecate> uh
2021-10-08 18:17:17 +0200 <Hecate> no idea
2021-10-08 18:17:26 +0200 <Hecate> but 'f (x :: Num a => a) = x' works with a couple of extensions
2021-10-08 18:17:54 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-08 18:17:54 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-08 18:17:54 +0200wroathe(~wroathe@user/wroathe)
2021-10-08 18:17:57 +0200 <gaff> Hecate: ok, what are the extensions?
2021-10-08 18:18:21 +0200 <Hecate> RankNTypes & ScopedTypeVariables
2021-10-08 18:18:22 +0200 <tomsmeding> gaff: not ghci specific, in a file it also doesn't work
2021-10-08 18:18:38 +0200 <tomsmeding> I expect this is due to some kind of impredicativity?
2021-10-08 18:18:43 +0200 <Hecate> tomsmeding: yeah but you're more likely to inline the type signatures in ghci :P
2021-10-08 18:19:00 +0200 <gaff> tomsmeding: yeah, i just tested in GHCi so far. thanks
2021-10-08 18:19:08 +0200 <tomsmeding> > f :: Num a => a -> a ; f x = x
2021-10-08 18:19:08 +0200hololeap(~hololeap@user/hololeap)
2021-10-08 18:19:09 +0200 <lambdabot> <hint>:1:22: error: parse error on input ‘;’
2021-10-08 18:19:15 +0200 <tomsmeding> % f :: Num a => a -> a ; f x = x
2021-10-08 18:19:16 +0200 <yahb> tomsmeding:
2021-10-08 18:19:18 +0200 <Franciman> gaff: it does not work because then, f would have type (Num a => a) -> (Num a => a)
2021-10-08 18:19:20 +0200 <Franciman> i think
2021-10-08 18:19:36 +0200 <Franciman> that requires the haskell extensions above mentioned
2021-10-08 18:19:44 +0200 <Franciman> err
2021-10-08 18:19:52 +0200 <Franciman> (forall a. Num a => a) -> (forall a. Num a => a)
2021-10-08 18:20:07 +0200 <gaff> Franciman: actually from the error reported, haskell refuses to infer the type of the argument to `f`
2021-10-08 18:20:47 +0200 <tomsmeding> the error with that rigid type variable p is very much like what happens if you let an existential variable escape
2021-10-08 18:20:53 +0200 <Hecate> % f (x :: Num a => a) = x
2021-10-08 18:20:54 +0200 <yahb> Hecate:
2021-10-08 18:20:56 +0200 <Hecate> boo
2021-10-08 18:21:03 +0200 <Hecate> % :t f (x :: Num a => a) = x
2021-10-08 18:21:04 +0200 <yahb> Hecate: ; <interactive>:1:21: error: parse error on input `='
2021-10-08 18:21:09 +0200 <Hecate> curse
2021-10-08 18:21:14 +0200 <tomsmeding> % :t f
2021-10-08 18:21:14 +0200 <yahb> tomsmeding: Num a => (Num a => a) -> a
2021-10-08 18:21:19 +0200 <tomsmeding> cool
2021-10-08 18:21:20 +0200 <gaff> Franciman: even with those extensions, `f x = x :: Num a => a` does not work
2021-10-08 18:22:01 +0200 <Franciman> hmm you are right
2021-10-08 18:23:02 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-08 18:23:33 +0200gustik(~gustik@2a01:c844:2411:2d20:922e:5225:fa8f:b211) (Quit: Leaving)
2021-10-08 18:24:08 +0200 <gaff> tomsmeding: what do you mean by "let an existential variable escape"?
2021-10-08 18:24:14 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-10-08 18:24:28 +0200 <tomsmeding> % data Thing where MkThing :: a -> Thing
2021-10-08 18:24:28 +0200 <yahb> tomsmeding:
2021-10-08 18:24:33 +0200 <Franciman> gaff: is this something you want to try, or do you need it in a bigger setting?
2021-10-08 18:24:43 +0200 <tomsmeding> oh
2021-10-08 18:24:49 +0200 <tomsmeding> % data Thing where MkThing :: a -> (a -> Int) -> Thing
2021-10-08 18:24:49 +0200 <yahb> tomsmeding:
2021-10-08 18:25:04 +0200 <gaff> Franciman: i just came across it in some code i was looking at
2021-10-08 18:25:18 +0200neurocyte0132889(~neurocyte@user/neurocyte) (Ping timeout: 260 seconds)
2021-10-08 18:25:32 +0200 <tomsmeding> % f :: Thing -> Int ; f t = let { (x, f) = case t of MkThing x f -> (x, f) } in f x
2021-10-08 18:25:32 +0200 <yahb> tomsmeding: ; <interactive>:16:68: error:; * Couldn't match expected type `t0' with actual type `a'; because type variable `a' would escape its scope; This (rigid, skolem) type variable is bound by a pattern with constructor: MkThing :: forall a. a -> (a -> Int) -> Thing, in a case alternative at <interactive>:16:52-62; * In the expression: x; In the expression: (x, f); In a case al
2021-10-08 18:25:35 +0200 <geekosaur> actually the problem is that the iunside type signature does not mean the same thing as an outside one, so ghc infers the oiuter type signature and then discovers the inner one conflicts with it
2021-10-08 18:25:54 +0200 <Franciman> ohh
2021-10-08 18:25:56 +0200 <tomsmeding> gaff: this, but actually the error is more explicit about it apparently
2021-10-08 18:26:03 +0200 <geekosaur> re the original question
2021-10-08 18:26:31 +0200 <Franciman> ah geekosaur are you saying that it tries to infer :: forall a. a -> (forall b. Num b => b)
2021-10-08 18:26:33 +0200 <Franciman> ?
2021-10-08 18:26:55 +0200 <Franciman> no wait, I am confused
2021-10-08 18:27:17 +0200 <geekosaur> no, I mean there is a difference between `f :: Num a => a; f = ...` and `f = ... :: Num a => a`
2021-10-08 18:27:34 +0200 <tomsmeding> see also: https://mail.haskell.org/pipermail/haskell-cafe/2021-October/134709.html
2021-10-08 18:27:43 +0200 <geekosaur> the latter does not actually have a type signature as far as ghc is concerned, so it infers one and then breaks because of the given one
2021-10-08 18:27:55 +0200 <Franciman> oh lol
2021-10-08 18:28:29 +0200 <geekosaur> made worse in this case because of the monomorphism restriction, so it infers a monomorphic type for f
2021-10-08 18:28:37 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2021-10-08 18:28:39 +0200 <geekosaur> (probably Integer)
2021-10-08 18:28:44 +0200 <gaff> geekosaur: yeah, correct. but this compiles with some extensions: `f (x :: Num a => a) =x`
2021-10-08 18:29:33 +0200mei(~mei@user/mei) (Read error: Connection reset by peer)
2021-10-08 18:30:05 +0200DNH(~DNH@2a02:8108:1100:16d8:25ec:8a4c:7bf8:2c3a)
2021-10-08 18:30:47 +0200emf(~emf@162.218.217.186)
2021-10-08 18:31:07 +0200 <gaff> i am not sure why that one compiles
2021-10-08 18:31:20 +0200 <gaff> `f (x :: Num a => a) =x`
2021-10-08 18:32:33 +0200 <tomsmeding> magic
2021-10-08 18:34:13 +0200 <gaff> and of course `f x = x ::: Int` compiles without any extensions whatsoever!!
2021-10-08 18:34:53 +0200 <geekosaur> monomorphism restriction, as I mentioned
2021-10-08 18:35:01 +0200 <tomsmeding> % f x = x ::: Int
2021-10-08 18:35:01 +0200 <yahb> tomsmeding: ; <interactive>:17:9: error: Data constructor not in scope: (:::) :: t -> t0 -> t1; <interactive>:17:13: error:; * Data constructor not in scope: Int; * Perhaps you meant variable `int' (imported from Text.PrettyPrint.HughesPJ)
2021-10-08 18:35:29 +0200 <geekosaur> basically, if you have no parameters it assumes you want it to be computed only once, which requires a monomorphic type
2021-10-08 18:35:42 +0200 <hololeap> with the optics package, how would I apply another optic to the second value of a tuple?
2021-10-08 18:35:47 +0200 <geekosaur> so it infers one unless you have an outer type signature that specifically says otherwise
2021-10-08 18:35:47 +0200 <tomsmeding> geekosaur: s/parameters/type signature/?
2021-10-08 18:35:56 +0200 <geekosaur> f vs. f x
2021-10-08 18:36:25 +0200tomsmedingdoesn't see a binding in this discussion without parameters
2021-10-08 18:36:39 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-08 18:36:39 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-08 18:36:39 +0200wroathe(~wroathe@user/wroathe)
2021-10-08 18:36:46 +0200 <geekosaur> I thought the original one used Num a => a
2021-10-08 18:36:50 +0200 <hololeap> I want to create a new lens that leaves the first value of a tuple alone and focuses on the second value
2021-10-08 18:37:05 +0200 <geekosaur> oh, but we've moved on, sorry
2021-10-08 18:37:19 +0200 <gaff> geekosaur: getting rid off parameters is one way to get out of the monomorphic restriction, right?
2021-10-08 18:37:34 +0200 <geekosaur> no, adding them is one way
2021-10-08 18:37:42 +0200 <geekosaur> I misread whatwas going on at this point
2021-10-08 18:37:46 +0200 <gaff> this was the original question -- : In GHCi, this compiles: f x = x :: Int, but this doesn't: f x = x :: Num a => a. Any idea why?
2021-10-08 18:37:59 +0200jakalx(~jakalx@base.jakalx.net)
2021-10-08 18:38:19 +0200 <geekosaur> my original statement about inferring the outer tyype signature stands
2021-10-08 18:38:54 +0200 <geekosaur> but ghc(i) only infers what is needed, and "what is needed" means use sites, not the actual definition
2021-10-08 18:39:06 +0200 <Tisoxin> is `foldr = foldl . reverse` true?
2021-10-08 18:39:17 +0200 <geekosaur> plus, ghci is a bit strange compared to ghc as it can't see what will be needed, so it makes assumptions ghc does not
2021-10-08 18:39:22 +0200Null_A(~null_a@2601:645:8700:2290:8de:8d66:958e:46b4) (Remote host closed the connection)
2021-10-08 18:39:23 +0200 <gaff> geekosaur: ok, but in the case of `Int`, ihaskell is able to infer the signature without problems?
2021-10-08 18:39:32 +0200 <Tisoxin> actually nvm
2021-10-08 18:39:33 +0200 <monochrom> Tisoxin: Not for infinite lists.
2021-10-08 18:39:34 +0200 <geekosaur> so it'll assume f :: Integer -> Integer and then break
2021-10-08 18:39:42 +0200emf_(~emf@2620:10d:c090:400::5:3586)
2021-10-08 18:39:49 +0200Null_A(~null_a@2601:645:8700:2290:8de:8d66:958e:46b4)
2021-10-08 18:40:01 +0200 <geekosaur> :t second
2021-10-08 18:40:02 +0200 <lambdabot> Arrow a => a b c -> a (d, b) (d, c)
2021-10-08 18:40:07 +0200 <tomsmeding> Tisoxin: almost ;)
2021-10-08 18:40:09 +0200 <geekosaur> wrong second, I think
2021-10-08 18:40:25 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-10-08 18:40:30 +0200 <monochrom> "f x = x :: a" is not how to express "f :: a -> a" either, in the first place.
2021-10-08 18:41:16 +0200emf(~emf@162.218.217.186) (Ping timeout: 252 seconds)
2021-10-08 18:41:24 +0200 <gaff> monochrom: correct, i know. but i wanted to know why it does not work.
2021-10-08 18:41:52 +0200CiaoSen(~Jura@p200300c9571e34002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-10-08 18:42:03 +0200 <hololeap> put most simply, I want a lens using the optics package that looks like this: Lens' (a, Identity b) (a, b)
2021-10-08 18:42:18 +0200 <monochrom> The long story involves looking into the actual rules, not "intuition", of type inference.
2021-10-08 18:42:43 +0200 <gaff> monochrom: ok,
2021-10-08 18:43:02 +0200 <monochrom> The short story though, IMO, is: "I want to specify the type of f, therefore I specify the type of something else" is clearly an XY problem.
2021-10-08 18:43:47 +0200 <gaff> monochrom: yeah, got it. it is not my code, by the way. i just came across it while looking at something.
2021-10-08 18:45:22 +0200 <tomsmeding> hololeap: haven't ever used lenses, but is that not something like `over _2`?
2021-10-08 18:46:41 +0200 <hololeap> tomsmeding: basically. but I was looking for something that used combinators of Optics instead of defining it directly with functions. with the optics package, Optics are opaque and I'm wondering if there's a combinator that does this particular thing
2021-10-08 18:46:57 +0200 <tomsmeding> hololeap: ... doesn't what I wrote also work in optics?
2021-10-08 18:47:10 +0200 <tomsmeding> like, Optics exports 'over' and '_2'
2021-10-08 18:47:22 +0200 <hololeap> sort of, but it doesn't compose with other optics
2021-10-08 18:47:25 +0200 <tomsmeding> ah
2021-10-08 18:47:51 +0200 <hololeap> with the lens library, it would
2021-10-08 18:49:44 +0200Null_A(~null_a@2601:645:8700:2290:8de:8d66:958e:46b4) (Remote host closed the connection)
2021-10-08 18:50:10 +0200Null_A(~null_a@2601:645:8700:2290:8de:8d66:958e:46b4)
2021-10-08 18:52:08 +0200zero(~z@user/zero)
2021-10-08 18:52:52 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2021-10-08 18:53:42 +0200zzz(~z@user/zero) (Ping timeout: 250 seconds)
2021-10-08 18:55:00 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 265 seconds)
2021-10-08 18:57:18 +0200 <hololeap> the best I can come up with is something like `lens (second runIdentity) (const (second Identity))`, which makes a composible Lens
2021-10-08 18:57:25 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-10-08 18:57:52 +0200 <hololeap> but, it would be nice to be able to re-use another lens (#runIdentity in this example)
2021-10-08 19:00:05 +0200Null_A(~null_a@2601:645:8700:2290:8de:8d66:958e:46b4) (Remote host closed the connection)
2021-10-08 19:00:30 +0200Null_A(~null_a@2601:645:8700:2290:8de:8d66:958e:46b4)
2021-10-08 19:00:36 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2021-10-08 19:03:06 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-08 19:03:06 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-08 19:03:06 +0200wroathe(~wroathe@user/wroathe)
2021-10-08 19:06:10 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-10-08 19:06:11 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-10-08 19:08:05 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se)
2021-10-08 19:12:49 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 245 seconds)
2021-10-08 19:12:50 +0200zero(~z@user/zero) (Read error: Connection reset by peer)
2021-10-08 19:14:20 +0200gaff(~gaff@49.207.207.229) (Leaving...)
2021-10-08 19:14:56 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-10-08 19:16:43 +0200lavaman(~lavaman@98.38.249.169)
2021-10-08 19:17:11 +0200emf_(~emf@2620:10d:c090:400::5:3586) (Ping timeout: 245 seconds)
2021-10-08 19:21:09 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
2021-10-08 19:23:02 +0200chomwitt(~chomwitt@94.66.61.137) (Ping timeout: 265 seconds)
2021-10-08 19:23:07 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 252 seconds)
2021-10-08 19:24:00 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 265 seconds)
2021-10-08 19:25:42 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-08 19:26:23 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se)
2021-10-08 19:26:28 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-10-08 19:26:51 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Remote host closed the connection)
2021-10-08 19:27:05 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com)
2021-10-08 19:27:09 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-10-08 19:27:23 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be)
2021-10-08 19:30:19 +0200MidAutumnMoon(~MidAutumn@user/midautumnmoon) (Ping timeout: 245 seconds)
2021-10-08 19:31:21 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 245 seconds)
2021-10-08 19:31:50 +0200emf(~emf@163.114.132.6)
2021-10-08 19:32:23 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se)
2021-10-08 19:34:28 +0200oxide(~lambda@user/oxide) (Read error: Connection reset by peer)
2021-10-08 19:35:31 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 245 seconds)
2021-10-08 19:35:37 +0200Hanicef(~gustaf@81-229-9-108-no92.tbcn.telia.com)
2021-10-08 19:36:28 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-10-08 19:37:32 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 265 seconds)
2021-10-08 19:37:39 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
2021-10-08 19:38:12 +0200oxide(~lambda@user/oxide)
2021-10-08 19:38:19 +0200MidAutumnMoon(~MidAutumn@user/midautumnmoon)
2021-10-08 19:38:19 +0200kmein_(~weechat@user/kmein)
2021-10-08 19:40:19 +0200kmein(~weechat@user/kmein) (Ping timeout: 245 seconds)
2021-10-08 19:49:31 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se)
2021-10-08 19:50:45 +0200chomwitt(~chomwitt@94.66.61.137)
2021-10-08 19:51:09 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-08 19:53:59 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-10-08 19:54:28 +0200taeaad_(~taeaad@user/taeaad) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2021-10-08 19:54:50 +0200neurocyte0132889(~neurocyte@user/neurocyte)
2021-10-08 19:55:31 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-10-08 19:55:53 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-10-08 19:56:08 +0200obs\(~obscur1ty@156.192.159.45)
2021-10-08 19:56:08 +0200obs\(~obscur1ty@156.192.159.45) (Changing host)
2021-10-08 19:56:08 +0200obs\(~obscur1ty@user/obs/x-5924898)
2021-10-08 19:57:00 +0200VoidNoir0(~VoidNoir0@72.80.203.52)
2021-10-08 19:57:44 +0200 <hololeap> newtype TrivialMap k v = TrivialMap { getTrivialMap :: Maybe v }
2021-10-08 19:57:51 +0200 <hololeap> deriving (Show2, Eq2, Ord2) via Flip (Biff Const Maybe Identity)
2021-10-08 19:57:56 +0200 <hololeap> :D
2021-10-08 19:58:09 +0200jtomas(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-10-08 19:58:32 +0200jtomas(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
2021-10-08 19:58:51 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-08 19:59:55 +0200 <monochrom> Biff. That's a nostalgial name. :)
2021-10-08 20:01:52 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2021-10-08 20:02:21 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2021-10-08 20:02:25 +0200 <hololeap> % :t Biff
2021-10-08 20:02:26 +0200 <yahb> hololeap: ; <interactive>:1:1: error: Data constructor not in scope: Biff
2021-10-08 20:08:14 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 245 seconds)
2021-10-08 20:08:47 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-10-08 20:10:36 +0200taeaad(~taeaad@user/taeaad)
2021-10-08 20:10:37 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-10-08 20:14:08 +0200aegon(~mike@174.127.249.180)
2021-10-08 20:14:25 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 265 seconds)
2021-10-08 20:14:52 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2021-10-08 20:17:11 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 245 seconds)
2021-10-08 20:17:46 +0200Null_A(~null_a@2601:645:8700:2290:8de:8d66:958e:46b4) (Ping timeout: 260 seconds)
2021-10-08 20:17:52 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-10-08 20:21:22 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se)
2021-10-08 20:21:33 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-10-08 20:23:01 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-08 20:25:56 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 245 seconds)
2021-10-08 20:26:03 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-10-08 20:26:21 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2021-10-08 20:26:28 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2021-10-08 20:26:44 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2021-10-08 20:27:35 +0200max22-(~maxime@2a01cb088335980097eb09a47970d526.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds)
2021-10-08 20:27:58 +0200Hanicef(~gustaf@81-229-9-108-no92.tbcn.telia.com) (Quit: leaving)
2021-10-08 20:31:52 +0200jtomas(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
2021-10-08 20:33:04 +0200DNH(~DNH@2a02:8108:1100:16d8:25ec:8a4c:7bf8:2c3a) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-10-08 20:34:54 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2021-10-08 20:36:59 +0200alx741(~alx741@181.196.68.60) (Ping timeout: 245 seconds)
2021-10-08 20:37:01 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net)
2021-10-08 20:37:46 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Remote host closed the connection)
2021-10-08 20:38:31 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se)
2021-10-08 20:41:24 +0200thyriaen(~thyriaen@dynamic-077-013-083-201.77.13.pool.telefonica.de) (Remote host closed the connection)
2021-10-08 20:45:47 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-10-08 20:47:49 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 252 seconds)
2021-10-08 20:48:11 +0200Null_A(~null_a@2601:645:8700:2290:14d:2889:1082:cd2c)
2021-10-08 20:48:45 +0200jtomas(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
2021-10-08 20:49:15 +0200wonko(~wjc@62.115.229.50)
2021-10-08 20:49:49 +0200alx741(~alx741@181.196.68.60)
2021-10-08 20:51:39 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
2021-10-08 20:51:47 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-08 20:51:47 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-08 20:51:47 +0200wroathe(~wroathe@user/wroathe)
2021-10-08 20:52:49 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-08 20:53:24 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds)
2021-10-08 20:53:26 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-08 20:53:27 +0200decio38(~decio@2001:8a0:6a6e:400:bea9:acb4:9307:4374)
2021-10-08 20:54:11 +0200decio38(~decio@2001:8a0:6a6e:400:bea9:acb4:9307:4374) ()
2021-10-08 20:54:11 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2021-10-08 20:54:45 +0200decio(~decio@2001:8a0:6a6e:400:bea9:acb4:9307:4374)
2021-10-08 20:56:21 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2021-10-08 20:56:49 +0200max22-(~maxime@2a01cb0883359800e541236a3ab6432d.ipv6.abo.wanadoo.fr)
2021-10-08 20:57:40 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 252 seconds)
2021-10-08 20:58:04 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-10-08 20:58:25 +0200echoone(~echoone@2a02:8109:a1c0:5d05:a571:daab:d921:339e)
2021-10-08 20:59:15 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se)
2021-10-08 21:00:06 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2021-10-08 21:02:29 +0200vicfred(~vicfred@user/vicfred)
2021-10-08 21:04:23 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2021-10-08 21:04:45 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2021-10-08 21:04:58 +0200_xor(~xor@72.49.199.147) (Read error: Connection reset by peer)
2021-10-08 21:05:31 +0200rtjure(~rtjure@bras-79-132-17-74.comnet.bg) (Ping timeout: 245 seconds)
2021-10-08 21:05:37 +0200 <ocramz_> % :t Just
2021-10-08 21:05:38 +0200 <yahb> ocramz_: a -> Maybe a
2021-10-08 21:05:45 +0200 <ocramz_> nice
2021-10-08 21:05:58 +0200 <ocramz_> is this the new lambdabot ?
2021-10-08 21:06:15 +0200 <geekosaur> not really new, just different
2021-10-08 21:06:25 +0200 <geekosaur> it's an actual ghci, for one
2021-10-08 21:06:42 +0200 <geekosaur> has a different set of packages loaded, can do limited I/O, etc.
2021-10-08 21:07:04 +0200 <ocramz_> very handy
2021-10-08 21:09:03 +0200_xor(~xor@72.49.199.147)
2021-10-08 21:09:31 +0200 <ocramz_> % :t fix
2021-10-08 21:09:31 +0200 <yahb> ocramz_: (a -> a) -> a
2021-10-08 21:09:37 +0200 <ocramz_> % fix error
2021-10-08 21:09:42 +0200 <ocramz_> ayy
2021-10-08 21:09:42 +0200 <yahb> ocramz_: "*** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Exception: *** Excep
2021-10-08 21:09:58 +0200 <ocramz_> veri gud
2021-10-08 21:10:08 +0200 <Hecate> :% :t fix . error
2021-10-08 21:10:11 +0200 <Hecate> damn
2021-10-08 21:10:14 +0200 <Hecate> % :t fix . error
2021-10-08 21:10:14 +0200 <yahb> Hecate: [Char] -> c
2021-10-08 21:10:18 +0200 <Hecate> beautiful
2021-10-08 21:11:33 +0200zero(~z@user/zero)
2021-10-08 21:12:15 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 276 seconds)
2021-10-08 21:12:55 +0200decio(~decio@2001:8a0:6a6e:400:bea9:acb4:9307:4374) (Quit: because)
2021-10-08 21:13:04 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2021-10-08 21:15:32 +0200 <ocramz_> monochrom : I might have found out why lstlistings adds extra space in rendered Latex; try adding 'columns=flexible' in the lstset dictionary
2021-10-08 21:16:08 +0200w-spc-gir(~w-spc-gir@2601:646:9c00:594c:bc3a:4a61:1dc8:3137)
2021-10-08 21:17:57 +0200DNH(~DNH@2a02:8108:1100:16d8:25ec:8a4c:7bf8:2c3a)
2021-10-08 21:18:43 +0200biberu(~biberu@user/biberu) (Read error: Connection reset by peer)
2021-10-08 21:19:03 +0200biberu(~biberu@user/biberu)
2021-10-08 21:19:08 +0200w-spc-gir(~w-spc-gir@2601:646:9c00:594c:bc3a:4a61:1dc8:3137) (Read error: Connection reset by peer)
2021-10-08 21:20:28 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37)
2021-10-08 21:21:18 +0200bdaed(~bdaed@185.234.208.208.r.toneticgroup.pl)
2021-10-08 21:22:23 +0200ru0mad(~ru0mad@82-64-17-144.subs.proxad.net)
2021-10-08 21:23:01 +0200jtomas(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
2021-10-08 21:25:06 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37) (Read error: Connection reset by peer)
2021-10-08 21:28:08 +0200 <lbseale> I'd like to be able to run a process that prints colored text to std out, but save that text and maybe print it out later with colors
2021-10-08 21:28:13 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-10-08 21:28:48 +0200 <lbseale> I've gotten as far as running `createProcess` with CreatePipe, using hGetContents to get the stdOut, but it doesn't have the colors
2021-10-08 21:28:53 +0200 <geekosaur> easiest way to do that is bespoke output functions that both print and save
2021-10-08 21:29:10 +0200 <geekosaur> oh, I see
2021-10-08 21:29:18 +0200 <awpr> most CLI programs detect whether the output is a terminal to decide whether to use color by default
2021-10-08 21:29:31 +0200 <geekosaur> if the program checks to see if output is a tty thyen you need to use a pty instead of sa pipe
2021-10-08 21:29:33 +0200 <awpr> usually you have to pass a flag like `--color=always` to override it
2021-10-08 21:29:50 +0200 <lbseale> ah ok
2021-10-08 21:29:57 +0200 <geekosaur> there are some primitive pty functions in System.Process if you do need to do this
2021-10-08 21:30:14 +0200 <geekosaur> (note that you will lose portability to Windows)
2021-10-08 21:30:22 +0200 <lbseale> I'm ok with that
2021-10-08 21:30:26 +0200 <awpr> ah that's an interesting trick. flag would be easier if it exists, but if not, you might have to do that
2021-10-08 21:30:48 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37)
2021-10-08 21:30:51 +0200 <geekosaur> hm, maybe they're in System.Posix.Process
2021-10-08 21:30:52 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37) (Read error: Connection reset by peer)
2021-10-08 21:31:09 +0200 <monochrom> Yeah pty is a unix thing.
2021-10-08 21:31:12 +0200 <awpr> (I've never personally noticed a program that wouldn't let you force-enable color on a non-tty)
2021-10-08 21:31:38 +0200 <lbseale> yeah it has a --color=always option, and that worked! Thanks much
2021-10-08 21:33:10 +0200 <monochrom> And then System.Posix.Process goes on to use the BSD style.
2021-10-08 21:33:25 +0200cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2021-10-08 21:33:25 +0200kawpuh(~kawpuh@66.42.81.80) (Read error: Connection reset by peer)
2021-10-08 21:33:37 +0200kawpuh(~kawpuh@66.42.81.80)
2021-10-08 21:33:47 +0200cheater(~Username@user/cheater)
2021-10-08 21:36:29 +0200jtomas(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net)
2021-10-08 21:37:29 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37)
2021-10-08 21:38:14 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37) (Read error: Connection reset by peer)
2021-10-08 21:38:29 +0200 <monochrom> ocramz_: Nice find. Thanks.
2021-10-08 21:39:29 +0200mikoto-chan(~mikoto-ch@ip-83-134-2-136.dsl.scarlet.be) (Ping timeout: 245 seconds)
2021-10-08 21:41:11 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37)
2021-10-08 21:41:14 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37) (Read error: Connection reset by peer)
2021-10-08 21:43:06 +0200wrengr_awaywrengr
2021-10-08 21:45:40 +0200mjrosenb(~mjrosenb@pool-108-54-97-96.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
2021-10-08 21:56:32 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37)
2021-10-08 21:56:33 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37) (Read error: Connection reset by peer)
2021-10-08 21:57:09 +0200acidjnk_new3(~acidjnk@p200300d0c703cb3809607f7c8c1f0b15.dip0.t-ipconnect.de)
2021-10-08 21:57:58 +0200jumper149(~jumper149@80.240.31.34)
2021-10-08 21:58:11 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Ping timeout: 265 seconds)
2021-10-08 21:59:13 +0200alzgh(~alzgh@user/alzgh) (Remote host closed the connection)
2021-10-08 21:59:32 +0200alzgh(~alzgh@user/alzgh)
2021-10-08 21:59:35 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-10-08 22:05:19 +0200juhp(~juhp@128.106.188.220) (Ping timeout: 245 seconds)
2021-10-08 22:07:14 +0200DNH(~DNH@2a02:8108:1100:16d8:25ec:8a4c:7bf8:2c3a) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-10-08 22:08:04 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37)
2021-10-08 22:08:25 +0200juhp(~juhp@128.106.188.220)
2021-10-08 22:09:29 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37) (Read error: Connection reset by peer)
2021-10-08 22:10:26 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37)
2021-10-08 22:10:30 +0200tfeb(~tfb@88.98.95.237)
2021-10-08 22:10:52 +0200DNH(~DNH@2a02:8108:1100:16d8:25ec:8a4c:7bf8:2c3a)
2021-10-08 22:11:34 +0200oxide(~lambda@user/oxide) (Ping timeout: 245 seconds)
2021-10-08 22:11:46 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37) (Remote host closed the connection)
2021-10-08 22:11:59 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37)
2021-10-08 22:12:13 +0200mjrosenb(~mjrosenb@pool-108-54-97-96.nycmny.fios.verizon.net)
2021-10-08 22:13:34 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37) (Read error: Connection reset by peer)
2021-10-08 22:15:39 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2021-10-08 22:19:11 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37)
2021-10-08 22:19:18 +0200rtjure(~rtjure@bras-79-132-17-74.comnet.bg)
2021-10-08 22:19:20 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37) (Read error: Connection reset by peer)
2021-10-08 22:21:38 +0200tfeb(~tfb@88.98.95.237) (Quit: died)
2021-10-08 22:25:39 +0200hgolden(~hgolden2@cpe-172-114-81-123.socal.res.rr.com)
2021-10-08 22:27:49 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37)
2021-10-08 22:28:13 +0200emf(~emf@163.114.132.6) (Quit: emf)
2021-10-08 22:28:31 +0200emf(~emf@2620:10d:c090:400::5:3586)
2021-10-08 22:31:11 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-10-08 22:32:59 +0200coffee7(~a@p200300ef971a6853e4ca7f30fbe64496.dip0.t-ipconnect.de)
2021-10-08 22:33:22 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-10-08 22:35:42 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37) (Read error: Connection reset by peer)
2021-10-08 22:36:59 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-08 22:37:45 +0200 <coffee7> I'm looking for a beginner friendly library for plotting math functions. There are several in hackage but maybe a hint from the people who have already used them? Thank you.
2021-10-08 22:38:15 +0200sprout_(~quassel@2a02:a467:ccd6:1:9093:865d:793c:93e8) (Ping timeout: 260 seconds)
2021-10-08 22:38:39 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 245 seconds)
2021-10-08 22:39:23 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-10-08 22:40:15 +0200oxide(~lambda@user/oxide)
2021-10-08 22:41:56 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37)
2021-10-08 22:42:14 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37) (Read error: Connection reset by peer)
2021-10-08 22:43:46 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-08 22:50:12 +0200 <Franciman> coffee7: Hi, what output would you like?
2021-10-08 22:50:16 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-10-08 22:50:18 +0200 <Franciman> plot on a pdf file maybe?
2021-10-08 22:50:22 +0200 <Franciman> or in a GUI?
2021-10-08 22:50:40 +0200Cajun(~Cajun@user/cajun)
2021-10-08 22:52:04 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-10-08 22:53:57 +0200 <coffee7> It doesn't really matter. It's only for me. A simple jpg output is fine.
2021-10-08 22:55:48 +0200 <coffee7> easy to use and get started quickly is the most important thing. I was looking at easyplot.
2021-10-08 22:57:31 +0200Null_A(~null_a@2601:645:8700:2290:14d:2889:1082:cd2c) (Remote host closed the connection)
2021-10-08 23:02:27 +0200Null_A(~null_a@2601:645:8700:2290:14d:2889:1082:cd2c)
2021-10-08 23:04:40 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-08 23:04:40 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-08 23:04:40 +0200wroathe(~wroathe@user/wroathe)
2021-10-08 23:04:53 +0200echoone(~echoone@2a02:8109:a1c0:5d05:a571:daab:d921:339e) (Quit: Client closed)
2021-10-08 23:07:41 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37)
2021-10-08 23:08:26 +0200a6a45081-2b83(~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507)
2021-10-08 23:10:38 +0200 <a6a45081-2b83> I'm trying to use ghci to debug a program, but I am confused by the binding scopes. I am inside a do block which is on the RHS of a case statement value. How can I access the value itself?
2021-10-08 23:11:00 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37) (Read error: Connection reset by peer)
2021-10-08 23:11:14 +0200 <a6a45081-2b83> e.g. `case ex of A a -> ...; B b -> do {.... <I am here> }` I want to get the value of b.
2021-10-08 23:11:42 +0200pavonia(~user@user/siracusa)
2021-10-08 23:12:00 +0200 <geekosaur> b should be in scope there unless your indentation is heinously off
2021-10-08 23:12:09 +0200 <geekosaur> and then I'd expect a compile error
2021-10-08 23:12:30 +0200 <geekosaur> @where paste
2021-10-08 23:12:30 +0200 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2021-10-08 23:13:06 +0200 <monochrom> The question is very unclear because we are not told what steps you have carried out to even warrant this b to exist in the first place.
2021-10-08 23:13:13 +0200alzgh(~alzgh@user/alzgh) (Remote host closed the connection)
2021-10-08 23:13:32 +0200alzgh(~alzgh@user/alzgh)
2021-10-08 23:13:35 +0200Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 265 seconds)
2021-10-08 23:13:43 +0200 <a6a45081-2b83> let me share the code snippet to be more clear.
2021-10-08 23:14:06 +0200Maxdamantus(~Maxdamant@user/maxdamantus)
2021-10-08 23:15:03 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-10-08 23:16:11 +0200 <a6a45081-2b83> here it is: https://paste.tomsmeding.com/kIWKwryY
2021-10-08 23:16:57 +0200 <monochrom> Uh which line is so-called "584"?
2021-10-08 23:17:24 +0200 <a6a45081-2b83> `584: (s4, rhs_ty_gen) <- generalize venv' s3 bound_tyvars drvd_rhs_ty'`
2021-10-08 23:17:56 +0200 <monochrom> Uh who is "b"?
2021-10-08 23:18:34 +0200 <a6a45081-2b83> b is `LetE (v, [], gvn_rhs_ty, rhs) bod`, more specifically I want the value of v and bod
2021-10-08 23:19:24 +0200 <monochrom> And you are saying ":print v" gives you what?
2021-10-08 23:19:41 +0200 <a6a45081-2b83> `<interactive>:1:1: error: Not in scope: ‘v’`
2021-10-08 23:20:01 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-10-08 23:20:42 +0200 <monochrom> How about, for example, ":print s3", to guard against confirmation bias?
2021-10-08 23:20:56 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
2021-10-08 23:21:41 +0200 <a6a45081-2b83> `s3 = (_t2::Gibbon.L0.Typecheck.Subst)`
2021-10-08 23:21:55 +0200 <a6a45081-2b83> I tried using `:force s3` and that works too
2021-10-08 23:22:02 +0200 <a6a45081-2b83> I get some nested value
2021-10-08 23:22:29 +0200 <lbseale> it's because s3 is in the scope of the exact line you're breaking on, but v is not
2021-10-08 23:22:47 +0200Lord_of_Life_Lord_of_Life
2021-10-08 23:22:47 +0200 <lbseale> you want to break on the line that starts with `Let E ...`
2021-10-08 23:23:39 +0200bdaed(~bdaed@185.234.208.208.r.toneticgroup.pl) (Ping timeout: 245 seconds)
2021-10-08 23:24:02 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-08 23:24:47 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-10-08 23:25:06 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-10-08 23:25:31 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 245 seconds)
2021-10-08 23:25:47 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37)
2021-10-08 23:26:13 +0200wonko(~wjc@62.115.229.50)
2021-10-08 23:26:36 +0200 <a6a45081-2b83> one more thing, is there a way to put conditional breakpoints, from the reference it doesn't seem like
2021-10-08 23:26:50 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37) (Read error: Connection reset by peer)
2021-10-08 23:27:13 +0200 <monochrom> Oh haha "We originally provided bindings for all variables in scope, rather than just the free variables of the expression, but found that this affected performance considerably, hence the current restriction to just the free variables."
2021-10-08 23:29:34 +0200ss4(~wootehfoo@user/wootehfoot)
2021-10-08 23:30:38 +0200 <Franciman> coffee7: I liked these ones: https://hackage.haskell.org/package/gnuplot https://hackage.haskell.org/package/dynamic-plot-0.4.1.0/docs/Graphics-Dynamic-Plot-R2.html
2021-10-08 23:30:43 +0200 <Franciman> and easy plot
2021-10-08 23:30:51 +0200bdaed(~bdaed@185.234.208.208.r.toneticgroup.pl)
2021-10-08 23:30:56 +0200emf(~emf@2620:10d:c090:400::5:3586) (Ping timeout: 245 seconds)
2021-10-08 23:31:21 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 245 seconds)
2021-10-08 23:31:49 +0200emf(~emf@2620:10d:c090:400::5:3586)
2021-10-08 23:33:55 +0200jtomas(~jtomas@95.red-88-11-64.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
2021-10-08 23:36:28 +0200Pickchea(~private@user/pickchea)
2021-10-08 23:36:47 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 265 seconds)
2021-10-08 23:36:48 +0200 <a6a45081-2b83> this makes me a little annoyed that they removed it :(
2021-10-08 23:39:54 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 245 seconds)
2021-10-08 23:41:32 +0200p3n(~p3n@217.198.124.246) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-08 23:41:39 +0200tabaqui(~root@46.39.45.162)
2021-10-08 23:42:04 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37)
2021-10-08 23:43:09 +0200w-spc-gir(~w-spc-gir@2600:380:4726:be29:5ddc:ae64:ed97:ac37) (Read error: Connection reset by peer)
2021-10-08 23:46:00 +0200alzgh(~alzgh@user/alzgh) (Remote host closed the connection)
2021-10-08 23:46:03 +0200barzo(~barzo@31.177.222.75) (Remote host closed the connection)
2021-10-08 23:46:04 +0200p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1)
2021-10-08 23:46:19 +0200alzgh(~alzgh@user/alzgh)
2021-10-08 23:46:57 +0200barzo(~barzo@31.177.222.75)
2021-10-08 23:46:58 +0200rtjure(~rtjure@bras-79-132-17-74.comnet.bg) (Quit: Leaving)
2021-10-08 23:47:05 +0200barzo(~barzo@31.177.222.75) ()
2021-10-08 23:48:01 +0200sugar(~sugar@bras-base-hmtnon1497w-grc-21-70-26-153-130.dsl.bell.ca) (Quit: Client closed)
2021-10-08 23:49:00 +0200fendor(~fendor@178.115.75.223.wireless.dyn.drei.com) (Remote host closed the connection)
2021-10-08 23:49:02 +0200libertyprime(~libertypr@118.149.75.78)
2021-10-08 23:49:20 +0200 <coffee7> Franciman: will try easy plot. Thanks for your opinion.
2021-10-08 23:49:25 +0200jumper149(~jumper149@80.240.31.34) (Quit: WeeChat 3.2.1)
2021-10-08 23:49:50 +0200 <Franciman> hey, no prob. good luck!
2021-10-08 23:52:10 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se) (Remote host closed the connection)
2021-10-08 23:52:23 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se)
2021-10-08 23:54:31 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net) (Remote host closed the connection)
2021-10-08 23:56:58 +0200ocramz_(~user@c80-216-51-213.bredband.tele2.se) (Ping timeout: 252 seconds)
2021-10-08 23:57:26 +0200bdaed(~bdaed@185.234.208.208.r.toneticgroup.pl) (Quit: Lost terminal)
2021-10-08 23:58:32 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-10-08 23:59:29 +0200vicfred(~vicfred@user/vicfred) (Ping timeout: 245 seconds)
2021-10-08 23:59:44 +0200w-spc-gir(~w-spc-gir@2601:205:4000:dd60:bc3a:4a61:1dc8:3137)