2024-01-29 00:04:30 +0100 | fansly | (~fansly@103.3.221.236) (Ping timeout: 260 seconds) |
2024-01-29 00:05:16 +0100 | fansly | (~fansly@182.0.197.126) |
2024-01-29 00:12:58 +0100 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2024-01-29 00:18:10 +0100 | Lycurgus | (~georg@user/Lycurgus) |
2024-01-29 00:25:53 +0100 | fansly | (~fansly@182.0.197.126) (Read error: Connection reset by peer) |
2024-01-29 00:26:04 +0100 | fansly | (~fansly@2001:448a:2010:476e:c9c:17f1:874c:ee93) |
2024-01-29 00:34:23 +0100 | mud | (~mud@user/kadoban) |
2024-01-29 00:36:09 +0100 | <[Leary]> | ,'juki x |
2024-01-29 00:36:09 +0100 | <[Leary]> | + |
2024-01-29 00:36:41 +0100 | <[Leary]> | Oops. Dropped my keyboard. <.< |
2024-01-29 00:37:42 +0100 | <Hecate> | 'sup Rembane :) |
2024-01-29 00:38:14 +0100 | <dsal> | > drop 1 "keyboard" |
2024-01-29 00:38:16 +0100 | <lambdabot> | "eyboard" |
2024-01-29 00:40:26 +0100 | <EvanR> | I was going to say that |
2024-01-29 00:40:31 +0100 | <EvanR> | then backed out |
2024-01-29 00:41:20 +0100 | <geekosaur> | *keyboard drop* |
2024-01-29 00:42:18 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2024-01-29 00:42:23 +0100 | mokee | (~mokee@37.228.215.150) |
2024-01-29 00:47:03 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 00:50:07 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-01-29 00:54:08 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-95.elisa-laajakaista.fi) (Quit: Leaving.) |
2024-01-29 00:55:17 +0100 | <Axman6> | eyyyyyboard |
2024-01-29 00:59:06 +0100 | sudden | (~cat@user/sudden) (Ping timeout: 260 seconds) |
2024-01-29 01:05:04 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) |
2024-01-29 01:07:17 +0100 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 240 seconds) |
2024-01-29 01:09:57 +0100 | sudden | (~cat@user/sudden) |
2024-01-29 01:10:18 +0100 | Lycurgus | (~georg@user/Lycurgus) (Quit: leaving) |
2024-01-29 01:13:09 +0100 | mud | (~mud@user/kadoban) (Quit: quit) |
2024-01-29 01:15:24 +0100 | rvalue | (~rvalue@user/rvalue) |
2024-01-29 01:21:48 +0100 | caconym | (~caconym@user/caconym) (Quit: bye) |
2024-01-29 01:27:08 +0100 | caconym | (~caconym@user/caconym) |
2024-01-29 01:31:01 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 246 seconds) |
2024-01-29 01:34:08 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1) |
2024-01-29 01:50:19 +0100 | athan | (~athan@173-042-095-241.biz.spectrum.com) (Ping timeout: 256 seconds) |
2024-01-29 01:58:11 +0100 | shapr | (~user@c-24-218-186-89.hsd1.ma.comcast.net) (Ping timeout: 264 seconds) |
2024-01-29 02:10:00 +0100 | sroso | (~sroso@user/SrOso) |
2024-01-29 02:10:07 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) |
2024-01-29 02:16:31 +0100 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-01-29 02:21:37 +0100 | ft | (~ft@p3e9bcb1e.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
2024-01-29 02:25:15 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1) |
2024-01-29 02:25:20 +0100 | tamer | (~tamer@user/tamer) |
2024-01-29 02:25:35 +0100 | yaroot | (~yaroot@p2987138-ipngn7501souka.saitama.ocn.ne.jp) (Remote host closed the connection) |
2024-01-29 02:26:12 +0100 | yaroot | (~yaroot@p2987138-ipngn7501souka.saitama.ocn.ne.jp) |
2024-01-29 02:27:01 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:24d0:730b:131f:e5b3) (Remote host closed the connection) |
2024-01-29 02:34:13 +0100 | causal | (~eric@50.35.85.7) (Quit: WeeChat 4.1.1) |
2024-01-29 02:37:13 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds) |
2024-01-29 02:38:00 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2024-01-29 02:42:07 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-01-29 02:55:17 +0100 | <tri> | hi, i'd like to define an instance of Eq on newtype Bag t = Bag {items :: t String} |
2024-01-29 02:55:44 +0100 | <tri> | for that t, for that t, i'd like for it to be a list |
2024-01-29 02:56:07 +0100 | <tri> | not really a list, but a general abstract of list, e.g. vector, array, list |
2024-01-29 02:56:52 +0100 | <tri> | but im not sure which typeclass would represent such abstract of a list-like datastrcutre. |
2024-01-29 02:57:16 +0100 | <tri> | im thinking about a Traversable, but im not sure if that's appropriate |
2024-01-29 02:57:51 +0100 | <tri> | an equivalent of what im thinking about is either IColletion or IList in .NET |
2024-01-29 02:57:55 +0100 | <c_wraith> | Foldable is enough to give you toList |
2024-01-29 02:58:34 +0100 | <monochrom> | "instance Show1 t => Show (Bag t)" may help. |
2024-01-29 02:59:13 +0100 | <tri> | c_wraith: could you elaborate why you pick Foldable to represent an abstract list? |
2024-01-29 02:59:19 +0100 | <c_wraith> | :t toList |
2024-01-29 02:59:20 +0100 | <lambdabot> | Foldable t => t a -> [a] |
2024-01-29 02:59:25 +0100 | stef204 | (~stef204@user/stef204) (Quit: WeeChat 4.2.1) |
2024-01-29 02:59:31 +0100 | <tri> | monochrom: you mean aside from Eq, i should also implement an instance of Show as well? |
2024-01-29 02:59:52 +0100 | <c_wraith> | Foldable implies an ordered traversal of a data type is possible |
2024-01-29 03:00:01 +0100 | <jackdk> | monochrom: I think you mean `Eq1` but yeah. Although here you only have one type applied to `t` so I'm not sure why `deriving newtype (Eq (t String)) => Eq (Bag t)` does not suffice |
2024-01-29 03:00:03 +0100 | <c_wraith> | For whatever "ordered" means for your type |
2024-01-29 03:00:11 +0100 | <tri> | c_wraith: but actually, im not sure if my thinking like that is correct in Haskell. That is, I try to go for an abstract data type, rather than a concrete data type like a Vector or a List or an Array |
2024-01-29 03:00:52 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:18c9:b5e1:a528:fba1) |
2024-01-29 03:01:17 +0100 | <tri> | in OOP, it's natural for me to use an interface, and let the calling function supplies the concrete data data structure |
2024-01-29 03:01:37 +0100 | <tri> | im not sure if i do it like that in Haskell |
2024-01-29 03:02:24 +0100 | <c_wraith> | it depends on what you're trying to do |
2024-01-29 03:02:41 +0100 | <EvanR> | abstract data type just means you don't expose the implementation |
2024-01-29 03:02:46 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2024-01-29 03:02:49 +0100 | <EvanR> | so in that sense Vector and Array are abstract |
2024-01-29 03:03:00 +0100 | <c_wraith> | I could totally see a reason to write instance Foldable t => Eq (Bag t) |
2024-01-29 03:03:12 +0100 | <c_wraith> | But... I could also see reasons not to |
2024-01-29 03:04:00 +0100 | <EvanR> | but you could put yet another layer of abstract on top of that |
2024-01-29 03:04:03 +0100 | <c_wraith> | The one big issue people coming from OOP will have, though, is that you still can't use Eq or Ord to compare a (Bag []) with a (Bag Vector) |
2024-01-29 03:04:36 +0100 | <c_wraith> | those won't typecheck long before the instance definitions are examined |
2024-01-29 03:05:23 +0100 | igemnace | (~ian@user/igemnace) (Ping timeout: 264 seconds) |
2024-01-29 03:05:36 +0100 | <monochrom> | Oh! Yeah s/Show1/Eq1/ |
2024-01-29 03:06:38 +0100 | <monochrom> | But it is very possible that all use cases of Bag t requires Foldable t anyway. |
2024-01-29 03:07:09 +0100 | <monochrom> | Like, the name is "Bag", would you even expect a contravariant functor? >:) |
2024-01-29 03:07:24 +0100 | <c_wraith> | It's also possible that the entire data type doesn't make sense. |
2024-01-29 03:07:28 +0100 | <tri> | well ok i will just go with Foldable and switch out to anotehr typeclass if i need to |
2024-01-29 03:07:36 +0100 | <c_wraith> | It depends on what you're *trying* to do |
2024-01-29 03:07:47 +0100 | <tri> | c_wraith: just testing out the water to see how far i can go |
2024-01-29 03:07:50 +0100 | <c_wraith> | If you're trying to hide the data type, it's entirely wrong |
2024-01-29 03:08:05 +0100 | <tri> | c_wraith: no particular reason, just trying to mimic my OOP experience |
2024-01-29 03:08:24 +0100 | <monochrom> | Ah yeah hidding the type is best done by controlling export. |
2024-01-29 03:08:36 +0100 | <tri> | i could've been fine just using list |
2024-01-29 03:08:52 +0100 | <EvanR> | also, isn't abstract data type "dual" to OOP, in some sense |
2024-01-29 03:09:05 +0100 | <EvanR> | in context of the expression problem, or something |
2024-01-29 03:10:11 +0100 | mima | (~mmh@aftr-62-216-211-12.dynamic.mnet-online.de) (Ping timeout: 264 seconds) |
2024-01-29 03:10:40 +0100 | <monochrom> | If you want to do OO in Haskell, you don't use type classes, you simply don't. Haskell type classes have nothing to do with OO. |
2024-01-29 03:10:59 +0100 | <monochrom> | You use a record type that has methods as fields. |
2024-01-29 03:11:15 +0100 | <monochrom> | Because that's what objects really are. |
2024-01-29 03:11:38 +0100 | xff0x | (~xff0x@ai085147.d.east.v6connect.net) (Ping timeout: 260 seconds) |
2024-01-29 03:12:53 +0100 | <monochrom> | In fact, that's what objects in javascript are, too. |
2024-01-29 03:15:45 +0100 | <monochrom> | Algebraic data types are dual to OO in the expression problem. |
2024-01-29 03:15:58 +0100 | <monochrom> | Abstract data types are instead OO minus subclassing. |
2024-01-29 03:17:22 +0100 | <monochrom> | On second though, I think you're right too. |
2024-01-29 03:18:21 +0100 | <EvanR> | I can't find the blog post / paper where I saw that |
2024-01-29 03:18:54 +0100 | <monochrom> | I'm now convinced! So no worries. :) |
2024-01-29 03:19:33 +0100 | <tri> | EvanR: so when i use Foldable, i need to iterate over the 2 abstract lists to compare them. I think of zip for that. But zip works with the concrete list. So how could i iterate over each item in the 2 Foldables? |
2024-01-29 03:19:44 +0100 | <monochrom> | "I did my own research" is so yesteryear. It's now "I did my own thinking". >:) |
2024-01-29 03:19:47 +0100 | <tri> | EvanR: again, this is to implement Eq |
2024-01-29 03:20:06 +0100 | <EvanR> | when you zip do they have the same shape? like two lists of the same length do? |
2024-01-29 03:20:15 +0100 | <EvanR> | if so, you can use Applicative |
2024-01-29 03:20:18 +0100 | <tri> | oh didn't think about that |
2024-01-29 03:20:33 +0100 | <tri> | well i guess if it's not the same length, then it's not Eq then |
2024-01-29 03:20:44 +0100 | <EvanR> | then how does zipping work |
2024-01-29 03:21:16 +0100 | <tri> | zip is just a way to compare 2 abstract list that came to my mind, obviously i could be wrong |
2024-01-29 03:21:30 +0100 | <EvanR> | oh, I thought you were trying to define a zip like operation. |
2024-01-29 03:21:39 +0100 | <EvanR> | the XY problem continues |
2024-01-29 03:21:44 +0100 | <tri> | my goal is to implement Eq |
2024-01-29 03:21:57 +0100 | <EvanR> | so, implement it? |
2024-01-29 03:22:16 +0100 | <tri> | yes, but i need a way to loop over the Foldable |
2024-01-29 03:22:28 +0100 | <tri> | get each item between each of them and compare |
2024-01-29 03:22:38 +0100 | <EvanR> | ok I guess that's one way to do it |
2024-01-29 03:23:07 +0100 | <EvanR> | but if it's an abstract data type, behind the scenes you can simply implement an equals operation and use that in the Eq instance |
2024-01-29 03:23:07 +0100 | <tri> | but... how do i loop over a foldable... |
2024-01-29 03:23:18 +0100 | <EvanR> | toList |
2024-01-29 03:23:21 +0100 | <tri> | ah |
2024-01-29 03:23:21 +0100 | <tri> | ! |
2024-01-29 03:24:44 +0100 | <jackdk> | tri: also `traversable_` or `for_` |
2024-01-29 03:26:03 +0100 | <tri> | jackdk: my first reaction is it would work, i need to implement Eq for a Foldable t => t item. So the underscore version will not be able to implement the == of Eq, because the "swallow" the result |
2024-01-29 03:26:13 +0100 | <tri> | would NOT* work. My bad |
2024-01-29 03:26:31 +0100 | yagkasha | (uid629884@user/yagkasha) |
2024-01-29 03:26:32 +0100 | <tri> | they* "swallow" |
2024-01-29 03:27:22 +0100 | <jackdk> | I'm not sure what you're trying to do. I almost never have to write `Eq` instances by hand. |
2024-01-29 03:27:49 +0100 | <tri> | I have this newtype Bag t = Bag {items :: t String}. So that's why i need to implement Eq |
2024-01-29 03:27:50 +0100 | <jackdk> | Are you saying that you want both collections to have the same strings in the same order? |
2024-01-29 03:28:21 +0100 | qqq | (~qqq@92.43.167.61) (Remote host closed the connection) |
2024-01-29 03:28:22 +0100 | <tri> | well i was about to mention the order part |
2024-01-29 03:28:40 +0100 | <EvanR> | this doesn't look like it's going to work, from the implications of the name Bag |
2024-01-29 03:28:47 +0100 | <tri> | EvanR: is there any function i can use to go from Foldable to Set? |
2024-01-29 03:28:58 +0100 | <EvanR> | S.fromList . toList |
2024-01-29 03:28:59 +0100 | <tri> | because on second thought, i don't care about the order |
2024-01-29 03:29:15 +0100 | <jackdk> | You will also use duplicates if you go via Set |
2024-01-29 03:29:16 +0100 | <tri> | gotcha thank you |
2024-01-29 03:29:30 +0100 | <jackdk> | https://www.irccloud.com/pastebin/kqtvrPPc/BagDerivingEq.hs |
2024-01-29 03:30:08 +0100 | <EvanR> | Bag is sort of implying you might have duplicates and they matter |
2024-01-29 03:30:14 +0100 | <EvanR> | so AAAB is different from AB |
2024-01-29 03:30:58 +0100 | <tri> | jackdk: i don't understand the part => Eq (Bag t) in your pastebin. |
2024-01-29 03:31:27 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:18c9:b5e1:a528:fba1) (Remote host closed the connection) |
2024-01-29 03:31:44 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:18c9:b5e1:a528:fba1) |
2024-01-29 03:31:46 +0100 | <tri> | EvanR: each item should be unique, so i don't have duplicate. So i think the set difference operation will be good here |
2024-01-29 03:32:26 +0100 | <EvanR> | so you're trying to implement an abstract Set |
2024-01-29 03:32:32 +0100 | <jackdk> | It defines an instance for `Eq (Bag t)` which requires an instance of `Eq (t String)` |
2024-01-29 03:32:43 +0100 | <tri> | EvanR: ... right |
2024-01-29 03:32:58 +0100 | <EvanR> | newtype MySet a = MySet (Set a) xD |
2024-01-29 03:33:35 +0100 | TonyStone | (~TonyStone@074-076-057-186.res.spectrum.com) |
2024-01-29 03:34:07 +0100 | <tri> | well i guess my solution is just use a set then |
2024-01-29 03:35:02 +0100 | <tri> | jackdk: im not used to that syntax, i guess because of the language extension. Could you rewrite that without the language extension please |
2024-01-29 03:35:15 +0100 | <jackdk> | Foldable probably won't give you enough of what you need in a performant way, because you'll probably end up writing insert/remove/member in terms of foldr or equivalent functions, meaning that everything will be basically linear. |
2024-01-29 03:36:03 +0100 | <jackdk> | https://www.irccloud.com/pastebin/yPv3Y0fK/BagWithoutStandaloneDeriving.hs |
2024-01-29 03:37:00 +0100 | <EvanR> | if you need a Set, then use literal Set is something that really helps code reuse in haskell. If you need a pair and A and B, use (A,B) instead of trying to make an AbstractEnterprisePair which tries to leave open how that works |
2024-01-29 03:37:23 +0100 | <jackdk> | You may have seen `instance Eq a => Eq [a]` in your travels, saying "if we can test items for equality, we can test lists for equality". This is the same, but UndecidableInstances allows the prerequisites to be larger than the instance being defined. |
2024-01-29 03:37:28 +0100 | <EvanR> | it helps code reuse. (though, strict pair is something good to use instead) |
2024-01-29 03:38:29 +0100 | <tri> | "This is the same, but UndecidableInstances allows the prerequisites to be larger than the instance being defined." not understand what you mean by larger |
2024-01-29 03:38:55 +0100 | <tri> | and also, i understand instance Eq a => Eq [a], but i don't understand (Eq (t String)) => Eq (Bag t) |
2024-01-29 03:39:03 +0100 | <tri> | that (Eq (t String)) is really weird to me |
2024-01-29 03:39:12 +0100 | dfii^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection) |
2024-01-29 03:39:27 +0100 | <tri> | im only used to SomeTypeClass t => Eq (Bag t) |
2024-01-29 03:40:11 +0100 | <tri> | EvanR: ok thank you |
2024-01-29 03:40:12 +0100 | fun-safe-math | (~fun-safe-@c-24-21-106-247.hsd1.or.comcast.net) |
2024-01-29 03:45:41 +0100 | <jackdk> | `t` is a type constructor, so `t String` is a type. `Eq (t String)` is a constraint just like `[a]`, except it's the type constructor which is a type variable |
2024-01-29 03:47:41 +0100 | <tri> | im still confused. For SomeTypeClass t => Eq (Bag t), i read it as: t must be an instance of SomeTypeClass, now my instance of Eq for Bag t is yada yada |
2024-01-29 03:47:59 +0100 | <tri> | how do i read it for Eq (t String)? |
2024-01-29 03:48:09 +0100 | <jackdk> | Exactly the same. `t String` must be an instance of `Eq` |
2024-01-29 03:48:48 +0100 | <tri> | hmm |
2024-01-29 03:49:17 +0100 | <tri> | so far, im only familiar with restaining the type of the free type variable alone, aka t |
2024-01-29 03:49:26 +0100 | bilegeek | (~bilegeek@2600:1008:b02f:a7fe:2faf:a4be:4db8:1a8c) |
2024-01-29 03:49:26 +0100 | <tri> | now you have t coupled with String |
2024-01-29 03:49:30 +0100 | <tri> | so idk what to make of it |
2024-01-29 03:49:45 +0100 | <tri> | like |
2024-01-29 03:50:01 +0100 | <geekosaur> | instead of having a fixed "container" and a variable type "inside", you have a fixed type "inside" and a variable "container" |
2024-01-29 03:50:36 +0100 | <geekosaur> | (t String) could be ([] String) (aka [String]), Vector String, Set String, etc. |
2024-01-29 03:50:41 +0100 | <tri> | in the newtype Bag t = Bag {items :: t String}. Im *only* concern about the left part Bag t, i don't care about the right part, when i implement an instance of Eq for Bag t |
2024-01-29 03:51:09 +0100 | <tri> | so that it would make sense for me if you have something SomeTypeClass t => |
2024-01-29 03:51:32 +0100 | <tri> | but now you have it as SomeTypeClass (t String) => |
2024-01-29 03:51:37 +0100 | <tri> | which totally throw me off garud |
2024-01-29 03:53:04 +0100 | <tri> | ah wait |
2024-01-29 03:53:09 +0100 | <tri> | because t is * -> * |
2024-01-29 03:53:15 +0100 | <jackdk> | yes |
2024-01-29 03:53:32 +0100 | <tri> | alright that makes sense now |
2024-01-29 03:53:41 +0100 | tri | head hurts |
2024-01-29 03:53:58 +0100 | <tri> | thanks jackdk and geekosaur |
2024-01-29 03:57:52 +0100 | <EvanR> | yeah I'd call that f |
2024-01-29 03:57:52 +0100 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2024-01-29 03:58:38 +0100 | <EvanR> | since it's probably a Functor |
2024-01-29 03:59:14 +0100 | <jackdk> | Yeah but for foldables it's traditionally `t`. I suppose because it's commonly `t` in `Traversable`, because `f` is used for the `Applicative` in `sequence :: (Traversable t, Applicative f) => t (f a) -> f (t a)` and `traverse` |
2024-01-29 03:59:56 +0100 | <jackdk> | (And similarly for `sequence_` and `traverse_` on `Foldable` |
2024-01-29 04:00:23 +0100 | <EvanR> | fair |
2024-01-29 04:06:02 +0100 | <tri> | i have a vector and would like to convert to Set, the only way is Set.fromList . toList right? |
2024-01-29 04:07:39 +0100 | <geekosaur> | yes |
2024-01-29 04:08:37 +0100 | <tri> | ty' |
2024-01-29 04:15:35 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2024-01-29 04:17:20 +0100 | arahael_ | (~arahael@1.145.10.174) |
2024-01-29 04:18:01 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:18c9:b5e1:a528:fba1) (Remote host closed the connection) |
2024-01-29 04:19:20 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:9d5c:3643:2ba5:d457) |
2024-01-29 04:24:01 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:9d5c:3643:2ba5:d457) (Ping timeout: 260 seconds) |
2024-01-29 04:33:07 +0100 | <monochrom> | Wait we're arguing letters now?! |
2024-01-29 04:34:48 +0100 | <monochrom> | put :: MonadState f x => f -> x f |
2024-01-29 04:36:10 +0100 | <EvanR> | all types named ModuleName.t and classes ModuleName.c |
2024-01-29 04:36:22 +0100 | <EvanR> | er, .T and .C |
2024-01-29 04:36:28 +0100 | <monochrom> | :) |
2024-01-29 04:37:41 +0100 | <monochrom> | put :: MonadState φ ψ => ψ -> φ ψ -- why not >:) |
2024-01-29 04:46:49 +0100 | td_ | (~td@i53870912.versanet.de) (Ping timeout: 255 seconds) |
2024-01-29 04:47:09 +0100 | <c_wraith> | that's not the right type for put! |
2024-01-29 04:47:15 +0100 | <jackdk> | monochrom: consider \phi and \varphi |
2024-01-29 04:48:49 +0100 | td_ | (~td@i53870921.versanet.de) |
2024-01-29 05:05:05 +0100 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 260 seconds) |
2024-01-29 05:05:16 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d90a:8962:8a2b:5610) |
2024-01-29 05:09:15 +0100 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2024-01-29 05:09:26 +0100 | arahael_ | (~arahael@1.145.10.174) (Read error: Connection reset by peer) |
2024-01-29 05:09:59 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 252 seconds) |
2024-01-29 05:12:40 +0100 | <ski> | EvanR : not sure if "dual" is the right way to phrase it. but both can be understood as relating to different ways of using existentials |
2024-01-29 05:13:06 +0100 | <ski> | "Abstract data types are instead OO minus subclassing." -- OO bundles operations (methods) up with state, with Abstract Data Types (ADTs) you pass around naked states. ADTs can do "binary methods" (and "cloning methods"), something which OO can't do directly |
2024-01-29 05:13:31 +0100 | <monochrom> | jackdk: hahaha |
2024-01-29 05:14:13 +0100 | <EvanR> | all variables are a but with different fonts |
2024-01-29 05:14:30 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d90a:8962:8a2b:5610) (Remote host closed the connection) |
2024-01-29 05:14:37 +0100 | <monochrom> | MonadState a a -> a -> a a |
2024-01-29 05:14:47 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2024-01-29 05:15:09 +0100 | <monochrom> | "dependent type programming" >:) |
2024-01-29 05:15:32 +0100 | <EvanR> | lol |
2024-01-29 05:16:04 +0100 | <ski> | perhaps we could allow ANSI SGR escapes to be part of identifiers ? |
2024-01-29 05:17:27 +0100 | <jackdk> | monochrom: "terms depend on type [face]" |
2024-01-29 05:17:28 +0100 | <ski> | naturally, we'd translate source, using ncurses, depending on the value of `TERM', before looking up identifiers in other packages |
2024-01-29 05:17:58 +0100 | <ski> | (or more specifically, translate the identifiers read from source) |
2024-01-29 05:18:11 +0100 | <jackdk> | ski: "types depend on TERM". Also https://colorforth.github.io/ |
2024-01-29 05:18:15 +0100 | ski | types on palm |
2024-01-29 05:18:22 +0100 | <probie> | > let (⍺) = (+) in let α = 26 in α ⍺ α |
2024-01-29 05:18:24 +0100 | <lambdabot> | 52 |
2024-01-29 05:18:30 +0100 | <monochrom> | The missing corner of the lambda cube where type depends on type! |
2024-01-29 05:19:08 +0100 | <ski> | perhaps we need an APL package for Haskell |
2024-01-29 05:20:04 +0100 | <haskellbridge> | 05<irregularsphere> ski: "naked state" so functional programming is OO but you hold the state instead of packing it in objects, is this true? |
2024-01-29 05:20:06 +0100 | <jackdk> | That's when one is overly comfortable with -XUnicodeSyntax |
2024-01-29 05:20:28 +0100 | <probie> | ski: as in a mess of unicode symbols, or something like numpy? |
2024-01-29 05:20:40 +0100 | <ski> | irregularsphere : i said with ADTs you pass around naked state, not with OO |
2024-01-29 05:20:56 +0100 | <haskellbridge> | 05<irregularsphere> ah i misunderstood |
2024-01-29 05:26:00 +0100 | <ski> | probie : approximating APL symbolism. see "Is Haskell Fast?" in 2009-02-06 at <https://augustss.blogspot.com/2009/02/is-haskell-fast-lets-do-simple.html>,"More Basic" in 2009-02-7 at <http://augustss.blogspot.com/2009/02/more-basic-not-that-anybody-should-care.html>, both by augustss |
2024-01-29 05:29:45 +0100 | <ski> | irregularsphere : more specifically, imagine a queue. with ADT approach you have `data QueueOps a = forall q. MkQOps {empty :: q,enqueue :: a -> q -> q,dequeue :: q -> Maybe (q,a)}'. after defining e.g. `someQueueImpl :: QueueOps a' or `packgedCharQueueImpl :: QueueOps Char', you open the record, bringing the skolem `q' into (a big) scope, and then pass around raw values ("states") of type `q', inside that |
2024-01-29 05:29:51 +0100 | <ski> | scope, invoking the operations on that directly |
2024-01-29 05:33:14 +0100 | <ski> | (s/packged/packed/) |
2024-01-29 05:33:20 +0100 | <ski> | irregularsphere : with OO approach, you have `data Queue = forall q. MkQ {qState :: q,enqueue :: a -> q -> q,dequeue :: q -> Maybe (q,a)}', and then define `enqueueQ :: a -> Queue a -> Queue a',`dequeueQ :: Queue a -> Maybe (Queue a,a)' (by unwrapping operations ("methods") from the state, applying the appropriate operation, then rewrapping the resulting state with the operations again). then a |
2024-01-29 05:33:26 +0100 | <ski> | "class"/"class constructor" (in the OO sense) would be `emptyQueueClass :: Queue a' or `emptyPackedCharQueue :: Queue Char' |
2024-01-29 05:34:40 +0100 | <ski> | note that with `foo :: Queue a -> Queue a -> ...', you can't assume that both input queues use the same implementation. at best, you can invoke an internal operation on one queue, which can access that one's internal state, and which then has to call provided operations on the other queue, in order to indirectly poke at its state. you can't really do "binary methods" |
2024-01-29 05:35:56 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-01-29 05:37:02 +0100 | <ski> | while with ADT, you could easily add a `merge :: q -> q -> q' operation for priority queues, e.g. (with the OO approach, trying to define `mergePQ :: Ord a => PQueue a -> PQueue a -> PQueue a' in terms of an internal operation `merge :: Ord a => q -> q -> q', the problem is that each input priority queue has its own, bundled, version of each operation, and they're incompatible with each other) |
2024-01-29 05:39:53 +0100 | bilegeek | (~bilegeek@2600:1008:b02f:a7fe:2faf:a4be:4db8:1a8c) (Remote host closed the connection) |
2024-01-29 05:42:42 +0100 | jargon | (~jargon@211.sub-174-205-230.myvzw.com) (Remote host closed the connection) |
2024-01-29 05:43:00 +0100 | bilegeek | (~bilegeek@2600:1008:b02f:a7fe:2faf:a4be:4db8:1a8c) |
2024-01-29 05:45:58 +0100 | igemnace | (~ian@user/igemnace) |
2024-01-29 05:46:04 +0100 | yagkasha | (uid629884@user/yagkasha) (Quit: Connection closed for inactivity) |
2024-01-29 05:50:04 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 256 seconds) |
2024-01-29 05:53:20 +0100 | aforemny_ | (~aforemny@2001:9e8:6cc3:900:11e8:80e2:687f:11d6) |
2024-01-29 05:53:52 +0100 | aforemny | (~aforemny@2001:9e8:6cdf:ca00:229d:373b:2363:176f) (Ping timeout: 255 seconds) |
2024-01-29 06:14:10 +0100 | fun-safe-math | (~fun-safe-@c-24-21-106-247.hsd1.or.comcast.net) () |
2024-01-29 06:14:55 +0100 | wagle | (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
2024-01-29 06:15:48 +0100 | fun-safe-math | (~fun-safe-@c-24-21-106-247.hsd1.or.comcast.net) |
2024-01-29 06:17:55 +0100 | <probie> | ski: I think you'd really struggle to end up with anything that looks like APL. Let's say I wanted `sum [1..10]`. In APL that looks like `+/ ⍳ 10` (or probably `+/ 1 + ⍳ 10` since we should have `⎕IO←0` as default) |
2024-01-29 06:18:28 +0100 | <probie> | You'd definitely have to add a lot more whitespace |
2024-01-29 06:19:32 +0100 | <probie> | Since whilst APL doesn't care about `+/` or + /`, Haskell Certainly does |
2024-01-29 06:21:03 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2024-01-29 06:22:13 +0100 | <probie> | Also, you're going to need something on the left hand side, but even something like `apl + / 1 + ⍳ 10` won't work because of the two symbols in a row |
2024-01-29 06:26:16 +0100 | <probie> | I guess we can probably introduce some additional constructors to tie things together. `apl +OP/ 1 + MON⍳ 10`, but it's looking nowhere near as great as the BASIC implementation at this point |
2024-01-29 06:27:23 +0100 | <probie> | it also doesn't help that Haskell's numeric operators have the wrong precedence (all APL functions are right associative with the same precedence) |
2024-01-29 06:27:33 +0100 | <tri> | hi, im trying to do a combinatoric of 2 of a list of items using list comprehension |
2024-01-29 06:27:51 +0100 | <tri> | [(x, y) | x <- list, y <- list, x /= y] |
2024-01-29 06:27:55 +0100 | <tri> | this is what i have so far |
2024-01-29 06:28:13 +0100 | <probie> | > [(x, y) | x <- [1..5], y <- [1..5], x /= y] |
2024-01-29 06:28:15 +0100 | <lambdabot> | [(1,2),(1,3),(1,4),(1,5),(2,1),(2,3),(2,4),(2,5),(3,1),(3,2),(3,4),(3,5),(4,... |
2024-01-29 06:28:34 +0100 | <probie> | > [(x, y) | x <- [1..3], y <- [1..3], x /= y] -- smaller |
2024-01-29 06:28:36 +0100 | <lambdabot> | [(1,2),(1,3),(2,1),(2,3),(3,1),(3,2)] |
2024-01-29 06:28:59 +0100 | <tri> | that's permutation, as in you have (1,2) and (2,1) |
2024-01-29 06:29:21 +0100 | <probie> | Ah, so you want something like |
2024-01-29 06:29:36 +0100 | <tri> | i could get away with not doing list comprehension if there is a function for that. I think there is definitely a function for it |
2024-01-29 06:29:36 +0100 | <Axman6> | > tails "abcd" |
2024-01-29 06:29:37 +0100 | <lambdabot> | ["abcd","bcd","cd","d",""] |
2024-01-29 06:29:45 +0100 | <tri> | nno |
2024-01-29 06:29:48 +0100 | <probie> | > [(x, y) | x <- [1..3], y <- [x+1..3], x /= y] |
2024-01-29 06:29:50 +0100 | <lambdabot> | [(1,2),(1,3),(2,3)] |
2024-01-29 06:29:51 +0100 | <tri> | im looking for a 5C2 |
2024-01-29 06:30:28 +0100 | <tri> | 5C2 is a math combinatoric operation |
2024-01-29 06:30:43 +0100 | <Axman6> | > let comb xss = [(x,y) | (x:xs) <- tails xss, y <- xs, x /= y] in comb "abcd" |
2024-01-29 06:30:44 +0100 | <tri> | sorry for the 5 there |
2024-01-29 06:30:45 +0100 | <lambdabot> | [('a','b'),('a','c'),('a','d'),('b','c'),('b','d'),('c','d')] |
2024-01-29 06:30:47 +0100 | <tri> | it's nC2 |
2024-01-29 06:32:20 +0100 | <tri> | Axman6: [(x,y) | (x:xs) <- tails xss, y <- xs, x /= y] is not compilable |
2024-01-29 06:32:51 +0100 | <tri> | oh sorry im wrong. If lamdabot can do it then it's compiable |
2024-01-29 06:33:04 +0100 | <Axman6> | yes :) |
2024-01-29 06:33:14 +0100 | <tri> | my repl says tails is not inscope |
2024-01-29 06:33:21 +0100 | <Axman6> | import Data.List |
2024-01-29 06:33:24 +0100 | <tri> | oh wait because of name collision |
2024-01-29 06:33:27 +0100 | <Axman6> | @hoogle tails |
2024-01-29 06:33:28 +0100 | <lambdabot> | Data.List tails :: [a] -> [[a]] |
2024-01-29 06:33:28 +0100 | <lambdabot> | Data.List.NonEmpty tails :: Foldable f => f a -> NonEmpty [a] |
2024-01-29 06:33:28 +0100 | <lambdabot> | GHC.OldList tails :: [a] -> [[a]] |
2024-01-29 06:33:36 +0100 | <tri> | it's ambiguous in my repl |
2024-01-29 06:38:16 +0100 | wagle | (~wagle@quassel.wagle.io) |
2024-01-29 06:38:17 +0100 | <ski> | @let select :: Alternative i => [a] -> i (a,[a]); select [ ] = empty; select (x:xs) = pure (x,xs) <|> fmap (x :) <$> select xs |
2024-01-29 06:38:19 +0100 | <lambdabot> | Defined. |
2024-01-29 06:38:29 +0100 | <tri> | Axman6: your solution works. But it's tricky. There has to be a function that does it |
2024-01-29 06:38:44 +0100 | <ski> | > [(x,y) | (x,xs) <- select [2,3,5,7],y <- xs] |
2024-01-29 06:38:46 +0100 | <lambdabot> | [(2,3),(2,5),(2,7),(3,2),(3,5),(3,7),(5,2),(5,3),(5,7),(7,2),(7,3),(7,5)] |
2024-01-29 06:39:07 +0100 | <ski> | > [(x,y) | x:xs <- tails [2,3,5,7],y <- xs] |
2024-01-29 06:39:09 +0100 | <lambdabot> | [(2,3),(2,5),(2,7),(3,5),(3,7),(5,7)] |
2024-01-29 06:40:01 +0100 | <Axman6> | I diagree that my solution it aat all tricky. But look in Data.List and see if it has what you're looking for |
2024-01-29 06:40:14 +0100 | <ski> | .. is there a reason you wanted to use `/=', apart from removing the diagonal ? |
2024-01-29 06:40:47 +0100 | <Axman6> | yeah I kept it because it seemed important, but I would personally do a filter (join (/=)) |
2024-01-29 06:40:59 +0100 | <Axman6> | un, uncurry in there too |
2024-01-29 06:41:40 +0100 | <ski> | isn't `join (/=)' just `const False' ? |
2024-01-29 06:41:44 +0100 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-01-29 06:41:46 +0100 | <ski> | oh |
2024-01-29 06:42:22 +0100 | <Axman6> | :t join (uncurry (/=)) |
2024-01-29 06:42:23 +0100 | <lambdabot> | error: |
2024-01-29 06:42:23 +0100 | <lambdabot> | • Couldn't match type ‘Bool’ with ‘(a, a) -> a1’ |
2024-01-29 06:42:23 +0100 | <lambdabot> | Expected type: (a, a) -> (a, a) -> a1 |
2024-01-29 06:42:42 +0100 | <Axman6> | :t (uncurry (/=)) |
2024-01-29 06:42:42 +0100 | <ski> | tri : if you already know your lists won't have duplicates, there's no reason to use `/=' here |
2024-01-29 06:42:43 +0100 | <lambdabot> | Eq a => (a, a) -> Bool |
2024-01-29 06:42:48 +0100 | <Axman6> | that one =) |
2024-01-29 06:42:52 +0100 | <ski> | right |
2024-01-29 06:43:26 +0100 | <ski> | probie : oh, yea .. too bad :/ |
2024-01-29 06:43:31 +0100 | <tri> | https://hackage.haskell.org/package/combinatorial-0.1.1/docs/Combinatorics.html has the tuples function which does what i ned |
2024-01-29 06:43:51 +0100 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Client Quit) |
2024-01-29 06:44:00 +0100 | <tri> | thank you both |
2024-01-29 06:44:04 +0100 | <Axman6> | @hoogle [a] -> [(a,a)] |
2024-01-29 06:44:05 +0100 | <lambdabot> | Number.Positional sliceVertPair :: [a] -> [(a, a)] |
2024-01-29 06:44:05 +0100 | <lambdabot> | Algorithms.Geometry.LineSegmentIntersection.Naive pairs :: [a] -> [(a, a)] |
2024-01-29 06:44:05 +0100 | <lambdabot> | Data.Geometry.Arrangement.Internal allPairs :: [a] -> [(a, a)] |
2024-01-29 06:44:26 +0100 | <Axman6> | there's probably lots of places a similar thing is defined |
2024-01-29 06:48:01 +0100 | trev | (~trev@user/trev) |
2024-01-29 06:53:03 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds) |
2024-01-29 06:53:22 +0100 | fansly | (~fansly@2001:448a:2010:476e:c9c:17f1:874c:ee93) (Ping timeout: 246 seconds) |
2024-01-29 06:54:13 +0100 | fansly | (~fansly@182.0.174.92) |
2024-01-29 07:06:35 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2024-01-29 07:08:22 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-01-29 07:08:57 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2024-01-29 07:09:34 +0100 | michalz | (~michalz@185.246.207.205) |
2024-01-29 07:16:32 +0100 | fansly | (~fansly@182.0.174.92) (Read error: Connection reset by peer) |
2024-01-29 07:16:47 +0100 | fansly | (~fansly@2001:448a:2010:476e:c9c:17f1:874c:ee93) |
2024-01-29 07:18:52 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-01-29 07:19:16 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2024-01-29 07:19:33 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds) |
2024-01-29 07:19:50 +0100 | euleritian | (~euleritia@dynamic-176-000-152-096.176.0.pool.telefonica.de) |
2024-01-29 07:22:12 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-01-29 07:23:02 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 07:27:17 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 240 seconds) |
2024-01-29 07:27:34 +0100 | michalz | (~michalz@185.246.207.205) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-01-29 07:30:28 +0100 | michalz | (~michalz@185.246.207.221) |
2024-01-29 07:32:23 +0100 | fansly | (~fansly@2001:448a:2010:476e:c9c:17f1:874c:ee93) (Remote host closed the connection) |
2024-01-29 07:46:35 +0100 | fansly | (~fansly@2001:448a:2010:476e:c9c:17f1:874c:ee93) |
2024-01-29 07:47:23 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 07:48:27 +0100 | mokee | (~mokee@37.228.215.150) (Quit: off) |
2024-01-29 07:50:25 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 246 seconds) |
2024-01-29 07:52:06 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 260 seconds) |
2024-01-29 08:00:07 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2024-01-29 08:01:42 +0100 | notzmv | (~zmv@user/notzmv) |
2024-01-29 08:01:50 +0100 | acidjnk_new | (~acidjnk@p200300d6e737e756882f209ddca8eb35.dip0.t-ipconnect.de) |
2024-01-29 08:06:21 +0100 | Square | (~Square4@user/square) |
2024-01-29 08:08:44 +0100 | Square2 | (~Square@user/square) (Ping timeout: 252 seconds) |
2024-01-29 08:11:02 +0100 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-01-29 08:12:39 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 08:14:38 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2024-01-29 08:16:24 +0100 | destituion | (~destituio@2a02:2121:304:cc78:d9dc:8709:4c3b:d0d2) (Quit: Quit) |
2024-01-29 08:16:58 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 255 seconds) |
2024-01-29 08:17:55 +0100 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 256 seconds) |
2024-01-29 08:24:59 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2024-01-29 08:26:00 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
2024-01-29 08:26:25 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2024-01-29 08:29:19 +0100 | phma | (phma@2001:5b0:212a:bae8:aa84:1310:c00c:b4dd) (Read error: Connection reset by peer) |
2024-01-29 08:30:32 +0100 | phma | (phma@2001:5b0:215a:d678:f408:ffdb:4b4d:84f0) |
2024-01-29 08:33:04 +0100 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2024-01-29 08:35:48 +0100 | bilegeek | (~bilegeek@2600:1008:b02f:a7fe:2faf:a4be:4db8:1a8c) (Quit: Leaving) |
2024-01-29 08:44:40 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2024-01-29 08:45:54 +0100 | fansly | (~fansly@2001:448a:2010:476e:c9c:17f1:874c:ee93) (Remote host closed the connection) |
2024-01-29 08:47:25 +0100 | yeahitsme | (~bob@2a01:799:15e7:a300:e9b5:215b:7150:c682) |
2024-01-29 08:47:29 +0100 | yeahitsme | (~bob@2a01:799:15e7:a300:e9b5:215b:7150:c682) (Changing host) |
2024-01-29 08:47:29 +0100 | yeahitsme | (~bob@user/yeahitsme) |
2024-01-29 08:48:29 +0100 | fansly | (~fansly@2001:448a:2010:476e:c9c:17f1:874c:ee93) |
2024-01-29 08:48:50 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 08:49:22 +0100 | danse-nr3 | (~danse@151.47.239.140) |
2024-01-29 08:49:37 +0100 | mqlnv | (~tripod@47.154.25.27) (Ping timeout: 264 seconds) |
2024-01-29 08:51:02 +0100 | euleritian | (~euleritia@dynamic-176-000-152-096.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-01-29 08:51:09 +0100 | mqlnv | (~tripod@47.154.25.27) |
2024-01-29 08:51:19 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-01-29 08:51:43 +0100 | m1dnight | (~christoph@78-22-2-15.access.telenet.be) (Quit: WeeChat 4.2.1) |
2024-01-29 08:52:16 +0100 | oo_miguel | (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) |
2024-01-29 08:52:25 +0100 | m1dnight | (~christoph@78-22-2-15.access.telenet.be) |
2024-01-29 08:54:48 +0100 | yeahitsme | (~bob@user/yeahitsme) (Ping timeout: 256 seconds) |
2024-01-29 08:55:00 +0100 | czy | (~user@114.226.59.181) (Read error: Connection reset by peer) |
2024-01-29 08:55:35 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds) |
2024-01-29 08:56:37 +0100 | czy | (~user@114.226.59.181) |
2024-01-29 08:58:23 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-01-29 09:02:02 +0100 | sroso | (~sroso@user/SrOso) (Read error: Connection reset by peer) |
2024-01-29 09:03:47 +0100 | [exa] | (~exa@user/exa/x-3587197) (Quit: client change) |
2024-01-29 09:04:23 +0100 | [exa] | (~exa@user/exa/x-3587197) |
2024-01-29 09:06:38 +0100 | sroso | (~sroso@user/SrOso) |
2024-01-29 09:09:20 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 09:13:49 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 260 seconds) |
2024-01-29 09:22:24 +0100 | mima | (~mmh@aftr-62-216-211-164.dynamic.mnet-online.de) |
2024-01-29 09:31:23 +0100 | fansly | (~fansly@2001:448a:2010:476e:c9c:17f1:874c:ee93) (Read error: Connection reset by peer) |
2024-01-29 09:37:12 +0100 | zetef | (~quassel@95.77.17.251) |
2024-01-29 09:39:29 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 09:42:20 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) |
2024-01-29 09:44:03 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 256 seconds) |
2024-01-29 09:46:28 +0100 | fansly | (~fansly@103.3.221.54) |
2024-01-29 09:52:10 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-01-29 09:55:32 +0100 | __monty__ | (~toonn@user/toonn) |
2024-01-29 09:57:16 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2024-01-29 09:58:06 +0100 | zetef | (~quassel@95.77.17.251) (Ping timeout: 260 seconds) |
2024-01-29 09:58:34 +0100 | eL_Bart0 | (eL_Bart0@dietunichtguten.org) (Ping timeout: 260 seconds) |
2024-01-29 09:59:55 +0100 | eL_Bart0 | (eL_Bart0@dietunichtguten.org) |
2024-01-29 10:00:11 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2024-01-29 10:01:02 +0100 | ell | (~ellie@user/ellie) (Quit: Leaving) |
2024-01-29 10:04:35 +0100 | fansly | (~fansly@103.3.221.54) (Ping timeout: 256 seconds) |
2024-01-29 10:05:22 +0100 | fansly | (~fansly@2001:448a:2010:476e:c9c:17f1:874c:ee93) |
2024-01-29 10:07:58 +0100 | eL_Bart0 | (eL_Bart0@dietunichtguten.org) (Ping timeout: 246 seconds) |
2024-01-29 10:10:19 +0100 | eL_Bart0 | (eL_Bart0@dietunichtguten.org) |
2024-01-29 10:10:57 +0100 | fendor | (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) |
2024-01-29 10:13:50 +0100 | fansly | (~fansly@2001:448a:2010:476e:c9c:17f1:874c:ee93) (Remote host closed the connection) |
2024-01-29 10:14:29 +0100 | mcfrdy | (~mcfrdy@user/mcfrdy) (Ping timeout: 260 seconds) |
2024-01-29 10:15:15 +0100 | qqq | (~qqq@92.43.167.61) |
2024-01-29 10:15:20 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 255 seconds) |
2024-01-29 10:15:23 +0100 | adanwan_ | (~adanwan@gateway/tor-sasl/adanwan) |
2024-01-29 10:15:41 +0100 | rembo10 | (~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-01-29 10:16:14 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds) |
2024-01-29 10:16:30 +0100 | mcfrdy | (~mcfrdy@user/mcfrdy) |
2024-01-29 10:16:38 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 10:16:59 +0100 | eugenrh | (~eugenrh@2a01:4f9:c011:265::1) (Ping timeout: 268 seconds) |
2024-01-29 10:18:01 +0100 | dyniec | (~dyniec@dybiec.info) (Ping timeout: 255 seconds) |
2024-01-29 10:18:41 +0100 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2024-01-29 10:18:41 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2024-01-29 10:19:34 +0100 | eugenrh | (~eugenrh@static.20.60.21.65.clients.your-server.de) |
2024-01-29 10:20:13 +0100 | dyniec | (~dyniec@dybiec.info) |
2024-01-29 10:20:30 +0100 | fansly | (~fansly@2001:448a:2010:476e:c9c:17f1:874c:ee93) |
2024-01-29 10:21:11 +0100 | adanwan_ | (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 255 seconds) |
2024-01-29 10:22:56 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 252 seconds) |
2024-01-29 10:23:37 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2024-01-29 10:25:09 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2024-01-29 10:30:06 +0100 | rembo10 | (~rembo10@main.remulis.com) |
2024-01-29 10:33:19 +0100 | athan | (~athan@173-042-095-241.biz.spectrum.com) |
2024-01-29 10:36:02 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 255 seconds) |
2024-01-29 10:38:26 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2024-01-29 10:42:35 +0100 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2024-01-29 10:47:48 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2024-01-29 10:49:42 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2024-01-29 10:50:00 +0100 | qqq | (~qqq@92.43.167.61) (Read error: Connection reset by peer) |
2024-01-29 10:50:20 +0100 | cfricke | (~cfricke@user/cfricke) |
2024-01-29 10:50:36 +0100 | fansly | (~fansly@2001:448a:2010:476e:c9c:17f1:874c:ee93) (Ping timeout: 268 seconds) |
2024-01-29 10:52:06 +0100 | danse-nr3 | (~danse@151.47.239.140) (Ping timeout: 256 seconds) |
2024-01-29 10:52:11 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 10:52:12 +0100 | zetef | (~quassel@95.77.17.251) |
2024-01-29 10:52:37 +0100 | fansly | (~fansly@182.0.137.161) |
2024-01-29 10:54:37 +0100 | qqq | (~qqq@92.43.167.61) |
2024-01-29 10:56:46 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds) |
2024-01-29 10:57:16 +0100 | CiaoSen | (~Jura@2a05:5800:281:fa00:ca4b:d6ff:fec1:99da) |
2024-01-29 10:57:53 +0100 | zetef_ | (~quassel@95.77.17.251) |
2024-01-29 10:58:00 +0100 | zetef | (~quassel@95.77.17.251) (Ping timeout: 268 seconds) |
2024-01-29 11:01:50 +0100 | danse-nr3 | (~danse@151.37.255.140) |
2024-01-29 11:08:02 +0100 | tzh | (~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz) |
2024-01-29 11:08:48 +0100 | fansly | (~fansly@182.0.137.161) (Read error: Connection reset by peer) |
2024-01-29 11:09:09 +0100 | fansly | (~fansly@173-245-211-164.sin.as54203.net) |
2024-01-29 11:09:25 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2024-01-29 11:09:46 +0100 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds) |
2024-01-29 11:09:46 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 255 seconds) |
2024-01-29 11:11:15 +0100 | zetef_ | (~quassel@95.77.17.251) (Ping timeout: 260 seconds) |
2024-01-29 11:14:02 +0100 | <kuribas> | We have some python code where the previous guy wrote lots of useless layers and boilerplate code. |
2024-01-29 11:14:25 +0100 | <kuribas> | I wonder if I could use the haskell python parser to rewrite this code, by removing useless classes etc... |
2024-01-29 11:14:51 +0100 | <kuribas> | https://hackage.haskell.org/package/hpython |
2024-01-29 11:14:51 +0100 | <danse-nr3> | sheesh the faith we have in automation these days is ridiculous |
2024-01-29 11:15:19 +0100 | <kuribas> | semantic preserving rewrite steps are fine. |
2024-01-29 11:15:49 +0100 | <danse-nr3> | just semantic? Easy one then |
2024-01-29 11:16:04 +0100 | <kuribas> | Sort of, because semantics in Python are often vague. |
2024-01-29 11:16:17 +0100 | <tomsmeding> | kuribas: how many lines of code are we talking about |
2024-01-29 11:16:19 +0100 | <danse-nr3> | clearly the irony did not make it through |
2024-01-29 11:16:34 +0100 | fansly | (~fansly@173-245-211-164.sin.as54203.net) (Ping timeout: 276 seconds) |
2024-01-29 11:16:46 +0100 | fansly | (~fansly@182.0.166.225) |
2024-01-29 11:16:48 +0100 | <kuribas> | tomsmeding: sadly we have whole packages written in this style. |
2024-01-29 11:16:58 +0100 | <tomsmeding> | also almost no change in python is semantics-preserving because reflection is a thing |
2024-01-29 11:17:37 +0100 | <tomsmeding> | surely the useless code is not _so_ obviously structured that it's easy to write a bespoke pass that eliminates it? |
2024-01-29 11:18:15 +0100 | <tomsmeding> | I appreciate that it's more fun to hack on a compiler than on legacy code, but I question the time-efficiency :p |
2024-01-29 11:18:50 +0100 | <kuribas> | maybe some kind of partial evaluation? |
2024-01-29 11:18:57 +0100 | <tomsmeding> | reflection |
2024-01-29 11:19:07 +0100 | <tomsmeding> | almost nothing you can do to a python program is truly semantics-preserving |
2024-01-29 11:19:19 +0100 | <tomsmeding> | you'd have to make assumptions about what the users of the packages are doing |
2024-01-29 11:19:31 +0100 | <tomsmeding> | at which point you're writing a bespoke pass for this particular set of libraries in your usecase |
2024-01-29 11:19:31 +0100 | <kuribas> | tomsmeding: right, but this was an application. |
2024-01-29 11:19:37 +0100 | <tomsmeding> | right |
2024-01-29 11:20:37 +0100 | <tomsmeding> | what about a human-guided procedure? |
2024-01-29 11:20:51 +0100 | <kuribas> | tomsmeding: that's sort of what I had in mind. |
2024-01-29 11:21:03 +0100 | <kuribas> | Small steps guided by a human. |
2024-01-29 11:21:06 +0100 | <tomsmeding> | load a (set of) python package(s) into memory as ASTs, and have the human say "inline this function" |
2024-01-29 11:21:28 +0100 | <tomsmeding> | which is impossible in the presence of higher-orderness or class inheritance |
2024-01-29 11:21:33 +0100 | <tomsmeding> | but anyway |
2024-01-29 11:22:02 +0100 | <kuribas> | tomsmeding: I can make some assumptions, like that methods are not changed dynamically (except for decorators). |
2024-01-29 11:22:08 +0100 | <kuribas> | Decorators could be inlined. |
2024-01-29 11:22:27 +0100 | <tomsmeding> | are there classes? Do they use virtual methods (i.e. inheritance)? |
2024-01-29 11:22:44 +0100 | <tomsmeding> | it's true that decorators could probably be inlined fine |
2024-01-29 11:23:16 +0100 | <tomsmeding> | grep your code for __getitem__ first |
2024-01-29 11:23:34 +0100 | <kuribas> | tomsmeding: yeah, there are lots of AbstractBaseClasses that do nothing. |
2024-01-29 11:25:02 +0100 | <kuribas> | I could turn a class into a dataclass, and all methods into functions. The local class variables become a dictionary that is passed through each function. |
2024-01-29 11:25:45 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 11:27:35 +0100 | <tomsmeding> | as long as you have good and comprehensive tests :) |
2024-01-29 11:27:50 +0100 | <kuribas> | right :) |
2024-01-29 11:31:27 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) |
2024-01-29 11:31:36 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds) |
2024-01-29 11:32:15 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 260 seconds) |
2024-01-29 11:34:41 +0100 | nicos | (~nsm@2800:2131:5400:883:28f6:1624:5755:79b0) (Ping timeout: 256 seconds) |
2024-01-29 11:37:03 +0100 | <phma> | I got the progress bar working in the parallelized function, using unsafePerformIO. |
2024-01-29 11:39:01 +0100 | nicos | (~nsm@186.141.200.117) |
2024-01-29 11:40:02 +0100 | <kuribas> | phma: why not embrance IO? |
2024-01-29 11:40:04 +0100 | fansly | (~fansly@182.0.166.225) (Read error: Connection reset by peer) |
2024-01-29 11:40:31 +0100 | <kuribas> | If you are using a progress bar it means you are sequential anyway. |
2024-01-29 11:40:36 +0100 | fansly | (~fansly@2001:448a:2010:476e:c9c:17f1:874c:ee93) |
2024-01-29 11:40:57 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d90a:8962:8a2b:5610) |
2024-01-29 11:41:47 +0100 | <kuribas> | Or find a pure way to represent "progress", and hook the progressbar into that. |
2024-01-29 11:42:35 +0100 | <phma> | embrance? |
2024-01-29 11:43:05 +0100 | <danse-nr3> | embrace like it was france |
2024-01-29 11:43:09 +0100 | turlando | (~turlando@user/turlando) (Remote host closed the connection) |
2024-01-29 11:44:23 +0100 | turlando | (~turlando@user/turlando) |
2024-01-29 11:44:47 +0100 | <phma> | The function will take at least an hour when I'm finished with it; it's a cryptanalysis which calls the cipher function many times and computes statistics. |
2024-01-29 11:45:14 +0100 | <phma> | Several instances of the cipher run in parallel. |
2024-01-29 11:45:57 +0100 | <kuribas> | Is this for blockchain? |
2024-01-29 11:46:01 +0100 | <phma> | no |
2024-01-29 11:46:35 +0100 | <danse-nr3> | well they run in parallel but probably they would report to the same thread that can embrace IO to display progress? |
2024-01-29 11:47:06 +0100 | <kuribas> | danse-nr3: well, reporting to thread is IO .... |
2024-01-29 11:47:12 +0100 | <phma> | how do they report? |
2024-01-29 11:51:14 +0100 | <phma> | it's https://github.com/phma/wring-twistree ; only one cryptanalysis has a progress bar yet, but I'll add it to the others |
2024-01-29 11:51:21 +0100 | fendor | (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) (Remote host closed the connection) |
2024-01-29 11:52:35 +0100 | fendor | (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) |
2024-01-29 11:53:21 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2024-01-29 11:54:10 +0100 | <kuribas> | I just wonder if the way I code with static types would match with how you code dynamicly with tests: To make small changes, and check each time if the tests still work. |
2024-01-29 11:54:49 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 11:56:29 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2024-01-29 11:57:27 +0100 | <Hecate> | kuribas: sure it does |
2024-01-29 11:57:32 +0100 | <Hecate> | you just test different things |
2024-01-29 11:57:38 +0100 | <Hecate> | but TDD is very nice to do in Haskell |
2024-01-29 11:59:25 +0100 | xff0x | (~xff0x@2405:6580:b080:900:7000:b18f:89a0:e9bd) |
2024-01-29 11:59:37 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 256 seconds) |
2024-01-29 12:00:42 +0100 | <kuribas> | In haskell I don't end up writing a lot of tests. |
2024-01-29 12:00:54 +0100 | <kuribas> | But in Python it seems almost a requirement. |
2024-01-29 12:01:07 +0100 | danse-nr3 | (~danse@151.37.255.140) (Quit: Leaving) |
2024-01-29 12:02:43 +0100 | <[exa]> | kuribas: I'm not risking less than 100% coverage AND autotested docs in dynamic languages anymore :D |
2024-01-29 12:02:43 +0100 | sroso | (~sroso@user/SrOso) (Quit: Leaving :)) |
2024-01-29 12:13:29 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 12:14:39 +0100 | pavonia | (~user@user/siracusa) |
2024-01-29 12:16:19 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 268 seconds) |
2024-01-29 12:18:21 +0100 | mmhat | (~mmh@p200300f1c73bf41cee086bfffe095315.dip0.t-ipconnect.de) |
2024-01-29 12:18:25 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds) |
2024-01-29 12:22:53 +0100 | fansly | (~fansly@2001:448a:2010:476e:c9c:17f1:874c:ee93) (Remote host closed the connection) |
2024-01-29 12:26:16 +0100 | nicos | (~nsm@186.141.200.117) (Ping timeout: 255 seconds) |
2024-01-29 12:27:17 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2024-01-29 12:28:43 +0100 | xff0x | (~xff0x@2405:6580:b080:900:7000:b18f:89a0:e9bd) (Ping timeout: 260 seconds) |
2024-01-29 12:28:50 +0100 | nicos | (~nsm@186.141.165.4) |
2024-01-29 12:30:41 +0100 | xff0x | (~xff0x@ai085147.d.east.v6connect.net) |
2024-01-29 12:31:15 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 12:35:43 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 255 seconds) |
2024-01-29 12:35:45 +0100 | acidjnk_new | (~acidjnk@p200300d6e737e756882f209ddca8eb35.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2024-01-29 12:38:36 +0100 | califax | (~califax@user/califx) (Remote host closed the connection) |
2024-01-29 12:39:45 +0100 | califax | (~califax@user/califx) |
2024-01-29 12:42:05 +0100 | nicos | (~nsm@186.141.165.4) (Ping timeout: 252 seconds) |
2024-01-29 12:43:15 +0100 | califax | (~califax@user/califx) (Remote host closed the connection) |
2024-01-29 12:43:36 +0100 | califax | (~califax@user/califx) |
2024-01-29 12:44:18 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds) |
2024-01-29 12:44:53 +0100 | euleritian | (~euleritia@dynamic-176-006-189-135.176.6.pool.telefonica.de) |
2024-01-29 12:44:57 +0100 | nicos | (~nsm@199.253.243.23) |
2024-01-29 12:46:40 +0100 | fansly | (~fansly@103.3.221.54) |
2024-01-29 12:49:24 +0100 | euleritian | (~euleritia@dynamic-176-006-189-135.176.6.pool.telefonica.de) (Ping timeout: 256 seconds) |
2024-01-29 12:49:32 +0100 | tremon | (~tremon@83.80.159.219) |
2024-01-29 12:49:52 +0100 | euleritian | (~euleritia@dynamic-176-006-198-247.176.6.pool.telefonica.de) |
2024-01-29 12:49:58 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 12:54:30 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 256 seconds) |
2024-01-29 12:55:19 +0100 | euleritian | (~euleritia@dynamic-176-006-198-247.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-01-29 12:55:37 +0100 | euleritian | (~euleritia@77.22.252.56) |
2024-01-29 13:00:10 +0100 | fansly | (~fansly@103.3.221.54) (Ping timeout: 256 seconds) |
2024-01-29 13:01:03 +0100 | fansly | (~fansly@182.0.171.189) |
2024-01-29 13:04:11 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2024-01-29 13:05:44 +0100 | dhruvasagar | (~dhruvasag@2401:4900:62fd:7384:5d1d:5cfa:8450:6f8) |
2024-01-29 13:08:03 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 13:12:02 +0100 | dhruvasagar | (~dhruvasag@2401:4900:62fd:7384:5d1d:5cfa:8450:6f8) (Quit: WeeChat 4.1.2) |
2024-01-29 13:12:15 +0100 | dhruvasagar | (~dhruvasag@2401:4900:62fd:7384:5d1d:5cfa:8450:6f8) |
2024-01-29 13:13:43 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 256 seconds) |
2024-01-29 13:14:43 +0100 | fansly | (~fansly@182.0.171.189) (Remote host closed the connection) |
2024-01-29 13:15:26 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-01-29 13:21:39 +0100 | dhruvasagar | (~dhruvasag@2401:4900:62fd:7384:5d1d:5cfa:8450:6f8) (Ping timeout: 256 seconds) |
2024-01-29 13:24:25 +0100 | trev | (~trev@user/trev) (Ping timeout: 260 seconds) |
2024-01-29 13:25:04 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) |
2024-01-29 13:28:46 +0100 | waldo | (~waldo@user/waldo) |
2024-01-29 13:31:06 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-01-29 13:36:35 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 13:39:37 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3241-a2f0-1d99-57f3-31fe-fa1c.rev.sfr.net) |
2024-01-29 13:41:03 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 256 seconds) |
2024-01-29 13:42:09 +0100 | trev | (~trev@user/trev) |
2024-01-29 13:46:29 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1) |
2024-01-29 13:51:54 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 260 seconds) |
2024-01-29 13:53:38 +0100 | notzmv | (~zmv@user/notzmv) |
2024-01-29 13:58:51 +0100 | acidjnk_new | (~acidjnk@p200300d6e737e728886c6af3a169d6ea.dip0.t-ipconnect.de) |
2024-01-29 14:03:32 +0100 | danse-nr3 | (~danse@151.35.152.95) |
2024-01-29 14:06:42 +0100 | <danse-nr3> | would anyone help me with intuition about `awaitForever :: Monad m => (i -> ConduitT i o m r) -> ConduitT i o m () `? A conduit is awaiting forever on an i, but then for each i another conduit is returned consuming another is |
2024-01-29 14:09:49 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 14:13:35 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) |
2024-01-29 14:15:07 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 260 seconds) |
2024-01-29 14:15:24 +0100 | rosco | (~rosco@175.136.156.77) |
2024-01-29 14:16:48 +0100 | <c_wraith> | danse-nr3: it transforms a function that takes an i and returns a Conduit into a Conduit that feeds that function with values it receives via repeatedly awaiting |
2024-01-29 14:17:18 +0100 | <danse-nr3> | cheers c_wraith ! |
2024-01-29 14:17:22 +0100 | <c_wraith> | danse-nr3: since the function returns a Conduit, it can do things like yielding an o |
2024-01-29 14:17:39 +0100 | <c_wraith> | danse-nr3: or performing m effects |
2024-01-29 14:17:48 +0100 | <danse-nr3> | makes sense |
2024-01-29 14:25:05 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
2024-01-29 14:25:54 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2024-01-29 14:27:01 +0100 | mmhat | (~mmh@p200300f1c73bf41cee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.2.1) |
2024-01-29 14:30:45 +0100 | Square | (~Square4@user/square) (Ping timeout: 268 seconds) |
2024-01-29 14:31:52 +0100 | <c_wraith> | It also *could* await itself, but... that would get confusing. Probably don't do that. |
2024-01-29 14:34:50 +0100 | yagkasha | (uid629884@id-629884.hampstead.irccloud.com) |
2024-01-29 14:35:02 +0100 | yagkasha | (uid629884@id-629884.hampstead.irccloud.com) (Changing host) |
2024-01-29 14:35:02 +0100 | yagkasha | (uid629884@user/yagkasha) |
2024-01-29 14:36:14 +0100 | Lycurgus | (~georg@li1192-118.members.linode.com) |
2024-01-29 14:36:14 +0100 | Lycurgus | (~georg@li1192-118.members.linode.com) (Changing host) |
2024-01-29 14:36:14 +0100 | Lycurgus | (~georg@user/Lycurgus) |
2024-01-29 14:37:42 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 14:40:06 +0100 | <danse-nr3> | v |
2024-01-29 14:40:16 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 14:43:23 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds) |
2024-01-29 14:44:44 +0100 | waldo | (~waldo@user/waldo) (Ping timeout: 252 seconds) |
2024-01-29 14:45:20 +0100 | ell | (~ellie@user/ellie) |
2024-01-29 14:45:56 +0100 | qqq | (~qqq@92.43.167.61) (Remote host closed the connection) |
2024-01-29 14:53:54 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2024-01-29 14:55:38 +0100 | igemnace | (~ian@user/igemnace) (Read error: Connection reset by peer) |
2024-01-29 14:57:43 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 15:00:09 +0100 | nicos | (~nsm@199.253.243.23) (Read error: Connection reset by peer) |
2024-01-29 15:01:50 +0100 | nicos | (~nsm@199.253.243.23) |
2024-01-29 15:04:09 +0100 | nicos | (~nsm@199.253.243.23) (Read error: Connection reset by peer) |
2024-01-29 15:04:31 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Quit: WeeChat 4.1.2) |
2024-01-29 15:05:07 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 246 seconds) |
2024-01-29 15:05:14 +0100 | nicos | (~nsm@199.253.243.23) |
2024-01-29 15:07:19 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-01-29 15:11:56 +0100 | igemnace | (~ian@user/igemnace) |
2024-01-29 15:16:49 +0100 | thegeekinside | (~thegeekin@189.180.65.186) |
2024-01-29 15:19:54 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 15:30:51 +0100 | rosco | (~rosco@175.136.156.77) (Quit: Lost terminal) |
2024-01-29 15:31:02 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 15:44:42 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2024-01-29 15:45:38 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) (Ping timeout: 255 seconds) |
2024-01-29 15:46:53 +0100 | danse-nr3 | (~danse@151.35.152.95) (Ping timeout: 252 seconds) |
2024-01-29 15:47:42 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) |
2024-01-29 15:48:52 +0100 | mrd | (~mrd@145.107.129.12) |
2024-01-29 15:49:04 +0100 | mrd | (~mrd@145.107.129.12) (Changing host) |
2024-01-29 15:49:04 +0100 | mrd | (~mrd@user/mrd) |
2024-01-29 15:49:38 +0100 | mrd | (~mrd@user/mrd) (Client Quit) |
2024-01-29 16:00:03 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2024-01-29 16:00:04 +0100 | mokee | (~mokee@37.228.215.150) |
2024-01-29 16:04:57 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2024-01-29 16:07:11 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 264 seconds) |
2024-01-29 16:10:48 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.1.2) |
2024-01-29 16:13:45 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2024-01-29 16:13:52 +0100 | califax | (~califax@user/califx) (Remote host closed the connection) |
2024-01-29 16:14:12 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2024-01-29 16:15:34 +0100 | euleritian | (~euleritia@77.22.252.56) (Read error: Connection reset by peer) |
2024-01-29 16:15:43 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-01-29 16:16:01 +0100 | califax | (~califax@user/califx) |
2024-01-29 16:17:40 +0100 | califax | (~califax@user/califx) (Remote host closed the connection) |
2024-01-29 16:18:11 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2024-01-29 16:18:16 +0100 | califax | (~califax@user/califx) |
2024-01-29 16:18:49 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2024-01-29 16:23:54 +0100 | ddellacosta | (~ddellacos@ool-44c73d16.dyn.optonline.net) (Ping timeout: 268 seconds) |
2024-01-29 16:24:13 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds) |
2024-01-29 16:24:49 +0100 | euleritian | (~euleritia@dynamic-176-006-187-020.176.6.pool.telefonica.de) |
2024-01-29 16:31:18 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2024-01-29 16:31:40 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2024-01-29 16:35:15 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 16:37:38 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3241-a2f0-1d99-57f3-31fe-fa1c.rev.sfr.net) (Remote host closed the connection) |
2024-01-29 16:38:00 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3241-a2f0-25f6-2463-e80a-c3aa.rev.sfr.net) |
2024-01-29 16:42:34 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3241-a2f0-25f6-2463-e80a-c3aa.rev.sfr.net) (Ping timeout: 250 seconds) |
2024-01-29 16:43:40 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 255 seconds) |
2024-01-29 16:47:44 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 255 seconds) |
2024-01-29 16:48:43 +0100 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2024-01-29 16:49:02 +0100 | nicos | (~nsm@199.253.243.23) (Ping timeout: 252 seconds) |
2024-01-29 16:53:45 +0100 | waldo | (~waldo@user/waldo) |
2024-01-29 16:53:52 +0100 | duncan_ | duncan |
2024-01-29 17:07:45 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 256 seconds) |
2024-01-29 17:11:57 +0100 | nicos | (~nsm@186.143.197.185) |
2024-01-29 17:18:59 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 260 seconds) |
2024-01-29 17:19:38 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 17:24:17 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 260 seconds) |
2024-01-29 17:28:47 +0100 | CiaoSen | (~Jura@2a05:5800:281:fa00:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds) |
2024-01-29 17:32:13 +0100 | dolio | (~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-01-29 17:34:05 +0100 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-01-29 17:36:28 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 17:38:31 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d90a:8962:8a2b:5610) (Remote host closed the connection) |
2024-01-29 17:38:54 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d90a:8962:8a2b:5610) |
2024-01-29 17:40:13 +0100 | dolio | (~dolio@130.44.134.54) |
2024-01-29 17:41:11 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 256 seconds) |
2024-01-29 17:42:02 +0100 | average | (uid473595@user/average) |
2024-01-29 17:47:26 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 17:49:54 +0100 | nicos | (~nsm@186.143.197.185) (Read error: Connection reset by peer) |
2024-01-29 17:51:41 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 240 seconds) |
2024-01-29 17:54:22 +0100 | nicos | (~nsm@199.253.243.23) |
2024-01-29 17:58:51 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 18:02:55 +0100 | euleritian | (~euleritia@dynamic-176-006-187-020.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-01-29 18:03:18 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-01-29 18:03:30 +0100 | waldo | (~waldo@user/waldo) (Ping timeout: 268 seconds) |
2024-01-29 18:04:07 +0100 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 4.1.2) |
2024-01-29 18:08:44 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 268 seconds) |
2024-01-29 18:08:59 +0100 | waldo | (~waldo@user/waldo) |
2024-01-29 18:13:13 +0100 | waldo | (~waldo@user/waldo) (Ping timeout: 255 seconds) |
2024-01-29 18:17:13 +0100 | ridcully | (~ridcully@p508ac914.dip0.t-ipconnect.de) (Quit: WeeChat 4.1.2) |
2024-01-29 18:17:29 +0100 | ridcully | (~ridcully@p508ac914.dip0.t-ipconnect.de) |
2024-01-29 18:19:36 +0100 | waldo | (~waldo@user/waldo) |
2024-01-29 18:21:09 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2024-01-29 18:21:42 +0100 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2024-01-29 18:22:01 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1)) |
2024-01-29 18:34:54 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2024-01-29 18:36:27 +0100 | tzh | (~tzh@c-71-193-181-0.hsd1.or.comcast.net) |
2024-01-29 18:37:45 +0100 | tri_ | (~tri@2607:fb90:552c:d345:90cc:4a85:515e:d21b) |
2024-01-29 18:40:47 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds) |
2024-01-29 18:48:52 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 18:49:19 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-01-29 18:51:51 +0100 | __monty__ | (~toonn@user/toonn) (Ping timeout: 260 seconds) |
2024-01-29 18:53:31 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 276 seconds) |
2024-01-29 18:54:57 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 18:55:08 +0100 | HikariNee | (~HikariNee@49.43.1.30) |
2024-01-29 18:55:30 +0100 | HikariNee | (~HikariNee@49.43.1.30) (Remote host closed the connection) |
2024-01-29 18:55:47 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 18:58:05 +0100 | tri_ | (~tri@2607:fb90:552c:d345:90cc:4a85:515e:d21b) (Ping timeout: 260 seconds) |
2024-01-29 19:00:31 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 256 seconds) |
2024-01-29 19:01:00 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 19:01:19 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds) |
2024-01-29 19:01:59 +0100 | Guest57 | (~Guest70@137.122.64.218) |
2024-01-29 19:03:16 +0100 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 276 seconds) |
2024-01-29 19:04:54 +0100 | michalz | (~michalz@185.246.207.221) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-01-29 19:05:03 +0100 | hueso | (~root@user/hueso) (Ping timeout: 256 seconds) |
2024-01-29 19:05:06 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-01-29 19:05:07 +0100 | destituion | (~destituio@2a02:2121:304:cc78:cd0b:f6d2:1dd2:3990) |
2024-01-29 19:05:37 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 256 seconds) |
2024-01-29 19:11:09 +0100 | mima | (~mmh@aftr-62-216-211-164.dynamic.mnet-online.de) (Ping timeout: 260 seconds) |
2024-01-29 19:11:53 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 19:13:40 +0100 | rvalue | (~rvalue@user/rvalue) |
2024-01-29 19:14:42 +0100 | ricardo__ | (~ricardo@shabang.toppoint.de) (Read error: Connection reset by peer) |
2024-01-29 19:15:56 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-95.elisa-laajakaista.fi) |
2024-01-29 19:16:47 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 264 seconds) |
2024-01-29 19:17:36 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 19:17:59 +0100 | hueso | (~root@user/hueso) |
2024-01-29 19:21:01 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1) |
2024-01-29 19:22:29 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 252 seconds) |
2024-01-29 19:22:42 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) |
2024-01-29 19:24:17 +0100 | waldo | (~waldo@user/waldo) (Ping timeout: 268 seconds) |
2024-01-29 19:24:56 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 19:37:17 +0100 | <dfg> | spitball idea: would it be possible that an sql query could also be haskell code? or what might be the closest thing to it? |
2024-01-29 19:39:32 +0100 | <dfg> | it occured to me that 3select * from table and maybe some other simpler queries might not be too far from also being haskell-ish syntax? or am i just high |
2024-01-29 19:40:01 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 264 seconds) |
2024-01-29 19:41:10 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 19:41:20 +0100 | <EvanR> | selectFrom star "table", might work |
2024-01-29 19:43:12 +0100 | <EvanR> | @where basic |
2024-01-29 19:43:13 +0100 | <lambdabot> | I know nothing about basic. |
2024-01-29 19:43:47 +0100 | <EvanR> | for something more along the lines of mimicking another language ... I can't find the original post but there's https://hackage.haskell.org/package/BASIC-0.1.5.0/docs/Language-BASIC.html |
2024-01-29 19:45:41 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Ping timeout: 260 seconds) |
2024-01-29 19:45:51 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 256 seconds) |
2024-01-29 19:46:40 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 19:47:58 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-01-29 19:51:31 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 256 seconds) |
2024-01-29 20:00:33 +0100 | nshepperd2 | (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) |
2024-01-29 20:03:20 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 20:03:22 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 260 seconds) |
2024-01-29 20:03:25 +0100 | Guest57 | (~Guest70@137.122.64.218) (Quit: Client closed) |
2024-01-29 20:08:05 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 256 seconds) |
2024-01-29 20:11:27 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-01-29 20:12:13 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-01-29 20:19:57 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 20:23:10 +0100 | krei-se | (~krei-se@p508747fd.dip0.t-ipconnect.de) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-01-29 20:23:45 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2024-01-29 20:24:38 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 252 seconds) |
2024-01-29 20:24:41 +0100 | krei-se | (~krei-se@p508747fd.dip0.t-ipconnect.de) |
2024-01-29 20:25:09 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d90a:8962:8a2b:5610) (Remote host closed the connection) |
2024-01-29 20:30:57 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-01-29 20:31:01 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 20:56:34 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 255 seconds) |
2024-01-29 20:58:26 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2024-01-29 20:59:00 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d90a:8962:8a2b:5610) |
2024-01-29 21:03:21 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 21:04:10 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d90a:8962:8a2b:5610) (Ping timeout: 276 seconds) |
2024-01-29 21:06:35 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1) |
2024-01-29 21:10:01 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 276 seconds) |
2024-01-29 21:12:06 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) |
2024-01-29 21:19:45 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1) |
2024-01-29 21:23:09 +0100 | trev | (~trev@user/trev) (Quit: trev) |
2024-01-29 21:26:57 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 21:31:32 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) |
2024-01-29 21:31:57 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 256 seconds) |
2024-01-29 21:33:40 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-01-29 21:33:42 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2024-01-29 21:36:18 +0100 | ft | (~ft@p3e9bc222.dip0.t-ipconnect.de) |
2024-01-29 21:37:40 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) |
2024-01-29 21:44:16 +0100 | peterbecich | (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds) |
2024-01-29 21:54:26 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d90a:8962:8a2b:5610) |
2024-01-29 21:56:28 +0100 | EvanR | (~EvanR@user/evanr) (Quit: Leaving) |
2024-01-29 22:00:40 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 22:04:09 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-01-29 22:05:07 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 246 seconds) |
2024-01-29 22:06:25 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 22:07:44 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection) |
2024-01-29 22:08:53 +0100 | tremon | (~tremon@83.80.159.219) (Quit: getting boxed in) |
2024-01-29 22:10:58 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 256 seconds) |
2024-01-29 22:12:48 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 22:12:56 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-01-29 22:13:27 +0100 | nicos | (~nsm@199.253.243.23) (Ping timeout: 260 seconds) |
2024-01-29 22:15:29 +0100 | notzmv | (~zmv@user/notzmv) |
2024-01-29 22:15:58 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 22:17:16 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-01-29 22:17:19 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 22:17:49 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-01-29 22:20:19 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2024-01-29 22:22:01 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 260 seconds) |
2024-01-29 22:22:12 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-01-29 22:23:18 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1) |
2024-01-29 22:28:23 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 22:28:25 +0100 | Guest|15 | (~Guest|15@075-185-104-199.res.spectrum.com) |
2024-01-29 22:28:43 +0100 | Guest|15 | (~Guest|15@075-185-104-199.res.spectrum.com) (Client Quit) |
2024-01-29 22:28:55 +0100 | danse-nr3 | (~danse@151.47.87.83) |
2024-01-29 22:29:32 +0100 | danse-nr3 | (~danse@151.47.87.83) (Remote host closed the connection) |
2024-01-29 22:31:51 +0100 | danse-nr3 | (~danse@151.47.87.83) |
2024-01-29 22:33:13 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 260 seconds) |
2024-01-29 22:33:27 +0100 | danse-nr3 | (~danse@151.47.87.83) (Remote host closed the connection) |
2024-01-29 22:34:11 +0100 | danse-nr3 | (~danse@151.47.87.83) |
2024-01-29 22:34:41 +0100 | danse-nr3 | (~danse@151.47.87.83) (Client Quit) |
2024-01-29 22:35:24 +0100 | danse-nr3 | (~danse@151.47.87.83) |
2024-01-29 22:36:01 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2024-01-29 22:36:57 +0100 | danse-nr3 | (~danse@151.47.87.83) (Read error: Connection reset by peer) |
2024-01-29 22:37:28 +0100 | danse-nr3 | (~danse@151.47.87.83) |
2024-01-29 22:39:29 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 22:42:16 +0100 | Lycurgus | (~georg@user/Lycurgus) (Quit: leaving) |
2024-01-29 22:44:29 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 256 seconds) |
2024-01-29 22:45:02 +0100 | nicos | (~nsm@186.141.133.40) |
2024-01-29 22:45:14 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) |
2024-01-29 22:53:02 +0100 | igemnace | (~ian@user/igemnace) (Read error: Connection reset by peer) |
2024-01-29 22:56:19 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 22:58:28 +0100 | average | (uid473595@user/average) (Quit: Connection closed for inactivity) |
2024-01-29 23:01:21 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 268 seconds) |
2024-01-29 23:06:29 +0100 | danse-nr3 | (~danse@151.47.87.83) (Ping timeout: 240 seconds) |
2024-01-29 23:07:24 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 23:10:12 +0100 | igemnace | (~ian@user/igemnace) |
2024-01-29 23:11:58 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 246 seconds) |
2024-01-29 23:14:35 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving) |
2024-01-29 23:16:39 +0100 | nicos | (~nsm@186.141.133.40) (Read error: Connection reset by peer) |
2024-01-29 23:17:17 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1) |
2024-01-29 23:19:18 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 23:19:19 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) |
2024-01-29 23:23:15 +0100 | nicos | (~nsm@2800:2131:5400:883:28f6:1624:5755:79b0) |
2024-01-29 23:23:43 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 255 seconds) |
2024-01-29 23:30:12 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2024-01-29 23:33:45 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-01-29 23:33:55 +0100 | Square | (~Square@user/square) |
2024-01-29 23:39:05 +0100 | nicos | (~nsm@2800:2131:5400:883:28f6:1624:5755:79b0) (Quit: Quit) |
2024-01-29 23:48:33 +0100 | a51 | (a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1) |
2024-01-29 23:51:57 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) |
2024-01-29 23:56:55 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2024-01-29 23:56:59 +0100 | dhruvasagar | (~dhruvasag@49.207.206.234) (Ping timeout: 264 seconds) |
2024-01-29 23:57:23 +0100 | mima | (~mmh@aftr-62-216-211-36.dynamic.mnet-online.de) |
2024-01-29 23:57:55 +0100 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-01-29 23:59:45 +0100 | fendor | (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) (Remote host closed the connection) |