2023-11-25 00:00:04 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2023-11-25 00:02:45 +0100 | shapr | (~user@2600:1700:c640:3100:bde0:ae18:ccd3:ba00) (Remote host closed the connection) |
2023-11-25 00:02:59 +0100 | shapr | (~user@2600:1700:c640:3100:7027:8a7b:c8e4:e862) |
2023-11-25 00:06:33 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:216:5359:bf22:6442) |
2023-11-25 00:07:01 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2023-11-25 00:09:38 +0100 | son0p | (~ff@181.136.122.143) (Quit: Bye) |
2023-11-25 00:11:43 +0100 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.1.1) |
2023-11-25 00:12:01 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2d66:d5f4:1244:77d) |
2023-11-25 00:22:40 +0100 | leungbk | (~user@cpe-142-129-149-172.socal.res.rr.com) (Ping timeout: 276 seconds) |
2023-11-25 00:23:26 +0100 | roosterphant | (~roosterph@user/roosterphant) (Changing host) |
2023-11-25 00:23:26 +0100 | roosterphant | (~roosterph@idlerpg/player/roosterphant) |
2023-11-25 00:26:10 +0100 | acidjnk | (~acidjnk@p200300d6e72b9394810768b040d6fb4f.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2023-11-25 00:26:45 +0100 | leungbk | (~user@cpe-142-129-149-172.socal.res.rr.com) |
2023-11-25 00:27:24 +0100 | son0p | (~ff@181.136.122.143) |
2023-11-25 00:39:37 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2023-11-25 00:39:45 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:216:5359:bf22:6442) (Ping timeout: 256 seconds) |
2023-11-25 00:58:35 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Ping timeout: 256 seconds) |
2023-11-25 01:06:55 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-11-25 01:11:53 +0100 | bilegeek | (~bilegeek@2600:1008:b08d:8b2c:9239:2f41:68cf:e8b1) |
2023-11-25 01:16:07 +0100 | ubert | (~Thunderbi@91.141.78.5.wireless.dyn.drei.com) (Ping timeout: 255 seconds) |
2023-11-25 01:19:28 +0100 | <newsham> | is there an easy shortcut for wrapping up many type constraints into a single constraint? |
2023-11-25 01:20:08 +0100 | <ski> | `type Foo a b = (Bar a,Baz a b)' ? |
2023-11-25 01:20:41 +0100 | Alleria | (~JohnGalt@user/alleria) |
2023-11-25 01:21:09 +0100 | infinity0 | (~infinity0@pwned.gg) |
2023-11-25 01:24:13 +0100 | <newsham> | without adding a new constructor? |
2023-11-25 01:24:35 +0100 | <ski> | just a synonym |
2023-11-25 01:25:14 +0100 | <ski> | if you'd rather explicitly instance, then do `class (Bar a,Baz a b) => Foo a b' |
2023-11-25 01:25:50 +0100 | <newsham> | I would like a way to say `val :: (Foo a, Bar a, Baz z) => a` without having to mention Foo Bar and Baz each time, but still having the type `a`. |
2023-11-25 01:26:09 +0100 | <newsham> | can I have an empty class? |
2023-11-25 01:26:13 +0100 | <ski> | sure |
2023-11-25 01:26:20 +0100 | <newsham> | cool, thats exactly what I want. thank you. |
2023-11-25 01:26:38 +0100 | <ski> | but you'll need to explicitly `instance Foo T' in that case |
2023-11-25 01:26:49 +0100 | <ski> | with the synonym, that's not the case |
2023-11-25 01:27:51 +0100 | <ski> | (and yea, i already figured what you wanted to achieve, more or less) |
2023-11-25 01:28:38 +0100 | ystael | (~ystael@user/ystael) (Quit: Lost terminal) |
2023-11-25 01:34:27 +0100 | leungbk | (~user@cpe-142-129-149-172.socal.res.rr.com) (Read error: Connection reset by peer) |
2023-11-25 01:35:08 +0100 | leungbk | (~user@2603-8000-1201-2dd2-e3a3-de53-6c1c-8a11.res6.spectrum.com) |
2023-11-25 01:40:02 +0100 | leungbk | (~user@2603-8000-1201-2dd2-e3a3-de53-6c1c-8a11.res6.spectrum.com) (Remote host closed the connection) |
2023-11-25 01:40:39 +0100 | <monochrom> | If you turn on ConstraintKinds, then ski's "type Foo a b = (Bar a,Baz a b)" will work. Then you can write "val :: Foo a b => ...". |
2023-11-25 01:50:53 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) |
2023-11-25 01:52:18 +0100 | nate4 | (~nate@c-98-45-158-125.hsd1.ca.comcast.net) |
2023-11-25 01:57:31 +0100 | nate4 | (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
2023-11-25 02:03:43 +0100 | newsham | (~newsham@2603-800c-2c01-6825-4dc0-068b-2270-a1d6.res6.spectrum.com) (Quit: Client closed) |
2023-11-25 02:04:11 +0100 | newsham | (~newsham@2603-800c-2c01-6825-35e6-c7dc-fab9-7c5b.res6.spectrum.com) |
2023-11-25 02:05:20 +0100 | <newsham> | awesome, it worked with the type alias. |
2023-11-25 02:05:22 +0100 | <newsham> | and constraint kinds |
2023-11-25 02:05:54 +0100 | <newsham> | though I'm not sure this is a big improvement. :) maybe there's a better way for me to do this. |
2023-11-25 02:06:00 +0100 | <newsham> | type LotsOfCat k b = (MonoidalP k, Terminal k, ConstCat k b, NumCat k b) |
2023-11-25 02:06:01 +0100 | <newsham> | -- \(x,y) -> 2*x + 3*y, on (10,100) |
2023-11-25 02:06:01 +0100 | <newsham> | prog_ :: (LotsOfCat k b, Num b) => (b, b) `k` b |
2023-11-25 02:06:02 +0100 | <newsham> | -- prog_ :: (MonoidalP k, Terminal k, ConstCat k b, NumCat k b, Num b) => (b, b) `k` b |
2023-11-25 02:06:02 +0100 | <newsham> | prog_ = addC . ((mulC . (constC 2 `cross` exl) . dup) `cross` (mulC . (constC 3 `cross` exr) . dup)) . dup |
2023-11-25 02:07:37 +0100 | <monochrom> | Most aliases and macros suffer the problem that if you don't memorize how to expand the alias/macro then you find the code unreadable. |
2023-11-25 02:09:13 +0100 | <newsham> | yah, thats true.. but i think in this situation i'm expecting most of the examples I use to have the same exact constraints.. maybe minus the Num ones.. but you're probably right.. |
2023-11-25 02:09:19 +0100 | <monochrom> | The minority that don't suffer this problem are having really accurate suggestive names and really good documentations and explanations and they stand for really salient abstractions. |
2023-11-25 02:09:22 +0100 | <EvanR> | the problem with language is not knowing it |
2023-11-25 02:09:51 +0100 | <monochrom> | As opposed to abbreviation just for the sake of abbreviation. |
2023-11-25 02:10:26 +0100 | <EvanR> | i got a complaint recently about the name of the ord function |
2023-11-25 02:10:41 +0100 | ski | can never recall which is which of `ord' and `chr' |
2023-11-25 02:11:10 +0100 | <EvanR> | chr of some number, ord(inal number) of some char |
2023-11-25 02:11:43 +0100 | <EvanR> | regardless the complain was they didn't already know what ord meant |
2023-11-25 02:12:50 +0100 | <monochrom> | In line with a math tradition, the function name describes the output, not the input. So "ord" ("ordinal") cannot describe a character output (that would be "chr"), so it must output Int. Likewise for "chr". |
2023-11-25 02:12:56 +0100 | <EvanR> | imagine if a baby, not knowing any language, used this reasoning (somehow, without being able to communicate it directly to you) |
2023-11-25 02:13:21 +0100 | <ski> | figures you were going there, yea |
2023-11-25 02:13:21 +0100 | <EvanR> | they'd be arguing against all language |
2023-11-25 02:13:26 +0100 | <monochrom> | Corollary: Unpopular opinion: "toList" should be simply "list". >:) |
2023-11-25 02:14:07 +0100 | <EvanR> | or would list be an either-like or maybe-like function |
2023-11-25 02:14:51 +0100 | <newsham> | you mean `cochr`? |
2023-11-25 02:15:08 +0100 | <EvanR> | unchr |
2023-11-25 02:15:26 +0100 | <newsham> | chr^{-1} |
2023-11-25 02:16:04 +0100 | <ski> | .. now i'm wondering whether native speakers of ergative-absolutive languages (like Basque) would find it more natural to name after input |
2023-11-25 02:16:06 +0100 | <newsham> | ok, stop being so entertaining, i'm trying to focus here :) |
2023-11-25 02:16:41 +0100 | <monochrom> | I don't mind people complaining about abbreviations. Unix's "cp" is too terse, and our "ord" can be too. |
2023-11-25 02:17:07 +0100 | <ski> | `id' ? |
2023-11-25 02:17:09 +0100 | <monochrom> | BUT! In this case "ord" is pretty standard over, like, half a century already. |
2023-11-25 02:17:32 +0100 | <monochrom> | You go all the way back to BASIC and it's still ORD and CHR. |
2023-11-25 02:17:41 +0100 | <monochrom> | Perhaps possibly CHR$. |
2023-11-25 02:17:49 +0100 | <EvanR> | ah basic. I know python uses ord and chr |
2023-11-25 02:17:55 +0100 | <ski> | yes |
2023-11-25 02:18:17 +0100 | <EvanR> | even though... python doesn't even have a character type? |
2023-11-25 02:18:17 +0100 | <ski> | `CHR$(',`VAL(' |
2023-11-25 02:19:00 +0100 | arahael_ | (~arahael@1.145.113.225) |
2023-11-25 02:19:02 +0100 | <geekosaur> | it was ORD in the versions of MS-BASIC I started out on |
2023-11-25 02:19:22 +0100 | <ski> | hm, or maybe `VAL(' corresponded to `STR$(', actually |
2023-11-25 02:19:34 +0100 | <monochrom> | Oh the joy of dynamic languages is that partial functions are highly encouraged! VAL/ord can say "the input is a string but it must be of length 1 else exception". |
2023-11-25 02:20:11 +0100 | <geekosaur> | no, they only gave you the result for the first character |
2023-11-25 02:20:14 +0100 | <ski> | right .. `ASC(' corrsponds to `CHR$(', that's it |
2023-11-25 02:20:21 +0100 | <geekosaur> | exception was for empty string |
2023-11-25 02:20:44 +0100 | <ski> | (i'm a bit surprised i can still remember this, despite not having used this in many years) |
2023-11-25 02:20:51 +0100 | <monochrom> | OK but the point about encouraging partial functions stand. |
2023-11-25 02:21:02 +0100 | ski | nods to geekosaur |
2023-11-25 02:21:13 +0100 | <monochrom> | Since every function must throw exception for wrong input type anyway! |
2023-11-25 02:22:06 +0100 | <monochrom> | May as well add dynamically-checked dependent predicate subtyping >:) |
2023-11-25 02:22:12 +0100 | <geekosaur> | (and being BASIC, exceptions were extra annoying: ON ERROR GOTO) |
2023-11-25 02:22:30 +0100 | <darkling> | Exceptions in BASIC? You *radical*! |
2023-11-25 02:22:55 +0100 | <darkling> | You get an error in BASIC, you should come to a grinding halt with a cryptic two-digit hex code. |
2023-11-25 02:22:56 +0100 | <monochrom> | Yeah it is why when I finally learned exception systems, I loved it despite all the hate from the young generation. |
2023-11-25 02:22:59 +0100 | <ski> | hm, iirc, it aborted program, and then you could inspect variables, and then you could resume with `CONT', or start again from a different place. hm, or maybe that was not on error, but just on `STOP' .. can't recall |
2023-11-25 02:23:13 +0100 | <monochrom> | Like, what would be the alternative anyway? Going back to ON ERROR GOTO?! |
2023-11-25 02:23:14 +0100 | <darkling> | ski: Oooh, sophisticated. ;) |
2023-11-25 02:23:19 +0100 | rosco | (~rosco@175.136.157.149) |
2023-11-25 02:23:20 +0100 | <monochrom> | First-world problem. |
2023-11-25 02:23:35 +0100 | <ski> | darkling : (microsoft) BASIC V2.0 |
2023-11-25 02:23:37 +0100 | leungbk | (~user@2603-8000-1201-2dd2-e3a3-de53-6c1c-8a11.res6.spectrum.com) |
2023-11-25 02:23:43 +0100 | <ski> | (downgraded) |
2023-11-25 02:23:57 +0100 | <ski> | geekosaur : yea, never had that luxury |
2023-11-25 02:24:26 +0100 | <ski> | young generation didn't like exceptions ? |
2023-11-25 02:24:36 +0100 | arahael_ | (~arahael@1.145.113.225) (Read error: Connection reset by peer) |
2023-11-25 02:25:01 +0100 | <newsham> | not all complaints are created equally. sometimes "no" is the right answer. |
2023-11-25 02:25:03 +0100 | <darkling> | I used Sinclair BASIC on the ZX80, 80 and Spectrum, then BBC Basic on the Archimedes. None of those had anything other than "stop right now and whinge" |
2023-11-25 02:25:16 +0100 | <darkling> | I did some VB 4 and 5 later, too. |
2023-11-25 02:25:21 +0100 | <ski> | yea. i'm talking about C64 |
2023-11-25 02:25:44 +0100 | <ski> | but i don't recall if the `CONT' was only if you'd inserted `STOP' (a breakpoint, essentially), or also on error |
2023-11-25 02:26:09 +0100 | <monochrom> | I had Applesoft BASIC and Atari 800 BASIC. |
2023-11-25 02:26:37 +0100 | <ski> | hm .. i think, if you changed the program, then all variables were cleared, anyway |
2023-11-25 02:26:38 +0100 | <darkling> | CONTINUE was a thing in Sincair BASIC, but it was definitely an interactive sort of thing. |
2023-11-25 02:26:50 +0100 | <ski> | but, possibly you could change variables, and resume, after error |
2023-11-25 02:26:52 +0100 | <monochrom> | I came across Commodore PET but didn't spend much time, so it didn't stick. |
2023-11-25 02:27:10 +0100 | <monochrom> | I also had the BASICs from Casio FX-702P and Sharp PC-1500. :) |
2023-11-25 02:27:10 +0100 | <ski> | yes, `CONT' was used interactively, after breaking out into the "repl" |
2023-11-25 02:27:25 +0100 | <ski> | yea, i had Casio PB-100F, before |
2023-11-25 02:27:31 +0100 | <ski> | (got that at age 6.5) |
2023-11-25 02:27:42 +0100 | <ski> | .. and a later version, although i forgot the name |
2023-11-25 02:28:25 +0100 | <geekosaur> | Sharp Pocket Computer |
2023-11-25 02:29:02 +0100 | <monochrom> | Did you know: Eventually Casio made one that ran C. :D |
2023-11-25 02:29:46 +0100 | <monochrom> | But it came too late. It was at the twilight of all pocket computers. |
2023-11-25 02:30:18 +0100 | <monochrom> | But it is the counterexample to "C is compiled" >:D |
2023-11-25 02:30:58 +0100 | <darkling> | Nice. |
2023-11-25 02:31:15 +0100 | <ski> | there's a C compiler on the C64 |
2023-11-25 02:32:04 +0100 | <ski> | (well, there were a few. but the author of this one didn't like them) |
2023-11-25 02:32:18 +0100 | <ski> | recently, he's taken it up again, and put the code on GitHub |
2023-11-25 02:34:42 +0100 | tremon | (~tremon@83.80.159.219) (Quit: getting boxed in) |
2023-11-25 02:42:40 +0100 | <newsham> | futureretro computing |
2023-11-25 02:46:14 +0100 | telser | (~quassel@user/telser) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2023-11-25 02:47:35 +0100 | <darkling> | I call it anteretrocomputing :) |
2023-11-25 02:48:01 +0100 | <darkling> | Things that never existed in history, but might have done. |
2023-11-25 02:48:25 +0100 | <darkling> | (I'm writing a simulator for a FORTH-based CPU right now...) |
2023-11-25 02:48:59 +0100 | <ski> | yea, this one's written in UltraFORTH^WVolksForth |
2023-11-25 02:50:09 +0100 | <ski> | CC64 by Philip Zembrod <https://github.com/pzembrod/cc64>,<https://www.youtube.com/watch?v=X7kJiuD_PFM>,<https://sourceforge.net/projects/cc64/> |
2023-11-25 02:50:42 +0100 | <monochrom> | Dear friends, when I have "let x = y+1", do I say "bind x to y+1"? Do I say "bind y+1 to x"? |
2023-11-25 02:51:13 +0100 | <darkling> | I'd go with the latter. |
2023-11-25 02:51:29 +0100 | ski | 'd go with the former |
2023-11-25 02:51:42 +0100 | <ski> | binding variables to values (or expressions, or computations, or whatever) |
2023-11-25 02:52:04 +0100 | <monochrom> | Oh! "x is a bound variable" so I bind y. |
2023-11-25 02:52:07 +0100 | <monochrom> | err, bind x. |
2023-11-25 02:52:10 +0100 | <ski> | yes |
2023-11-25 02:52:15 +0100 | <monochrom> | Thanks nice. |
2023-11-25 02:52:25 +0100 | <darkling> | My mental model is the precise opposite. You ind a value into a variable name. |
2023-11-25 02:52:49 +0100 | <ski> | i guess it depends on whether you focus on the leash or on the dog |
2023-11-25 02:53:01 +0100 | <darkling> | Meow? :) |
2023-11-25 02:53:04 +0100 | <ski> | hm, s/leash/lead/, i guess |
2023-11-25 02:53:52 +0100 | <ski> | well, the cat's we've had, that were allowed outdoors, were not leashed then |
2023-11-25 02:53:57 +0100 | <ski> | (had no dogs) |
2023-11-25 02:54:26 +0100 | arahael_ | (~arahael@1.145.125.165) |
2023-11-25 02:55:50 +0100 | <darkling> | I guess "a binding" is an ordered pair of (variable, value), so either way round works. |
2023-11-25 02:56:10 +0100 | telser | (~quassel@user/telser) |
2023-11-25 02:56:15 +0100 | <darkling> | It still feels odd to me to bind a variable to a value, instead of a value to a variable. |
2023-11-25 02:57:59 +0100 | mmhat | (~mmh@p200300f1c70fae88ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.1.1) |
2023-11-25 02:58:38 +0100 | ski | thinks of as attaching a label to the value |
2023-11-25 03:00:11 +0100 | <darkling> | I think of it as putting a value in a box. |
2023-11-25 03:00:32 +0100 | <geekosaur> | except that doesn't really work in Haskell |
2023-11-25 03:00:37 +0100 | <darkling> | It's an interesting difference. |
2023-11-25 03:01:21 +0100 | <geekosaur> | the implication of a box is you can put something else in it later, but in Haskell you can't |
2023-11-25 03:01:35 +0100 | <geekosaur> | I think of it as an alias for an expression |
2023-11-25 03:01:50 +0100 | <newsham> | think of it as an equality :) |
2023-11-25 03:02:30 +0100 | <darkling> | It's too early in the morning for me to regress to being a mathematician. ;) |
2023-11-25 03:02:41 +0100 | <ski> | in Prolog, you separate the introduction of the variable into a scope, and the binding of it to a value |
2023-11-25 03:02:48 +0100 | <darkling> | It's too early in the morning for me to be awake, really. |
2023-11-25 03:03:10 +0100 | <ski> | in general, you can distinguish three different stages : (a) variable introduction; (b) bind variable to computation; (c) perform computation |
2023-11-25 03:03:45 +0100 | <ski> | Haskell has (a) and (b) combined. Prolog instead has (b) and (c) combined |
2023-11-25 03:11:14 +0100 | <monochrom> | Oh, lazy evaluation just requires you to say "put a term in a box" (and later allow that term to be mutated by evaluation). |
2023-11-25 03:11:29 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2d66:d5f4:1244:77d) (Remote host closed the connection) |
2023-11-25 03:11:55 +0100 | <monochrom> | (Although, people prefer to s/term/thunk/ so that they can show off knowing terms they don't understand.) (Haha pun on "term".) |
2023-11-25 03:12:19 +0100 | troydm | (~troydm@user/troydm) (Ping timeout: 256 seconds) |
2023-11-25 03:12:34 +0100 | <newsham> | i thunk therefore i will be |
2023-11-25 03:13:31 +0100 | <newsham> | <- showing off |
2023-11-25 03:14:14 +0100 | <monochrom> | But in terms (haha) of Report-level denotational Haskell, "value" is OK, you are only committed to non-strictness, you just have to allow "value" to contain bottoms or infinite data. |
2023-11-25 03:14:44 +0100 | <newsham> | gotta watch out for the lazy bottoms |
2023-11-25 03:22:18 +0100 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2023-11-25 03:26:37 +0100 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-11-25 03:26:37 +0100 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-11-25 03:26:37 +0100 | wroathe | (~wroathe@user/wroathe) |
2023-11-25 03:36:16 +0100 | <EvanR> | did we finally figure out a thing container analogies don't work for |
2023-11-25 03:36:27 +0100 | <EvanR> | how do you put an infinite value in a box |
2023-11-25 03:37:09 +0100 | <EvanR> | it is you who is in a box and the infinite data is outside... nvm, it's infallible |
2023-11-25 03:43:47 +0100 | otto_s | (~user@p5de2fb7f.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2023-11-25 03:46:00 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2d66:d5f4:1244:77d) |
2023-11-25 03:54:26 +0100 | nate4 | (~nate@c-98-45-158-125.hsd1.ca.comcast.net) |
2023-11-25 03:55:07 +0100 | arahael_ | (~arahael@1.145.125.165) (Read error: Connection reset by peer) |
2023-11-25 03:56:31 +0100 | <monochrom> | IO already breaks the container analogy. :) |
2023-11-25 03:57:18 +0100 | <monochrom> | Unless, of course, you are in the box and IO is outside >:) |
2023-11-25 03:57:41 +0100 | <newsham> | this is what happens when programmers try to change the world |
2023-11-25 03:57:52 +0100 | <monochrom> | haha |
2023-11-25 03:59:09 +0100 | <monochrom> | dons used s/box/spacesuit/ but I forgot whether he put you or toxins inside the spacesuit. |
2023-11-25 03:59:29 +0100 | nate4 | (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
2023-11-25 03:59:49 +0100 | <monochrom> | One might say: it's a toxic analogy, literally. >:D |
2023-11-25 04:00:39 +0100 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-11-25 04:05:58 +0100 | myme | (~myme@2a01:799:d60:e400:36c:3ccf:768:56e6) (Ping timeout: 260 seconds) |
2023-11-25 04:06:58 +0100 | myme | (~myme@2a01:799:d60:e400:4086:b673:1073:656f) |
2023-11-25 04:07:48 +0100 | qqq | (~qqq@92.43.167.61) (Quit: leaving) |
2023-11-25 04:10:49 +0100 | td_ | (~td@i53870903.versanet.de) (Ping timeout: 255 seconds) |
2023-11-25 04:12:23 +0100 | td_ | (~td@i53870901.versanet.de) |
2023-11-25 04:31:27 +0100 | Xyloes | (~wyx@2400:dd01:103a:1012:5923:33ce:7857:fc04) |
2023-11-25 04:37:23 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2d66:d5f4:1244:77d) (Remote host closed the connection) |
2023-11-25 04:37:37 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2d66:d5f4:1244:77d) |
2023-11-25 04:41:17 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 252 seconds) |
2023-11-25 04:47:11 +0100 | nate4 | (~nate@c-98-45-158-125.hsd1.ca.comcast.net) |
2023-11-25 04:48:10 +0100 | wladek | (~wladek@4.62.67.34.bc.googleusercontent.com) |
2023-11-25 04:51:23 +0100 | rosco | (~rosco@175.136.157.149) (Quit: Lost terminal) |
2023-11-25 04:54:13 +0100 | wroathe | (~wroathe@user/wroathe) (Quit: leaving) |
2023-11-25 04:57:37 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2023-11-25 04:57:37 +0100 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2023-11-25 04:57:37 +0100 | finn_elija | FinnElija |
2023-11-25 05:01:50 +0100 | pandry | (~Pandry@93-41-34-64.ip79.fastwebnet.it) (Read error: Connection reset by peer) |
2023-11-25 05:04:20 +0100 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection) |
2023-11-25 05:04:36 +0100 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
2023-11-25 05:09:34 +0100 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 264 seconds) |
2023-11-25 05:15:00 +0100 | <EvanR> | monochrom, a prominent user's literal story "IO a is a box with button on it, when you press the button it may spit out an a" |
2023-11-25 05:15:10 +0100 | leungbk | (~user@2603-8000-1201-2dd2-e3a3-de53-6c1c-8a11.res6.spectrum.com) (Ping timeout: 276 seconds) |
2023-11-25 05:16:30 +0100 | newsham | (~newsham@2603-800c-2c01-6825-35e6-c7dc-fab9-7c5b.res6.spectrum.com) (Quit: Client closed) |
2023-11-25 05:17:05 +0100 | <monochrom> | I think it works. Did they also explain IO's >>= ? >:) |
2023-11-25 05:20:34 +0100 | leungbk | (~user@cpe-142-129-149-172.socal.res.rr.com) |
2023-11-25 05:23:00 +0100 | bilegeek | (~bilegeek@2600:1008:b08d:8b2c:9239:2f41:68cf:e8b1) (Quit: Leaving) |
2023-11-25 05:26:41 +0100 | leungbk | (~user@cpe-142-129-149-172.socal.res.rr.com) (Remote host closed the connection) |
2023-11-25 05:35:02 +0100 | thegeekinside | (~thegeekin@189.217.90.224) (Read error: Connection reset by peer) |
2023-11-25 05:37:16 +0100 | thegeekinside | (~thegeekin@189.217.90.224) |
2023-11-25 05:41:01 +0100 | thegeekinside | (~thegeekin@189.217.90.224) (Read error: Connection reset by peer) |
2023-11-25 05:43:21 +0100 | thegeekinside | (~thegeekin@189.217.90.224) |
2023-11-25 05:43:22 +0100 | thegeekinside | (~thegeekin@189.217.90.224) (Read error: Connection reset by peer) |
2023-11-25 05:45:48 +0100 | thegeekinside | (~thegeekin@189.217.90.224) |
2023-11-25 05:46:04 +0100 | thegeekinside | (~thegeekin@189.217.90.224) (Read error: Connection reset by peer) |
2023-11-25 05:49:22 +0100 | nate4 | (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
2023-11-25 05:50:50 +0100 | thegeekinside | (~thegeekin@189.217.90.224) |
2023-11-25 05:52:13 +0100 | thegeekinside | (~thegeekin@189.217.90.224) (Read error: Connection reset by peer) |
2023-11-25 05:54:41 +0100 | thegeekinside | (~thegeekin@189.217.90.224) |
2023-11-25 05:55:28 +0100 | thegeekinside | (~thegeekin@189.217.90.224) (Read error: Connection reset by peer) |
2023-11-25 05:58:04 +0100 | aforemny | (~aforemny@i59F516E0.versanet.de) |
2023-11-25 05:59:22 +0100 | aforemny_ | (~aforemny@i59F516C3.versanet.de) (Ping timeout: 276 seconds) |
2023-11-25 06:08:12 +0100 | rosco | (~rosco@175.136.157.149) |
2023-11-25 06:10:21 +0100 | bramhaag7 | (~bramhaag@endeavour.server.bramh.me) (Quit: Ping timeout (120 seconds)) |
2023-11-25 06:10:34 +0100 | bramhaag7 | (~bramhaag@endeavour.server.bramh.me) |
2023-11-25 06:34:27 +0100 | shapr | (~user@2600:1700:c640:3100:7027:8a7b:c8e4:e862) (Remote host closed the connection) |
2023-11-25 06:34:41 +0100 | shapr | (~user@2600:1700:c640:3100:7019:9e1f:e348:6db4) |
2023-11-25 06:44:32 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2023-11-25 06:45:58 +0100 | <EvanR> | haha a box which hits the next's box's button when item flies out |
2023-11-25 06:48:46 +0100 | elkcl | (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 276 seconds) |
2023-11-25 06:50:42 +0100 | bliminse | (~bliminse@user/bliminse) (Quit: leaving) |
2023-11-25 06:58:08 +0100 | elkcl | (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) |
2023-11-25 07:08:30 +0100 | <monochrom> | Yeah :) |
2023-11-25 07:21:51 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2023-11-25 07:26:55 +0100 | harveypwca | (~harveypwc@2601:246:c280:7940:585a:99af:3e4c:209b) |
2023-11-25 07:36:55 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 255 seconds) |
2023-11-25 07:37:43 +0100 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2023-11-25 07:42:07 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
2023-11-25 07:44:16 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2d66:d5f4:1244:77d) (Read error: Connection reset by peer) |
2023-11-25 07:54:43 +0100 | analoq | (~yashi@user/dies) (Ping timeout: 268 seconds) |
2023-11-25 07:56:13 +0100 | analoq | (~yashi@user/dies) |
2023-11-25 07:58:21 +0100 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 256 seconds) |
2023-11-25 07:59:21 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-11-25 08:10:05 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-11-25 08:10:46 +0100 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-11-25 08:18:04 +0100 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2023-11-25 08:18:49 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2d66:d5f4:1244:77d) |
2023-11-25 08:20:19 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-11-25 08:21:21 +0100 | kimiamania46 | (~65804703@user/kimiamania) (Quit: Ping timeout (120 seconds)) |
2023-11-25 08:22:10 +0100 | kimiamania46 | (~65804703@user/kimiamania) |
2023-11-25 08:23:42 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2d66:d5f4:1244:77d) (Ping timeout: 268 seconds) |
2023-11-25 08:32:10 +0100 | gmg | (~user@user/gehmehgeh) |
2023-11-25 08:41:28 +0100 | johnw | (~johnw@69.62.242.138) (Quit: ZNC - http://znc.in) |
2023-11-25 08:50:19 +0100 | acidjnk | (~acidjnk@p200300d6e72b9365810768b040d6fb4f.dip0.t-ipconnect.de) |
2023-11-25 08:50:48 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-11-25 08:51:04 +0100 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2023-11-25 08:58:16 +0100 | Lycurgus | (~georg@user/Lycurgus) |
2023-11-25 08:59:15 +0100 | fendor | (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) |
2023-11-25 09:07:58 +0100 | potato44 | (uid421314@id-421314.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-11-25 09:23:08 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2d66:d5f4:1244:77d) |
2023-11-25 09:32:21 +0100 | awth13 | (~user@user/awth13) |
2023-11-25 09:33:52 +0100 | rosco | (~rosco@175.136.157.149) (Quit: Lost terminal) |
2023-11-25 09:36:05 +0100 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 252 seconds) |
2023-11-25 09:37:06 +0100 | ubert | (~Thunderbi@178.165.175.9.wireless.dyn.drei.com) |
2023-11-25 09:37:42 +0100 | awth13 | (~user@user/awth13) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1)) |
2023-11-25 09:43:21 +0100 | infinity0_ | (~infinity0@pwned.gg) |
2023-11-25 09:43:23 +0100 | infinity0 | (~infinity0@pwned.gg) (Killed (mercury.libera.chat (Nickname regained by services))) |
2023-11-25 09:43:23 +0100 | infinity0_ | infinity0 |
2023-11-25 09:44:35 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-11-25 09:45:28 +0100 | kimiamania46 | (~65804703@user/kimiamania) (Quit: PegeLinux) |
2023-11-25 09:46:11 +0100 | nate4 | (~nate@c-98-45-158-125.hsd1.ca.comcast.net) |
2023-11-25 09:47:09 +0100 | kimiamania46 | (~65804703@user/kimiamania) |
2023-11-25 09:47:25 +0100 | notzmv | (~zmv@user/notzmv) |
2023-11-25 09:50:55 +0100 | nate4 | (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
2023-11-25 09:51:50 +0100 | <tomsmeding> | "a box which hits the next's box's button when item flies out" |
2023-11-25 09:51:52 +0100 | <tomsmeding> | that's genius EvanR |
2023-11-25 09:52:20 +0100 | <tomsmeding> | but re box analogy, Cont? |
2023-11-25 09:52:35 +0100 | <tomsmeding> | or is that a 4-dimensional box |
2023-11-25 09:56:19 +0100 | mikess | (~sam@user/mikess) (Ping timeout: 255 seconds) |
2023-11-25 09:59:54 +0100 | Square | (~Square@user/square) (Ping timeout: 268 seconds) |
2023-11-25 10:01:19 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-11-25 10:03:46 +0100 | newsham | (~newsham@2603-800c-2c01-6825-6099-561e-33fd-e2ba.res6.spectrum.com) |
2023-11-25 10:07:23 +0100 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-11-25 10:12:56 +0100 | target_i | (~target_i@217.175.14.39) |
2023-11-25 10:13:59 +0100 | Simikando | (~Simikando@bband-dyn243.178-40-245.t-com.sk) |
2023-11-25 10:15:34 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-11-25 10:15:58 +0100 | Simikando | (~Simikando@bband-dyn243.178-40-245.t-com.sk) (Remote host closed the connection) |
2023-11-25 10:16:26 +0100 | Simikando | (~Simikando@bband-dyn243.178-40-245.t-com.sk) |
2023-11-25 10:17:27 +0100 | <newsham> | whats a good way to use an older haskell library such as https://hackage.haskell.org/package/reactive ? is it best to hack it out with ghcup and cabal, to try to get stack to sort it out? |
2023-11-25 10:19:50 +0100 | <Lycurgus> | trttd: migrate it urself |
2023-11-25 10:20:02 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:bece:7d67:e9b1:729c) |
2023-11-25 10:20:28 +0100 | <Lycurgus> | which prolly is pretty close to just recompiling |
2023-11-25 10:21:21 +0100 | <Lycurgus> | speaking generally, didn look at this one whose name indicates might be more problematic but the advice applies just as well |
2023-11-25 10:22:14 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
2023-11-25 10:22:27 +0100 | <newsham> | Stack will almost certainly fail with GHC below version 7.8, requested 6.12.2. Valiantly attempting to run anyway, but I know this is doomed. For more information |
2023-11-25 10:22:30 +0100 | <newsham> | heh. fun. |
2023-11-25 10:22:31 +0100 | <Lycurgus> | the pretentious moniker being the basis of suspicion, being like a whole deal like applicative or whatever |
2023-11-25 10:22:58 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds) |
2023-11-25 10:23:05 +0100 | <Lycurgus> | rather than a focused lib |
2023-11-25 10:23:23 +0100 | <newsham> | "migrate it yourself" meaning bring all the outdated deps up to be compat with modern base? |
2023-11-25 10:23:41 +0100 | <tomsmeding> | you can try to "just" compile it |
2023-11-25 10:23:43 +0100 | <tomsmeding> | and see what breaks |
2023-11-25 10:23:50 +0100 | <tomsmeding> | there is a non-zero chance that not a lot breaks |
2023-11-25 10:24:06 +0100 | <Lycurgus> | yeah was gonna say compile it doesn mean |
2023-11-25 10:24:17 +0100 | <Lycurgus> | present the sources the compiler and pray |
2023-11-25 10:24:30 +0100 | <tomsmeding> | cheapo way to do that is give cabal '--allow-newer', but if you want to make changes you're going to have to vendor the dependencies in (check out 'cabal get') |
2023-11-25 10:24:53 +0100 | <Lycurgus> | it means do stuff, compile for the target ghc making human like changes |
2023-11-25 10:26:47 +0100 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-11-25 10:29:11 +0100 | <Lycurgus> | *to the compiler |
2023-11-25 10:30:39 +0100 | shapr | (~user@2600:1700:c640:3100:7019:9e1f:e348:6db4) (Remote host closed the connection) |
2023-11-25 10:30:53 +0100 | shapr | (~user@2600:1700:c640:3100:63db:c397:c01d:c8bf) |
2023-11-25 10:32:19 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:bece:7d67:e9b1:729c) (Ping timeout: 246 seconds) |
2023-11-25 10:35:55 +0100 | tzh | (~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz) |
2023-11-25 10:38:37 +0100 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 255 seconds) |
2023-11-25 10:42:23 +0100 | <newsham> | if I put this in ./cabal.packages, it should prefer packages with PackageDir/PackageName.cabal over the ones downloaded, right? |
2023-11-25 10:42:23 +0100 | <newsham> | packages: ./*.cabal |
2023-11-25 10:42:24 +0100 | <newsham> | optional-packages: ./*/*.cabal |
2023-11-25 10:42:44 +0100 | <newsham> | it seems to still be building the version it fetched for one of the deps i'm trying to make edits on |
2023-11-25 10:53:15 +0100 | santiagopim | (~user@90.167.66.131) |
2023-11-25 10:59:53 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-11-25 11:06:18 +0100 | Fischmiep | (~Fischmiep@user/Fischmiep) (Quit: ZNC - https://znc.in) |
2023-11-25 11:08:45 +0100 | Simikando | (~Simikando@bband-dyn243.178-40-245.t-com.sk) (Ping timeout: 256 seconds) |
2023-11-25 11:09:12 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2023-11-25 11:09:19 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds) |
2023-11-25 11:10:22 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2023-11-25 11:20:00 +0100 | Guest35 | (~Guest35@2603-7000-4b42-1100-0000-0000-0000-0001.res6.spectrum.com) |
2023-11-25 11:20:07 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) (Ping timeout: 240 seconds) |
2023-11-25 11:20:27 +0100 | <Guest35> | ANy good suggestions to learn State Monad? I tried to implement it in a parser and I got stuck for hours |
2023-11-25 11:21:01 +0100 | <sshine> | yeah, use it for an interpreter. |
2023-11-25 11:21:58 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) |
2023-11-25 11:23:59 +0100 | <Guest35> | No, it is just a simple parser, but I wanted to know the previous information to parser the next one |
2023-11-25 11:25:12 +0100 | <sshine> | I'm suggesting you make an interpreter that makes use of a state monad. that way you don't have to deal with monadic parsers *and* state monads at the same time, since an interpreter can be arbitrarily simple. |
2023-11-25 11:25:56 +0100 | <Guest35> | I see, thanks. DO you suggest some material to get started? |
2023-11-25 11:27:11 +0100 | <sshine> | it's been quite a while since I last reviewed monad tutorials. |
2023-11-25 11:27:25 +0100 | xff0x | (~xff0x@2405:6580:b080:900:be86:cabb:8cd3:1ec3) (Ping timeout: 245 seconds) |
2023-11-25 11:27:32 +0100 | <newsham> | you can play with simple examples to build up an intuition. |
2023-11-25 11:27:34 +0100 | <newsham> | > runState (do { x <- get; put (x+3); modify (*5); return 9 }) 100 |
2023-11-25 11:27:36 +0100 | <lambdabot> | (9,515) |
2023-11-25 11:28:28 +0100 | <newsham> | starts with a state of 100, fetches it. adds 3 to it and stores it, then modifies it by multiplying by 5 (final state 515), and returns a value of 9. the tuple at the end of runState has the return value and the final state. |
2023-11-25 11:29:24 +0100 | xff0x | (~xff0x@2405:6580:b080:900:be86:cabb:8cd3:1ec3) |
2023-11-25 11:29:47 +0100 | <newsham> | > execState (do { x <- get; put (x+3); modify (*5); return 9 }) 100 |
2023-11-25 11:29:49 +0100 | <lambdabot> | 515 |
2023-11-25 11:29:56 +0100 | <newsham> | > evalState (do { x <- get; put (x+3); modify (*5); return 9 }) 100 |
2023-11-25 11:29:57 +0100 | <lambdabot> | 9 |
2023-11-25 11:31:53 +0100 | <newsham> | > execState (forM_ [1,2,3,4,5] (\x -> modify (*x))) 1 |
2023-11-25 11:31:55 +0100 | <lambdabot> | 120 |
2023-11-25 11:32:22 +0100 | <newsham> | iterate over a list and multiply each number in turn into the accumulator, starting with 1, to compute 1*1*2*3*4*5 |
2023-11-25 11:33:09 +0100 | <Guest35> | cool |
2023-11-25 11:35:51 +0100 | bramhaag7 | (~bramhaag@endeavour.server.bramh.me) (Quit: Ping timeout (120 seconds)) |
2023-11-25 11:36:04 +0100 | bramhaag7 | (~bramhaag@endeavour.server.bramh.me) |
2023-11-25 11:37:43 +0100 | <newsham> | in a parser you'd probably have your state be your input sequence of characters or tokens, and you'd use get to peek at the first element, or get/put to get the first element and consume it, writing back the unconsumed part. and then your return values for your various functions would carry the data your parser is generating. ie a "nextToken" |
2023-11-25 11:37:44 +0100 | <newsham> | function might be `State [Char] (Maybe Char)` which returns the next character after removing it from the state. |
2023-11-25 11:38:44 +0100 | Pickchea | (~private@user/pickchea) |
2023-11-25 11:41:49 +0100 | <Guest35> | I tried |
2023-11-25 11:41:49 +0100 | <Guest35> | data ParserState = ParserState |
2023-11-25 11:41:50 +0100 | <Guest35> | { currentPitchClass :: PitchClass |
2023-11-25 11:41:50 +0100 | <Guest35> | , currentOctave :: Octave |
2023-11-25 11:41:51 +0100 | <Guest35> | } |
2023-11-25 11:41:51 +0100 | <Guest35> | type PitchParser a = StateT ParserState Parser a |
2023-11-25 11:42:11 +0100 | mechap | (~mechap@user/mechap) (Quit: WeeChat 4.1.1) |
2023-11-25 11:42:15 +0100 | <Guest35> | I will just study it more before trying again |
2023-11-25 11:42:55 +0100 | <newsham> | that looks like something you'd want for a return value, not for your state. if you're parsing strings, the state would probably be a string |
2023-11-25 11:43:55 +0100 | <Guest35> | The parser is working without this feature, so I was adapting what I got before |
2023-11-25 11:44:50 +0100 | <Guest35> | https://paste.tomsmeding.com/AiSh6tQC |
2023-11-25 11:48:07 +0100 | <Guest35> | if next token has no octave, it should repeat last value., that was the idea |
2023-11-25 11:49:01 +0100 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
2023-11-25 11:52:14 +0100 | <newsham> | so for example you want to change `pitchParser :: Parser Pitch` to contain the state of the last octave, and if you cant parse an octave, use the previously parsed one instead |
2023-11-25 11:53:01 +0100 | <Guest35> | if there is no , ot |
2023-11-25 11:53:21 +0100 | <Guest35> | no , or ' characters, then repeat last octave value |
2023-11-25 11:54:27 +0100 | <Guest35> | so input can be more clear and concise |
2023-11-25 11:55:05 +0100 | <Guest35> | that's LilyPond syntax, btw. nothing new |
2023-11-25 11:56:13 +0100 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 276 seconds) |
2023-11-25 11:57:51 +0100 | sawilagar | (~sawilagar@user/sawilagar) |
2023-11-25 11:59:23 +0100 | <newsham> | its been a long time since i used StateT, but I think you had it right above... you'd modify your pitchParser to be a StateT that can store your octave, and test for parse failure on those characters, and on failure fetch the octave from state, and on success, put the octave into the state. |
2023-11-25 12:02:50 +0100 | <Guest35> | Thanks my man. this forum is great. I'll see how it goes now |
2023-11-25 12:04:07 +0100 | <tomsmeding> | newsham: re your cabal.project question: try being explicit and writing 'packages: . PackageDir1 PackageDir2' (no need to point to the .cabal files, just the directory is sufficient) |
2023-11-25 12:04:34 +0100 | <tomsmeding> | that has always worked for me (except when we're talking about build-tool dependencies, which I hope you won't have to deal with) |
2023-11-25 12:07:33 +0100 | Guest35 | (~Guest35@2603-7000-4b42-1100-0000-0000-0000-0001.res6.spectrum.com) (Quit: Client closed) |
2023-11-25 12:10:50 +0100 | thyriaen | (~thyriaen@46.211.123.149) |
2023-11-25 12:11:14 +0100 | <thyriaen> | i have a config file with two versions - one for my laptop and one for my desktop |
2023-11-25 12:11:15 +0100 | <thyriaen> | they are almost identical and i want to keep it all in one file -- and basically just flip one value at the top to choose which version i want -- what is the best practise for this ? |
2023-11-25 12:12:31 +0100 | <newsham> | oh, parsec library already has a mechanism for user state. you dont need to use StateT |
2023-11-25 12:13:55 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-11-25 12:15:23 +0100 | <ncf> | thyriaen: what does this have to do with haskell? |
2023-11-25 12:18:14 +0100 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2023-11-25 12:18:18 +0100 | thyriaen_ | (~thyriaen@46.211.123.245) |
2023-11-25 12:19:46 +0100 | thyriaen_ | (~thyriaen@46.211.123.245) (Read error: Connection reset by peer) |
2023-11-25 12:21:06 +0100 | thyriaen | (~thyriaen@46.211.123.149) (Ping timeout: 260 seconds) |
2023-11-25 12:24:26 +0100 | thyriaen | (~thyriaen@46.211.123.245) |
2023-11-25 12:28:03 +0100 | thyriaen | (~thyriaen@46.211.123.245) (Remote host closed the connection) |
2023-11-25 12:28:26 +0100 | thyriaen | (~thyriaen@46.211.123.245) |
2023-11-25 12:28:34 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:c5b:89b5:4817:f400) |
2023-11-25 12:31:44 +0100 | Simikando | (~Simikando@bband-dyn243.178-40-245.t-com.sk) |
2023-11-25 12:35:36 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-11-25 12:39:22 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving) |
2023-11-25 12:40:17 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:c5b:89b5:4817:f400) (Ping timeout: 260 seconds) |
2023-11-25 12:40:20 +0100 | Simikando | (~Simikando@bband-dyn243.178-40-245.t-com.sk) (Ping timeout: 252 seconds) |
2023-11-25 12:42:07 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2023-11-25 12:44:28 +0100 | thyriaen | (~thyriaen@46.211.123.245) (Remote host closed the connection) |
2023-11-25 12:45:11 +0100 | thyriaen | (~thyriaen@46.211.123.245) |
2023-11-25 12:47:34 +0100 | Simikando | (~Simikando@bband-dyn243.178-40-245.t-com.sk) |
2023-11-25 12:49:48 +0100 | thyriaen | (~thyriaen@46.211.123.245) (Remote host closed the connection) |
2023-11-25 12:50:23 +0100 | thyriaen | (~thyriaen@46.211.123.245) |
2023-11-25 12:53:09 +0100 | newsham | (~newsham@2603-800c-2c01-6825-6099-561e-33fd-e2ba.res6.spectrum.com) (Quit: Client closed) |
2023-11-25 12:54:00 +0100 | thyriaen | (~thyriaen@46.211.123.245) (Client Quit) |
2023-11-25 12:54:46 +0100 | pandry | (~Pandry@93-41-34-64.ip79.fastwebnet.it) |
2023-11-25 12:57:04 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2023-11-25 12:58:53 +0100 | newsham | (~newsham@2603-800c-2c01-6825-6099-561e-33fd-e2ba.res6.spectrum.com) |
2023-11-25 13:01:12 +0100 | Simikando | (~Simikando@bband-dyn243.178-40-245.t-com.sk) (Ping timeout: 268 seconds) |
2023-11-25 13:03:21 +0100 | euleritian | (~euleritia@dynamic-046-114-203-031.46.114.pool.telefonica.de) (Ping timeout: 256 seconds) |
2023-11-25 13:04:00 +0100 | euleritian | (~euleritia@dynamic-046-114-202-213.46.114.pool.telefonica.de) |
2023-11-25 13:04:27 +0100 | rosco | (~rosco@175.136.157.149) |
2023-11-25 13:10:35 +0100 | newsham | (~newsham@2603-800c-2c01-6825-6099-561e-33fd-e2ba.res6.spectrum.com) (Quit: Client closed) |
2023-11-25 13:12:34 +0100 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.1.1) |
2023-11-25 13:18:25 +0100 | turlando | (~turlando@user/turlando) () |
2023-11-25 13:18:53 +0100 | newsham | (~newsham@2603-800c-2c01-6825-6099-561e-33fd-e2ba.res6.spectrum.com) |
2023-11-25 13:20:32 +0100 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-11-25 13:20:55 +0100 | gmg | (~user@user/gehmehgeh) (Ping timeout: 240 seconds) |
2023-11-25 13:21:34 +0100 | __monty__ | (~toonn@user/toonn) |
2023-11-25 13:21:48 +0100 | gmg | (~user@user/gehmehgeh) |
2023-11-25 13:26:17 +0100 | Fischmiep | (~Fischmiep@user/Fischmiep) |
2023-11-25 13:27:21 +0100 | shapr | (~user@2600:1700:c640:3100:63db:c397:c01d:c8bf) (Remote host closed the connection) |
2023-11-25 13:27:35 +0100 | shapr | (~user@2600:1700:c640:3100:b8d1:3f0a:923e:6c23) |
2023-11-25 13:27:46 +0100 | ht_ | (~Thunderbi@194.110.115.58) |
2023-11-25 13:28:07 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-11-25 13:29:00 +0100 | turlando | (~turlando@user/turlando) |
2023-11-25 13:29:17 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Ping timeout: 252 seconds) |
2023-11-25 13:29:18 +0100 | ht_ | _ht |
2023-11-25 13:38:46 +0100 | Fischmiep | (~Fischmiep@user/Fischmiep) (Quit: ZNC - https://znc.in) |
2023-11-25 13:39:42 +0100 | vilya | (~vilya@user/vilya) (Quit: k-lined) |
2023-11-25 13:47:41 +0100 | nate4 | (~nate@c-98-45-158-125.hsd1.ca.comcast.net) |
2023-11-25 13:51:13 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2023-11-25 13:52:20 +0100 | newsham | (~newsham@2603-800c-2c01-6825-6099-561e-33fd-e2ba.res6.spectrum.com) (Quit: Client closed) |
2023-11-25 13:52:23 +0100 | pandry | (~Pandry@93-41-34-64.ip79.fastwebnet.it) (Ping timeout: 268 seconds) |
2023-11-25 13:52:34 +0100 | nate4 | (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
2023-11-25 14:01:29 +0100 | Simikando | (~Simikando@bband-dyn243.178-40-245.t-com.sk) |
2023-11-25 14:05:33 +0100 | Fischmiep | (~Fischmiep@user/Fischmiep) |
2023-11-25 14:08:20 +0100 | Simikando | (~Simikando@bband-dyn243.178-40-245.t-com.sk) (Remote host closed the connection) |
2023-11-25 14:11:29 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2023-11-25 14:28:56 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2023-11-25 14:28:58 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-11-25 14:29:16 +0100 | pandry | (~Pandry@93-41-34-64.ip79.fastwebnet.it) |
2023-11-25 14:33:27 +0100 | kimiamania46 | (~65804703@user/kimiamania) (Quit: Ping timeout (120 seconds)) |
2023-11-25 14:33:50 +0100 | kimiamania46 | (~65804703@user/kimiamania) |
2023-11-25 14:41:34 +0100 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 260 seconds) |
2023-11-25 14:51:03 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
2023-11-25 14:54:14 +0100 | awth13 | (~awth13@user/awth13) |
2023-11-25 14:54:47 +0100 | Fischmiep | (~Fischmiep@user/Fischmiep) (Quit: ZNC - https://znc.in) |
2023-11-25 14:57:01 +0100 | sawilagar | (~sawilagar@user/sawilagar) |
2023-11-25 15:06:34 +0100 | Xyloes | (~wyx@2400:dd01:103a:1012:5923:33ce:7857:fc04) (Quit: Konversation terminated!) |
2023-11-25 15:07:44 +0100 | AkshayMankar[m] | (~axemanpub@85.88.23.162) (Remote host closed the connection) |
2023-11-25 15:22:04 +0100 | rosco | (~rosco@175.136.157.149) (Quit: Lost terminal) |
2023-11-25 15:29:48 +0100 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-11-25 15:39:06 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 256 seconds) |
2023-11-25 15:46:58 +0100 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 276 seconds) |
2023-11-25 15:47:31 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-11-25 15:58:00 +0100 | notzmv | (~zmv@user/notzmv) |
2023-11-25 15:58:25 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
2023-11-25 16:01:24 +0100 | ht_ | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-11-25 16:03:04 +0100 | _ht | (~Thunderbi@194.110.115.58) (Ping timeout: 255 seconds) |
2023-11-25 16:03:04 +0100 | ht_ | _ht |
2023-11-25 16:11:47 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-11-25 16:21:05 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-11-25 16:24:51 +0100 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-11-25 16:45:28 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 276 seconds) |
2023-11-25 16:47:38 +0100 | wroathe | (~wroathe@50.205.197.50) |
2023-11-25 16:47:38 +0100 | wroathe | (~wroathe@50.205.197.50) (Changing host) |
2023-11-25 16:47:38 +0100 | wroathe | (~wroathe@user/wroathe) |
2023-11-25 16:53:48 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-11-25 16:58:46 +0100 | GoldsteinQ | (~goldstein@goldstein.rs) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-11-25 17:01:59 +0100 | GoldsteinQ | (~goldstein@goldstein.rs) |
2023-11-25 17:03:01 +0100 | CiaoSen | (~Jura@2a05:5800:2c3:a900:2a3a:4dff:fe84:dbd5) |
2023-11-25 17:06:33 +0100 | mikess | (~sam@S010664777dafd303.cg.shawcable.net) |
2023-11-25 17:20:40 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:243c:756e:ec31:b054) |
2023-11-25 17:32:57 +0100 | YoungFrog | (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Ping timeout: 256 seconds) |
2023-11-25 17:36:33 +0100 | danza | (~francesco@151.47.230.206) |
2023-11-25 17:37:08 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-11-25 17:37:32 +0100 | YoungFrog | (~youngfrog@2a02:a03f:ca07:f900:22b0:537b:2b94:33f1) |
2023-11-25 17:44:32 +0100 | shapr | (~user@2600:1700:c640:3100:b8d1:3f0a:923e:6c23) (Remote host closed the connection) |
2023-11-25 17:44:45 +0100 | shapr | (~user@2600:1700:c640:3100:f59d:1096:1181:a47f) |
2023-11-25 17:45:48 +0100 | pyooque | (~puke@user/puke) |
2023-11-25 17:45:48 +0100 | puke | (~puke@user/puke) (Killed (mercury.libera.chat (Nickname regained by services))) |
2023-11-25 17:45:48 +0100 | pyooque | puke |
2023-11-25 17:49:11 +0100 | nate4 | (~nate@c-98-45-158-125.hsd1.ca.comcast.net) |
2023-11-25 17:52:39 +0100 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2023-11-25 17:54:18 +0100 | nate4 | (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
2023-11-25 17:55:34 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 255 seconds) |
2023-11-25 17:55:49 +0100 | <John_Ivan> | hi, if anyone remembers my situation where I encountered 100% cpu process on a succesfully compiled and linked haskell binary on windows |
2023-11-25 17:55:57 +0100 | <John_Ivan> | I found the culprit. but I don't understand it. |
2023-11-25 17:56:11 +0100 | <John_Ivan> | it's my wrapper for "setCurrentDirectory" from System.Directory |
2023-11-25 17:56:17 +0100 | <John_Ivan> | calling this on it's own runs fine. |
2023-11-25 17:56:25 +0100 | <John_Ivan> | however calling... |
2023-11-25 17:56:40 +0100 | <John_Ivan> | wrapper_SetWorkingDirectory :: String -> IO () |
2023-11-25 17:56:40 +0100 | <John_Ivan> | wrapper_SetWorkingDirectory p = do setCurrentDirectory p |
2023-11-25 17:56:48 +0100 | <John_Ivan> | gets stuck in an endless loop |
2023-11-25 17:56:54 +0100 | <John_Ivan> | anyone have any ideas why? |
2023-11-25 17:57:52 +0100 | <geekosaur> | how are you wrapping it? |
2023-11-25 17:58:03 +0100 | <John_Ivan> | that there is the function itself. |
2023-11-25 17:58:05 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2023-11-25 17:58:26 +0100 | connrs | (~connrs@user/connrs) (Ping timeout: 268 seconds) |
2023-11-25 17:58:46 +0100 | <John_Ivan> | geekosaur, maybe try compiling that exactly yourself and see it hanging on your own machine I guess? |
2023-11-25 17:59:05 +0100 | <geekosaur> | I mean, are you using something like CPP to change calls to `setCurrentDirectory` to be your `wrapper_setWorkingDirectory`? |
2023-11-25 17:59:22 +0100 | <John_Ivan> | geekosaur, oh no. this is just me calling it inside a haskell main. |
2023-11-25 17:59:24 +0100 | <geekosaur> | because if you are, you'll need to make sure it's not doing that in the module where the wrapper is defined |
2023-11-25 17:59:50 +0100 | <John_Ivan> | geekosaur, 2 files. .hs files. one main.hs and one wrapper.hs |
2023-11-25 18:05:02 +0100 | <haskellbridge> | 14<mauke> Show the exact code |
2023-11-25 18:05:43 +0100 | <geekosaur> | works here. https://paste.tomsmeding.com/COdcBgvv |
2023-11-25 18:07:41 +0100 | <John_Ivan> | haskellbridge, geekosaur - https://pastebin.com/VSJNXmS0 |
2023-11-25 18:07:49 +0100 | wroathe | (~wroathe@user/wroathe) |
2023-11-25 18:08:39 +0100 | <ski> | s/haskellbridge/mauke/ |
2023-11-25 18:09:04 +0100 | <haskellbridge> | 14<mauke> What's in My_Wrapper.hs? |
2023-11-25 18:09:14 +0100 | AlexZenon | (~alzenon@178.34.163.165) (Ping timeout: 252 seconds) |
2023-11-25 18:09:22 +0100 | <geekosaur> | it's in the paste |
2023-11-25 18:09:32 +0100 | <geekosaur> | I wish they'd used a sane pastebin |
2023-11-25 18:09:32 +0100 | <c_wraith> | Well, no it isn't |
2023-11-25 18:09:34 +0100 | <haskellbridge> | 14<mauke> Oh |
2023-11-25 18:09:52 +0100 | <c_wraith> | you have a module-file name mismatch |
2023-11-25 18:09:55 +0100 | <monochrom> | But the paste says "module Wrapper" so, maybe, actually this is a case of wrong file? |
2023-11-25 18:09:55 +0100 | <haskellbridge> | 14<mauke> But it says module Wrapper |
2023-11-25 18:09:57 +0100 | <c_wraith> | You're not running the code |
2023-11-25 18:10:01 +0100 | <John_Ivan> | c_wraith, I do. that's a typo. |
2023-11-25 18:10:06 +0100 | <John_Ivan> | sorry. my bad. |
2023-11-25 18:10:18 +0100 | <John_Ivan> | I'm starting to suspect it's Windows at fault here tbh. |
2023-11-25 18:10:27 +0100 | <c_wraith> | that doesn't even make sense |
2023-11-25 18:10:49 +0100 | <c_wraith> | The problem is almost certainly that you're not running the code you think you are |
2023-11-25 18:10:51 +0100 | <monochrom> | Or you have a My_Wrapper lying around and it completes the infinite loop. |
2023-11-25 18:10:57 +0100 | <haskellbridge> | 14<mauke> What do you mean, typo? Is this the code you're running or not? |
2023-11-25 18:11:03 +0100 | <John_Ivan> | maybe I should photograph the full code and the console getting stuck |
2023-11-25 18:11:04 +0100 | <c_wraith> | So telling us what code you think you're running doesn't matter |
2023-11-25 18:11:05 +0100 | <John_Ivan> | one moment |
2023-11-25 18:11:16 +0100 | <c_wraith> | Tell us what files are actually there and their contents |
2023-11-25 18:11:38 +0100 | <John_Ivan> | yeah, will include everything in the screenshot |
2023-11-25 18:11:46 +0100 | <ski> | (possibly after renaming files, and retrying to make sure you still have the issue) |
2023-11-25 18:12:04 +0100 | <monochrom> | Will I need OCR to reproduce it on my computer? |
2023-11-25 18:12:14 +0100 | <ski> | (.. probably ?) |
2023-11-25 18:12:51 +0100 | <monochrom> | (That will be my standard reply whenever students send me screenshots instead of code files.) |
2023-11-25 18:13:18 +0100 | <haskellbridge> | 14<mauke> Will I need OCD? |
2023-11-25 18:13:27 +0100 | <monochrom> | (I am not a social media. Why send me screenshots to "prove" it? Send me code files so I can run and try things.) |
2023-11-25 18:13:32 +0100 | <geekosaur> | used to be you could do text copy from the application menu (click on the small app icon in the titlebar) |
2023-11-25 18:13:38 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds) |
2023-11-25 18:13:57 +0100 | haskellbridge | 14<mauke> sends some code in Piet |
2023-11-25 18:14:13 +0100 | <ski> | Mondrian ? |
2023-11-25 18:14:27 +0100 | <monochrom> | :( |
2023-11-25 18:14:32 +0100 | <monochrom> | I mean :) |
2023-11-25 18:14:59 +0100 | <haskellbridge> | 14<mauke> Yes, just like Haskell and Curry are the same language |
2023-11-25 18:15:16 +0100 | <ski> | don't forget Escher and Clean |
2023-11-25 18:17:06 +0100 | connrs | (~connrs@user/connrs) |
2023-11-25 18:17:27 +0100 | AlexZenon | (~alzenon@178.34.163.165) |
2023-11-25 18:17:50 +0100 | ski | idly ponders compiling to Piet |
2023-11-25 18:19:01 +0100 | <haskellbridge> | 14<mauke> You would need some kind of ... graphical calculator |
2023-11-25 18:20:41 +0100 | CiaoSen | (~Jura@2a05:5800:2c3:a900:2a3a:4dff:fe84:dbd5) (Ping timeout: 256 seconds) |
2023-11-25 18:24:01 +0100 | <John_Ivan> | sigh. |
2023-11-25 18:24:05 +0100 | <John_Ivan> | and it now runs fine. |
2023-11-25 18:24:29 +0100 | <John_Ivan> | something cursed is going on |
2023-11-25 18:26:10 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 255 seconds) |
2023-11-25 18:26:22 +0100 | <John_Ivan> | REALLY CURSED. |
2023-11-25 18:27:27 +0100 | <John_Ivan> | geekosaur, is it possible that other functions inside a module will affect an independent function in the same module? |
2023-11-25 18:27:37 +0100 | <John_Ivan> | because that's the only thing I can think of in my scenario |
2023-11-25 18:29:45 +0100 | wroathe | (~wroathe@50.205.197.50) |
2023-11-25 18:29:46 +0100 | wroathe | (~wroathe@50.205.197.50) (Changing host) |
2023-11-25 18:29:46 +0100 | wroathe | (~wroathe@user/wroathe) |
2023-11-25 18:29:59 +0100 | <geekosaur> | Sorry I'm now on the way to the store, someone else will have to help you |
2023-11-25 18:30:02 +0100 | <ski> | it would appear more likely that you used the wrong code, or something like that |
2023-11-25 18:30:05 +0100 | <monochrom> | You can easily test that hypothesis, you know. |
2023-11-25 18:30:08 +0100 | <John_Ivan> | geekosaur, no worries |
2023-11-25 18:30:19 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 256 seconds) |
2023-11-25 18:30:44 +0100 | <John_Ivan> | sigh. let me try something abnormal. |
2023-11-25 18:32:23 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2023-11-25 18:32:50 +0100 | <John_Ivan> | monochrom, it's this scenario. |
2023-11-25 18:33:09 +0100 | <John_Ivan> | "other functions that are independent from my tested functions, are disrupting my entire module" |
2023-11-25 18:33:15 +0100 | <John_Ivan> | sigh. now to find out which. |
2023-11-25 18:33:26 +0100 | <John_Ivan> | just isolated that issue now. |
2023-11-25 18:34:10 +0100 | ski | imagines `wrapper_SetWorkingDirectory' has other defining clauses |
2023-11-25 18:34:50 +0100 | <monochrom> | I disbelieve in starting with 10000 lines of code representent 2000 moving parts and trying to eliminate one moving part at a time. Clearly. |
2023-11-25 18:36:10 +0100 | <monochrom> | I believe in forming a hypothesis like "adding an unrelated function causes an infinite loop" and testing it with independently written 5 lines of code. (It will be refuted.) |
2023-11-25 18:36:36 +0100 | <John_Ivan> | monochrom, ::shrug. also, I think I found what's causing the issue. I think. |
2023-11-25 18:37:10 +0100 | <John_Ivan> | monochrom, sigh.............. |
2023-11-25 18:37:12 +0100 | <monochrom> | IOW, I disbelieve in the hacking method, I believe in the scientific method. |
2023-11-25 18:37:32 +0100 | <John_Ivan> | monochrom, it's fine guys. i found my problem. |
2023-11-25 18:37:32 +0100 | <ski> | perhaps the appropriate response would be to write some `Gen'erators for Haskell code, making them generate a bunch on unrelated functions, and test that, say, 8128 times ? |
2023-11-25 18:38:01 +0100 | <John_Ivan> | this is what I get for naming functions similar to each other |
2023-11-25 18:38:06 +0100 | <ski> | for posterity's sake, what was it ? |
2023-11-25 18:38:13 +0100 | <ski> | oic |
2023-11-25 18:38:33 +0100 | <John_Ivan> | ski, it was not setCurrentDirectory |
2023-11-25 18:38:34 +0100 | <John_Ivan> | it was |
2023-11-25 18:38:35 +0100 | <John_Ivan> | wrapper_PrintLn :: String -> IO () |
2023-11-25 18:38:35 +0100 | <John_Ivan> | wrapper_PrintLn s = do wrapper_PrintLn s |
2023-11-25 18:38:44 +0100 | John_Ivan | slaps himself |
2023-11-25 18:39:00 +0100 | <ski> | well, now you've isolated the issue |
2023-11-25 18:39:12 +0100 | <John_Ivan> | it's fixed now. everything is working fine |
2023-11-25 18:39:14 +0100 | <ski> | time to maybe think of something you can learn from this, then move on ? |
2023-11-25 18:39:30 +0100 | <John_Ivan> | the only thing I can learn from this is - don't name wrappers similar to each other |
2023-11-25 18:39:31 +0100 | <John_Ivan> | because |
2023-11-25 18:39:44 +0100 | <John_Ivan> | I have wrapper_Print wrapper_PrintLn wrapperPrintLine etc |
2023-11-25 18:39:54 +0100 | <John_Ivan> | and I accidentally made wrapperPrintLn call itself |
2023-11-25 18:40:01 +0100 | <John_Ivan> | when I wanted it to call wrapperPrintLine |
2023-11-25 18:40:07 +0100 | <ski> | yea .. generally i don't like those kinds of names (although i'll use them, occasionally) |
2023-11-25 18:40:36 +0100 | <John_Ivan> | and because I was using a mixture of putStrLn to test my main.hs |
2023-11-25 18:40:49 +0100 | <John_Ivan> | I thought the problem was setCurrentDirectory |
2023-11-25 18:40:53 +0100 | <ski> | e.g. instead of `reverseAux', i prefer `reverseAppend', suggesting that `reverseAppend xs ys' is intended to mean the same as `reverse xs ++ ys' |
2023-11-25 18:41:10 +0100 | <ski> | (although i imagine your case was not an accumulating version) |
2023-11-25 18:41:20 +0100 | <monochrom> | That is so many levels of delegations and procrastinations and bureacracy that I'm think maybe you should ditch programming and switch to politics or management. |
2023-11-25 18:41:54 +0100 | <ski> | "I thought the problem was" -- this is known as "XY" |
2023-11-25 18:43:23 +0100 | <monochrom> | Well, one doesn't pre-know it's an XY problem. This is why all the more important to use the scientific method to check your hypotheses. |
2023-11-25 18:43:32 +0100 | <ski> | John_Ivan : generally, "bisection" is a good apprach to try to isolate problems like this. remove (or comment out, &c.) half the code, see if the problem persists. repeat |
2023-11-25 18:43:46 +0100 | <John_Ivan> | ski, that's more or less what I did. |
2023-11-25 18:43:55 +0100 | <John_Ivan> | but that's a very expensive way of testing |
2023-11-25 18:43:55 +0100 | <monochrom> | And I am not the only one saying it. Other programmers say "minimal reproducible example" too. |
2023-11-25 18:44:16 +0100 | <ski> | also, a reasonable distrust for oneself can also help |
2023-11-25 18:45:05 +0100 | <ski> | sometimes, you have a clear idea which section might be causing a problem. but sometimes, its more like a guess, which you're not as confident in |
2023-11-25 18:45:47 +0100 | <ski> | "very expensive" -- more expensive is to go over all the code, though |
2023-11-25 18:46:59 +0100 | <John_Ivan> | ski, anyway, my main issue - I need to make some functions more distinctive. |
2023-11-25 18:47:09 +0100 | <John_Ivan> | the naming is what led me to this |
2023-11-25 18:47:16 +0100 | <John_Ivan> | and possibly |
2023-11-25 18:47:34 +0100 | <John_Ivan> | the auto-tabber which selects functions for me. but I can't blame that. |
2023-11-25 18:47:38 +0100 | <ski> | hm, Skalpel does the "minimal reproducible example" thing, in a sense. it reduces the type error to a set of locations, all of which contribute to the problem, and which includes all the direct contributors. at least one of those must be changed, in order to fix the problem. of course, that could in turn cause needing to change locations that are "causally" connected to that location |
2023-11-25 18:47:48 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 256 seconds) |
2023-11-25 18:48:40 +0100 | <ski> | (so, it's a bit like finding all minima, rather that just finding one mimimum. instead of only reporting the location where the mismatch was found (which might not be where the logical error was made, in terms of the problem domain), all directly contributing locations are found) |
2023-11-25 18:48:44 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:243c:756e:ec31:b054) (Ping timeout: 252 seconds) |
2023-11-25 18:48:59 +0100 | <ski> | John_Ivan : sounds like reasonable takeaways |
2023-11-25 18:50:49 +0100 | <John_Ivan> | ski, what I really need |
2023-11-25 18:50:51 +0100 | <John_Ivan> | is a debugger |
2023-11-25 18:50:57 +0100 | <John_Ivan> | ski, does haskell have one? |
2023-11-25 18:51:29 +0100 | fendor | (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) (Remote host closed the connection) |
2023-11-25 18:52:58 +0100 | fendor | (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) |
2023-11-25 18:53:19 +0100 | <ski> | "The GHCi Debugger" <https://downloads.haskell.org/ghc/latest/docs/users_guide/ghci.html#the-ghci-debugger> |
2023-11-25 18:53:38 +0100 | <ski> | also `Debug.Trace', for simpler checks |
2023-11-25 18:53:39 +0100 | <John_Ivan> | thanks |
2023-11-25 18:53:41 +0100 | <ski> | and "Hood" |
2023-11-25 18:54:13 +0100 | tzh | (~tzh@c-71-193-181-0.hsd1.or.comcast.net) |
2023-11-25 18:56:42 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-11-25 19:00:48 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-11-25 19:02:02 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2023-11-25 19:08:51 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2023-11-25 19:08:56 +0100 | qqq | (~qqq@92.43.167.61) |
2023-11-25 19:13:04 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2d66:d5f4:1244:77d) (Remote host closed the connection) |
2023-11-25 19:14:05 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2d66:d5f4:1244:77d) |
2023-11-25 19:15:39 +0100 | <haskellbridge> | 06<sm> and "breakpoint" package |
2023-11-25 19:18:26 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 252 seconds) |
2023-11-25 19:27:16 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-11-25 19:27:40 +0100 | danza | (~francesco@151.47.230.206) (Read error: Connection reset by peer) |
2023-11-25 19:28:38 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2023-11-25 19:30:01 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2023-11-25 19:42:50 +0100 | steew | (~steew@user/steew) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-11-25 19:44:05 +0100 | danza | (~francesco@151.43.239.173) |
2023-11-25 19:49:05 +0100 | danza | (~francesco@151.43.239.173) (Ping timeout: 245 seconds) |
2023-11-25 19:58:01 +0100 | <EvanR> | is "Hood" a reference to looking under the hood, and by extension your compiled code is an engine and your runtime values are fluids, fuel mix, exhaust gases etc xD |
2023-11-25 19:59:00 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5) |
2023-11-25 20:00:01 +0100 | <ski> | @hackage hood |
2023-11-25 20:00:01 +0100 | <lambdabot> | https://hackage.haskell.org/package/hood |
2023-11-25 20:00:02 +0100 | <ski> | @hackage hood2 |
2023-11-25 20:00:02 +0100 | <lambdabot> | https://hackage.haskell.org/package/hood2 |
2023-11-25 20:00:05 +0100 | <ski> | @hackage GHood |
2023-11-25 20:00:06 +0100 | <lambdabot> | https://hackage.haskell.org/package/GHood |
2023-11-25 20:00:57 +0100 | <ski> | i especially like how it can record observations on functions |
2023-11-25 20:01:28 +0100 | Hobbyboy | (Hobbyboy@hobbyboy.co.uk) (Read error: Connection reset by peer) |
2023-11-25 20:02:02 +0100 | <EvanR> | graphical front end for hood, oh, graphics. Let's see the dependencies. `process' xD |
2023-11-25 20:04:38 +0100 | Hobbyboy | (Hobbyboy@hobbyboy.co.uk) |
2023-11-25 20:06:12 +0100 | troydm | (~troydm@user/troydm) |
2023-11-25 20:14:28 +0100 | <geekosaur> | also a reference to "hat" which was the first tool for doing that |
2023-11-25 20:14:49 +0100 | <EvanR> | oh |
2023-11-25 20:16:45 +0100 | <geekosaur> | ghc-vis is another useful tool |
2023-11-25 20:16:50 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2023-11-25 20:17:08 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2023-11-25 20:18:02 +0100 | steew | (~steew@user/steew) |
2023-11-25 20:18:23 +0100 | Jackneill | (~Jackneill@20014C4E1E12050046FAF6BD904E58EB.dsl.pool.telekom.hu) |
2023-11-25 20:26:13 +0100 | shapr | (~user@2600:1700:c640:3100:f59d:1096:1181:a47f) (Remote host closed the connection) |
2023-11-25 20:26:27 +0100 | shapr | (~user@2600:1700:c640:3100:650b:3bbc:5994:63da) |
2023-11-25 20:27:14 +0100 | Square | (~Square@user/square) |
2023-11-25 20:37:30 +0100 | oo_miguel | (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) |
2023-11-25 20:38:02 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2d66:d5f4:1244:77d) (Remote host closed the connection) |
2023-11-25 20:38:06 +0100 | <hammond> | so whats this idea behind immutable data objects and pure functional programming languages. |
2023-11-25 20:38:42 +0100 | <hammond> | why is it like that. scheme has it. I saw somewhere that if i read . |
2023-11-25 20:38:55 +0100 | notzmv | (~zmv@user/notzmv) |
2023-11-25 20:38:56 +0100 | <hammond> | SICP i will understand. |
2023-11-25 20:39:11 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-11-25 20:41:39 +0100 | <EvanR> | immutable data is popular in non functional languages too, so the ideas are independent but complementary |
2023-11-25 20:41:48 +0100 | <EvanR> | e.g. strings in javascript |
2023-11-25 20:43:38 +0100 | <EvanR> | taken to an extreme you can make a database immutable by tagging all updates with a timestamp (getting everyone to agree on the same timebase is an exercise for the reader) |
2023-11-25 20:45:09 +0100 | jmpxor | (~jmpxor@d149-67-225-73.try.wideopenwest.com) |
2023-11-25 20:47:50 +0100 | <hammond> | so it has todo with data and code duality? data is code and code is data. |
2023-11-25 21:00:28 +0100 | <EvanR> | um |
2023-11-25 21:00:52 +0100 | <EvanR> | code can certainly be represented as data |
2023-11-25 21:01:21 +0100 | <EvanR> | and an interpreter can work with that data to do the interpreting |
2023-11-25 21:02:55 +0100 | <EvanR> | but when I see code on the page or on the screen, I feel like this is beyond data. Like the difference between user-perceived characters and unicode characters |
2023-11-25 21:03:06 +0100 | Pickchea | (~private@user/pickchea) |
2023-11-25 21:08:18 +0100 | xigua_ | (~xigua@user/xigua) |
2023-11-25 21:08:41 +0100 | <EvanR> | that lisp code written looks identical to lisp data written was confusing to me for a long time, but the above distinction is nonetheless possible and imo helpful when dealing with lisp |
2023-11-25 21:09:13 +0100 | <mauke> | hammond: if data is immutable, you can't fuck it up accidentally |
2023-11-25 21:10:02 +0100 | xigua | (~xigua@user/xigua) (Ping timeout: 256 seconds) |
2023-11-25 21:10:02 +0100 | xigua_ | xigua |
2023-11-25 21:10:17 +0100 | <EvanR> | immutable data is also important in haskell because values become defined incrementally, and mutating it at some point in the middle would be confusing |
2023-11-25 21:11:27 +0100 | <EvanR> | lazy immutable data marches steadily towards its semantic value |
2023-11-25 21:12:41 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2023-11-25 21:13:08 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2023-11-25 21:15:04 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:2d66:d5f4:1244:77d) |
2023-11-25 21:16:29 +0100 | harveypwca | (~harveypwc@2601:246:c280:7940:585a:99af:3e4c:209b) (Quit: Leaving) |
2023-11-25 21:26:05 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:d05f:4b25:ffb2:a2fa) |
2023-11-25 21:26:31 +0100 | <hammond> | so the main idea/reason for it is readability. |
2023-11-25 21:29:23 +0100 | <EvanR> | speaking of which, have you read the relevant chapters of SICP xD |
2023-11-25 21:29:44 +0100 | <hammond> | i read pages. |
2023-11-25 21:29:56 +0100 | <hammond> | what are the relevant chapters? |
2023-11-25 21:30:43 +0100 | shapr | (~user@2600:1700:c640:3100:650b:3bbc:5994:63da) (Ping timeout: 260 seconds) |
2023-11-25 21:31:22 +0100 | <EvanR> | there's a table of contents and an index |
2023-11-25 21:31:34 +0100 | <EvanR> | which apparently doesn't mention immutability |
2023-11-25 21:32:49 +0100 | <EvanR> | this book focuses on mutable data! |
2023-11-25 21:35:27 +0100 | <hammond> | haha |
2023-11-25 21:35:55 +0100 | <int-e> | @quote no.var |
2023-11-25 21:35:55 +0100 | <lambdabot> | cjs says: I have to explain this shit to people. I mean, I start out right, "Hey, you know how you always have these bugs because what you thought was in the variable is not there?" And I get all of |
2023-11-25 21:35:55 +0100 | <lambdabot> | these nods of agreement. "Well, I've found a new language that solves that problem." Audience: "Ooooh! How?" Me: "There's no variables!" And then they all start moving away from me slowly.... |
2023-11-25 21:36:01 +0100 | <hammond> | no on page, 296 or something they finally start talking about changing states and assignment. |
2023-11-25 21:37:36 +0100 | <hammond> | no i see. it's useful. |
2023-11-25 21:39:54 +0100 | <hammond> | i jst want to take it to an extreeme. can you jst use a database, and run sql and have it be turing complete somehow. |
2023-11-25 21:42:57 +0100 | <EvanR> | that seems like a non sequitur |
2023-11-25 21:50:09 +0100 | <hammond> | well im obvs confused about the focus on purity and not changing variables. |
2023-11-25 21:50:42 +0100 | nate4 | (~nate@c-98-45-158-125.hsd1.ca.comcast.net) |
2023-11-25 21:51:46 +0100 | <EvanR> | purity is a broader topic |
2023-11-25 21:51:53 +0100 | <hammond> | SQL when you are not running insert into from some table.... is the changing of data from one form to another, and displaying it linearly on the screen. if you take monads off haskell, it's kinda of the same no? |
2023-11-25 21:51:59 +0100 | <hammond> | ok |
2023-11-25 21:52:16 +0100 | <EvanR> | but the practical justification is still because laziness |
2023-11-25 21:52:27 +0100 | <hammond> | ok explain that then. |
2023-11-25 21:52:55 +0100 | <EvanR> | usually people want side effects to happen at specific times |
2023-11-25 21:53:31 +0100 | <EvanR> | when side effects are tied to evaluation, and evaluation is no longer something you manually sequence, now you can't easily tell when side effects are going to happen |
2023-11-25 21:54:01 +0100 | <EvanR> | or even what order they happen in |
2023-11-25 21:54:54 +0100 | <EvanR> | so haskell throws the baby out with the bathwater, no side effects! |
2023-11-25 21:55:42 +0100 | Rembane | hands out parachutes to all the babies |
2023-11-25 21:55:47 +0100 | nate4 | (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
2023-11-25 21:56:00 +0100 | saturday25 | (~saturday2@2a00:f41:1c1e:dea7:f89a:b41:e64f:f93) |
2023-11-25 21:56:07 +0100 | hgolden | (~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com) (Remote host closed the connection) |
2023-11-25 21:57:36 +0100 | hgolden | (~hgolden@2603-8000-9d00-3ed1-dd4f-298a-9c49-a0ed.res6.spectrum.com) |
2023-11-25 21:58:39 +0100 | saturday25 | (~saturday2@2a00:f41:1c1e:dea7:f89a:b41:e64f:f93) (Changing host) |
2023-11-25 21:58:39 +0100 | saturday25 | (~saturday2@user/saturday25) |
2023-11-25 22:10:14 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2023-11-25 22:10:31 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
2023-11-25 22:10:55 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-11-25 22:13:25 +0100 | raym | (~ray@user/raym) (Ping timeout: 255 seconds) |
2023-11-25 22:13:46 +0100 | <mauke> | laziness means expressions are only evaluated when their results are needed |
2023-11-25 22:13:55 +0100 | <mauke> | so when you have, say, print 42 |
2023-11-25 22:14:10 +0100 | <mauke> | print is only called when the program needs its return value, which is usually never |
2023-11-25 22:15:23 +0100 | <mauke> | or at least the return value is not meaningful in conventional languages where evaluation can have effects |
2023-11-25 22:17:46 +0100 | <EvanR> | which is why you need special forms to force evaluations in clojure so i/o effects actually happen |
2023-11-25 22:18:17 +0100 | <EvanR> | they have a lot of laziness going on but it's impure |
2023-11-25 22:18:28 +0100 | myxos | (~myxos@065-028-251-121.inf.spectrum.com) (Remote host closed the connection) |
2023-11-25 22:20:18 +0100 | raym | (~ray@user/raym) |
2023-11-25 22:20:43 +0100 | <hammond> | ok. but then how does laziness link up to immutability? |
2023-11-25 22:21:28 +0100 | <hammond> | the practical justification. justification of purity? |
2023-11-25 22:22:17 +0100 | <hammond> | I liked that you can do something like 1...infinity and then only use what you need. |
2023-11-25 22:23:55 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
2023-11-25 22:24:27 +0100 | <mauke> | changing the value of something is an effect |
2023-11-25 22:24:50 +0100 | <mauke> | when is a program going to use the result of x = 42? |
2023-11-25 22:25:01 +0100 | <mauke> | and I don't mean the value of x, I mean the literal result of the = operator |
2023-11-25 22:25:21 +0100 | myxos | (~myxos@065-028-251-121.inf.spectrum.com) |
2023-11-25 22:28:49 +0100 | CiaoSen | (~Jura@2a05:5800:2c3:a900:2a3a:4dff:fe84:dbd5) |
2023-11-25 22:30:07 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-11-25 22:31:29 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-11-25 22:34:10 +0100 | kiriakos | (~kiriakos@p57b65945.dip0.t-ipconnect.de) (Quit: kiriakos) |
2023-11-25 22:34:27 +0100 | kiriakos | (~kiriakos@p57b65945.dip0.t-ipconnect.de) |
2023-11-25 22:35:42 +0100 | kiriakos | (~kiriakos@p57b65945.dip0.t-ipconnect.de) (Client Quit) |
2023-11-25 22:35:58 +0100 | kiriakos | (~kiriakos@p57b65945.dip0.t-ipconnect.de) |
2023-11-25 22:36:36 +0100 | saturday25 | (~saturday2@user/saturday25) (Quit: Client closed) |
2023-11-25 22:36:38 +0100 | pavonia | (~user@user/siracusa) |
2023-11-25 22:36:41 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:d05f:4b25:ffb2:a2fa) (Ping timeout: 260 seconds) |
2023-11-25 22:40:31 +0100 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 255 seconds) |
2023-11-25 22:41:33 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-11-25 22:46:55 +0100 | <EvanR> | hammond, you get the benefits of immutable data even without laziness, see javascript (strings), elixir data, clojure data, languages which aren't pure or lazy by default |
2023-11-25 22:48:23 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) (Read error: Connection reset by peer) |
2023-11-25 22:48:24 +0100 | <EvanR> | benefits like easy to reason about, potentially sharing old sections memory instead of copying, |
2023-11-25 22:50:43 +0100 | alp_ | (~alp@2001:861:e3d6:8f80:cf46:3028:c7d5:b72b) |
2023-11-25 22:50:51 +0100 | Jackneill | (~Jackneill@20014C4E1E12050046FAF6BD904E58EB.dsl.pool.telekom.hu) (Ping timeout: 256 seconds) |
2023-11-25 22:50:57 +0100 | jarne__ | (~jarne__@c-c976e253.1018649-0-69706f6e6c79.bbcust.telenor.se) |
2023-11-25 22:54:44 +0100 | fendor | (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) (Remote host closed the connection) |
2023-11-25 22:56:45 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2023-11-25 23:04:40 +0100 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection) |
2023-11-25 23:08:24 +0100 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
2023-11-25 23:08:55 +0100 | ubert | (~Thunderbi@178.165.175.9.wireless.dyn.drei.com) (Ping timeout: 268 seconds) |
2023-11-25 23:11:51 +0100 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.1.1) |
2023-11-25 23:15:38 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2023-11-25 23:18:00 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-11-25 23:19:56 +0100 | John_Ivan | (~John_Ivan@user/john-ivan/x-1515935) (Ping timeout: 245 seconds) |
2023-11-25 23:30:07 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2023-11-25 23:38:35 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 256 seconds) |
2023-11-25 23:41:06 +0100 | AkshayMankar[m] | (~axemanpub@static.102.80.201.138.clients.your-server.de) |
2023-11-25 23:41:55 +0100 | pandry | (~Pandry@93-41-34-64.ip79.fastwebnet.it) (Ping timeout: 268 seconds) |
2023-11-25 23:42:09 +0100 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-11-25 23:45:36 +0100 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-11-25 23:47:06 +0100 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 260 seconds) |
2023-11-25 23:49:19 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 268 seconds) |
2023-11-25 23:53:28 +0100 | pandry | (~Pandry@93-41-34-64.ip79.fastwebnet.it) |
2023-11-25 23:54:31 +0100 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
2023-11-25 23:56:25 +0100 | nate4 | (~nate@c-98-45-158-125.hsd1.ca.comcast.net) |