Logs on 2026-03-19 (liberachat/#haskell)
| 00:06:01 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 00:06:01 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 00:10:13 | → | tri joins (~tri@ool-44c70bcb.dyn.optonline.net) |
| 00:10:44 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 00:14:48 | × | tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 264 seconds) |
| 00:21:21 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 00:23:07 | × | peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 264 seconds) |
| 00:25:35 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 00:36:44 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 00:44:33 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 00:55:26 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 00:59:21 | × | oskarw quits (~user@user/oskarw) (Read error: Connection reset by peer) |
| 01:01:32 | × | xff0x quits (~xff0x@2405:6580:b080:900:d964:dd73:e5b:abe) (Ping timeout: 244 seconds) |
| 01:02:10 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 01:02:19 | → | karenw joins (~karenw@user/karenw) |
| 01:05:27 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 01:10:50 | → | peterbecich joins (~Thunderbi@71.84.33.135) |
| 01:11:52 | × | craunts795335385 quits (~craunts@152.32.99.2) (Quit: The Lounge - https://thelounge.chat) |
| 01:13:29 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 01:13:29 | → | craunts795335385 joins (~craunts@152.32.99.2) |
| 01:18:24 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 01:22:37 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 01:25:13 | → | vetkat joins (~vetkat@user/vetkat) |
| 01:28:51 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 01:29:38 | → | tri joins (~tri@ool-44c70bcb.dyn.optonline.net) |
| 01:30:37 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 258 seconds) |
| 01:33:05 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 01:34:05 | × | tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 244 seconds) |
| 01:40:29 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 268 seconds) |
| 01:44:00 | → | tri joins (~tri@ool-44c70bcb.dyn.optonline.net) |
| 01:44:14 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 01:47:23 | × | Googulator quits (~Googulato@2a01-036d-0106-2025-8806-aadb-981f-aee0.pool6.digikabel.hu) (Quit: Client closed) |
| 01:47:40 | → | Googulator joins (~Googulato@2a01-036d-0106-2025-8806-aadb-981f-aee0.pool6.digikabel.hu) |
| 01:48:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 01:55:25 | → | arandombit joins (~arandombi@2a02:2455:8656:7100:881:bbf5:9bc2:908) |
| 01:55:25 | × | arandombit quits (~arandombi@2a02:2455:8656:7100:881:bbf5:9bc2:908) (Changing host) |
| 01:55:25 | → | arandombit joins (~arandombi@user/arandombit) |
| 01:55:45 | × | comonad quits (~comonad@p200300d02725570019adcc7019a0b087.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 01:57:31 | × | peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 276 seconds) |
| 01:57:55 | → | comonad joins (~comonad@p200300d02717df00adc247ef70bd7367.dip0.t-ipconnect.de) |
| 01:59:37 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 01:59:57 | → | xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 02:03:55 | × | tromp quits (~textual@2001:1c00:3487:1b00:1807:41fe:bcf2:17ca) (Ping timeout: 245 seconds) |
| 02:04:04 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 02:15:00 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 02:19:57 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 02:23:24 | × | tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in) |
| 02:29:05 | × | She quits (haveident@libera/staff/she/her) (Quit: Either upgrades, or the world's ending.) |
| 02:30:04 | → | She joins (haveident@libera/staff/she/her) |
| 02:30:23 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 02:36:50 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 02:44:24 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 246 seconds) |
| 02:47:24 | × | rekahsoft quits (~rekahsoft@bras-base-orllon1103w-grc-20-76-67-111-168.dsl.bell.ca) (Remote host closed the connection) |
| 02:53:33 | → | merijn joins (~merijn@62.45.136.136) |
| 02:58:34 | × | merijn quits (~merijn@62.45.136.136) (Ping timeout: 268 seconds) |
| 03:03:50 | × | beagles quits (~beagles@142.163.133.95) (Remote host closed the connection) |
| 03:04:09 | → | beagles joins (~beagles@142.163.133.95) |
| 03:04:31 | × | juri_ quits (~juri@217-114-215-140.pool.ovpn.com) (Ping timeout: 264 seconds) |
| 03:05:53 | → | juri_ joins (~juri@217-114-215-140.pool.ovpn.com) |
| 03:08:52 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 03:09:38 | <chromoblob> | how could i have discovered haskell-links.org ? |
| 03:13:31 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 03:15:14 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:16:43 | × | Googulator quits (~Googulato@2a01-036d-0106-2025-8806-aadb-981f-aee0.pool6.digikabel.hu) (Quit: Client closed) |
| 03:16:59 | → | Googulator joins (~Googulato@2a01-036d-0106-2025-8806-aadb-981f-aee0.pool6.digikabel.hu) |
| 03:24:15 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 03:28:53 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 03:39:37 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 03:43:54 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 03:49:21 | → | pipsquak-bird joins (~g@c-71-235-170-34.hsd1.ma.comcast.net) |
| 03:49:30 | <pipsquak-bird> | is there a os in haskell? |
| 03:49:33 | <pipsquak-bird> | any browser? |
| 03:49:40 | <pipsquak-bird> | happstack.com looks awesome |
| 03:52:31 | <geekosaur> | https://wiki.haskell.org/House |
| 03:52:43 | → | Googulator74 joins (~Googulato@84-236-126-177.pool.digikabel.hu) |
| 03:52:48 | <geekosaur> | which mostly proved that Haskell's a lousy language for writing operating systems ☺ |
| 03:54:36 | <haskellbridge> | <sm> a good question chromoblob. You might have caught my original announcements, or you might have followed one of my mentions of it or of Haskell Map in chat. I don't think it ever got linked on haskell.org |
| 03:54:58 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 03:55:58 | × | Googulator quits (~Googulato@2a01-036d-0106-2025-8806-aadb-981f-aee0.pool6.digikabel.hu) (Ping timeout: 240 seconds) |
| 03:59:16 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 04:10:20 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 04:14:42 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 04:22:00 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 244 seconds) |
| 04:22:43 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 04:24:09 | × | traxex quits (traxex@user/traxex) (Ping timeout: 248 seconds) |
| 04:24:39 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 258 seconds) |
| 04:25:43 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 04:30:25 | × | tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Remote host closed the connection) |
| 04:31:57 | → | peterbecich joins (~Thunderbi@71.84.33.135) |
| 04:32:05 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 04:32:20 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 04:32:26 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 04:39:20 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 04:40:37 | <Axman6> | technically seL4 is built using Haskell as an intermediate language between Isabelle/HOL and C |
| 04:43:11 | × | somemathguy quits (~somemathg@user/somemathguy) (Quit: WeeChat 4.1.1) |
| 04:44:07 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 04:46:28 | <pipsquak-bird> | can I clone soemthign liek myth 2 in haskell? |
| 04:46:34 | → | tri joins (~tri@ool-44c70bcb.dyn.optonline.net) |
| 04:46:46 | <pipsquak-bird> | Can I clone something like Myth 2 Soulblighter in Haskell? |
| 04:47:16 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 04:51:24 | × | tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 264 seconds) |
| 04:54:43 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 04:55:12 | × | haritz quits (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
| 04:56:14 | <probie> | There's no technical reason you can't, although you might have to worry about copyright infringement |
| 04:56:30 | <pipsquak-bird> | hmmm |
| 04:56:45 | <pipsquak-bird> | like can the computer coo ordinate a bunch of enemies ona map |
| 04:56:56 | <pipsquak-bird> | and have them fight battles absed on iven damage n speed |
| 04:57:00 | <pipsquak-bird> | rotate 360 |
| 04:57:09 | <pipsquak-bird> | simualte bombs and lghtnight bolts |
| 04:57:12 | <pipsquak-bird> | hmmm |
| 04:58:31 | → | wickedjargon joins (~user@s0106f89e28d5699a.vc.shawcable.net) |
| 04:59:12 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 05:02:58 | <probie> | pipsquak-bird: Pretty much any general purpose language (including Haskell) can do those things |
| 05:05:10 | × | peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 245 seconds) |
| 05:10:05 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 05:14:42 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 05:17:38 | <pipsquak-bird> | its magic to me |
| 05:17:39 | <pipsquak-bird> | lol |
| 05:17:43 | <pipsquak-bird> | I can kinda imagien in math |
| 05:17:48 | <pipsquak-bird> | keeping track variables |
| 05:17:55 | <pipsquak-bird> | and displaying dead limbs if overhit points |
| 05:18:09 | <pipsquak-bird> | wow I am playing annoying level im outgunned n cant quite get it right |
| 05:20:55 | <probie> | Has anyone tried writing an incremental parser library in Haskell? Incremental in the "tree-sitter" sense [updates can occur anywhere], not the "attoparsec" sense [feed more input] |
| 05:24:55 | <pipsquak-bird> | how can happstack.com get even better? |
| 05:25:00 | <pipsquak-bird> | web domiantion! |
| 05:25:27 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 05:30:05 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 05:40:21 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 05:43:02 | → | michalz joins (~michalz@185.246.207.217) |
| 05:45:24 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 05:54:00 | <Axman6> | happstack is quite old, and I'm not sure there are many projects using it these days. |
| 05:54:59 | → | Square2 joins (~Square4@user/square) |
| 05:55:03 | <Axman6> | I like a lot of the ideas from acid-state, but would love to see it modernised (there's been a few projects which try to do it but I don't think any have taken off) |
| 05:55:43 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 06:00:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 06:02:34 | <pipsquak-bird> | lisp-clobber might be a model that works |
| 06:02:38 | <pipsquak-bird> | log updates |
| 06:02:45 | <pipsquak-bird> | no snapshot just log |
| 06:02:48 | <pipsquak-bird> | pull plug |
| 06:02:53 | <pipsquak-bird> | read in log |
| 06:02:56 | <pipsquak-bird> | back uptodate? |
| 06:06:20 | <pipsquak-bird> | lisp ISSR is interesting too |
| 06:06:50 | <pipsquak-bird> | tiny javscipt thign to tell server what is being request, server makes html update....page only updates bit of hyml that changed... |
| 06:06:57 | <pipsquak-bird> | I need to learn so much |
| 06:06:58 | <pipsquak-bird> | no time! |
| 06:11:06 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 06:13:30 | → | tri joins (~tri@ool-44c70bcb.dyn.optonline.net) |
| 06:15:43 | <pipsquak-bird> | is there a mouse friendly icewm like wm for freebsd/linux? |
| 06:15:50 | <pipsquak-bird> | in haskell? |
| 06:17:54 | × | tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 248 seconds) |
| 06:17:54 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 06:29:08 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 06:31:17 | <mauke> | the only haskell window manager I know of is xmonad |
| 06:33:53 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 06:41:21 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 06:46:00 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 06:50:39 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 06:51:21 | → | gmg joins (~user@user/gehmehgeh) |
| 06:52:14 | <gentauro> | 23:29 < sshine> gentauro, https://gist.github.com/chiroptical/41d4ccc4c39cfe1f59bdd37279048510 |
| 06:52:18 | <EvanR> | whiplash reaction icewm is still a thin gwhoa |
| 06:52:25 | <gentauro> | sshine: is that the `Don` notation? https://blog.stermon.org/articles/2017/10/24/fsharp-welcome-to-the-realworld-baby-don-notation.html |
| 06:53:59 | × | marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli) |
| 06:54:17 | <gentauro> | finally managed to get LSP to work with emacs. However, now I get messages like this -> `Name: Partial: ghc-internal/foldl1` |
| 06:55:01 | <gentauro> | I'm aware that the computation is not `strict` and I'm fine with that. Is there a way to turn these kind of messages off? |
| 06:56:28 | <gentauro> | the worst messages are the ones for Functor, Applicative and Monad instances. Using emacs in terminal mode and the "type signatures" are the same colour as code … Very confusing :o |
| 06:56:46 | → | merijn joins (~merijn@62.45.136.136) |
| 06:58:10 | <[exa]> | re "not strict" you mean "not total" I assume? |
| 07:00:10 | <jreicher> | gentauro: it's worth using GUI emacs for flymake-show-diagnostics-at-end-of-line 'fancy |
| 07:00:14 | <[exa]> | (btw omg who did the baby shark monad, now I'll imagine the `>>` between daddysharks everytime I hear it) |
| 07:01:09 | × | merijn quits (~merijn@62.45.136.136) (Ping timeout: 245 seconds) |
| 07:07:58 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 07:08:12 | × | wickedjargon quits (~user@s0106f89e28d5699a.vc.shawcable.net) (Ping timeout: 264 seconds) |
| 07:11:22 | <gentauro> | jreicher: what does that do? |
| 07:11:43 | <gentauro> | like -> `(setq flymake-show-diagnostics-at-end-of-line 'fancy)`? |
| 07:12:05 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 07:13:22 | × | driib3180 quits (~driib@vmi931078.contaboserver.net) (Quit: Ping timeout (120 seconds)) |
| 07:13:53 | <jreicher> | I would never use setq for a running session. only setopt |
| 07:14:25 | <jreicher> | You can use setq if you're putting it in init.el and restarting though, if you want. |
| 07:14:38 | → | anselmschueler joins (~Thunderbi@user/schuelermine) |
| 07:15:22 | <jreicher> | Actually I just reread (info "(flymake) Customizable variables") and it says it uses unicode graphics, so might work on terminal also. Worth a try. |
| 07:15:28 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 07:15:47 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 07:15:57 | × | Franciman quits (~Franciman@mx1.fracta.dev) (Ping timeout: 268 seconds) |
| 07:16:16 | × | pierrot quits (~pi@user/pierrot) (Quit: ZNC 1.8.2 - http://znc.in) |
| 07:16:36 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 07:16:57 | × | lortabac quits (~lortabac@mx1.fracta.dev) (Ping timeout: 268 seconds) |
| 07:16:57 | × | nckx quits (~nckx@libera/staff/owl/nckx) (Ping timeout: 248 seconds) |
| 07:17:05 | → | pierrot joins (~pi@user/pierrot) |
| 07:20:01 | × | pierrot quits (~pi@user/pierrot) (Client Quit) |
| 07:23:06 | → | CiaoSen joins (~Jura@p200300c9570792004e50ddfffe9b8922.dip0.t-ipconnect.de) |
| 07:25:20 | → | marinelli joins (~weechat@brrr.fr) |
| 07:26:35 | <gentauro> | jreicher: yeah, I place stuff like that in `.emacs.d/init.el` |
| 07:26:55 | → | nckx joins (~nckx@libera/staff/owl/nckx) |
| 07:26:57 | → | pierrot joins (~pi@user/pierrot) |
| 07:27:26 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 07:28:17 | <jreicher> | It's about the restart. Using setq requires a restart. setopt does not. |
| 07:28:30 | → | lortabac joins (~lortabac@mx1.fracta.dev) |
| 07:32:07 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 07:32:45 | × | jreicher quits (~joelr@user/jreicher) (Quit: brb) |
| 07:33:33 | → | Franciman joins (~Franciman@mx1.fracta.dev) |
| 07:34:13 | → | jreicher joins (~joelr@user/jreicher) |
| 07:34:39 | × | CiaoSen quits (~Jura@p200300c9570792004e50ddfffe9b8922.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 07:36:23 | → | CiaoSen joins (~Jura@p549cb690.dip0.t-ipconnect.de) |
| 07:38:11 | × | jreicher quits (~joelr@user/jreicher) (Client Quit) |
| 07:40:10 | → | jcarpenter2 joins (~lol@2603:3016:1e01:b980:9900:10f7:ff16:cae0) |
| 07:40:51 | × | lol__ quits (~lol@2603:3016:1e01:b980:38fd:c90f:4f82:2f54) (Ping timeout: 246 seconds) |
| 07:40:51 | → | dtman34_ joins (~dtman34@2601:447:d183:2302:b0c5:8965:1c3f:d560) |
| 07:41:12 | × | lol_ quits (~lol@2603:3016:1e01:b980:38fd:c90f:4f82:2f54) (Ping timeout: 246 seconds) |
| 07:41:43 | × | dtman34 quits (~dtman34@c-73-242-68-179.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
| 07:42:05 | → | lol_ joins (~lol@2603:3016:1e01:b980:9900:10f7:ff16:cae0) |
| 07:42:20 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 07:42:29 | <gentauro> | this worked -> https://emacs-lsp.github.io/lsp-mode/page/settings/lens/#lsp-lens-enable |
| 07:42:54 | <gentauro> | I'm very pedantic with 80-char lines and they were breaking indentation and stuff |
| 07:42:57 | <gentauro> | jaiks |
| 07:44:09 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 07:46:32 | × | ft quits (~ft@p508db341.dip0.t-ipconnect.de) (Quit: leaving) |
| 07:49:21 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 07:49:49 | → | Enrico63 joins (~Enrico63@host-79-27-153-132.retail.telecomitalia.it) |
| 07:50:02 | → | jreicher joins (~joelr@user/jreicher) |
| 07:54:02 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:00:23 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 08:03:38 | → | tri joins (~tri@ool-44c70bcb.dyn.optonline.net) |
| 08:04:59 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 08:07:48 | × | tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 246 seconds) |
| 08:11:28 | × | jreicher quits (~joelr@user/jreicher) (Quit: brb) |
| 08:21:51 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 08:22:12 | → | jreicher joins (~joelr@user/jreicher) |
| 08:22:16 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 08:23:28 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 08:28:36 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 264 seconds) |
| 08:34:58 | × | Enrico63 quits (~Enrico63@host-79-27-153-132.retail.telecomitalia.it) (Ping timeout: 240 seconds) |
| 08:43:11 | → | merijn joins (~merijn@77.242.116.146) |
| 08:44:55 | Googulator74 | is now known as Googulator |
| 08:57:14 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 09:01:48 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 255 seconds) |
| 09:07:53 | → | troydm joins (~troydm@user/troydm) |
| 09:19:40 | × | urdh quits (~urdh@user/urdh) (Ping timeout: 265 seconds) |
| 09:19:55 | → | urdh joins (~urdh@user/urdh) |
| 09:20:35 | × | CiaoSen quits (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 09:27:33 | → | Freakie joins (~Freakie@37.96.11.80) |
| 09:28:17 | → | czan joins (~czan@user/mange) |
| 09:31:31 | <mesaoptimizer> | if I am correct, Bool isn't a true sum type, is it? for it only contains type constructors |
| 09:32:11 | <mesaoptimizer> | Either is a sum type because it is a sum of `Either` unary type constructors and type a and type b, is that right? |
| 09:35:59 | <[exa]> | mesaoptimizer: () + () is a good sum, isn't it? |
| 09:36:36 | <[exa]> | (relatedly, is Either () () a sum type?) |
| 09:37:34 | <mesaoptimizer> | I do not know what `()` type is, sorry |
| 09:37:41 | <mesaoptimizer> | is that the bottom type? |
| 09:37:42 | <[exa]> | the haskell's empty type () |
| 09:37:45 | <[exa]> | :t () |
| 09:37:46 | <lambdabot> | () |
| 09:37:58 | <mesaoptimizer> | I see, so it is the bottom type |
| 09:38:26 | <[exa]> | "bottom" is usually used for harsher lack of information (e.g. Void) |
| 09:38:27 | → | tromp joins (~textual@2001:1c00:340e:2700:d42c:a851:5541:9fa8) |
| 09:38:31 | <mesaoptimizer> | oh. |
| 09:38:38 | <mesaoptimizer> | I think I'm too confused to continue this discussion in the realm of Haskell |
| 09:38:46 | <[exa]> | but yeah in the hierarchy of sums&products this would kinda be a bottom |
| 09:38:50 | <mesaoptimizer> | maybe after I've figured it out in type theory |
| 09:40:14 | <[exa]> | btw I think the main issue is about the sum labels in haskell, these are typically not occurring in most of the sum&product type explanations so it's not quite clear how to represent them, right? |
| 09:40:29 | <czan> | () has got a member, so it can't be the empty type. It's the unit type (i.e. "1" in the type algebra). |
| 09:40:38 | <[exa]> | as in, "what is the actual False in the language of sums" |
| 09:44:00 | <Leary> | mesaoptimizer: Without a precise definition of 'sum type', there's no good answer to the question. |
| 09:48:11 | <anselmschueler> | "bottom" can refer to the "least defined" value, which is undefined/nontermination in Haskell, and is a member of every type |
| 09:48:26 | <anselmschueler> | "bottom" can also refer to the type that is a subtype of every type in type systems with subtyping |
| 09:48:59 | <anselmschueler> | a bottom type may be the type with no values. every value of this type is vacuously also a valid value of every other type (there are no such values) |
| 09:49:25 | <anselmschueler> | consequently in a type system with nontermination and subtyping the bottom type may be the type that only has nontermination |
| 09:49:46 | <anselmschueler> | the Haskell equivalent of this type is "data Void" with no constructors |
| 09:49:56 | <anselmschueler> | there are no values of this type except undefined/nontermination |
| 09:51:12 | <Freakie> | algebraic data types as they're usually defined in functional languages are sum types, while tuples are products |
| 09:53:20 | <anselmschueler> | the data keyword in Haskell is kinda a combination of sum and product |
| 09:53:24 | <anselmschueler> | each constructor is a product type |
| 09:53:33 | <anselmschueler> | and then these types are summed |
| 09:54:22 | <anselmschueler> | e.g. "data MaybeTwo t = NoTwo | JustTwo t t" is like the product type "1" (empty product) + the product type "t × t" |
| 09:54:35 | <anselmschueler> | i.e. MaybeTwo(T) = 1 + T² |
| 09:57:16 | × | Freakie quits (~Freakie@37.96.11.80) (Quit: Client closed) |
| 10:00:18 | → | tri joins (~tri@ool-44c70bcb.dyn.optonline.net) |
| 10:02:52 | <[exa]> | oh yes `1` is a good version of my `()` |
| 10:03:06 | <[exa]> | in turn it would give `Bool == 1+1 == 2` :> |
| 10:03:57 | → | Freakie joins (~Freakie@185.45.22.133) |
| 10:05:23 | × | tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 272 seconds) |
| 10:09:03 | → | haritz joins (~hrtz@140.228.70.141) |
| 10:09:03 | × | haritz quits (~hrtz@140.228.70.141) (Changing host) |
| 10:09:03 | → | haritz joins (~hrtz@user/haritz) |
| 10:09:54 | × | xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 245 seconds) |
| 10:11:46 | <anselmschueler> | T^2 even makes sense if 2 = Bool and X^Y = Y -> X; T^2 is a tuple (x, y), but this can be realised as a function f = \case { True -> x; False -> y } |
| 10:18:52 | × | forell quits (~forell@user/forell) (Ping timeout: 268 seconds) |
| 10:23:07 | × | madresch quits (~Thunderbi@user/madresch) (Ping timeout: 264 seconds) |
| 10:30:43 | × | euphores quits (~SASL_euph@user/euphores) (Ping timeout: 272 seconds) |
| 10:35:29 | <merijn> | mesaoptimizer: I think you're rather confused to begin with? True and False aren't type constructors, they're value constructors |
| 10:36:18 | <merijn> | Freakie: ADTs are both sum AND product types |
| 10:36:25 | <merijn> | that's what makes them algebraic :p |
| 10:38:25 | → | madresch joins (~Thunderbi@user/madresch) |
| 10:38:45 | → | acidjnk_new joins (~acidjnk@p200300d6e700e54146a195f20f1debd3.dip0.t-ipconnect.de) |
| 10:41:50 | × | acidjnk quits (~acidjnk@p200300d6e700e503ca16aff59d0b5956.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 10:49:42 | → | tri joins (~tri@ool-44c70bcb.dyn.optonline.net) |
| 10:54:10 | × | tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 248 seconds) |
| 10:55:09 | × | olivial quits (~benjaminl@user/benjaminl) (Read error: Connection reset by peer) |
| 10:55:27 | → | olivial joins (~benjaminl@user/benjaminl) |
| 10:55:28 | × | Freakie quits (~Freakie@185.45.22.133) (Ping timeout: 240 seconds) |
| 11:00:44 | × | takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Ping timeout: 245 seconds) |
| 11:01:28 | → | takuan joins (~takuan@d8d86b9e9.access.telenet.be) |
| 11:05:13 | → | Jackneill joins (~Jackneill@188-143-82-16.pool.digikabel.hu) |
| 11:14:05 | → | xff0x joins (~xff0x@2405:6580:b080:900:d540:12da:a11a:2c00) |
| 11:14:14 | × | divlamir quits (~divlamir@user/divlamir) (Read error: Connection reset by peer) |
| 11:14:34 | → | divlamir joins (~divlamir@user/divlamir) |
| 11:24:20 | → | AlexNoo joins (~AlexNoo@178.34.151.138) |
| 11:27:15 | → | Freakie joins (~Freakie@37.96.11.80) |
| 11:29:53 | → | CiaoSen joins (~Jura@p549cb690.dip0.t-ipconnect.de) |
| 11:34:10 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 11:37:25 | × | comonad quits (~comonad@p200300d02717df00adc247ef70bd7367.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 11:38:04 | × | CiaoSen quits (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 11:38:09 | <gentauro> | for a bool type, you only need a single bit. However, our smallest mem container is an octet ("byte") |
| 11:43:28 | → | comonad joins (~comonad@pd9e0770c.dip0.t-ipconnect.de) |
| 11:47:21 | × | Square2 quits (~Square4@user/square) (Ping timeout: 272 seconds) |
| 11:49:09 | → | weary-traveler joins (~user@user/user363627) |
| 11:50:37 | → | tri joins (~tri@ool-44c70bcb.dyn.optonline.net) |
| 11:51:46 | → | somemathguy joins (~somemathg@user/somemathguy) |
| 11:54:58 | × | tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 248 seconds) |
| 11:56:48 | × | Freakie quits (~Freakie@37.96.11.80) (Quit: Client closed) |
| 11:59:30 | × | comonad quits (~comonad@pd9e0770c.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 12:00:41 | → | comonad joins (~comonad@p200300d02717df00adc247ef70bd7367.dip0.t-ipconnect.de) |
| 12:01:56 | × | Axman6 quits (~Axman6@user/axman6) (Remote host closed the connection) |
| 12:02:09 | → | Axman6 joins (~Axman6@user/axman6) |
| 12:04:21 | → | Freakie joins (~Freakie@185.45.22.133) |
| 12:04:45 | → | CiaoSen joins (~Jura@p549cb690.dip0.t-ipconnect.de) |
| 12:05:53 | <Freakie> | does anyone have experience with using ghc-debug? I've been trying to get the TUI to work but it keeps crashing on me saying "not enough bytes". google hasn't been helpful either |
| 12:06:29 | × | anselmschueler quits (~Thunderbi@user/schuelermine) (Ping timeout: 244 seconds) |
| 12:07:09 | → | AlexZenon joins (~alzenon@178.34.151.138) |
| 12:07:31 | <chromoblob> | feed more bytes |
| 12:07:40 | <Freakie> | would that I knew how |
| 12:11:17 | → | Alex_delenda_est joins (~al_test@178.34.151.138) |
| 12:11:42 | × | AlexZenon quits (~alzenon@178.34.151.138) (Ping timeout: 255 seconds) |
| 12:15:39 | → | Alex_A joins (~al_test@178.34.151.138) |
| 12:15:45 | × | Alex_delenda_est quits (~al_test@178.34.151.138) (Ping timeout: 255 seconds) |
| 12:16:15 | → | AlexZenon joins (~alzenon@178.34.151.138) |
| 12:18:02 | Alex_A | is now known as Alex_delenda_est |
| 12:19:23 | → | AlexZenon_2 joins (~alzenon@178.34.151.138) |
| 12:20:42 | × | AlexZenon quits (~alzenon@178.34.151.138) (Ping timeout: 255 seconds) |
| 12:23:51 | × | AlexZenon_2 quits (~alzenon@178.34.151.138) (Ping timeout: 255 seconds) |
| 12:27:58 | → | AlexZenon joins (~alzenon@178.34.151.138) |
| 12:29:37 | → | arandombit joins (~arandombi@user/arandombit) |
| 12:30:43 | → | AlexZenon_2 joins (~alzenon@178.34.151.138) |
| 12:32:24 | × | AlexZenon quits (~alzenon@178.34.151.138) (Ping timeout: 255 seconds) |
| 12:34:04 | → | tri joins (~tri@ool-44c70bcb.dyn.optonline.net) |
| 12:35:06 | × | AlexZenon_2 quits (~alzenon@178.34.151.138) (Ping timeout: 255 seconds) |
| 12:38:48 | × | tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 264 seconds) |
| 12:39:18 | → | AlexZenon joins (~alzenon@178.34.151.138) |
| 12:43:43 | → | crazazy joins (crazazy@tilde.town) |
| 12:50:57 | <gentauro> | Freakie: I once had a 33 GB space-leak with -> https://hackage.haskell.org/package/taffybar |
| 12:51:32 | <gentauro> | so as chromoblob says, just gif more RAM |
| 12:54:23 | <Freakie> | well the point of my program is to eat up a lot of ram but not on these input sizes :) |
| 12:54:37 | <Freakie> | but no help with ghc-debug I take it then? |
| 13:00:05 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 13:02:11 | × | czan quits (~czan@user/mange) (Quit: Zzz...) |
| 13:06:44 | × | rainbyte quits (~rainbyte@181.47.219.110) (Read error: Connection reset by peer) |
| 13:09:05 | → | rainbyte joins (~rainbyte@181.47.219.110) |
| 13:13:07 | <gentauro> | Freakie: I rarely use debuggers when doing FP :) |
| 13:13:16 | <gentauro> | I use other mechanism for testing |
| 13:15:07 | <Freakie> | well I feel like I'm out of options at this point, unfortunately |
| 13:15:50 | <Freakie> | I have some sort of massive space leak that does not appear obvious why and both heap and non-heap profiling only got me so far |
| 13:16:14 | <Freakie> | if you have any suggestions I'd be glad to hear them though |
| 13:16:41 | <haskellbridge> | <ijouw> haskell-debugger? |
| 13:21:07 | <gentauro> | Freakie: when I made this (totally wacko) I needed to see what was "eating up mem" -> https://blog.stermon.org/articles/2020/03/30/haskell-data-octet-safe-idiomatic-and-big.html and https://blog.stermon.org/articles/2020/04/06/haskell-data-octet-nand-smaller-but-slower.html |
| 13:22:31 | gentauro | world longest blog post. Most people consuming my feed "complained" xD |
| 13:22:53 | <Freakie> | yeah I'm not going to be able to get to the bottom of that first one |
| 13:23:27 | <Freakie> | so what'd you do? |
| 13:24:54 | <gentauro> | Freakie: by running the profiler, I went step-by-step, making "lazy" parts "strict" |
| 13:25:38 | <gentauro> | let me see if I can find my profiling script |
| 13:26:10 | <Freakie> | I've tried all variations of strictness and it didn't help |
| 13:26:58 | <Freakie> | all I have to go from in my heap profiling is that most of my data comes from constructors tagged CONSTR_NOCAF but I don't know if that's worth anything or not |
| 13:28:23 | <Freakie> | I've tried approximating the memory footprint of my data as well and it's using something like 100x the memory it should |
| 13:28:35 | <gentauro> | Freakie: https://paste.tomsmeding.com/sJ9LB50B |
| 13:29:36 | <gentauro> | Freakie: By looking at the table (and `hp2pretty`) I noticed what was leaking |
| 13:29:47 | <gentauro> | there was actually several things … |
| 13:30:03 | <gentauro> | so `seq` and ` |
| 13:30:16 | <gentauro> | {-# INLINE … #-} |
| 13:30:17 | <gentauro> | everywhere |
| 13:31:50 | <Freakie> | I'll give it a whirl I guess |
| 13:31:59 | <Freakie> | so far the biggest fix for has been to use strict lists |
| 13:32:50 | <Freakie> | everything just feels like shot in the dark because all my data seems paradoxical to me |
| 13:35:28 | → | prdak joins (~Thunderbi@user/prdak) |
| 13:38:16 | <Freakie> | not easy to modify that script of yours :S |
| 13:39:48 | × | AlexZenon quits (~alzenon@178.34.151.138) (Read error: Connection reset by peer) |
| 13:40:04 | → | AlexZenon joins (~alzenon@178.34.151.138) |
| 13:42:31 | × | prdak quits (~Thunderbi@user/prdak) (Quit: prdak) |
| 13:42:49 | <Freakie> | gentauro yeah that's more or less what I already see from profiling, unfortunately |
| 13:43:05 | × | acidjnk_new quits (~acidjnk@p200300d6e700e54146a195f20f1debd3.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 13:52:36 | → | tri joins (~tri@69.74.159.34) |
| 13:57:06 | × | tri quits (~tri@69.74.159.34) (Ping timeout: 248 seconds) |
| 14:11:34 | × | poscat0x04 quits (~poscat@user/poscat) (Remote host closed the connection) |
| 14:14:39 | <pipsquak-bird> | start from scartch and simplify! |
| 14:14:46 | → | poscat joins (~poscat@user/poscat) |
| 14:14:53 | <pipsquak-bird> | maek eevythgin as close to a number score like hit points |
| 14:15:06 | <pipsquak-bird> | cmpuer can instantly do lke a 900 vriable problem in 1 second |
| 14:15:12 | <pipsquak-bird> | so make thing numberical scores |
| 14:15:24 | <pipsquak-bird> | all phd do is arbitrary category thery really |
| 14:15:27 | <pipsquak-bird> | much of it is wrong |
| 14:15:36 | <pipsquak-bird> | univeristy not soruce of truth nor school nor AI |
| 14:16:08 | <pipsquak-bird> | hmm |
| 14:16:20 | <pipsquak-bird> | software transactional memory |
| 14:16:22 | <pipsquak-bird> | sounds sexy |
| 14:16:30 | <pipsquak-bird> | how does it beat thread sor csp? |
| 14:16:33 | <pipsquak-bird> | or actors? |
| 14:20:52 | <pipsquak-bird> | 9p.io is interesting as is greenarrays.com and ocam-pi rmox system, csp based not sure about forth |
| 14:22:42 | × | pierluc-codes quits (~pierlucco@modemcable092.154-83-70.mc.videotron.ca) (Ping timeout: 248 seconds) |
| 14:30:22 | → | pierluc-codes joins (~pierlucco@modemcable092.154-83-70.mc.videotron.ca) |
| 14:41:54 | × | myme quits (~myme@2a01:799:d5e:5f00:303a:da6f:3ef4:dbc1) (Ping timeout: 246 seconds) |
| 14:43:00 | → | anselmschueler joins (~Thunderbi@user/schuelermine) |
| 14:43:04 | → | myme joins (~myme@2a01:799:d5e:5f00:bb34:b3ad:fa86:ff90) |
| 14:43:48 | × | anselmschueler quits (~Thunderbi@user/schuelermine) (Remote host closed the connection) |
| 14:55:16 | <mauke> | @protontorpedo |
| 14:55:16 | <lambdabot> | how does j2ee compare to haskell? |
| 14:55:23 | <mauke> | @protontorpedo |
| 14:55:23 | <lambdabot> | ok is haskell a type of lisp? |
| 14:56:31 | → | rekahsoft joins (~rekahsoft@bras-base-orllon1103w-grc-20-76-67-111-168.dsl.bell.ca) |
| 15:02:11 | → | machinedgod joins (~machinedg@d172-219-48-230.abhsia.telus.net) |
| 15:02:21 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 15:13:49 | <merijn> | Freakie: Do you have code/the profiler output visible somewhere? |
| 15:27:05 | → | acidjnk_new joins (~acidjnk@p200300d6e700e5412a4816b29ee23bce.dip0.t-ipconnect.de) |
| 15:35:07 | × | CiaoSen quits (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 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 |
| 15:46:15 | <EvanR> | a fully materialized large list is hell on memory usage |
| 15:46:39 | × | madresch quits (~Thunderbi@user/madresch) (Ping timeout: 246 seconds) |
| 15:55:41 | → | v0id_7 joins (~v0id_7@user/v0id-7:62772) |
| 16:00:37 | → | traxex joins (traxex@user/traxex) |
| 16:11:25 | <Freakie> | merijn i can upload it in a bit |
| 16:11:38 | <Freakie> | trying to stresstest the program right now and I might run out of memory first |
| 16:12:27 | <Freakie> | EvanR my issue is that I have to gradually *build* lists that can be exponentially large in the input |
| 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 |
| 16:13:59 | <Freakie> | at least I don't see how it should |
| 16:22:15 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 258 seconds) |
| 16:22:45 | → | califax_ joins (~califax@user/califx) |
| 16:23:47 | × | califax quits (~califax@user/califx) (Ping timeout: 258 seconds) |
| 16:24:00 | califax_ | is now known as califax |
| 16:24:15 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 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]`? |
| 16:24:59 | <probie> | Why not just use a better type like `Text` if you want that? |
| 16:25:27 | gentauro | but still having the nice interface. For example: `case str of (c:cs) -> …` |
| 16:26:20 | <gentauro> | probie: iirc, `Text` isn't part of `base` right? |
| 16:28:52 | → | Tuplanolla joins (~Tuplanoll@88-114-89-88.elisa-laajakaista.fi) |
| 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) |
| 16:33:20 | <probie> | containers is outside base, but would you avoid `Map` and `Set` because of that? |
| 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 |
| 16:37:21 | <probie> | and if you want pattern matching, you can have it |
| 16:37:39 | <probie> | % :set -XOverloadedStrings -XViewPatterns -XPatternSynonyms |
| 16:37:39 | <yahb2> | <no output> |
| 16:37:53 | <probie> | % import qualified Data.Text as T |
| 16:37:53 | <yahb2> | <no output> |
| 16:38:14 | <probie> | % pattern S x xs <- (T.uncons -> Just (x, xs)) |
| 16:38:14 | <yahb2> | <no output> |
| 16:38:30 | <probie> | % pattern EOS <- (T.uncons -> Nothing) |
| 16:38:30 | <yahb2> | <no output> |
| 16:39:43 | <probie> | % map (\s -> case T.reverse s of { (S x _) -> Just x; EOS -> Nothing }) ["hello", "", "world"] |
| 16:39:43 | <yahb2> | [Just 'o',Nothing,Just 'd'] |
| 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" |
| 16:41:36 | <yahb2> | ["be,","not","be,","that","the","question"] |
| 16:42:35 | <chromoblob> | microhs? Haskell on microcontrollers? holy shit |
| 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 |
| 16:44:27 | <haskellbridge> | <ijouw> If you get it to run on microcontrollers, please share build instructions |
| 16:44:40 | <Freakie> | EvanR if you have any tips i'm all ears |
| 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 |
| 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 |
| 16:46:16 | <EvanR> | 16 bytes of useful value could balloon to several times more per list node because haskell |
| 16:46:32 | <EvanR> | but not 100,000 times more if I'm not mistaken |
| 16:46:38 | <Freakie> | I included the constructors and tags in that count |
| 16:46:59 | <EvanR> | well 16 bytes is 2 pointers so it sounds unlikely |
| 16:47:16 | <EvanR> | to be at most 16 |
| 16:47:19 | <Freakie> | damn I forgot how memory works |
| 16:47:43 | × | traxex quits (traxex@user/traxex) (Ping timeout: 264 seconds) |
| 16:47:44 | <Freakie> | let me redo my math |
| 16:48:09 | <EvanR> | each boxed value not only has a pointer to it from somewhere but GC metadata as well as payload |
| 16:48:26 | <Freakie> | I know, I was just off by a byte factor |
| 16:48:35 | <EvanR> | and ghc usually uses a whole word for any field |
| 16:49:13 | <Freakie> | but basically I have two algorithms that work on each other. both consume two lists of one type and accumulate two other lists of another type as output |
| 16:49:33 | <EvanR> | accumulate? |
| 16:49:45 | <Freakie> | I mean, just consing |
| 16:49:50 | <EvanR> | by iteratively pushing to the beginning |
| 16:49:58 | <Freakie> | yes? |
| 16:50:02 | <EvanR> | ok |
| 16:50:05 | <EvanR> | then what |
| 16:50:31 | <Freakie> | then that continues till the input lists have been consumed |
| 16:51:03 | <EvanR> | it matters how these accumulated lists are consumed |
| 16:51:28 | <Freakie> | the output lists are only ever added to during the algorithms, and the input lists are only ever traversed linearly |
| 16:51:46 | <EvanR> | if the output list is never consumed |
| 16:52:03 | <Freakie> | I mean they have to by construction of my benchmark |
| 16:52:15 | <EvanR> | it's either unobservable or a memory leak |
| 16:52:27 | <Freakie> | they're fed straight into another iteration of the algorithms |
| 16:53:26 | <Freakie> | heap profiling shows that 80-90% of the data recorded comes from building the output in the one algorithm, but I suspect it shows that because the lists are being retained in the other algorithm and possibly not deallocated on the run? |
| 16:53:43 | <EvanR> | yes that would be my suspicion |
| 16:54:08 | <Freakie> | by design the algorithms only work on lists and trees so it's bound to be inefficient but but scaling shouldn't be this bad |
| 16:55:55 | <int-e> | sm: Well, I implemented a stupid thing: https://silicon.int-e.eu/lambdabot/State/where.html (static page, decodes where file in browser, no search, also not tested much) |
| 16:56:13 | <Freakie> | I aborted the program after an hour and at that point only 5% of the runtime not spent on garbage collection which is not surprising given how much data is live and I don't have any compaction |
| 16:58:15 | × | Jackneill quits (~Jackneill@188-143-82-16.pool.digikabel.hu) (Remote host closed the connection) |
| 16:58:45 | → | Jackneill joins (~Jackneill@188-143-82-16.pool.digikabel.hu) |
| 16:59:02 | × | Jackneill quits (~Jackneill@188-143-82-16.pool.digikabel.hu) (Remote host closed the connection) |
| 16:59:10 | <EvanR> | retaining long lists live when they don't have to be is usually caused by the algorithm consuming lists in a suboptimal way. But it's also possible that's unavoidable because of the algorithm |
| 16:59:43 | <Freakie> | I can most likely refactor it to include compaction but that doesn't really help me reduce the size of the live memory to begin with |
| 17:00:01 | <monochrom> | [Int] of length n, even in the worst case (which doesn't happen often), takes only n*(24+8) bytes. (Often the +8 doesn't happen because GHC-compiled code actually does a flyweight pattern for small Ints.) |
| 17:00:37 | <Freakie> | I've been trying for a while to find some way of actually tracking the size of data during runtime |
| 17:00:46 | <Freakie> | it seems like I have precious few alternatives at least |
| 17:01:53 | <monochrom> | Profiling is only as good as the person who interprets the profiling report. >:) |
| 17:02:15 | <Freakie> | well in that case I am an imposter and a cad |
| 17:05:01 | <EvanR> | monochrom, that sounds like an underestimate for a list node + Int box? or is list node / Int specially implemented to reduce space |
| 17:06:01 | <monochrom> | 24 is already the node, 8 is already the Int |
| 17:06:02 | <EvanR> | 8+8+8+8, would be the bare minimum without any runtime info |
| 17:06:28 | <monochrom> | Oh oops s/8/16/ haha |
| 17:07:04 | <gentauro> | btw, do you have re-use of pattern-matchin cases in Haskell (like we have en OCaml/F#)?. Example: `type FooBarBazQux = Foo | Bar | Baz | Qux;; let fooBarBazQux = function | Foo | Bar -> "foobar" | Baz | Qux -> "bazqux";;` |
| 17:07:09 | <monochrom> | But that still doesn't cause n=10000 to become 1GB. So the hypothesis that n=10000 is rejected. |
| 17:07:42 | <Freakie> | I mean I have empirical data on the total number of nodes generated |
| 17:07:45 | <gentauro> | it seems that `case … of` requires to define duplicate code for `Foo and Bar` and then `Baz and Qux` |
| 17:08:01 | <Freakie> | which, ok is closer to 100k when I reach 1 gb |
| 17:08:21 | <EvanR> | gentauro, probably for the best. I really like reading haskell's "redundant" code |
| 17:08:35 | <Freakie> | gentauro haskell doesn't have disjoint patterns but I tend to use guard patterns instead |
| 17:08:45 | <EvanR> | instead of mentally decompressing it after someone was "too lazy to type it all out" |
| 17:09:01 | <Freakie> | that feels a little like a strawman but ok |
| 17:09:21 | <gentauro> | EvanR: I'm kind of used to the `SML` way :) |
| 17:09:43 | <Freakie> | I tend to prefer haskell's syntax for the most part |
| 17:09:55 | <gentauro> | you know `dry` (Don't repeat yourself) |
| 17:09:56 | <EvanR> | the difference between a straight list of cases, and the ruby way of having algorithms generate the code or values |
| 17:10:11 | <EvanR> | yeah I have often see "dry" be bad in haskell |
| 17:11:06 | <haskellbridge> | <sm> int-e https://silicon.int-e.eu/lambdabot/State/where.html - very nice! Much simpler than https://haskell-links.org . How to make it discoverable ? |
| 17:11:26 | <EvanR> | you do have pattern synonyms and view patterns |
| 17:11:40 | <haskellbridge> | <sm> @where+ links https://silicon.int-e.eu/lambdabot/State/where.html I guess |
| 17:12:21 | <Leary> | gentauro: https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/or_patterns.html |
| 17:12:49 | <Freakie> | oh neat |
| 17:14:31 | <int-e> | @where+ where https://silicon.int-e.eu/lambdabot/State/where.html |
| 17:14:31 | <lambdabot> | I will never forget. |
| 17:15:04 | <gentauro> | Leary: nice |
| 17:15:39 | <gentauro> | this will work with minimalistic sum types due to -> "If we want the compiler to aid us in Haskell2010, we must write out all cases explicitly". |
| 17:15:58 | <gentauro> | unless "underscore wildcard" can be used. |
| 17:15:59 | <int-e> | (not opposed to changing the `links` entry, but for now it still works) |
| 17:17:54 | <Leary> | Freakie: BTW, if you want good scaling, you probably need to write your algorithm to stream output as input comes in. You might be able to achieve that by building the output lists outside-in rather than inside-out, but the safer path would be to use a streaming library. |
| 17:18:13 | <sm> | 👍🏻 and now added at https://joyful.com/Haskell+map#other+docs |
| 17:18:27 | <Freakie> | technically I'm doing a thesis on algorithms designed to work efficiently on external memory which implies streaming by design |
| 17:18:51 | <Freakie> | how do you mean outside-in though? |
| 17:21:42 | <Leary> | When a recursive function `go` wants to yield an element `x`, do so by producing `x : go (...)`. |
| 17:23:10 | <Freakie> | so the whole tail recursion modulo cons business? |
| 17:24:04 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 245 seconds) |
| 17:24:25 | <Leary> | Maybe; I don't think from that angle. The important part is that the recursive call is guarded behind the `:` constructor, so it doesn't run until after `x` is consumed. |
| 17:24:26 | <haskellbridge> | <sm> A new entry for the Haskell Book list, tcard__ : https://www.reddit.com/r/haskell/comments/1ry38dn/haskell_brain_teasers_is_now_available/ |
| 17:24:43 | <Freakie> | i'll try to keep it in mind |
| 17:25:03 | <Freakie> | at any rate I'm probably going to have to pivot by necessity to another part of the project and let the performance be what it is |
| 17:25:18 | <Freakie> | it's just been bothering me for a while that I can't explain how hungry the algorithms are |
| 17:26:20 | <pipsquak-bird> | why is computer job market so jacked now? india outsourcing and vendors trying to stamp out linux? |
| 17:26:39 | <Freakie> | more like executives bought into the AI hype |
| 17:26:44 | <pipsquak-bird> | heh |
| 17:26:53 | <pipsquak-bird> | AI creates houses and megadorms! |
| 17:27:02 | <pipsquak-bird> | free room food and net! |
| 17:27:39 | ChanServ | sets mode +o monochrom |
| 17:27:44 | monochrom | sets mode +b *!*@c-71-235-170-34.hsd1.ma.comcast.net |
| 17:27:44 | pipsquak-bird | is kicked by monochrom (pipsquak-bird) |
| 17:27:56 | <Freakie> | lmao tho |
| 17:28:05 | <Franciman> | megadorms |
| 17:28:24 | <Freakie> | Leary so I finally found a way to track the memory of values in runtime which also triggers a garbage collection before measuring and it seems to have completely squashed memory usage (at least within reason) at the cost of, uh, time |
| 17:28:38 | <Freakie> | so I guess it's just a space leak somewhere after all |
| 17:30:16 | <Freakie> | one complication of what you suggested is that I always return a pair where only one of the elements is updated |
| 17:30:27 | <Freakie> | will that matter in terms of what you said? |
| 17:30:53 | monochrom | sets mode -o monochrom |
| 17:33:43 | <Leary> | Freakie: Probably, but you can change out `([a], [b])` for `[Either a b]`. |
| 17:34:58 | <Freakie> | how will that relate to guarding behind a constructor? |
| 17:36:31 | → | ft joins (~ft@p508db341.dip0.t-ipconnect.de) |
| 17:37:35 | <Leary> | Well it's a single list, so the rest of the computation is always behind the next cons cell, and it knows what it's already done. With two lists, you would have two independent computations instead. |
| 17:38:23 | <Freakie> | oh you meant a list of eithers |
| 17:38:45 | <Freakie> | I don't think that's sound |
| 17:39:37 | <Freakie> | only one of the pair elements is a list, the other is a priority queue |
| 17:41:36 | <Freakie> | but yeah it turns out that stuff isn't being garbage collected |
| 17:41:58 | <Freakie> | which is progress at least |
| 17:42:28 | <Leary> | Does it actually need to be returned? I suspect you can just thread the queue state as an argument to the recursive call (or other continuation). |
| 17:43:43 | <Freakie> | do you mean with a stateful priority queue? |
| 17:45:05 | <Freakie> | both need to be returned because the priority queues make up with invariants of the algorithm |
| 17:45:06 | → | tri joins (~tri@69.74.159.34) |
| 17:49:39 | × | tri quits (~tri@69.74.159.34) (Ping timeout: 255 seconds) |
| 17:55:22 | <Freakie> | thanks for the suggestions at any rate, gotta go |
| 17:57:44 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 17:59:28 | × | Freakie quits (~Freakie@185.45.22.133) (Ping timeout: 240 seconds) |
| 18:05:49 | → | traxex joins (traxex@user/traxex) |
| 18:06:32 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 268 seconds) |
| 18:10:47 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 18:18:11 | → | arandombit joins (~arandombi@user/arandombit) |
| 18:20:39 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 18:21:18 | → | madresch joins (~Thunderbi@user/madresch) |
| 18:22:27 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Client Quit) |
| 18:22:42 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 256 seconds) |
| 18:23:25 | → | merijn joins (~merijn@77.242.116.146) |
| 18:24:15 | → | madresch1 joins (~Thunderbi@user/madresch) |
| 18:25:32 | → | Guest62t joins (~Guest62t@p200300ca8f188500b4d545039923a63f.dip0.t-ipconnect.de) |
| 18:25:32 | × | madresch quits (~Thunderbi@user/madresch) (Ping timeout: 256 seconds) |
| 18:25:32 | madresch1 | is now known as madresch |
| 18:37:26 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 256 seconds) |
| 18:37:29 | × | m_a_r_k quits (~m_a_r_k@archlinux/support/mark) (Ping timeout: 248 seconds) |
| 18:40:27 | × | vulpine quits (xfnw@user/meow/xfnw) (Ping timeout: 268 seconds) |
| 19:06:52 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 19:07:14 | → | lol__ joins (~lol@2603:3016:1e01:b980:173:305f:8185:29ce) |
| 19:10:36 | × | lol_ quits (~lol@2603:3016:1e01:b980:9900:10f7:ff16:cae0) (Ping timeout: 264 seconds) |
| 19:11:24 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 19:12:39 | × | ss4 quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 19:13:26 | × | madresch quits (~Thunderbi@user/madresch) (Read error: Connection reset by peer) |
| 19:15:30 | × | somemathguy quits (~somemathg@user/somemathguy) (Ping timeout: 248 seconds) |
| 19:15:39 | → | madresch joins (~Thunderbi@user/madresch) |
| 19:21:31 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 19:22:15 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 19:23:26 | × | jreicher quits (~joelr@user/jreicher) (Quit: In transit) |
| 19:26:13 | → | arandombit joins (~arandombi@user/arandombit) |
| 19:26:48 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 19:27:40 | → | malte joins (~malte@mal.tc) |
| 19:29:03 | → | madresch1 joins (~Thunderbi@user/madresch) |
| 19:29:51 | <int-e> | sm: tinkered a bit more, so links are now links. |
| 19:30:10 | × | madresch quits (~Thunderbi@user/madresch) (Ping timeout: 268 seconds) |
| 19:30:10 | madresch1 | is now known as madresch |
| 19:30:49 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 244 seconds) |
| 19:31:19 | → | somemathguy joins (~somemathg@user/somemathguy) |
| 19:31:39 | <haskellbridge> | <sm> . |
| 19:31:39 | <haskellbridge> | @where where |
| 19:31:39 | <lambdabot> | https://silicon.int-e.eu/lambdabot/State/where.html |
| 19:31:50 | <haskellbridge> | <sm> xxx |
| 19:31:50 | <haskellbridge> | @where where |
| 19:31:50 | <lambdabot> | https://silicon.int-e.eu/lambdabot/State/where.html |
| 19:32:14 | → | peterbecich joins (~Thunderbi@71.84.33.135) |
| 19:32:27 | <sm> | huh, quite a delay before those responses made it to the matrix side |
| 19:32:41 | <sm> | I have been assuming the bridge is "instant" |
| 19:33:15 | <haskellbridge> | <sm> int-e: excellent |
| 19:37:36 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 19:40:30 | → | malte_ joins (~malte@mal.tc) |
| 19:40:34 | × | malte quits (~malte@mal.tc) (Ping timeout: 248 seconds) |
| 19:40:43 | malte_ | is now known as malte |
| 19:42:12 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 19:43:14 | → | arandombit joins (~arandombi@2a02:2455:8656:7100:85cb:5d02:5632:2f7c) |
| 19:43:14 | × | arandombit quits (~arandombi@2a02:2455:8656:7100:85cb:5d02:5632:2f7c) (Changing host) |
| 19:43:14 | → | arandombit joins (~arandombi@user/arandombit) |
| 19:45:19 | × | malte quits (~malte@mal.tc) (Ping timeout: 264 seconds) |
| 19:47:24 | <haskellbridge> | <ijouw> I have a file where i define a function i thought would be better with RequiredTypeArguments, so i enabled it. That led to some type error on my (implicitly forall) type variable called ord (which collides with some function in Data.Char), claiming that the compiler cannot lift functions to type level. |
| 19:47:28 | <haskellbridge> | I am sure the reason for this behavior is some other language extension that R.T.A. depends on. Can someone tell me its name (or where the implicit activation is documented)? |
| 19:48:14 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 245 seconds) |
| 19:51:21 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 19:52:03 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds) |
| 19:52:58 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 19:54:06 | → | malte joins (~malte@mal.tc) |
| 19:54:14 | Lord_of_Life_ | is now known as Lord_of_Life |
| 19:55:51 | → | madresch1 joins (~Thunderbi@user/madresch) |
| 19:56:34 | × | madresch quits (~Thunderbi@user/madresch) (Ping timeout: 248 seconds) |
| 19:56:35 | madresch1 | is now known as madresch |
| 19:57:54 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 19:59:47 | <monochrom> | The GHC User's Guide has implied extensions, i.e., if you turn on X, it tells you that it implies Y. |
| 20:00:26 | <monochrom> | (under the section on X) |
| 20:01:47 | <monochrom> | I recommend looking at your local copy of the GHC User's Guide that comes with your installed GHC. Because if you do the hippie thing and search the web, you will always get the wrong version. |
| 20:01:54 | × | peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 248 seconds) |
| 20:08:20 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 20:13:11 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 20:18:17 | → | arandombit joins (~arandombi@2a02:2455:8656:7100:85cb:5d02:5632:2f7c) |
| 20:18:17 | × | arandombit quits (~arandombi@2a02:2455:8656:7100:85cb:5d02:5632:2f7c) (Changing host) |
| 20:18:17 | → | arandombit joins (~arandombi@user/arandombit) |
| 20:23:05 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 252 seconds) |
| 20:23:43 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 20:28:10 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 20:31:10 | → | m_a_r_k joins (~m_a_r_k@archlinux/support/mark) |
| 20:33:14 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 20:34:26 | → | jreicher joins (~joelr@user/jreicher) |
| 20:35:30 | → | arandombit joins (~arandombi@user/arandombit) |
| 20:35:58 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 20:36:05 | <tcard__> | sm: Thank you! I will add that book to the list once it becomes available. |
| 20:39:53 | → | Guest38 joins (~Guest73@nat-128-84-124-0-685.cit.cornell.edu) |
| 20:40:01 | × | Guest38 quits (~Guest73@nat-128-84-124-0-685.cit.cornell.edu) (Client Quit) |
| 20:50:06 | → | merijn joins (~merijn@62.45.136.136) |
| 20:53:18 | <haskellbridge> | <ijouw> I asked because I do not see any such mention in https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/required_type_arguments.html#required-type-arguments |
| 20:54:36 | × | merijn quits (~merijn@62.45.136.136) (Ping timeout: 255 seconds) |
| 20:57:07 | × | tjbc quits (~tjbc@user/fliife) (Quit: ZNC - https://znc.in) |
| 20:57:31 | <haskellbridge> | <ijouw> But it seems that the behavior is due to the changes in implicit quantification by the extension itsself. |
| 21:03:32 | → | tjbc joins (~tjbc@user/fliife) |
| 21:05:27 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 21:07:48 | <probie> | gentauro: 3 hours late, but I find it works well enough to do something like https://paste.tomsmeding.com/FZlWMFzW to reduce duplication. It's not as nice as what you have in ocaml or F#, but it's not particularly onerous either |
| 21:10:00 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 21:12:01 | <gentauro> | probie: I added it to my project and it said "not supported |
| 21:12:12 | <gentauro> | I guess it's cos I test for several GHC versions |
| 21:12:24 | <gentauro> | and it's only available from 9.12 |
| 21:12:26 | <gentauro> | :-\ |
| 21:12:52 | <gentauro> | probie: oh, you actually don't use the pragam :o |
| 21:12:55 | <gentauro> | nice |
| 21:13:02 | × | timide quits (~timide@user/timide) (Read error: Connection reset by peer) |
| 21:13:27 | → | timide joins (~timide@user/timide) |
| 21:20:49 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 21:23:21 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...) |
| 21:23:31 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 21:25:10 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 21:29:36 | <gentauro> | probie: now we are talking <3 https://paste.tomsmeding.com/IFDeoBAU |
| 21:31:25 | × | karenw quits (~karenw@user/karenw) (Ping timeout: 276 seconds) |
| 21:34:38 | → | CiaoSen joins (~Jura@p549cb690.dip0.t-ipconnect.de) |
| 21:36:12 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 21:39:53 | → | Square2 joins (~Square4@user/square) |
| 21:43:05 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 21:51:59 | × | Guest62t quits (~Guest62t@p200300ca8f188500b4d545039923a63f.dip0.t-ipconnect.de) (Quit: Client closed) |
| 21:53:07 | × | shr\ke quits (~shrike@user/shrke:31298) (Ping timeout: 264 seconds) |
| 21:53:15 | → | shr\ke joins (~shrike@user/paxhumana) |
| 21:53:15 | × | shr\ke quits (~shrike@user/paxhumana) (Changing host) |
| 21:53:15 | → | shr\ke joins (~shrike@user/shrke:31298) |
| 21:54:15 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 21:59:01 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 22:00:01 | × | michalz quits (~michalz@185.246.207.217) (Remote host closed the connection) |
| 22:03:49 | → | peterbecich joins (~Thunderbi@71.84.33.135) |
| 22:09:39 | → | merijn joins (~merijn@62.45.136.136) |
| 22:12:55 | × | redshuffle quits (~quassel@45.43.70.75) (Remote host closed the connection) |
| 22:13:01 | → | redshuffle joins (~quassel@45.43.70.75) |
| 22:14:28 | × | merijn quits (~merijn@62.45.136.136) (Ping timeout: 256 seconds) |
| 22:16:30 | × | Goodbye_Vincent1 quits (cyvahl@freakshells.net) (Ping timeout: 255 seconds) |
| 22:27:06 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 22:29:20 | × | haskellbridge quits (~hackager@96.28.224.214) (Remote host closed the connection) |
| 22:29:52 | → | haskellbridge joins (~hackager@96.28.224.214) |
| 22:29:52 | ChanServ | sets mode +v haskellbridge |
| 22:32:07 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 22:42:28 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 22:47:05 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 22:47:38 | → | tri joins (~tri@ool-44c70bcb.dyn.optonline.net) |
| 22:52:36 | × | tri quits (~tri@ool-44c70bcb.dyn.optonline.net) (Ping timeout: 264 seconds) |
| 22:54:45 | × | CiaoSen quits (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 22:57:45 | × | mstruebing quits (~mstruebin@ns343649.ip-188-165-193.eu) (Read error: Connection reset by peer) |
| 22:57:50 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 22:59:48 | × | somemathguy quits (~somemathg@user/somemathguy) (Ping timeout: 264 seconds) |
| 23:00:37 | → | somemathguy joins (~somemathg@user/somemathguy) |
| 23:01:09 | → | mstruebing joins (~mstruebin@ns343649.ip-188-165-193.eu) |
| 23:02:35 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 23:13:17 | → | acidjnk_new3 joins (~acidjnk@p200300d6e700e5412a4816b29ee23bce.dip0.t-ipconnect.de) |
| 23:13:17 | × | acidjnk_new quits (~acidjnk@p200300d6e700e5412a4816b29ee23bce.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
| 23:13:17 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 23:15:15 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 23:15:18 | → | seven3_ joins (~seven3@user/seven3) |
| 23:18:19 | × | ircbrowse_tom quits (~ircbrowse@user/tomsmeding/bot/ircbrowse-tom) (ZNC 1.9.0+deb2build3 - https://znc.in) |
| 23:18:43 | → | ircbrowse_tom joins (~ircbrowse@user/tomsmeding/bot/ircbrowse-tom) |
| 23:18:45 | Server | sets mode +Cnt |
| 23:19:36 | × | ursa-major quits (114efe6c39@2a03:6000:1812:100::11f3) (Ping timeout: 276 seconds) |
| 23:19:54 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 23:19:59 | × | bliminse quits (~bliminse@user/bliminse) (Ping timeout: 276 seconds) |
| 23:20:50 | × | cpli quits (77fc530071@2a03:6000:1812:100::252) (Ping timeout: 276 seconds) |
| 23:21:11 | → | ursa-major joins (114efe6c39@2a03:6000:1812:100::11f3) |
| 23:21:20 | → | bliminse joins (~bliminse@user/bliminse) |
| 23:23:21 | → | eso_ joins (a0662dfd5e@2a03:6000:1812:100::1266) |
| 23:24:12 | → | cpli joins (77fc530071@2a03:6000:1812:100::252) |
| 23:25:19 | → | cjay- joins (~cjay@nerdbox.nerd2nerd.org) |
| 23:26:11 | → | sviermsung joins (CjyvmvHdzk@user/s4msung) |
| 23:27:46 | → | thaumavorio_ joins (~thaumavor@thaumavor.io) |
| 23:29:30 | × | eso quits (a0662dfd5e@2a03:6000:1812:100::1266) (Ping timeout: 276 seconds) |
| 23:29:30 | × | s4msung quits (QGVxIqNFjX@user/s4msung) (Ping timeout: 276 seconds) |
| 23:29:30 | × | cjay quits (~cjay@nerdbox.nerd2nerd.org) (Ping timeout: 276 seconds) |
| 23:29:30 | × | thaumavorio quits (~thaumavor@thaumavor.io) (Ping timeout: 276 seconds) |
| 23:29:31 | × | craunts795335385 quits (~craunts@152.32.99.2) (*.net *.split) |
| 23:29:31 | × | igemnace quits (~igemnace@user/igemnace) (*.net *.split) |
| 23:29:31 | × | PotatoGim quits (sid99505@id-99505.lymington.irccloud.com) (*.net *.split) |
| 23:29:31 | × | lane quits (809450f172@2a03:6000:1812:100::1300) (*.net *.split) |
| 23:29:31 | × | unlucy quits (sid572875@user/unlucy) (*.net *.split) |
| 23:29:31 | × | JSharp quits (sid4580@user/JSharp) (*.net *.split) |
| 23:29:31 | × | bryanv quits (~quassel@2603:c028:4503:7500:45b7:933:ab17:bc10) (*.net *.split) |
| 23:29:31 | × | krjst quits (~krjst@2a0a:4cc0:2000:789a:b827:c6ff:fed6:bb48) (*.net *.split) |
| 23:29:31 | × | shawwwn quits (uid6132@id-6132.helmsley.irccloud.com) (*.net *.split) |
| 23:29:31 | × | Techcable quits (sid534393@user/Techcable) (*.net *.split) |
| 23:29:31 | × | Zowlyfon quits (sid346067@user/Zowlyfon) (*.net *.split) |
| 23:29:31 | × | arkeet quits (arkeet@moriya.ca) (*.net *.split) |
| 23:29:31 | × | koala_man quits (~vidar@157.146.251.23.bc.googleusercontent.com) (*.net *.split) |
| 23:29:31 | × | sa quits (sid1055@id-1055.tinside.irccloud.com) (*.net *.split) |
| 23:29:31 | × | sus quits (1b7af6299f@user/zeromomentum) (*.net *.split) |
| 23:29:31 | × | dsal quits (sid13060@id-13060.lymington.irccloud.com) (*.net *.split) |
| 23:29:31 | × | tnks quits (sid412124@id-412124.helmsley.irccloud.com) (*.net *.split) |
| 23:29:31 | × | szkl quits (sid110435@id-110435.uxbridge.irccloud.com) (*.net *.split) |
| 23:29:31 | × | yaroot quits (~yaroot@2400:4052:ac0:d901:1cf4:2aff:fe51:c04c) (*.net *.split) |
| 23:29:31 | × | darkling quits (~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space) (*.net *.split) |
| 23:29:31 | eso_ | is now known as eso |
| 23:29:44 | → | troydm joins (~troydm@user/troydm) |
| 23:34:42 | → | sus joins (1b7af6299f@user/zeromomentum) |
| 23:36:19 | → | lane joins (809450f172@2a03:6000:1812:100::1300) |
| 23:38:23 | → | igemnace joins (~igemnace@user/igemnace) |
| 23:40:11 | → | craunts795335385 joins (~craunts@152.32.99.2) |
| 23:40:11 | → | PotatoGim joins (sid99505@id-99505.lymington.irccloud.com) |
| 23:40:11 | → | unlucy joins (sid572875@user/unlucy) |
| 23:40:11 | → | JSharp joins (sid4580@user/JSharp) |
| 23:40:11 | → | bryanv joins (~quassel@2603:c028:4503:7500:45b7:933:ab17:bc10) |
| 23:40:11 | → | krjst joins (~krjst@2a0a:4cc0:2000:789a:b827:c6ff:fed6:bb48) |
| 23:40:11 | → | shawwwn joins (uid6132@id-6132.helmsley.irccloud.com) |
| 23:40:11 | → | Techcable joins (sid534393@user/Techcable) |
| 23:40:11 | → | Zowlyfon joins (sid346067@user/Zowlyfon) |
| 23:40:11 | → | arkeet joins (arkeet@moriya.ca) |
| 23:40:11 | → | koala_man joins (~vidar@157.146.251.23.bc.googleusercontent.com) |
| 23:40:11 | → | sa joins (sid1055@id-1055.tinside.irccloud.com) |
| 23:40:11 | → | dsal joins (sid13060@id-13060.lymington.irccloud.com) |
| 23:40:11 | → | tnks joins (sid412124@id-412124.helmsley.irccloud.com) |
| 23:40:11 | → | szkl joins (sid110435@id-110435.uxbridge.irccloud.com) |
| 23:40:11 | → | darkling joins (~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space) |
| 23:40:18 | × | PotatoGim quits (sid99505@id-99505.lymington.irccloud.com) (Max SendQ exceeded) |
| 23:40:18 | × | craunts795335385 quits (~craunts@152.32.99.2) (Max SendQ exceeded) |
| 23:40:18 | × | krjst quits (~krjst@2a0a:4cc0:2000:789a:b827:c6ff:fed6:bb48) (Max SendQ exceeded) |
| 23:40:18 | × | Techcable quits (sid534393@user/Techcable) (Max SendQ exceeded) |
| 23:40:18 | × | szkl quits (sid110435@id-110435.uxbridge.irccloud.com) (Max SendQ exceeded) |
| 23:40:18 | × | unlucy quits (sid572875@user/unlucy) (Max SendQ exceeded) |
| 23:40:18 | × | sa quits (sid1055@id-1055.tinside.irccloud.com) (Max SendQ exceeded) |
| 23:40:20 | → | yaroot joins (~yaroot@2400:4052:ac0:d901:1cf4:2aff:fe51:c04c) |
| 23:40:42 | → | krjst joins (~krjst@2a0a:4cc0:2000:789a:b827:c6ff:fed6:bb48) |
| 23:40:42 | → | craunts795335385 joins (~craunts@152.32.99.2) |
| 23:40:48 | → | sa joins (sid1055@id-1055.tinside.irccloud.com) |
| 23:40:55 | → | PotatoGim joins (sid99505@id-99505.lymington.irccloud.com) |
| 23:40:56 | → | Techcable joins (sid534393@user/Techcable) |
| 23:40:56 | → | unlucy joins (sid572875@user/unlucy) |
| 23:41:04 | → | szkl joins (sid110435@id-110435.uxbridge.irccloud.com) |
| 23:46:37 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 23:51:00 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 23:54:06 | × | Tuplanolla quits (~Tuplanoll@88-114-89-88.elisa-laajakaista.fi) (Quit: Leaving.) |
All times are in UTC on 2026-03-19.