Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,804,057 events total
2025-09-12 21:36:33 × tcard__ quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
2025-09-12 21:37:37 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2025-09-12 21:37:37 ljdarj1 is now known as ljdarj
2025-09-12 21:45:03 tromp joins (~textual@2001:1c00:3487:1b00:1d0c:4f20:ca8:e791)
2025-09-12 21:45:17 <EvanR> magic_rb, if your STG instruction set includes Eval and another one that does primitive operations, on e.g. machine ints, then use Eval instructions to evaluate the inputs to the primitive, then have the primitive expect evaluated arguments already?
2025-09-12 21:45:54 <haskellbridge> <magic_rb> it doesnt currently, hm
2025-09-12 21:46:23 <haskellbridge> <magic_rb> but it doesnt quite solve the immediate issue which is that idk how to do it recursion less if i dont uncurry everything
2025-09-12 21:46:47 <haskellbridge> <magic_rb> but tbh, i dont think it matters? nix is completely uncurried, always and im targeting nix with this
2025-09-12 21:46:53 <EvanR> the process of evaluating e.g. a machine int doesn't need to have special recursion on top of how you already evaluate stuff
2025-09-12 21:47:11 <EvanR> since it evaluates to a number if it's well typed
2025-09-12 21:47:12 <haskellbridge> <magic_rb> yes, my point is, uh
2025-09-12 21:47:21 <haskellbridge> <magic_rb> (no types btw)
2025-09-12 21:47:24 <EvanR> oof
2025-09-12 21:47:25 <haskellbridge> <magic_rb> wait, ill push the changes i have
2025-09-12 21:48:43 <haskellbridge> <magic_rb> https://git.redalder.org/magic_rb/nix-stg/src/branch/main/nix-stg/src/env.rs#L53 this is my "evaluatior/VM"
2025-09-12 21:48:50 <haskellbridge> <magic_rb> i think VM is a better term?
2025-09-12 21:48:51 tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2025-09-12 21:49:06 × Lycurgus quits (~juan@user/Lycurgus) (Quit: alsoknownas.renjuan.org ( juan@acm.org ))
2025-09-12 21:49:45 <haskellbridge> <magic_rb> https://git.redalder.org/magic_rb/nix-stg/src/branch/main/nix-stg/src/compiler.rs#L44 and here is a builtin, so if i have a builtin with just one argument i know how to do it without invoking "force" again, essentially do a TCALL
2025-09-12 21:49:53 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
2025-09-12 21:50:15 <haskellbridge> <magic_rb> but i cant figure out how generalize the TCALL into higher than 1 arity
2025-09-12 21:50:46 <haskellbridge> <magic_rb> though i am currently implementing an uncurry function for all builtins, since all functions are uncurried in nix :(
2025-09-12 21:50:58 <haskellbridge> <magic_rb> fuck, curried
2025-09-12 21:51:00 <haskellbridge> <magic_rb> i always get it wront
2025-09-12 21:51:09 <haskellbridge> <magic_rb> a -> b -> c not (a, b) -> c
2025-09-12 21:51:46 <EvanR> primitives often need multiple arguments now
2025-09-12 21:52:14 <EvanR> so the second one would be nice
2025-09-12 21:53:49 <EvanR> so something like PrimOp OpName N, which takes N values off one of your stacks and passes them all to the code for OpName
2025-09-12 21:54:06 <haskellbridge> <magic_rb> i dont have a stack like that
2025-09-12 21:54:59 <EvanR> where ever the values end up being temporarily
2025-09-12 21:55:02 <EvanR> get them from there
2025-09-12 21:55:13 <EvanR> maybe allow up to 4 arguments
2025-09-12 21:55:26 <EvanR> and they're all passed in even if they aren't needed
2025-09-12 21:55:49 <haskellbridge> <magic_rb> https://paste.tomsmeding.com/3ckIHqKL
2025-09-12 21:56:37 <EvanR> FORCE sounds encouraging
2025-09-12 21:56:38 <haskellbridge> <magic_rb> thats for "(x: y: z: x + y + z) 4 5 6" this code
2025-09-12 21:57:14 <EvanR> lisp people laughing at us doing one + at a time
2025-09-12 21:58:00 × AlexZenon quits (~alzenon@178.34.162.29) (Ping timeout: 252 seconds)
2025-09-12 21:59:43 <EvanR> a dedicated stack specifically for saving the arguments to a primop would also work
2025-09-12 21:59:59 × Guest58 quits (~Guest77@130.44.133.214) (Quit: Client closed)
2025-09-12 22:00:07 <EvanR> evolved ghc keeps reducing the number of stacks via tricks but that's like an optimized thing
2025-09-12 22:01:19 <haskellbridge> <magic_rb> well, im trying to optimize :P
2025-09-12 22:02:44 AlexZenon joins (~alzenon@178.34.162.29)
2025-09-12 22:03:02 × tromp quits (~textual@2001:1c00:3487:1b00:1d0c:4f20:ca8:e791) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-09-12 22:03:35 <EvanR> prematurely or postmaturely
2025-09-12 22:03:38 <haskellbridge> <magic_rb> okay, managed a arbitrary depth uncurrying function
2025-09-12 22:03:48 <haskellbridge> <magic_rb> nah, like, im not optimizing properly
2025-09-12 22:03:59 <haskellbridge> <magic_rb> but i dont want to introduce new things into the core runtime
2025-09-12 22:04:22 <haskellbridge> <magic_rb> also, i seem to recall the 2016 paper saying that the STG only handles fully saturated primop calls and so the frontend must wrap them in lambdas
2025-09-12 22:04:32 <EvanR> primitives should be something you designed into the system xD
2025-09-12 22:04:36 <EvanR> not slapped on at the last minute
2025-09-12 22:05:12 <haskellbridge> <magic_rb> it is designed in?
2025-09-12 22:17:52 comonad joins (~comonad@p200300d027244d00b442e34853d3dae3.dip0.t-ipconnect.de)
2025-09-12 22:18:26 <monochrom> I wonder if: There is no design, there is only slapping on earlier or slapping on later.
2025-09-12 22:19:35 <EvanR> don't forget unslapping
2025-09-12 22:19:42 <EvanR> so the final product looks like jenga
2025-09-12 22:19:45 <EvanR> one way or another
2025-09-12 22:20:01 <monochrom> hee hee
2025-09-12 22:22:16 Googulator77 is now known as Googulator
2025-09-12 22:23:40 × divya quits (divya@140.238.251.170) (Ping timeout: 256 seconds)
2025-09-12 22:44:31 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
2025-09-12 22:52:28 × sprotte24 quits (~sprotte24@p5b039b62.dip0.t-ipconnect.de) (Quit: Leaving)
2025-09-12 22:53:49 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2025-09-12 22:55:07 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
2025-09-12 22:56:51 × fp quits (~Thunderbi@2001-14ba-6e24-3000--198.rev.dnainternet.fi) (Ping timeout: 252 seconds)
2025-09-12 22:58:19 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Excess Flood)
2025-09-12 22:59:20 peterbecich joins (~Thunderbi@syn-172-222-149-049.res.spectrum.com)
2025-09-12 22:59:33 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
2025-09-12 23:09:17 AlexNoo_ is now known as AlexNoo
2025-09-12 23:10:32 × trickard quits (~trickard@cpe-52-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-09-12 23:10:33 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2025-09-12 23:10:45 trickard_ joins (~trickard@cpe-52-98-47-163.wireline.com.au)
2025-09-12 23:22:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-09-12 23:24:13 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 250 seconds)
2025-09-12 23:30:58 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2025-09-12 23:31:43 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-09-12 23:36:47 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2025-09-12 23:40:21 × trickard_ quits (~trickard@cpe-52-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-09-12 23:41:28 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
2025-09-12 23:47:30 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-09-12 23:48:06 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 256 seconds)
2025-09-12 23:51:27 trickard_ joins (~trickard@cpe-52-98-47-163.wireline.com.au)
2025-09-12 23:57:38 × zzz quits (~zero@user/zero) (Remote host closed the connection)
2025-09-13 00:03:24 × peterbecich quits (~Thunderbi@syn-172-222-149-049.res.spectrum.com) (Ping timeout: 256 seconds)
2025-09-13 00:09:05 ljdarj1 joins (~Thunderbi@user/ljdarj)
2025-09-13 00:10:32 × poscat0x04 quits (~poscat@user/poscat) (Remote host closed the connection)
2025-09-13 00:11:54 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
2025-09-13 00:12:00 ljdarj1 is now known as ljdarj
2025-09-13 00:13:01 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
2025-09-13 00:13:12 × tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in)
2025-09-13 00:13:31 poscat joins (~poscat@user/poscat)
2025-09-13 00:17:34 × segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 256 seconds)
2025-09-13 00:19:02 × otto_s quits (~user@p4ff27276.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2025-09-13 00:20:18 otto_s joins (~user@p5de2f6d3.dip0.t-ipconnect.de)
2025-09-13 00:20:20 × acidjnk quits (~acidjnk@p200300d6e7171985d5506271dfe67a69.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2025-09-13 00:21:47 trickard_ is now known as trickard
2025-09-13 00:22:34 peterbecich joins (~Thunderbi@syn-172-222-149-049.res.spectrum.com)
2025-09-13 00:29:09 × tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
2025-09-13 00:39:42 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds)
2025-09-13 00:53:16 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)

All times are in UTC.