Logs: liberachat/#haskell
| 2021-05-27 19:51:46 | → | ubert joins (~Thunderbi@p200300ecdf259d7974882ed522245916.dip0.t-ipconnect.de) |
| 2021-05-27 19:51:46 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:b043:8b77:c7da:42a0) (Ping timeout: 264 seconds) |
| 2021-05-27 19:52:41 | × | myShoggoth quits (~myShoggot@97-120-89-117.ptld.qwest.net) (Ping timeout: 252 seconds) |
| 2021-05-27 19:54:30 | → | simendsjo joins (~user@cm-84.211.91.241.getinternet.no) |
| 2021-05-27 19:54:42 | tremon | is now known as tremon_ |
| 2021-05-27 19:55:30 | → | ub joins (~Thunderbi@p200300ecdf259d8974882ed522245916.dip0.t-ipconnect.de) |
| 2021-05-27 19:56:23 | × | simendsjo quits (~user@cm-84.211.91.241.getinternet.no) (Client Quit) |
| 2021-05-27 19:56:32 | × | ubert quits (~Thunderbi@p200300ecdf259d7974882ed522245916.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 2021-05-27 19:56:32 | ub | is now known as ubert |
| 2021-05-27 19:57:18 | × | wonko quits (~wjc@user/wonko) (Ping timeout: 264 seconds) |
| 2021-05-27 19:57:25 | → | simendsjo joins (~user@cm-84.211.91.241.getinternet.no) |
| 2021-05-27 19:57:54 | × | MidAutumnMoon quits (~MidAutumn@user/midautumnmoon) (Ping timeout: 264 seconds) |
| 2021-05-27 19:58:46 | × | simendsjo quits (~user@cm-84.211.91.241.getinternet.no) (Client Quit) |
| 2021-05-27 19:59:12 | → | myShoggoth joins (~myShoggot@97-120-89-117.ptld.qwest.net) |
| 2021-05-27 19:59:35 | → | simendsjo joins (~user@cm-84.211.91.241.getinternet.no) |
| 2021-05-27 20:00:15 | × | pricly_yellow quits (~pricly_ye@static.90.189.158.212.sinor.ru) (Remote host closed the connection) |
| 2021-05-27 20:01:10 | → | cadenhaustein joins (~brightly-@2604:2d80:e084:b300:2ce2:847e:52d6:2480) |
| 2021-05-27 20:01:23 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 2021-05-27 20:01:35 | × | cadenhaustein quits (~brightly-@2604:2d80:e084:b300:2ce2:847e:52d6:2480) (Client Quit) |
| 2021-05-27 20:02:00 | × | bjs quits (sid190364@user/bjs) () |
| 2021-05-27 20:02:13 | → | bjs joins (sid190364@user/bjs) |
| 2021-05-27 20:02:44 | → | ddellaco_ joins (~ddellacos@86.106.121.110) |
| 2021-05-27 20:03:46 | → | ddellac__ joins (~ddellacos@89.46.62.31) |
| 2021-05-27 20:03:58 | → | pricly_yellow joins (~pricly_ye@static.90.189.158.212.sinor.ru) |
| 2021-05-27 20:05:29 | × | leotaku quits (~leotaku@046075079231.atmpu0011.highway.a1.net) (Read error: No route to host) |
| 2021-05-27 20:05:43 | × | ddellacosta quits (~ddellacos@86.106.121.27) (Ping timeout: 265 seconds) |
| 2021-05-27 20:05:45 | → | minoru_shiraeesh joins (~shiraeesh@5.101.59.63) |
| 2021-05-27 20:06:14 | ← | safinaskar parts (~user@109.252.90.89) () |
| 2021-05-27 20:06:59 | × | ddellaco_ quits (~ddellacos@86.106.121.110) (Ping timeout: 252 seconds) |
| 2021-05-27 20:07:30 | × | qbt quits (~edun@user/edun) (Ping timeout: 264 seconds) |
| 2021-05-27 20:07:58 | × | m_shiraeeshi quits (~shiraeesh@109.166.58.113) (Ping timeout: 264 seconds) |
| 2021-05-27 20:09:16 | × | yahb quits (xsbot@user/mniip/bot/yahb) (Ping timeout: 264 seconds) |
| 2021-05-27 20:10:40 | × | simendsjo quits (~user@cm-84.211.91.241.getinternet.no) (Quit: ERC (IRC client for Emacs 28.0.50)) |
| 2021-05-27 20:11:34 | × | dunham quits (~dunham@97-113-35-16.tukw.qwest.net) (Ping timeout: 264 seconds) |
| 2021-05-27 20:14:44 | → | psydroid joins (~psydroidm@user/psydroid) |
| 2021-05-27 20:14:48 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2-dev) |
| 2021-05-27 20:15:24 | → | yahb joins (xsbot@user/mniip/bot/yahb) |
| 2021-05-27 20:15:39 | → | tanner_ joins (~tanner@74.221.100.239) |
| 2021-05-27 20:15:48 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 2021-05-27 20:16:24 | → | dunham joins (~dunham@97-113-35-16.tukw.qwest.net) |
| 2021-05-27 20:16:38 | → | ryantrinkle joins (~ryan@static-108-30-103-121.nycmny.fios.verizon.net) |
| 2021-05-27 20:17:30 | → | Frosky joins (~Frosky@n220246094251.netvigator.com) |
| 2021-05-27 20:17:33 | × | pricly_yellow quits (~pricly_ye@static.90.189.158.212.sinor.ru) (Remote host closed the connection) |
| 2021-05-27 20:17:36 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
| 2021-05-27 20:18:11 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 2021-05-27 20:19:00 | → | zopsi joins (sid153252@id-153252.stonehaven.irccloud.com) |
| 2021-05-27 20:19:22 | × | ku quits (~ku@2601:280:c780:7ea0:c5a6:e466:b3e6:a4ee) (Ping timeout: 264 seconds) |
| 2021-05-27 20:19:27 | → | pricly_yellow joins (~pricly_ye@static.90.189.158.212.sinor.ru) |
| 2021-05-27 20:19:34 | × | caubert quits (~caubert@136.244.111.235) (Quit: WeeChat 3.1) |
| 2021-05-27 20:20:07 | → | caubert joins (~caubert@136.244.111.235) |
| 2021-05-27 20:21:46 | × | kong quits (~harrison@c-174-51-131-199.hsd1.co.comcast.net) (Ping timeout: 264 seconds) |
| 2021-05-27 20:22:25 | → | kong joins (~harrison@c-174-51-131-199.hsd1.co.comcast.net) |
| 2021-05-27 20:22:48 | × | Guest11 quits (~textual@146.212.240.255) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2021-05-27 20:23:10 | <xerox> | ever seen this? https://pastebin.com/raw/x4eEQqmC only happens once in a while during cabal build |
| 2021-05-27 20:23:44 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:b043:8b77:c7da:42a0) |
| 2021-05-27 20:26:40 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
| 2021-05-27 20:27:30 | × | caubert quits (~caubert@136.244.111.235) (Quit: WeeChat 3.1) |
| 2021-05-27 20:27:52 | <tanner_> | Beginner question, ghci say ([1,2] + 1) has type (Num a, Num [a]) => [a]. But ([1,2] + 1) can |
| 2021-05-27 20:28:06 | <tanner_> | *can't be evaluated. |
| 2021-05-27 20:28:48 | <pavonia> | Because there's no instance for Num [a] in scope |
| 2021-05-27 20:29:23 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.1) |
| 2021-05-27 20:29:27 | <mniip> | it could be evaluated if an instance became availabe |
| 2021-05-27 20:29:48 | → | caubert joins (~caubert@136.244.111.235) |
| 2021-05-27 20:30:03 | × | reumeth quits (~reumeth@2001:4652:9745:0:72c9:4eff:fea7:32ab) (Quit: reumeth) |
| 2021-05-27 20:30:19 | <tanner_> | But (+) has type Num a => a -> a -> a, I would think regardless of whether an instance for Num [a] existed it would still refuse to evaluate on account of a and [a] being different types |
| 2021-05-27 20:30:21 | × | danso quits (~danso@23-233-111-52.cpe.pppoe.ca) (Quit: WeeChat 3.1) |
| 2021-05-27 20:30:45 | <tdammers> | yes, except that integer literals are polymorphic |
| 2021-05-27 20:30:47 | <tdammers> | :t 1 |
| 2021-05-27 20:30:47 | <boxscape> | % :t 1 |
| 2021-05-27 20:30:47 | <yahb> | boxscape: Num p => p |
| 2021-05-27 20:30:48 | <lambdabot> | Num p => p |
| 2021-05-27 20:30:58 | <boxscape> | % instance Num a => Num [a] where (+) = zipWith (+); fromInteger = repeat . fromInteger |
| 2021-05-27 20:30:58 | <yahb> | boxscape: ; <interactive>:53:10: warning: [-Wmissing-methods]; * No explicit implementation for; `*', `abs', `signum', and (either `negate' or `-'); * In the instance declaration for `Num [a]' |
| 2021-05-27 20:31:03 | <boxscape> | % ([1,2] + 1) |
| 2021-05-27 20:31:03 | <yahb> | boxscape: [2,3] |
| 2021-05-27 20:31:21 | <tdammers> | there are two Num constraints inferred here |
| 2021-05-27 20:32:23 | → | nsilv-phone-1 joins (~nsilv-pho@host-82-50-119-12.retail.telecomitalia.it) |
| 2021-05-27 20:32:35 | <tdammers> | :t (+) |
| 2021-05-27 20:32:36 | <lambdabot> | Num a => a -> a -> a |
| 2021-05-27 20:32:52 | <tdammers> | right? so that means that [1, 2] must be of type a, and 1 must also be of type a |
| 2021-05-27 20:33:07 | <boxscape> | tanner_ note that `5.6 + 1` works, as well, even though one might assume that 5.6 is Double and 1 is an Integer |
| 2021-05-27 20:33:28 | <boxscape> | in practice, these both end up being Double in this case |
| 2021-05-27 20:33:42 | × | geekosaur quits (~geekosaur@069-135-003-034.biz.spectrum.com) (Remote host closed the connection) |
| 2021-05-27 20:34:07 | → | geekosaur joins (~geekosaur@069-135-003-034.biz.spectrum.com) |
| 2021-05-27 20:34:43 | × | Dynom quits (~niels@80-114-12-206.cable.dynamic.v4.ziggo.nl) (Quit: WeeChat 3.1) |
| 2021-05-27 20:34:58 | × | nsilv-phone quits (~nsilv-pho@37.160.61.54) (Ping timeout: 264 seconds) |
| 2021-05-27 20:35:01 | <tanner_> | Ok... so 1 could be inferred as the type (Num a, Num [a]) => [a] and then (+) 1 [1,2] makes sense. Is that correct? |
| 2021-05-27 20:35:44 | <boxscape> | tanner_ Yes. You're right that `x + y` wouldn't work if `x :: a` and ``y :: [a]`. But in the expression `([1,2] + 1)`, both argument have type (Num a, Num [a]) => [a] |
| 2021-05-27 20:36:07 | <tanner_> | But this could (and would) only happen if an instance of Num [a] was in scope |
| 2021-05-27 20:36:46 | <boxscape> | well, GHC infers that type anyway, and then afterwards determines that no such instance is available |
| 2021-05-27 20:37:12 | <boxscape> | which is why :t works |
| 2021-05-27 20:37:13 | → | onion_ joins (~zzz@user/yin) |
| 2021-05-27 20:37:48 | × | rahguzar quits (~rahguzar@dynamic-adsl-84-220-228-254.clienti.tiscali.it) (Ping timeout: 250 seconds) |
| 2021-05-27 20:38:13 | × | wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2021-05-27 20:38:18 | <tanner_> | Ok, so GHC infers the type no matter what, because it is a valid type. The error only comes when it trys to evaluate such an expression, discovers there are no such instances in scope, and then gives and error |
| 2021-05-27 20:38:26 | <boxscape> | right |
| 2021-05-27 20:38:46 | <tanner_> | Ok, wow, thats actually really cool, thanks |
| 2021-05-27 20:38:49 | → | ixlun` joins (~user@217.75.9.51.dyn.plus.net) |
| 2021-05-27 20:38:54 | <boxscape> | yeah :) |
| 2021-05-27 20:40:32 | × | ixlun quits (~user@217.75.9.51.dyn.plus.net) (Ping timeout: 252 seconds) |
All times are in UTC.