Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,790,274 events total
2026-03-19 13:28:35 <gentauro> Freakie: https://paste.tomsmeding.com/sJ9LB50B
2026-03-19 13:29:36 <gentauro> Freakie: By looking at the table (and `hp2pretty`) I noticed what was leaking
2026-03-19 13:29:47 <gentauro> there was actually several things …
2026-03-19 13:30:03 <gentauro> so `seq` and `
2026-03-19 13:30:16 <gentauro> {-# INLINE … #-}
2026-03-19 13:30:17 <gentauro> everywhere
2026-03-19 13:31:50 <Freakie> I'll give it a whirl I guess
2026-03-19 13:31:59 <Freakie> so far the biggest fix for has been to use strict lists
2026-03-19 13:32:50 <Freakie> everything just feels like shot in the dark because all my data seems paradoxical to me
2026-03-19 13:35:28 prdak joins (~Thunderbi@user/prdak)
2026-03-19 13:38:16 <Freakie> not easy to modify that script of yours :S
2026-03-19 13:39:48 × AlexZenon quits (~alzenon@178.34.151.138) (Read error: Connection reset by peer)
2026-03-19 13:40:04 AlexZenon joins (~alzenon@178.34.151.138)
2026-03-19 13:42:31 × prdak quits (~Thunderbi@user/prdak) (Quit: prdak)
2026-03-19 13:42:49 <Freakie> gentauro yeah that's more or less what I already see from profiling, unfortunately
2026-03-19 13:43:05 × acidjnk_new quits (~acidjnk@p200300d6e700e54146a195f20f1debd3.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2026-03-19 13:52:36 tri joins (~tri@69.74.159.34)
2026-03-19 13:57:06 × tri quits (~tri@69.74.159.34) (Ping timeout: 248 seconds)
2026-03-19 14:11:34 × poscat0x04 quits (~poscat@user/poscat) (Remote host closed the connection)
2026-03-19 14:14:39 <pipsquak-bird> start from scartch and simplify!
2026-03-19 14:14:46 poscat joins (~poscat@user/poscat)
2026-03-19 14:14:53 <pipsquak-bird> maek eevythgin as close to a number score like hit points
2026-03-19 14:15:06 <pipsquak-bird> cmpuer can instantly do lke a 900 vriable problem in 1 second
2026-03-19 14:15:12 <pipsquak-bird> so make thing numberical scores
2026-03-19 14:15:24 <pipsquak-bird> all phd do is arbitrary category thery really
2026-03-19 14:15:27 <pipsquak-bird> much of it is wrong
2026-03-19 14:15:36 <pipsquak-bird> univeristy not soruce of truth nor school nor AI
2026-03-19 14:16:08 <pipsquak-bird> hmm
2026-03-19 14:16:20 <pipsquak-bird> software transactional memory
2026-03-19 14:16:22 <pipsquak-bird> sounds sexy
2026-03-19 14:16:30 <pipsquak-bird> how does it beat thread sor csp?
2026-03-19 14:16:33 <pipsquak-bird> or actors?
2026-03-19 14:20:52 <pipsquak-bird> 9p.io is interesting as is greenarrays.com and ocam-pi rmox system, csp based not sure about forth
2026-03-19 14:22:42 × pierluc-codes quits (~pierlucco@modemcable092.154-83-70.mc.videotron.ca) (Ping timeout: 248 seconds)
2026-03-19 14:30:22 pierluc-codes joins (~pierlucco@modemcable092.154-83-70.mc.videotron.ca)
2026-03-19 14:41:54 × myme quits (~myme@2a01:799:d5e:5f00:303a:da6f:3ef4:dbc1) (Ping timeout: 246 seconds)
2026-03-19 14:43:00 anselmschueler joins (~Thunderbi@user/schuelermine)
2026-03-19 14:43:04 myme joins (~myme@2a01:799:d5e:5f00:bb34:b3ad:fa86:ff90)
2026-03-19 14:43:48 × anselmschueler quits (~Thunderbi@user/schuelermine) (Remote host closed the connection)
2026-03-19 14:55:16 <mauke> @protontorpedo
2026-03-19 14:55:16 <lambdabot> how does j2ee compare to haskell?
2026-03-19 14:55:23 <mauke> @protontorpedo
2026-03-19 14:55:23 <lambdabot> ok is haskell a type of lisp?
2026-03-19 14:56:31 rekahsoft joins (~rekahsoft@bras-base-orllon1103w-grc-20-76-67-111-168.dsl.bell.ca)
2026-03-19 15:02:11 machinedgod joins (~machinedg@d172-219-48-230.abhsia.telus.net)
2026-03-19 15:02:21 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
2026-03-19 15:13:49 <merijn> Freakie: Do you have code/the profiler output visible somewhere?
2026-03-19 15:27:05 acidjnk_new joins (~acidjnk@p200300d6e700e5412a4816b29ee23bce.dip0.t-ipconnect.de)
2026-03-19 15:35:07 × CiaoSen quits (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2026-03-19 15:45:16 <EvanR> if you have a large input list then read it in using lazy I/O list or read it into not a list
2026-03-19 15:46:15 <EvanR> a fully materialized large list is hell on memory usage
2026-03-19 15:46:39 × madresch quits (~Thunderbi@user/madresch) (Ping timeout: 246 seconds)
2026-03-19 15:55:41 v0id_7 joins (~v0id_7@user/v0id-7:62772)
2026-03-19 16:00:37 traxex joins (traxex@user/traxex)
2026-03-19 16:11:25 <Freakie> merijn i can upload it in a bit
2026-03-19 16:11:38 <Freakie> trying to stresstest the program right now and I might run out of memory first
2026-03-19 16:12:27 <Freakie> EvanR my issue is that I have to gradually *build* lists that can be exponentially large in the input
2026-03-19 16:13:31 <Freakie> it's meant to explode in size but I should not be using over 1 gb of memory for 10000 nodes
2026-03-19 16:13:59 <Freakie> at least I don't see how it should
2026-03-19 16:22:15 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 258 seconds)
2026-03-19 16:22:45 califax_ joins (~califax@user/califx)
2026-03-19 16:23:47 × califax quits (~califax@user/califx) (Ping timeout: 258 seconds)
2026-03-19 16:24:00 califax_ is now known as califax
2026-03-19 16:24:15 sord937 joins (~sord937@gateway/tor-sasl/sord937)
2026-03-19 16:24:33 <gentauro> my `String` knowledge in Haskell is a bit outdated. Wasn't there a `pragma` that could be used that made `String` "faster" as in not lazy `[Char]`?
2026-03-19 16:24:59 <probie> Why not just use a better type like `Text` if you want that?
2026-03-19 16:25:27 gentauro but still having the nice interface. For example: `case str of (c:cs) -> …`
2026-03-19 16:26:20 <gentauro> probie: iirc, `Text` isn't part of `base` right?
2026-03-19 16:28:52 Tuplanolla joins (~Tuplanoll@88-114-89-88.elisa-laajakaista.fi)
2026-03-19 16:30:33 <probie> gentauro: no, but it's one of GHC's boot libraries, so you can be sure that some version is available unless they're using a really ancient version of GHC, or a different compiler like microhs (in which case you don't have base anyway)
2026-03-19 16:33:20 <probie> containers is outside base, but would you avoid `Map` and `Set` because of that?
2026-03-19 16:36:09 <haskellbridge> <magic_rb> yeah i dont think there is a reason not to use text, its such a core library that essentially everythings depends on it, including ghc
2026-03-19 16:37:21 <probie> and if you want pattern matching, you can have it
2026-03-19 16:37:39 <probie> % :set -XOverloadedStrings -XViewPatterns -XPatternSynonyms
2026-03-19 16:37:39 <yahb2> <no output>
2026-03-19 16:37:53 <probie> % import qualified Data.Text as T
2026-03-19 16:37:53 <yahb2> <no output>
2026-03-19 16:38:14 <probie> % pattern S x xs <- (T.uncons -> Just (x, xs))
2026-03-19 16:38:14 <yahb2> <no output>
2026-03-19 16:38:30 <probie> % pattern EOS <- (T.uncons -> Nothing)
2026-03-19 16:38:30 <yahb2> <no output>
2026-03-19 16:39:43 <probie> % map (\s -> case T.reverse s of { (S x _) -> Just x; EOS -> Nothing }) ["hello", "", "world"]
2026-03-19 16:39:43 <yahb2> [Just 'o',Nothing,Just 'd']
2026-03-19 16:41:36 <probie> % let atLeast3 s = case s of { S _ (S _ (S _ _)) -> True; _ -> False } in filter atLeast3 $ T.words "To be, or not to be, that is the question"
2026-03-19 16:41:36 <yahb2> ["be,","not","be,","that","the","question"]
2026-03-19 16:42:35 <chromoblob> microhs? Haskell on microcontrollers? holy shit
2026-03-19 16:44:13 <EvanR> Freakie, 1G resident for 10,000 of some small values does sound like a poorly laid out list algorithm which can't collect efficiently, it seems to me
2026-03-19 16:44:27 <haskellbridge> <ijouw> If you get it to run on microcontrollers, please share build instructions
2026-03-19 16:44:40 <Freakie> EvanR if you have any tips i'm all ears
2026-03-19 16:45:34 <Freakie> fwiw each node at most 7 primitives distributed across 3 field (including constructors), so it should be something like ~16 bytes at worst I think per node
2026-03-19 16:45:41 <EvanR> though I'm not sure what "I have to build lists" means, making a list is itself not usually an end
2026-03-19 16:46:16 <EvanR> 16 bytes of useful value could balloon to several times more per list node because haskell
2026-03-19 16:46:32 <EvanR> but not 100,000 times more if I'm not mistaken
2026-03-19 16:46:38 <Freakie> I included the constructors and tags in that count
2026-03-19 16:46:59 <EvanR> well 16 bytes is 2 pointers so it sounds unlikely
2026-03-19 16:47:16 <EvanR> to be at most 16
2026-03-19 16:47:19 <Freakie> damn I forgot how memory works
2026-03-19 16:47:43 × traxex quits (traxex@user/traxex) (Ping timeout: 264 seconds)
2026-03-19 16:47:44 <Freakie> let me redo my math
2026-03-19 16:48:09 <EvanR> each boxed value not only has a pointer to it from somewhere but GC metadata as well as payload

All times are in UTC.