2024/05/29

Newest at the top

2024-05-29 18:40:08 +0200ft(~ft@p508db8fc.dip0.t-ipconnect.de)
2024-05-29 18:39:09 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-05-29 18:38:32 +0200ekurtz(~ekurtz@136.62.248.55) (Read error: Connection reset by peer)
2024-05-29 18:33:59 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-05-29 18:30:20 +0200 <Franciman> ncf: does HOAS automatically do call by need?
2024-05-29 18:29:54 +0200 <ph88> any hackage admins here ?
2024-05-29 18:29:10 +0200 <Franciman> hm thanks
2024-05-29 18:28:29 +0200 <ncf> you might want some sort of HOAS thing instead
2024-05-29 18:27:58 +0200 <ncf> note that this isn't a great way to embed the untyped lambda calculus in haskell
2024-05-29 18:27:54 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Remote host closed the connection)
2024-05-29 18:27:46 +0200 <ncf> just slap a type signature on every binder. see here for a general procedure https://cstheory.stackexchange.com/a/53681
2024-05-29 18:27:44 +0200 <EvanR> is this the monomorphism restriction
2024-05-29 18:27:10 +0200ph88(~ph88@2a02:8109:9e26:c800:728b:dc6e:a428:192b)
2024-05-29 18:26:20 +0200 <Franciman> i can't find the right type
2024-05-29 18:26:17 +0200 <Franciman> ncf: what about this term? (\x y -> (x id) (x id) y) ((\x y -> (x id) (x id)) id) id 42
2024-05-29 18:24:44 +0200 <lxsameer> glguy: thank you
2024-05-29 18:24:33 +0200cyphase(~cyphase@user/cyphase)
2024-05-29 18:23:53 +0200 <glguy> but it can't do that for ones loaded from a package like: >>> :i id; id :: a -> a; -- Defined in ‘ghc-internal-9.1001.0:GHC.Internal.Base’
2024-05-29 18:23:33 +0200 <glguy> >>> :info parse; parse :: Text -> Either ParseError (Value Position); -- Defined at src/Config.hs:289:1
2024-05-29 18:23:27 +0200 <glguy> lxsameer: ghci will give you source locations for modules it has loaded from source
2024-05-29 18:23:05 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Read error: Connection reset by peer)
2024-05-29 18:22:45 +0200 <lxsameer> EvanR: it gives me the module name. I'm looking for a source file
2024-05-29 18:22:44 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2024-05-29 18:21:39 +0200 <EvanR> try :doc funcname
2024-05-29 18:21:00 +0200 <lxsameer> is there any way to get the source location of a certain type or function in ghci?
2024-05-29 18:20:08 +0200 <Franciman> i think that is also exponential lol
2024-05-29 18:20:04 +0200 <Franciman> that leads to optimal evaluation?
2024-05-29 18:19:58 +0200 <EvanR> keyed by the expression
2024-05-29 18:19:42 +0200 <EvanR> never evaluate the same expression twice, cache every answer in IPFS
2024-05-29 18:18:09 +0200 <Franciman> because i overperformed ghc
2024-05-29 18:18:04 +0200 <Franciman> So for teh lulz, i'd like to test the term on ghc and then on my custom fully lazy small interpreter, so i can laugh like an idiot
2024-05-29 18:17:40 +0200 <Franciman> but only linear time using fully lazy sharing
2024-05-29 18:17:28 +0200 <Franciman> i found a term that should take exponential time using haskell's evaluation strategy
2024-05-29 18:17:26 +0200 <EvanR> to see sharing you need something like ghc-viz
2024-05-29 18:17:10 +0200 <Franciman> i need to test fully lazy sharing
2024-05-29 18:16:48 +0200 <EvanR> running terms is for plebs, visceral and vulgar. As long as it type checks you should be satisfied!
2024-05-29 18:14:47 +0200 <Franciman> ncf: are you a pro aren't you?
2024-05-29 18:14:27 +0200 <lambdabot> 42
2024-05-29 18:14:25 +0200 <ncf> > (\(x :: forall a. a -> a) y -> (x id) (x id) y) id id 42
2024-05-29 18:14:24 +0200 <EvanR> core is typed!
2024-05-29 18:12:42 +0200 <Franciman> i want to run this term in haskell: (\x y -> (x id) (x id) y) id id
2024-05-29 18:12:01 +0200euleritian(~euleritia@dynamic-176-003-079-141.176.3.pool.telefonica.de) (Ping timeout: 255 seconds)
2024-05-29 18:11:59 +0200 <Franciman> is haskell's Core typed?
2024-05-29 18:10:45 +0200 <joeyadams> Java and C# took several good pieces from Haskell. But for some reason they left sum types on the shelf, so those pieces don't fit together.
2024-05-29 18:10:36 +0200 <EvanR> cue monochrome's java exception passing style to implement laziness
2024-05-29 18:09:33 +0200 <Franciman> nice
2024-05-29 18:09:31 +0200 <Franciman> so java is the new haskell
2024-05-29 18:09:28 +0200 <lxsameer> ncf: yeah, but confusing
2024-05-29 18:09:07 +0200 <EvanR> so it's the old java
2024-05-29 18:09:00 +0200 <ncf> (first two are the same of course)