2025/04/22

Newest at the top

2025-04-22 12:26:48 +0200L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-04-22 12:26:09 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2025-04-22 12:21:31 +0200j1n37(~j1n37@user/j1n37) (Ping timeout: 276 seconds)
2025-04-22 12:21:10 +0200j1n37-(~j1n37@user/j1n37) j1n37
2025-04-22 12:16:31 +0200L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-04-22 12:12:22 +0200euleritian(~euleritia@77.23.248.47)
2025-04-22 12:11:30 +0200euleritian(~euleritia@dynamic-176-000-001-244.176.0.pool.telefonica.de) (Ping timeout: 268 seconds)
2025-04-22 12:07:17 +0200 <davean> Liamzee: I'd say they're things to make it behave more expectedly, not safeguards. Its about surprise, not safety
2025-04-22 12:05:27 +0200 <davean> Liamzee: I wouldn't say safeguards persay ...
2025-04-22 12:03:46 +0200 <haskellbridge> <Liamzee> and accursed, that's in the bytestring lib, which disables a ton of safeguards around the normal unsafePerformIO
2025-04-22 12:03:25 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2025-04-22 12:03:19 +0200 <haskellbridge> <Liamzee> unsafePerformIO is supposed to mean that the onus of confirming that the action is safe is up to the developer
2025-04-22 12:03:02 +0200 <haskellbridge> <Liamzee> if you were on the wechat, you'd know the user named accursedUnutterablePerformIO
2025-04-22 12:00:41 +0200 <haskellbridge> <hellwolf> https://hackage.haskell.org/package/rec-def-0.2.2
2025-04-22 12:00:15 +0200 <haskellbridge> I remember in the RSet package, it "smuggles" a unsafePerformanceIO, but the interface and ergonomics of the library outweighs that little dirty secret
2025-04-22 12:00:15 +0200 <haskellbridge> <hellwolf> if you can make it typesafe, I see a case for a library user to use it.
2025-04-22 11:57:57 +0200 <haskellbridge> <Liamzee> better off doing it via proper IO, sequence, etc
2025-04-22 11:57:49 +0200 <haskellbridge> <Liamzee> UnsafeImpure
2025-04-22 11:56:29 +0200dhil(~dhil@5.151.29.137) dhil
2025-04-22 11:56:17 +0200 <haskellbridge> <Liamzee> it's just a way to smuggle unsafePerformIo, because that's what it basically is
2025-04-22 11:56:08 +0200 <haskellbridge> <Liamzee> sorry, i'm just full of it
2025-04-22 11:38:38 +0200inca(~inca@pool-96-255-212-224.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
2025-04-22 11:33:27 +0200madjestic(~madjestic@37.109.146.154)
2025-04-22 11:32:55 +0200inca(~inca@pool-96-255-212-224.washdc.fios.verizon.net)
2025-04-22 11:22:22 +0200danso(~danso@user/danso) danso
2025-04-22 11:22:13 +0200inca(~inca@pool-96-255-212-224.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2025-04-22 11:17:39 +0200inca(~inca@pool-96-255-212-224.washdc.fios.verizon.net)
2025-04-22 11:17:29 +0200danso(~danso@user/danso) (Quit: quittin time)
2025-04-22 11:15:28 +0200 <haskellbridge> <hellwolf> it's interesting in some other context. You might want to checkout this thread: https://discourse.haskell.org/t/using-unsafeperformio-safely/4146
2025-04-22 11:14:57 +0200amadaluzia(~amadaluzi@user/amadaluzia) (Remote host closed the connection)
2025-04-22 11:12:33 +0200 <haskellbridge> <Liamzee> i'm just wondering if this degenerate haskell is at all useful or interesting
2025-04-22 11:12:25 +0200 <haskellbridge> <Liamzee> i'm joking, this is just degenerate haskell
2025-04-22 11:12:06 +0200jacopovalanzano(~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net) (Ping timeout: 240 seconds)
2025-04-22 11:11:47 +0200 <tomsmeding> that sounds counterproductive
2025-04-22 11:11:44 +0200 <tomsmeding> ... which will throw an exception upon evaluation?
2025-04-22 11:11:29 +0200 <haskellbridge> <Liamzee> I'll just return a bottom ;)
2025-04-22 11:11:14 +0200 <tomsmeding> and then do my solution? :p
2025-04-22 11:11:11 +0200 <tomsmeding> make sure the effect returns the field in question
2025-04-22 11:11:03 +0200 <haskellbridge> <Liamzee> by evaluating the field
2025-04-22 11:10:53 +0200 <tomsmeding> ew
2025-04-22 11:10:51 +0200 <tomsmeding> and you want to trigger it by reading a particular field
2025-04-22 11:10:50 +0200 <haskellbridge> <Liamzee> yeah
2025-04-22 11:10:43 +0200 <tomsmeding> so the effect doesn't actually compute something, it is there _just_ for the side-effect?
2025-04-22 11:10:23 +0200 <tomsmeding> ah
2025-04-22 11:10:13 +0200 <haskellbridge> <Liamzee> that's intended to be a partially applied function
2025-04-22 11:09:47 +0200 <tomsmeding> seq takes two arguments
2025-04-22 11:09:47 +0200 <haskellbridge> <Liamzee> or rather pseq
2025-04-22 11:09:42 +0200 <tomsmeding> without the seq
2025-04-22 11:09:36 +0200 <haskellbridge> <Liamzee> theoretically you can embed seq (unsafePerformIO foo) into any type
2025-04-22 11:09:28 +0200 <tomsmeding> if you make sure the `a` is not in a strict field, then the effect will only be run when you actually demand the result