Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,802,990 events total
2025-10-31 10:38:50 × ljdarj quits (~Thunderbi@user/ljdarj) (Read error: Connection reset by peer)
2025-10-31 10:38:50 ljdarj1 is now known as ljdarj
2025-10-31 10:45:10 Dhark8 joins (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
2025-10-31 10:46:31 × Shark8 quits (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Ping timeout: 264 seconds)
2025-10-31 10:47:08 halloy8008 joins (~halloy800@2405:201:a00a:b009:95f6:89f8:41dc:a5ef)
2025-10-31 10:48:26 × halloy8008 quits (~halloy800@2405:201:a00a:b009:95f6:89f8:41dc:a5ef) (Quit: halloy8008)
2025-10-31 11:03:39 × Googulator quits (~Googulato@team.broadbit.hu) (Quit: Client closed)
2025-10-31 11:03:59 Googulator joins (~Googulato@team.broadbit.hu)
2025-10-31 11:04:21 × Googulator quits (~Googulato@team.broadbit.hu) (Client Quit)
2025-10-31 11:04:38 Googulator joins (~Googulato@team.broadbit.hu)
2025-10-31 11:08:06 catties is now known as C477135
2025-10-31 11:21:46 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2025-10-31 11:25:16 <[exa]> tomsmeding kuribas: are there free selectives already in the libraries? (just saw the messages above so kinda wondering)
2025-10-31 11:29:15 tomsmeding doesn't know
2025-10-31 11:30:59 <tomsmeding> sm: bitwise AND is enough https://lcamtuf.substack.com/p/sierpinski-triangle-in-my-bitwise
2025-10-31 11:33:53 × nerdychip quits (~nerdychip@user/nerdychip) (Ping timeout: 256 seconds)
2025-10-31 11:35:04 <kuribas> [exa]: I don't know. I like the applicative inside monad pattern.
2025-10-31 11:36:11 nerdychip joins (~nerdychip@212.129.76.47)
2025-10-31 11:36:11 × nerdychip quits (~nerdychip@212.129.76.47) (Changing host)
2025-10-31 11:36:11 nerdychip joins (~nerdychip@user/nerdychip)
2025-10-31 11:38:51 <tomsmeding> %% putStr$unlines[["#."!!fromEnum(i.&.j>0)|j<-[0..31]]|i<-[0..31::Int]] -- sm
2025-10-31 11:38:52 <yahb2> https://paste.tomsmeding.com/GlIradAP
2025-10-31 11:41:36 <[exa]> what is this %% sorcery
2025-10-31 11:42:22 <tomsmeding> the original yahb did it too, and someone requested the functionality
2025-10-31 11:42:37 <[exa]> cool
2025-10-31 11:42:58 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 256 seconds)
2025-10-31 11:43:32 <tomsmeding> the pastes expire, though
2025-10-31 11:43:32 × synchromesh quits (~john@2406:5a00:2412:2c00:10d9:ceb6:778c:2519) (Read error: Connection reset by peer)
2025-10-31 11:43:40 ljdarj1 joins (~Thunderbi@user/ljdarj)
2025-10-31 11:44:44 synchromesh joins (~john@2406:5a00:2412:2c00:10d9:ceb6:778c:2519)
2025-10-31 11:45:42 <tomsmeding> ooh it can be golfed: fromEnum(i.&.j>0) -> signum(i.&.j)
2025-10-31 11:47:00 × Googulator quits (~Googulato@team.broadbit.hu) (Quit: Client closed)
2025-10-31 11:47:18 Googulator joins (~Googulato@team.broadbit.hu)
2025-10-31 11:47:33 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds)
2025-10-31 11:47:33 ljdarj1 is now known as ljdarj
2025-10-31 11:49:16 <__monty__> I was going trying ('#':repeat '.')!!(i.&.j), my golf is weak.
2025-10-31 11:54:37 <tomsmeding> well you did shorten it :)
2025-10-31 11:54:59 <tomsmeding> because it allows removing the ::Int annotation
2025-10-31 11:55:12 <tomsmeding> though the signum trick also does, and it's also shorter, so signum does win
2025-10-31 11:56:01 <tomsmeding> __monty__: a little bit shorter (though still longer than signum): '#':cycle"."
2025-10-31 11:57:18 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-10-31 11:58:36 <__monty__> Darn, you put me to shame again, found `['.','.'..]`.
2025-10-31 12:01:31 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 264 seconds)
2025-10-31 12:10:40 × Googulator quits (~Googulato@team.broadbit.hu) (Quit: Client closed)
2025-10-31 12:10:48 Googulator joins (~Googulato@team.broadbit.hu)
2025-10-31 12:11:25 × GdeVolpiano quits (~GdeVolpia@user/GdeVolpiano) (Ping timeout: 264 seconds)
2025-10-31 12:18:44 comerijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
2025-10-31 12:20:08 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2025-10-31 12:25:32 × Googulator quits (~Googulato@team.broadbit.hu) (Quit: Client closed)
2025-10-31 12:25:38 Googulator12 joins (~Googulato@team.broadbit.hu)
2025-10-31 12:32:37 AlexNoo_ is now known as AlexNoo
2025-10-31 12:33:37 GdeVolpiano joins (~GdeVolpia@user/GdeVolpiano)
2025-10-31 12:34:18 Lycurgus joins (~juan@user/Lycurgus)
2025-10-31 12:41:17 <haskellbridge> <sm> tomsmeding: With an import Data.Bits. Thanks!
2025-10-31 12:43:06 Googulator12 is now known as Googulator
2025-10-31 12:48:25 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2025-10-31 12:50:35 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection timed out)
2025-10-31 12:52:40 <haskellbridge> <sm> needs a console so we can run tiny games
2025-10-31 12:58:49 ttybitnik joins (~ttybitnik@user/wolper)
2025-10-31 13:00:09 <__monty__> Can't get this any more golfed (trying to more faithfully reproduce the original), `putStr$foldMap(foldr(++)"\n")[[["██"," "]!!signum(i.&.j)|j<-[0..31]]|i<-[0..31]]`.
2025-10-31 13:00:42 Googulator58 joins (~Googulato@team.broadbit.hu)
2025-10-31 13:00:51 <__monty__> Of course I copied a line break in the middle of `" "` >.<
2025-10-31 13:03:51 × Googulator quits (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-10-31 13:05:05 <tomsmeding> putStr$unlines$concat<$>[[["██"," "]!!signum(i.&.j)|j<-[0..31]]|i<-[0..31]]
2025-10-31 13:05:42 × trickard quits (~trickard@cpe-60-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-10-31 13:05:55 trickard_ joins (~trickard@cpe-60-98-47-163.wireline.com.au)
2025-10-31 13:08:33 <tomsmeding> putStr$unlines[["█ "!!signum(i.&.j)|j<-[0..31],_<-"ab"]|i<-[0..31]]
2025-10-31 13:10:53 <int-e> same here, plus `signum` -> `min 1`
2025-10-31 13:11:11 <tomsmeding> oo nice
2025-10-31 13:12:46 <int-e> > map length ["mapM putrStrLn", "putStr$unlines"] -- also this if you don't care about the return type
2025-10-31 13:12:48 <lambdabot> [14,14]
2025-10-31 13:13:10 <tomsmeding> the typo broke it :p
2025-10-31 13:13:20 <int-e> oops
2025-10-31 13:14:54 <tomsmeding> if you allow an additional import, forM[...]putStrLn
2025-10-31 13:18:08 <__monty__> Darn, was gonna say I beat you by one character `for_(concat<$>[[["██"," "]!!signum(i.&.j)|j<-[0..31]]|i<-[0..31]])putStrLn` but you already got there. (Modulo the Data.Foldable import, but who really cares about a couple characters?)
2025-10-31 13:18:09 <tomsmeding> oh but you can do the same to the `min` without imports
2025-10-31 13:19:05 <int-e> tomsmeding: oops, that's so obvious now that you said it
2025-10-31 13:19:25 <tomsmeding> without imports I think this is the shortest so far:
2025-10-31 13:19:27 <tomsmeding> mapM putStrLn[["█ "!!min(i.&.j)1|j<-[0..31],_<-"ab"]|i<-[0..31]]
2025-10-31 13:19:54 <int-e> well you still have the Data.Bits import :)
2025-10-31 13:20:00 <tomsmeding> __monty__: concat<$>[ can be shortened to [concat
2025-10-31 13:20:15 <tomsmeding> yeah I know, but you ain't going to implement .&. in less than that import costs
2025-10-31 13:21:39 <int-e> . o O ( more like Data.Nits )
2025-10-31 13:24:26 × GdeVolpiano quits (~GdeVolpia@user/GdeVolpiano) (Quit: WeeChat 4.5.2)
2025-10-31 13:26:27 GdeVolpiano joins (~GdeVolpia@user/GdeVolpiano)
2025-10-31 13:28:23 <__monty__> Even if we could golf out .&., it wouldn't be faithful to the blog anymore.
2025-10-31 13:30:49 Googulator11 joins (~Googulato@team.broadbit.hu)
2025-10-31 13:33:45 × Googulator58 quits (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-10-31 13:38:45 <Leary> %% putStrLn.unlines$[0..31]<&> \i->replicate i ' '++do{j<-[0..31-i];["\\/"," "]!!min(i.&.j)1}
2025-10-31 13:38:45 <yahb2> https://paste.tomsmeding.com/mHsRpiqc
2025-10-31 13:38:55 <tomsmeding> oooo
2025-10-31 13:39:20 Sgeo joins (~Sgeo@user/sgeo)
2025-10-31 13:39:28 × tromp quits (~textual@2001:1c00:3487:1b00:dc25:ce25:d6de:4df2) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-10-31 13:42:28 ft joins (~ft@p4fc2aaeb.dip0.t-ipconnect.de)
2025-10-31 13:44:43 <int-e> $$ putStr$do i<-[0..31];i`drop`do{j<-[-i..31-i];["\\/"," "]!!min(i.&.j)1}++"\n"
2025-10-31 13:44:48 <int-e> %% putStr$do i<-[0..31];i`drop`do{j<-[-i..31-i];["\\/"," "]!!min(i.&.j)1}++"\n"
2025-10-31 13:44:48 <yahb2> https://paste.tomsmeding.com/kuTDCPQV
2025-10-31 13:45:17 <int-e> (is that ++"\n" trick applicable to the other one... mm)
2025-10-31 13:46:43 <int-e> yes and no; `putStr$do i<-[0..31];["█ "!!min(i.&.j)1|j<-[0..31],_<-" "]++"\n"` is the same length
2025-10-31 13:46:58 <tomsmeding> "╲╱" is nicer

All times are in UTC.