Logs on 2023-07-15 (liberachat/#haskell)
| 00:00:01 | Γ | arahael_ quits (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
| 00:04:44 | Γ | andydude quits (~andrewr@151.200.15.152) (Quit: Leaving.) |
| 00:08:17 | β | falafel joins (~falafel@2603-7000-a700-8710-9f29-d133-dde2-555f.res6.spectrum.com) |
| 00:13:21 | <segfaultfizzbuzz> | so when you read a paper inevitably there are a bunch of definitions,... do you read and retain those definitions? do you skim them looking for specific things? can you recall the definitions from a week ago? a year ago? ten years ago? |
| 00:16:08 | <geekosaur> | many definitions are per paper |
| 00:16:58 | <geekosaur> | unfortunately you can't always tell which are which |
| 00:17:14 | <segfaultfizzbuzz> | i am asking what your retention is like |
| 00:17:29 | <segfaultfizzbuzz> | i am stuck in a cycle where i hear about a paper and i try to read it |
| 00:17:35 | <geekosaur> | my retention is β¦ not others' retention π |
| 00:17:41 | <segfaultfizzbuzz> | i think my attention falls of roughly like exponentially with number of definitions |
| 00:18:17 | <ski> | it can help to skip things you don't quite get, and possibly later return (or perhaps try to look up more in-depth or newbie intro info on it, like tutorial, survey, or (more) seminal or summary papers, perhaps looking for suggestions in the references/bibliography section) |
| 00:18:19 | <segfaultfizzbuzz> | i think if somehow i am persuaded that it is one of the most important concepts (i don't know, shannon entropy or something) then i can really read at a more constant comprehension |
| 00:18:42 | <segfaultfizzbuzz> | but otherwise reading is basically denial of service, because so many things are constantly claiming to be important and i am let down so incredibly often |
| 00:18:59 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 00:19:45 | <segfaultfizzbuzz> | technical papers are mostly but not strictly cumulative order in their uh dependency graph |
| 00:23:17 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 245 seconds) |
| 00:24:29 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14::ac08) |
| 00:28:50 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14::ac08) (Ping timeout: 246 seconds) |
| 00:30:38 | Γ | gurkenglas quits (~gurkengla@dynamic-046-114-181-072.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 00:33:27 | Γ | sm[i] quits (~sm@024-165-041-186.res.spectrum.com) (Quit: sm[i]) |
| 00:34:44 | β | nyc joins (~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com) |
| 00:39:04 | β | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 00:39:15 | β | pickleju1ce joins (~root@c-73-196-164-60.hsd1.nj.comcast.net) |
| 00:39:17 | Γ | picklejuice quits (~root@172.56.219.136) (Read error: Connection reset by peer) |
| 00:41:40 | Γ | buckwheat quits (~buckwheat@209.122.211.192) (Ping timeout: 250 seconds) |
| 00:41:43 | β | alexbiehl joins (~alexbiehl@77.20.253.164) |
| 00:42:58 | Γ | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 250 seconds) |
| 00:45:59 | Γ | alexbiehl quits (~alexbiehl@77.20.253.164) (Ping timeout: 246 seconds) |
| 00:54:18 | Γ | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 272 seconds) |
| 00:54:36 | Γ | mei quits (~mei@user/mei) (Ping timeout: 252 seconds) |
| 00:57:31 | β | arahael_ joins (~arahael@1.145.21.117) |
| 00:58:39 | β | mei joins (~mei@user/mei) |
| 00:59:07 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 01:00:11 | Γ | falafel quits (~falafel@2603-7000-a700-8710-9f29-d133-dde2-555f.res6.spectrum.com) (Ping timeout: 246 seconds) |
| 01:01:57 | β | andydude joins (~andrewr@151.200.15.152) |
| 01:02:34 | β | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 01:03:48 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 272 seconds) |
| 01:07:06 | β | hugo joins (znc@verdigris.lysator.liu.se) |
| 01:10:04 | Γ | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 01:10:51 | Γ | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:16:58 | β | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:17:26 | Γ | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 01:18:39 | β | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 01:22:58 | Γ | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.1) |
| 01:25:58 | Γ | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 272 seconds) |
| 01:27:52 | Γ | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 272 seconds) |
| 01:28:53 | β | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 01:28:53 | Γ | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 01:28:53 | β | wroathe joins (~wroathe@user/wroathe) |
| 01:29:14 | β | aforemny joins (~aforemny@2001:9e8:6ced:8a00:6429:b02a:8db7:75db) |
| 01:29:46 | Γ | aforemny_ quits (~aforemny@2001:9e8:6cd3:fb00:3e3b:718b:2209:2cf8) (Ping timeout: 272 seconds) |
| 01:33:34 | β | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 01:36:26 | β | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 01:37:00 | Γ | neuroevolutus quits (~neuroevol@2001:ac8:9a:76::1e) (Quit: Client closed) |
| 01:44:32 | <arahael_> | What does this mean? |
| 01:44:54 | <arahael_> | class (Monad m) => MonadError e m | m -> e where... |
| 01:44:55 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 01:45:18 | <arahael_> | Specifically what does the `| m -> e` bit mean? |
| 01:45:18 | <ski> | the FD ? ` | m -> e' ? |
| 01:45:29 | <ski> | it's a functional dependency (FD) |
| 01:46:00 | <ski> | it claims that `m' (functionally) determines `e' (in the context of `MonadError e m') |
| 01:46:27 | <ski> | this means that there can't be two different instances, with different `e's, for the same `m' |
| 01:46:31 | <arahael_> | Ah, interesting. What does that mean? :D |
| 01:46:52 | <arahael_> | Why is it worth specifying? |
| 01:47:01 | <ski> | for each type `m', there can be at most one `e', such that there is an instance `MonadError m e' |
| 01:47:14 | <c_wraith> | mostly, it lets GHC unify e types when it only knows m types |
| 01:47:36 | <arahael_> | Intriguing, so it's giving more information to the type system? |
| 01:47:48 | <arahael_> | (I mean, it's giving more info to the type system so that the type system can tell you if you've made a mistake giving more than one instance when it doesn't make sense to do so?) |
| 01:47:54 | <c_wraith> | well, and placing a restriction on the kind of instances you can make |
| 01:48:03 | <arahael_> | Neat. |
| 01:48:10 | <ski> | logically, you could phrase that as `forall m. unique e. MonadError m e'. this is logically equivalent to `forall m e0 e1. (MonadError m e0,MonadError m e1) => e0 = e1'. if there's two instances with the same `m', then that means the `e's must already be the same (so that it's the same instance, in this particular case) |
| 01:49:01 | <ski> | the effect is in two parts : (a) forbidding you having both `MonadError MyM MyE0' and `MonadError MyM MyE1' in scope in the same module (for `MyE0' different from `MyE1') |
| 01:50:02 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 272 seconds) |
| 01:50:56 | <arahael_> | Cool, ,I think that's enough for me for the moment - it sounds good. |
| 01:51:48 | <ski> | and (b) this means that if type inference infers two constraints `MonadError m e0' and `MonadError m e1' (for the same `m'), because it knows there can't be two instances, it can just assert that `e0' must be the same as `e1' (unifying those type, in the type inference), and replacing those two constraints with a single constraint `MonadError m e' (so, in terms of dictionary-passing, you'll just pass one |
| 01:51:54 | <ski> | dictionary (unless the constraint gets pinned down exactly, like say `MonadError (ExceptT MyError m) MyError', in which case there needs to be no implicit dictionary passing there to the operation you're defining) |
| 01:52:46 | <arahael_> | So it's also an optimisation. |
| 01:53:08 | <ski> | this (b) part can really help with avoiding getting ambiguous types (since if `e0' is not pinned down by something in your code, but `e1' is, then that avoids ambiguity for `e0'. so that avoids you having to place an explicit type signature or ascription, or looking into using a more specialized (equivalent) operation, to avoid ambiguity) |
| 01:53:44 | <arahael_> | Oh nice, so it makes specifying your explicit types more convenient also. |
| 01:53:55 | <arahael_> | (Since there's less you have to explicitly state) |
| 01:54:50 | <ski> | i'd say the main theoretical part is accurately modelling the domain. if what you're trying to model implies there ought to be these "functional dependency" constraints, then it helps being able to get that checked (when declaring and importing instances), and also exploited (when using operations that have constraints) |
| 01:55:02 | <ski> | the main practical part is avoiding ambiguity |
| 01:55:37 | <arahael_> | Makes sense. |
| 01:56:03 | <ski> | in case you know anything about relational databases, you should note that the concept of "functional dependency" there (in terms of keys, and normalization of relations/tables) is basically the same concept, just in a different application domain |
| 01:57:06 | <arahael_> | That's a good analogy, actually. I do know relational databases.] |
| 01:58:29 | <arahael_> | I'm just working through the 'all about monads' wiki page. It's slightly annoying having to define Applicative and Functional instances in addition to each monad we play with, I guess that's relatively new. |
| 01:58:54 | <ski> | btw, often you can use associated types instead of functional dependencies. like instead of `class Monad m => MonadError e m | m -> e where ..m..e..' you could have said `class Monad m => MonadError m where type ErrorOfMonad m; ..m..(ErrorOfMonad m)..', where `e's replaced by `ErrorOfMonad m' |
| 02:00:16 | <arahael_> | I think I'll focus on that a bit later. |
| 02:00:35 | <ski> | however, say you have `class Foo a b | a -> b , b -> a' or `class Bar a b c d | a b -> c , a d -> b , c d -> a' (i'm not sure if there's any redundant FDs there (implied by others), i just made up the example on the spot), it's not as clear always which parameter to turn into an associated type |
| 02:01:21 | <arahael_> | How woul that work, you're saying there that a and b can derive each other? |
| 02:02:36 | <ski> | (there's also a notion of "injectivity constraints" for type families (which are more general than associated types, since they can occur outside of `class' declarations), that's related) |
| 02:02:44 | <ski> | yes |
| 02:05:41 | β | APic joins (apic@apic.name) |
| 02:06:33 | <ski> | (historically, associated types, and type families (and the closely related associated data types, and data families), came years later, than the easier to imagine multi-parameter type classes, and functional dependencies. basically, as soon as people started experimenting with MPTCs, they noticed ambiguity problems with some of the stuff they wanted to model, and so FDs were born) |
| 02:06:50 | zero | is now known as yin |
| 02:07:15 | <ski> | oh, btw, i guess i should give one example of the logical meaning, when you have more parameters, but you don't use all of them in an FD |
| 02:08:44 | <ski> | consider `class Baz a b c d | a b -> c where ...'. the FD here logically expresses `forall a b. unique c. exists d. Baz a b c d'. which amounts to `forall a b c0 c1 d0 d1. (Baz a b c0 d0,Baz a b c1 d1) => c0 = c1' |
| 02:09:02 | Γ | td_ quits (~td@i5387091B.versanet.de) (Ping timeout: 272 seconds) |
| 02:09:13 | <ski> | in words : if you have two instances, with the `a's and the `b's the same, then the `c's also have to be the same (and we don't care about the `d's) |
| 02:10:23 | β | td_ joins (~td@i5387091F.versanet.de) |
| 02:11:31 | <ski> | (generally speaking, `unique x. ..x..' is equivalent to `forall x0 x1. (..x0..,..x1..) => x0 = x1'. then i also used the logical equivalence between `(exists x. ..x..) => ...' and `forall x. (..x.. => ...)' above) |
| 02:14:19 | <andydude> | I miss Haskell |
| 02:15:25 | β | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 02:16:54 | <andydude> | a stupid YT about Rust reminded me of Haskell |
| 02:16:55 | β | razetime joins (~quassel@117.193.0.33) |
| 02:18:28 | <arahael_> | Rust does have a number of fairly nice similarities in an arguably more mainstream language package. |
| 02:20:32 | <ski> | (hm .. mode declarations in Mercury (and i think in some Prologs, too), are also related to (although more general, and in general more operational, than FDs). e.g. there's a relation/predicate `append(Xs,Ys,Zs)' which corresponds to `xs ++ ys = zs' in Haskell terms. there are mode declarations, one stating that if `Xs' and `Ys' are known, then there exists a unique correspond `Zs' (obviously), but also that |
| 02:20:36 | <andydude> | https://youtu.be/TGfQu0bQTKc |
| 02:20:38 | <ski> | given known `Xs',`Zs', there can be at most one `Ys' (which the same source code will compute for you, giving you both `(++)' and `stripPrefix' (and some more, too) in one single (declaratively/logically coherent) operation) |
| 02:20:45 | β | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 02:21:32 | <andydude> | Aside from types and pattern matching, I'm having trouble seeing why there's such a connection between Rust and Haskell... |
| 02:22:30 | <glguy> | There's commonality between traits and typeclasses |
| 02:22:48 | <andydude> | perhaps it's the std library's proclivity towards functional style? |
| 02:24:20 | Γ | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 246 seconds) |
| 02:24:53 | β | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 02:25:11 | <yin> | ADTs, people |
| 02:25:27 | <ski> | hm, last i checked, you can't do full existentials in Rust, iow you can't express stuff like `exists a. Frob a *> Map Key a', but only `exists a. Frob a *> a', associating the "trait" with a single value of the unknown/abstract/opaque/forgotten/skolem type. so you can't share a single dictionary for multiple of them, simultaneously ensuring that they're all of the same (unknown) type |
| 02:25:51 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 02:26:22 | Γ | codaraxis quits (~codaraxis@user/codaraxis) (Quit: Leaving) |
| 02:30:01 | β | thegeekinside joins (~thegeekin@189.217.90.138) |
| 02:30:34 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 272 seconds) |
| 02:33:48 | β | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 02:35:16 | Γ | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6) |
| 02:36:32 | Γ | thegeekinside quits (~thegeekin@189.217.90.138) (Remote host closed the connection) |
| 02:39:28 | <glguy> | Other than cargo.toml, anyone have any favorite toml file consumers they can think of? |
| 02:40:26 | <andydude> | You mean like how JSON is used everywhere? |
| 02:41:23 | <glguy> | Yeah, "what things do you use that consume JSON?" would have a lot of answers :) |
| 02:43:00 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 02:43:06 | <segfaultfizzbuzz> | what lol i had to do a double take what room i was in,... you can find a list of places toml is used on its wikipedia entry,... are you looking for test cases for a parser or what? |
| 02:43:14 | Γ | AkechiShiro quits (~licht@user/akechishiro) (Quit: WeeChat 4.0.2) |
| 02:43:14 | Γ | ft quits (~ft@p508db7ce.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 02:43:37 | Γ | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal) |
| 02:45:06 | <glguy> | I'm looking for variety of schemas that get used to inform a module I'm working on |
| 02:45:13 | β | ft joins (~ft@p3e9bc647.dip0.t-ipconnect.de) |
| 02:45:17 | <glguy> | but yes, I've heard of wikipedia |
| 02:47:25 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 240 seconds) |
| 02:48:46 | Γ | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 260 seconds) |
| 02:48:59 | β | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 02:52:38 | Γ | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds) |
| 02:54:11 | Γ | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 245 seconds) |
| 02:54:21 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 02:56:28 | Γ | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:56:28 | β | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:56:29 | finn_elija | is now known as FinnElija |
| 02:58:38 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 246 seconds) |
| 03:03:41 | β | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 03:03:54 | β | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 03:05:12 | β | aforemny_ joins (~aforemny@2001:9e8:6cf7:a100:5893:6a08:1072:daeb) |
| 03:05:22 | Γ | aforemny quits (~aforemny@2001:9e8:6ced:8a00:6429:b02a:8db7:75db) (Ping timeout: 245 seconds) |
| 03:07:52 | Γ | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 245 seconds) |
| 03:15:55 | β | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 03:16:16 | β | Fischmiep joins (~Fischmiep@user/Fischmiep) |
| 03:19:06 | Γ | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
| 03:19:24 | Γ | arahael_ quits (~arahael@1.145.21.117) (Ping timeout: 250 seconds) |
| 03:35:05 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 03:41:56 | Γ | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 03:45:18 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 272 seconds) |
| 03:46:16 | β | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 03:47:50 | Γ | razetime quits (~quassel@117.193.0.33) (Ping timeout: 272 seconds) |
| 03:53:35 | β | falafel joins (~falafel@2603-7000-a700-8710-d0d8-372c-d9a9-7a6e.res6.spectrum.com) |
| 03:55:19 | β | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 03:57:02 | Γ | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
| 03:57:41 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 04:02:23 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 264 seconds) |
| 04:04:05 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 04:08:44 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 272 seconds) |
| 04:10:46 | β | Inst_ joins (~Inst@2601:6c4:4081:2fc0:d47a:e985:6970:4dd5) |
| 04:11:54 | Γ | ddellacosta quits (~ddellacos@146.70.166.140) (Ping timeout: 272 seconds) |
| 04:12:48 | <segfaultfizzbuzz> | what aspects of a function make it more difficult to prove equivalence to another function and roughly speaking what do the scaling laws look like |
| 04:13:10 | <segfaultfizzbuzz> | for example maybe as a function has another step of recursion it becomes twice as difficult to prove equivalence to another function |
| 04:21:08 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 04:25:50 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 272 seconds) |
| 04:27:19 | Γ | Inst_ quits (~Inst@2601:6c4:4081:2fc0:d47a:e985:6970:4dd5) (Remote host closed the connection) |
| 04:27:41 | β | Inst_ joins (~Inst@2601:6c4:4081:2fc0:d47a:e985:6970:4dd5) |
| 04:33:47 | β | notzmv joins (~zmv@user/notzmv) |
| 04:34:01 | β | ddellacosta joins (~ddellacos@143.244.47.68) |
| 04:36:15 | β | razetime joins (~quassel@117.193.0.33) |
| 04:42:06 | Γ | razetime quits (~quassel@117.193.0.33) (Ping timeout: 245 seconds) |
| 04:44:27 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 04:45:04 | <monochrom> | GΓΆdel incompleteness and the halting problem are why proving function equality is difficult. |
| 04:46:04 | Γ | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 250 seconds) |
| 04:48:53 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 246 seconds) |
| 04:50:22 | Γ | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving) |
| 04:52:27 | Γ | dtman34 quits (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in) |
| 04:52:56 | Γ | shapr quits (~user@2600:1700:c640:3100:cde4:ca2f:725:21b4) (Ping timeout: 246 seconds) |
| 04:53:06 | β | dtman34 joins (~dtman34@2601:447:d000:93c9:ef2b:8d31:cda1:73ec) |
| 04:53:47 | Γ | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds) |
| 04:56:21 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 04:57:30 | Γ | pickleju1ce quits (~root@c-73-196-164-60.hsd1.nj.comcast.net) (Ping timeout: 272 seconds) |
| 05:01:04 | β | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 05:01:25 | β | sm[i] joins (~sm@024-165-041-186.res.spectrum.com) |
| 05:01:56 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 272 seconds) |
| 05:02:16 | <sm> | In time for Rust 1.71: Interview With Senior Rust Developer in 2023 https://www.youtube.com/watch?v=TGfQu0bQTKc |
| 05:02:34 | <sm> | includes some nice shouts to Haskell |
| 05:02:43 | β | actioninja63 joins (~actioninj@user/actioninja) |
| 05:06:33 | β | dtman34_ joins (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) |
| 05:07:38 | Γ | dtman34 quits (~dtman34@2601:447:d000:93c9:ef2b:8d31:cda1:73ec) (Ping timeout: 272 seconds) |
| 05:09:22 | β | azimut_ joins (~azimut@gateway/tor-sasl/azimut) |
| 05:09:44 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 05:10:25 | Γ | dtman34_ quits (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Client Quit) |
| 05:10:52 | β | dtman34 joins (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) |
| 05:12:18 | Γ | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
| 05:12:50 | Γ | dtman34 quits (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Remote host closed the connection) |
| 05:13:06 | Γ | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 05:13:36 | β | dtman34 joins (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) |
| 05:14:22 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 260 seconds) |
| 05:15:57 | β | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 05:16:30 | β | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 05:20:18 | Γ | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 250 seconds) |
| 05:20:51 | Γ | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 245 seconds) |
| 05:21:06 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 05:24:58 | β | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 05:25:25 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 240 seconds) |
| 05:25:50 | β | dcoutts joins (~duncan@212.187.244.66) |
| 05:30:26 | Γ | dcoutts quits (~duncan@212.187.244.66) (Ping timeout: 245 seconds) |
| 05:30:37 | Γ | fweht quits (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 05:32:28 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 05:33:22 | β | mbuf joins (~Shakthi@49.207.178.186) |
| 05:34:32 | Γ | falafel quits (~falafel@2603-7000-a700-8710-d0d8-372c-d9a9-7a6e.res6.spectrum.com) (Ping timeout: 245 seconds) |
| 05:36:29 | Γ | lav quits (~pi@wikipedia/maddy-from-celeste) (Ping timeout: 246 seconds) |
| 05:36:37 | Γ | nick3 quits (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) (Ping timeout: 245 seconds) |
| 05:36:50 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 246 seconds) |
| 05:36:52 | β | lav joins (~pi@wikipedia/maddy-from-celeste) |
| 05:38:06 | β | nick3 joins (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) |
| 05:43:20 | Γ | nick3 quits (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) (Ping timeout: 246 seconds) |
| 05:44:24 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 05:46:51 | β | gurkenglas joins (~gurkengla@dynamic-046-114-182-179.46.114.pool.telefonica.de) |
| 05:47:03 | β | trev joins (~trev@user/trev) |
| 05:48:44 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 246 seconds) |
| 05:53:55 | β | YoungFrog joins (~youngfrog@2a02:a03f:ca07:f900:f0ec:6c5a:a5bd:1b2) |
| 05:56:24 | Γ | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 272 seconds) |
| 06:00:21 | β | nick3 joins (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) |
| 06:01:12 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 06:04:38 | Γ | bontaq quits (~user@ool-45779b84.dyn.optonline.net) (Ping timeout: 272 seconds) |
| 06:05:22 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 245 seconds) |
| 06:07:35 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 06:08:42 | β | neuroevolutus joins (~neuroevol@2001:ac8:9a:76::1e) |
| 06:08:43 | β | dcoutts joins (~duncan@185.201.60.220) |
| 06:11:55 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 240 seconds) |
| 06:12:35 | Γ | myme quits (~myme@2a01:799:d60:e400:a779:7b8:869:aeae) (Ping timeout: 264 seconds) |
| 06:13:03 | Γ | neuroevolutus quits (~neuroevol@2001:ac8:9a:76::1e) (Client Quit) |
| 06:13:34 | β | myme joins (~myme@2a01:799:d60:e400:6b55:76d2:6f55:56c) |
| 06:13:48 | Γ | curby quits (~curby@cpe-76-183-125-175.tx.res.rr.com) (Read error: Connection reset by peer) |
| 06:18:45 | β | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 06:18:56 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 06:21:04 | β | fweht joins (uid404746@id-404746.lymington.irccloud.com) |
| 06:21:55 | Γ | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 06:23:38 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 272 seconds) |
| 06:29:14 | β | acidjnk joins (~acidjnk@p200300d6e7072f973457f07d23c910df.dip0.t-ipconnect.de) |
| 06:36:15 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14::ac08) |
| 06:37:27 | Γ | dcoutts quits (~duncan@185.201.60.220) (Ping timeout: 245 seconds) |
| 06:40:24 | β | rainbyte joins (~rainbyte@181.31.239.226) |
| 06:40:42 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14::ac08) (Ping timeout: 260 seconds) |
| 06:41:34 | β | gmg joins (~user@user/gehmehgeh) |
| 06:46:45 | Γ | gurkenglas quits (~gurkengla@dynamic-046-114-182-179.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 06:47:37 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 06:48:48 | Γ | bliminse quits (~bliminse@user/bliminse) (Quit: leaving) |
| 06:52:46 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 272 seconds) |
| 07:00:32 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 07:03:38 | Γ | mechap quits (~mechap@user/mechap) (Ping timeout: 246 seconds) |
| 07:04:25 | Γ | nick3 quits (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) (Ping timeout: 240 seconds) |
| 07:04:55 | β | mechap joins (~mechap@user/mechap) |
| 07:05:00 | β | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 07:11:46 | β | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 07:13:32 | β | andydude parts (~andrewr@151.200.15.152) () |
| 07:15:21 | β | gurkenglas joins (~gurkengla@dynamic-046-114-182-179.46.114.pool.telefonica.de) |
| 07:16:49 | β | nick3 joins (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) |
| 07:17:00 | Γ | jrm quits (~jrm@user/jrm) (Quit: ciao) |
| 07:17:20 | β | jrm joins (~jrm@user/jrm) |
| 07:17:50 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 246 seconds) |
| 07:20:17 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 07:21:08 | Γ | nick3 quits (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) (Ping timeout: 246 seconds) |
| 07:32:11 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 246 seconds) |
| 07:33:48 | β | nick3 joins (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) |
| 07:35:59 | Γ | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 264 seconds) |
| 07:36:16 | Γ | euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 245 seconds) |
| 07:39:11 | Γ | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 245 seconds) |
| 07:44:04 | Γ | ddellacosta quits (~ddellacos@143.244.47.68) (Ping timeout: 272 seconds) |
| 07:47:21 | Γ | econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 07:47:52 | Γ | elkcl quits (~elkcl@broadband-95-84-180-37.ip.moscow.rt.ru) (Ping timeout: 272 seconds) |
| 07:48:34 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 07:50:13 | <claro> | Ξ» |
| 07:50:16 | <claro> | oop |
| 07:52:04 | β | dhil joins (~dhil@78.45.150.83.ewm.ftth.as8758.net) |
| 07:53:34 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 272 seconds) |
| 07:55:30 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 07:55:47 | β | elkcl joins (~elkcl@broadband-95-84-180-37.ip.moscow.rt.ru) |
| 07:57:08 | β | euandreh joins (~Thunderbi@189.6.18.7) |
| 07:58:08 | <jade[m]> | lambda indeed |
| 08:04:06 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Remote host closed the connection) |
| 08:04:21 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 08:13:29 | β | oo_miguel joins (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) |
| 08:15:24 | β | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 08:20:28 | β | Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
| 08:21:29 | β | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 08:24:38 | β | bliminse joins (~bliminse@user/bliminse) |
| 08:30:25 | Γ | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 08:30:37 | Γ | fweht quits (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 08:34:26 | β | hackyhacker joins (~hackyhack@2a05:f480:1400:24b2:5400:4ff:fe76:a8f3) |
| 08:37:16 | Γ | nick3 quits (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) (Ping timeout: 272 seconds) |
| 08:40:35 | Γ | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzβ¦) |
| 08:42:58 | Γ | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
| 08:45:12 | Γ | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6cd6:b2b2:8eef:d429) (Remote host closed the connection) |
| 08:45:59 | β | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 08:49:10 | β | nick3 joins (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) |
| 08:49:32 | <claro> | ;> |
| 08:53:42 | Γ | nick3 quits (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) (Ping timeout: 260 seconds) |
| 08:55:56 | β | claro_ joins (~claro@45.84.139.156) |
| 08:56:34 | Γ | claro_ quits (~claro@45.84.139.156) (Client Quit) |
| 08:57:21 | β | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 08:58:00 | β | claro_ joins (~claro@user/Claro) |
| 08:58:08 | Γ | claro_ quits (~claro@user/Claro) (Client Quit) |
| 08:59:26 | Γ | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 272 seconds) |
| 09:00:11 | Γ | ft quits (~ft@p3e9bc647.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 09:00:13 | β | nick3 joins (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) |
| 09:00:30 | β | claro_ joins (~claro@user/Claro) |
| 09:01:01 | β | ft joins (~ft@p4fc2a1e5.dip0.t-ipconnect.de) |
| 09:04:53 | Γ | claro_ quits (~claro@user/Claro) (Client Quit) |
| 09:05:08 | Γ | nick3 quits (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) (Ping timeout: 272 seconds) |
| 09:05:20 | β | dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au) |
| 09:05:20 | Γ | dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
| 09:05:20 | β | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 09:08:52 | Γ | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 252 seconds) |
| 09:10:01 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Remote host closed the connection) |
| 09:10:34 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 09:11:31 | β | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 09:11:43 | β | nick3 joins (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) |
| 09:17:00 | β | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 09:17:24 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 246 seconds) |
| 09:21:42 | Γ | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
| 09:23:49 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 09:28:17 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 245 seconds) |
| 09:31:17 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 09:33:00 | β | titibandit joins (~titibandi@user/titibandit) |
| 09:33:46 | Γ | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds) |
| 09:33:48 | Γ | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 250 seconds) |
| 09:35:09 | β | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 09:35:32 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 246 seconds) |
| 09:38:24 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 09:39:28 | Γ | mei quits (~mei@user/mei) (Quit: mei) |
| 09:41:42 | β | mei joins (~mei@user/mei) |
| 09:41:59 | Γ | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 09:42:59 | Γ | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzβ¦) |
| 09:45:43 | β | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:708b:7aa2:8b48:d8a9) |
| 09:48:52 | β | Inst__ joins (~Inst@2601:6c4:4081:2fc0:d87:979c:1a0c:2c8c) |
| 09:49:55 | Γ | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:708b:7aa2:8b48:d8a9) (Ping timeout: 240 seconds) |
| 09:52:28 | β | Tlsx joins (~rscastilh@187.40.124.54) |
| 09:52:41 | Γ | Inst_ quits (~Inst@2601:6c4:4081:2fc0:d47a:e985:6970:4dd5) (Ping timeout: 246 seconds) |
| 09:56:55 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 240 seconds) |
| 09:57:39 | β | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 09:58:39 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 10:00:38 | β | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 10:01:55 | Γ | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 10:04:14 | Γ | dhil quits (~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 246 seconds) |
| 10:04:55 | Γ | mei quits (~mei@user/mei) (Ping timeout: 240 seconds) |
| 10:09:54 | Γ | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds) |
| 10:12:40 | β | __monty__ joins (~toonn@user/toonn) |
| 10:15:50 | β | dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au) |
| 10:15:50 | Γ | dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
| 10:15:50 | β | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 10:20:23 | Γ | nick3 quits (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) (Ping timeout: 264 seconds) |
| 10:22:53 | β | arahael_ joins (~arahael@124-149-31-4.dyn.iinet.net.au) |
| 10:26:28 | β | marea_ joins (~francesco@151.43.229.234) |
| 10:28:46 | Γ | sm[i] quits (~sm@024-165-041-186.res.spectrum.com) (Quit: sm[i]) |
| 10:29:27 | β | perrierjouet joins (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) |
| 10:30:57 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Remote host closed the connection) |
| 10:31:52 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 10:32:13 | β | nick3 joins (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) |
| 10:33:05 | Γ | marea_ quits (~francesco@151.43.229.234) (Remote host closed the connection) |
| 10:33:37 | β | danza joins (~francesco@151.43.229.234) |
| 10:36:12 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 245 seconds) |
| 10:36:50 | Γ | pavonia quits (~user@user/siracusa) (Read error: Connection reset by peer) |
| 10:38:17 | Γ | danza quits (~francesco@151.43.229.234) (Remote host closed the connection) |
| 10:38:30 | β | danza joins (~francesco@151.43.229.234) |
| 10:39:33 | β | pavonia joins (~user@user/siracusa) |
| 10:42:48 | Γ | danza quits (~francesco@151.43.229.234) (Ping timeout: 246 seconds) |
| 10:43:23 | <arahael_> | So I'm working through the haskell wiki again for: https://wiki.haskell.org/All_About_Monads#The_State_monad and I'm wondering how does one implement that MonadState typeclass and instance without those language extensions? |
| 10:43:34 | <arahael_> | It seems to require three language extensions.. |
| 10:47:07 | β | picklejuice joins (~root@c-73-196-164-60.hsd1.nj.comcast.net) |
| 10:53:00 | Γ | shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 252 seconds) |
| 10:55:48 | <ncf> | you could monomorphise the state, i guess? |
| 10:57:12 | <ncf> | or do dictionary passing |
| 10:58:48 | <arahael_> | ncf: My haskell is still rather basic, do you have an article about that? |
| 10:59:21 | <arahael_> | I guess in a way of speaking, I'm asking "how was this done in 2010?" |
| 10:59:54 | <arahael_> | Not honestly trying to do the 2023 MonadState in 2010, more wondering how perhaps a simpler one was done instead. |
| 11:00:19 | <ncf> | i don't think so |
| 11:01:00 | <ncf> | re dictionary passing, i guess https://okmij.org/ftp/Computation/typeclass.html |
| 11:01:29 | <ncf> | and by monomorphising the state i mean like class MonadStateFoo m where state :: (Foo -> (a, Foo)) -> m a |
| 11:01:42 | <ncf> | a separate class for each state type |
| 11:03:22 | <arahael_> | Ah, that makes sense. Was that how it was done in 2010, though? |
| 11:04:46 | <ncf> | looks like mtl 1.0 already uses MultiParamTypeClasses, FunctionalDependencies |
| 11:05:02 | <ncf> | so you would just not use mtl in haskell 2010 |
| 11:06:34 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 11:07:56 | β | tremon joins (~tremon@83.80.159.219) |
| 11:08:16 | <arahael_> | Yeah I'm implementing my own State monad, though, so no mtl at all. |
| 11:11:10 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 272 seconds) |
| 11:12:50 | β | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 11:19:10 | β | marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8) |
| 11:20:36 | β | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 11:22:45 | <arahael_> | Well, I'm off to bed. :) Take care, ncf! |
| 11:23:05 | β | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 11:25:05 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 11:29:56 | Γ | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.1) |
| 11:35:52 | Γ | nick3 quits (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) (Ping timeout: 272 seconds) |
| 11:40:44 | β | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 11:42:50 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 272 seconds) |
| 11:44:53 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 11:47:54 | β | nick3 joins (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) |
| 11:49:07 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 245 seconds) |
| 11:49:36 | β | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 11:59:51 | Γ | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzβ¦) |
| 12:02:43 | β | fweht joins (uid404746@id-404746.lymington.irccloud.com) |
| 12:05:42 | β | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 12:10:26 | Γ | arahael_ quits (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
| 12:16:12 | Γ | nick3 quits (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) (Ping timeout: 245 seconds) |
| 12:18:03 | β | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 12:21:26 | β | nick3 joins (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) |
| 12:23:09 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 12:25:26 | Γ | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 12:29:36 | Γ | gurkenglas quits (~gurkengla@dynamic-046-114-182-179.46.114.pool.telefonica.de) (Ping timeout: 245 seconds) |
| 12:30:52 | β | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 12:35:16 | Γ | ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Remote host closed the connection) |
| 12:35:24 | Γ | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 272 seconds) |
| 12:36:34 | β | ezzieyguywuf joins (~Unknown@user/ezzieyguywuf) |
| 12:38:38 | Γ | notzmv quits (~zmv@user/notzmv) (Ping timeout: 260 seconds) |
| 12:39:50 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 272 seconds) |
| 12:41:44 | Γ | nick3 quits (~nick@2600:8807:9084:7800:8973:eff0:2771:c97b) (Ping timeout: 246 seconds) |
| 12:48:44 | β | gurkenglas joins (~gurkengla@dynamic-046-114-182-179.46.114.pool.telefonica.de) |
| 12:55:56 | Γ | gurkenglas quits (~gurkengla@dynamic-046-114-182-179.46.114.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 13:03:40 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 13:07:31 | Γ | connrs quits (~connrs@user/connrs) (Read error: Connection reset by peer) |
| 13:07:52 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 245 seconds) |
| 13:08:14 | β | connrs joins (~connrs@user/connrs) |
| 13:10:46 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 13:15:59 | Γ | jrm quits (~jrm@user/jrm) (Read error: Connection reset by peer) |
| 13:16:04 | β | jrm2 joins (~jrm@user/jrm) |
| 13:17:21 | jrm2 | is now known as jrm |
| 13:18:32 | β | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 13:20:25 | Γ | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 240 seconds) |
| 13:23:32 | Γ | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 272 seconds) |
| 13:26:48 | β | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 13:28:36 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 272 seconds) |
| 13:39:51 | β | aslni0x joins (uid601037@id-601037.hampstead.irccloud.com) |
| 13:41:59 | β | ddellacosta joins (~ddellacos@143.244.47.100) |
| 13:44:17 | β | aslni0x parts (uid601037@id-601037.hampstead.irccloud.com) () |
| 13:46:29 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 13:49:54 | β | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 13:50:41 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 246 seconds) |
| 13:52:38 | β | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 13:59:25 | β | sm[i] joins (~sm@024-165-041-186.res.spectrum.com) |
| 14:00:04 | Γ | sm[i] quits (~sm@024-165-041-186.res.spectrum.com) (Client Quit) |
| 14:00:36 | β | bontaq joins (~user@ool-45779b84.dyn.optonline.net) |
| 14:01:41 | Γ | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 245 seconds) |
| 14:04:52 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 14:07:12 | β | shapr joins (~user@2600:1700:c640:3100:4f0f:f85d:8c2f:2e77) |
| 14:08:11 | <ncf> | is there a better way to do parallel (map (timeout t) l) ? |
| 14:08:37 | <ncf> | the goal being [IO a] -> IO [Maybe a] |
| 14:08:50 | <ncf> | i feel like it's a shame to have `length l` timeouts when there's really just noe |
| 14:08:51 | <ncf> | one* |
| 14:21:06 | <jade[m]> | can't you just `timeout t >> parallel l`? what am I missing here? |
| 14:21:35 | <jade[m]> | wait, bad types one sec |
| 14:22:09 | <jade[m]> | ok I see the issue |
| 14:22:16 | β | Pickchea joins (~private@user/pickchea) |
| 14:22:31 | Γ | titibandit quits (~titibandi@user/titibandit) (Ping timeout: 245 seconds) |
| 14:23:53 | Γ | Pickchea quits (~private@user/pickchea) (Remote host closed the connection) |
| 14:24:53 | Γ | marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Remote host closed the connection) |
| 14:25:15 | <jade[m]> | fmap sequence $ timeout t (parallel l) does this work? |
| 14:25:48 | <jade[m]> | no that's backwards |
| 14:27:35 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 264 seconds) |
| 14:31:38 | β | dhil joins (~dhil@78.45.150.83.ewm.ftth.as8758.net) |
| 14:31:56 | β | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 14:47:19 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 14:51:35 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 246 seconds) |
| 14:53:47 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 14:54:28 | β | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 14:55:57 | β | razetime joins (~quassel@117.193.0.33) |
| 14:59:17 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 246 seconds) |
| 15:05:22 | β | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 15:09:19 | <c_wraith> | ncf: if there's only one timeout, that type looks wrong. It should be [IO a] -> IO (Maybe [a]), if I'm understanding what you're asking for. |
| 15:09:38 | Γ | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 250 seconds) |
| 15:10:18 | <ncf> | when the timeout expires, i want to collect the threads that succeeded into Just and the ones that timed out into Nothing |
| 15:13:08 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 15:14:13 | β | ub1 joins (~Thunderbi@91.141.79.172.wireless.dyn.drei.com) |
| 15:14:39 | β | ubert1 joins (~Thunderbi@91.141.79.172.wireless.dyn.drei.com) |
| 15:14:41 | <c_wraith> | Oh. I guess you can do that with STM, but you'll sort of need to rewrite a bunch of stuff by hand |
| 15:15:42 | Γ | ub quits (~Thunderbi@178.165.175.35.wireless.dyn.drei.com) (Ping timeout: 250 seconds) |
| 15:15:42 | <c_wraith> | Having a bunch of calls to timeout seems easier to deal with unless you really are seeing problems from the number of threads timeout is creating |
| 15:16:30 | ub1 | is now known as ub |
| 15:16:54 | Γ | ubert quits (~Thunderbi@178.165.175.35.wireless.dyn.drei.com) (Ping timeout: 272 seconds) |
| 15:16:54 | ub | is now known as ubert |
| 15:17:24 | <ncf> | that's what i thought |
| 15:20:18 | β | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 15:22:08 | β | Pickchea joins (~private@user/pickchea) |
| 15:25:42 | Γ | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds) |
| 15:30:17 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 246 seconds) |
| 15:30:59 | β | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:708b:7aa2:8b48:d8a9) |
| 15:36:18 | β | Midjak joins (~Midjak@82.66.147.146) |
| 15:37:16 | β | CrunchyFlakes joins (~pi4@ip5f5b4693.dynamic.kabel-deutschland.de) |
| 15:39:06 | Γ | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 250 seconds) |
| 15:43:19 | <glguy> | ncf: I don't know that it's better, but you could use the async package, make a bunch of asyncs, wait on a single timer, and then `traverse \a -> cancel a >> waitCatch a` |
| 15:44:46 | Γ | son0p quits (~ff@181.136.122.143) (Ping timeout: 272 seconds) |
| 15:45:04 | β | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 15:45:20 | <ncf> | yeah |
| 15:48:01 | <glguy> | actually, without being clever that would potentially make you wait the full time even when all the events are completed |
| 15:48:09 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 15:53:00 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 272 seconds) |
| 15:57:34 | yin | is now known as zzz |
| 15:58:37 | β | rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 16:00:08 | β | Square joins (~Square@user/square) |
| 16:00:10 | <c_wraith> | I was just looking through the async package. It's a lot of work to be exception-safe if you use the low-level interface. |
| 16:00:22 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 16:01:12 | Γ | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.1) |
| 16:02:18 | β | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 16:03:08 | Γ | rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 272 seconds) |
| 16:06:12 | Γ | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 245 seconds) |
| 16:13:16 | Γ | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 272 seconds) |
| 16:16:22 | Γ | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 16:17:24 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 246 seconds) |
| 16:18:39 | β | danza joins (~francesco@151.47.224.47) |
| 16:21:44 | Γ | danza quits (~francesco@151.47.224.47) (Read error: Connection reset by peer) |
| 16:26:47 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 16:29:39 | β | falafel joins (~falafel@2603-7000-a700-8710-60e1-6355-aaa7-4770.res6.spectrum.com) |
| 16:31:38 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 272 seconds) |
| 16:37:16 | β | shriekingnoise joins (~shrieking@186.137.175.87) |
| 16:37:41 | β | pickleju1ce joins (~root@172.56.217.200) |
| 16:41:25 | Γ | picklejuice quits (~root@c-73-196-164-60.hsd1.nj.comcast.net) (Ping timeout: 240 seconds) |
| 16:49:45 | Γ | mbuf quits (~Shakthi@49.207.178.186) (Quit: Leaving) |
| 16:49:55 | β | rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 16:53:48 | Γ | kimiamania6 quits (~681cf57f@user/kimiamania) (Ping timeout: 272 seconds) |
| 16:54:10 | Γ | rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds) |
| 16:54:37 | β | kimiamania6 joins (~681cf57f@user/kimiamania) |
| 16:59:11 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 17:02:11 | Γ | fweht quits (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 17:02:14 | β | sm[i] joins (~sm@024-165-041-186.res.spectrum.com) |
| 17:04:04 | Γ | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzβ¦) |
| 17:04:25 | β | ss4 joins (~wootehfoo@user/wootehfoot) |
| 17:05:12 | Γ | ss4 quits (~wootehfoo@user/wootehfoot) (Client Quit) |
| 17:05:20 | Γ | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 250 seconds) |
| 17:17:25 | β | bratwurst joins (~dfadsva@2604:3d09:207f:f650::c680) |
| 17:17:32 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 246 seconds) |
| 17:20:00 | β | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 17:20:04 | β | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 17:20:23 | glider_ | is now known as glider |
| 17:21:06 | β | econo_ joins (uid147250@id-147250.tinside.irccloud.com) |
| 17:22:12 | Γ | Natch quits (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Remote host closed the connection) |
| 17:23:15 | β | rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 17:23:15 | β | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 17:24:42 | β | dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 17:24:50 | Γ | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 250 seconds) |
| 17:27:26 | Γ | rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 250 seconds) |
| 17:28:36 | β | gurkenglas joins (~gurkengla@dynamic-046-114-182-179.46.114.pool.telefonica.de) |
| 17:29:16 | Γ | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 272 seconds) |
| 17:33:27 | β | dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au) |
| 17:33:27 | Γ | dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
| 17:33:28 | β | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 17:33:46 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 17:34:20 | Γ | euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 272 seconds) |
| 17:38:14 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 260 seconds) |
| 17:38:30 | β | euandreh joins (~Thunderbi@189.6.18.7) |
| 17:39:39 | Γ | Inst__ quits (~Inst@2601:6c4:4081:2fc0:d87:979c:1a0c:2c8c) (Ping timeout: 246 seconds) |
| 17:39:55 | β | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 17:43:34 | β | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 17:44:00 | β | ripspin joins (~chatzilla@1.145.169.115) |
| 17:44:36 | β | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 17:45:10 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 17:46:42 | β | azr4e1 joins (~azr4e1@2a00:23c7:9cbc:3401:45fb:9c68:12fe:262b) |
| 17:47:17 | β | wroathe joins (~wroathe@50.205.197.50) |
| 17:47:18 | Γ | wroathe quits (~wroathe@50.205.197.50) (Changing host) |
| 17:47:18 | β | wroathe joins (~wroathe@user/wroathe) |
| 17:52:32 | β | Natch joins (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) |
| 17:53:24 | β | pyooque joins (~puke@user/puke) |
| 17:53:24 | puke | is now known as Guest208 |
| 17:53:24 | Γ | Guest208 quits (~puke@user/puke) (Killed (zirconium.libera.chat (Nickname regained by services))) |
| 17:53:24 | pyooque | is now known as puke |
| 17:53:49 | β | son0p joins (~ff@181.136.122.143) |
| 17:54:16 | β | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 18:00:39 | Γ | anderson quits (~anderson@user/anderson) (Quit: bye) |
| 18:00:39 | Γ | glider quits (~glider@user/glider) (Quit: ZNC - https://znc.in) |
| 18:03:26 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 260 seconds) |
| 18:03:44 | Γ | mechap quits (~mechap@user/mechap) (Ping timeout: 246 seconds) |
| 18:04:31 | Γ | sm[i] quits (~sm@024-165-041-186.res.spectrum.com) (Quit: sm[i]) |
| 18:04:45 | β | mechap joins (~mechap@user/mechap) |
| 18:08:09 | β | titibandit joins (~titibandi@user/titibandit) |
| 18:09:10 | Γ | dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 272 seconds) |
| 18:13:42 | Γ | azr4e1 quits (~azr4e1@2a00:23c7:9cbc:3401:45fb:9c68:12fe:262b) (Ping timeout: 260 seconds) |
| 18:14:23 | β | anderson joins (~anderson@user/anderson) |
| 18:15:03 | β | ss4 joins (~wootehfoo@user/wootehfoot) |
| 18:16:16 | Γ | dhil quits (~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 245 seconds) |
| 18:16:55 | Γ | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 240 seconds) |
| 18:20:54 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 18:21:46 | β | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 18:23:30 | β | glider joins (~glider@user/glider) |
| 18:24:48 | Γ | razetime quits (~quassel@117.193.0.33) (Remote host closed the connection) |
| 18:25:22 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 245 seconds) |
| 18:25:35 | Γ | ripspin quits (~chatzilla@1.145.169.115) (Remote host closed the connection) |
| 18:27:09 | β | sm[i] joins (~sm@024-165-041-186.res.spectrum.com) |
| 18:32:16 | Γ | trev quits (~trev@user/trev) (Quit: trev) |
| 18:36:50 | Γ | ss4 quits (~wootehfoo@user/wootehfoot) (Ping timeout: 252 seconds) |
| 18:39:18 | β | alexbiehl joins (~alexbiehl@77.20.253.164) |
| 18:39:46 | β | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 18:40:50 | Γ | falafel quits (~falafel@2603-7000-a700-8710-60e1-6355-aaa7-4770.res6.spectrum.com) (Ping timeout: 272 seconds) |
| 18:45:19 | β | ss4 joins (~wootehfoo@user/wootehfoot) |
| 18:46:39 | β | falafel joins (~falafel@2603-7000-a700-8710-210a-6c97-c559-5652.res6.spectrum.com) |
| 18:49:47 | Γ | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 264 seconds) |
| 18:58:45 | Γ | alexbiehl quits (~alexbiehl@77.20.253.164) (Ping timeout: 246 seconds) |
| 18:59:30 | β | azr4e1 joins (~azr4e1@host31-54-162-131.range31-54.btcentralplus.com) |
| 19:03:53 | β | Ashkan joins (~Ashkan@a119011.upc-a.chello.nl) |
| 19:04:47 | β | Sgeo joins (~Sgeo@user/sgeo) |
| 19:07:17 | <Ashkan> | Hi people |
| 19:07:17 | <Ashkan> | Looking for a c-like array in Haskell but got really confused by all the different Array types. If I'm understanding things correctly then closest is `UArray` but it supports only a handful of basic types. I'm looking for something that can hold a user defined type (a `data ... = ... | ... | ...` kind of type). |
| 19:08:18 | <Clint> | what do you mean by c-like in this case? |
| 19:08:43 | <Ashkan> | As I was typing this it occurred to me that perhaps I think Array because I'm coming from an imperative background. Perhaps better if I describe what I want and maybe something better comes to mind ... |
| 19:09:23 | <jade[m]> | you may want Array Int |
| 19:09:28 | <Ashkan> | Hi Clint :)Β I'm keeping the state of a grid-based game. Its a square matrix with all the cells having some value all the time |
| 19:09:28 | <geekosaur> | you've also missed that Vector is more often used than Array these days, and supports user defined types including unboxed types via Storable |
| 19:09:33 | <jade[m]> | it's an array indexed by integers |
| 19:09:49 | <jade[m]> | Ashkan: ah then you might want `Array (Int, Int)` |
| 19:09:55 | β | dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au) |
| 19:09:55 | Γ | dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
| 19:09:56 | β | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 19:10:02 | <Ashkan> | I need a way to draw it per frame so I need to be able to pass through all the elements (cover the whole grid) in order from 0 to last element pretty fast |
| 19:10:43 | <geekosaur> | Array's big advantage is that anything you can define Ix for can be an index, whereas Vector only allows Ints |
| 19:10:53 | <jade[m]> | another option for this kind of thing is `(Int, Int) -> a` |
| 19:11:01 | <c_wraith> | I'm not sure a Storable Vector is going to be faster than a boxed vector. Storable sort of makes every field access indirect. |
| 19:11:04 | <Ashkan> | And I need to be able to update it quite fast as well as in `update arr x y newVal` and also when mouse moves over a certain cell (an `x y`) I need the value in there , fast. |
| 19:11:13 | <geekosaur> | true |
| 19:12:20 | <c_wraith> | If you really need maximal speed, I'd be looking at an unboxed vector for each field, like in Struct of Arrays representation. |
| 19:12:30 | <jade[m]> | jade[m]: this has the advantage that you can easily "mask" it, but a lot of changes would have stack space |
| 19:12:53 | <jade[m]> | s/stack space/stack space buildup |
| 19:13:58 | <Ashkan> | My understanding is that I need something that is : 1) strict and 2) keep values adjacent to each other in memory with a very basic relationship between their index in the "array" and their memory address --> exactly C-array. What is the closest thing in Haskell ? |
| 19:14:13 | Γ | ss4 quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 19:14:16 | <c_wraith> | an unboxed array/vector |
| 19:14:31 | β | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 19:15:34 | <Ashkan> | Okay, though myself as well ... but ... does "unboxed" automatically means I'm then limited to `Int16` , `int32` etc ? not sure what's their proper name. Primitive types ? |
| 19:15:52 | <c_wraith> | Well, that's where Struct of Arrays representation comes in |
| 19:16:01 | <c_wraith> | It's a very common optimization in C |
| 19:16:31 | <c_wraith> | (for this specific use case) |
| 19:17:00 | <Ashkan> | (I really don't care much about indexing it via fancy custom types and such, performance characteristics are the key here). |
| 19:17:21 | <c_wraith> | Ashkan: https://en.wikipedia.org/wiki/AoS_and_SoA |
| 19:17:48 | Γ | azr4e1 quits (~azr4e1@host31-54-162-131.range31-54.btcentralplus.com) (Quit: azr4e1) |
| 19:17:56 | Γ | sm[i] quits (~sm@024-165-041-186.res.spectrum.com) (Quit: sm[i]) |
| 19:18:15 | Γ | gurkenglas quits (~gurkengla@dynamic-046-114-182-179.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 19:18:26 | β | michalz joins (~michalz@185.246.207.218) |
| 19:18:26 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 19:19:18 | <c_wraith> | If you really want, you can create your own Unboxed Vector data instances - it's a data family after all. |
| 19:20:12 | <monochrom> | As an example, as the doc points out, unboxed vector of complex numbers simply means two unboxed vectors of real numbers. |
| 19:20:13 | Γ | dibblego quits (~dibblego@haskell/developer/dibblego) (Quit: Ξ») |
| 19:22:48 | <Ashkan> | Okay, let me ask this way: imagine you are model the Mine Sweeper game with a N x N board. Every single cell has a known state and you need to draw the whole field 30 times per second, be able to quickly tell what is in cell (C, R) and quickly update the cell in (C,R) with a new value. |
| 19:22:48 | <Ashkan> | Each cell is either: uncovered, has a number (from 1 to 8 ) or flagged by the player as "mine". |
| 19:22:49 | <Ashkan> | How do you model this in Haskell ? |
| 19:23:14 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 260 seconds) |
| 19:23:39 | <c_wraith> | 30 times per second for a minesweeper board? |
| 19:23:41 | β | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 19:23:42 | <c_wraith> | I thought you said fast |
| 19:24:10 | <c_wraith> | Immutable arrays of boxed values would be fast enough for a minesweeper game at 30Hz |
| 19:24:17 | <monochrom> | Perhaps it's a 1600x1000 board :) |
| 19:25:55 | <Ashkan> | Maybe I don't understand how boxing works. My understanding is then every cell is re-evaluated every single time it is accessed. No ? |
| 19:26:16 | <[exa]> | Ashkan: no |
| 19:26:29 | <[exa]> | Ashkan: do you know what are pointers? (in C, etc.) |
| 19:26:30 | <Ashkan> | As if it was `IO Cell` instead of just `Cell` |
| 19:26:37 | <jade[m]> | no |
| 19:26:46 | <monochrom> | But it is not IO Cell. |
| 19:26:59 | <Ashkan> | I know pointers, yes |
| 19:28:06 | <[exa]> | Ashkan: very briefly boxing is just putting something in a structure that may act slighly polymorphic (it may contain something unevaluated or it may contain it already evaluated), and as the main performance "problem" this typically needs to be behind a pointer because the sizes of the things differ |
| 19:28:20 | <[exa]> | Ashkan: despite of that the "unevaluated" thing gets only evaluated once |
| 19:29:03 | <Ashkan> | Alright, so unless it "changes", once evaluated then there is no cost later |
| 19:29:31 | <[exa]> | once evaluated it can't be changed, the greatest danger there is that you basically generate the unevaluated cell again |
| 19:29:36 | β | dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au) |
| 19:29:36 | Γ | dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
| 19:29:36 | β | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 19:29:46 | <Ashkan> | But still holds these "pointers" to either the code or the computed value instead of storing the values directly and only. Correct ? |
| 19:30:02 | Γ | TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 246 seconds) |
| 19:30:32 | <[exa]> | yeah unless you go for Data.Vector or explicitly say that stuff needs to be unboxed, the default is to be very pointy |
| 19:30:50 | <Ashkan> | The value can't be changed but the cell in the array can be updated. Putting another "pointer" in there. |
| 19:31:04 | <[exa]> | no, all data is immutable |
| 19:31:09 | <c_wraith> | but a minesweeper board is just not big enough for a couple levels of indirection to matter |
| 19:31:28 | <[exa]> | Ashkan: check out Data.Vector.Mutable which allows serializing the updates |
| 19:32:13 | <c_wraith> | I thought you meant like mesh vertices where you might have 50k in the view frustrum at once. |
| 19:32:20 | <[exa]> | Ashkan: (updates in "pure" code do not make sense for several interesting reasons, and the inability to guess the "order" of updates is one of the less painful ones) |
| 19:33:22 | <Ashkan> | I understand it is immutable but the update-y functions returning the modified version of the data should somehow make the update take effect. Best they can do is to make a (cheap) copy or whatever fucntional-data-structure black magic + the new value. Maybe I'm overthinking this ! |
| 19:33:24 | Γ | ubert quits (~Thunderbi@91.141.79.172.wireless.dyn.drei.com) (Quit: ubert) |
| 19:33:24 | ubert1 | is now known as ubert |
| 19:33:51 | <[exa]> | Ashkan: anyway to be honest, haskell pointy structs are still much less ugly than the typical stuff that you can find in python and javas; and there are funny tricks to maintain cache efficiency... I wouldn't be worried about performance until you go literally to hundreds of thousands of fields (or make it of lists) |
| 19:34:10 | <[exa]> | Ashkan: yeah the update in Data.Vector does copy-on-write |
| 19:34:34 | <[exa]> | Ashkan: which is pretty expensive if you do the updates manually by field but there are nice functions that can very easily pool multiple updates |
| 19:34:46 | <[exa]> | Ashkan: for which reason the Data.Vector.Mutable is usually not required |
| 19:35:02 | <monochrom> | I wonder if "minesweeper" is just a proxy example, and the real one is like "lattice QCD". |
| 19:35:35 | <[exa]> | (Ashkan: interesting outcome of laziness: the "mass update" functions take lists of updates, but the lists of updates are typically never allocated because they act as "generators" and the thing gets pretty efficient) |
| 19:35:39 | <monochrom> | "lattice QCD for modeling the next generation of hydrogen fusion" :) |
| 19:35:45 | <Ashkan> | The actual project is a mine sweeper. I'm not sure you say boxing is no problem for this. Not that I disagree with you but rather I have zero clue/heuristics to make that observation. For all I know from the docs this boxing business could take anywhere from 0 to few hundred milli seconds |
| 19:36:18 | <[exa]> | Ashkan: if you know C++, the shared_ptr typically has a higher overhead than the box :] |
| 19:37:44 | <[exa]> | (even the unique_ptr is sometimes more expensive, because the corresponding malloc/free is often way slower than the haskell allocator) |
| 19:37:48 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 19:37:50 | Γ | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 272 seconds) |
| 19:38:09 | <Ashkan> | @monochrom hehe I wish. Honestly just a simple mine-sweeper |
| 19:38:09 | <lambdabot> | Unknown command, try @list |
| 19:38:27 | <[exa]> | Ashkan: what do you plan to use for the graphics drawing btw? |
| 19:38:37 | β | Inst joins (~Inst@2601:6c4:4081:2fc0:2cd7:faf6:2df3:acfa) |
| 19:39:10 | <Ashkan> | Glad you asked ! tried every single !@#$ thing out there on Haskell. Turns out for my rather humble purposes of teaching myself Haskell, `gloss` is the best |
| 19:39:40 | <[exa]> | ok good I just kinda wanted to recommend gloss in case you were not planning to do so. :D |
| 19:39:41 | <jade[m]> | gloss is nice for small games and applications |
| 19:39:57 | <jade[m]> | I tried some direct opengl stuff but it's really stupid most of the time |
| 19:39:58 | <Ashkan> | I'm trying to teach myself to think functionally. Games are a very good combination of a few things I wish to learn to model functionally. |
| 19:40:04 | <[exa]> | if you like terminals, try brick, it's similarly cool |
| 19:40:43 | <[exa]> | Ashkan: feel free to paste the code here once it works, we love to nitpic^H^H^H^H^H^H improve people's code |
| 19:40:52 | <Ashkan> | Atm I'm having the most difficulty convincing myself that an immutable model can actually keep up with a game ! |
| 19:41:04 | <[exa]> | totally |
| 19:41:13 | <[exa]> | also you're not going to update it every frame, right? |
| 19:41:49 | <jade[m]> | Ashkan: it allows for so much magic in the background that you rarely realize it on the surface |
| 19:41:56 | <Ashkan> | I can't see how that can be :-/Β too much imperative thinking maybe. Like the mine sweeper for example. Can't understand how a boxed, immutable data structure can hold the game state |
| 19:42:37 | <[exa]> | Ashkan: simply don't mutate it, just replace it with a new one |
| 19:42:38 | <Ashkan> | maybe for a simple thing like minesweeper it can but you get the point. Imagine a more complicated game with millions of state elements |
| 19:42:56 | <jade[m]> | Ashkan: from my own experience games are some of the hardest things to model functionally - I had a lot easier time learning FP thinking from mathy applications/things that did lots of computation but had a small Ui |
| 19:43:10 | β | dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
| 19:43:27 | <int-e> | Ashkan: Yes, at some point you have to worry about the cost of immutability. But not for Minesweeper. |
| 19:43:31 | β | dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au) |
| 19:43:32 | Γ | dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
| 19:43:32 | β | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 19:44:32 | <Ashkan> | jade[m] Oh I did that trick on my mind already. Happy and all shiny until someone challenged me to a "real-world" problem then suddenly FP started to suck big time :DΒ but I'm sure it's rather my incompetence. |
| 19:44:44 | <[exa]> | Ashkan: btw I was giving this to students for starters, https://github.com/exaexa/hs19/tree/master/u1/ , might help. |
| 19:45:17 | <geekosaur> | did anyone mention asking questions like this in #haskell-game? |
| 19:45:18 | Γ | azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
| 19:45:48 | <jade[m]> | Ashkan: Oh yeah I had that period too, but it's moreso that real world applications (in all languages) require a lot more thought and planning than small toy examples |
| 19:45:52 | <int-e> | Worrying about mutability seems generic enough. |
| 19:46:16 | <jade[m]> | haskell is just as capable as any other languages when it comes to big real world projects (look at GHC for example) |
| 19:46:19 | <Ashkan> | mutability + strictness |
| 19:46:56 | <Ashkan> | I am indeed very impressed by GHC |
| 19:47:24 | <Ashkan> | But to be fair, compilers are like *the* use case for FP |
| 19:47:39 | <jade[m]> | oh yeah |
| 19:47:46 | <jade[m]> | but haskell is truly general purpose |
| 19:47:58 | <jade[m]> | it just takes a while to get good at it |
| 19:48:04 | <jade[m]> | (im a far far way from that] |
| 19:48:10 | <jade[m]> | s/]/) |
| 19:48:11 | <Ashkan> | I would say a game, a word processor or an email server for example are where you can show if you got what it takes for industrial strength. You get my meaning. |
| 19:48:17 | <claro> | what is a while? |
| 19:48:25 | <[exa]> | Ashkan: re mutability in games I was usually doing it this way: I store everything in immutable vectors. Then if there's an algorithm that needs to do tiny updates on the vector multiple times (which would be inefficient), I thaw it to mutable vector, do it within some small contained "imperative" environment (ST monad etc), and then freeze it back to immutable to keep the program pure. Refs: |
| 19:48:31 | <[exa]> | https://hackage.haskell.org/package/vector-0.13.0.0/docs/Data-Vector.html#v:freeze |
| 19:48:34 | <jade[m]> | claro: many years |
| 19:48:34 | β | Pickchea joins (~private@user/pickchea) |
| 19:48:40 | β | gurkenglas joins (~gurkengla@dynamic-046-114-182-179.46.114.pool.telefonica.de) |
| 19:48:44 | Γ | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 19:48:51 | <claro> | skill issue |
| 19:49:28 | <jade[m]> | damn |
| 19:49:51 | <Hecate> | you can replace the many years by day-to-day practice with other people |
| 19:50:15 | <[exa]> | +1 ^ |
| 19:50:34 | <int-e> | . o O ( as long as you keep it up for many years ) |
| 19:50:36 | <[exa]> | skipping unsolvable issues by asking on #haskell: top. |
| 19:50:36 | <Ashkan> | All right guys thank you all for your time and effort. I got a few links to read and I have a feeling I'm missing some subtle points about how functional data structures work. I'll be back with hopefully better questions. |
| 19:50:58 | <[exa]> | Ashkan: btw I recommend thinking about how gloss draws the "scene structure" |
| 19:51:16 | <[exa]> | Ashkan: spoiler: it typically never really gets allocated |
| 19:51:17 | <monochrom> | The opposing view is that if C is great for email server then let email servers be written in C. "Industry" is diverse and there are other sectors for Haskell. |
| 19:51:37 | Γ | bratwurst quits (~dfadsva@2604:3d09:207f:f650::c680) (Remote host closed the connection) |
| 19:51:43 | <davean> | Has C ever been good for email servers? It seems all the email servers in C are disasters |
| 19:51:55 | β | bratwurst joins (~dfadsva@2604:3d09:207f:f650::c680) |
| 19:52:00 | <int-e> | ...better than Fortran or Pascal... |
| 19:52:05 | <monochrom> | Yeah it's a hypothetical. While we're hypothetical. |
| 19:52:11 | <[exa]> | yeah like, most email servers are in C somehow :D |
| 19:52:33 | <int-e> | I mean, most email servers are old? |
| 19:52:45 | <[exa]> | yeah that likely contributes |
| 19:52:55 | <monochrom> | Most email servers still have vulnerabilities because of C. <duck> |
| 19:53:04 | <[exa]> | "most OSS mail servers", that would be it. |
| 19:53:06 | <davean> | monochrom: I mean thats half of what makes most of them terrible |
| 19:53:25 | <davean> | Issues with config and handling config complexity without issues is the other half |
| 19:53:25 | <[exa]> | but c'mon it could have been java |
| 19:53:25 | <int-e> | . o O ( and Exchange ) |
| 19:53:36 | <davean> | [exa]: what about Java? That would probably be fine? |
| 19:53:43 | <davean> | Probably better than C |
| 19:54:36 | <davean> | I feel like Haskell could maybe win on the config side, but really thats a programmer issue and C just makes that programming hard. |
| 19:54:38 | <[exa]> | well I had the opportunity to administer one back in the old days like 2010 |
| 19:54:41 | <davean> | The security side litterly anything else wins |
| 19:54:45 | <monochrom> | Whenever my students make array-index-out-of-bound mistakes, they probably like C more than Java. |
| 19:54:46 | Γ | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 250 seconds) |
| 19:54:53 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 246 seconds) |
| 19:54:56 | Γ | rainbyte quits (~rainbyte@181.31.239.226) (Ping timeout: 272 seconds) |
| 19:54:59 | <davean> | monochrom: oh? |
| 19:55:01 | <[exa]> | lol. |
| 19:55:24 | <monochrom> | Students always want to pretend that their programs run fine, right? |
| 19:55:30 | <davean> | No? |
| 19:55:35 | <monochrom> | yes? |
| 19:55:39 | <davean> | Not my experience |
| 19:55:45 | <probie> | C: maybe a segfault, maybe wrong data. Java: A big scary stack trace |
| 19:56:24 | <davean> | monochrom: I have seen more want to knwo it will run right for grading. |
| 19:56:48 | <[exa]> | java: OOM, grafecul shutdown, OOM again. |
| 19:57:10 | β | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 19:57:27 | Γ | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds) |
| 19:57:43 | <mauke> | ArrayStoreException |
| 19:57:53 | <monochrom> | You have more competent students. |
| 19:58:16 | <probie> | davean: that's why you give them some example test cases, so they can satisfy themselves it works on those (and only those) and then fails for every real test case |
| 19:58:20 | <monochrom> | My students operate more at the level of "my code works but it doesn't pass your test cases". |
| 19:58:33 | <davean> | haha, interesting! |
| 19:59:46 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 20:01:00 | <davean> | monochrom: my brain hurts now. Thanks. |
| 20:01:02 | β | misterfish joins (~misterfis@84-53-85-146.bbserv.nl) |
| 20:05:14 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 260 seconds) |
| 20:07:11 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 20:10:46 | Γ | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 20:11:12 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 240 seconds) |
| 20:18:35 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 20:21:37 | Γ | wroathe quits (~wroathe@user/wroathe) (Quit: Lost terminal) |
| 20:22:52 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 240 seconds) |
| 20:25:00 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 20:26:35 | β | sm[i] joins (~sm@024-165-041-186.res.spectrum.com) |
| 20:27:51 | β | wroathe joins (~wroathe@50.205.197.50) |
| 20:27:51 | Γ | wroathe quits (~wroathe@50.205.197.50) (Changing host) |
| 20:27:51 | β | wroathe joins (~wroathe@user/wroathe) |
| 20:29:42 | β | dibblego joins (~dibblego@116-255-1-157.ip4.superloop.au) |
| 20:29:42 | Γ | dibblego quits (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
| 20:29:42 | β | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 20:31:21 | Γ | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzβ¦) |
| 20:32:10 | β | zer0bitz_ joins (~zer0bitz@user/zer0bitz) |
| 20:34:50 | β | TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker) |
| 20:35:59 | Γ | zer0bitz quits (~zer0bitz@user/zer0bitz) (Ping timeout: 264 seconds) |
| 20:39:07 | Γ | dibblego quits (~dibblego@haskell/developer/dibblego) (Quit: Ξ») |
| 20:43:20 | β | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 20:43:42 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 272 seconds) |
| 20:45:22 | Γ | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
| 20:45:59 | β | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 20:49:56 | β | dibblego joins (~dibblego@116.255.1.157) |
| 20:49:56 | Γ | dibblego quits (~dibblego@116.255.1.157) (Changing host) |
| 20:49:56 | β | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 20:51:26 | β | nick3 joins (~nick@ip98-170-224-49.pn.at.cox.net) |
| 20:54:23 | β | Lycurgus joins (~juan@user/Lycurgus) |
| 20:59:41 | Γ | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzβ¦) |
| 21:00:48 | Γ | misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 272 seconds) |
| 21:00:51 | Γ | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds) |
| 21:01:59 | β | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 21:01:59 | Γ | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 21:01:59 | β | wroathe joins (~wroathe@user/wroathe) |
| 21:03:45 | Γ | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 21:05:02 | β | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 21:07:31 | Γ | nick3 quits (~nick@ip98-170-224-49.pn.at.cox.net) (Ping timeout: 245 seconds) |
| 21:13:28 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 21:14:34 | β | dibblego joins (~dibblego@116.255.1.157) |
| 21:14:34 | Γ | dibblego quits (~dibblego@116.255.1.157) (Changing host) |
| 21:14:34 | β | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 21:14:36 | Γ | Ashkan quits (~Ashkan@a119011.upc-a.chello.nl) (Quit: Client closed) |
| 21:17:38 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 246 seconds) |
| 21:18:39 | Γ | falafel quits (~falafel@2603-7000-a700-8710-210a-6c97-c559-5652.res6.spectrum.com) (Remote host closed the connection) |
| 21:21:34 | β | nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
| 21:22:33 | Γ | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 21:25:22 | β | falafel joins (~falafel@2603-7000-a700-8710-cd1b-efe5-440f-7e43.res6.spectrum.com) |
| 21:25:42 | Γ | adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
| 21:25:57 | β | adanwan joins (~adanwan@gateway/tor-sasl/adanwan) |
| 21:26:23 | Γ | nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
| 21:26:38 | Γ | gmg quits (~user@user/gehmehgeh) (Ping timeout: 240 seconds) |
| 21:27:46 | β | gmg joins (~user@user/gehmehgeh) |
| 21:31:14 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 21:33:55 | Γ | lambdabot quits (~lambdabot@haskell/bot/lambdabot) (Remote host closed the connection) |
| 21:36:02 | β | lambdabot joins (~lambdabot@silicon.int-e.eu) |
| 21:36:02 | Γ | lambdabot quits (~lambdabot@silicon.int-e.eu) (Changing host) |
| 21:36:02 | β | lambdabot joins (~lambdabot@haskell/bot/lambdabot) |
| 21:36:52 | β | nick3 joins (~nick@ip98-170-224-49.pn.at.cox.net) |
| 21:37:33 | Γ | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
| 21:38:57 | β | Guest6728 joins (~finn@185.52.47.189) |
| 21:40:18 | Γ | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:41:22 | Γ | nick3 quits (~nick@ip98-170-224-49.pn.at.cox.net) (Ping timeout: 250 seconds) |
| 21:43:33 | Γ | fr33domlover quits (~fr33domlo@towards.vision) (Remote host closed the connection) |
| 21:44:41 | β | kupi joins (uid212005@id-212005.hampstead.irccloud.com) |
| 21:47:40 | Γ | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 272 seconds) |
| 21:53:53 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 246 seconds) |
| 21:54:19 | β | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 21:54:20 | Γ | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 21:54:20 | β | wroathe joins (~wroathe@user/wroathe) |
| 21:54:47 | Γ | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:01:42 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 22:03:45 | β | nick3 joins (~nick@ip98-170-224-49.pn.at.cox.net) |
| 22:03:51 | Γ | michalz quits (~michalz@185.246.207.218) (Remote host closed the connection) |
| 22:04:27 | β | pavonia joins (~user@user/siracusa) |
| 22:05:47 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 245 seconds) |
| 22:06:12 | Γ | mechap quits (~mechap@user/mechap) (Quit: WeeChat 4.0.2) |
| 22:06:57 | Γ | titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection) |
| 22:08:34 | Γ | nick3 quits (~nick@ip98-170-224-49.pn.at.cox.net) (Ping timeout: 272 seconds) |
| 22:08:41 | β | manmshuk joins (~manmshuk@2401:4900:1c62:ac3c:78c6:d1c2:9423:607c) |
| 22:10:05 | Γ | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 22:12:07 | β | Inst_ joins (~Inst@2601:6c4:4081:2fc0:21f9:7432:89e5:111c) |
| 22:12:08 | Γ | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 22:12:26 | Γ | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 22:13:04 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 22:15:35 | Γ | Inst quits (~Inst@2601:6c4:4081:2fc0:2cd7:faf6:2df3:acfa) (Ping timeout: 246 seconds) |
| 22:18:04 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 272 seconds) |
| 22:18:13 | Γ | Tlsx quits (~rscastilh@187.40.124.54) () |
| 22:18:35 | Γ | acidjnk quits (~acidjnk@p200300d6e7072f973457f07d23c910df.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 22:20:51 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 22:27:33 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Remote host closed the connection) |
| 22:27:45 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 22:29:35 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Remote host closed the connection) |
| 22:29:40 | Γ | it_ quits (~quassel@v2202212189510211193.supersrv.de) (Ping timeout: 246 seconds) |
| 22:30:01 | Γ | Inst_ quits (~Inst@2601:6c4:4081:2fc0:21f9:7432:89e5:111c) (Remote host closed the connection) |
| 22:30:06 | β | wroathe joins (~wroathe@user/wroathe) |
| 22:30:21 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 22:30:25 | β | Inst_ joins (~Inst@2601:6c4:4081:2fc0:21f9:7432:89e5:111c) |
| 22:34:00 | β | it_ joins (~quassel@v2202212189510211193.supersrv.de) |
| 22:35:34 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Remote host closed the connection) |
| 22:35:54 | Γ | malte quits (~malte@mal.tc) (Ping timeout: 252 seconds) |
| 22:36:07 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 22:38:05 | β | malte joins (~malte@mal.tc) |
| 22:44:38 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 246 seconds) |
| 22:46:18 | Γ | bontaq quits (~user@ool-45779b84.dyn.optonline.net) (Remote host closed the connection) |
| 22:48:55 | Γ | it_ quits (~quassel@v2202212189510211193.supersrv.de) (Quit: No Ping reply in 180 seconds.) |
| 22:49:55 | Γ | Guest6728 quits (~finn@185.52.47.189) (Quit: WeeChat 2.8) |
| 22:50:03 | β | mango joins (~finn@185.52.47.189) |
| 22:50:14 | Γ | mango quits (~finn@185.52.47.189) (Client Quit) |
| 22:50:40 | β | it_ joins (~quassel@v2202212189510211193.supersrv.de) |
| 22:52:51 | β | alexbiehl joins (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) |
| 22:59:29 | Γ | falafel quits (~falafel@2603-7000-a700-8710-cd1b-efe5-440f-7e43.res6.spectrum.com) (Read error: Connection reset by peer) |
| 23:01:02 | β | falafel joins (~falafel@2603-7000-a700-8710-2046-2a82-8604-acad.res6.spectrum.com) |
| 23:01:05 | Γ | tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in) |
| 23:04:25 | Γ | gurkenglas quits (~gurkengla@dynamic-046-114-182-179.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 23:05:06 | Γ | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzzβ¦) |
| 23:14:07 | Γ | alexbiehl quits (~alexbiehl@2a02:8108:323f:ca14:adeb:5d31:3c95:b332) (Ping timeout: 245 seconds) |
| 23:16:40 | Γ | manmshuk quits (~manmshuk@2401:4900:1c62:ac3c:78c6:d1c2:9423:607c) (Remote host closed the connection) |
| 23:16:57 | β | notzmv joins (~zmv@user/notzmv) |
| 23:17:01 | β | manmshuk joins (~manmshuk@2401:4900:1c62:ac3c:3e18:6884:ad4:fcf3) |
| 23:19:30 | Γ | APic quits (apic@apic.name) (Ping timeout: 272 seconds) |
| 23:25:12 | Γ | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 272 seconds) |
| 23:26:18 | Γ | phma quits (phma@2001:5b0:2144:7e18:347d:b9fd:6656:c5a6) (Read error: Connection reset by peer) |
| 23:27:07 | β | APic joins (apic@apic.name) |
| 23:27:14 | Γ | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 23:27:20 | Γ | perrierjouet quits (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.2) |
| 23:28:09 | β | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 23:36:49 | β | phma joins (~phma@2001:5b0:2143:ec38:e193:c5c6:7ae2:aa83) |
| 23:38:46 | Γ | buckwheatsuperpo quits (~buckwheat@209.122.211.192) (Ping timeout: 245 seconds) |
| 23:41:13 | Γ | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 23:41:39 | β | mauke_ joins (~mauke@user/mauke) |
| 23:42:09 | Γ | hiredman quits (~hiredman@frontier1.downey.family) (Remote host closed the connection) |
| 23:43:17 | Γ | mauke quits (~mauke@user/mauke) (Ping timeout: 245 seconds) |
| 23:43:17 | mauke_ | is now known as mauke |
| 23:43:43 | β | buckwheatsuperpo joins (~buckwheat@209.122.211.192) |
| 23:44:32 | Γ | notzmv quits (~zmv@user/notzmv) (Ping timeout: 245 seconds) |
| 23:46:12 | Γ | Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:48:35 | Γ | manmshuk quits (~manmshuk@2401:4900:1c62:ac3c:3e18:6884:ad4:fcf3) (Ping timeout: 246 seconds) |
| 23:50:04 | β | Inst__ joins (~Inst@2601:6c4:4081:2fc0:807d:5027:e417:fe65) |
| 23:50:12 | β | manmshuk joins (~manmshuk@2401:4900:1c62:ac3c:ffc9:9b91:2f02:458f) |
| 23:50:34 | β | arahael_ joins (~arahael@124-149-31-4.dyn.iinet.net.au) |
| 23:53:56 | Γ | Inst_ quits (~Inst@2601:6c4:4081:2fc0:21f9:7432:89e5:111c) (Ping timeout: 246 seconds) |
| 23:54:28 | Γ | kupi quits (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
All times are in UTC on 2023-07-15.