2024/06/29

2024-06-29 00:02:14 +0200mreh(~matthew@host86-160-168-12.range86-160.btcentralplus.com) (Ping timeout: 252 seconds)
2024-06-29 00:07:23 +0200Pixi(~Pixi@user/pixi)
2024-06-29 00:11:34 +0200target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2024-06-29 00:12:49 +0200pavonia(~user@user/siracusa)
2024-06-29 00:14:15 +0200mikess(~mikess@user/mikess) (Ping timeout: 255 seconds)
2024-06-29 00:22:03 +0200mikess(~mikess@user/mikess)
2024-06-29 00:25:47 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2024-06-29 00:30:47 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-06-29 00:31:37 +0200mikess(~mikess@user/mikess) (Ping timeout: 268 seconds)
2024-06-29 00:48:09 +0200zzz(~yin@user/zero) (Ping timeout: 256 seconds)
2024-06-29 00:48:37 +0200joeyadams(~joeyadams@2603:6010:5100:2ed:8ec3:58dc:1906:fdfb)
2024-06-29 00:54:59 +0200zzz(~yin@user/zero)
2024-06-29 00:56:17 +0200acidjnk_new3(~acidjnk@p200300d6e714dc15096bb9c652d485a4.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2024-06-29 01:09:43 +0200mikess(~mikess@user/mikess)
2024-06-29 01:16:47 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-06-29 01:21:16 +0200sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 268 seconds)
2024-06-29 01:24:13 +0200 <monochrom> Oh noes, it's tau day! I forgot.
2024-06-29 01:24:34 +0200 <monochrom> But I ate a cookie, so that's fine. :)
2024-06-29 01:25:20 +0200 <monochrom> wine glass is also circular so that's also fine :)
2024-06-29 01:26:23 +0200geekosaursends monochrom an egg yolk and a lentil
2024-06-29 01:40:17 +0200philopsos1(~caecilius@user/philopsos) (Ping timeout: 256 seconds)
2024-06-29 01:42:53 +0200ystael(~ystael@user/ystael) (Ping timeout: 252 seconds)
2024-06-29 02:00:59 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-06-29 02:02:49 +0200sgarcia(sgarcia@swarm.znchost.com) (Quit: Hosted by www.ZNCHost.com)
2024-06-29 02:40:47 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2024-06-29 02:51:14 +0200haskellbridge(~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection)
2024-06-29 02:58:09 +0200haskellbridge(~hackager@syn-024-093-192-219.res.spectrum.com)
2024-06-29 02:58:09 +0200ChanServ+v haskellbridge
2024-06-29 03:07:16 +0200DreamDeckup(~DreamDeck@184.145.181.233) (Ping timeout: 246 seconds)
2024-06-29 03:07:34 +0200DreamDeckup(~DreamDeck@194.127.199.91)
2024-06-29 03:16:22 +0200 <glguy> andrea_r: seems like you're using alloca incorrectly
2024-06-29 03:17:56 +0200 <glguy> You shouldn't be peeking it before poking it, and the pointer isn't valid that it passes to the continuation once the continuation returns
2024-06-29 03:19:45 +0200 <glguy> You need malloc instead of alloca
2024-06-29 03:20:17 +0200 <glguy> Specifically you can use: new :: Storable a => a -> IO (Ptr a)
2024-06-29 03:31:16 +0200danza(~francesco@151.46.223.232)
2024-06-29 03:32:15 +0200phma(phma@2001:5b0:211c:3a08:71e1:2206:9a0a:f676) (Read error: Connection reset by peer)
2024-06-29 03:32:40 +0200phma(phma@2001:5b0:211c:3a08:71e1:2206:9a0a:f676)
2024-06-29 03:41:23 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-06-29 03:44:00 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
2024-06-29 03:53:03 +0200nitrix(~nitrix@user/meow/nitrix) (Quit: ZNC 1.8.2 - https://znc.in)
2024-06-29 03:54:41 +0200nitrix(~nitrix@user/meow/nitrix)
2024-06-29 03:56:50 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-06-29 04:00:35 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2024-06-29 04:01:27 +0200danza_(~francesco@151.44.142.105)
2024-06-29 04:01:39 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2024-06-29 04:02:03 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 264 seconds)
2024-06-29 04:03:03 +0200petrichor(~znc-user@user/petrichor) (Quit: ZNC 1.8.2 - https://znc.in)
2024-06-29 04:03:58 +0200danza(~francesco@151.46.223.232) (Ping timeout: 246 seconds)
2024-06-29 04:04:22 +0200petrichor(~znc-user@user/petrichor)
2024-06-29 04:46:05 +0200td_(~td@i53870939.versanet.de) (Ping timeout: 240 seconds)
2024-06-29 04:48:07 +0200td_(~td@i5387091C.versanet.de)
2024-06-29 05:02:03 +0200zzz(~yin@user/zero) (Ping timeout: 264 seconds)
2024-06-29 05:08:26 +0200zzz(~yin@user/zero)
2024-06-29 05:16:17 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-06-29 05:17:18 +0200euleritian(~euleritia@dynamic-176-007-199-084.176.7.pool.telefonica.de)
2024-06-29 05:17:44 +0200 <glguy> andrea_r: even fixing those mistakes I still get the crash on 9.8 but not 9.10
2024-06-29 05:18:52 +0200zzz(~yin@user/zero) (Ping timeout: 246 seconds)
2024-06-29 05:26:02 +0200zzz(~yin@user/zero)
2024-06-29 05:32:45 +0200abrantesasf(~abrantesa@179.217.48.72)
2024-06-29 05:37:33 +0200DreamDeckup(~DreamDeck@194.127.199.91) (Read error: Connection reset by peer)
2024-06-29 05:43:37 +0200aaronv(~aaronv@user/aaronv)
2024-06-29 05:50:08 +0200gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-06-29 05:50:53 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-06-29 06:01:30 +0200Goodbye_Vincent(cyvahl@freakshells.net) (Quit: )
2024-06-29 06:02:09 +0200Pixi(~Pixi@user/pixi) (Read error: Connection reset by peer)
2024-06-29 06:02:39 +0200zzz(~yin@user/zero) (Ping timeout: 264 seconds)
2024-06-29 06:03:48 +0200Pixi(~Pixi@user/pixi)
2024-06-29 06:05:03 +0200abrantesasf(~abrantesa@179.217.48.72) (Remote host closed the connection)
2024-06-29 06:08:24 +0200joeyadams(~joeyadams@2603:6010:5100:2ed:8ec3:58dc:1906:fdfb) (Quit: Leaving)
2024-06-29 06:09:02 +0200zzz(~yin@user/zero)
2024-06-29 06:16:20 +0200euleritian(~euleritia@dynamic-176-007-199-084.176.7.pool.telefonica.de) (Ping timeout: 268 seconds)
2024-06-29 06:23:25 +0200euleritian(~euleritia@dynamic-176-004-188-141.176.4.pool.telefonica.de)
2024-06-29 06:28:57 +0200rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-05-70-51-80-57.dsl.bell.ca)
2024-06-29 06:30:56 +0200euleritian(~euleritia@dynamic-176-004-188-141.176.4.pool.telefonica.de) (Read error: Connection reset by peer)
2024-06-29 06:31:14 +0200euleritian(~euleritia@77.22.252.56)
2024-06-29 06:32:11 +0200zzz(~yin@user/zero) (Ping timeout: 252 seconds)
2024-06-29 06:36:16 +0200Goodbye_Vincent(cyvahl@freakshells.net)
2024-06-29 06:37:44 +0200 <cheater> how would you encode: function f takes a type a and returns another value of type a that is larger than the parameter (larger meaning that all the values held inside the parameter are also held in the return value)
2024-06-29 06:38:06 +0200rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-05-70-51-80-57.dsl.bell.ca) (Ping timeout: 255 seconds)
2024-06-29 06:38:51 +0200zzz(~yin@user/zero)
2024-06-29 06:46:29 +0200 <c_wraith> It's either trivial due to parametricity, or an ad-hoc mess that can be anything.
2024-06-29 06:48:24 +0200danza_(~francesco@151.44.142.105) (Ping timeout: 268 seconds)
2024-06-29 06:54:08 +0200danza_(~francesco@151.44.142.105)
2024-06-29 06:55:11 +0200zzz(~yin@user/zero) (Ping timeout: 268 seconds)
2024-06-29 06:56:59 +0200 <danza_> or a function that was previously partially applied
2024-06-29 07:01:32 +0200zzz(~yin@user/zero)
2024-06-29 07:02:38 +0200tabemann__(~tabemann@2600:1700:7990:24e0:fc27:3b97:9d0e:b091) (Remote host closed the connection)
2024-06-29 07:03:09 +0200tabemann__(~tabemann@2600:1700:7990:24e0:2727:c00:50bb:6a1f)
2024-06-29 07:06:56 +0200 <cheater> are y'all talking to me
2024-06-29 07:07:18 +0200 <cheater> i'm talking about a function f :: a -> a
2024-06-29 07:07:41 +0200 <cheater> but i want to enhance the type to explain that if f x = y where y = ..., then y `largerThan` x for a specific largerThan
2024-06-29 07:07:54 +0200 <cheater> or something else to that effect
2024-06-29 07:10:08 +0200tomku(~tomku@syn-141-126-184-057.res.spectrum.com) (Ping timeout: 252 seconds)
2024-06-29 07:12:06 +0200 <c_wraith> Do you want to choose a type that actually says what you mean?
2024-06-29 07:12:26 +0200 <c_wraith> Like... do you mean something more like f :: A -> A?
2024-06-29 07:14:34 +0200 <c_wraith> (capitalization matters. If you're actually talking about some concrete but opaque type, use capital letters)
2024-06-29 07:15:06 +0200 <danza_> nah it sounds more like the untyped behaviour is the topic, but the question is not really clear. That `largerThan`, for instance, seems like it would be an argument to `f`
2024-06-29 07:16:38 +0200harveypwca(~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288)
2024-06-29 07:17:59 +0200chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2024-06-29 07:19:01 +0200chiselfuse(~chiselfus@user/chiselfuse)
2024-06-29 07:19:45 +0200 <c_wraith> Or maybe you want f :: LargerThan a b => a -> b
2024-06-29 07:26:39 +0200erty(~user@user/aeroplane) (Ping timeout: 264 seconds)
2024-06-29 07:30:49 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-06-29 07:30:59 +0200wbooze(~wbooze@2a02:908:1244:9a20:b98a:b09d:31d2:62c5) (Remote host closed the connection)
2024-06-29 07:36:46 +0200wagle(~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
2024-06-29 07:37:39 +0200wagle(~wagle@quassel.wagle.io)
2024-06-29 07:48:26 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-29 07:57:15 +0200acidjnk_new3(~acidjnk@p200300d6e714dc649d6268bc0b57d2a1.dip0.t-ipconnect.de)
2024-06-29 07:57:21 +0200euphores(~SASL_euph@user/euphores)
2024-06-29 08:01:39 +0200danza__(~francesco@151.44.205.235)
2024-06-29 08:04:02 +0200danza_(~francesco@151.44.142.105) (Ping timeout: 252 seconds)
2024-06-29 08:24:19 +0200danza__(~francesco@151.44.205.235) (Ping timeout: 256 seconds)
2024-06-29 08:25:13 +0200danza__(~francesco@151.44.205.235)
2024-06-29 08:29:40 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2024-06-29 08:30:36 +0200danza__(~francesco@151.44.205.235) (Ping timeout: 255 seconds)
2024-06-29 08:32:00 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 268 seconds)
2024-06-29 08:35:05 +0200zzz(~yin@user/zero) (Ping timeout: 268 seconds)
2024-06-29 08:41:29 +0200zzz(~yin@user/zero)
2024-06-29 08:49:11 +0200zzz(~yin@user/zero) (Ping timeout: 264 seconds)
2024-06-29 08:55:11 +0200euleritian(~euleritia@77.22.252.56) (Read error: Connection reset by peer)
2024-06-29 08:55:23 +0200euleritian(~euleritia@77.22.252.56)
2024-06-29 08:56:01 +0200zzz(~yin@user/zero)
2024-06-29 08:57:24 +0200euleritian(~euleritia@77.22.252.56) (Read error: Connection reset by peer)
2024-06-29 08:57:48 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-06-29 08:57:58 +0200mikess(~mikess@user/mikess) (Ping timeout: 246 seconds)
2024-06-29 09:02:02 +0200harveypwca(~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) (Quit: Leaving)
2024-06-29 09:22:00 +0200target_i(~target_i@user/target-i/x-6023099)
2024-06-29 09:22:33 +0200poscat(~poscat@user/poscat) (Quit: Bye)
2024-06-29 09:22:53 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 240 seconds)
2024-06-29 09:26:50 +0200poscat(~poscat@user/poscat)
2024-06-29 09:32:01 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-06-29 10:01:29 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-29 10:07:10 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
2024-06-29 10:13:06 +0200gmg(~user@user/gehmehgeh)
2024-06-29 10:16:02 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-06-29 10:16:13 +0200euleritian(~euleritia@dynamic-176-004-183-092.176.4.pool.telefonica.de)
2024-06-29 10:17:09 +0200rvalue-(~rvalue@user/rvalue)
2024-06-29 10:17:59 +0200ft(~ft@p4fc2ab80.dip0.t-ipconnect.de) (Remote host closed the connection)
2024-06-29 10:18:41 +0200rvalue(~rvalue@user/rvalue) (Ping timeout: 268 seconds)
2024-06-29 10:21:10 +0200rvalue-rvalue
2024-06-29 10:22:49 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-06-29 10:24:10 +0200Nixkernal(~Nixkernal@240.17.194.178.dynamic.cust.swisscom.net)
2024-06-29 10:46:40 +0200 <probie> cheater: Not Haskell, but in a dependently typed language you can have a type like (using Coq's syntax) `forall (x: nat), { y: nat | x < y }` (a function which takes a nat, and returns a pair containing a nat and a proof that the returned nat is bigger than the input)
2024-06-29 10:50:36 +0200 <geekosaur> I was thinking liquid haskell might be able to do it
2024-06-29 10:57:13 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-29 10:57:19 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 246 seconds)
2024-06-29 11:14:06 +0200lxsameer(~lxsameer@Serene/lxsameer)
2024-06-29 11:15:56 +0200zzz(~yin@user/zero) (Ping timeout: 256 seconds)
2024-06-29 11:22:44 +0200zzz(~yin@user/zero)
2024-06-29 11:23:54 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-29 11:31:03 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-06-29 11:31:26 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds)
2024-06-29 11:31:27 +0200bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2024-06-29 11:35:49 +0200__monty__(~toonn@user/toonn)
2024-06-29 11:42:16 +0200danza__(~francesco@151.44.205.235)
2024-06-29 11:42:34 +0200soverysour(~soverysou@user/soverysour)
2024-06-29 11:50:49 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-29 11:53:17 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 240 seconds)
2024-06-29 11:56:45 +0200KaitoDaumoto(~asdf@user/kaitodaumoto)
2024-06-29 12:01:45 +0200danza_(~francesco@na-19-73-233.service.infuturo.it)
2024-06-29 12:03:52 +0200danza__(~francesco@151.44.205.235) (Read error: Connection reset by peer)
2024-06-29 12:07:40 +0200euleritian(~euleritia@dynamic-176-004-183-092.176.4.pool.telefonica.de) (Ping timeout: 246 seconds)
2024-06-29 12:09:14 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-06-29 12:13:49 +0200mreh(~matthew@host86-160-168-12.range86-160.btcentralplus.com)
2024-06-29 12:20:23 +0200sawilagar(~sawilagar@user/sawilagar)
2024-06-29 12:25:54 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-29 12:37:11 +0200 <cheater> what about using type level lists
2024-06-29 12:37:13 +0200 <cheater> could that do that
2024-06-29 12:38:11 +0200 <cheater> ] <c_wraith> Like... do you mean something more like f :: A -> A? <<< well i mean we start with something that just takes the same type and returns it, and then, yeah, we find a type signature that also encodes the property i'm talking about
2024-06-29 12:38:39 +0200 <cheater> but yeah, probably start with f :: A -> A, i was just trying to say "the input type and output type are the same (ish) "
2024-06-29 12:38:48 +0200 <cheater> i don't necessarily need it to be polymorphic
2024-06-29 12:39:51 +0200 <cheater> <c_wraith> Or maybe you want f :: LargerThan a b => a -> b <<< i was thinking about that, but how would i implement LargerThan?
2024-06-29 12:44:09 +0200 <mreh> @paste
2024-06-29 12:44:09 +0200 <lambdabot> A pastebin: https://paste.debian.net/
2024-06-29 12:45:40 +0200 <danza_> it sounded like you needed at least a `largerThan` passed as an arg to the function, because you want it to return a different value in a way that's controlled by f
2024-06-29 12:47:10 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2024-06-29 12:49:05 +0200 <mreh> Am I mistaken in thinking `Symbol` and `Type` are different kinds? https://paste.debian.net/1321825/
2024-06-29 12:50:04 +0200 <mreh> Or can GHC not infer kinds from signatures like it can for type signatures
2024-06-29 12:53:48 +0200 <mreh> full code with better highlighting https://paste.debian.net/1321828/
2024-06-29 12:54:15 +0200euleritian(~euleritia@dynamic-176-001-128-156.176.1.pool.telefonica.de)
2024-06-29 12:58:18 +0200 <mreh> given the instance head has to match the indexed type, why do I still need to supply a kind signature I guess is my question
2024-06-29 12:58:21 +0200 <danza_> huh...
2024-06-29 12:58:26 +0200 <danza_> > :k Type
2024-06-29 12:58:28 +0200 <lambdabot> <hint>:1:1: error: parse error on input ‘:’
2024-06-29 12:58:38 +0200 <danza_> % :k Type
2024-06-29 12:58:38 +0200 <yahb2> <interactive>:1:1: error: ; Not in scope: type constructor or class ‘Type’
2024-06-29 12:58:43 +0200euleritian(~euleritia@dynamic-176-001-128-156.176.1.pool.telefonica.de) (Ping timeout: 268 seconds)
2024-06-29 12:59:11 +0200 <danza_> @hoogle Type
2024-06-29 12:59:11 +0200 <lambdabot> Data.Kind type Type = Type
2024-06-29 12:59:11 +0200 <lambdabot> module GHC.Exception.Type
2024-06-29 12:59:11 +0200 <lambdabot> GHC.Exts data TYPE (a :: RuntimeRep)
2024-06-29 12:59:22 +0200 <danza_> % import Data.Kind
2024-06-29 12:59:22 +0200 <yahb2> <no output>
2024-06-29 12:59:26 +0200 <danza_> % :k Type
2024-06-29 12:59:27 +0200 <yahb2> Type :: *
2024-06-29 12:59:33 +0200 <danza_> % :k Symbol
2024-06-29 12:59:34 +0200 <yahb2> <interactive>:1:1: error: ; Not in scope: type constructor or class ‘Symbol’
2024-06-29 12:59:41 +0200 <danza_> @hoogle Symbol
2024-06-29 12:59:42 +0200 <lambdabot> Text.Read Symbol :: String -> Lexeme
2024-06-29 12:59:42 +0200 <lambdabot> Text.Read.Lex Symbol :: String -> Lexeme
2024-06-29 12:59:42 +0200 <lambdabot> GHC.TypeLits data Symbol
2024-06-29 12:59:43 +0200 <mreh> GHC.TypeLits.Symbol
2024-06-29 12:59:49 +0200zzz(~yin@user/zero) (Ping timeout: 246 seconds)
2024-06-29 13:00:06 +0200 <danza_> % import GHC.TypeLits.Symbol
2024-06-29 13:00:06 +0200 <yahb2> <no location info>: error: ; Could not find module ‘GHC.TypeLits.Symbol’ ; It is not a module in the current program, or in any known package.
2024-06-29 13:00:10 +0200 <danza_> % import GHC.TypeLits
2024-06-29 13:00:10 +0200 <yahb2> <no output>
2024-06-29 13:00:13 +0200 <danza_> % :k Symbol
2024-06-29 13:00:13 +0200 <yahb2> Symbol :: *
2024-06-29 13:00:20 +0200 <danza_> yeah same kind
2024-06-29 13:01:16 +0200 <mreh> Those are terms though. I'm using them promotoed to the type level I thought.
2024-06-29 13:01:50 +0200 <mreh> Maybe I'm misunderstanding something. *goes to the back of the class*
2024-06-29 13:01:53 +0200 <danza_> you mean `Type` and `Symbol` are terms?
2024-06-29 13:03:07 +0200 <mreh> yeah https://hackage.haskell.org/package/ghc-prim-0.11.0/docs/src/GHC.Types.html#Symbol
2024-06-29 13:03:29 +0200 <mreh> hmm. maybe not
2024-06-29 13:03:59 +0200 <danza_> huh isn't that a different module anyway?
2024-06-29 13:04:41 +0200 <danza_> but may be exported through TypeLits, i don't know
2024-06-29 13:06:46 +0200zzz(~yin@user/zero)
2024-06-29 13:19:43 +0200rosco(~rosco@175.136.155.137)
2024-06-29 13:23:38 +0200emm(~emm@user/edmeme)
2024-06-29 13:31:44 +0200wbooze(~wbooze@2a02:908:1244:9a20:dc6b:1b70:a3f1:ce01)
2024-06-29 13:32:49 +0200madhavanmiui(~madhavanm@2409:40f4:1035:24a8:8000::)
2024-06-29 13:34:23 +0200madhavanmiui(~madhavanm@2409:40f4:1035:24a8:8000::) (Client Quit)
2024-06-29 13:44:52 +0200wbooze(~wbooze@2a02:908:1244:9a20:dc6b:1b70:a3f1:ce01) (Quit: Konversation terminated!)
2024-06-29 13:46:31 +0200wbooze(~wbooze@2a02:908:1244:9a20:dc6b:1b70:a3f1:ce01)
2024-06-29 13:48:49 +0200killy(~killy@staticline-31-183-161-180.toya.net.pl)
2024-06-29 13:50:55 +0200emm(~emm@user/edmeme) (Ping timeout: 246 seconds)
2024-06-29 14:06:15 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2024-06-29 14:06:51 +0200danza_(~francesco@na-19-73-233.service.infuturo.it) (Ping timeout: 268 seconds)
2024-06-29 14:13:30 +0200lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 255 seconds)
2024-06-29 14:18:53 +0200acidjnk_new3(~acidjnk@p200300d6e714dc649d6268bc0b57d2a1.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2024-06-29 14:45:48 +0200lxsameer(~lxsameer@Serene/lxsameer)
2024-06-29 14:47:33 +0200wbooze(~wbooze@2a02:908:1244:9a20:dc6b:1b70:a3f1:ce01) (Quit: Konversation terminated!)
2024-06-29 14:55:30 +0200wbooze(~wbooze@2a02:908:1244:9a20:7544:9b2d:46bd:449a)
2024-06-29 14:59:49 +0200nek0(~nek0@user/nek0) (Quit: The Lounge - https://thelounge.chat)
2024-06-29 15:18:32 +0200harveypwca(~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288)
2024-06-29 15:20:23 +0200RiXSon(~rixson@77-234-86-141.pool.digikabel.hu) (Ping timeout: 264 seconds)
2024-06-29 15:22:01 +0200RiXSon(~rixson@178-164-206-66.pool.digikabel.hu)
2024-06-29 15:25:52 +0200wbooze(~wbooze@2a02:908:1244:9a20:7544:9b2d:46bd:449a) (Quit: Konversation terminated!)
2024-06-29 15:33:05 +0200soverysour(~soverysou@81.196.150.219)
2024-06-29 15:33:05 +0200soverysour(~soverysou@81.196.150.219) (Changing host)
2024-06-29 15:33:05 +0200soverysour(~soverysou@user/soverysour)
2024-06-29 15:36:02 +0200cheater(~Username@user/cheater) (Ping timeout: 256 seconds)
2024-06-29 15:36:33 +0200madeleine-sydney(~madeleine@c-71-229-185-228.hsd1.co.comcast.net)
2024-06-29 15:37:49 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 268 seconds)
2024-06-29 15:38:42 +0200madeleine-sydney(~madeleine@c-71-229-185-228.hsd1.co.comcast.net) (Remote host closed the connection)
2024-06-29 15:41:29 +0200ft(~ft@i5C743B07.versanet.de)
2024-06-29 15:43:06 +0200wbooze(~wbooze@2a02:908:1244:9a20:ac6f:59e0:9f9e:dd87)
2024-06-29 15:47:55 +0200rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-06-29 15:48:25 +0200rvalue(~rvalue@user/rvalue)
2024-06-29 15:49:10 +0200rosco(~rosco@175.136.155.137) (Quit: Lost terminal)
2024-06-29 15:51:55 +0200acidjnk_new3(~acidjnk@p200300d6e714dc64f17ffbaa6306596b.dip0.t-ipconnect.de)
2024-06-29 15:52:33 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-06-29 15:53:27 +0200Guest52(~Guest52@97-117-76-196.slkc.qwest.net)
2024-06-29 15:56:13 +0200 <Guest52> When using nonmoving-gc is it possible somehow at a specific point in my program to do a full gc more along the lines of a moving collection? A problem we are seeing is when using moving collection we see large pauses (latency) during gc. The nonmoving collector solves this, but the problem there is we are not seeing memory released at all with
2024-06-29 15:56:13 +0200 <Guest52> nonmoving on.
2024-06-29 16:20:35 +0200killy(~killy@staticline-31-183-161-180.toya.net.pl) (Quit: leaving)
2024-06-29 16:24:25 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-06-29 16:30:02 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-06-29 16:42:50 +0200inedia(~irc@2600:3c00:e000:287::1) (Remote host closed the connection)
2024-06-29 16:45:36 +0200inedia(~irc@2600:3c00:e000:287::1)
2024-06-29 16:49:27 +0200 <xerox> is there somebody here that knows why stackage lost all of the links to all of the hoogle searches?
2024-06-29 17:00:26 +0200 <haskellbridge> <sm> got an example ?
2024-06-29 17:04:14 +0200madhavanmiui(~madhavanm@152.58.212.232)
2024-06-29 17:04:39 +0200madhavanmiui(~madhavanm@152.58.212.232) (Client Quit)
2024-06-29 17:08:43 +0200 <xerox> sm: any search on stackage.org
2024-06-29 17:09:32 +0200 <xerox> you can pick any set https://www.stackage.org/nightly-2024-06-28/hoogle?q=Data.Set https://www.stackage.org/lts-22.27/hoogle?q=Data.Set https://www.stackage.org/lts-22.20/hoogle?q=Data.Set
2024-06-29 17:27:16 +0200 <xerox> sm: curiously package pages are also devoid of links to the modules' docs https://www.stackage.org/lts-22.27/package/containers-0.6.7
2024-06-29 17:30:24 +0200wbooze(~wbooze@2a02:908:1244:9a20:ac6f:59e0:9f9e:dd87) (Quit: Konversation terminated!)
2024-06-29 17:32:23 +0200 <haskellbridge> <sm> ah, all stackage.org hoogle searches returning "The given Hoogle database is not available." eh. Seems like a recent outage
2024-06-29 17:32:31 +0200mikess(~mikess@user/mikess)
2024-06-29 17:32:50 +0200 <xerox> :/
2024-06-29 17:33:15 +0200 <haskellbridge> <sm> reported in the stackage room
2024-06-29 17:33:43 +0200 <xerox> is it on irc as well?
2024-06-29 17:37:56 +0200emm(~emm@user/edmeme)
2024-06-29 17:38:59 +0200destituion(~destituio@2a02:2121:6cb:fbc3:5940:6cf4:b639:63ef) (Ping timeout: 268 seconds)
2024-06-29 17:39:17 +0200joeyadams(~joeyadams@2603:6010:5100:2ed:9050:10e4:443d:2f1c)
2024-06-29 17:58:38 +0200 <zzz> if i use 'cabal install program', which directory would that program consider its root directory?
2024-06-29 17:59:34 +0200 <mreh> xerox: I thought we've not been able to search within snapshots for a while
2024-06-29 17:59:51 +0200 <mreh> consuming too much disk space or some such
2024-06-29 18:00:06 +0200 <xerox> mreh: does any other kind of search work?
2024-06-29 18:01:13 +0200 <EvanR> Guest52, did you try performMajorGC
2024-06-29 18:01:15 +0200 <mreh> hmm no, but it used to revert to the latest I thought
2024-06-29 18:01:28 +0200 <EvanR> or performBlockingMajorGC
2024-06-29 18:01:45 +0200 <EvanR> in System.Mem
2024-06-29 18:02:15 +0200 <xerox> when the default search box on the page doesn't work something's iffy
2024-06-29 18:02:18 +0200mreh(~matthew@host86-160-168-12.range86-160.btcentralplus.com) (Quit: leaving)
2024-06-29 18:02:41 +0200mreh(~matthew@host86-160-168-12.range86-160.btcentralplus.com)
2024-06-29 18:02:42 +0200 <zzz> i guess it's the cwd from where you launched it
2024-06-29 18:05:45 +0200 <haskellbridge> <sm> xerox: theres an irc channel.. but no, not really
2024-06-29 18:08:43 +0200 <mreh> looks like people have reported it in the past on github
2024-06-29 18:08:49 +0200 <mreh> https://github.com/commercialhaskell/stackage/issues/7314
2024-06-29 18:09:15 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-06-29 18:11:42 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
2024-06-29 18:12:11 +0200 <haskellbridge> <4d5a9000> hi... I'm new to Haskell, can I ask a question here?
2024-06-29 18:12:20 +0200 <xerox> please do
2024-06-29 18:12:30 +0200 <haskellbridge> <4d5a9000> ghci> succ()
2024-06-29 18:12:30 +0200 <haskellbridge> *** Exception: Prelude.Enum.().succ: bad argumentWhy does this cause a runtime exception instead of a type error?
2024-06-29 18:12:49 +0200 <xerox> mreh: that gives some hope that's a faily mechanical fix :)
2024-06-29 18:13:05 +0200 <mreh> It still might not help you since this: https://github.com/commercialhaskell/stackage-server/issues/305
2024-06-29 18:13:19 +0200 <mreh> they only support searching in one LTS and one Nightly
2024-06-29 18:14:00 +0200 <xerox> 4d5a9000: I think that's ()'s succ implementation
2024-06-29 18:14:14 +0200 <monochrom> What type error would it be?
2024-06-29 18:14:55 +0200 <mreh> > fromEnum ()
2024-06-29 18:14:57 +0200 <lambdabot> 0
2024-06-29 18:15:05 +0200 <haskellbridge> <4d5a9000> monochrom something likeghci> succ(1,2)
2024-06-29 18:15:05 +0200 <haskellbridge> ... long message truncated: https://kf8nh.com/_matrix/media/v3/download/kf8nh.com/fqYbOiweVCIfgxInGNBIjgNu (6 lines)
2024-06-29 18:15:43 +0200 <mreh> kinda weird () has an Enum instance
2024-06-29 18:15:56 +0200 <xerox> https://hackage.haskell.org/package/ghc-internal-9.1001.0/docs/src/GHC.Internal.Enum.html it's in here
2024-06-29 18:16:12 +0200 <mauke> > [() .. ()]
2024-06-29 18:16:14 +0200 <lambdabot> [()]
2024-06-29 18:16:23 +0200 <mreh> it's not superficially very useful
2024-06-29 18:16:29 +0200 <mauke> I mean, technically () is an enum type with one element
2024-06-29 18:16:55 +0200 <mreh> > toEnum 2 :: Bool
2024-06-29 18:16:56 +0200 <lambdabot> *Exception: Prelude.Enum.Bool.toEnum: bad argument
2024-06-29 18:17:19 +0200 <joeyadams> That should return FileNotFound.
2024-06-29 18:17:21 +0200 <mauke> > toEnum maxBound :: Integer
2024-06-29 18:17:22 +0200 <lambdabot> 9223372036854775807
2024-06-29 18:17:37 +0200 <mreh> > succ maxBound :: Int
2024-06-29 18:17:38 +0200 <lambdabot> *Exception: Prelude.Enum.succ{Int}: tried to take `succ' of maxBound
2024-06-29 18:17:55 +0200 <mreh> lol
2024-06-29 18:18:19 +0200 <haskellbridge> <4d5a9000> Well that's weird but I'll just take it
2024-06-29 18:18:38 +0200 <mauke> > succ 3.14
2024-06-29 18:18:38 +0200euphores(~SASL_euph@user/euphores) (Read error: Connection reset by peer)
2024-06-29 18:18:39 +0200 <lambdabot> 4.140000000000001
2024-06-29 18:18:43 +0200 <xerox> 4d5a9000 keep in mind that parens are not function application syntax here, () is the one element of the () type (called "unit"), and (1,2) is a tuple
2024-06-29 18:18:44 +0200 <mauke> ... I guess
2024-06-29 18:18:47 +0200 <mreh> Whoever wrte Enum didn't want () to feel left out
2024-06-29 18:19:22 +0200 <mreh> mauke: haha, that one is amusing
2024-06-29 18:20:12 +0200 <mreh> > toEnum 3.141
2024-06-29 18:20:13 +0200 <lambdabot> error:
2024-06-29 18:20:14 +0200 <lambdabot> • Could not deduce (Fractional Int)
2024-06-29 18:20:14 +0200 <lambdabot> arising from the literal ‘3.141’
2024-06-29 18:20:39 +0200 <mreh> whoops
2024-06-29 18:20:50 +0200 <mreh> > fromEnum 3.141
2024-06-29 18:20:52 +0200 <lambdabot> 3
2024-06-29 18:21:17 +0200 <haskellbridge> <4d5a9000> xerox I know that, but it still seems weird for "succ ()" to pass the type check xD
2024-06-29 18:22:04 +0200 <xerox> I guess somebody with enough pull needed the Enum instance for … something, and it can't do much else
2024-06-29 18:22:20 +0200 <mauke> > [1.5 .. pi]
2024-06-29 18:22:22 +0200 <lambdabot> [1.5,2.5,3.5]
2024-06-29 18:23:35 +0200Pixi(~Pixi@user/pixi) (Quit: Leaving)
2024-06-29 18:23:40 +0200 <mreh> I can't think of an example where `succ` is total
2024-06-29 18:23:49 +0200 <mreh> why should () not have an Enum instance
2024-06-29 18:24:01 +0200 <Leary> I doubt it's there because someone needed it. Instances are written when they morally should exist. () is enumerable, so it has Enum. That's it.
2024-06-29 18:24:13 +0200 <mreh> exactly
2024-06-29 18:26:02 +0200 <haskellbridge> <4d5a9000> Also why does "length(repeat(succ()))" not throw an exception, and will just run forever?
2024-06-29 18:26:23 +0200 <xerox> > length (repeat undefined)
2024-06-29 18:26:32 +0200 <lambdabot> mueval.real: ExitFailure 1
2024-06-29 18:26:48 +0200 <xerox> length doesn't evaluate the elements in the list, only the spine that repeat keeps producing
2024-06-29 18:27:20 +0200 <mreh> 4d5a9000: laziness
2024-06-29 18:27:24 +0200 <mauke> > error "oops"
2024-06-29 18:27:25 +0200 <lambdabot> *Exception: oops
2024-06-29 18:27:31 +0200 <mauke> > let x = error "oops" in length [x, x]
2024-06-29 18:27:32 +0200 <lambdabot> 2
2024-06-29 18:28:06 +0200 <mauke> mreh: Integer.succ is probably total
2024-06-29 18:28:21 +0200 <mreh> > succ maxBound :: Integer
2024-06-29 18:28:23 +0200 <lambdabot> error:
2024-06-29 18:28:23 +0200 <lambdabot> • No instance for (Bounded Integer)
2024-06-29 18:28:23 +0200 <lambdabot> arising from a use of ‘maxBound’
2024-06-29 18:28:24 +0200 <mauke> inb4 most-positive-bignum
2024-06-29 18:28:43 +0200 <mreh> no max bound?!
2024-06-29 18:28:49 +0200 <mauke> unboundled
2024-06-29 18:29:03 +0200 <c_wraith> technically, there's a max bound of around 2^(2^64)
2024-06-29 18:29:14 +0200 <c_wraith> but you don't have that much RAM
2024-06-29 18:29:18 +0200euphores(~SASL_euph@user/euphores)
2024-06-29 18:29:45 +0200 <monochrom> When I was a kid, I conflated "largest" with "largest expressible under a language", so I thought the largest number was something like 999 billion 999 million ...
2024-06-29 18:29:58 +0200 <haskellbridge> <4d5a9000> That's 16 exabytes of RAM
2024-06-29 18:30:20 +0200 <c_wraith> And that max bound is only an implementation detail
2024-06-29 18:30:28 +0200 <c_wraith> whenever we get 128-bit GHC, it'll go up. :)
2024-06-29 18:30:34 +0200 <monochrom> :)
2024-06-29 18:30:41 +0200 <monochrom> \∩/ 128-bit GHC
2024-06-29 18:30:48 +0200 <mreh> okay, that's one `succ` that's total
2024-06-29 18:32:24 +0200 <mauke> https://www.jwz.org/blog/2008/03/most-positive-bignum/
2024-06-29 18:34:23 +0200 <monochrom> Haha bit-level hacks in Lisp?!
2024-06-29 18:35:07 +0200 <monochrom> And here we say/scaremonger that such hacks are UB in C.
2024-06-29 18:35:23 +0200 <dolio> monochrom: Everyone knows 24 is the highest number.
2024-06-29 18:36:19 +0200 <monochrom> Wait, why is 24 the highest number?
2024-06-29 18:36:33 +0200 <dolio> https://www.youtube.com/watch?v=9P2ROAbQZYw
2024-06-29 18:38:11 +0200 <monochrom> haha OK
2024-06-29 18:44:42 +0200cheater(~Username@user/cheater)
2024-06-29 18:45:04 +0200Pixi(~Pixi@user/pixi)
2024-06-29 18:46:55 +0200Sgeo(~Sgeo@user/sgeo)
2024-06-29 18:58:32 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 268 seconds)
2024-06-29 19:05:36 +0200bolivood(~bolivood@user/bolivood)
2024-06-29 19:09:29 +0200phma(phma@2001:5b0:211c:3a08:71e1:2206:9a0a:f676) (Read error: Connection reset by peer)
2024-06-29 19:10:09 +0200phma(~phma@host-67-44-208-9.hnremote.net)
2024-06-29 19:27:06 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-06-29 19:30:55 +0200aaronv(~aaronv@user/aaronv)
2024-06-29 19:35:57 +0200 <EvanR> I thought 420 was the highest
2024-06-29 19:50:13 +0200harveypwca(~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) (Quit: Leaving)
2024-06-29 19:52:53 +0200euleritian(~euleritia@dynamic-176-001-133-228.176.1.pool.telefonica.de)
2024-06-29 19:54:17 +0200EvanR(~EvanR@user/evanr) (Quit: Leaving)
2024-06-29 19:54:43 +0200bolivood(~bolivood@user/bolivood) (Quit: Leaving)
2024-06-29 19:56:29 +0200soverysour(~soverysou@user/soverysour)
2024-06-29 20:14:44 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2024-06-29 20:14:59 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds)
2024-06-29 20:16:05 +0200Lord_of_Life_Lord_of_Life
2024-06-29 20:35:44 +0200pavonia(~user@user/siracusa)
2024-06-29 20:43:22 +0200alexherbo2(~alexherbo@2a02-8440-3216-58a7-4198-eabe-8a40-71c0.rev.sfr.net)
2024-06-29 20:43:31 +0200joeyadams(~joeyadams@2603:6010:5100:2ed:9050:10e4:443d:2f1c) (Quit: Leaving)
2024-06-29 20:45:13 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 268 seconds)
2024-06-29 20:49:25 +0200aaronv(~aaronv@user/aaronv)
2024-06-29 20:51:26 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-06-29 20:55:25 +0200destituion(~destituio@2a02:2121:6cb:fbc3:5940:6cf4:b639:63ef)
2024-06-29 20:56:25 +0200euphores(~SASL_euph@user/euphores)
2024-06-29 20:57:00 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2024-06-29 21:01:49 +0200soverysour(~soverysou@user/soverysour) (Ping timeout: 256 seconds)
2024-06-29 21:20:27 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2024-06-29 21:22:37 +0200madeleine-sydney(~madeleine@c-71-229-185-228.hsd1.co.comcast.net)
2024-06-29 21:25:02 +0200chiselfuse(~chiselfus@user/chiselfuse) (Ping timeout: 260 seconds)
2024-06-29 21:25:58 +0200bitdex_(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds)
2024-06-29 21:26:51 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-29 21:27:03 +0200chiselfuse(~chiselfus@user/chiselfuse)
2024-06-29 21:27:42 +0200bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2024-06-29 21:35:13 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-06-29 21:37:55 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
2024-06-29 21:45:35 +0200JimL(~quassel@89.162.16.26)
2024-06-29 21:48:59 +0200bitdex_(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2024-06-29 21:49:20 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2024-06-29 21:50:00 +0200bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2024-06-29 22:12:28 +0200robotsnowfall(~robotsnow@user/robotsnowfall)
2024-06-29 22:14:22 +0200madeleine-sydney(~madeleine@c-71-229-185-228.hsd1.co.comcast.net) (Remote host closed the connection)
2024-06-29 22:21:58 +0200robotsnowfall(~robotsnow@user/robotsnowfall) (Quit: ZNC 1.9.0 - https://znc.in)
2024-06-29 22:22:21 +0200robotsnowfall(~robotsnow@user/robotsnowfall)
2024-06-29 22:27:20 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-06-29 22:37:10 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-29 22:48:15 +0200gabiruh_(~gabiruh@vps19177.publiccloud.com.br) (Ping timeout: 264 seconds)
2024-06-29 22:49:10 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br)
2024-06-29 22:49:47 +0200lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 264 seconds)
2024-06-29 22:51:13 +0200noumenon(~noumenon@113.51-175-156.customer.lyse.net)
2024-06-29 22:55:50 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-29 23:10:34 +0200mikess(~mikess@user/mikess) (Ping timeout: 246 seconds)
2024-06-29 23:10:38 +0200 <haskellbridge> <zwro> > succ ()
2024-06-29 23:11:18 +0200 <zzz> > succ ()
2024-06-29 23:11:19 +0200 <lambdabot> *Exception: Prelude.Enum.().succ: bad argument
2024-06-29 23:11:29 +0200 <haskellbridge> <zwro> thanks
2024-06-29 23:12:57 +0200 <haskellbridge> <zwro> why this error? why not 'No instance for Enum () ...'
2024-06-29 23:13:09 +0200mikess(~mikess@user/mikess)
2024-06-29 23:13:37 +0200 <geekosaur> > enumFrom ()
2024-06-29 23:13:38 +0200 <lambdabot> [()]
2024-06-29 23:13:53 +0200 <geekosaur> some parts of `Enum` work, just not `succ`
2024-06-29 23:14:10 +0200 <zzz> oh damn
2024-06-29 23:14:22 +0200 <zzz> :i Enum
2024-06-29 23:14:34 +0200 <geekosaur> which is the same behavior you get if you derive `Enum` on a single-constructor data type
2024-06-29 23:14:47 +0200 <zzz> this is not good
2024-06-29 23:14:59 +0200 <geekosaur> also, ghci doesn't do :i
2024-06-29 23:15:00 +0200 <haskellbridge> <zwro> agree
2024-06-29 23:15:05 +0200 <geekosaur> %% :i ()
2024-06-29 23:15:06 +0200 <yahb2> https://paste.tomsmeding.com/ViUAlIlm
2024-06-29 23:15:37 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 272 seconds)
2024-06-29 23:15:57 +0200 <zzz> geekosaur: ghci doesn't do i?
2024-06-29 23:16:04 +0200 <zzz> i think it does
2024-06-29 23:16:09 +0200 <geekosaur> lambdabot isn't ghci
2024-06-29 23:16:25 +0200 <geekosaur> yahb is, which is why I directed it there
2024-06-29 23:16:26 +0200Guest52(~Guest52@97-117-76-196.slkc.qwest.net) (Quit: Client closed)
2024-06-29 23:18:31 +0200 <zzz> ah, you meant 'lambdabot doesn't do :i'
2024-06-29 23:18:34 +0200 <zzz> right
2024-06-29 23:18:59 +0200 <geekosaur> oh, sorry yes
2024-06-29 23:19:42 +0200 <geekosaur> I was halfweay between lambdabot (not ghci) and yahb2 (ghci) and got muddled because I've had maybe 4 hours of sleep 😞
2024-06-29 23:20:06 +0200 <zzz> so wait, when creating a class instance we don't need to satisfy {-# MINIMAL ... #-} ?
2024-06-29 23:20:46 +0200 <geekosaur> eh? the method exists, it just fails because there's no successor in a single-constructor type
2024-06-29 23:20:56 +0200 <geekosaur> > succ True
2024-06-29 23:20:57 +0200 <lambdabot> *Exception: Prelude.Enum.Bool.succ: bad argument
2024-06-29 23:21:02 +0200 <zzz> oh
2024-06-29 23:21:03 +0200 <geekosaur> same error
2024-06-29 23:21:11 +0200 <zzz> > succ False
2024-06-29 23:21:12 +0200 <lambdabot> True
2024-06-29 23:21:14 +0200 <zzz> i get it
2024-06-29 23:21:26 +0200 <zzz> succ is not total :(
2024-06-29 23:22:43 +0200 <zzz> hate the idea of deriving non-total functions
2024-06-29 23:23:09 +0200 <geekosaur> what's it supposed to do?
2024-06-29 23:23:20 +0200 <geekosaur> also I think the Report specifies this
2024-06-29 23:23:45 +0200 <geekosaur> and it's recoverable if you also derive Bounded
2024-06-29 23:23:54 +0200 <geekosaur> > maxBound :: ()
2024-06-29 23:23:56 +0200 <lambdabot> ()
2024-06-29 23:24:04 +0200 <zzz> succ :: Enum a -> a -> Maybe a ?
2024-06-29 23:24:18 +0200 <geekosaur> sadly that's not how the Report definees it
2024-06-29 23:24:21 +0200 <zzz> s/->/=>
2024-06-29 23:24:55 +0200 <zzz> sadly ye
2024-06-29 23:25:06 +0200 <zzz> i personally don't use succ
2024-06-29 23:26:09 +0200 <zzz> https://github.com/jrvieira/zero/blob/d5a6356bf1ee5deee254e5881823f3b38e324bf6/src/Zero.hs#L44-L56
2024-06-29 23:27:38 +0200 <geekosaur> https://www.haskell.org/onlinereport/haskell2010/haskellch6.html#dx13-131007
2024-06-29 23:27:57 +0200 <geekosaur> (I really wish they provided links to subsections)
2024-06-29 23:30:08 +0200 <zzz> i have a question
2024-06-29 23:30:22 +0200 <zzz> :t 99999999999999999999999999999999999999999999999999999999999999
2024-06-29 23:30:22 +0200 <geekosaur> it also opens a can of worms because you have to ask when it produces Nothing for non-derived instances witgh gaps
2024-06-29 23:30:23 +0200 <lambdabot> Num p => p
2024-06-29 23:30:37 +0200 <zzz> geekosaur: good point
2024-06-29 23:31:04 +0200 <zzz> in this case, what can p be other than Integer?
2024-06-29 23:31:13 +0200 <geekosaur> Scientific
2024-06-29 23:31:38 +0200 <geekosaur> https://hackage.haskell.org/package/scientific
2024-06-29 23:32:02 +0200 <geekosaur> it can also be Double, with some loss of precision (but that's expected for floating point)
2024-06-29 23:32:29 +0200 <geekosaur> also CReal from the numbers package
2024-06-29 23:32:40 +0200 <zzz> so literals still work like this even if no possible instances are in scope?
2024-06-29 23:32:44 +0200 <geekosaur> yes
2024-06-29 23:32:52 +0200 <zzz> oh that's weird
2024-06-29 23:33:02 +0200 <geekosaur> again, that's Report-mandated
2024-06-29 23:34:24 +0200 <geekosaur> the Report tends to specify a lowest-common-denominator behavior
2024-06-29 23:35:06 +0200 <geekosaur> in this case, the spec is "does it have a decimal point or exponent? store as a Rational and wrap in fromRational. otherwise, store as Integer and wrap in fromInteger
2024-06-29 23:35:25 +0200 <geekosaur> "
2024-06-29 23:36:51 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-29 23:37:17 +0200EvanR(~EvanR@user/evanr)
2024-06-29 23:37:19 +0200 <zzz> is there something like {-# LANGUAGE NoImplicitGHC #-} ?
2024-06-29 23:37:23 +0200 <zzz> :P
2024-06-29 23:37:52 +0200 <zzz> i guess that would be GHC and not LANGUAGE
2024-06-29 23:41:18 +0200 <monochrom> What would that mean?
2024-06-29 23:41:37 +0200 <zzz> well... the GHC module is always implicitly imported, isn't it?
2024-06-29 23:41:51 +0200 <monochrom> Who told you that? But the answer is no.
2024-06-29 23:42:03 +0200 <zzz> (what i'm trying to do is not having access to Integer)
2024-06-29 23:42:07 +0200 <geekosaur> Prelude is the only implicitly imported module, and this has nothing to do with Prelude, it's compiler behavior
2024-06-29 23:42:26 +0200 <zzz> oh ok
2024-06-29 23:42:32 +0200 <zzz> so where does Integer live?
2024-06-29 23:42:45 +0200 <monochrom> Integer is specified by Haskell2010 and before. Hugs has to provide Integer, too.
2024-06-29 23:43:02 +0200 <zzz> i see
2024-06-29 23:43:17 +0200 <zzz> so we can't get rid of it?
2024-06-29 23:43:28 +0200 <geekosaur> and that compiler behavior is likely to break your intent because it's wired-in. it's possible that NoImplicitPrelude + the RebindableSyntax big hammer would work
2024-06-29 23:43:51 +0200 <geekosaur> but only by letting you provide your own Integer
2024-06-29 23:44:02 +0200 <geekosaur> it's deeply wired into the compiler
2024-06-29 23:44:03 +0200 <monochrom> I am too lazy to even call it an XY problem, so I will just say no we can't get rid of it.
2024-06-29 23:44:52 +0200 <zzz> monochrom: i'm just curiously exploring the edges of the language. no X nor Y problem
2024-06-29 23:46:34 +0200 <geekosaur> you would need some modification / LANGUAGE pragma that disabled Report-specified numeric behavior. which would probably be difficult to implement, since obeying the Report results in Integer and Rational being deeply wired in
2024-06-29 23:46:57 +0200 <geekosaur> it also has been complicating the move toward runtime-selectable Integer backends
2024-06-29 23:47:42 +0200 <geekosaur> (Rational reduces to Integer since in practice it's just two Integers)
2024-06-29 23:48:04 +0200madeleine-sydney(~madeleine@c-71-229-185-228.hsd1.co.comcast.net)
2024-06-29 23:48:14 +0200 <zzz> that makes sense. literals should be guaranteed to have at least one correponding type
2024-06-29 23:49:20 +0200 <zzz> now if literals should ideally exist, that's another question
2024-06-29 23:49:38 +0200 <monochrom> Frankly and bluntly I have trouble logically reconciling "curious and exploring the edge of the language" with having never read the Haskell 2010 Report (or even 98). But I'll drop the issue now.
2024-06-29 23:49:48 +0200dcoutts(~duncan@2a02:8012:ae9a:0:9a7e:1cf5:7c51:c650)
2024-06-29 23:51:38 +0200 <geekosaur> I don't, since "the language" in practice has diverged significantly from the Report (FAM, Num's "superclasses", FTP among others, not to mention all the actual language extensions although GHC at least tries to keep those hidden behind LANGUAGE pragmas for the most part)
2024-06-29 23:52:11 +0200 <zzz> monochrom: i hear you. it comes down to opportunity. the investment of reading the report is not worth it for me (i use haskell recreationally) and i had the opportunity to ask here, by chance. i happen to be relaxing and just chatting
2024-06-29 23:54:19 +0200 <zzz> if i ever use haskell for work (i wish) i'll read it gladly
2024-06-29 23:55:20 +0200noumenon(~noumenon@113.51-175-156.customer.lyse.net) (Read error: Connection reset by peer)
2024-06-29 23:55:37 +0200 <monochrom> geekosaur: Even in music where musicians deviate and/or disregard theories of music and harmony all the time, the consensus is "you have to know the rules before you break them".
2024-06-29 23:56:25 +0200 <monochrom> The Haskell 2010 Report is a baseline. And then one can talk about which parts of it are superceded.
2024-06-29 23:57:52 +0200 <monochrom> And for things like the detailed strictness of "case ~(x : (y : zs))", it is still Haskell 2010.
2024-06-29 23:58:06 +0200mreh(~matthew@host86-160-168-12.range86-160.btcentralplus.com) (Ping timeout: 256 seconds)
2024-06-29 23:58:43 +0200 <monochrom> err "case ... of ~(x : (y : zs))"
2024-06-29 23:59:31 +0200 <zzz> monochrom: some musicians agree, others disagree. some very highly regarded musicians never learned basic theory
2024-06-29 23:59:38 +0200 <zzz> think of it like this: https://www.youtube.com/watch?v=NTYg9cgHvkA
2024-06-29 23:59:39 +0200 <zzz> :)
2024-06-29 23:59:46 +0200canta(~canta@user/canta) (WeeChat 3.5)
2024-06-29 23:59:59 +0200 <haskellbridge> <sm> zzz true