2024/04/28

Newest at the top

2024-04-28 14:23:13 +0200 <tomsmeding> ambiguous types are very annoying to work with
2024-04-28 14:23:05 +0200 <tomsmeding> it's good to be forced to add a Proxy argument if you do want to write one
2024-04-28 14:22:49 +0200 <tomsmeding> because you _typically_ don't want to write an ambiguous type
2024-04-28 14:22:24 +0200 <yin> why is AllowAmbiguousTypes not enabled by default?
2024-04-28 14:22:22 +0200mrmr1553343(~mrmr@user/mrmr)
2024-04-28 14:22:00 +0200 <yin> ok then my next question is
2024-04-28 14:21:37 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-28 14:13:23 +0200 <tomsmeding> being able to write `query @_ @(Maybe Int, String)` if I want to annotate that the result row is [nullable integer, text] is MUCH more convenient than having to give a full type annotation
2024-04-28 14:12:49 +0200 <yin> thanks
2024-04-28 14:12:47 +0200 <yin> i get it now
2024-04-28 14:12:43 +0200 <yin> oh nvm
2024-04-28 14:12:39 +0200 <tomsmeding> an example of the first is https://hackage.haskell.org/package/sqlite-simple-0.4.19.0/docs/Database-SQLite-Simple.html#v:query
2024-04-28 14:11:30 +0200 <yin> tomsmeding: ok, but that requires a non default extension
2024-04-28 14:11:05 +0200 <tomsmeding> and genuinely required if the original type was ambiguous
2024-04-28 14:10:51 +0200 <tomsmeding> it is hugely more convenient in some cases
2024-04-28 14:10:22 +0200 <yin> it surprises me that TypeApplications, being included in GHC2021 and GHC2024, just offer a slightly more convenient but also less readable way of type annotation
2024-04-28 14:09:24 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2024-04-28 14:09:15 +0200mrmr1553343(~mrmr@user/mrmr) (Quit: Bye, See ya later!)
2024-04-28 14:08:38 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2024-04-28 14:06:09 +0200 <tomsmeding> (which indeed needs AllowAmbiguousTypes)
2024-04-28 14:05:44 +0200 <mauke> class Memorable a where { bitsNeeded :: Int }
2024-04-28 14:05:02 +0200 <tomsmeding> and 2. if the type was defined using AllowAmbiguousTypes an annotation might not be enough
2024-04-28 14:04:59 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2024-04-28 14:04:35 +0200 <mauke> sometimes there is nothing to annotate
2024-04-28 14:04:31 +0200xff0x(~xff0x@softbank219059019218.bbtec.net) (Ping timeout: 260 seconds)
2024-04-28 14:04:30 +0200 <tomsmeding> because 1. sometimes the whole type is very large and contains many components that are irrelevant to this annotation
2024-04-28 14:04:21 +0200 <int-e> show @Double is shorter than show :: Double -> String
2024-04-28 14:03:57 +0200 <yin> why do we need TypeApplications if we can just annotate
2024-04-28 14:03:46 +0200 <yin> no, i mean
2024-04-28 14:03:36 +0200 <tomsmeding> the first only
2024-04-28 14:03:28 +0200 <yin> in which case does one need TypeApplications?
2024-04-28 14:03:20 +0200 <int-e> well, type applications are a language extensions
2024-04-28 14:02:11 +0200 <tomsmeding> no
2024-04-28 14:02:09 +0200 <yahb2> show :: forall a. Show a => a -> String
2024-04-28 14:02:09 +0200 <tomsmeding> % :t show
2024-04-28 14:02:07 +0200 <yahb2> <no output>
2024-04-28 14:02:06 +0200 <tomsmeding> % :set -fprint-explicit-foralls
2024-04-28 14:01:47 +0200 <yin> is there a difference between 'map (show @Double)' and 'map (show :: Double -> String)' ?
2024-04-28 13:56:25 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-04-28 13:53:23 +0200 <tomsmeding> these days, for better or for worse, a web browser is not something that you should want to get very old
2024-04-28 13:53:04 +0200 <int-e> (aka buster)
2024-04-28 13:52:50 +0200 <int-e> even oldstable is at 115
2024-04-28 13:52:08 +0200 <tomsmeding> which is significant
2024-04-28 13:52:02 +0200 <tomsmeding> for any browser vulnerabilities since mid 2021
2024-04-28 13:51:40 +0200 <yin> for vulnerabilities like alert :)
2024-04-28 13:50:10 +0200 <tomsmeding> be aware of missing security patches in basically everything on your machine though
2024-04-28 13:49:51 +0200 <tomsmeding> ski: I see, thanks; that tells me that you might not be the only one
2024-04-28 13:49:30 +0200 <ski> well, i installed debian-based distro on this laptop, a few years ago, and haven't gotten around to updating it
2024-04-28 13:49:29 +0200 <tomsmeding> https://github.com/haskell/play-haskell/issues/3
2024-04-28 13:48:33 +0200 <yin> welp :)