Logs on 2022-11-29 (liberachat/#haskell)
| 00:00:16 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 00:01:12 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 00:02:17 | × | xacktm quits (~xacktm@user/xacktm) (Ping timeout: 256 seconds) |
| 00:03:51 | × | zmt00 quits (~zmt00@user/zmt00) (Quit: Leaving) |
| 00:10:36 | → | finsternis joins (~X@23.226.237.192) |
| 00:11:50 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 00:12:00 | → | jmd_ joins (~jmdaemon@user/jmdaemon) |
| 00:12:19 | × | Tuplanolla quits (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:14:43 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 00:14:55 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 00:16:13 | × | Topsi quits (~Topsi@dyndsl-095-033-226-009.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 00:17:21 | → | xacktm joins (~xacktm@user/xacktm) |
| 00:21:34 | → | zmt00 joins (~zmt00@user/zmt00) |
| 00:27:14 | <jackdk> | Axman6: whatcha doing? |
| 00:33:53 | × | jinsl quits (~jinsl@123.120.168.177) (Quit: ZNC - https://znc.in) |
| 00:37:21 | → | jinsl joins (~jinsl@2408:8207:2559:28e0:211:32ff:fec8:6aea) |
| 00:42:03 | <Axman6> | just some encoding code at #work |
| 00:43:32 | <Axman6> | full code is foldr (\c -> maybe (c:) (++) (lookup c encodeTable)) "" |
| 00:45:18 | × | gawen quits (~gawen@user/gawen) (Quit: cya) |
| 00:46:14 | × | Kaiepi quits (~Kaiepi@108.175.84.104) (Ping timeout: 260 seconds) |
| 00:48:34 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds) |
| 00:48:44 | <jackdk> | so basically everything encodes as itself unless there's an entry for it in the table? |
| 00:49:03 | × | andreas303 quits (andreas303@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com) |
| 00:52:06 | → | razetime joins (~quassel@49.207.211.219) |
| 00:52:18 | × | xacktm quits (~xacktm@user/xacktm) (Ping timeout: 260 seconds) |
| 00:55:05 | → | gawen joins (~gawen@user/gawen) |
| 00:58:33 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 00:58:33 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 00:58:33 | → | wroathe joins (~wroathe@user/wroathe) |
| 00:58:40 | <[Leary]> | % :t \encodeTable s -> s >>= fromMaybe . pure <*> flip M.lookup encodeTable |
| 00:58:40 | <yahb2> | \encodeTable s -> s >>= fromMaybe . pure <*> flip M.lookup encodeTable ; :: (Monad m, Ord a) => M.Map a (m a) -> m a -> m a |
| 00:59:00 | <[Leary]> | Axman6: ^ Not sure if better, but it looks like it should be a (>>=) to me. |
| 01:03:06 | × | thyriaen quits (~thyriaen@2a01:aea0:dd4:470d:6245:cbff:fe9f:48b1) (Read error: Connection reset by peer) |
| 01:05:08 | <hpc> | i think i like Axman6's better |
| 01:05:56 | → | andreas303 joins (andreas303@ip227.orange.bnc4free.com) |
| 01:06:40 | → | xacktm joins (~xacktm@user/xacktm) |
| 01:06:51 | <hpc> | maybe it's just being able to see c in the expression, but it's a lot easier to tell what it's doing |
| 01:08:04 | <hpc> | s >>= (\c -> maybe (c:) (++) (Map.lookup c encodeTable)) -- perhaps? |
| 01:08:20 | <hpc> | :t \encodeTable s -> s >>= (\c -> maybe (c:) (++) (Map.lookup c encodeTable)) |
| 01:08:21 | <lambdabot> | error: |
| 01:08:21 | <lambdabot> | Not in scope: ‘Map.lookup’ |
| 01:08:21 | <lambdabot> | Perhaps you meant one of these: |
| 01:08:28 | <hpc> | :t \encodeTable s -> s >>= (\c -> maybe (c:) (++) (M.lookup c encodeTable)) |
| 01:08:30 | <lambdabot> | Ord k => M.Map k [k] -> ([k] -> k) -> [k] -> [k] |
| 01:09:03 | <[Leary]> | That's fair enough. I can only read it easily because I recently got fond of: |
| 01:09:10 | <[Leary]> | % :t (fromMaybe <*>) |
| 01:09:10 | <yahb2> | (fromMaybe <*>) :: (b -> Maybe b) -> b -> b |
| 01:09:24 | <hpc> | hmm, that doesn't look right |
| 01:09:44 | <hpc> | :t \encodeTable s -> s >>= (\c -> maybe [c] (M.lookup c encodeTable)) |
| 01:09:45 | <lambdabot> | error: |
| 01:09:45 | <lambdabot> | • Couldn't match expected type ‘a1 -> [k]’ |
| 01:09:45 | <lambdabot> | with actual type ‘Maybe a’ |
| 01:09:54 | <hpc> | :t \encodeTable s -> s >>= (\c -> maybe [c] id (M.lookup c encodeTable)) |
| 01:09:56 | <lambdabot> | Ord b => M.Map b [b] -> [b] -> [b] |
| 01:11:03 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:11:59 | <hpc> | :t \encodeTable s -> s >>= (\c -> fromMaybe [c] (M.lookup c encodeTable)) |
| 01:12:01 | <lambdabot> | Ord b => M.Map b [b] -> [b] -> [b] |
| 01:12:14 | <hpc> | that's probably the best mix of brevity and clarity? |
| 01:14:33 | <[Leary]> | Or \c -> M.findWithDefault [c] c encodeTable |
| 01:15:11 | <hpc> | ooh, that's good |
| 01:17:10 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:19:59 | × | andreas303 quits (andreas303@ip227.orange.bnc4free.com) (Ping timeout: 264 seconds) |
| 01:21:47 | × | xacktm quits (~xacktm@user/xacktm) (Ping timeout: 264 seconds) |
| 01:21:55 | × | Xeroine quits (~Xeroine@user/xeroine) (Remote host closed the connection) |
| 01:22:08 | → | causal joins (~user@50.35.83.177) |
| 01:22:49 | → | Xeroine joins (~Xeroine@user/xeroine) |
| 01:28:09 | → | merijn joins (~merijn@86.86.29.250) |
| 01:29:35 | × | roconnor quits (~quassel@coq/roconnor) (Ping timeout: 264 seconds) |
| 01:29:44 | → | superbil joins (~superbil@1-34-176-171.hinet-ip.hinet.net) |
| 01:30:04 | → | roconnor joins (~quassel@coq/roconnor) |
| 01:30:52 | × | xff0x quits (~xff0x@2405:6580:b080:900:534a:4597:1af5:4190) (Ping timeout: 256 seconds) |
| 01:33:08 | × | merijn quits (~merijn@86.86.29.250) (Ping timeout: 260 seconds) |
| 01:33:40 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 01:38:12 | → | andreas303 joins (andreas303@ip227.orange.bnc4free.com) |
| 01:43:42 | → | xacktm joins (~xacktm@user/xacktm) |
| 01:44:48 | × | Guest75 quits (~Guest75@178.141.153.191) (Ping timeout: 260 seconds) |
| 01:46:39 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 01:48:58 | → | lawt joins (~lawt@2603:c024:c008:d000:5b4f:1ef2:fed2:ef3d) |
| 01:50:03 | <Axman6> | encodeTable isn't an argument that needs to be passed in |
| 01:58:10 | <jackdk> | Axman6: `encode = alaf Endo (foldMapOf each) (\c -> maybe (Text.cons c) (<>) (Map.lookup c encodeTable)) ("" :: Text)` |
| 01:58:28 | → | ddellacosta joins (~ddellacos@86.106.143.49) |
| 02:01:23 | <jackdk> | @pl \c -> fromMaybe (Text.singleton c) (flip Map.lookup encodeTable c) |
| 02:01:23 | <lambdabot> | liftM2 fromMaybe Text.singleton (flip Map.lookup encodeTable) |
| 02:01:47 | <jackdk> | Axman6: `encode = foldMapOf each (fromMaybe <$> Text.singleton <*> flip Map.lookup encodeTable)` |
| 02:02:05 | <jackdk> | works over `Text` too |
| 02:06:38 | × | talismanick quits (~user@76.133.152.122) (Remote host closed the connection) |
| 02:11:26 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 02:13:32 | → | talismanick joins (~user@76.133.152.122) |
| 02:14:35 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds) |
| 02:15:47 | → | opticblast joins (~Thunderbi@secure-165.caltech.edu) |
| 02:17:05 | × | use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Remote host closed the connection) |
| 02:17:23 | → | use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) |
| 02:17:24 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 02:20:32 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 02:26:43 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 02:27:29 | <segfaultfizzbuzz> | ok so to hell with fast or widely used, what cpu ISA is the most readable/beautiful? or is there really just not that much variation in ISAs? |
| 02:32:09 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 02:36:18 | → | Bocaneri joins (~sauvin@user/Sauvin) |
| 02:36:42 | Bocaneri | is now known as Guest965 |
| 02:37:08 | → | aeroplane joins (~user@user/aeroplane) |
| 02:38:28 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds) |
| 02:38:32 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds) |
| 02:39:23 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:39:23 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:39:23 | finn_elija | is now known as FinnElija |
| 02:39:30 | × | Sauvin quits (~sauvin@user/Sauvin) (Ping timeout: 265 seconds) |
| 02:40:50 | × | perrierjouet quits (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.7.1) |
| 02:42:20 | → | perrierjouet joins (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) |
| 02:47:03 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds) |
| 02:50:20 | → | euandreh joins (~Thunderbi@179.214.113.107) |
| 02:51:05 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 02:51:25 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 02:52:44 | → | Guest8 joins (~Guest8@162.217.72.147) |
| 02:53:18 | × | Guest8 quits (~Guest8@162.217.72.147) (Client Quit) |
| 02:56:33 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 02:57:23 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds) |
| 02:58:17 | <EvanR> | segfaultfizzbuzz, EXAPunks maybe |
| 02:59:14 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 03:00:37 | × | beteigeuze quits (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 268 seconds) |
| 03:04:18 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 03:11:38 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 03:14:43 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 03:28:28 | × | k` quits (~user@2605:a601:a60d:5400:15e4:d05d:ca31:2ab6) (Ping timeout: 252 seconds) |
| 03:28:46 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 03:31:17 | × | remexre quits (~remexre@user/remexre) (Remote host closed the connection) |
| 03:32:59 | → | remexre joins (~remexre@user/remexre) |
| 03:34:02 | → | cepete02 joins (~cepete02@2600:1702:38a0:7ab0:5801:f9cb:453d:2c67) |
| 03:38:29 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:8066:4970:bd6:2327) |
| 03:45:06 | × | terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
| 03:46:23 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds) |
| 03:46:27 | → | terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1) |
| 03:47:46 | → | Kaiepi joins (~Kaiepi@108.175.84.104) |
| 03:48:20 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 03:51:07 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 03:52:24 | × | remexre quits (~remexre@user/remexre) (Remote host closed the connection) |
| 03:53:53 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 03:54:02 | → | remexre joins (~remexre@user/remexre) |
| 03:54:11 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds) |
| 03:54:28 | × | td_ quits (~td@83.135.9.9) (Ping timeout: 248 seconds) |
| 03:54:54 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 03:56:14 | → | td_ joins (~td@83.135.9.40) |
| 03:58:51 | → | rnat joins (uid73555@id-73555.lymington.irccloud.com) |
| 03:59:12 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 04:03:53 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 04:09:08 | → | fryguybob joins (~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) |
| 04:10:33 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 04:14:58 | → | kadoban joins (~kadoban@user/kadoban) |
| 04:19:04 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 265 seconds) |
| 04:19:23 | × | opticblast quits (~Thunderbi@secure-165.caltech.edu) (Ping timeout: 260 seconds) |
| 04:20:37 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:8066:4970:bd6:2327) (Remote host closed the connection) |
| 04:21:00 | × | ddellacosta quits (~ddellacos@86.106.143.49) (Ping timeout: 265 seconds) |
| 04:34:28 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 252 seconds) |
| 04:35:11 | → | cytokine_storm joins (~cytokine_@user/cytokine-storm/x-1083107) |
| 04:39:22 | → | bilegeek joins (~bilegeek@2600:1008:b046:4455:b06a:b805:20cf:53cf) |
| 04:39:36 | → | zebrag joins (~chris@user/zebrag) |
| 04:41:22 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:8066:4970:bd6:2327) |
| 04:44:50 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 04:46:03 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 04:49:23 | × | cytokine_storm quits (~cytokine_@user/cytokine-storm/x-1083107) (Ping timeout: 264 seconds) |
| 04:49:24 | × | Vajb quits (~Vajb@2001:999:504:3ad6:52a4:a3b5:32d8:e74d) (Read error: Connection reset by peer) |
| 04:49:47 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) |
| 04:51:38 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 255 seconds) |
| 04:55:25 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 04:58:32 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 05:00:53 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 05:01:16 | → | Vajb joins (~Vajb@2001:999:504:3ad6:52a4:a3b5:32d8:e74d) |
| 05:03:48 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 248 seconds) |
| 05:06:05 | → | cytokine_storm joins (~cytokine_@user/cytokine-storm/x-1083107) |
| 05:06:08 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 05:15:21 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 05:20:10 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 260 seconds) |
| 05:22:13 | → | k` joins (~user@2605:a601:a60d:5400:15e4:d05d:ca31:2ab6) |
| 05:26:24 | × | lawt quits (~lawt@2603:c024:c008:d000:5b4f:1ef2:fed2:ef3d) (Quit: WeeChat 3.5) |
| 05:26:33 | × | wroathe quits (~wroathe@user/wroathe) (Quit: leaving) |
| 05:27:10 | × | k` quits (~user@2605:a601:a60d:5400:15e4:d05d:ca31:2ab6) (Ping timeout: 260 seconds) |
| 05:28:59 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds) |
| 05:29:30 | × | telser quits (~quassel@user/telser) (Ping timeout: 260 seconds) |
| 05:30:39 | → | lawt joins (~lawt@2603:c024:c008:d000:5b4f:1ef2:fed2:ef3d) |
| 05:32:50 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
| 05:38:08 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
| 05:38:12 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 05:38:41 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 05:51:37 | × | bilegeek quits (~bilegeek@2600:1008:b046:4455:b06a:b805:20cf:53cf) (Quit: Leaving) |
| 05:51:47 | ← | aeroplane parts (~user@user/aeroplane) (ERC 5.4 (IRC client for GNU Emacs 28.2)) |
| 05:52:48 | × | meooow quits (~meooow@2400:6180:100:d0::ad9:e001) (Quit: q) |
| 05:53:01 | → | aeroplane joins (~user@user/aeroplane) |
| 05:53:02 | → | meooow joins (~meooow@165.232.184.169) |
| 05:54:33 | ← | aeroplane parts (~user@user/aeroplane) (ERC 5.4 (IRC client for GNU Emacs 28.2)) |
| 06:00:11 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 264 seconds) |
| 06:00:18 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 260 seconds) |
| 06:01:42 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 06:01:42 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 06:02:12 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 06:03:56 | × | cyphase quits (~cyphase@user/cyphase) (Quit: cyphase.com) |
| 06:04:29 | → | {-d0t-} joins (~q_q@user/-d0t-/x-7915216) |
| 06:06:17 | ← | jakalx parts (~jakalx@base.jakalx.net) (Disconnected: Replaced by new connection) |
| 06:06:18 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 06:09:17 | → | cyphase joins (~cyphase@user/cyphase) |
| 06:18:39 | × | kadobanana quits (~mud@user/kadoban) (Quit: quit) |
| 06:21:47 | → | mud joins (~mud@user/kadoban) |
| 06:22:58 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 06:23:26 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 06:25:29 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 06:25:30 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 06:25:58 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 06:26:08 | → | acidjnk_new joins (~acidjnk@p200300d6e7137a02a1d8d2645910d460.dip0.t-ipconnect.de) |
| 06:28:22 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 256 seconds) |
| 06:31:56 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 06:32:46 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 06:36:10 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
| 06:36:11 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 264 seconds) |
| 06:36:29 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 06:37:52 | <Clinton[m]> | Anyone know anything about `generic-sop`?... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/0676a65ec774ff66175fa2bdbf89ca48349a1548>) |
| 06:43:37 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 06:49:23 | × | jmd_ quits (~jmdaemon@user/jmdaemon) (Ping timeout: 265 seconds) |
| 06:59:00 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds) |
| 07:05:30 | × | k8yun quits (~k8yun@user/k8yun) (Quit: Leaving) |
| 07:05:38 | × | mud quits (~mud@user/kadoban) (Ping timeout: 260 seconds) |
| 07:06:44 | → | k8yun joins (~k8yun@user/k8yun) |
| 07:12:09 | → | fserucas joins (~fserucas@212.157.222.2) |
| 07:21:54 | Guest965 | is now known as Sauvin |
| 07:22:51 | × | k8yun quits (~k8yun@user/k8yun) (Quit: Leaving) |
| 07:24:27 | → | mud joins (~mud@user/kadoban) |
| 07:24:34 | → | Andreas joins (~andreas@cpe-76-90-84-251.socal.res.rr.com) |
| 07:24:53 | × | Andreas quits (~andreas@cpe-76-90-84-251.socal.res.rr.com) (Client Quit) |
| 07:26:38 | × | tcard quits (~tcard@2400:4051:5801:7500:19ce:ed82:2ab7:90f9) (Ping timeout: 260 seconds) |
| 07:27:47 | × | troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 264 seconds) |
| 07:28:24 | × | rnat quits (uid73555@id-73555.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 07:29:39 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 07:34:12 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 248 seconds) |
| 07:35:53 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 07:36:51 | → | kenran joins (~user@user/kenran) |
| 07:37:44 | → | zant joins (~zant@62.214.20.26) |
| 07:40:12 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 07:41:36 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 07:42:41 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:43:59 | × | zant quits (~zant@62.214.20.26) (Ping timeout: 264 seconds) |
| 07:45:50 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 07:50:16 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 252 seconds) |
| 07:51:42 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 07:55:58 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 07:56:12 | × | cytokine_storm quits (~cytokine_@user/cytokine-storm/x-1083107) (Ping timeout: 256 seconds) |
| 07:57:36 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 07:57:40 | → | zant joins (~zant@62.214.20.26) |
| 07:57:47 | → | cytokine_storm joins (~cytokine_@user/cytokine-storm/x-1083107) |
| 07:59:41 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 08:01:51 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit) |
| 08:03:52 | → | shriekingnoise joins (~shrieking@186.137.167.202) |
| 08:05:28 | → | tcard joins (~tcard@p4160166-ipxg22701hodogaya.kanagawa.ocn.ne.jp) |
| 08:05:55 | → | MajorBiscuit joins (~MajorBisc@c-001-013-019.client.tudelft.eduvpn.nl) |
| 08:06:30 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Client Quit) |
| 08:08:46 | → | tcard_ joins (~tcard@2400:4051:5801:7500:19ce:ed82:2ab7:90f9) |
| 08:09:56 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:64e2:f035:e6f2:7b30) |
| 08:11:05 | × | cytokine_storm quits (~cytokine_@user/cytokine-storm/x-1083107) (Ping timeout: 260 seconds) |
| 08:11:33 | × | tcard quits (~tcard@p4160166-ipxg22701hodogaya.kanagawa.ocn.ne.jp) (Ping timeout: 260 seconds) |
| 08:18:29 | → | mmhat joins (~mmh@p200300f1c725450cee086bfffe095315.dip0.t-ipconnect.de) |
| 08:26:15 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 08:28:00 | × | zant quits (~zant@62.214.20.26) (Ping timeout: 260 seconds) |
| 08:28:34 | → | troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 08:28:51 | <xilo> | Hi, how can one write function composition if function has two arguments? f x y = (fst . divMod) x y ? |
| 08:29:25 | <xerox> | xilo: f x y = (fst . divMod x) y |
| 08:29:31 | → | Qudit joins (~user@user/Qudit) |
| 08:29:43 | → | michalz joins (~michalz@185.246.204.75) |
| 08:29:45 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds) |
| 08:29:59 | <tomsmeding> | xilo: summary: not easily |
| 08:30:16 | <xilo> | ohh, i see |
| 08:30:17 | <xilo> | ty |
| 08:30:22 | <xerox> | I do prefer fst $ divMod x y in that case |
| 08:30:23 | <tomsmeding> | if you really want to, f = (fst .) . divMod |
| 08:30:51 | <tomsmeding> | but nobody thinks that is clearer than just `f x y = fst (x `divMod` y)` |
| 08:31:37 | <xerox> | also consider f = div since you drop the mod (-: |
| 08:31:46 | <tomsmeding> | lol |
| 08:32:04 | <xilo> | this looks very clear to me f x = (fst . divMod x) 10 isn't it? |
| 08:32:32 | <tomsmeding> | hm? Did you mean to leave out the '10'? |
| 08:32:40 | <xerox> | no he fixed the specific y |
| 08:32:40 | <tomsmeding> | (fst . divMod x) 10 = fst (divMod x 10) |
| 08:32:50 | <tomsmeding> | then don't write 'f x =' :p |
| 08:32:56 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 08:33:06 | <tomsmeding> | yes it's clear enough, but fst (x `divMod` y) is clearer |
| 08:33:15 | <xilo> | i change the deffinitio of f lol |
| 08:33:33 | <xilo> | changed the definition* |
| 08:33:36 | <tomsmeding> | pointfree style is sometimes nice, but it doesn't always work out nicely; and if it doesn't work out, it's better to just not |
| 08:33:39 | <xerox> | equivalently f = (`div` 10) or f = flip div 10 |
| 08:34:16 | <xilo> | ok, ty guys! |
| 08:34:59 | → | cytokine_storm joins (~cytokine_@user/cytokine-storm/x-1083107) |
| 08:35:17 | <mauke> | the general approach involves two steps. step 1: use @pl |
| 08:35:21 | <mauke> | @pl f x y = (fst . divMod) x y |
| 08:35:22 | <lambdabot> | f = fst . divMod |
| 08:35:33 | <mauke> | @pl f x y = fst (divMod x y) |
| 08:35:33 | <lambdabot> | f = (fst .) . divMod |
| 08:35:41 | <mauke> | step 2 (usually): recoil in horror |
| 08:39:19 | × | cytokine_storm quits (~cytokine_@user/cytokine-storm/x-1083107) (Ping timeout: 260 seconds) |
| 08:42:29 | → | zant joins (~zant@62.214.20.26) |
| 08:44:24 | → | elevenkb joins (~elevenkb@105.184.125.168) |
| 08:45:44 | × | kraftwerk28 quits (~kraftwerk@178.62.210.83) (Ping timeout: 260 seconds) |
| 08:49:23 | × | zant quits (~zant@62.214.20.26) (Ping timeout: 264 seconds) |
| 08:50:00 | × | elevenkb quits (~elevenkb@105.184.125.168) (Remote host closed the connection) |
| 08:52:21 | → | kraftwerk28 joins (~kraftwerk@178.62.210.83) |
| 08:52:33 | → | titibandit joins (~titibandi@xdsl-78-34-153-165.nc.de) |
| 08:56:42 | → | cfricke joins (~cfricke@user/cfricke) |
| 08:58:27 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 09:00:04 | × | cafkafk[m] quits (~cafkafkma@2001:470:69fc:105::1:cea8) (Quit: You have been kicked for being idle) |
| 09:00:50 | × | troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 255 seconds) |
| 09:03:01 | <Digit> | side curiousity query: are there system monitor tools written in haskell? a "hasktop"? |
| 09:03:01 | <Digit> | ... websearch says: statgrab, System.Remote.Monitoring, System.UDev.Monitor, ekg, System.Metrics, xmobar, ... :3 many misleading false positives? acute exact thing missing? is there like a bpytop/htop in haskell? |
| 09:03:53 | <Digit> | (and thanks all for the earlier pointers on random, from my prior question. big help.) |
| 09:05:03 | → | zant joins (~zant@62.214.20.26) |
| 09:11:52 | → | fruitbatpangolin joins (~fruitbatp@2001:470:69fc:105::2:cca6) |
| 09:21:38 | × | chomwitt quits (~chomwitt@2a02:587:7a0d:dd00:1ac0:4dff:fedb:a3f1) (Ping timeout: 265 seconds) |
| 09:26:55 | × | titibandit quits (~titibandi@xdsl-78-34-153-165.nc.de) (Remote host closed the connection) |
| 09:29:35 | → | cytokine_storm joins (~cytokine_@user/cytokine-storm/x-1083107) |
| 09:37:06 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds) |
| 09:37:42 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 09:37:50 | ← | fruitbatpangolin parts (~fruitbatp@2001:470:69fc:105::2:cca6) () |
| 09:42:41 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 268 seconds) |
| 09:47:18 | → | chomwitt joins (~chomwitt@ppp-94-67-236-76.home.otenet.gr) |
| 09:47:42 | → | aeroplane joins (~user@user/aeroplane) |
| 09:48:44 | → | elevenkb joins (~elevenkb@105.184.125.168) |
| 09:52:56 | × | zant quits (~zant@62.214.20.26) (Ping timeout: 256 seconds) |
| 09:54:10 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 09:54:24 | × | Kaiepi quits (~Kaiepi@108.175.84.104) (Ping timeout: 268 seconds) |
| 09:57:55 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:58:53 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 255 seconds) |
| 09:59:40 | → | chele joins (~chele@user/chele) |
| 10:01:02 | → | zant joins (~zant@62.96.232.178) |
| 10:02:34 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:07:04 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 265 seconds) |
| 10:13:02 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:8066:4970:bd6:2327) (Remote host closed the connection) |
| 10:14:38 | → | kuribas joins (~user@ptr-17d51eoobx7wa2n6rrf.18120a2.ip6.access.telenet.be) |
| 10:20:26 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 10:28:30 | → | __monty__ joins (~toonn@user/toonn) |
| 10:28:43 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 10:29:08 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds) |
| 10:32:54 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 10:48:50 | → | CiaoSen joins (~Jura@p200300c95716a5002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 10:50:37 | × | kuribas quits (~user@ptr-17d51eoobx7wa2n6rrf.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 27.1)) |
| 10:52:17 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 10:55:58 | → | xff0x joins (~xff0x@2405:6580:b080:900:7923:62c4:dbe7:6816) |
| 10:57:01 | → | Kaiepi joins (~Kaiepi@108.175.84.104) |
| 11:07:10 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 11:08:18 | → | ubert joins (~Thunderbi@2a02:8109:abc0:6434:c4f7:41e7:304c:6584) |
| 11:08:51 | → | FurudeRika[m] joins (~chitandae@2001:470:69fc:105::1:6039) |
| 11:13:32 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:d078:9921:dcf:5e81) |
| 11:16:49 | × | cytokine_storm quits (~cytokine_@user/cytokine-storm/x-1083107) (Ping timeout: 260 seconds) |
| 11:17:27 | → | cytokine_storm joins (~cytokine_@user/cytokine-storm/x-1083107) |
| 11:18:05 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:d078:9921:dcf:5e81) (Ping timeout: 255 seconds) |
| 11:19:57 | × | use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Remote host closed the connection) |
| 11:20:16 | → | use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) |
| 11:21:51 | → | Guest75 joins (~Guest75@178.141.153.191) |
| 11:23:50 | → | Guest60 joins (~Guest60@101.98.118.246) |
| 11:24:32 | <Guest60> | Hiya, quick question. How do you deconstruct a NonEmpty list in a pattern match? Is it just `(x:xs)` ? |
| 11:26:19 | <jackdk> | https://hackage.haskell.org/package/base-4.12.0.0/docs/Data-List-NonEmpty.html says that the constructor is `a :| [a]`, that is, it joins an `a` onto a regular list |
| 11:26:20 | <jean-paul[m]> | I typed `NonEmpty` into hoogle and got a link to this page, and then I text-searched for "constructor" and got this section - https://hackage.haskell.org/package/base-4.17.0.0/docs/Data-List-NonEmpty.html#t:NonEmpty |
| 11:28:25 | <Guest60> | ooh so it's `(x :| xs)` , That makes sense |
| 11:29:04 | → | Xeroine_ joins (~Xeroine@user/xeroine) |
| 11:29:14 | × | CiaoSen quits (~Jura@p200300c95716a5002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
| 11:29:14 | × | Xeroine quits (~Xeroine@user/xeroine) (Ping timeout: 265 seconds) |
| 11:30:51 | <jackdk> | and then the `xs` is a normal list, so for example the pattern `(x1:|x2 :xs)` will match the first two elements |
| 11:31:04 | → | beteigeuze joins (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) |
| 11:33:40 | <Guest60> | gotcha. thanks! |
| 11:34:40 | <Axman6> | evaluating foldr with a function strict in both arguments: https://www.youtube.com/watch?v=qla3RXaRPCg |
| 11:34:54 | × | {-d0t-} quits (~q_q@user/-d0t-/x-7915216) (Ping timeout: 260 seconds) |
| 11:37:17 | → | mestre joins (~mestre@191.177.185.178) |
| 11:40:16 | → | elevenkb3 joins (~elevenkb@105.184.125.168) |
| 11:40:20 | × | elevenkb3 quits (~elevenkb@105.184.125.168) (Client Quit) |
| 11:44:34 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
| 11:44:34 | × | poscat0x04 quits (~poscat@2408:8206:4823:fd6f:98ab:5c38:136c:5932) (Ping timeout: 256 seconds) |
| 11:44:42 | → | poscat joins (~poscat@2408:8206:4823:5a14:59fc:9fd:2bdc:2771) |
| 11:54:04 | <tomsmeding> | Axman6: that is disturbingly accurate |
| 11:56:25 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 12:00:11 | → | cafkafk_ joins (~cafkafk@fsf/member/cafkafk) |
| 12:00:39 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 265 seconds) |
| 12:02:17 | × | cafkafk quits (~cafkafk@fsf/member/cafkafk) (Ping timeout: 255 seconds) |
| 12:03:34 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 12:14:52 | × | Guest60 quits (~Guest60@101.98.118.246) (Quit: Client closed) |
| 12:15:01 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 12:17:44 | × | acidjnk_new quits (~acidjnk@p200300d6e7137a02a1d8d2645910d460.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 12:36:02 | → | safinaskar joins (~quassel@178.160.244.66) |
| 12:36:27 | <safinaskar> | is there work on dependent haskell? does somebody actually write code? |
| 12:37:05 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds) |
| 12:44:14 | <tomsmeding> | safinaskar: many things need to happen to make DH a thing, and the most effective way to make those happen, currently, is to go one ghc language proposal at a time |
| 12:44:18 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 12:44:35 | → | {-d0t-} joins (~q_q@user/-d0t-/x-7915216) |
| 12:44:35 | × | zant quits (~zant@62.96.232.178) (Ping timeout: 264 seconds) |
| 12:44:49 | × | kraftwerk28 quits (~kraftwerk@178.62.210.83) (Quit: ZNC 1.8.2 - https://znc.in) |
| 12:44:56 | <tomsmeding> | and between proposals, people are implementing the previous ones (when they have time and feel like it), and are crystallising what the next one should be precisely |
| 12:45:08 | <tomsmeding> | the former involves writing code, the latter does not, but both are essential |
| 12:46:03 | <tomsmeding> | the latter may even be _more_ essential for the longterm goal of getting DH, because there are many who disagree with that goal, and those people will only accept proposals that have intrinsic merit on their own, apart from paving the way to DH |
| 12:46:31 | → | kraftwerk28 joins (~kraftwerk@178.62.210.83) |
| 12:46:48 | <tomsmeding> | (this despite the fact that a proposal has been accepted at some point to favour changes that _don't_ break DH over changes that do) |
| 12:46:54 | <tomsmeding> | (if I remember correctly) |
| 12:47:28 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 12:47:28 | × | MajorBiscuit quits (~MajorBisc@c-001-013-019.client.tudelft.eduvpn.nl) (Ping timeout: 260 seconds) |
| 12:53:53 | × | cepete02 quits (~cepete02@2600:1702:38a0:7ab0:5801:f9cb:453d:2c67) (Ping timeout: 260 seconds) |
| 12:54:47 | <safinaskar> | tomsmeding: ok, thanks |
| 12:55:13 | <safinaskar> | is it true that even if dependent haskell appears, haskell still will be unsound as a prover? |
| 12:55:36 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 12:56:24 | <tomsmeding> | safinaskar: probably, because of -XTypeInType |
| 12:56:42 | <tomsmeding> | though I'm not sure on the details, there may be an idea floating around on how to make it sound |
| 12:57:02 | <tomsmeding> | but I expect the intent of DH is primarily more expressiveness, not necessarily usefulness as a prover |
| 12:57:08 | <tomsmeding> | agda and idris already exist for that |
| 13:00:54 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 13:02:41 | → | troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 13:03:58 | → | zant joins (~zant@62.96.232.178) |
| 13:12:41 | → | dsrt^ joins (~dsrt@76.145.185.103) |
| 13:14:36 | × | zant quits (~zant@62.96.232.178) (Ping timeout: 265 seconds) |
| 13:17:11 | <aeroplane> | Hey all, I have a small ques, does Haskell have literate types, eg. type of variable 'y' is either "yes" or "no". Thanks. |
| 13:17:43 | <aeroplane> | Tried searching but unable to find anything |
| 13:18:59 | <merijn> | aeroplane: What does "literate type" mean? |
| 13:19:52 | <darkling> | Looks like the kind of thing I'd use an atom for in erlang. |
| 13:20:15 | <aeroplane> | sorry I meant literal type |
| 13:20:26 | <merijn> | aeroplane: Not really |
| 13:20:39 | <merijn> | aeroplane: Normally you'd just define a new type for whatever atoms you want |
| 13:21:16 | <merijn> | "data YesOrNo = Yes | No" something like that :p |
| 13:23:11 | × | cytokine_storm quits (~cytokine_@user/cytokine-storm/x-1083107) (Ping timeout: 255 seconds) |
| 13:23:19 | → | acidjnk_new joins (~acidjnk@p54ad5adb.dip0.t-ipconnect.de) |
| 13:24:08 | → | cytokine_storm joins (~cytokine_@user/cytokine-storm/x-1083107) |
| 13:24:08 | <aeroplane> | merijn: thanks, I didNt know that. It was that simple and I feel like an idiot. |
| 13:24:11 | Xeroine_ | is now known as Xeroine |
| 13:25:06 | → | cepete02 joins (~cepete02@189.206-40-96.netnet.net) |
| 13:25:10 | <merijn> | Main reason I don't think anyone bothered with a notion of "atom" is that it's so trivial to define custom datatypes/enumerations |
| 13:27:11 | <cepete02> | I have a function that returns `Maybe ProcessId`. Using fromMaybe what can I do with the `Nothing` side, ie... (fromMaybe ? ProcessId)? |
| 13:27:42 | × | xff0x quits (~xff0x@2405:6580:b080:900:7923:62c4:dbe7:6816) (Ping timeout: 256 seconds) |
| 13:28:05 | × | kraftwerk28 quits (~kraftwerk@178.62.210.83) (Quit: ZNC 1.8.2 - https://znc.in) |
| 13:29:32 | → | kraftwerk28 joins (~kraftwerk@178.62.210.83) |
| 13:30:18 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 13:30:30 | <safinaskar> | tomsmeding: idris 2 seems to have type-in-type, too. very recently they made first step to removing this ( https://github.com/idris-lang/Idris2/pull/2076 ) |
| 13:32:51 | <aeroplane> | merijn: Is it possible for Haskell deduce literal type? Lemme explain. Say, if we have a list [("a",1),("b",4),("a",2),("b",3)], |
| 13:32:51 | <aeroplane> | then, as you can see, the head of all the tuples in the list is always, either "a" or "b". Haskell will display the head as String type. But can it deduce it as 'a | b'? |
| 13:33:19 | <aeroplane> | Thanks, please pardon my ignorance. |
| 13:34:40 | → | xff0x joins (~xff0x@2405:6580:b080:900:7923:62c4:dbe7:6816) |
| 13:37:26 | × | cytokine_storm quits (~cytokine_@user/cytokine-storm/x-1083107) (Quit: Quit) |
| 13:42:49 | → | zant joins (~zant@62.96.232.178) |
| 13:42:53 | × | cepete02 quits (~cepete02@189.206-40-96.netnet.net) (Ping timeout: 260 seconds) |
| 13:43:32 | <jean-paul[m]> | cepete02: Do you have a value of `ProcessId` that represents "no process"? If not then I'm not sure it makes sense to try to do what you describe. |
| 13:47:32 | × | zant quits (~zant@62.96.232.178) (Ping timeout: 256 seconds) |
| 13:48:40 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 13:56:18 | × | Guest75 quits (~Guest75@178.141.153.191) (Ping timeout: 260 seconds) |
| 13:56:38 | <lortabac> | aeroplane: no, this is not possible |
| 13:57:53 | <lortabac> | aeroplane: what you can do is defining an enum type with two constructors: data AB = A | B |
| 13:58:17 | <lortabac> | and then the list would be [(A, 1), (B, 4)...] |
| 14:05:45 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 14:05:45 | × | ystael quits (~ystael@user/ystael) (Read error: Connection reset by peer) |
| 14:06:29 | <aeroplane> | lortabac: thanks for clarifying |
| 14:08:54 | → | zant joins (~zant@62.96.232.178) |
| 14:09:42 | × | {-d0t-} quits (~q_q@user/-d0t-/x-7915216) (Ping timeout: 268 seconds) |
| 14:15:37 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 14:16:00 | × | elevenkb quits (~elevenkb@105.184.125.168) (Quit: Client closed) |
| 14:16:18 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:d078:9921:dcf:5e81) |
| 14:19:57 | → | MajorBiscuit joins (~MajorBisc@c-001-013-019.client.tudelft.eduvpn.nl) |
| 14:20:55 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:d078:9921:dcf:5e81) (Ping timeout: 260 seconds) |
| 14:22:37 | → | ystael joins (~ystael@user/ystael) |
| 14:23:14 | → | elevenkb joins (~elevenkb@105.184.125.168) |
| 14:25:18 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 255 seconds) |
| 14:26:59 | × | dsrt^ quits (~dsrt@76.145.185.103) (Remote host closed the connection) |
| 14:35:04 | → | {-d0t-} joins (~q_q@user/-d0t-/x-7915216) |
| 14:40:01 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 14:41:09 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 14:42:44 | × | {-d0t-} quits (~q_q@user/-d0t-/x-7915216) (Ping timeout: 260 seconds) |
| 14:43:44 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 14:44:50 | × | razetime quits (~quassel@49.207.211.219) (Quit: No Ping reply in 180 seconds.) |
| 14:44:57 | → | shriekingnoise joins (~shrieking@186.137.167.202) |
| 14:45:04 | → | razetime joins (~quassel@49.207.211.219) |
| 14:45:39 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 14:47:15 | → | acarrico joins (~acarrico@dhcp-68-142-48-19.greenmountainaccess.net) |
| 14:51:01 | × | mestre quits (~mestre@191.177.185.178) (Ping timeout: 268 seconds) |
| 14:52:48 | → | mestre joins (~mestre@191.177.185.178) |
| 14:53:07 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:58:50 | × | acidjnk_new quits (~acidjnk@p54ad5adb.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 15:00:48 | × | mestre quits (~mestre@191.177.185.178) (Quit: Lost terminal) |
| 15:02:27 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 15:05:50 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 15:06:45 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 15:07:00 | × | elevenkb quits (~elevenkb@105.184.125.168) (Quit: Client closed) |
| 15:07:03 | × | Kaiepi quits (~Kaiepi@108.175.84.104) (Ping timeout: 268 seconds) |
| 15:07:13 | → | elevenkb joins (~elevenkb@105.184.125.168) |
| 15:07:45 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 15:15:40 | × | irrgit__ quits (~irrgit@86.106.90.226) (Read error: Connection reset by peer) |
| 15:20:33 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.7.1) |
| 15:21:11 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds) |
| 15:21:11 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 264 seconds) |
| 15:26:33 | → | irrgit_ joins (~irrgit@146.70.27.242) |
| 15:26:42 | → | dibblego joins (~dibblego@122-199-1-30.ip4.superloop.com) |
| 15:26:42 | × | dibblego quits (~dibblego@122-199-1-30.ip4.superloop.com) (Changing host) |
| 15:26:42 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 15:29:15 | → | Tuplanolla joins (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) |
| 15:29:35 | → | neutropolis joins (~neutropol@85.251.151.86.dyn.user.ono.com) |
| 15:31:17 | × | neutropolis quits (~neutropol@85.251.151.86.dyn.user.ono.com) (Quit: WeeChat 3.5) |
| 15:31:49 | → | neutropolis joins (~neutropol@85.251.151.86.dyn.user.ono.com) |
| 15:33:53 | × | neutropolis quits (~neutropol@85.251.151.86.dyn.user.ono.com) (Client Quit) |
| 15:34:08 | → | neutropolis joins (~neutropol@85.251.151.86.dyn.user.ono.com) |
| 15:34:08 | × | neutropolis quits (~neutropol@85.251.151.86.dyn.user.ono.com) (Client Quit) |
| 15:34:48 | × | chomwitt quits (~chomwitt@ppp-94-67-236-76.home.otenet.gr) (Ping timeout: 268 seconds) |
| 15:40:06 | × | causal quits (~user@50.35.83.177) (Quit: WeeChat 3.7.1) |
| 15:42:14 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds) |
| 15:42:40 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 15:42:49 | × | euandreh quits (~Thunderbi@179.214.113.107) (Ping timeout: 260 seconds) |
| 15:43:55 | → | pixie joins (~pixie@cm-170-253-186-17.maxxsouthbb.net) |
| 15:44:17 | → | LemanR joins (~LemanR@pool-74-109-28-147.phlapa.fios.verizon.net) |
| 15:44:36 | ← | LemanR parts (~LemanR@pool-74-109-28-147.phlapa.fios.verizon.net) () |
| 15:46:26 | → | sm_ joins (~sm@c-73-61-155-181.hsd1.ma.comcast.net) |
| 15:46:26 | × | sm_ quits (~sm@c-73-61-155-181.hsd1.ma.comcast.net) (Changing host) |
| 15:46:26 | → | sm_ joins (~sm@plaintextaccounting/sm) |
| 15:48:43 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 15:51:11 | × | sm_ quits (~sm@plaintextaccounting/sm) (Ping timeout: 264 seconds) |
| 15:53:25 | <zzz> | i installed hls with ghcup and it gives me "GHC ABIs don't match" |
| 15:53:37 | <zzz> | how do we solve this? |
| 15:54:00 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 15:54:00 | <tomsmeding> | zzz: did you install ghc using ghcup as well? |
| 15:54:07 | <zzz> | yes |
| 15:54:15 | <tomsmeding> | are you using the ghc from ghcup? |
| 15:54:33 | <zzz> | yes |
| 15:54:37 | <tomsmeding> | i.e. check that you don't have a ghc from a system package manager lying around, for example, which may come earlier in your path |
| 15:54:58 | <tomsmeding> | in that case no idea |
| 15:55:13 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 15:55:16 | <tomsmeding> | #haskell-language-server exists |
| 15:55:48 | <zzz> | been there |
| 15:55:56 | <zzz> | thanks anyway |
| 15:56:13 | <tomsmeding> | zzz: is that the full error, by the way? No further information? |
| 15:56:36 | <zzz> | that's what i could gather for the weirdly formatted logs |
| 15:56:42 | <zzz> | let me check |
| 15:56:51 | <tomsmeding> | post full logs? Perhaps other people spot other things |
| 15:59:09 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds) |
| 16:00:28 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:02:03 | × | razetime quits (~quassel@49.207.211.219) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 16:02:48 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 16:09:27 | → | acidjnk_new joins (~acidjnk@p200300d6e7137a95e97f13ccb1fca6e5.dip0.t-ipconnect.de) |
| 16:18:00 | → | Guest753 joins (~Guest75@178.141.153.191) |
| 16:18:40 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 16:19:23 | × | troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 264 seconds) |
| 16:20:00 | → | titibandit joins (~titibandi@xdsl-78-34-153-165.nc.de) |
| 16:20:07 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 16:20:28 | → | money_ joins (~money@pool-100-11-18-203.phlapa.fios.verizon.net) |
| 16:24:54 | <zzz> | https://paste.jrvieira.com/1669738992743 |
| 16:25:31 | → | jinsun__ joins (~jinsun@user/jinsun) |
| 16:25:31 | jinsun | is now known as Guest7106 |
| 16:25:31 | jinsun__ | is now known as jinsun |
| 16:26:39 | <mauke> | ah, yes. light gray text on white background. very readable |
| 16:26:57 | → | Kaiepi joins (~Kaiepi@108.175.84.104) |
| 16:26:58 | × | Guest7106 quits (~jinsun@user/jinsun) (Ping timeout: 265 seconds) |
| 16:28:24 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 16:32:13 | × | tabemann_ quits (~tabemann@2600:1700:7990:24e0:a94c:868e:1baa:b99f) (Remote host closed the connection) |
| 16:32:26 | → | tabemann_ joins (~tabemann@2600:1700:7990:24e0:ca39:3d1d:9852:a6c9) |
| 16:33:19 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:d078:9921:dcf:5e81) |
| 16:33:47 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds) |
| 16:38:06 | → | chomwitt joins (~chomwitt@ppp-94-67-236-76.home.otenet.gr) |
| 16:40:30 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 265 seconds) |
| 16:45:28 | × | zant quits (~zant@62.96.232.178) (Ping timeout: 260 seconds) |
| 16:45:37 | <chreekat> | ? a bit small but looks ok to me |
| 16:46:48 | <geekosaur> | scroll down |
| 16:46:56 | <geekosaur> | the background goes white |
| 16:49:25 | → | accord joins (uid568320@id-568320.hampstead.irccloud.com) |
| 16:49:37 | <geekosaur> | meanwhile it looks to me like at first it has trouble loading libtinfo.so, then switches to the reported error — which makes me think a different ghc is in play at that point |
| 16:51:27 | → | johnw joins (~johnw@2600:1700:cf00:db0:3c55:6f83:c455:f7f2) |
| 16:53:37 | → | zant joins (~zant@62.96.232.178) |
| 16:55:02 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 16:55:12 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 16:56:25 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 17:01:48 | × | elevenkb quits (~elevenkb@105.184.125.168) (Ping timeout: 260 seconds) |
| 17:04:28 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 17:05:25 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 17:09:16 | → | lyle joins (~lyle@104.246.145.85) |
| 17:15:00 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:d078:9921:dcf:5e81) (Remote host closed the connection) |
| 17:16:16 | × | fserucas quits (~fserucas@212.157.222.2) (Ping timeout: 265 seconds) |
| 17:20:25 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 17:21:24 | <zzz> | geekosaur: thank you for noticing. css fails to render quickly on very long pages when shaddowing properties, i know how to fix it |
| 17:23:20 | <zzz> | geekosaur: probably no ghc at all at that point. this is a fresh vm |
| 17:27:08 | × | money_ quits (~money@pool-100-11-18-203.phlapa.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 17:27:55 | → | {-d0t-} joins (~q_q@user/-d0t-/x-7915216) |
| 17:28:46 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 17:30:47 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
| 17:31:44 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:d078:9921:dcf:5e81) |
| 17:35:15 | × | andreas303 quits (andreas303@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com) |
| 17:35:15 | × | xacktm quits (~xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com) |
| 17:36:06 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 17:36:45 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:64e2:f035:e6f2:7b30) (Quit: WeeChat 2.8) |
| 17:38:59 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds) |
| 17:39:39 | → | elevenkb joins (~elevenkb@105.184.125.168) |
| 17:42:02 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds) |
| 17:44:06 | → | econo joins (uid147250@user/econo) |
| 17:48:36 | × | titibandit quits (~titibandi@xdsl-78-34-153-165.nc.de) (Quit: Leaving.) |
| 17:50:37 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 17:55:36 | × | cafkafk_ quits (~cafkafk@fsf/member/cafkafk) (Remote host closed the connection) |
| 17:56:40 | → | cafkafk_ joins (~cafkafk@fsf/member/cafkafk) |
| 18:00:12 | <tomsmeding> | zzz: this reads a log like you posted in stdin and prints the actual log on stdout https://paste.tomsmeding.com/2Uwi58r7 |
| 18:01:43 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:d078:9921:dcf:5e81) (Remote host closed the connection) |
| 18:02:11 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
| 18:02:28 | <zzz> | thank you |
| 18:02:39 | <zzz> | why is it this way though? |
| 18:03:19 | <sus> | trying to calculate euclidian distance for the mooc.fi exercise, am I missing something, the example inputs give me 0 and NaN |
| 18:03:21 | <sus> | `distance x1 y1 x2 y2 = sqrt ( (x2-x1)^2 - (y2-y1)^2 )` |
| 18:03:55 | <mauke> | what are the example inputs? |
| 18:04:43 | <sus> | 0 0 1 1 should produce 1.4142135 and 1 1 4 5 should produce 5.0 |
| 18:04:57 | <mauke> | > let distance x1 y1 x2 y2 = sqrt ( (x2-x1)^2 - (y2-y1)^2 ) in distance 0 0 1 1 |
| 18:04:59 | <lambdabot> | 0.0 |
| 18:05:33 | <c_wraith> | that's not the distance formula |
| 18:05:43 | <c_wraith> | It's close, but it's got a mistake |
| 18:06:07 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:06:25 | <mauke> | oh :-) |
| 18:06:51 | <mauke> | yeah, clearly 1^2 - 1^2 is 0 |
| 18:06:58 | <zzz> | > let distance x1 y1 x2 y2 = sqrt ( (x2-x1)^2 + (y2-y1)^2 ) in distance 0 0 1 1 |
| 18:06:59 | <lambdabot> | 1.4142135623730951 |
| 18:07:41 | <zzz> | :p |
| 18:08:13 | <sus> | oh my god |
| 18:08:29 | <sus> | i cant read |
| 18:08:45 | <c_wraith> | Been there. Probably had that exact bug several times... |
| 18:08:52 | <mauke> | "reading is cringe" |
| 18:10:58 | <sus> | > Couldn't match expected type ‘Double’ with actual type ‘Int’ |
| 18:10:58 | <sus> | doesnt sqrt always return double though? |
| 18:10:59 | <lambdabot> | <hint>:1:25: error: parse error on input ‘type’ |
| 18:11:39 | <mauke> | not necessarily |
| 18:11:42 | <mauke> | :t sqrt |
| 18:11:43 | <lambdabot> | Floating a => a -> a |
| 18:12:06 | <mauke> | the type is generic, and if ghc deduces that the argument has type Int, it will assign Int to the result as well |
| 18:12:13 | <mauke> | (and then produce a type error elsewhere) |
| 18:12:55 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 18:14:11 | <mauke> | generally speaking, you want to add explicit type signatures to all of your top-level functions |
| 18:14:36 | <mauke> | and if you still get inscrutable type errors, add types to local definitions as well, until you get an error that makes sense |
| 18:15:45 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 18:16:18 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 18:20:40 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 18:25:59 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:29:15 | × | beteigeuze quits (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 265 seconds) |
| 18:31:09 | <EvanR> | sus, that's the correct formula for special relativity |
| 18:32:31 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 18:40:17 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 18:42:47 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:42:53 | → | LemanR joins (~LemanR@pool-74-109-28-147.phlapa.fios.verizon.net) |
| 18:45:48 | → | andreas303 joins (andreas303@ip227.orange.bnc4free.com) |
| 18:46:08 | → | xacktm joins (~xacktm@user/xacktm) |
| 18:46:32 | <LemanR> | so I got my next exercise done but I wanted to know if there is a way to define a function inside of a pattern matching block. |
| 18:46:57 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 18:48:47 | <LemanR> | https://bpa.st/7TZQ |
| 18:48:52 | <mauke> | you can always do let/in in an expression |
| 18:49:10 | <LemanR> | k will read real quick to see how haskell does this |
| 18:49:55 | <mauke> | uh |
| 18:50:06 | <mauke> | why is it called convertYearToSeconds if it takes seconds as input? |
| 18:50:52 | <LemanR> | Because I don't plan things as I'm doing them lol so it had made sense before on a failed attempt lol |
| 18:51:16 | <mauke> | you could do something like: ageOn planet seconds = let years = seconds / 31557600 in case planet of ... |
| 18:51:40 | × | Cale quits (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Read error: Connection reset by peer) |
| 18:51:44 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:51:55 | <monochrom> | This is why "foo" is a more meaningful name than "meaningful" names. >:) |
| 18:52:19 | <LemanR> | lol in this case that is literally true as the current name is very misleading lol |
| 18:52:19 | <monochrom> | And "x" is even more meaningful >:) |
| 18:52:58 | × | jrm quits (~jrm@user/jrm) (Ping timeout: 256 seconds) |
| 18:53:30 | <monochrom> | I do start with names like "foo" and let it survive for 10 minutes so I have time to settle on what it should really be and what's a good name. |
| 18:54:02 | <LemanR> | That's actually a really good tip actually, I should get into that habit |
| 18:54:19 | <LemanR> | -.- I don's plan when I type half the time to |
| 18:54:44 | <monochrom> | Even if you have an initial plan, it's always changed. |
| 18:55:09 | <monochrom> | This is why an older generation recommended "make a prototype, then throw it away". |
| 18:55:18 | <geekosaur> | "no battle plan survives contact with the enemy" |
| 18:55:23 | × | MajorBiscuit quits (~MajorBisc@c-001-013-019.client.tudelft.eduvpn.nl) (Ping timeout: 264 seconds) |
| 18:56:34 | <monochrom> | To be fair, if you have already written like 1000 webapss, and this is the 1001st time, you don't need that, you already know perfectly what to do. |
| 18:56:34 | <mauke> | "Everyone has a plan until they get punched in the face." --Mike Tyson |
| 18:56:54 | <monochrom> | But otherwise, you are always exploring design options, i.e., learning. |
| 18:57:46 | → | haris joins (~haris@69.169.3.81) |
| 18:58:44 | × | zant quits (~zant@62.96.232.178) (Ping timeout: 265 seconds) |
| 18:58:45 | <EvanR> | I name the function what it's supposed to be, and if half way through writing the function, or even after it's written, it's not doing that, just delete everything xD |
| 18:58:59 | <EvanR> | fatal error |
| 18:59:34 | <EvanR> | works great when you are writing haskell 1 liner functions |
| 19:00:15 | <geekosaur> | so you liked those 3 ghc errors that just deleted your source if compilation failed? 🙂 |
| 19:00:32 | <LemanR> | omg I found my favorite way to do this https://bpa.st/3EUQ |
| 19:01:27 | <mauke> | not bad |
| 19:02:21 | <mauke> | you can still get rid of some redundancy by doing: ageOn planet seconds = seconds / 31557600 / case planet of Mercury -> 0.2408467; ... |
| 19:02:25 | <EvanR> | honestly I'd give that ghc feature a try |
| 19:02:30 | → | Guest2995 joins (~Guest29@c-73-149-163-248.hsd1.ma.comcast.net) |
| 19:04:24 | <EvanR> | am I spoilering by saying ageOn planet seconds = seconds / yearOnPlanet planet |
| 19:04:50 | × | cafkafk_ quits (~cafkafk@fsf/member/cafkafk) (Ping timeout: 255 seconds) |
| 19:04:55 | <LemanR> | I already 'solved' it noob style but I always take a while to try to refine it |
| 19:05:01 | <LemanR> | so no not really |
| 19:05:15 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:05:15 | <EvanR> | optimized for sense making |
| 19:05:50 | × | Guest2995 quits (~Guest29@c-73-149-163-248.hsd1.ma.comcast.net) (Client Quit) |
| 19:06:20 | <EvanR> | challenge mode: enhance the program to allow exoplanets |
| 19:07:30 | → | cafkafk_ joins (~cafkafk@fsf/member/cafkafk) |
| 19:08:07 | <LemanR> | mauke the only reason I like my version better is because I like the idea of having a named variable. That way in say a month I glance on such code I don't have to think "why did I do this math", the function tells me why the math is there. |
| 19:08:17 | → | samt___ joins (uid578768@id-578768.ilkley.irccloud.com) |
| 19:09:13 | <LemanR> | I am trying to see if I can replace .... seconds = where yearConvert or some such as I like the idea of getting rid of the redundant "yearConverts" in the block |
| 19:09:14 | → | Cale joins (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) |
| 19:09:47 | <mauke> | ageOn planet seconds = years / case planet of Mercury -> 0.2408467; ... where years = seconds / ... |
| 19:10:56 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 19:13:27 | × | elevenkb quits (~elevenkb@105.184.125.168) (Quit: Client closed) |
| 19:13:34 | <LemanR> | https://bpa.st/KU6A niiiiiice |
| 19:15:43 | → | jrm joins (~jrm@user/jrm) |
| 19:15:44 | <EvanR> | yearConvert, nice programmer grammar there xD |
| 19:15:57 | <mauke> | proGrammar |
| 19:16:08 | <EvanR> | where you take grammatical phrase and reverse it for the purposes of being code |
| 19:16:35 | <LemanR> | XD for some reason it made sense to my brain to do it like that |
| 19:17:02 | <mauke> | pickPocket |
| 19:17:18 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 19:17:24 | <LemanR> | wrong, pocketPick ....obviously lol |
| 19:17:39 | <LemanR> | whatAction apparently lol |
| 19:17:52 | → | mastarija joins (~mastarija@2a05:4f46:e03:6000:f1ac:bce8:2f8c:70c3) |
| 19:17:52 | <EvanR> | pocket has been picked, mine has |
| 19:17:53 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds) |
| 19:17:56 | <mauke> | well, a pickpocket is really a pocketpicker |
| 19:17:58 | → | zant joins (~zant@62.214.20.26) |
| 19:18:01 | <EvanR> | wait, bad yoda |
| 19:18:27 | <LemanR> | pocket of mine, picked it has ? |
| 19:18:46 | <mauke> | inb4 seagulls |
| 19:18:55 | <LemanR> | maybe if yoda was drinking..... |
| 19:20:03 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 19:21:54 | × | LemanR quits (~LemanR@pool-74-109-28-147.phlapa.fios.verizon.net) (Quit: Client closed) |
| 19:21:56 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 19:22:10 | → | LemanR joins (~LemanR@pool-74-109-28-147.phlapa.fios.verizon.net) |
| 19:22:23 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds) |
| 19:22:23 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 19:22:29 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 19:22:36 | <LemanR> | you know doing the reverse can make sense. Think if you had a lot of functions, where call this like a collection...a library!, anyway if I forget what I called that thing I do with year I can simply ctrl f (find) type what I'm manipulating (year) then I would find everything i can do with year. So in that sense whatAction might be better |
| 19:22:45 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 19:23:11 | <LemanR> | unless you'd rather find by action and see everything you can convert but the reverse might be more immediately useful |
| 19:23:58 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 19:24:33 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 19:25:07 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 19:26:12 | × | zant quits (~zant@62.214.20.26) (Ping timeout: 248 seconds) |
| 19:26:56 | → | Wstfgl0 joins (~me-me@2602:ff16:3:0:1:dc:beef:d00d) |
| 19:28:55 | money | is now known as polo |
| 19:29:53 | → | gmg joins (~user@user/gehmehgeh) |
| 19:29:53 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 19:30:52 | <monochrom> | The right thing to do is that the name should contain both "year" and "second". |
| 19:31:29 | <monochrom> | This is why "pure :: a -> F a" should be called "pureToImpure" or "impureFromPure". |
| 19:32:06 | → | ru0mad joins (~ru0mad@82-64-17-144.subs.proxad.net) |
| 19:32:59 | × | noctux quits (~noctux@user/noctux) (Read error: Connection reset by peer) |
| 19:33:07 | → | noctux joins (~noctux@user/noctux) |
| 19:34:07 | <EvanR> | LemanR, luckily we have modules to factor out 100 functions that all begin with year that you can do with a year |
| 19:34:09 | × | [_________] quits (~oos95GWG@user/oos95GWG) (Ping timeout: 252 seconds) |
| 19:34:23 | <mauke> | purée 42 |
| 19:34:41 | <mauke> | monochrom: but it's not a function |
| 19:35:27 | <LemanR> | and by searching I can learn everything I can do with year :p |
| 19:36:08 | → | [_________] joins (~oos95GWG@user/oos95GWG) |
| 19:36:29 | <EvanR> | though modules for that purpose have the same problem as OOP, where operations involving 2 types can only go in 1 module |
| 19:37:08 | <EvanR> | but at least it's not like ruby where anything ever that takes a string as argument is monkey patched into the String class |
| 19:37:14 | <monochrom> | What is a function? |
| 19:37:37 | <mauke> | a miserable pile of secrets |
| 19:38:32 | <monochrom> | What you should search for is "Year" in type sigs. That's really what you can do with a year. |
| 19:39:02 | <monochrom> | Although, there is a "small" complication. If Year is an instance of Num, now you have to search for "Num" too... |
| 19:39:19 | <EvanR> | Year can't be Num, it's missing zero |
| 19:39:29 | <LemanR> | whatTypeAction?!?! |
| 19:39:44 | <LemanR> | yearFloatConvert |
| 19:40:07 | <EvanR> | we have conversion type classes which consolidate the conversion verb names |
| 19:40:23 | <EvanR> | :t fromIntegral |
| 19:40:24 | <lambdabot> | (Integral a, Num b) => a -> b |
| 19:40:27 | <EvanR> | :t realToFrac |
| 19:40:28 | <lambdabot> | (Real a, Fractional b) => a -> b |
| 19:40:33 | <EvanR> | :t floor |
| 19:40:34 | <lambdabot> | (RealFrac a, Integral b) => a -> b |
| 19:40:49 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:d078:9921:dcf:5e81) |
| 19:41:12 | <LemanR> | guys, doing the pangram exercise, I actually have to plan this one out first o.0 no hints as I need to solve first. |
| 19:41:18 | <EvanR> | so yearFloatConvert could be hidden somewhere but accessed via one of those 3 |
| 19:41:25 | <LemanR> | *guys/gals/all |
| 19:42:11 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
| 19:42:52 | <EvanR> | monochrom, a random internet post claims to reveal what is a function https://math.stackexchange.com/questions/926110/etymology-of-the-word-function-in-mathematics |
| 19:43:38 | → | gmg joins (~user@user/gehmehgeh) |
| 19:44:53 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds) |
| 19:45:03 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 19:45:06 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:d078:9921:dcf:5e81) (Ping timeout: 256 seconds) |
| 19:46:54 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 19:49:26 | ← | roconnor parts (~quassel@coq/roconnor) () |
| 19:50:07 | × | finsternis quits (~X@23.226.237.192) (Read error: Connection reset by peer) |
| 19:50:52 | <LemanR> | omg and I actually feel as though I need ghci running to test parts of my plan as I go. I'm starting to need good habits now o.0 |
| 19:51:06 | <LemanR> | guess today is set up emacs w/ haskell day |
| 19:51:11 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 264 seconds) |
| 19:53:53 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 19:54:04 | <EvanR> | I try to keep ghci open on the side, reloading the file each time something changes so I can test it |
| 19:54:39 | <EvanR> | unfortunately it seems to be impossible to do when using a cabal run script |
| 19:55:04 | <LemanR> | my favorite IDE still is Rstudio or at least how they were doing it ~2 years ago (idk if they changed the design). |
| 19:56:35 | <EvanR> | keeping as much as possible out of IO also helps |
| 19:58:33 | <LemanR> | I think the language is 'design' with the thought that a programmer should keep as much out of IO as possible. Otherwise the more in IO the more potential for side-effects I think right? |
| 19:58:35 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 19:58:41 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 20:00:13 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 20:01:00 | <mauke> | you can basically write C in Haskell by putting everything in IO |
| 20:01:55 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 20:03:58 | <mauke> | :t Foreign.Marshall.Alloc.mallocBytes |
| 20:03:59 | <lambdabot> | error: |
| 20:03:59 | <lambdabot> | Not in scope: ‘Foreign.Marshall.Alloc.mallocBytes’ |
| 20:04:00 | <lambdabot> | No module named ‘Foreign.Marshall.Alloc’ is imported. |
| 20:04:02 | <mauke> | aw |
| 20:04:17 | <mauke> | if you put enough effort in, you can even get buffer overflows and memory leaks |
| 20:06:23 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:07:47 | → | simendsjo joins (~user@84.211.91.241) |
| 20:08:03 | <EvanR> | LemanR, well among other things, it's hard to take an IO action and test it in ghci |
| 20:08:22 | <EvanR> | rather, if it requires resources that came from IO |
| 20:08:42 | × | mud quits (~mud@user/kadoban) (Quit: quit) |
| 20:08:54 | <EvanR> | or worse, requires an invisible context involving IO |
| 20:08:58 | → | mud joins (~mud@user/kadoban) |
| 20:10:01 | <LemanR> | I'm going to pretend I didn't read any of that and stay a little longer in my haskell noob-bubble lol |
| 20:12:22 | → | Guest75 joins (~Guest75@178.141.153.191) |
| 20:12:33 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 20:12:40 | × | {-d0t-} quits (~q_q@user/-d0t-/x-7915216) (Ping timeout: 260 seconds) |
| 20:13:16 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 20:13:16 | × | mud quits (~mud@user/kadoban) (Read error: Connection reset by peer) |
| 20:13:26 | → | mud joins (~mud@user/kadoban) |
| 20:14:20 | → | titibandit joins (~titibandi@xdsl-78-34-153-165.nc.de) |
| 20:14:30 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 20:15:23 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 20:16:03 | × | Guest753 quits (~Guest75@178.141.153.191) (Ping timeout: 260 seconds) |
| 20:17:53 | × | use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Remote host closed the connection) |
| 20:18:12 | → | use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) |
| 20:20:25 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds) |
| 20:21:30 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 20:23:38 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 20:24:52 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 20:27:00 | × | mud quits (~mud@user/kadoban) (Ping timeout: 248 seconds) |
| 20:27:24 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 20:28:17 | → | kadobanana joins (~mud@user/kadoban) |
| 20:28:42 | × | lyle quits (~lyle@104.246.145.85) (Quit: WeeChat 3.7.1) |
| 20:32:03 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:35:35 | × | kadobanana quits (~mud@user/kadoban) (Read error: Connection reset by peer) |
| 20:35:36 | → | mud joins (~mud@user/kadoban) |
| 20:36:16 | → | sammelweis_ joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 20:36:16 | × | sammelweis_ quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Client Quit) |
| 20:42:05 | → | pavonia joins (~user@user/siracusa) |
| 20:42:36 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 20:48:23 | → | troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 20:48:30 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 20:48:35 | <sm> | quite right |
| 20:48:38 | <sm> | lalalala |
| 20:49:01 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 20:49:24 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 20:49:51 | <EvanR> | everyone's in a noob bubble |
| 20:49:54 | <EvanR> | of some size |
| 20:53:47 | <polo> | True |
| 20:54:49 | <segfaultfizzbuzz> | whenever i learn a programming language i feel like the semantics is "unbounded" |
| 20:54:58 | <segfaultfizzbuzz> | is there any fundamental phenomenon behind that |
| 20:55:23 | <segfaultfizzbuzz> | that is to say, it never feels like the language really totally abstracts everything away, and it never provides a 'regular' way of specifying code |
| 20:55:27 | × | biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer) |
| 20:55:41 | <EvanR> | you mean no one bothered to try to provide semantics |
| 20:58:17 | → | finsternis joins (~X@23.226.237.192) |
| 20:58:29 | <segfaultfizzbuzz> | i mean even addition doesn't have a nice systematic behavior |
| 20:58:48 | <EvanR> | are we talking about haskell now? |
| 20:59:02 | <segfaultfizzbuzz> | i don't know how addition behaves on haskell tbh |
| 20:59:13 | <EvanR> | depends on the class instance |
| 20:59:37 | <EvanR> | for Int, it behaves like machine int arithemetic on machine int |
| 20:59:39 | <segfaultfizzbuzz> | it seems like the ISA needs to support bounded integers..? |
| 21:00:08 | <EvanR> | for Integer it behaves like integer arithemetic from school |
| 21:00:23 | <segfaultfizzbuzz> | well okay but there always is overflow and underflow |
| 21:00:29 | <EvanR> | no? |
| 21:00:33 | × | mmhat quits (~mmh@p200300f1c725450cee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.7.1) |
| 21:00:58 | <segfaultfizzbuzz> | i mean that i can always exceed some maximum integer value |
| 21:01:13 | <EvanR> | try to exceed max Integer |
| 21:01:30 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 21:01:55 | <EvanR> | (in reality, application concerns would stop you way before that gets anywhere close) |
| 21:02:15 | <segfaultfizzbuzz> | well then you are using arbitrary precision integers everywhere |
| 21:02:19 | <gurkenglas> | I remember seeing some Yoneda-like library exporting a function that'll optimize your degenerate nested compositions into the correct order for you, what was it? |
| 21:02:45 | <segfaultfizzbuzz> | gurkenglas: what's wrong with degenerate code? ;-) |
| 21:03:05 | <gurkenglas> | segfaultfizzbuzz: not the code, the composition. like foldl on [1..] |
| 21:03:07 | <EvanR> | point being that when dealing in Integer you don't have overflow and you do know how addition works |
| 21:03:38 | <EvanR> | and converting to and from Integer is well defined |
| 21:04:39 | → | biberu joins (~biberu@user/biberu) |
| 21:05:07 | × | jonathanx quits (~jonathan@h-178-174-176-109.a357.priv.bahnhof.se) (Remote host closed the connection) |
| 21:05:38 | <segfaultfizzbuzz> | EvanR: but then someone will make a mistake--you probably want to be notified when your application exceeds max int64 or something |
| 21:06:32 | <EvanR> | how about you use types to know that at compile time instead |
| 21:06:43 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 21:06:58 | <EvanR> | e.g. with smart constructors |
| 21:07:07 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer) |
| 21:07:11 | <segfaultfizzbuzz> | i don't think i am familiar, starts to sound like dependent types...? |
| 21:07:28 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 21:07:51 | <EvanR> | smart constructors is the low tech way to get pretty good guarantees without needing dependent types |
| 21:08:29 | × | haris quits (~haris@69.169.3.81) (Remote host closed the connection) |
| 21:09:23 | <gurkenglas> | It was striking because the newtype defined in that file was mentioned nowhere in the type of that utility function |
| 21:09:43 | × | Guest75 quits (~Guest75@178.141.153.191) (Ping timeout: 260 seconds) |
| 21:09:56 | <segfaultfizzbuzz> | also, on a related note: i have a rust application which relies on some library,... i needed to update the library and the library forced me to use async, which i have little to no experience with. i got rust async working but encountered *runtime* rather than compile time errors, which made me nervous |
| 21:09:58 | <gurkenglas> | "would you like to download some more ram" basically |
| 21:10:24 | <segfaultfizzbuzz> | is there anything unsolved or fundamental about async which pushes compile time errors towards runtime...? |
| 21:10:53 | × | dtman34_ quits (~dtman34@2601:447:d000:93c9:90e9:6a34:e614:99b9) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in) |
| 21:10:57 | <EvanR> | e.g. you define an abstract type for numbers not exceeding some limit. To make this true, you don't export the constructor for this type. Instead you only provide functions to build values or operate on values that respect it |
| 21:11:13 | → | dtman34 joins (~dtman34@76.156.89.180) |
| 21:11:25 | <EvanR> | then you "know" that if you have that type, it doesn't exceed that value |
| 21:11:37 | <EvanR> | as long as the module implementing all this has no bugs |
| 21:11:58 | <EvanR> | reducing the cross section of vulnerable code |
| 21:12:05 | <EvanR> | apply tests as needed |
| 21:12:57 | × | LemanR quits (~LemanR@pool-74-109-28-147.phlapa.fios.verizon.net) (Quit: Client closed) |
| 21:13:31 | <EvanR> | segfaultfizzbuzz, plenty of papers which define type systems to guarantee certain properties of concurrent programs |
| 21:13:37 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 21:13:49 | <segfaultfizzbuzz> | EvanR: uh but that's research or...? |
| 21:14:00 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 21:14:15 | <EvanR> | this goalpost is very fidgety xD |
| 21:14:34 | <segfaultfizzbuzz> | the goalpost is this: |
| 21:14:55 | <segfaultfizzbuzz> | rust is very compile-time oriented in my general experience and very strict, so i was surprised to be encountering runtime async errors. |
| 21:15:06 | <segfaultfizzbuzz> | my question is, since the haskell crowd tends to be compiler experts is |
| 21:15:12 | <EvanR> | you can define type systems / logics to do domain specific things, which makes whatever it accomplishes not fundamentally impossible |
| 21:15:32 | <EvanR> | which is different from pratically useful |
| 21:15:51 | <segfaultfizzbuzz> | is this because rust's async is problematic/bad in some way or is this just how async is |
| 21:16:12 | <EvanR> | however, defining a new language with a type checker that accomplishes some goal can be very useful, practically. If you can do it |
| 21:16:45 | <segfaultfizzbuzz> | so if you want compile time async code you need a DSL you are saying...? |
| 21:16:46 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 21:17:02 | <EvanR> | as far as I can tell rust stops very specific errors |
| 21:17:10 | <EvanR> | pretty common ones from C |
| 21:17:18 | <EvanR> | but not even close to all errors ever |
| 21:17:35 | × | simendsjo quits (~user@84.211.91.241) (Remote host closed the connection) |
| 21:17:59 | <segfaultfizzbuzz> | i mean i ended up gravitating towards rust because the Just Works coefficient for things i was doing was very high |
| 21:18:53 | <EvanR> | that in itself sounds very impressive |
| 21:21:00 | <segfaultfizzbuzz> | i think if haskell just cleaned things up a very little bit i would consider moving over,... |
| 21:21:18 | <segfaultfizzbuzz> | i am actively watching roclang and might give it a try sometime soon,... |
| 21:21:54 | ← | ru0mad parts (~ru0mad@82-64-17-144.subs.proxad.net) () |
| 21:27:09 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 21:27:47 | × | chomwitt quits (~chomwitt@ppp-94-67-236-76.home.otenet.gr) (Ping timeout: 264 seconds) |
| 21:30:04 | × | michalz quits (~michalz@185.246.204.75) (Remote host closed the connection) |
| 21:37:08 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 21:37:39 | <safinaskar> | segfaultfizzbuzz: possibly you found this: https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/ |
| 21:38:13 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:41:10 | <segfaultfizzbuzz> | safinaskar: that's roughly right, although the tcp/ip example of ip being unreliable can be remedied through redundant connections and sending of data, and the network application code doing that automatically,... |
| 21:42:05 | → | beteigeuze joins (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) |
| 21:42:07 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 21:42:48 | <segfaultfizzbuzz> | this is a good quote from the author: "while these great tools, like [author's pet favorite abstraction]-based languages, let us get a lot of work done incredibly quickly, suddenly one day we need to figure out a problem where the abstraction leaked, and it takes 2 weeks." |
| 21:42:58 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 21:44:15 | × | aeroplane quits (~user@user/aeroplane) (Ping timeout: 260 seconds) |
| 21:44:29 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 21:47:55 | <safinaskar> | segfaultfizzbuzz: if you want some small beautiful language without any surprises, consider using haskell and limiting oneself to features (and libraries) listed in haskell report |
| 21:48:34 | <safinaskar> | segfaultfizzbuzz: another option is using SML language. it is absolutely perfect small language. its type system is proved (as opoosed to haskell) |
| 21:48:50 | <segfaultfizzbuzz> | SML is pretty much ocaml? |
| 21:49:00 | <geekosaur> | OCaml has a lot more on top |
| 21:49:03 | <safinaskar> | segfaultfizzbuzz: but again you will need to stick to features specified in standard, overwise you will encouter real world problems |
| 21:49:06 | <geekosaur> | it supports OOP, for starters |
| 21:49:07 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 268 seconds) |
| 21:49:19 | <safinaskar> | segfaultfizzbuzz: yes, ocaml built on top of sml |
| 21:49:21 | <geekosaur> | (that's what the O is) |
| 21:49:35 | <safinaskar> | segfaultfizzbuzz: also, sml and ocaml are not pure functional |
| 21:49:36 | <segfaultfizzbuzz> | i feel like when i write a program i am dealing with thousands of notifications saying "would you like your program to work? if so, do this thing that everyone knows to do." |
| 21:49:55 | <geekosaur> | I think you'll find that in pretty much any practical language |
| 21:49:57 | <segfaultfizzbuzz> | and in my mind i am thinking "we are supposed to have self-driving cars, and i have to tell my program that i want it to work" |
| 21:50:10 | <geekosaur> | maybe if you stick to non-Turing-complete languages you can escape it |
| 21:50:21 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 21:51:14 | <safinaskar> | segfaultfizzbuzz: also, rust is good in this sense: it will nearly always warn you (via compiler messages) if something is wrong |
| 21:51:38 | <safinaskar> | segfaultfizzbuzz: as opposed to, say, haskell (haskell doesn't warn on incomplete "case" by default) |
| 21:51:41 | <segfaultfizzbuzz> | safinaskar: yeah that's why i was asking about async, i had been hitting runtime async errors in rust and was getting nervous |
| 21:51:51 | <geekosaur> | sorry, to Turing complete lanmguages that don';t let you do anything |
| 21:52:19 | <segfaultfizzbuzz> | i'm not convinced that languages should be turing complete,... but that's probably for another day |
| 21:52:44 | <geekosaur> | you contradict yourself |
| 21:52:53 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:53:11 | <safinaskar> | segfaultfizzbuzz: nowadays async support is pretty good today. i recommend this article on async programming: https://fasterthanli.me/articles/a-rust-match-made-in-hell (and other articles on same topic) |
| 21:53:17 | <geekosaur> | any language that can do practical things is going to be non-Turing-complete… and will escape "self-writing" |
| 21:54:56 | <geekosaur> | UML was perhaps the farthest anyone got on "met me write down what I want and the computer will write it for me" |
| 21:55:03 | <geekosaur> | *let me |
| 21:56:00 | <geekosaur> | unless you count COBOL |
| 21:56:08 | <segfaultfizzbuzz> | lol |
| 21:56:21 | <Franciman> | uml was a cute idea |
| 21:56:35 | <Franciman> | but i have pstd because i associate it with xml |
| 21:57:11 | <safinaskar> | segfaultfizzbuzz: on the other hand rust is too verbose when it comes to memory-related things (.clone(), Box, Rc, etc, etc) |
| 21:57:12 | <Franciman> | ptsd* |
| 21:57:32 | <segfaultfizzbuzz> | safinaskar: probably |
| 21:57:33 | <safinaskar> | segfaultfizzbuzz: if you want just skip all this memory things, you should consider other languages |
| 21:57:44 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:57:47 | <safinaskar> | segfaultfizzbuzz: here is article on this: https://blog.darklang.com/new-backend-fsharp/ |
| 22:00:10 | <safinaskar> | segfaultfizzbuzz: i think this article is even more related: https://blog.darklang.com/first-thoughts-on-rust-vs-ocaml/ |
| 22:00:27 | <segfaultfizzbuzz> | part of the reason i use rust is i kinda think that all programming eventually becomes system programming |
| 22:00:46 | × | johnw quits (~johnw@2600:1700:cf00:db0:3c55:6f83:c455:f7f2) (Quit: ZNC - http://znc.in) |
| 22:02:16 | <geekosaur> | sounds like a typical everything-must-be-under-my-direct-control C/C++ programmer… but then you complain about it |
| 22:02:48 | <segfaultfizzbuzz> | uh not trying to complain per se |
| 22:03:13 | <safinaskar> | segfaultfizzbuzz: also, one of problems mentioned in last article is solved by... *ME*! namely "Pattern matching". i wrote rust lib https://crates.io/crates/match_deref , which improves match ergonomics |
| 22:03:38 | <segfaultfizzbuzz> | :-) |
| 22:04:06 | <safinaskar> | segfaultfizzbuzz: i don't know whether my lib can improve particular code example author shows, but it seems it can |
| 22:05:58 | <safinaskar> | segfaultfizzbuzz: i still didn't find language, which combines rust's positive sides (tooling, big community, libs, helpful compiler warnings, strict language free of historic garbagge) and GC found in haskell and ocaml. but i plan to write proof of concept of such language |
| 22:06:35 | <segfaultfizzbuzz> | (rust does have a GC...) |
| 22:06:41 | <segfaultfizzbuzz> | (several in fact) |
| 22:07:05 | <safinaskar> | segfaultfizzbuzz: i hope i will write one in coming months. i simply want to write rust proc-macro, which will implement new language embedded in rust code |
| 22:07:21 | <segfaultfizzbuzz> | i get the sense that a haskell derivative will win in the long run... |
| 22:07:49 | <safinaskar> | in my language everything will be implicitly wrapped in std::rc::Rc. all ".clone()" etc will be inserted as needed |
| 22:07:53 | <segfaultfizzbuzz> | i've played with F# and didn't like it |
| 22:08:14 | <segfaultfizzbuzz> | safinaskar: https://github.com/microsoft/verona |
| 22:08:20 | <safinaskar> | so, you will get access to all rust tooling and crates.io and in same time you will not have to deal with all this .clone() etc |
| 22:08:24 | <segfaultfizzbuzz> | linear resource management is the shit |
| 22:08:41 | <segfaultfizzbuzz> | i am too dumb to program computers, i want to offload everything to compilers |
| 22:08:43 | <safinaskar> | segfaultfizzbuzz: if you want i can include you to my list of people to mail when i will done |
| 22:09:24 | <segfaultfizzbuzz> | safinaskar: well if you link the github repo i will watch it |
| 22:09:39 | → | Topsi joins (~Topsi@dyndsl-095-033-143-187.ewe-ip-backbone.de) |
| 22:09:55 | <safinaskar> | segfaultfizzbuzz: i have no repo for it currently |
| 22:10:52 | <safinaskar> | segfaultfizzbuzz: but you can watch repo for match_deref ( https://sr.ht/~safinaskar/match_deref-rs/ ). when i create that language, i will link from here |
| 22:11:25 | <segfaultfizzbuzz> | :-) |
| 22:19:04 | <safinaskar> | segfaultfizzbuzz: also i reached to same conclusion, i. e. now i use rust for everything. because sometimes i need system programming. and even when i don't need system programming, rust is great, too. rust is better than haskell even for writing provers. here is my arguments: https://paste.gg/p/anonymous/afc1c1a79c39498db8fe3ad49cb866c5 |
| 22:19:24 | <safinaskar> | i posted that text several times here and usually everybody said that i am troll |
| 22:19:50 | <segfaultfizzbuzz> | thanks i will look. i still think haskell is probably the best community to learn from overall |
| 22:21:04 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 22:21:14 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 22:21:19 | × | Feuermagier quits (~Feuermagi@user/feuermagier) (Quit: Leaving) |
| 22:28:30 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 22:35:35 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 264 seconds) |
| 22:37:16 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 22:43:25 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 22:45:23 | × | cheater quits (~Username@user/cheater) (Quit: All the BitchX that's fit to print!) |
| 22:46:59 | → | merijn joins (~merijn@86.86.29.250) |
| 22:47:35 | × | safinaskar quits (~quassel@178.160.244.66) (Ping timeout: 264 seconds) |
| 22:49:59 | × | beteigeuze quits (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 264 seconds) |
| 22:51:55 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:54:29 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 23:03:04 | → | cheater joins (~Username@user/cheater) |
| 23:05:51 | → | king_gs joins (~Thunderbi@2806:103e:29:86f9:15db:b0e0:45d5:32a8) |
| 23:05:59 | × | king_gs quits (~Thunderbi@2806:103e:29:86f9:15db:b0e0:45d5:32a8) (Client Quit) |
| 23:09:29 | <iqubic> | I'm getting this warning when I load a file in GHCi: |
| 23:09:40 | <iqubic> | These modules are needed for compilation but not listed in your .cabal file's other-modules: |
| 23:09:47 | <iqubic> | Common.Parser Common.Runner |
| 23:09:54 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 23:10:28 | <iqubic> | https://dpaste.com/GLGPS7AWJ |
| 23:10:37 | <iqubic> | Anyone know what the issue here is? |
| 23:11:16 | <geekosaur> | how are you running ghci? |
| 23:11:23 | → | shailangsa joins (~shailangs@host86-186-177-178.range86-186.btcentralplus.com) |
| 23:15:49 | → | euandreh joins (~Thunderbi@179.214.113.107) |
| 23:16:32 | <iqubic> | geekosaur: I'm using `cabal repl` |
| 23:16:56 | <iqubic> | Sorry, had to get food. |
| 23:17:06 | <geekosaur> | interesting. I wonder if you need to specify the lib component |
| 23:17:22 | <geekosaur> | (don't worry about getting food, I'm working on dinner myself) |
| 23:18:17 | <iqubic> | Weird... I haven't specified a lib component. |
| 23:18:55 | <geekosaur> | looks like you did to me (everything is under line 16) |
| 23:19:29 | <iqubic> | Like, GHCi is working properly, and is able to find the functions I've got in Common.Runner and Common.Parser |
| 23:20:23 | × | merijn quits (~merijn@86.86.29.250) (Ping timeout: 260 seconds) |
| 23:21:54 | <geekosaur> | it all looks in order to me, so I'm not sure why you'd get that |
| 23:22:39 | <iqubic> | It's just a warning, and everything's working fine for me right now. |
| 23:22:46 | <iqubic> | I'm not gonna worry about it too much. |
| 23:24:34 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 265 seconds) |
| 23:28:07 | → | waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) |
| 23:34:04 | × | mastarija quits (~mastarija@2a05:4f46:e03:6000:f1ac:bce8:2f8c:70c3) (Ping timeout: 252 seconds) |
| 23:37:50 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 23:39:03 | × | acidjnk_new quits (~acidjnk@p200300d6e7137a95e97f13ccb1fca6e5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 23:42:54 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 23:44:37 | × | Topsi quits (~Topsi@dyndsl-095-033-143-187.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 23:45:47 | → | cafkafk joins (~cafkafk@fsf/member/cafkafk) |
| 23:46:59 | × | cafkafk_ quits (~cafkafk@fsf/member/cafkafk) (Ping timeout: 255 seconds) |
| 23:47:54 | × | cafkafk quits (~cafkafk@fsf/member/cafkafk) (Remote host closed the connection) |
| 23:55:03 | × | titibandit quits (~titibandi@xdsl-78-34-153-165.nc.de) (Remote host closed the connection) |
| 23:58:03 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:d078:9921:dcf:5e81) |
All times are in UTC on 2022-11-29.