Logs: liberachat/#haskell
| 2021-07-01 01:41:46 | <Cale> | which basically amounts to imitating the typechecker/instance resolution |
| 2021-07-01 01:42:24 | × | cods quits (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 252 seconds) |
| 2021-07-01 01:44:15 | <Cale> | https://hackage.haskell.org/package/th-abstraction is really good though, at least most of the time |
| 2021-07-01 01:44:18 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 240 seconds) |
| 2021-07-01 01:44:58 | <Cale> | Sometimes the canonicalisation of GADTs that gives you a bunch of type equalities is doing negative work, but most of the time at least it's pretty good |
| 2021-07-01 01:45:04 | <Axman6> | monochrom: or go programmings writing more than two lines without explicit error checking |
| 2021-07-01 01:45:10 | <Axman6> | programmers* |
| 2021-07-01 01:46:41 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-07-01 01:47:09 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
| 2021-07-01 01:48:12 | <monochrom> | :) |
| 2021-07-01 01:48:20 | → | adanwan_ joins (~adanwan@gateway/tor-sasl/adanwan) |
| 2021-07-01 01:48:42 | × | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 2021-07-01 01:49:16 | → | cods joins (~fred@82-65-232-44.subs.proxad.net) |
| 2021-07-01 01:49:36 | → | neurocyte43 joins (~neurocyte@45.14.191.41) |
| 2021-07-01 01:49:37 | × | neurocyte43 quits (~neurocyte@45.14.191.41) (Changing host) |
| 2021-07-01 01:49:37 | → | neurocyte43 joins (~neurocyte@user/neurocyte) |
| 2021-07-01 01:51:37 | <dsal> | ... But how long are you comfortable not knowing whether err is not nil? |
| 2021-07-01 01:52:48 | <Axman6> | exactly once, because it should be immutable |
| 2021-07-01 01:53:24 | × | neurocyte4 quits (~neurocyte@user/neurocyte) (Ping timeout: 256 seconds) |
| 2021-07-01 01:53:24 | neurocyte43 | is now known as neurocyte4 |
| 2021-07-01 01:53:45 | × | MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds) |
| 2021-07-01 01:54:27 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-01 01:55:14 | <dsal> | Most go code is just EitherT without helpful syntax |
| 2021-07-01 01:58:43 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 240 seconds) |
| 2021-07-01 01:59:00 | <Axman6> | mo' lines, mo' productive |
| 2021-07-01 01:59:02 | → | favonia joins (~favonia@user/favonia) |
| 2021-07-01 02:00:58 | × | egoist quits (~egoist@186.235.80.194) (Quit: WeeChat 3.2) |
| 2021-07-01 02:01:06 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 2021-07-01 02:01:19 | × | cjb quits (~cjb@user/cjb) () |
| 2021-07-01 02:05:07 | × | cheater quits (~Username@user/cheater) (Ping timeout: 258 seconds) |
| 2021-07-01 02:05:37 | → | cheater joins (~Username@user/cheater) |
| 2021-07-01 02:07:48 | × | sheepduck quits (~sheepduck@user/sheepduck) (Ping timeout: 258 seconds) |
| 2021-07-01 02:12:17 | × | juhp quits (~juhp@128.106.188.66) (Quit: juhp) |
| 2021-07-01 02:12:31 | → | juhp joins (~juhp@128.106.188.66) |
| 2021-07-01 02:12:32 | × | finsternis quits (~X@23.226.237.192) (Read error: Connection reset by peer) |
| 2021-07-01 02:12:40 | × | stevenxl_ quits (~stevenlei@68.235.43.101) (Ping timeout: 256 seconds) |
| 2021-07-01 02:12:52 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 2021-07-01 02:18:23 | → | thiagomm joins (~thiagomm@179.156.177.136) |
| 2021-07-01 02:18:54 | × | thiagomm quits (~thiagomm@179.156.177.136) (Client Quit) |
| 2021-07-01 02:20:37 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 2021-07-01 02:21:23 | → | hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com) |
| 2021-07-01 02:22:49 | → | MQ-17J joins (~MQ-17J@8.21.10.15) |
| 2021-07-01 02:24:10 | → | stevenxl joins (~stevenlei@68.235.43.101) |
| 2021-07-01 02:25:30 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 240 seconds) |
| 2021-07-01 02:27:11 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 2021-07-01 02:29:36 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 2021-07-01 02:29:36 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (copper.libera.chat (Nickname regained by services))) |
| 2021-07-01 02:29:36 | finn_elija | is now known as FinnElija |
| 2021-07-01 02:29:52 | × | stevenxl quits (~stevenlei@68.235.43.101) (Ping timeout: 272 seconds) |
| 2021-07-01 02:30:25 | × | td_ quits (~td@94.134.91.65) (Ping timeout: 258 seconds) |
| 2021-07-01 02:32:16 | → | td_ joins (~td@94.134.91.214) |
| 2021-07-01 02:34:46 | × | derelict quits (~derelict@user/derelict) (Ping timeout: 256 seconds) |
| 2021-07-01 02:35:54 | → | haliq joins (~haliq@128.106.240.245) |
| 2021-07-01 02:40:09 | × | Nolrai quits (~Nolrai@c-76-27-202-218.hsd1.or.comcast.net) (Quit: Client closed) |
| 2021-07-01 02:42:40 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2021-07-01 02:45:42 | <qrpnxz> | thoughts on this? https://termbin.com/fs8d |
| 2021-07-01 02:48:11 | <jackdk> | haskell is a pretty cool imperative language |
| 2021-07-01 02:48:32 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 265 seconds) |
| 2021-07-01 02:48:39 | <qrpnxz> | haha, the haskell one is a bit more inscrutable, but it's safe! Here's the Go one for comparison: Go program just as fast as the C one |
| 2021-07-01 02:48:57 | <qrpnxz> | https://termbin.com/26pd |
| 2021-07-01 02:49:49 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2021-07-01 02:50:01 | <qrpnxz> | half of the fast C and haskell programs is recreating what go slices do for free |
| 2021-07-01 02:50:05 | <qrpnxz> | truly sad |
| 2021-07-01 02:50:16 | <qrpnxz> | should be illegal to have a language without go slices |
| 2021-07-01 02:50:42 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 240 seconds) |
| 2021-07-01 02:51:07 | → | favonia joins (~favonia@user/favonia) |
| 2021-07-01 02:51:37 | <jackdk> | it should be illegal to have nulls just lying around in a language but here we are |
| 2021-07-01 02:51:53 | → | nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-01 02:53:12 | <qrpnxz> | meh |
| 2021-07-01 02:54:23 | <keltono> | ditto for not having generics :P |
| 2021-07-01 02:58:42 | <qrpnxz> | version two is rather nice and it's only 4 times slower |
| 2021-07-01 02:59:38 | × | nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
| 2021-07-01 03:00:10 | <nshepperd> | go slices are just dynamic vectors? |
| 2021-07-01 03:00:40 | <qrpnxz> | yeah they are a pointer, a length, and a capacity |
| 2021-07-01 03:01:27 | <nshepperd> | there's a package for those |
| 2021-07-01 03:01:49 | <qrpnxz> | someone said that before and it wasn't it, but if you wanna share |
| 2021-07-01 03:02:40 | → | lavaman joins (~lavaman@98.38.249.169) |
| 2021-07-01 03:03:16 | → | img joins (~img@user/img) |
| 2021-07-01 03:03:37 | <nshepperd> | dynamic-mvector? doesn't implement the unboxed version though, which is lame |
| 2021-07-01 03:05:18 | <qrpnxz> | nice that it has push, but missing slices |
| 2021-07-01 03:06:07 | <qrpnxz> | also it's really annoying that data.vector's "safe" move requires both sides to be the same length |
| 2021-07-01 03:10:24 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 252 seconds) |
| 2021-07-01 03:11:02 | → | derelict joins (~derelict@user/derelict) |
| 2021-07-01 03:11:02 | <nshepperd> | odd that there's no slice function given all the doc comments about what happens to slices |
| 2021-07-01 03:11:24 | <nshepperd> | in go, are slices copy on write or what |
| 2021-07-01 03:11:49 | <dsal> | go slices are immutable |
| 2021-07-01 03:12:14 | <nshepperd> | so they're not dynamic vectors at all? |
| 2021-07-01 03:12:47 | <dsal> | You can write *through* them and "reslice" them (which copies them). There's an `append` operation which is basically realloc + copy |
| 2021-07-01 03:12:55 | <dsal> | (with all the downsides of being realloc + copy) |
| 2021-07-01 03:14:42 | × | hammock quits (~Hammock@2600:1700:19a1:3330::625) (Ping timeout: 240 seconds) |
| 2021-07-01 03:15:07 | <nshepperd> | weird |
| 2021-07-01 03:15:25 | <dsal> | You don't much use arrays in go because the size is part of the type. So slices are the general thing. They have some pointy edges, though. |
| 2021-07-01 03:18:45 | × | jao quits (jao@gateway/vpn/protonvpn/jao) (Remote host closed the connection) |
| 2021-07-01 03:19:12 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 2021-07-01 03:19:25 | <qrpnxz> | go slices are not immutable |
| 2021-07-01 03:19:25 | <nshepperd> | i can imagine |
| 2021-07-01 03:19:26 | <qrpnxz> | wtf |
| 2021-07-01 03:19:32 | → | cheater joins (~Username@user/cheater) |
| 2021-07-01 03:20:59 | <qrpnxz> | what is "pointy" about slices? |
| 2021-07-01 03:21:22 | <dsal> | https://play.golang.org/p/b7uoMnonP4Z |
All times are in UTC.