Logs: liberachat/#haskell
| 2021-06-15 19:11:02 | × | fabfianda[m] quits (~fabfianda@2001:470:69fc:105::6db) (Quit: Client limit exceeded: 10000) |
| 2021-06-15 19:11:19 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:b9b1:9fc2:289f:a533) |
| 2021-06-15 19:11:29 | <cdsmith> | <janus "how is Typeable different from G"> Typeable lets you compare types. Generic lets you look at the structure of a data type: which constructors it has, what their fields are, etc. |
| 2021-06-15 19:12:01 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 252 seconds) |
| 2021-06-15 19:12:05 | <janus> | ah right, i can see how those are distinct and why Aeson would only require Generic to make an automatic ToJSON instance |
| 2021-06-15 19:12:23 | <janus> | what is a popular use case for Typeable? |
| 2021-06-15 19:12:27 | → | fabfianda[m] joins (~fabfianda@2001:470:69fc:105::6db) |
| 2021-06-15 19:12:51 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Ping timeout: 268 seconds) |
| 2021-06-15 19:13:06 | <monochrom> | f x = "if x :: Int then True else False" |
| 2021-06-15 19:13:27 | <monochrom> | basically the dream of every fan of dynamic typing. |
| 2021-06-15 19:13:35 | <janus> | oh no, it's horrible! :O |
| 2021-06-15 19:13:58 | <ordinate> | haskell is an interpreted, dynamically typed language |
| 2021-06-15 19:17:22 | <monochrom> | @quote monochrom runtime |
| 2021-06-15 19:17:22 | <lambdabot> | monochrom says: just add #! /usr/bin/runghc to your haskell file. then type errors occur at runtime only. |
| 2021-06-15 19:18:17 | × | derelict quits (~derelict@user/derelict) (Quit: WeeChat 3.1) |
| 2021-06-15 19:18:37 | × | reumeth2 quits (~reumeth@user/reumeth) (Quit: reumeth2) |
| 2021-06-15 19:18:38 | × | ddellacosta quits (~ddellacos@89.46.62.21) (Read error: Connection reset by peer) |
| 2021-06-15 19:18:50 | <janus> | most people expect them to be deferred too, though ;) |
| 2021-06-15 19:18:54 | → | reumeth joins (~reumeth@user/reumeth) |
| 2021-06-15 19:18:59 | → | ddellacosta joins (~ddellacos@89.46.62.21) |
| 2021-06-15 19:19:55 | × | vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Quit: Client limit exceeded: 10000) |
| 2021-06-15 19:20:21 | <janus> | was it outrageous when dynamic languages started adding ASTs so they wouldn't even start executing with SyntaxErrors? an extreme dynamic fan should be offended, surely ;P |
| 2021-06-15 19:20:50 | → | vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe) |
| 2021-06-15 19:21:27 | <monochrom> | or Haskell resisting dependent typing so static fans are offended that head :: [a] -> a exists. |
| 2021-06-15 19:21:49 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 2021-06-15 19:22:18 | <tomsmeding> | that quote should have -fdeferred-type-errors too |
| 2021-06-15 19:22:36 | <dolio> | It's probably older than that flag. |
| 2021-06-15 19:23:00 | <tomsmeding> | and also having flags in a shebang is probably not a good idea :) |
| 2021-06-15 19:24:30 | <janus> | tomsmeding: many BSD'ers recommend "#!/usr/bin/env bash". why would a flag be different from "bash" here? to the shell it is the same, surely? |
| 2021-06-15 19:24:55 | <janus> | (ok, i know, an extreme BSD'er wouldn't even accept using bash ;) |
| 2021-06-15 19:25:05 | → | hololeap joins (~hololeap@user/hololeap) |
| 2021-06-15 19:25:54 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Ping timeout: 240 seconds) |
| 2021-06-15 19:26:22 | × | Wonner quits (~Wonner@h77.53.21.98.static.ip.windstream.net) (Quit: Client closed) |
| 2021-06-15 19:26:39 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 2021-06-15 19:27:10 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 2021-06-15 19:27:24 | → | Deide joins (~Deide@wire.desu.ga) |
| 2021-06-15 19:27:24 | × | Deide quits (~Deide@wire.desu.ga) (Changing host) |
| 2021-06-15 19:27:24 | → | Deide joins (~Deide@user/deide) |
| 2021-06-15 19:27:30 | <monochrom> | No worries, "#!/usr/bin/env python3" is a thing too. |
| 2021-06-15 19:27:51 | <maerwald> | not sure '/usr/bin/env' is really specified by posix either |
| 2021-06-15 19:28:08 | × | carmysilna quits (~brightly-@2001:470:69fc:105::2190) (Quit: Client limit exceeded: 10000) |
| 2021-06-15 19:28:09 | <janus> | right, AFAIK the trouble starts when you want both: the executable whereever in the path, AND some command line params |
| 2021-06-15 19:28:20 | <maerwald> | I think they recommend hardcoding full absolute paths to the binary at "install time" by using getconf |
| 2021-06-15 19:28:24 | <tomsmeding> | janus: https://stackoverflow.com/a/4304187 |
| 2021-06-15 19:28:37 | <tomsmeding> | on many systems, you can pass at most one parameter in a shebang line |
| 2021-06-15 19:28:45 | <tomsmeding> | though I guess that is enough for the runghc thing :) |
| 2021-06-15 19:29:04 | → | carmysilna joins (~brightly-@2001:470:69fc:105::2190) |
| 2021-06-15 19:29:08 | <tomsmeding> | maerwald: see link, #! isn't even specified :p |
| 2021-06-15 19:29:28 | <tomsmeding> | env has -S but it's dangerous |
| 2021-06-15 19:29:35 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-06-15 19:29:47 | <janus> | ooh, so there is a motivation for providing an argument passing mode that requires only one argv entry for all the arguments. interesting! |
| 2021-06-15 19:29:49 | <maerwald> | but these are 1st world problems... if you've ever done powershell, you know it can be *way* worse |
| 2021-06-15 19:30:07 | × | ukari quits (~ukari@user/ukari) (Remote host closed the connection) |
| 2021-06-15 19:30:17 | × | ddellacosta quits (~ddellacos@89.46.62.21) (Ping timeout: 244 seconds) |
| 2021-06-15 19:30:29 | → | hook54321 joins (sid149355@user/hook54321) |
| 2021-06-15 19:30:34 | <janus> | i stick to the C subset of windows to piss of microsoft programmers that will have to maintain it for 200 years muahahaha |
| 2021-06-15 19:30:36 | × | ixlun quits (~matthew@213.205.241.86) (Ping timeout: 244 seconds) |
| 2021-06-15 19:30:49 | → | ukari joins (~ukari@user/ukari) |
| 2021-06-15 19:31:53 | × | Obo quits (~roberto@h-46-59-103-134.A498.priv.bahnhof.se) (Quit: WeeChat 2.8) |
| 2021-06-15 19:33:25 | <monochrom> | linux manpage for execve says "the entire string after the interpreter name is a single argument. some other systems split it into multiple arguments by spaces" |
| 2021-06-15 19:34:26 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
| 2021-06-15 19:35:45 | × | thedward[m] quits (~thedwardm@2001:470:69fc:105::f79) (Quit: Client limit exceeded: 10000) |
| 2021-06-15 19:36:19 | × | fluffyballoon quits (~fluffybal@2620:72:0:6480::10f7) (Quit: Client closed) |
| 2021-06-15 19:36:33 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection) |
| 2021-06-15 19:37:37 | → | __monty__ joins (~toonn@user/toonn) |
| 2021-06-15 19:37:37 | → | Wonner joins (~Wonner@h77.53.21.98.static.ip.windstream.net) |
| 2021-06-15 19:38:07 | → | kayprish_ joins (~kayprish@46.240.143.86) |
| 2021-06-15 19:38:15 | <tomsmeding> | monochrom: indeed, linux implements behaviour 3 from the linked SO answer |
| 2021-06-15 19:38:40 | → | ddellacosta joins (~ddellacos@86.106.121.100) |
| 2021-06-15 19:38:41 | tomsmeding | is trying to be inclusive towards non-linux systems, let me |
| 2021-06-15 19:38:55 | × | Wonner quits (~Wonner@h77.53.21.98.static.ip.windstream.net) (Client Quit) |
| 2021-06-15 19:39:15 | → | thedward[m] joins (~thedwardm@2001:470:69fc:105::f79) |
| 2021-06-15 19:39:51 | × | kayprish_ quits (~kayprish@46.240.143.86) (Client Quit) |
| 2021-06-15 19:43:39 | → | NoName_ joins (~idk@8.20.127.195) |
| 2021-06-15 19:43:59 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2021-06-15 19:45:28 | × | ephemient quits (uid407513@id-407513.tooting.irccloud.com) (Quit: Connection closed for inactivity) |
| 2021-06-15 19:47:57 | × | hjulle[m] quits (~hjullemat@2001:470:69fc:105::1dd) (Quit: Client limit exceeded: 10000) |
| 2021-06-15 19:52:31 | × | wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2021-06-15 19:53:03 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1) |
| 2021-06-15 19:54:28 | × | NoName_ quits (~idk@8.20.127.195) (Quit: https://www.endfgm.eu/what-can-you-do/donate/) |
| 2021-06-15 19:56:41 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 2021-06-15 19:57:28 | → | mengu joins (~mengu@c188-150-13-129.bredband.tele2.se) |
| 2021-06-15 20:01:04 | × | oxide quits (~lambda@user/oxide) (Quit: oxide) |
| 2021-06-15 20:03:46 | <dminuoso> | cdsmith: Out of curiosity, what IRC client are you using? Your quoting/response style looks very unfamiliar. |
| 2021-06-15 20:03:46 | → | hjulle[m] joins (~hjullemat@2001:470:69fc:105::1dd) |
| 2021-06-15 20:03:47 | → | Pickchea joins (~private@user/pickchea) |
| 2021-06-15 20:04:02 | × | qbt quits (~edun@user/edun) (Ping timeout: 268 seconds) |
| 2021-06-15 20:04:44 | <geekosaur> | that's a form that matrix can use |
| 2021-06-15 20:05:13 | × | juhp quits (~juhp@128.106.188.66) (Ping timeout: 244 seconds) |
| 2021-06-15 20:05:33 | <dminuoso> | Ah |
| 2021-06-15 20:06:09 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 2021-06-15 20:06:19 | → | Pickchea joins (~private@user/pickchea) |
| 2021-06-15 20:07:02 | → | mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
| 2021-06-15 20:07:16 | × | vicfred quits (~vicfred@user/vicfred) (Quit: Leaving) |
| 2021-06-15 20:07:58 | → | juhp joins (~juhp@128.106.188.66) |
| 2021-06-15 20:09:32 | <dminuoso> | janus: By the way, you asked about a good use of Typeable. The best and most common usage I can think of is exceptions, especially extensible dynamically-typed hierarchies of extensions. That last one is probably very underused on hackage. |
| 2021-06-15 20:10:29 | × | iDead quits (~iDead@254.142.71.148.rev.vodafone.pt) (Ping timeout: 272 seconds) |
| 2021-06-15 20:10:34 | <dminuoso> | `catch` fundamentally relies on Typeable to be able to check whether a bypassing exception matches the requested exception type or not. |
| 2021-06-15 20:10:46 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-15 20:10:59 | <janus> | oh, so you're saying i can make an exception that lets itself be treated as an exception that never existed when the code catching it was written? |
All times are in UTC.