Logs on 2022-08-28 (liberachat/#haskell)
| 00:00:09 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) |
| 00:03:14 | → | shapr joins (~user@68.54.166.125) |
| 00:05:06 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds) |
| 00:06:08 | → | enek joins (~enek@pool-100-11-18-203.phlapa.fios.verizon.net) |
| 00:09:15 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 00:15:45 | → | euandreh joins (~euandreh@179.214.113.107) |
| 00:17:14 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 00:18:20 | × | causal quits (~user@50.35.83.177) (Quit: WeeChat 3.6) |
| 00:21:19 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) (Quit: segfaultfizzbuzz) |
| 00:21:34 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) |
| 00:23:12 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 00:23:37 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 00:23:39 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 00:26:56 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 00:28:22 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 00:29:39 | × | ober_ quits (~ober@c-24-61-80-64.hsd1.ma.comcast.net) (Quit: Leaving) |
| 00:29:42 | × | bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 00:30:47 | → | bitdex_ joins (~bitdex@gateway/tor-sasl/bitdex) |
| 00:31:17 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 00:36:24 | <segfaultfizzbuzz> | oh lol i found the stack segfault on macos/m1 thing, it's a known issue looks like https://github.com/commercialhaskell/stack/issues/5607 |
| 00:37:50 | <segfaultfizzbuzz> | oh wow if you use bash like the github issue says it doesn't segfault. how can this be!! lol |
| 00:38:29 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 00:51:57 | × | enek quits (~enek@pool-100-11-18-203.phlapa.fios.verizon.net) (Quit: Textual IRC Client: www.textualapp.com) |
| 00:52:35 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 00:52:54 | <dsal> | Yeah, I've run into that. |
| 00:57:33 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 01:00:35 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 01:03:21 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 01:09:03 | → | jmorris joins (uid537181@id-537181.uxbridge.irccloud.com) |
| 01:12:20 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 268 seconds) |
| 01:14:58 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 01:26:51 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 01:27:45 | → | razetime joins (~quassel@117.254.35.219) |
| 01:28:52 | → | nate4 joins (~nate@98.45.169.16) |
| 01:40:32 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 255 seconds) |
| 01:45:58 | → | kannon joins (~NK@135-180-47-54.fiber.dynamic.sonic.net) |
| 01:50:41 | × | kannon quits (~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 01:58:16 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds) |
| 01:58:22 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 01:58:28 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 02:02:19 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 02:02:21 | × | xff0x quits (~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 260 seconds) |
| 02:02:33 | × | bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 02:04:14 | → | xff0x joins (~xff0x@2405:6580:b080:900:1b20:aae8:b54a:f45a) |
| 02:10:18 | × | beteigeuze quits (~Thunderbi@bl11-28-222.dsl.telepac.pt) (Ping timeout: 268 seconds) |
| 02:12:46 | × | td_ quits (~td@94.134.91.193) (Ping timeout: 268 seconds) |
| 02:14:24 | → | td_ joins (~td@94.134.91.78) |
| 02:16:15 | × | nate4 quits (~nate@98.45.169.16) (Read error: Connection reset by peer) |
| 02:16:31 | → | nate4 joins (~nate@98.45.169.16) |
| 02:16:47 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) |
| 02:17:41 | → | kannon joins (~NK@135-180-47-54.fiber.dynamic.sonic.net) |
| 02:18:51 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 02:25:43 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds) |
| 02:32:05 | → | Furor joins (~colere@about/linux/staff/sauvin) |
| 02:34:32 | × | Colere quits (~colere@about/linux/staff/sauvin) (Ping timeout: 255 seconds) |
| 02:35:47 | → | ddellacosta joins (~ddellacos@89.46.62.222) |
| 02:36:53 | Furor | is now known as Colere |
| 02:45:21 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 02:53:34 | → | dtman34 joins (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) |
| 02:58:02 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:58:02 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:58:02 | finn_elija | is now known as FinnElija |
| 03:00:02 | × | haasn quits (~nand@haasn.dev) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
| 03:01:22 | → | haasn joins (~nand@haasn.dev) |
| 03:02:26 | × | dtman34 quits (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 03:03:36 | × | xff0x quits (~xff0x@2405:6580:b080:900:1b20:aae8:b54a:f45a) (Ping timeout: 260 seconds) |
| 03:05:31 | → | xff0x joins (~xff0x@ai071162.d.east.v6connect.net) |
| 03:06:16 | × | Me-me quits (~me-me@v.working.name) (Changing host) |
| 03:06:16 | → | Me-me joins (~me-me@user/me-me) |
| 03:06:22 | → | dtman34 joins (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) |
| 03:12:39 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 03:13:55 | <segfaultfizzbuzz> | dsal: are you still using stack on m1/macos or did you switch to something else? |
| 03:14:35 | <dsal> | segfaultfizzbuzz: yeah, I'm using stack with nix integration |
| 03:15:27 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 03:15:56 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 03:17:01 | × | xff0x quits (~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 260 seconds) |
| 03:20:51 | × | kannon quits (~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds) |
| 03:24:41 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 03:27:56 | → | kannon joins (~NK@135-180-47-54.fiber.dynamic.sonic.net) |
| 03:33:01 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection) |
| 03:37:51 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 03:45:11 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 03:50:04 | × | nate4 quits (~nate@98.45.169.16) (Read error: Connection reset by peer) |
| 03:50:29 | → | nate4 joins (~nate@98.45.169.16) |
| 03:51:17 | × | vglfr quits (~vglfr@145.224.94.75) (Read error: Connection reset by peer) |
| 03:52:35 | → | vglfr joins (~vglfr@145.224.94.75) |
| 03:53:46 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
| 03:57:25 | linux | is now known as Linux |
| 03:57:59 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 04:00:02 | → | xff0x joins (~xff0x@ai071162.d.east.v6connect.net) |
| 04:06:30 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 04:08:08 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 268 seconds) |
| 04:09:48 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 04:12:56 | × | vglfr quits (~vglfr@145.224.94.75) (Read error: Connection reset by peer) |
| 04:13:00 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds) |
| 04:14:15 | → | vglfr joins (~vglfr@145.224.94.75) |
| 04:14:26 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 04:20:31 | → | radhika joins (uid560836@id-560836.helmsley.irccloud.com) |
| 04:20:53 | <radhika> | Hi.. this is a generic question.. I am trying to learn web dev and started with Spock |
| 04:21:04 | <radhika> | Kept getting multiple error messages |
| 04:21:36 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 04:21:44 | <radhika> | Specifically this video |
| 04:21:49 | <radhika> | https://youtube.com/watch?v=Orm-jIIgVD0&feature=share |
| 04:21:58 | → | califax joins (~califax@user/califx) |
| 04:22:29 | <radhika> | I keep getting multiple error messages which when googled says Spock is not compatible with current ghc I have installed |
| 04:23:13 | <radhika> | When I try to install ghc 8.2 it gives fdiagnostics colour error |
| 04:23:29 | <radhika> | On googling that I saw that that version is not maintained |
| 04:24:18 | <radhika> | Is there anyone who is learning Spock or any other simple framework currently? |
| 04:24:55 | <radhika> | In general how do u learn it? I have tried multiple tutorials and example.. many of them have non compatibility issue.. |
| 04:25:56 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds) |
| 04:26:20 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 04:26:52 | <dmj`> | radhika: IHP seems to have good docs https://ihp.digitallyinduced.com/ |
| 04:29:03 | × | razetime quits (~quassel@117.254.35.219) (Ping timeout: 268 seconds) |
| 04:32:16 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 04:32:23 | <radhika> | @dmj hi.. So Spock does not work any more?? |
| 04:32:23 | <lambdabot> | <unknown>.hs:1:3:Parse error: .. |
| 04:32:47 | <radhika> | Are there simpler frameworks for beginners?? |
| 04:34:24 | <radhika> | In general how do u check if ur ghc installation matches or is compatible with different packages or frameworks that u want to learn |
| 04:34:54 | <dsal> | You'd normally use your stack or cabal or nix project to manage that. |
| 04:34:55 | <glguy> | radhika: the package maintainer is supposed to communicate which versions are supported using version bounds |
| 04:35:00 | <dsal> | How did you install ghc? |
| 04:35:09 | <glguy> | but some both bother because it can be a lot of work to keep them accurate |
| 04:35:20 | <radhika> | Ghcup |
| 04:35:57 | <radhika> | That’s the recommended way from Haskell site? |
| 04:36:02 | <dsal> | Is there a reason you want 8.2? |
| 04:36:12 | <radhika> | No |
| 04:36:26 | <radhika> | Spock was giving errors with 8.7 |
| 04:36:30 | <dsal> | Anyway, if you start a new project with stack or cabal, you can specify your dependencies. |
| 04:36:33 | <radhika> | I googled the error |
| 04:36:38 | <dsal> | I've never used spock. scotty is pretty easy. |
| 04:37:00 | <radhika> | Saw message that ghc 8.2 is last compatible version |
| 04:37:05 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) |
| 04:37:08 | <dsal> | You've not really described the error in any way I think anyone can guess about, but if you're starting, you might try something more recent in general. |
| 04:37:15 | <radhika> | That’s why 8.2 |
| 04:37:59 | <radhika> | @dsal yes.. hence the question how do you know which frameworks are compatible with a particular ghc version |
| 04:37:59 | <lambdabot> | Maybe you meant: keal eval |
| 04:38:22 | <glguy> | radhika: @ is for bot commands, you don't need to write it |
| 04:38:35 | <radhika> | Ok |
| 04:38:37 | <glguy> | Spock builds with ghc 8.10.7 and that's the ghcup recommended version |
| 04:40:39 | <dsal> | radhika: That's kind of a difficult way to think about things. Each version of each package will have a list of its dependencies and version bounds for each, which might include base deps and stuff. Something like stackage is easier to manage this graph most of the time. I don't see spock in recent releases at all. |
| 04:41:40 | <radhika> | Dsal understood.. that’s why it would help if you could let me know how to go about it.. I spent a lot of time just on this yesterday 😅 |
| 04:42:22 | <radhika> | Shouldn’t stack new project name resolver-lts version number automatically take care of this issue? |
| 04:42:24 | <dsal> | Sure, you're asking about a specific library I don't know. It's probably fine, but I don't know it and I don't see it where I typically get libraries. |
| 04:42:43 | <dsal> | It should if that library's in the LTS resolver. |
| 04:43:25 | <radhika> | Dsal and that can be verified from stackage right? |
| 04:43:36 | <dsal> | e.g., https://www.stackage.org/lts-19.20/hoogle?q=spock |
| 04:43:51 | <dsal> | I only see one result. I don't know if it's the one you need or not. |
| 04:44:17 | <dsal> | For what it sounds like you're doing, I use this one: https://www.stackage.org/lts-19.20/hoogle?q=scotty |
| 04:44:19 | <glguy> | "cabal repl --build-dep Spock -w ghc-8.10.7" was enough to get Spock up and built. if you set ghc-8.10.7 as your default GHC in ghcup (or pick it with -w) you'll be good to go |
| 04:45:37 | <dsal> | Not knowing what the error is, it's hard to understand what you're running into. glguy knows what he's talking about more than I do by far. :) |
| 04:45:38 | <radhika> | Dsal glguy thanks for the tips.. I will have another go at it. Fact is I have nuked installations number of times just because of tooling.. will re try and see |
| 04:45:43 | <radhika> | Thanks again |
| 04:47:55 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 04:48:36 | × | shapr quits (~user@68.54.166.125) (Ping timeout: 260 seconds) |
| 04:53:42 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 04:54:20 | × | ddellacosta quits (~ddellacos@89.46.62.222) (Ping timeout: 268 seconds) |
| 04:54:51 | → | jmd_ joins (~jmdaemon@user/jmdaemon) |
| 04:56:11 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds) |
| 05:01:44 | × | jmd_ quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds) |
| 05:02:27 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 05:03:13 | → | bilegeek joins (~bilegeek@2600:1008:b045:672c:5812:f108:9f:4ee1) |
| 05:05:44 | × | kannon quits (~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds) |
| 05:07:12 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 05:07:37 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 05:07:45 | → | razetime joins (~quassel@117.254.35.219) |
| 05:08:03 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 05:17:49 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 05:18:29 | → | famubu joins (~famubu@14.139.174.50) |
| 05:18:30 | × | famubu quits (~famubu@14.139.174.50) (Changing host) |
| 05:18:30 | → | famubu joins (~famubu@user/famubu) |
| 05:24:09 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 05:25:20 | × | mrd quits (~mrd@45.61.147.211) (Changing host) |
| 05:25:20 | → | mrd joins (~mrd@user/mrd) |
| 05:25:33 | ← | mrd parts (~mrd@user/mrd) () |
| 05:26:56 | <famubu> | Is it possible to have a type which accepts two arguments? I was trying to have something like ` data Vect (n::Int) a = Cons a (Vect n a)` |
| 05:28:34 | <famubu> | Oh, `data Vect n a = Cons a (Vect n a)` runs without error. They explicit type was causing trouble. |
| 05:29:35 | → | talismanick joins (~talismani@2601:200:c100:3850::dd64) |
| 05:32:11 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 05:32:21 | × | Guest4172 quits (~chenqisu1@183.217.200.212) (Ping timeout: 260 seconds) |
| 05:37:04 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) |
| 05:38:20 | → | bilegeek_ joins (~bilegeek@219.sub-174-209-41.myvzw.com) |
| 05:39:37 | → | mbuf joins (~Shakthi@122.165.55.71) |
| 05:40:50 | × | bilegeek quits (~bilegeek@2600:1008:b045:672c:5812:f108:9f:4ee1) (Ping timeout: 255 seconds) |
| 05:41:21 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
| 05:51:55 | <dsal> | If you mean `n :: Int` you'd just say `Int` and not name it. |
| 05:55:31 | → | coot joins (~coot@213.134.176.158) |
| 06:01:37 | → | zebrag joins (~chris@user/zebrag) |
| 06:03:36 | → | wei2912 joins (~wei2912@138.75.147.149) |
| 06:05:44 | × | zebrag quits (~chris@user/zebrag) (Client Quit) |
| 06:16:02 | <famubu> | dsal: But what if we wanted to refer to that particular n in the construct? (Is that even possible?) |
| 06:17:00 | <fvr> | famubu: you will have this instead `data Vect a = Cons a (Vect Int a)` |
| 06:17:18 | <dsal> | You can make n a variable, or you can use Int |
| 06:18:04 | <dsal> | There are a few other kind of hacky things you can do, but it's not clear why you'd want that. |
| 06:23:06 | → | nate4 joins (~nate@98.45.169.16) |
| 06:30:14 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 06:30:36 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit) |
| 06:32:23 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 268 seconds) |
| 06:32:49 | × | hgolden quits (~Howard@cpe-172-251-233-141.socal.res.rr.com) (Quit: Leaving) |
| 06:33:41 | → | slaydr joins (~slaydr@173.239.197.75) |
| 06:34:09 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.dsl.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 06:34:31 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
| 06:40:23 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds) |
| 06:40:47 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 06:45:51 | × | qrpnxz quits (~qrpnxz@fsf/member/qrpnxz) (Ping timeout: 260 seconds) |
| 06:47:03 | → | nattiestnate joins (~nate@202.138.250.6) |
| 06:47:51 | → | qrpnxz joins (~qrpnxz@fsf/member/qrpnxz) |
| 06:48:11 | × | famubu quits (~famubu@user/famubu) (Ping timeout: 260 seconds) |
| 06:54:36 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:55:41 | → | famubu joins (~famubu@14.139.174.50) |
| 06:56:34 | → | Guest|18 joins (~Guest|18@2-107-248-53-dynamic.dk.customer.tdc.net) |
| 06:57:26 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 06:57:59 | → | acidjnk joins (~acidjnk@p200300d6e7137a04192cc13bdab8a600.dip0.t-ipconnect.de) |
| 06:58:48 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 07:08:15 | → | toeffel joins (~toeffel@user/toeffel) |
| 07:09:12 | → | gmg joins (~user@user/gehmehgeh) |
| 07:15:25 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 07:17:01 | → | axeman joins (~quassel@net-93-65-246-244.cust.vodafonedsl.it) |
| 07:23:11 | × | Vajb quits (~Vajb@2001:999:705:3c86:e7ea:442b:1e01:22d8) (Read error: Connection reset by peer) |
| 07:23:47 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) |
| 07:26:00 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 07:28:15 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 07:29:42 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds) |
| 07:30:12 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 07:32:12 | × | famubu quits (~famubu@14.139.174.50) (Ping timeout: 268 seconds) |
| 07:33:06 | × | Guest|18 quits (~Guest|18@2-107-248-53-dynamic.dk.customer.tdc.net) (Ping timeout: 260 seconds) |
| 07:37:45 | × | axeman quits (~quassel@net-93-65-246-244.cust.vodafonedsl.it) (Ping timeout: 268 seconds) |
| 07:40:20 | × | radhika quits (uid560836@id-560836.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 07:48:14 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 268 seconds) |
| 07:52:21 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:d256:ff55:46cc:bc89) |
| 07:53:31 | × | acidjnk quits (~acidjnk@p200300d6e7137a04192cc13bdab8a600.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 07:57:35 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 08:00:23 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:d256:ff55:46cc:bc89) (Remote host closed the connection) |
| 08:00:42 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:1194:9d69:3198:4ddf) |
| 08:08:19 | → | olle joins (~olle@h-94-254-63-12.NA.cust.bahnhof.se) |
| 08:08:30 | → | jmd_ joins (~jmdaemon@user/jmdaemon) |
| 08:09:12 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds) |
| 08:14:57 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:1194:9d69:3198:4ddf) (Remote host closed the connection) |
| 08:15:15 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:7323:e5c3:cf25:ff32) |
| 08:21:02 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:21:31 | → | elkcl joins (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) |
| 08:22:46 | × | jmd_ quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds) |
| 08:23:07 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 08:28:08 | → | nilradical joins (~nilradica@user/naso) |
| 08:28:16 | → | axeman joins (~quassel@net-93-65-246-244.cust.vodafonedsl.it) |
| 08:32:44 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 08:37:59 | → | MoC joins (~moc@user/moc) |
| 08:38:46 | × | jmorris quits (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 08:40:00 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds) |
| 08:40:38 | → | notzmv joins (~zmv@user/notzmv) |
| 08:40:40 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 08:41:52 | → | nilradical joins (~nilradica@user/naso) |
| 08:41:59 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 08:42:07 | × | nattiestnate quits (~nate@202.138.250.6) (Quit: WeeChat 3.6) |
| 08:42:26 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 08:44:22 | → | Guest4172 joins (~chenqisu1@183.217.200.212) |
| 08:44:57 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 08:45:30 | → | kannon joins (~NK@135-180-47-54.fiber.dynamic.sonic.net) |
| 08:45:51 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 08:46:14 | → | nilradical joins (~nilradica@user/naso) |
| 08:46:21 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 08:47:14 | → | wonko joins (~wjc@2a0e:1c80:2::130) |
| 08:47:34 | → | nilradical joins (~nilradica@user/naso) |
| 08:47:49 | → | frost joins (~frost@user/frost) |
| 08:47:59 | → | nate4 joins (~nate@98.45.169.16) |
| 08:49:30 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:7323:e5c3:cf25:ff32) (Ping timeout: 252 seconds) |
| 08:49:50 | × | kannon quits (~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds) |
| 08:51:09 | → | acidjnk joins (~acidjnk@p200300d6e7137a04192cc13bdab8a600.dip0.t-ipconnect.de) |
| 08:52:59 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 08:53:52 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 08:55:37 | → | ten_finger_typis joins (~ten_finge@adsl-84-226-91-51.adslplus.ch) |
| 09:00:53 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 09:01:33 | <ten_finger_typis> | Morning. I am trying to understand a bit more about unsafeCoerce. It is safe, if the two types have the same representation, but what about GADTs like lists or Maybe. Is the following safe? |
| 09:01:33 | <ten_finger_typis> | f :: [a] -> Int |
| 09:01:34 | <ten_finger_typis> | f x = length (unsafeCoerce x :: [()]) |
| 09:01:59 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:14aa:bc5f:ec5b:98ab) |
| 09:02:04 | → | nilradical joins (~nilradica@user/naso) |
| 09:06:48 | × | nilradical quits (~nilradica@user/naso) (Remote host closed the connection) |
| 09:07:03 | → | nilradical joins (~nilradica@user/naso) |
| 09:10:21 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds) |
| 09:12:21 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 09:17:23 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 09:20:37 | → | alternateved joins (~user@staticline-31-183-146-203.toya.net.pl) |
| 09:20:44 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 268 seconds) |
| 09:20:46 | × | toeffel quits (~toeffel@user/toeffel) (Quit: quit) |
| 09:21:19 | × | axeman quits (~quassel@net-93-65-246-244.cust.vodafonedsl.it) (Ping timeout: 268 seconds) |
| 09:21:21 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds) |
| 09:23:30 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 09:25:08 | × | bilegeek_ quits (~bilegeek@219.sub-174-209-41.myvzw.com) (Quit: Leaving) |
| 09:25:29 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 09:26:13 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 09:28:06 | → | Midjak joins (~Midjak@82.66.147.146) |
| 09:37:10 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:14aa:bc5f:ec5b:98ab) (Ping timeout: 252 seconds) |
| 09:39:35 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 09:40:43 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 09:40:43 | → | king_gs joins (~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec) |
| 09:41:07 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 09:42:55 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 09:47:51 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 09:48:52 | × | talismanick quits (~talismani@2601:200:c100:3850::dd64) (Ping timeout: 244 seconds) |
| 09:49:38 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:dee3:1ebd:2b27:6d24) |
| 09:51:38 | → | mima joins (mmh@gateway/vpn/airvpn/mima) |
| 09:56:12 | → | kilolympus joins (~kilolympu@90.203.82.22) |
| 09:57:53 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 09:58:33 | <kilolympus> | Are compiler versions in the Hackage build runner determined based on anything? |
| 09:59:10 | <kilolympus> | Our project is trying to build with 9.2.4 here: https://hackage.haskell.org/package/discord-haskell-1.15.1/reports/ |
| 09:59:19 | <kilolympus> | while it built with 8.10.2 before: https://hackage.haskell.org/package/discord-haskell-1.15.0/reports/ |
| 09:59:34 | <kilolympus> | The diff between those two versions are almost negligible: https://github.com/discord-haskell/discord-haskell/compare/210e46bef7138540774f24cfc4cbb0b6a20420cb..1d41dc6e73e1d53ec93f1d87d91a16594830c44b |
| 10:00:08 | → | Vajb joins (~Vajb@2001:999:705:3c86:e7ea:442b:1e01:22d8) |
| 10:01:28 | <kilolympus> | For info, the two versions were published by different people but I don't think the user's own PC environment would have affected this |
| 10:02:56 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:dee3:1ebd:2b27:6d24) (Remote host closed the connection) |
| 10:03:17 | → | __monty__ joins (~toonn@user/toonn) |
| 10:03:45 | × | nilradical quits (~nilradica@user/naso) () |
| 10:05:52 | → | mastarija joins (~mastarija@2a05:4f46:e03:6000:d36e:4952:1bda:e264) |
| 10:05:56 | × | wonko quits (~wjc@2a0e:1c80:2::130) (Ping timeout: 260 seconds) |
| 10:07:13 | × | king_gs quits (~Thunderbi@2806:103e:29:da7a:1f74:531c:dec2:7aec) (Quit: king_gs) |
| 10:15:59 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds) |
| 10:17:14 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 10:26:46 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 10:30:23 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 10:31:42 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 268 seconds) |
| 10:31:45 | × | stefan-_ quits (~cri@42dots.de) (Ping timeout: 252 seconds) |
| 10:32:06 | gehmehgeh | is now known as gmg |
| 10:37:15 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 268 seconds) |
| 10:40:51 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 10:41:39 | × | yaroot quits (~yaroot@p2550227-ipngn11101souka.saitama.ocn.ne.jp) (Ping timeout: 248 seconds) |
| 10:42:06 | × | vglfr quits (~vglfr@145.224.94.75) (Ping timeout: 268 seconds) |
| 10:43:27 | → | gmg joins (~user@user/gehmehgeh) |
| 10:44:55 | → | stefan-_ joins (~cri@42dots.de) |
| 10:46:25 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 10:46:41 | × | wei2912 quits (~wei2912@138.75.147.149) (Quit: Lost terminal) |
| 10:47:04 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 10:47:13 | → | gmg joins (~user@user/gehmehgeh) |
| 10:47:23 | → | titibandit joins (~titibandi@xdsl-87-78-66-58.nc.de) |
| 10:50:27 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 10:51:00 | → | cheater joins (~Username@user/cheater) |
| 10:58:12 | × | ten_finger_typis quits (~ten_finge@adsl-84-226-91-51.adslplus.ch) (Ping timeout: 252 seconds) |
| 11:02:40 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 11:19:38 | <Franciman> | does anbody use haskell in semantic web applications? |
| 11:20:11 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 11:26:00 | <darkling> | I found quite a few RDF libraries searching on hackage a while ago. I haven't used Haskell enough to get around to the semweb side of things yet, though. |
| 11:26:17 | → | axeman joins (~quassel@net-93-65-246-244.cust.vodafonedsl.it) |
| 11:26:39 | <darkling> | With that level of support, I'd be surprised if there weren't people using them somewhere. |
| 11:29:20 | → | jmd_ joins (~jmdaemon@user/jmdaemon) |
| 11:29:35 | × | mastarija quits (~mastarija@2a05:4f46:e03:6000:d36e:4952:1bda:e264) (Ping timeout: 255 seconds) |
| 11:30:51 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds) |
| 11:31:43 | → | notzmv joins (~zmv@user/notzmv) |
| 11:33:29 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 11:34:01 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
| 11:34:23 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 11:34:32 | → | gmg joins (~user@user/gehmehgeh) |
| 11:38:52 | × | jmd_ quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds) |
| 11:42:11 | × | alternateved quits (~user@staticline-31-183-146-203.toya.net.pl) (Remote host closed the connection) |
| 11:43:07 | → | random-jellyfish joins (~random-je@user/random-jellyfish) |
| 11:44:38 | → | vglfr joins (~vglfr@145.224.94.78) |
| 11:44:57 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 11:46:17 | × | qhong quits (~qhong@rescomp-21-400677.stanford.edu) (Read error: Connection reset by peer) |
| 11:47:31 | → | qhong joins (~qhong@rescomp-21-400677.stanford.edu) |
| 11:48:03 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 11:49:03 | → | mastarija joins (~mastarija@2a05:4f46:e03:6000:4bd1:c2b:75be:ac1b) |
| 11:49:56 | × | axeman quits (~quassel@net-93-65-246-244.cust.vodafonedsl.it) (Ping timeout: 268 seconds) |
| 11:49:58 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
| 11:50:31 | → | zeenk joins (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) |
| 11:51:21 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 11:52:50 | × | mastarija quits (~mastarija@2a05:4f46:e03:6000:4bd1:c2b:75be:ac1b) (Client Quit) |
| 11:53:53 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 252 seconds) |
| 11:57:21 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 11:58:29 | × | mbuf quits (~Shakthi@122.165.55.71) (Remote host closed the connection) |
| 11:59:36 | → | mbuf joins (~Shakthi@122.165.55.71) |
| 12:00:26 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 12:01:10 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 12:04:23 | × | coot quits (~coot@213.134.176.158) (Quit: coot) |
| 12:04:56 | × | acidjnk quits (~acidjnk@p200300d6e7137a04192cc13bdab8a600.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 12:08:13 | × | titibandit quits (~titibandi@xdsl-87-78-66-58.nc.de) (Remote host closed the connection) |
| 12:12:12 | <albet70> | @djinn a->b->a |
| 12:12:12 | <lambdabot> | f a _ = a |
| 12:12:48 | <albet70> | @hoogle a->b->b |
| 12:12:49 | <lambdabot> | Prelude seq :: forall (r :: RuntimeRep) a (b :: TYPE r) . a -> b -> b |
| 12:12:49 | <lambdabot> | GHC.Conc par :: a -> b -> b |
| 12:12:49 | <lambdabot> | GHC.Conc pseq :: a -> b -> b |
| 12:14:43 | → | vspecky joins (~vspecky@223.190.87.252) |
| 12:15:02 | × | mbuf quits (~Shakthi@122.165.55.71) (Remote host closed the connection) |
| 12:15:54 | → | mbuf joins (~Shakthi@122.165.55.71) |
| 12:26:37 | <vspecky> | Hey there, I'm a recently graduated software engineer currently exploring haskell (and purescript) and functional programming in general. Also a newbie to IRC in general. Nice to be here! |
| 12:29:24 | × | koala_man quits (~vidar@157.146.251.23.bc.googleusercontent.com) (Ping timeout: 268 seconds) |
| 12:29:53 | → | alternateved joins (~user@staticline-31-183-146-203.toya.net.pl) |
| 12:31:06 | → | causal joins (~user@50.35.83.177) |
| 12:31:32 | <geekosaur> | o/ |
| 12:36:20 | → | nate4 joins (~nate@98.45.169.16) |
| 12:37:32 | → | Topsi joins (~Topsi@dyndsl-095-033-090-077.ewe-ip-backbone.de) |
| 12:41:46 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 12:44:28 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 12:45:54 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 12:46:22 | × | kaskal quits (~kaskal@213-225-33-152.nat.highway.a1.net) (Quit: ZNC - https://znc.in) |
| 12:47:46 | × | random-jellyfish quits (~random-je@user/random-jellyfish) (Quit: Client closed) |
| 12:49:59 | → | kaskal joins (~kaskal@2001:4bb8:2dc:7b0e:55ee:692c:e44d:a4b0) |
| 12:51:22 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 12:51:56 | × | vspecky quits (~vspecky@223.190.87.252) (Quit: Leaving) |
| 12:53:20 | → | Pickchea joins (~private@user/pickchea) |
| 12:55:07 | × | Guest4172 quits (~chenqisu1@183.217.200.212) (Ping timeout: 252 seconds) |
| 13:02:42 | → | toeffel joins (~toeffel@user/toeffel) |
| 13:05:56 | → | axeman joins (~quassel@net-93-65-246-244.cust.vodafonedsl.it) |
| 13:06:39 | <Franciman> | ty darkling |
| 13:07:21 | × | razetime quits (~quassel@117.254.35.219) (Ping timeout: 260 seconds) |
| 13:08:17 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 268 seconds) |
| 13:10:43 | × | mima quits (mmh@gateway/vpn/airvpn/mima) (Ping timeout: 268 seconds) |
| 13:16:03 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 13:18:39 | → | eikke joins (~NicolasT@user/NicolasT) |
| 13:19:14 | → | razetime joins (~quassel@117.254.34.136) |
| 13:27:29 | → | acidjnk joins (~acidjnk@p200300d6e7137a04192cc13bdab8a600.dip0.t-ipconnect.de) |
| 13:34:17 | × | Midjak quits (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
| 13:35:12 | → | Midjak joins (~Midjak@82.66.147.146) |
| 13:37:03 | × | eikke quits (~NicolasT@user/NicolasT) (Read error: Connection reset by peer) |
| 13:39:26 | → | eikke joins (~NicolasT@user/NicolasT) |
| 13:41:54 | × | wolfshappen quits (~waff@irc.furworks.de) (Ping timeout: 244 seconds) |
| 13:44:40 | × | frost quits (~frost@user/frost) (Ping timeout: 252 seconds) |
| 13:44:54 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 13:46:20 | → | wolfshappen joins (~waff@irc.furworks.de) |
| 13:51:25 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 268 seconds) |
| 14:02:02 | → | coot joins (~coot@213.134.176.158) |
| 14:04:18 | × | gmg quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 14:05:14 | → | gmg joins (~user@user/gehmehgeh) |
| 14:13:02 | × | razetime quits (~quassel@117.254.34.136) (Ping timeout: 268 seconds) |
| 14:13:39 | → | razetime joins (~quassel@117.254.34.154) |
| 14:15:08 | → | radhika joins (uid560836@id-560836.helmsley.irccloud.com) |
| 14:19:41 | × | wolfshappen quits (~waff@irc.furworks.de) (Ping timeout: 260 seconds) |
| 14:24:44 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 14:34:27 | → | wolfshappen joins (~waff@irc.furworks.de) |
| 14:41:24 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds) |
| 14:41:51 | × | acidjnk quits (~acidjnk@p200300d6e7137a04192cc13bdab8a600.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 14:42:09 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 14:44:24 | → | acidjnk joins (~acidjnk@p200300d6e7137a04192cc13bdab8a600.dip0.t-ipconnect.de) |
| 14:48:02 | × | coot quits (~coot@213.134.176.158) (Quit: coot) |
| 14:52:16 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:caf3:451b:8c00:3fe3) |
| 14:54:05 | × | jespada quits (~jespada@cpc121060-nmal24-2-0-cust249.19-2.cable.virginm.net) (Read error: Connection reset by peer) |
| 14:54:30 | → | jespada joins (~jespada@cpc121060-nmal24-2-0-cust249.19-2.cable.virginm.net) |
| 14:54:43 | → | Pickchea joins (~private@user/pickchea) |
| 14:59:21 | × | razetime quits (~quassel@117.254.34.154) (Ping timeout: 260 seconds) |
| 14:59:24 | → | razetime_ joins (~quassel@117.193.4.187) |
| 15:01:41 | → | gustik joins (~gustik@2a01:c844:2457:2220:475d:34f:d571:996f) |
| 15:02:25 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 268 seconds) |
| 15:03:05 | × | toeffel quits (~toeffel@user/toeffel) (Ping timeout: 252 seconds) |
| 15:04:08 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 15:04:32 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 15:04:38 | → | gmg joins (~user@user/gehmehgeh) |
| 15:07:55 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 268 seconds) |
| 15:08:36 | × | alternateved quits (~user@staticline-31-183-146-203.toya.net.pl) (Remote host closed the connection) |
| 15:10:15 | <Linux> | /join #kernel |
| 15:10:20 | <Linux> | Eep. |
| 15:10:22 | → | alternateved joins (~user@staticline-31-183-146-203.toya.net.pl) |
| 15:11:39 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:caf3:451b:8c00:3fe3) (Remote host closed the connection) |
| 15:11:58 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:5f1e:cc4a:57b6:cd25) |
| 15:12:59 | → | coot joins (~coot@213.134.176.158) |
| 15:14:05 | × | eikke quits (~NicolasT@user/NicolasT) (Ping timeout: 268 seconds) |
| 15:14:51 | × | bgamari quits (~bgamari@64.223.169.142) (Read error: Connection reset by peer) |
| 15:15:01 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 15:16:50 | → | biberu\ joins (~biberu@user/biberu) |
| 15:17:21 | → | tcard_ joins (~tcard@p945242-ipngn9701hodogaya.kanagawa.ocn.ne.jp) |
| 15:17:42 | → | Noinia joins (~Frank@77-162-168-71.fixed.kpn.net) |
| 15:17:52 | → | drdo5 joins (~drdo@roach0.drdo.eu) |
| 15:17:56 | → | lambdap237 joins (~lambdap@static.167.190.119.168.clients.your-server.de) |
| 15:17:59 | → | MironZ2 joins (~MironZ@nat-infra.ehlab.uk) |
| 15:17:59 | → | ell9 joins (~ellie@user/ellie) |
| 15:18:05 | → | bollu5 joins (~bollu@159.65.151.13) |
| 15:18:09 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:5f1e:cc4a:57b6:cd25) (Remote host closed the connection) |
| 15:18:24 | → | Alex_test_ joins (~al_test@178.34.163.186) |
| 15:18:25 | → | AlexZenon_2 joins (~alzenon@178.34.163.186) |
| 15:18:26 | → | orcus- joins (~orcus@user/brprice) |
| 15:18:28 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:61c0:691c:619d:f0a1) |
| 15:18:39 | → | raym_ joins (~raym@user/raym) |
| 15:19:22 | → | stilgart joins (~Christoph@chezlefab.net) |
| 15:19:28 | → | takuan_dozo joins (~takuan@178-116-218-225.access.telenet.be) |
| 15:19:30 | → | mmarusea1ph2 joins (~mihai@198.199.98.239) |
| 15:19:34 | → | glider joins (~glider@user/glider) |
| 15:19:46 | × | acidjnk quits (~acidjnk@p200300d6e7137a04192cc13bdab8a600.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 15:19:49 | → | Furor joins (~colere@about/linux/staff/sauvin) |
| 15:20:03 | → | uroboros joins (~ouroboros@user/ouroboros) |
| 15:20:10 | → | kaol joins (~kaol@94-237-42-30.nl-ams1.upcloud.host) |
| 15:20:13 | → | bgamari joins (~bgamari@64.223.130.166) |
| 15:20:13 | × | razetime_ quits (~quassel@117.193.4.187) (Ping timeout: 268 seconds) |
| 15:20:15 | → | axeman_ joins (~quassel@net-93-65-246-244.cust.vodafonedsl.it) |
| 15:20:19 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 15:20:25 | → | hrberg_ joins (~quassel@171.79-160-161.customer.lyse.net) |
| 15:20:28 | → | bontaq` joins (~user@ool-45779fe5.dyn.optonline.net) |
| 15:20:28 | → | turlando_ joins (~turlando@user/turlando) |
| 15:20:36 | → | aforemny_ joins (~aforemny@static.248.158.34.188.clients.your-server.de) |
| 15:20:41 | → | dysfigured joins (dfg@dfg.rocks) |
| 15:20:42 | → | Jonno_FT1 joins (~come@api.carswap.me) |
| 15:20:45 | → | Unode_ joins (~Unode@194.94.44.220) |
| 15:20:49 | → | mjs2600_ joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) |
| 15:20:51 | → | gff_ joins (~gff@user/gff) |
| 15:20:53 | → | opqdonut_ joins (opqdonut@pseudo.fixme.fi) |
| 15:20:57 | → | einfair_ joins (~einfair@broadband-90-154-71-147.ip.moscow.rt.ru) |
| 15:20:58 | → | Clint_ joins (~Clint@user/clint) |
| 15:21:02 | → | rembo10_ joins (~rembo10@main.remulis.com) |
| 15:21:05 | → | goldstein joins (~goldstein@goldstein.rs) |
| 15:21:05 | → | perrierj1 joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 15:21:10 | → | lbseale_ joins (~quassel@user/ep1ctetus) |
| 15:21:11 | → | tompaw_ joins (~tompaw@static-47-206-100-136.tamp.fl.frontiernet.net) |
| 15:21:11 | → | aku_ joins (~aku@163.172.137.34) |
| 15:21:13 | → | xerox__ joins (~edi@user/edi) |
| 15:21:14 | → | jao- joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 15:21:18 | → | ezzieygu1wuf joins (~Unknown@user/ezzieyguywuf) |
| 15:21:21 | → | oats_ joins (~thomas@user/oats) |
| 15:21:24 | → | kraftwerk28_ joins (~kraftwerk@178.62.210.83) |
| 15:21:29 | × | orcus quits (~orcus@user/brprice) (Ping timeout: 252 seconds) |
| 15:21:29 | × | thaumavorio quits (~thaumavor@thaumavor.io) (Ping timeout: 252 seconds) |
| 15:21:29 | × | ouroboros quits (~ouroboros@user/ouroboros) (Ping timeout: 252 seconds) |
| 15:21:29 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 252 seconds) |
| 15:21:30 | × | perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Ping timeout: 252 seconds) |
| 15:21:30 | × | Rembane quits (~Rembane@li346-36.members.linode.com) (Ping timeout: 252 seconds) |
| 15:21:30 | × | aforemny quits (~aforemny@static.248.158.34.188.clients.your-server.de) (Ping timeout: 252 seconds) |
| 15:21:30 | × | Alex_test quits (~al_test@178.34.163.186) (Ping timeout: 252 seconds) |
| 15:21:30 | × | AlexZenon quits (~alzenon@178.34.163.186) (Ping timeout: 252 seconds) |
| 15:21:30 | × | mmaruseacph2 quits (~mihai@198.199.98.239) (Ping timeout: 252 seconds) |
| 15:21:30 | × | aku quits (~aku@163.172.137.34) (Ping timeout: 252 seconds) |
| 15:21:30 | × | Unode quits (~Unode@194.94.44.220) (Ping timeout: 252 seconds) |
| 15:21:30 | × | stilgart_ quits (~Christoph@chezlefab.net) (Ping timeout: 252 seconds) |
| 15:21:30 | × | xerox quits (~edi@user/edi) (Ping timeout: 252 seconds) |
| 15:21:30 | × | Henkru quits (henkru@kapsi.fi) (Ping timeout: 252 seconds) |
| 15:21:30 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds) |
| 15:21:30 | × | mbuf quits (~Shakthi@122.165.55.71) (Ping timeout: 252 seconds) |
| 15:21:30 | × | raym quits (~raym@user/raym) (Ping timeout: 252 seconds) |
| 15:21:30 | × | hughjfchen quits (~hughjfche@vmi556545.contaboserver.net) (Ping timeout: 252 seconds) |
| 15:21:30 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 252 seconds) |
| 15:21:30 | × | acarrico quits (~acarrico@dhcp-68-142-48-19.greenmountainaccess.net) (Ping timeout: 252 seconds) |
| 15:21:30 | × | malte quits (~malte@mal.tc) (Ping timeout: 252 seconds) |
| 15:21:30 | × | ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Ping timeout: 252 seconds) |
| 15:21:30 | × | adium quits (adium@user/adium) (Ping timeout: 252 seconds) |
| 15:21:30 | × | sudden quits (~cat@user/sudden) (Ping timeout: 252 seconds) |
| 15:21:30 | × | WzC quits (~Frank@77-162-168-71.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 15:21:30 | × | drdo quits (~drdo@roach0.drdo.eu) (Ping timeout: 252 seconds) |
| 15:21:30 | × | tompaw quits (~tompaw@static-47-206-100-136.tamp.fl.frontiernet.net) (Ping timeout: 252 seconds) |
| 15:21:30 | × | lbseale quits (~quassel@user/ep1ctetus) (Ping timeout: 252 seconds) |
| 15:21:30 | × | bcmiller quits (~bm3719@66.42.95.185) (Ping timeout: 252 seconds) |
| 15:21:30 | × | kraftwerk28 quits (~kraftwerk@178.62.210.83) (Ping timeout: 252 seconds) |
| 15:21:30 | × | dfg quits (~dfg@user/dfg) (Ping timeout: 252 seconds) |
| 15:21:30 | × | Hecate quits (~mariposa@user/hecate) (Ping timeout: 252 seconds) |
| 15:21:30 | × | Clint quits (~Clint@user/clint) (Ping timeout: 252 seconds) |
| 15:21:30 | × | MironZ quits (~MironZ@nat-infra.ehlab.uk) (Ping timeout: 252 seconds) |
| 15:21:30 | × | oats quits (~thomas@user/oats) (Ping timeout: 252 seconds) |
| 15:21:30 | × | cjay quits (cjay@nerdbox.nerd2nerd.org) (Ping timeout: 252 seconds) |
| 15:21:30 | × | bah quits (~bah@l1.tel) (Ping timeout: 252 seconds) |
| 15:21:30 | × | turlando quits (~turlando@user/turlando) (Ping timeout: 252 seconds) |
| 15:21:30 | × | axeman quits (~quassel@net-93-65-246-244.cust.vodafonedsl.it) (Ping timeout: 252 seconds) |
| 15:21:30 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 15:21:30 | × | Colere quits (~colere@about/linux/staff/sauvin) (Ping timeout: 252 seconds) |
| 15:21:30 | × | biberu quits (~biberu@user/biberu) (Ping timeout: 252 seconds) |
| 15:21:30 | × | tcard quits (~tcard@p945242-ipngn9701hodogaya.kanagawa.ocn.ne.jp) (Ping timeout: 252 seconds) |
| 15:21:30 | × | GoldsteinQ quits (~goldstein@goldstein.rs) (Ping timeout: 252 seconds) |
| 15:21:30 | × | TheCoffeMaker_ quits (~TheCoffeM@200.126.129.149) (Ping timeout: 252 seconds) |
| 15:21:30 | × | kaol_ quits (~kaol@94-237-42-30.nl-ams1.upcloud.host) (Ping timeout: 252 seconds) |
| 15:21:30 | × | glider_ quits (~glider@user/glider) (Ping timeout: 252 seconds) |
| 15:21:30 | × | Philonous quits (~Philonous@user/philonous) (Ping timeout: 252 seconds) |
| 15:21:30 | × | ell quits (~ellie@user/ellie) (Ping timeout: 252 seconds) |
| 15:21:30 | × | lambdap23 quits (~lambdap@static.167.190.119.168.clients.your-server.de) (Ping timeout: 252 seconds) |
| 15:21:30 | × | rembo10 quits (~rembo10@main.remulis.com) (Ping timeout: 252 seconds) |
| 15:21:30 | × | opqdonut quits (opqdonut@pseudo.fixme.fi) (Ping timeout: 252 seconds) |
| 15:21:30 | × | gff quits (~gff@75-174-108-23.boid.qwest.net) (Ping timeout: 252 seconds) |
| 15:21:30 | × | _xor quits (~xor@74.215.182.83) (Ping timeout: 252 seconds) |
| 15:21:30 | × | hrberg quits (~quassel@171.79-160-161.customer.lyse.net) (Ping timeout: 252 seconds) |
| 15:21:30 | × | einfair__ quits (~einfair@broadband-90-154-71-147.ip.moscow.rt.ru) (Ping timeout: 252 seconds) |
| 15:21:30 | × | xsarnik quits (xsarnik@lounge.fi.muni.cz) (Ping timeout: 252 seconds) |
| 15:21:30 | × | tv quits (~tv@user/tv) (Ping timeout: 252 seconds) |
| 15:21:30 | × | Jonno_FTW quits (~come@user/jonno-ftw/x-0835346) (Ping timeout: 252 seconds) |
| 15:21:30 | × | mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 252 seconds) |
| 15:21:30 | × | dumptruckman quits (~dumptruck@23-239-13-163.ip.linodeusercontent.com) (Ping timeout: 252 seconds) |
| 15:21:30 | × | bollu quits (~bollu@159.65.151.13) (Ping timeout: 252 seconds) |
| 15:21:30 | × | tessier quits (~treed@98.171.210.130) (Ping timeout: 252 seconds) |
| 15:21:30 | × | wz1000 quits (~zubin@static.11.113.47.78.clients.your-server.de) (Ping timeout: 252 seconds) |
| 15:21:30 | × | hippoid quits (~idris@c-98-220-13-8.hsd1.il.comcast.net) (Ping timeout: 252 seconds) |
| 15:21:30 | × | sagax quits (~sagax_nb@user/sagax) (Ping timeout: 252 seconds) |
| 15:21:30 | × | leah_ quits (lp0@heathens.club) (Ping timeout: 252 seconds) |
| 15:21:30 | × | wagle quits (~wagle@quassel.wagle.io) (Ping timeout: 252 seconds) |
| 15:21:30 | → | mbuf joins (~Shakthi@122.165.55.71) |
| 15:21:30 | → | dumptruckman joins (~dumptruck@23-239-13-163.ip.linodeusercontent.com) |
| 15:21:30 | → | Rembane joins (~Rembane@li346-36.members.linode.com) |
| 15:21:30 | → | tessier joins (~treed@98.171.210.130) |
| 15:21:31 | uroboros | is now known as ouroboros |
| 15:21:31 | Unode_ | is now known as Unode |
| 15:21:31 | lambdap237 | is now known as lambdap23 |
| 15:21:34 | → | Philonous_ joins (~Philonous@user/philonous) |
| 15:21:34 | MironZ2 | is now known as MironZ |
| 15:21:34 | ell9 | is now known as ell |
| 15:21:34 | bollu5 | is now known as bollu |
| 15:21:40 | → | hughjfchen joins (~hughjfche@vmi556545.contaboserver.net) |
| 15:21:45 | biberu\ | is now known as biberu |
| 15:21:54 | → | hippoid joins (~idris@c-98-220-13-8.hsd1.il.comcast.net) |
| 15:21:57 | → | sudden joins (~cat@user/sudden) |
| 15:21:57 | → | malte joins (~malte@mal.tc) |
| 15:21:59 | → | _xor joins (~xor@74.215.182.83) |
| 15:22:02 | → | tv joins (~tv@user/tv) |
| 15:22:16 | → | thaumavorio joins (~thaumavor@thaumavor.io) |
| 15:22:17 | → | leah_ joins (lp0@heathens.club) |
| 15:22:19 | → | mima joins (mmh@gateway/vpn/airvpn/mima) |
| 15:22:30 | → | xsarnik joins (xsarnik@lounge.fi.muni.cz) |
| 15:22:34 | → | wz1000 joins (~zubin@static.11.113.47.78.clients.your-server.de) |
| 15:22:36 | → | wagle joins (~wagle@quassel.wagle.io) |
| 15:22:44 | → | acarrico joins (~acarrico@dhcp-68-142-48-19.greenmountainaccess.net) |
| 15:23:55 | oats_ | is now known as oats |
| 15:24:21 | → | Henkru joins (henkru@kapsi.fi) |
| 15:24:42 | → | TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker) |
| 15:25:39 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:61c0:691c:619d:f0a1) (Remote host closed the connection) |
| 15:25:40 | aforemny_ | is now known as aforemny |
| 15:25:56 | → | bcmiller joins (~bm3719@66.42.95.185) |
| 15:25:58 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:e602:ace1:30ba:5cc) |
| 15:26:14 | → | cjay joins (cjay@nerdbox.nerd2nerd.org) |
| 15:26:22 | → | Hecate joins (~mariposa@user/hecate) |
| 15:26:22 | → | bah joins (~bah@l1.tel) |
| 15:26:24 | → | ystael joins (~ystael@user/ystael) |
| 15:27:20 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 15:27:50 | → | adium joins (adium@user/adium) |
| 15:28:18 | → | razetime joins (~quassel@117.254.35.219) |
| 15:32:27 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 15:33:28 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:e602:ace1:30ba:5cc) (Remote host closed the connection) |
| 15:33:47 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:9c9c:d9fa:45ff:f5d) |
| 15:43:57 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:9c9c:d9fa:45ff:f5d) (Remote host closed the connection) |
| 15:44:18 | → | zxx7529 joins (~Thunderbi@user/zxx7529) |
| 15:44:18 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:9c9c:d9fa:45ff:f5d) |
| 15:44:41 | → | toeffel joins (~toeffel@user/toeffel) |
| 15:45:15 | → | splitted joins (~root@88.160.31.174) |
| 15:47:13 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:9c9c:d9fa:45ff:f5d) (Remote host closed the connection) |
| 15:47:55 | Clint_ | is now known as Clint |
| 16:00:12 | × | M3w0[m] quits (~M3w0matri@2001:470:69fc:105::2:55b3) (Quit: You have been kicked for being idle) |
| 16:01:45 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 16:04:12 | → | nilradical joins (~nilradica@user/naso) |
| 16:04:24 | × | perrierj1 quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.6) |
| 16:04:46 | → | perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 16:05:32 | × | splitted quits (~root@88.160.31.174) (Remote host closed the connection) |
| 16:06:26 | → | shapr joins (~user@68.54.166.125) |
| 16:07:48 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 16:08:21 | × | coot quits (~coot@213.134.176.158) (Quit: coot) |
| 16:08:37 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 16:09:35 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:361c:1634:7cfb:4544) |
| 16:14:49 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:361c:1634:7cfb:4544) (Remote host closed the connection) |
| 16:14:55 | → | koala_man joins (~vidar@157.146.251.23.bc.googleusercontent.com) |
| 16:15:07 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:bfb4:5236:6588:c29c) |
| 16:21:01 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds) |
| 16:26:25 | ← | olle parts (~olle@h-94-254-63-12.NA.cust.bahnhof.se) () |
| 16:27:52 | × | nilradical quits (~nilradica@user/naso) () |
| 16:34:26 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 16:34:45 | × | alternateved quits (~user@staticline-31-183-146-203.toya.net.pl) (Remote host closed the connection) |
| 16:36:38 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 16:36:49 | → | nate4 joins (~nate@98.45.169.16) |
| 16:39:09 | × | toeffel quits (~toeffel@user/toeffel) (Ping timeout: 252 seconds) |
| 16:40:50 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 16:41:26 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 16:43:27 | → | merijn joins (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) |
| 16:43:37 | → | jmd_ joins (~jmdaemon@user/jmdaemon) |
| 16:44:19 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 248 seconds) |
| 16:44:35 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 16:45:39 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:bfb4:5236:6588:c29c) (Remote host closed the connection) |
| 16:45:57 | → | yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:906a:4715:8c98:d126) |
| 16:48:31 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 16:54:18 | → | toeffel joins (~toeffel@user/toeffel) |
| 16:54:51 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 16:59:19 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 17:04:27 | × | merijn quits (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds) |
| 17:06:15 | → | econo joins (uid147250@user/econo) |
| 17:09:42 | → | dwt_ joins (~dwt_@c-98-198-103-176.hsd1.tx.comcast.net) |
| 17:12:27 | × | shapr quits (~user@68.54.166.125) (Ping timeout: 268 seconds) |
| 17:12:28 | × | vglfr quits (~vglfr@145.224.94.78) (Read error: Connection reset by peer) |
| 17:13:05 | → | vglfr joins (~vglfr@145.224.94.78) |
| 17:15:55 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Quit: Leaving) |
| 17:16:00 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:16:28 | × | yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:906a:4715:8c98:d126) (Remote host closed the connection) |
| 17:18:23 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
| 17:18:39 | → | n8chan joins (~nate@98.45.169.16) |
| 17:19:19 | → | nate4 joins (~nate@98.45.169.16) |
| 17:21:05 | × | neightchan quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 17:21:40 | → | beteigeuze joins (~Thunderbi@bl11-28-222.dsl.telepac.pt) |
| 17:22:21 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 268 seconds) |
| 17:25:50 | × | mbuf quits (~Shakthi@122.165.55.71) (Quit: Leaving) |
| 17:27:07 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 17:27:53 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 17:29:09 | → | shriekingnoise joins (~shrieking@186.137.167.202) |
| 17:30:32 | → | merijn joins (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) |
| 17:30:46 | × | jao- quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 17:31:04 | × | zeenk quits (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!) |
| 17:31:44 | × | shriekingnoise quits (~shrieking@186.137.167.202) (Remote host closed the connection) |
| 17:33:54 | → | shriekingnoise joins (~shrieking@186.137.167.202) |
| 17:34:02 | × | AlexZenon_2 quits (~alzenon@178.34.163.186) (Ping timeout: 268 seconds) |
| 17:34:02 | × | Alex_test_ quits (~al_test@178.34.163.186) (Ping timeout: 268 seconds) |
| 17:35:46 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 17:37:39 | × | vglfr quits (~vglfr@145.224.94.78) (Ping timeout: 248 seconds) |
| 17:39:18 | × | razetime quits (~quassel@117.254.35.219) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 17:40:14 | → | Alex_test joins (~al_test@178.34.163.186) |
| 17:40:19 | → | AlexZenon joins (~alzenon@178.34.163.186) |
| 17:41:44 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 255 seconds) |
| 17:43:14 | → | nate4 joins (~nate@98.45.169.16) |
| 17:45:21 | × | jmd_ quits (~jmdaemon@user/jmdaemon) (Quit: ZNC 1.8.2 - https://znc.in) |
| 17:49:11 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 17:51:27 | opqdonut_ | is now known as opqdonut |
| 17:52:56 | × | Luj quits (~Luj@2a01:e0a:5f9:9681:8b11:280b:5dc6:2dbd) (Quit: The Lounge - https://thelounge.chat) |
| 17:55:01 | → | coot joins (~coot@213.134.176.158) |
| 17:55:54 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 18:00:33 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds) |
| 18:02:39 | → | Luj joins (~Luj@2a01:e0a:5f9:9681:193b:902c:4a27:b473) |
| 18:04:54 | × | merijn quits (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
| 18:10:06 | → | eikke joins (~NicolasT@user/NicolasT) |
| 18:10:51 | → | rburkholder joins (~blurb@96.45.2.121) |
| 18:11:51 | → | nate4 joins (~nate@98.45.169.16) |
| 18:16:05 | → | vglfr joins (~vglfr@145.224.94.75) |
| 18:21:27 | → | merijn joins (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) |
| 18:21:56 | → | notzmv joins (~zmv@user/notzmv) |
| 18:23:11 | → | beteigeuze1 joins (~Thunderbi@bl11-28-222.dsl.telepac.pt) |
| 18:24:02 | × | beteigeuze quits (~Thunderbi@bl11-28-222.dsl.telepac.pt) (Read error: Connection reset by peer) |
| 18:24:02 | beteigeuze1 | is now known as beteigeuze |
| 18:26:11 | × | merijn quits (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds) |
| 18:28:19 | → | zeenk joins (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) |
| 18:36:26 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 18:36:58 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds) |
| 18:39:11 | Lord_of_Life_ | is now known as Lord_of_Life |
| 18:54:54 | × | radhika quits (uid560836@id-560836.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 18:57:56 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 18:58:00 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:3570:6165:e2af:8564) |
| 19:00:01 | → | aeka` joins (~aeka@2606:6080:2001:6:e14e:c3f3:8562:6916) |
| 19:00:16 | × | aeka quits (~aeka@2606:6080:2001:9:2679:addd:655:8142) (Ping timeout: 260 seconds) |
| 19:00:23 | aeka` | is now known as aeka |
| 19:03:41 | × | gustik quits (~gustik@2a01:c844:2457:2220:475d:34f:d571:996f) (Quit: Leaving) |
| 19:04:24 | × | toeffel quits (~toeffel@user/toeffel) (Quit: quit) |
| 19:05:12 | → | mikoto-chan joins (~mikoto-ch@164.5.249.78) |
| 19:09:42 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 19:12:36 | → | merijn joins (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) |
| 19:13:09 | × | zxx7529 quits (~Thunderbi@user/zxx7529) (Ping timeout: 252 seconds) |
| 19:13:27 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 19:13:54 | → | wonko joins (~wjc@2a0e:1c80:2::130) |
| 19:14:28 | → | kannon joins (~NK@135-180-47-54.fiber.dynamic.sonic.net) |
| 19:14:37 | <segfaultfizzbuzz> | what is a "spine-nonstrict data structure" -- someone said that anynoe experienced with haskell knows to avoid these |
| 19:14:50 | <segfaultfizzbuzz> | so as to not have space leaks |
| 19:15:11 | × | mikoto-chan quits (~mikoto-ch@164.5.249.78) (Ping timeout: 268 seconds) |
| 19:15:49 | <c_wraith> | well that's obviously a false assertion |
| 19:15:58 | <c_wraith> | as a spine-strict list would cause a lot of space leaks |
| 19:15:59 | <segfaultfizzbuzz> | heh ok |
| 19:16:00 | <geekosaur> | who is "someone"? |
| 19:16:11 | <segfaultfizzbuzz> | some forum post |
| 19:16:17 | <segfaultfizzbuzz> | no idea who |
| 19:16:36 | <segfaultfizzbuzz> | what does spine-strict or spine-nonstrict |
| 19:16:38 | <c_wraith> | the thing is, you need to actually think about evaluation patterns. any "always X" is wrong |
| 19:17:05 | <geekosaur> | anyway a spine-nonstrict data structure is one in which the association between individual components is not strict. so for a list, it's the tail that links list elements together (and is nonstrict) |
| 19:17:14 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 19:17:32 | <geekosaur> | trees are also often nonstrict. this is usually a good thing as it permits sharing |
| 19:17:42 | <segfaultfizzbuzz> | sharing between threads? |
| 19:18:13 | <c_wraith> | the saving grace for thinking about evaluation patterns is that there are patterns which if applied locally consistently result in good global behavior. |
| 19:18:14 | <geekosaur> | no. if I change a given node in a tree, only the parent nodes need to be copied; child nodes can be shared |
| 19:18:32 | <geekosaur> | \(between the modified tree and the original) |
| 19:18:45 | × | kannon quits (~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds) |
| 19:18:48 | <segfaultfizzbuzz> | i see |
| 19:19:31 | × | axeman_ quits (~quassel@net-93-65-246-244.cust.vodafonedsl.it) (Ping timeout: 260 seconds) |
| 19:19:44 | <geekosaur> | whereas if it's stricyt it would force copying of the entire tree to update a single node |
| 19:19:50 | <geekosaur> | *strict |
| 19:19:59 | <c_wraith> | I... don't think that's the same thing |
| 19:20:06 | <dolio> | Yeah, that's not true. |
| 19:20:21 | <segfaultfizzbuzz> | it seems like as you write down lines of code the probability that one line depends on some other line goes up quite rapidly over time--there is a "mixing coefficient" and it trends upwards |
| 19:20:21 | <davean> | segfaultfizzbuzz: they're crazy - you USUALLY want spine lazy |
| 19:20:58 | <segfaultfizzbuzz> | granted with functional programming you can try to minimize, control, and limit the growth of this mixing coefficient |
| 19:21:05 | <c_wraith> | there's a certain cargo cult of strictness in Haskell, though. You see a lot of bad advice out of them. |
| 19:21:41 | <davean> | people don't get what non-strictness means and things like liveness and persistence and sharing ... |
| 19:21:56 | <davean> | and they think in general strictness increases computational efficience which is very wrong |
| 19:22:38 | <segfaultfizzbuzz> | i think my primary reason for being strictness-oriented is fear |
| 19:22:52 | <geekosaur> | that may apply to most of the strictness cabal |
| 19:22:56 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 19:23:03 | <davean> | segfaultfizzbuzz: so to get to the actual question, "spine-lazy" usually goes along with strict leaves |
| 19:23:05 | <segfaultfizzbuzz> | and my second reason is that it seems like if a block of code has a high mixing coefficient then strictness seems like it would make sense, at least for that block |
| 19:23:24 | <geekosaur> | that, and looking for simplistic ways out of having to actually understand their code |
| 19:23:30 | <c_wraith> | What you actually should do is learn how evaluation works in Haskell. It's a completely different approach than most languages, but it is logical and predictable. |
| 19:23:30 | <davean> | in that the local actual components often are more efficient to be computed promptly, but the overall structure is what gets shared and can limit control flow of other parts of the program |
| 19:23:40 | <davean> | and also what has to go with the useful parts of liveness control |
| 19:23:44 | <segfaultfizzbuzz> | c_wraith: yeah i am kind of in the middle of that, [exa] had been helping me |
| 19:24:12 | <davean> | c_wraith: its ... predictable? I mean SORTA technically, for a given compiler, but like its REALLY hard to predict for GHC. |
| 19:24:15 | <davean> | c_wraith: I mean in specific |
| 19:24:23 | <davean> | but I also care about the very precise details often |
| 19:24:32 | <davean> | because I'm often targetting assembly optimal output |
| 19:25:14 | <segfaultfizzbuzz> | davean: yeah i'm unlikely to ever understand code at the level of assembly, it is far far too complex |
| 19:25:34 | → | mikoto-chan joins (~mikoto-ch@164.5.249.78) |
| 19:25:40 | <segfaultfizzbuzz> | i am very aware that my primate brain is very limited so i just want the necessary and most powerful abstractions |
| 19:25:50 | <c_wraith> | I will say that RULES pragmas tend to break reasonability. And the full laziness transform is probably a mistake. If people want that result, they should just write that code. |
| 19:26:47 | <c_wraith> | GHC does too much magic to allow bad code to perform well, and sometimes it messes up good code. |
| 19:28:43 | → | acidjnk joins (~acidjnk@p200300d6e7137a4628adea4619d717ec.dip0.t-ipconnect.de) |
| 19:28:55 | <davean> | segfaultfizzbuzz: assembly is the MOST trivial |
| 19:29:12 | <davean> | segfaultfizzbuzz: its hard to write things in because its SO SIMPLE |
| 19:29:19 | <davean> | there is almost nothing to understand at all |
| 19:29:43 | <davean> | c_wraith: The full laziness transform is the only thing that really causes me issues ever |
| 19:30:01 | × | mima quits (mmh@gateway/vpn/airvpn/mima) (Ping timeout: 260 seconds) |
| 19:30:27 | <davean> | c_wraith: I just fought with it the other day, where duplicating a line of code (with a TINY fmap) took the compute time from 15 seconds in 10MiB to 100s of GiBs and OOM hours later |
| 19:30:39 | → | michalz joins (~michalz@185.246.204.75) |
| 19:30:44 | <c_wraith> | yeah, it's a rough one. It makes your code do something other than what you actually wrote. |
| 19:30:50 | <c_wraith> | If you wrote it that way for a reason.... |
| 19:30:50 | <segfaultfizzbuzz> | davean: i mean okay you say that but there are like a zillion instructions and then consider their interactions and soforth, it's impossible |
| 19:30:52 | <davean> | and convincing GHC it was WRONG AND IT MUST NOT DO THAT was super annoying |
| 19:31:04 | <davean> | segfaultfizzbuzz: No, they *don't* interact |
| 19:31:20 | <segfaultfizzbuzz> | ever, in any context? |
| 19:31:25 | <davean> | segfaultfizzbuzz: and there are like 20 main ones, they have procedurally defined variation and then there are a few hundred specialized ones you can mostly ignore |
| 19:31:35 | <davean> | segfaultfizzbuzz: Yes, definitionally |
| 19:31:42 | <davean> | segfaultfizzbuzz: Assembly is too simple for any interactions at all |
| 19:31:42 | <segfaultfizzbuzz> | i think i know maybe eight instructions and i don't have the judgement to know which others are worth knowing |
| 19:31:44 | <c_wraith> | They certainly interact in edge cases. setting the FP mode, for instance. |
| 19:32:00 | <davean> | c_wraith: no, they set registers |
| 19:32:08 | <davean> | c_wraith: the instructions work directly from the register state |
| 19:32:28 | <davean> | theres no interaction between instructions, its all the register sets and it has nothing to do with the previsious instructions |
| 19:32:51 | <davean> | so every instruction can be analyized in complete isolation from what came befor |
| 19:33:14 | <segfaultfizzbuzz> | right but then there are lots of registers and you have to thnik about how an earlier instruction can impact a subsequent one |
| 19:33:23 | → | Pickchea joins (~private@user/pickchea) |
| 19:33:34 | <c_wraith> | I suppose very technically, that's true. But without complete visibility into contents of registers you might think never get touched, you can end up mistaking function. |
| 19:33:39 | <davean> | segfaultfizzbuzz: depends on the architecture, but there really aren't many, and most of them are the same specification for register |
| 19:33:51 | <segfaultfizzbuzz> | aren't there like 60 or something on x86 |
| 19:33:57 | <davean> | theres like the control register, the IP, the FP, and then some general purpose ones. one general purpose one is often |
| 19:33:57 | <segfaultfizzbuzz> | i forget the number, but it isn't small |
| 19:34:05 | <davean> | "special" in that its teh default hard coded into some instructions |
| 19:34:14 | <davean> | segfaultfizzbuzz: They're almost all identical |
| 19:34:14 | <c_wraith> | x86 is kind of a worst-case for understandability. :P |
| 19:34:26 | <segfaultfizzbuzz> | and mov means copy lol |
| 19:34:29 | <davean> | x86 is kinda the worst case, but even there MOST of those registers are copy paste |
| 19:34:34 | <darkling> | If you have trouble with x86 assembly, try ARM. That's much nicer. |
| 19:35:15 | <davean> | segfaultfizzbuzz: and futher, MOST of THOSE 60ish registers are vector registers and not relivent to almost all code |
| 19:35:30 | <davean> | segfaultfizzbuzz: so even THAT claim is basicly meaningless in practice, even if they weren't copy and paste |
| 19:35:49 | <davean> | and even beyond that only like 4 have a special meaning thats relivent |
| 19:36:23 | <davean> | Honestly you could probably learn enough assembly to write basic integer programs in an 8 hour work day |
| 19:36:49 | <segfaultfizzbuzz> | probably you have spent hundreds of hours staring at assembly so it is familiar to you but even if i could somehow determine which instructions were worth paying attention to it is very unlikely that i would reach fluency |
| 19:36:56 | <darkling> | It's very very tedious, though... |
| 19:37:04 | <segfaultfizzbuzz> | and i also feel skeptical that programmers can defeat computers for much longer |
| 19:37:07 | <davean> | darkling: extremely tedious |
| 19:37:40 | <segfaultfizzbuzz> | we are maybe ten or twenty years away from programming ending up like the go board game, i think |
| 19:37:41 | <davean> | segfaultfizzbuzz: I wrote my first assembly program in under 6 hours - I happen to know because it was a game dev project back when I was first starting game dev in 1998 and I had to make it to school :-p |
| 19:38:07 | <darkling> | I tried the Advent of Code last year in Z80 assembler. I got to about day 4. :/ |
| 19:38:23 | <davean> | segfaultfizzbuzz: really you're just scared |
| 19:38:37 | <davean> | segfaultfizzbuzz: ignorance generates fear |
| 19:39:04 | <davean> | You've built it up as some mythical beast, you haven't actually gone "Ok, what do I actually need to know to do X" |
| 19:39:27 | <segfaultfizzbuzz> | davean: partially that, partially it's that i intentionally avoid learning things which deteriorate in their value,... x86 has held up much better over time than i projected |
| 19:39:50 | <segfaultfizzbuzz> | i think that if itanium or whatever had taken off my point might have been more salient |
| 19:40:21 | <davean> | segfaultfizzbuzz: The thing is all assemblies are the same, it doesn't matter which you learn, they follow a principal and almost any language you learn educates you more about programming |
| 19:40:28 | <davean> | segfaultfizzbuzz: I programmed Itanium too |
| 19:40:35 | <davean> | In 2003 |
| 19:40:41 | <segfaultfizzbuzz> | davean: there are probably some more fundamental things, ... and i think, so probably this has to do with the speed of light |
| 19:40:56 | <davean> | that was the hardest assembly I ever learned, it took like 2 days to get sufficient to be compitent, but I wasn't able to beat compilers |
| 19:41:04 | <segfaultfizzbuzz> | probably the speed of light means that a program is always about some kind of spatially local state |
| 19:41:11 | <darkling> | davean: I can think of at least two architectures that are very different at the assembly level to things like x86 or ARM, but those are pretty much dead and gone. :) |
| 19:41:28 | <segfaultfizzbuzz> | and so therefore something like a CPU is "inevitable" |
| 19:41:37 | <davean> | darkling: A few, but even like a dataflow processor is actually fairly similar |
| 19:41:54 | <davean> | darkling: Honestly, in a way a VLIW is the "most" different I've ever actually seen |
| 19:41:58 | <davean> | since it requires different thinking |
| 19:42:05 | <segfaultfizzbuzz> | i've also heard that we use CPU rather than FPGA for compute because FPGA layout is slow |
| 19:42:18 | × | merijn quits (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
| 19:42:26 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 19:42:27 | <davean> | segfaultfizzbuzz: You seem to hear a lot instead of learn a lot ;) |
| 19:42:35 | <darkling> | The CM-1 and CM-2 were one-bit processors runinng in parallel. No registers at all. |
| 19:42:41 | <davean> | darkling: I've seen those |
| 19:42:50 | <davean> | I know people who worked on those |
| 19:43:03 | <segfaultfizzbuzz> | uh, well the speed of light was my observation, but the FPGA thing is not |
| 19:43:04 | <davean> | By which I mean on the design of them |
| 19:43:11 | <darkling> | And the Transputer had a stack. |
| 19:43:14 | <davean> | segfaultfizzbuzz: yes, I'm talking about the FPGA thing |
| 19:43:29 | <davean> | darkling: oh lots of assemblies are stack based |
| 19:43:31 | <monochrom> | w00t transputer |
| 19:43:37 | <davean> | thats not really different than registers |
| 19:43:38 | <darkling> | Itanium was register-based, but you had to spend extra work on sequencing and combining the instructions into the VLIW. |
| 19:43:42 | <segfaultfizzbuzz> | davean: the question here partially is, is this whole concept of registers and assembly and cache hierarchy and whatnot physically inevitable |
| 19:43:56 | <davean> | segfaultfizzbuzz: Even a stack is effectively registers |
| 19:44:05 | <segfaultfizzbuzz> | right, local state |
| 19:44:26 | <davean> | a stack is a variable number of "real" registers, which is abstracted over |
| 19:44:33 | <segfaultfizzbuzz> | register, stack, cache are eskimo words for spatially localized state |
| 19:45:04 | <davean> | segfaultfizzbuzz: A specific sort really |
| 19:45:25 | <segfaultfizzbuzz> | so there is localized state, there is sequentiality, and then there is some kind of irreducible mixing |
| 19:46:03 | <davean> | darkling: I will say that there is a weird similarity between dataflow systems and VLIW |
| 19:46:05 | <monochrom> | Local state is probably inevitable. Note that sometimes it is encoded as control points. |
| 19:46:19 | <davean> | segfaultfizzbuzz: the thing is if you learned Itanium it would have been useful - what do you think modern GPUs look like? |
| 19:46:32 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 19:46:33 | <segfaultfizzbuzz> | what is a control point |
| 19:46:40 | <segfaultfizzbuzz> | davean: lol gpus are itanium? haha |
| 19:46:48 | <davean> | segfaultfizzbuzz: They're VLIQW |
| 19:46:51 | <monochrom> | For example "I'm at line 10". |
| 19:46:52 | <c_wraith> | well, they're massively data parallel |
| 19:46:52 | <davean> | *VLIW |
| 19:47:02 | <davean> | c_wraith: very specificly they're VLIW |
| 19:47:19 | <monochrom> | For example program counter. |
| 19:47:45 | → | ddellacosta joins (~ddellacos@143.244.47.77) |
| 19:48:41 | <davean> | c_wraith: I mean they're also a weird VLIW sometimes |
| 19:49:05 | <segfaultfizzbuzz> | davean: well i will complain a bit that we still aren't referencing a paper or proving that this whole approach is inevitable |
| 19:49:55 | <segfaultfizzbuzz> | we might imagine an FPGA which could be reprogrammed extraordinarily quickly (after every clock or something) or other ways of doing things |
| 19:50:27 | <davean> | segfaultfizzbuzz: they tend to wear out. |
| 19:50:31 | <davean> | depending on the design |
| 19:50:37 | <monochrom> | If you change the circuit every clock cycle, I will then just declare that the circuit is your local state. |
| 19:50:37 | <davean> | you don't want too many rewrite cycles. |
| 19:50:45 | <davean> | But infact there was a design that did that for temporal locality |
| 19:51:03 | <monochrom> | In the same way if your program counter changes every clock cycle, that's your local state. |
| 19:51:54 | <segfaultfizzbuzz> | there is a compelling argument that we need to be using electrons, albeit there are some very new developments in photonics which may decrease the size advantage gap,... |
| 19:52:01 | <monochrom> | Indeed "program counter" is an index to an array of circuits. |
| 19:54:06 | <segfaultfizzbuzz> | davean: so is there a blog post on your 20 instructions of importance? |
| 19:54:26 | <davean> | segfaultfizzbuzz: I will say programming OoO assembly and VLIW assembly has taught me SPECIFICLY why spine-lazy is a good datastructure approach often |
| 19:54:38 | <monochrom> | In general, I'm pretty sure the Church-Turing thesis already implies you must have local state or encoding thereof. |
| 19:54:38 | <segfaultfizzbuzz> | oh wow okay so this is a very sophisticated question then |
| 19:54:38 | <davean> | segfaultfizzbuzz: oh no, most assembly tutorials handle that |
| 19:54:55 | → | merijn joins (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) |
| 19:55:07 | <segfaultfizzbuzz> | i mean i read an introduction to riscv once |
| 19:56:15 | <segfaultfizzbuzz> | davean: since you seem to really understand performance i have an embarassingly bad question |
| 19:57:12 | <davean> | I have about 5 more minutes |
| 19:57:27 | <segfaultfizzbuzz> | which is that the (cringey, i know) programming language shootout normally has not that many problems to solve but it seems like haskell should have a better showing there if it wants to live up to its claims (10% of C),... plus not uncommonly there is some compilation flaw |
| 19:57:57 | <davean> | oh man I don't think anyone has updated those in 15 years |
| 19:58:02 | <davean> | since BOS was working on them |
| 19:58:17 | <monochrom> | Yeah they now have real-world real jobs. |
| 19:58:17 | <segfaultfizzbuzz> | yeah, so, maybe someone should do that? :-P |
| 19:58:28 | <dolio> | Why, though? |
| 19:58:35 | <davean> | No one cares |
| 19:58:42 | <segfaultfizzbuzz> | lol ok |
| 19:58:48 | <segfaultfizzbuzz> | haskell wants to be unknown |
| 19:58:51 | <davean> | I could make something cool, or update someone else's out of date toy test case |
| 19:59:01 | <[exa]> | it's a test, takes out people who believe random stuff on the internet |
| 19:59:08 | <davean> | segfaultfizzbuzz: last I knew it was generally better than most of the options on there but I haven't looked in years |
| 19:59:14 | <segfaultfizzbuzz> | i mean, haskell is also random stuff on the internet lol |
| 19:59:37 | <davean> | segfaultfizzbuzz: If you look at the code for those, many of the languages aren't *actually* doing the same thing |
| 19:59:45 | <davean> | its not a senible comparison to start with |
| 19:59:50 | <segfaultfizzbuzz> | yeah there is a lot of false comparison |
| 19:59:57 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 20:00:00 | <davean> | some to some degree its a game of how infidelious (sp?) you're willing to be |
| 20:00:13 | × | merijn quits (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
| 20:00:15 | <segfaultfizzbuzz> | what we don't have a good way of measuring is "idiomatic speed" |
| 20:00:25 | <segfaultfizzbuzz> | which is how much domain knowledge/special stuff you need to know to go fast |
| 20:00:40 | <davean> | man I haven't used "infidelious" as a word in a long time, glad I didn't butcher that |
| 20:00:43 | <segfaultfizzbuzz> | hahah |
| 20:00:45 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 20:00:57 | <davean> | segfaultfizzbuzz: honestly one thing I've learned with Haskell is that there is a HUGE spectrum of "idiomatic speed" in Haskell |
| 20:01:01 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 20:01:04 | <dolio> | Even if all the examples were up to date and accurate, the premise leads people to make stupid decisions. |
| 20:01:04 | <darkling> | Sounds like a character from some minor Opera Buffa. :) |
| 20:01:06 | <davean> | Several orders of magnitude |
| 20:01:17 | <dolio> | Because they'll just go, "C is fastest, so everyone should use C." |
| 20:01:17 | <davean> | and some forms of thinking lead to space leaks and slowness and other people just never experience them |
| 20:01:39 | <davean> | dolio: I beat a C with Haskell for a talk ;) |
| 20:01:43 | <segfaultfizzbuzz> | i am not smart enough to write or read C,... i am probably also not smart enough to read or write haskell but at least it follows some rules |
| 20:01:51 | <davean> | (now I'm being a little infidelious but not too badly) |
| 20:02:14 | <monochrom> | In idiomatic C, people do not use proper data structures. If they need a priority queue, they just put things in an array in arbitrary order and then do linear search every time. |
| 20:02:23 | <segfaultfizzbuzz> | haha |
| 20:02:37 | <[exa]> | that approach is underrated |
| 20:02:37 | <segfaultfizzbuzz> | because it's so fast that you don't have to write good code |
| 20:02:41 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 244 seconds) |
| 20:02:49 | <dolio> | Because, for example, they haven't taken monochrom's class, and learned that most people are really bad at writing C, so they shouldn't. |
| 20:02:52 | <davean> | [exa]: that approach is optimal for small n :-p |
| 20:02:57 | <monochrom> | You can probably even see that in the Linux kernel for many past versions. |
| 20:03:22 | <[exa]> | yeah, surprisingly most people's n is small |
| 20:03:30 | <segfaultfizzbuzz> | davean: yeah, i can tell from your most recent statement that you actually do know how to code :^) |
| 20:03:30 | <davean> | [exa]: its about judgement, sometimes that is what you SHOULD do, and knowing when to do that vs. the complicated version is what seperates the compitent from the incompitent |
| 20:04:12 | <[exa]> | davean: yeah (or simply account for programmer time spent nerding about the best algorithm :D ) |
| 20:04:14 | <darkling> | If you've only got three items, bubble sort is going to be pretty fast and simple... |
| 20:04:30 | <darkling> | If you've got a million items, it'd be a disaster. |
| 20:04:51 | <davean> | darkling: right which is why almost all sort implimentations switch short algs when the n gets small |
| 20:04:55 | <monochrom> | But I learned that from the code library that the U of Waterloo team brought to the ACM programming contests. Recall that U of Waterloo consistently places like the top 5 or even top 3. |
| 20:04:59 | <davean> | (including on the specific sub problem) |
| 20:05:18 | <davean> | monochrom: learned what specificly?\ |
| 20:05:18 | <monochrom> | And considering that the ACM programming contests give you large n's. |
| 20:05:32 | <segfaultfizzbuzz> | okay so if i can ask a very boring practical question about strictness/laziness and fear: |
| 20:05:44 | <davean> | I'm a bit out of my 5 minutes |
| 20:05:51 | <davean> | I'm sure other people can help you though :) |
| 20:05:53 | <segfaultfizzbuzz> | davean: that's fine thanks for the input :-) |
| 20:05:56 | <monochrom> | That when you need a priority queue for Dijkstra's shortest path, you just throw things an an array and do linear search every time. |
| 20:06:18 | <monochrom> | Or perhaps s/you/they/ |
| 20:06:40 | <segfaultfizzbuzz> | so suppose someone is writing a rest backend which updates a database |
| 20:06:47 | <segfaultfizzbuzz> | or talks to a database i should say |
| 20:07:07 | <monochrom> | Although, I think I heard that at some point the Linux kernel changelog also had "we finally use a real priority queue". |
| 20:07:20 | <segfaultfizzbuzz> | the rest backend must respond to each command in full |
| 20:08:02 | <segfaultfizzbuzz> | it would be too stressfull to think about a rest query which hangs around un-evaluated in part while other rest commands do their thing |
| 20:08:38 | <segfaultfizzbuzz> | so at some top level there is some kind of per-request strictness mandate |
| 20:08:42 | <geekosaur> | if it must respond in full then it'll force evaluation |
| 20:09:00 | <segfaultfizzbuzz> | and then,... won't that almost always bubble all the way down? |
| 20:09:24 | <segfaultfizzbuzz> | like you might make an individual rest command faster or terminate for more cases or whatever, but |
| 20:10:11 | <[exa]> | segfaultfizzbuzz: the queries are usually some kind of IO actions, not really simple to have them hanging around unevaluated. You eitehr run the IO or not. |
| 20:10:14 | <segfaultfizzbuzz> | you can't like visit amazon.com and have your query hanging around for an hour while their backend decides that it can't yet justify evaluating your entire query, right? |
| 20:10:37 | <geekosaur> | IO forces evaluation, in general |
| 20:10:57 | <geekosaur> | laziness comes in when for example some part of the query isn't relevant to the result |
| 20:11:10 | <geekosaur> | so it won't be evaluated |
| 20:11:18 | <segfaultfizzbuzz> | right, i can make sense of query-internal laziness |
| 20:11:28 | <segfaultfizzbuzz> | but "exterior" laziness makes me quiver with fear |
| 20:11:38 | <[exa]> | that's the right reaction IMO |
| 20:11:43 | <geekosaur> | that's just silly |
| 20:11:50 | <geekosaur> | hm, is it? |
| 20:11:59 | <[exa]> | and that's why you don't unsafePerformIO |
| 20:12:01 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds) |
| 20:12:17 | <geekosaur> | right, unsafePerformIO is another question |
| 20:12:23 | <segfaultfizzbuzz> | because unsafePerformIO can cause the evaluation to be postponed? |
| 20:12:50 | <geekosaur> | because it does an IO evaluation lazily instead of letting the IO force evaluation |
| 20:13:08 | <[exa]> | yeah, it's one of the easiest ways to have strictness/laziness exhibit external actions |
| 20:13:17 | <geekosaur> | because unsafePerformIO makes a strict IO operation look like a lazy operation |
| 20:14:14 | <[exa]> | and while it has uses (Debug.Trace afaik?), I'd sanely choose to have stuff organized in actual production code |
| 20:14:47 | <geekosaur> | Debug.Trace, yes. where a large part of the point is showing when something is lazily evaluated |
| 20:15:15 | <geekosaur> | by doing the IO at that point instead of the IO strictifying evaluation |
| 20:16:59 | → | beteigeuze1 joins (~Thunderbi@bl11-28-222.dsl.telepac.pt) |
| 20:17:22 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:3570:6165:e2af:8564) (Quit: WeeChat 2.8) |
| 20:17:30 | <[exa]> | segfaultfizzbuzz: in short, you don't need to worry-- all externally visible actions (except timing etc.) are written in a strict DSL (the IO monad) unless you decide to explicitly break it, with your own consequences |
| 20:17:43 | × | beteigeuze quits (~Thunderbi@bl11-28-222.dsl.telepac.pt) (Read error: Connection reset by peer) |
| 20:17:43 | beteigeuze1 | is now known as beteigeuze |
| 20:18:06 | <qrpnxz> | all IO is lazy, it just so happens that that the dependency chain of the subsequent continuations passed to >>= makes them happen in order once the action is needed (main is forced) |
| 20:18:46 | <qrpnxz> | in other words, if you never make main depend on an IO action, it doesn't happen |
| 20:19:33 | <qrpnxz> | so i wouldn't say that unsafePerformIO makes an action any lazier with that respect |
| 20:22:02 | <Hecate> | lazy IO is the work of the Devil |
| 20:22:13 | <dolio> | No it isn't. |
| 20:22:14 | <qrpnxz> | that's another kind of lazy IO 😃 |
| 20:22:21 | <qrpnxz> | and i do avoid it at all costs |
| 20:22:29 | <Hecate> | qrpnxz: ;-D |
| 20:22:53 | → | ten_finger_typis joins (~ten_finge@adsl-84-226-91-51.adslplus.ch) |
| 20:23:00 | <geekosaur> | let's just say anyting designated "unsafe" is so designated for a reason |
| 20:23:33 | <geekosaur> | this includes things that are based on unsafeInterleaveIO (and are typically regarded as "lazy I/O") |
| 20:24:03 | <qrpnxz> | unsafeInterleaveIO is pretend play IO. You set up all these dependency chains for nothing because the IO happens whenever it bloody wants |
| 20:24:10 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 20:24:17 | <Hecate> | qrpnxz: btw, I'm interested in your usage of effectful |
| 20:24:24 | <qrpnxz> | Hecate: oh? |
| 20:24:26 | <qrpnxz> | what's up |
| 20:24:31 | <segfaultfizzbuzz> | anyway i think the thing that makes me the most nervous about laziness is that my mission-critical rest backend might fail to complete evaluation of a rest command or a certain command might cause a space leak which is otherwise not visible |
| 20:24:38 | <Hecate> | qrpnxz: I'm co-maintainer and avid user, so I'm interested in you as a user :) |
| 20:24:46 | <qrpnxz> | ah! :) |
| 20:24:59 | <qrpnxz> | i'm having fun with it. |
| 20:25:08 | <Hecate> | kewl |
| 20:25:25 | <geekosaur> | segfaultfizzbuzz, if it has to respond and that response depends on evaluation then it will complete evaluation |
| 20:25:33 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 20:25:38 | <qrpnxz> | It just makes me so happy honestly, because it makes reality that old idea of "have an effect for different IO things without having to use IO everywhere and it actually composes" |
| 20:25:42 | <Hecate> | qrpnxz: fun fact, I replaced a DataKind affixed to a Session type by an effect in the stack, in Flora |
| 20:25:59 | <Hecate> | qrpnxz: oh yeah it's beautiful |
| 20:26:03 | <segfaultfizzbuzz> | it might be nice if there was some way to have per-action memory pressure |
| 20:26:32 | <segfaultfizzbuzz> | so i could say, here is 64MB for a rest command, become more strict the closer you get to 64MB |
| 20:26:39 | <geekosaur> | space leaks are more complicated but boil down to letting too many things pile up until the response forces them. whether this happens or not, or even matters, depends on what you're doing |
| 20:26:54 | <qrpnxz> | Hecate: what is Flora? |
| 20:27:31 | <ten_finger_typis> | I am trying to understand a bit more about unsafeCoerce. It is safe, if the two types have the same representation, but what about GADTs like lists or Maybe. Is the following safe or can it give an incorrect result for some list? |
| 20:27:32 | <ten_finger_typis> | f :: [a] -> Int |
| 20:27:32 | <ten_finger_typis> | f x = length (unsafeCoerce x :: [()]) |
| 20:28:09 | <qrpnxz> | that use would not be safe, you don't know that `a` has same rep as () |
| 20:28:11 | <monochrom> | qrpnxz: I used unsafeInterleaveIO to develope a joke unsafeInterleaveIO-passing style :) |
| 20:28:19 | <Hecate> | qrpnxz: good question: https://github.com/flora-pm/flora-server/wiki/What-is-Flora |
| 20:28:19 | <qrpnxz> | lol |
| 20:28:37 | × | Topsi quits (~Topsi@dyndsl-095-033-090-077.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
| 20:28:46 | <ten_finger_typis> | @qr |
| 20:28:46 | <lambdabot> | Maybe you meant: wn v url src rc pl id do bf arr @ ? . |
| 20:28:52 | <qrpnxz> | oh interesting |
| 20:29:55 | <qrpnxz> | ten_finger_typis: this would be allowed: f x = length (fmap (unsafeCoerce :: _ -> Any) x) |
| 20:29:57 | <ten_finger_typis> | @qrpnxz but does that actually matter in this case? |
| 20:29:57 | <lambdabot> | Unknown command, try @list |
| 20:30:01 | <monochrom> | That one is safe, although why bother, length is already polymorphic. |
| 20:30:22 | <qrpnxz> | unsafeCoerce, and worse unsafeCoerce#, are good ways to segfault a normally unbreakable haskell program |
| 20:30:23 | <qrpnxz> | so watch out |
| 20:30:41 | <ten_finger_typis> | yes ;-) |
| 20:30:42 | <qrpnxz> | monochrom: yeah lol |
| 20:31:13 | <ten_finger_typis> | good advice using that fmap to Any |
| 20:31:14 | <monochrom> | Wait, a normally unbreakable program shouldn't be affected. |
| 20:31:28 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 20:31:38 | → | pavonia joins (~user@user/siracusa) |
| 20:31:38 | <monochrom> | It is the nomrally rejected program that gets accepted and then segfaults. |
| 20:32:04 | <monochrom> | Although, maybe you define unbreakable to include unrunnable. |
| 20:32:17 | <qrpnxz> | i mean a program you would have written properly, but instead did something crazy with unsafe. Sprinkling unsafeCoerce in an already sane program shouldn't do anything yes |
| 20:32:28 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 20:32:31 | <monochrom> | Oh, that. |
| 20:32:39 | <ten_finger_typis> | What about this? |
| 20:32:39 | <ten_finger_typis> | f x = length (unsafeCoerce :: [(Any)]) |
| 20:32:43 | <ten_finger_typis> | What about this? |
| 20:32:43 | <ten_finger_typis> | f x = length (unsafeCoerce :: [(Any)]) |
| 20:32:47 | <ten_finger_typis> | What about this? |
| 20:32:48 | <ten_finger_typis> | f x = length (unsafeCoerce x :: [(Any)]) |
| 20:33:20 | <monochrom> | The representation of the spine of [X] is independent of X. |
| 20:33:24 | <qrpnxz> | i would think unsafe coerce of [a] to [Any] should be okay, but i've not seen documentation particularly blessing that |
| 20:33:35 | × | bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 268 seconds) |
| 20:33:52 | <monochrom> | So in the eyes of length, which only cares about the spine, you can make it [X] or [Y] or [Any]. |
| 20:34:17 | × | vglfr quits (~vglfr@145.224.94.75) (Read error: Connection reset by peer) |
| 20:34:26 | <monochrom> | Although, I haven't checked what happens when there is also fusion. |
| 20:34:29 | → | vglfr joins (~vglfr@145.224.94.75) |
| 20:35:04 | <qrpnxz> | good question |
| 20:35:18 | × | goepsilongo quits (~goepsilon@2806:101e:9:5045:107a:c190:12f7:570c) (Quit: Textual IRC Client: www.textualapp.com) |
| 20:35:33 | <qrpnxz> | however length is implemented it would ignore the element (it's poly so it can't do anything with it) so i would think fusion doesn't change anything |
| 20:35:48 | <monochrom> | I think it doesn't break fusion. Or rather, fusion doesn't break my model. |
| 20:36:26 | <monochrom> | Yeah, that. |
| 20:36:33 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 20:36:59 | <ten_finger_typis> | For context, I have been playing around with existential types, |
| 20:37:02 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 20:37:12 | <ten_finger_typis> | data A = forall a . Typeable a => A a |
| 20:37:13 | <ten_finger_typis> | listLength :: A -> Maybe Int |
| 20:37:13 | <ten_finger_typis> | listLength (A a) |
| 20:37:14 | <ten_finger_typis> | | App con _ <- R.typeOf a |
| 20:37:14 | <monochrom> | "Safe unsafeCoerce for Free! A Sequel to Theorems for Free!" |
| 20:37:14 | <ten_finger_typis> | , Just HRefl <- con `eqTypeRep` R.typeRep @[] |
| 20:37:15 | <ten_finger_typis> | = Just $ length (unsafeCoerce a :: [()]) |
| 20:37:15 | <ten_finger_typis> | | True |
| 20:37:16 | <ten_finger_typis> | = Nothing |
| 20:37:28 | <geekosaur> | @where paste |
| 20:37:28 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
| 20:37:40 | × | coot quits (~coot@213.134.176.158) (Quit: coot) |
| 20:37:42 | <geekosaur> | please don't just blat code into the channel |
| 20:37:51 | <ten_finger_typis> | sorry, thanks for the link |
| 20:38:00 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 20:38:18 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 20:39:09 | <qrpnxz> | "coerce: theorems for less" "unsafeCoerce: freer theorems" "unsafeCoerce#: theorems gives you their wallet!" |
| 20:39:52 | <monochrom> | Sounds like "shut up and take my money" :) |
| 20:40:41 | <qrpnxz> | Hecate: since you say you are co-mantainer, I'll bring up a PR i just made... https://github.com/haskell-effectful/effectful/pull/94 :) |
| 20:41:20 | <hpc> | qrpnxz: if the program has no semantics, it has no bugs either |
| 20:41:38 | <qrpnxz> | unfortunately also no features :( |
| 20:41:42 | <monochrom> | But every program has semantics. |
| 20:41:54 | <monochrom> | But you could s/semantics/specification |
| 20:41:57 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 20:41:58 | <qrpnxz> | "it's supposed to segfault!" |
| 20:42:15 | <[exa]> | "the code is the specification!!!" |
| 20:42:29 | <qrpnxz> | amen |
| 20:42:36 | <monochrom> | This is why I keep my expectations low. |
| 20:42:41 | <[exa]> | :] |
| 20:42:41 | <ten_finger_typis> | so in the `listLength` functionabove the `fmap unsafeCoerce` would not wok because the type in the list would be ambiguous |
| 20:43:00 | <qrpnxz> | Any is specifically made so that anything can be unsafeCoerced into it |
| 20:43:34 | <monochrom> | If you present a glass half-filled with water, some see it as half-empty, some others see it as half-full. I see "at least there is a glass". |
| 20:43:46 | <ten_finger_typis> | yes, and that extends to thinks like [X] = [Any] |
| 20:43:48 | <ten_finger_typis> | ? |
| 20:43:51 | <darkling> | But it's clearly twice the size it needs to be. |
| 20:44:02 | <monochrom> | haha |
| 20:44:03 | <qrpnxz> | i don't make that assumption generally, but i would think likely |
| 20:44:40 | <ten_finger_typis> | thanks |
| 20:44:41 | <qrpnxz> | fmap is definitely okay, not fmapping is probably okay. I'm team definitely okay, personally. |
| 20:45:09 | <segfaultfizzbuzz> | if i write assembly "in haskell" can haskell still limit the damage i do? |
| 20:45:28 | <qrpnxz> | idk what writing assembly in haskell looks like |
| 20:45:40 | <segfaultfizzbuzz> | so for example if i have a haskell function mapping FooType to BarType |
| 20:46:06 | <segfaultfizzbuzz> | can i put assembly "on the interior" of that function ? |
| 20:46:37 | → | mima joins (mmh@gateway/vpn/airvpn/mima) |
| 20:46:50 | <Hecate> | qrpnxz: I saw it :) But at this level I have to defer to Andrzej |
| 20:46:57 | <qrpnxz> | 👍 |
| 20:46:57 | <Hecate> | and also I'm flying abroad like tomorrow |
| 20:47:16 | <qrpnxz> | business or pleasure? |
| 20:47:20 | <Hecate> | vacations! |
| 20:47:24 | <qrpnxz> | yay! |
| 20:47:26 | <monochrom> | Perhaps you can s/asm/C/ and investigate first what happens when Haskell calls a C function. |
| 20:47:26 | <Hecate> | so, cruelly needed |
| 20:47:27 | <segfaultfizzbuzz> | and be guaranteed that, worst case is that i mangle the map from FooType to BarType, rather than cause my inkjet printer to demand ink |
| 20:47:48 | <segfaultfizzbuzz> | monochrom: ok |
| 20:47:58 | <qrpnxz> | if "asm in haskell" is like "C in haskell", then you should be able to break the rules and launch nukes |
| 20:48:05 | <Hecate> | qrpnxz: btw, we're always interested in experience feedbacks, so don't hesitate to publish a post / tweet / post on Reddit about your experience with Effectful |
| 20:48:06 | <monochrom> | But we already know the answer, don't we? Haskell does not limit the damage of foreign functions. |
| 20:48:13 | <qrpnxz> | you have to make the choice and tag with IO or not an extern call |
| 20:48:28 | <qrpnxz> | Hecate: 👍 will consider |
| 20:49:15 | <segfaultfizzbuzz> | so maybe FFI is the wrong way to "do asm in haskell" |
| 20:49:16 | <monochrom> | As for causing an inkjet printer to demand ink, isn't that the job of an OS? |
| 20:49:34 | <monochrom> | Err I mean the job of an OS to stop that. |
| 20:49:35 | <segfaultfizzbuzz> | monochrom: i was making a joke in lieu of "launch nukes" |
| 20:49:36 | <qrpnxz> | i think CUPS is userspace :) |
| 20:50:04 | <ten_finger_typis> | qrpnxz: I do not know how I could get fmap to work in that example |
| 20:50:07 | <segfaultfizzbuzz> | qrpnxz: lol |
| 20:50:13 | <qrpnxz> | i like launch nukes because that's how bad it could hypothetically be xD |
| 20:50:33 | <segfaultfizzbuzz> | i am more afraid of printer ink |
| 20:50:35 | <qrpnxz> | ten_finger_typis: idk what you mean by how. Does it not type check? |
| 20:50:51 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 20:51:11 | <monochrom> | What is with this obsession with length (unsafeCoerse xs)? |
| 20:51:13 | <qrpnxz> | segfaultfizzbuzz: tbh if my printer just started printing a bunch of all black pages none stop i'd freak out and get quite irate xD |
| 20:51:26 | → | kannon joins (~NK@108-216-157-82.lightspeed.sntcca.sbcglobal.net) |
| 20:51:31 | <segfaultfizzbuzz> | qrpnxz: so you agree xD |
| 20:51:45 | <qrpnxz> | i can't say that's worse than nukes, but it pretty bad |
| 20:51:48 | <qrpnxz> | :) |
| 20:52:01 | <qrpnxz> | monochrom: maybe the length is 42 :) |
| 20:52:12 | <segfaultfizzbuzz> | yeah on a log scale it's like only one step worse |
| 20:52:19 | <qrpnxz> | xD |
| 20:52:23 | <monochrom> | No no no. |
| 20:52:37 | → | merijn joins (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) |
| 20:52:57 | <monochrom> | If you waste ink, it runs you into debt, you'll be miserable. |
| 20:53:07 | <monochrom> | If you launch nuke, all your debts are over. |
| 20:53:26 | <segfaultfizzbuzz> | monochrom: btw if i search for hakell c ffi i get a guide to a method which "is discouraged" https://wiki.haskell.org/Foreign_Function_Interface |
| 20:53:49 | <qrpnxz> | if we amortize the printer damage caused by nukes into all other cotidian printer issues, we see that the typical printer issue is about as bad as a nuke /s |
| 20:54:18 | <monochrom> | Oh, that one. It just means s/ccall/capi/ throughout the article and you'll be fine. |
| 20:54:24 | <qrpnxz> | lol |
| 20:54:36 | <monochrom> | This is what's wrong with the haskell wiki. |
| 20:54:42 | <segfaultfizzbuzz> | monochrom: oh ok the writing should clarify that |
| 20:54:50 | <qrpnxz> | feel free to edit :) |
| 20:54:51 | <geekosaur> | back in the day, ghc compiled haskell via c and there was no problem |
| 20:55:01 | <monochrom> | People are too polite to edit, no? So add a sentence instead of editing or deleting. |
| 20:55:04 | <geekosaur> | eventually ghc started compiling directly to asm |
| 20:55:36 | <qrpnxz> | and now there's even llvm backend i think |
| 20:55:40 | <geekosaur> | this made calling some C functions or referring to some C values mroe difficult, because they were actually C preprocessor defines |
| 20:56:08 | <geekosaur> | llvm still has this problem since it's not going through C any more |
| 20:56:25 | <monochrom> | Although, in the off chance you're still using Hugs, it doesn't have capi, you're stuck with ccall, which is the only standardized one. |
| 20:56:26 | <geekosaur> | so capi was developed, which makes FFI go via the C compiler instead of direct to asm |
| 20:56:33 | <qrpnxz> | :o |
| 20:56:39 | <ten_finger_typis> | wait, it looks like I do not need coerce at all, GHC knows that it's list and that's enough: https://paste.tomsmeding.com/rzrG5Ogj |
| 20:56:42 | <geekosaur> | (or llvm IR) |
| 20:57:50 | <monochrom> | Consider the infamous errno :) |
| 20:58:24 | <geekosaur> | well, that's still going to be infamous 🙂 |
| 20:59:15 | <monochrom> | Also sorry geekosaur last time I put up an unnecessary argument. On second thought I agree that capi uniformly is the better idea. Although, last time I was really whining about the haskell wiki. |
| 20:59:42 | <geekosaur> | yes |
| 20:59:50 | <geekosaur> | I just logged in and popped up the page in question |
| 21:00:05 | <monochrom> | Even I teach my students that even errno is not simple at all, not going to be a simple global "int errno;". |
| 21:00:08 | <geekosaur> | (account creation is disabled currently so there's not much segfaultfizzbuzz will be able to do) |
| 21:01:07 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 21:01:19 | <hpc> | "simple global" you say :D |
| 21:02:44 | <darkling> | Global variables? Just say errno. |
| 21:02:49 | <monochrom> | haha |
| 21:03:36 | <apache2> | lol monochrom, arrays?!? real C programmers just use labels and volatile stack variables |
| 21:04:19 | <geekosaur> | anyone want to check my changes to https://wiki.haskell.org/Foreign_Function_Interface ? |
| 21:04:25 | <int-e> | darkling: err... no? |
| 21:04:35 | <monochrom> | haha |
| 21:04:56 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 21:05:47 | <apache2> | also why would you need linear search |
| 21:06:12 | <monochrom> | Are you suggesting bogosearch instead? :) |
| 21:06:14 | <apache2> | the hardware already has a builtin btree |
| 21:06:30 | <monochrom> | Wait, that's new to me. |
| 21:06:37 | <apache2> | you can just use ring2 page faults |
| 21:06:38 | <int-e> | which hardware? |
| 21:06:43 | <monochrom> | Oh hahahaha |
| 21:06:46 | <int-e> | ah |
| 21:06:48 | <apache2> | amd64? |
| 21:06:49 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds) |
| 21:06:55 | × | takuan_dozo quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:06:56 | <int-e> | page tables |
| 21:07:07 | <int-e> | not quite a btree |
| 21:07:16 | <apache2> | alright, close enough |
| 21:07:23 | <monochrom> | Next time I teach data structures I'll keep that in mind >:) |
| 21:07:40 | <qrpnxz> | darkling: lmao |
| 21:08:14 | <qrpnxz> | geekosaur: thanks for the edit |
| 21:08:22 | <apache2> | in idiomatic C you could use binary search though |
| 21:08:25 | <int-e> | monochrom: is there a constant time version of bogosearch? (pick random index, write key there, return index) |
| 21:08:30 | <apache2> | or skip lists; skip lists are easy in C |
| 21:08:33 | <int-e> | (it's definitely bogus) |
| 21:08:51 | <monochrom> | I thought bogo-anything is meant to take at least exponential time... |
| 21:09:00 | <apache2> | if search.h didn't suck so badly you could use anything in there |
| 21:09:16 | <qrpnxz> | int-e: that would not help because it still has to check every index, and it will still stop on exactly the same condition: needle index |
| 21:09:56 | <int-e> | qrpnxz: nah, it returns a valid index for the key |
| 21:10:04 | <kilolympus> | Does using "awaitForever yield" as a Conduit in the "conduit" library impact performance? Or is it fused away in compilation? |
| 21:10:06 | <apache2> | int-e you can do constant |
| 21:10:07 | <qrpnxz> | ? |
| 21:10:12 | <apache2> | n^2 inserts |
| 21:10:16 | <int-e> | qrpnxz: that's why it's writing the key |
| 21:10:17 | <int-e> | ;) |
| 21:10:23 | <apache2> | with n |
| 21:10:25 | <int-e> | it's a joke. probably a bad one. |
| 21:10:28 | <apache2> | lookup time |
| 21:10:35 | <apache2> | whoah my enter key is crapping out, sorry |
| 21:10:51 | <monochrom> | qrpnxz, int-e's method is known as "planting evidence" in law and law enforcement circles. |
| 21:11:01 | <qrpnxz> | lol |
| 21:11:38 | <qrpnxz> | kilolympus: i don't think there's a fusion rule for that, but if you can statically see that you are doing that... don't? |
| 21:11:56 | <kilolympus> | Mmmmmm good point amazing point |
| 21:11:57 | <qrpnxz> | and if it's dynamic that it might do that, then the rule wouldn't trigger anyway and it's okay |
| 21:12:16 | <kilolympus> | Thanks qrpnxz ! |
| 21:12:20 | <qrpnxz> | 👍 |
| 21:12:54 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 21:15:22 | × | _xor quits (~xor@74.215.182.83) (Read error: Connection reset by peer) |
| 21:18:11 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 21:22:14 | × | merijn quits (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
| 21:29:41 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 21:31:33 | × | kannon quits (~NK@108-216-157-82.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 244 seconds) |
| 21:34:59 | × | acidjnk quits (~acidjnk@p200300d6e7137a4628adea4619d717ec.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 21:38:56 | × | ormaaj quits (~ormaaj@user/ormaaj) (Quit: Reconnecting) |
| 21:39:21 | → | ormaaj joins (~ormaaj@user/ormaaj) |
| 21:45:53 | <mrianbloom> | Is it possible to have a default associated type family that is applied to any type that isn't specified by another instance? |
| 21:46:26 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:49:55 | <glguy> | mrianbloom: you can have a default on the class that's used as the default for any instance you define |
| 21:50:35 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 255 seconds) |
| 21:51:56 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 21:54:40 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 21:55:50 | <mrianbloom> | Are there any restrictions on that, like for example this code snippet doesn't compile: |
| 21:56:09 | <mrianbloom> | https://www.irccloud.com/pastebin/OuX1GiPO/ |
| 21:56:44 | × | michalz quits (~michalz@185.246.204.75) (Remote host closed the connection) |
| 21:56:47 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 21:56:47 | <glguy> | The default implementations don't get to assume that the instance uses the default associated type family |
| 21:57:00 | <glguy> | you'll need to assert that in the context of those default implementations |
| 21:57:21 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 21:57:24 | <mrianbloom> | Is see, with a unification constraint? |
| 21:57:34 | <glguy> | yeah, like this: https://hackage.haskell.org/package/generic-trie-0.3.1/docs/src/Data.GenericTrie.Internal.html#TrieKey |
| 22:00:06 | <mrianbloom> | I feel like I may done that initially but there were downstream consequences I couldn't satisfy... |
| 22:01:39 | <mrianbloom> | I guess the use of the newtype TrieRepDefault helps with that. |
| 22:02:03 | <pareto-optimal-d> | I'm writing a blog post about "Why use Nix+Cabal over Cabal" and was curious if others found this point compelling: I can get a ghci repl with lens in 3s versus 3m with just cabal-install. |
| 22:02:38 | <glguy> | pareto-optimal-d: after the first time cabal repl without nix is also very fast, so it's not saving 3m every time, just the first time |
| 22:02:44 | <glguy> | so not particularly compelling for me, at least |
| 22:02:56 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 268 seconds) |
| 22:02:57 | <qrpnxz> | if anything i'm using uses lens, i already have lens installed. It's a one time cost no? |
| 22:03:09 | <glguy> | I lose much more time trying to make nix work in all the other cases, so the time savings dries up |
| 22:04:04 | <glguy> | the compelling thing for nix is that it's easier for people who aren't you to just reproduce something you've done |
| 22:04:11 | <pareto-optimal-d> | Thank you. I agree with that. The place I can think of it mattering is if you want to try a new GHC version, that's the time when the cache helps the most I think. Also for things like Gloss or gl which have native deps. |
| 22:04:22 | <glguy> | but for the nix user it's just more work |
| 22:04:36 | <qrpnxz> | i don't find nix particularly more reproducible than an RPM |
| 22:04:52 | <qrpnxz> | or probably even a dpkg |
| 22:05:09 | <qrpnxz> | but nix script might be easier to run? |
| 22:05:18 | <pareto-optimal-d> | Another point I'm making you may find compelling is reproducible and fast rebasing. Like rebasing two commits over 6 months between two commit hashes. I don't often need that... but when I do it's very useful to be able to kick that off in the background while I explore other things. |
| 22:06:54 | <pareto-optimal-d> | I can personally say that I had a lot of breakages around ubuntu upgrades and have very few with nix upgrades qrpnxz. I know that debian has it's reproducibility project, but not sure if RPM does. I guess you are talking about subjective reproducibility rather than objective reproducibility since that's most relevant to your experience developing Haskell? |
| 22:07:03 | × | zeenk quits (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!) |
| 22:07:36 | <qrpnxz> | i've never had an issue in debian, basically ever that i can recal. On fedora i have some software stability issues, but just because the software is so new, not even a packaging problem. |
| 22:09:13 | <qrpnxz> | idk what you mean about subjective reproducible |
| 22:11:12 | <qrpnxz> | i can't speak for ubuntu, because i don't really ever use it. Not a trustworthy company. I don't feel they really add anything worthwhile to debian either |
| 22:11:34 | × | mikoto-chan quits (~mikoto-ch@164.5.249.78) (Ping timeout: 268 seconds) |
| 22:11:36 | <qrpnxz> | I do like their design, at least in the past, i don't even know what ubuntu look like now |
| 22:12:27 | <qrpnxz> | i think about 5 year i used ubuntu, it worked okay, but got bloated, and their upgrades are inferior to Debian, so when i had to upgrade, i upgraded to debian lol |
| 22:14:03 | <qrpnxz> | debian was pretty much the only system up until recently (now Fedora too, kind of) that officially supported in place major version update of the system. There's reports of people that have the same Debian install since like version 3. Reliable af. |
| 22:14:26 | <qrpnxz> | every other OS is like dark ages wipe the drive and reinstall |
| 22:14:54 | <qrpnxz> | actually mind blowing. Not surprising rolling release got so popular. That's the stupidest model ever |
| 22:16:23 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 22:17:10 | <pareto-optimal-d> | I used to use Debian around squeeze. |
| 22:17:40 | → | kannon joins (~NK@76.243.126.210) |
| 22:18:20 | × | kannon quits (~NK@76.243.126.210) (Read error: Connection reset by peer) |
| 22:18:28 | → | merijn joins (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) |
| 22:18:35 | <ten_finger_typis> | can TypeAnnotations be used with operators? something like: a < @Int b |
| 22:18:54 | <glguy> | ten_finger_typis: I'd try using: (<) @Int |
| 22:18:58 | <glguy> | but I don't remember |
| 22:19:26 | <pareto-optimal-d> | By subjective reproducibility I mean the parts that are part of your anectdotal but important experience. |
| 22:19:26 | <pareto-optimal-d> | As opposed to objective as in docker images are composed of timestamps which are a source of entropy making it less reproducible qrpnxz |
| 22:19:59 | → | bilegeek joins (~bilegeek@2600:1008:b044:1225:6505:fd25:5d3:3087) |
| 22:20:03 | <qrpnxz> | "docker images are composed of timestamps" ?!?! |
| 22:20:26 | → | zer0bitz joins (~zer0bitz@2001:2003:f748:2000:4dbc:af65:e687:45de) |
| 22:21:30 | <pareto-optimal-d> | https://mobile.twitter.com/lorenc_dan/status/1343921457143934977 |
| 22:22:42 | → | kannon joins (~NK@76.243.126.210) |
| 22:23:44 | <qrpnxz> | ah, well yes timestamps can make it annoying to easily see that a build is the same |
| 22:23:58 | × | ten_finger_typis quits (~ten_finge@adsl-84-226-91-51.adslplus.ch) (Quit: Client closed) |
| 22:24:10 | <qrpnxz> | docker images have timestamps, i wouldn't say "are composed of timestamps" |
| 22:24:56 | <pareto-optimal-d> | Well you can't guarantee things don't depend on those timestamps, which make it not reproducible right? |
| 22:25:49 | <glguy> | these tools all run into the same problems t hat they're only as reproducible as the tools they use can guarantee |
| 22:26:15 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 22:26:25 | <qrpnxz> | seems kind of insane to in any way depend on those timestamps, but hypothetically, sure. Would your rather your build reproducibly accidentally work? Or actually see that something utterly insane is happening? |
| 22:26:47 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 22:26:55 | <pareto-optimal-d> | Actually qrpnxz I first learned about timestamp issues from debian working towards reproducible builds: |
| 22:26:55 | <pareto-optimal-d> | https://lwn.net/Articles/757118/ |
| 22:28:35 | <qrpnxz> | yes, that was a good effort |
| 22:28:44 | <qrpnxz> | lol they got a wobsite: https://isdebianreproducibleyet.com/ |
| 22:28:54 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 244 seconds) |
| 22:30:15 | <pareto-optimal-d> | The nixos minimal iso is 100% 😊 |
| 22:30:15 | <pareto-optimal-d> | https://discourse.nixos.org/t/nixos-unstable-s-iso-minimal-x86-64-linux-is-100-reproducible/13723 |
| 22:30:41 | <pareto-optimal-d> | Oh wait 99.37 now https://r13y.com/ |
| 22:30:52 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 22:31:14 | <pareto-optimal-d> | s/37/77/ |
| 22:31:36 | <qrpnxz> | that's nice |
| 22:31:52 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 22:32:14 | <pareto-optimal-d> | So importance of that for me is being able to rule out the whole ugly class of build issues |
| 22:33:05 | × | tv quits (~tv@user/tv) (Quit: derp) |
| 22:33:25 | → | tv joins (~tv@user/tv) |
| 22:33:36 | → | mikoto-chan joins (~mikoto-ch@164.5.249.78) |
| 22:34:50 | <pareto-optimal-d> | Or if I absolutely have to do that busy work, I can take solace in the fact that no one else will have to in the entire community. |
| 22:36:28 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 22:36:45 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 22:50:48 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 22:51:28 | × | MoC quits (~moc@user/moc) (Quit: Konversation terminated!) |
| 22:52:54 | × | merijn quits (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
| 22:55:20 | × | phma quits (phma@2001:5b0:210d:2468:ee36:3a6:50fd:1e95) (Read error: Connection reset by peer) |
| 22:55:41 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 23:00:25 | × | kannon quits (~NK@76.243.126.210) (Ping timeout: 244 seconds) |
| 23:02:23 | <alexfmpe[m]> | can you have let/where bindings inside of a class instance? I'd like to be able to share big chunks of implementation between two methods but only on a few specific instances, so factoring it out into a new method doesn't make sense. |
| 23:02:23 | <alexfmpe[m]> | The alternative would be having silly named utils at the module scope for the benefit of their respective instances |
| 23:03:32 | <geekosaur> | no |
| 23:04:05 | → | merijn joins (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) |
| 23:07:04 | × | mjs2600_ quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 268 seconds) |
| 23:08:19 | × | wonko quits (~wjc@2a0e:1c80:2::130) (Ping timeout: 248 seconds) |
| 23:09:32 | × | merijn quits (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
| 23:09:42 | × | aeka quits (~aeka@2606:6080:2001:6:e14e:c3f3:8562:6916) (Ping timeout: 244 seconds) |
| 23:13:23 | → | Guest4172 joins (~chenqisu1@183.217.200.212) |
| 23:16:31 | × | matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds) |
| 23:18:08 | → | phma joins (~phma@host-67-44-208-66.hnremote.net) |
| 23:21:01 | × | eikke quits (~NicolasT@user/NicolasT) (Ping timeout: 255 seconds) |
| 23:21:04 | × | Tuplanolla quits (~Tuplanoll@91-159-69-12.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:22:09 | → | jmorris joins (uid537181@id-537181.uxbridge.irccloud.com) |
| 23:25:09 | → | aeka joins (~aeka@user/hiruji) |
| 23:30:36 | → | matthewmosior joins (~matthewmo@173.170.253.91) |
| 23:34:50 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 23:37:56 | → | shapr joins (~user@76.73.156.98) |
| 23:43:11 | × | euandreh quits (~euandreh@179.214.113.107) (Ping timeout: 260 seconds) |
| 23:44:52 | → | euandreh joins (~euandreh@179.214.113.107) |
| 23:47:37 | × | themc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 23:47:55 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Quit: Leaving) |
| 23:48:06 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 23:48:30 | → | asd1123 joins (~asd112345@2001:999:250:841b:41b5:1bba:4b73:1c6a) |
| 23:49:57 | × | asd1123 quits (~asd112345@2001:999:250:841b:41b5:1bba:4b73:1c6a) (Quit: Leaving) |
| 23:50:46 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 23:51:22 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 23:52:00 | → | jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
| 23:54:10 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 23:58:19 | → | talismanick joins (~talismani@c-67-174-251-163.hsd1.ca.comcast.net) |
All times are in UTC on 2022-08-28.