2022/08/03

2022-08-03 00:06:21 +0200John_Ivan(~John_Ivan@user/john-ivan/x-1515935)
2022-08-03 00:07:30 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-08-03 00:07:41 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-03 00:07:50 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 240 seconds)
2022-08-03 00:08:31 +0200shinjipf(~shinjipf@2a02:c207:2082:6685::1) (Quit: Ping timeout (120 seconds))
2022-08-03 00:08:47 +0200shinjipf(~shinjipf@2a02:c207:2082:6685::1)
2022-08-03 00:10:40 +0200 <hippoid> will the kind of a typeclass always end in -> Constraint?
2022-08-03 00:10:53 +0200 <hpc_> yes
2022-08-03 00:10:55 +0200hpc_hpc
2022-08-03 00:11:39 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-08-03 00:17:40 +0200 <ski> % class Dee; class Dum; instance Dee
2022-08-03 00:17:40 +0200 <yahb2> <interactive>:90:1: error: ; • No parameters for class ‘Dee’ ; (Enable MultiParamTypeClasses to allow no-parameter classes) ; • In the class declaration for ‘Dee’ ; ; <interactive>:9...
2022-08-03 00:17:55 +0200 <ski> % :set -XMultiParamTypeClasses
2022-08-03 00:17:56 +0200 <yahb2> <no output>
2022-08-03 00:17:57 +0200 <ski> % class Dee; class Dum; instance Dee
2022-08-03 00:17:57 +0200 <yahb2> <no output>
2022-08-03 00:18:05 +0200 <ski> % :k Dee
2022-08-03 00:18:06 +0200 <yahb2> Dee :: Constraint
2022-08-03 00:18:47 +0200sonologico(~raphael@dhcp-077-251-118-129.chello.nl) (Ping timeout: 268 seconds)
2022-08-03 00:18:49 +0200Tuplanolla(~Tuplanoll@91-159-68-204.elisa-laajakaista.fi) (Quit: Leaving.)
2022-08-03 00:21:28 +0200[_][itchyjunk]
2022-08-03 00:21:46 +0200sonologico(~raphael@dhcp-077-251-118-129.chello.nl)
2022-08-03 00:24:06 +0200PiDelport(uid25146@id-25146.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-08-03 00:25:50 +0200sonologico(~raphael@dhcp-077-251-118-129.chello.nl) (Ping timeout: 240 seconds)
2022-08-03 00:27:10 +0200Jon(jon@dow.land)
2022-08-03 00:27:47 +0200Rembane(~Rembane@li346-36.members.linode.com)
2022-08-03 00:28:18 +0200statusfailed(~statusfai@statusfailed.com)
2022-08-03 00:28:58 +0200micro(~micro@user/micro)
2022-08-03 00:30:13 +0200Hobbyboy(Hobbyboy@hobbyboy.co.uk)
2022-08-03 00:31:43 +0200jocke-l(jocke-l@a.x0.is)
2022-08-03 00:32:35 +0200robertm(robertm@lattice.rojoma.com)
2022-08-03 00:32:35 +0200phma_(phma@2001:5b0:211b:ae28:2ee:ca83:26d:80f2)
2022-08-03 00:32:40 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-08-03 00:36:17 +0200phma(~phma@host-67-44-208-15.hnremote.net) (Ping timeout: 245 seconds)
2022-08-03 00:38:20 +0200dexter1(~dexter@li655-253.members.linode.com)
2022-08-03 00:38:37 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 00:40:23 +0200sonologico(~raphael@dhcp-077-251-118-129.chello.nl)
2022-08-03 00:42:57 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 245 seconds)
2022-08-03 00:45:09 +0200sonologico(~raphael@dhcp-077-251-118-129.chello.nl) (Ping timeout: 268 seconds)
2022-08-03 00:45:41 +0200Sgeo(~Sgeo@user/sgeo)
2022-08-03 00:48:29 +0200sonologico(~raphael@dhcp-077-251-118-129.chello.nl)
2022-08-03 00:48:47 +0200nate4(~nate@98.45.169.16) (Ping timeout: 252 seconds)
2022-08-03 00:58:17 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 01:03:11 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-03 01:07:32 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds)
2022-08-03 01:08:44 +0200gurkenglas(~gurkengla@p57b8a60f.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-08-03 01:10:45 +0200serus(~serus@65.red-83-53-31.dynamicip.rima-tde.net) (Quit: Leaving)
2022-08-03 01:13:26 +0200sonologico(~raphael@dhcp-077-251-118-129.chello.nl) (Ping timeout: 240 seconds)
2022-08-03 01:17:04 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-03 01:31:42 +0200mikoto-chan(~mikoto-ch@85-76-14-192-nat.elisa-mobile.fi)
2022-08-03 01:38:38 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-08-03 01:39:26 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-03 01:46:11 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2022-08-03 01:51:45 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-08-03 01:58:50 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-03 02:08:03 +0200chele(~chele@user/chele) (Remote host closed the connection)
2022-08-03 02:10:27 +0200Ram-Z(~Ram-Z@li1814-254.members.linode.com)
2022-08-03 02:11:45 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 02:13:41 +0200mvk(~mvk@2607:fea8:5ce3:8500::d5f2) (Ping timeout: 255 seconds)
2022-08-03 02:15:41 +0200cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2022-08-03 02:16:03 +0200cheater(~Username@user/cheater)
2022-08-03 02:22:11 +0200Sciencentistguy4(~sciencent@hacksoc/ordinary-member)
2022-08-03 02:24:07 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Ping timeout: 252 seconds)
2022-08-03 02:24:07 +0200Sciencentistguy4Sciencentistguy
2022-08-03 02:27:03 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 268 seconds)
2022-08-03 02:28:38 +0200xff0x(~xff0x@2405:6580:b080:900:abfc:fa80:23d8:6403) (Ping timeout: 240 seconds)
2022-08-03 02:30:37 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 02:35:02 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 245 seconds)
2022-08-03 02:38:43 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-08-03 02:41:42 +0200misterfish(~misterfis@ip214-130-173-82.adsl2.static.versatel.nl) (Ping timeout: 245 seconds)
2022-08-03 02:42:05 +0200mikoto-chan(~mikoto-ch@85-76-14-192-nat.elisa-mobile.fi) (Ping timeout: 252 seconds)
2022-08-03 02:48:26 +0200John_Ivan(~John_Ivan@user/john-ivan/x-1515935) (Remote host closed the connection)
2022-08-03 02:50:41 +0200John_Ivan(~John_Ivan@user/john-ivan/x-1515935)
2022-08-03 02:51:27 +0200John_Ivan(~John_Ivan@user/john-ivan/x-1515935) (Client Quit)
2022-08-03 02:51:47 +0200John_Ivan(~John_Ivan@user/john-ivan/x-1515935)
2022-08-03 02:56:00 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-08-03 02:56:00 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-08-03 02:56:00 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2022-08-03 02:56:00 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-08-03 02:56:00 +0200noteness(~noteness@user/noteness) (Remote host closed the connection)
2022-08-03 02:56:00 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2022-08-03 02:56:19 +0200califax(~califax@user/califx)
2022-08-03 02:56:20 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2022-08-03 02:56:24 +0200noteness(~noteness@user/noteness)
2022-08-03 02:56:28 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-08-03 02:56:46 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-08-03 02:57:46 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-03 03:04:49 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-03 03:08:03 +0200causal(~user@50.35.83.177)
2022-08-03 03:08:34 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2022-08-03 03:09:02 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2022-08-03 03:10:11 +0200 <instantaphex> Is it possible to define a sum type in haskell that is one of exactly 6 numbers? I tried this: type HeadingWeight = 1 | 2 | 3 | 4 | 5 | 6 but I'm getting a syntax error. How is this done?
2022-08-03 03:12:04 +0200 <Axman6> you can't start a constructor's name with a number
2022-08-03 03:12:10 +0200tessier(~treed@98.171.210.130)
2022-08-03 03:12:20 +0200 <Axman6> it must either be an upper case letter, or : for infix constructors
2022-08-03 03:12:38 +0200 <Axman6> also you neerd to use data, not tyoe
2022-08-03 03:12:38 +0200 <instantaphex> I used: type HeadingWeight = 1 | 2 ...
2022-08-03 03:12:48 +0200 <Axman6> type*
2022-08-03 03:13:09 +0200 <hippoid> instantaphex: data HeadingWeight = One | Two ..
2022-08-03 03:13:16 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-08-03 03:13:20 +0200 <dsal> You can make a Num instance, but that won't make you happy.
2022-08-03 03:13:21 +0200 <Axman6> data HeadingWeight = H1 | H2 | H3 | ...
2022-08-03 03:13:30 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2022-08-03 03:13:39 +0200 <Axman6> you could also use a newtype and a smart constructor
2022-08-03 03:13:47 +0200califax(~califax@user/califx)
2022-08-03 03:14:09 +0200 <Axman6> newtype HeadingWeight = HeadingWeight Int; mkHW :: Int -> Maybe HEadingWeight
2022-08-03 03:14:24 +0200 <instantaphex> Ok so I can only use type to alias existing types?
2022-08-03 03:15:50 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-03 03:16:02 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-08-03 03:16:08 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-08-03 03:16:08 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-08-03 03:16:08 +0200wroathe(~wroathe@user/wroathe)
2022-08-03 03:16:09 +0200 <hpc> yep
2022-08-03 03:16:52 +0200 <hpc> sometimes i suspect the only reason type aliases exist is so we can type String instead of [Char]
2022-08-03 03:18:01 +0200 <instantaphex> Thanks! What is the term for these symbols that are defined after the equals sign in a data constructor? Is there some term for those? For example Axman6 had given an example with H1 | H2 | H3 etc..
2022-08-03 03:19:18 +0200 <hpc> data constructors
2022-08-03 03:19:33 +0200 <hpc> and HeadingWeight would be the type constructor
2022-08-03 03:19:51 +0200 <dsal> type aliases are useful for documentation sometimes.
2022-08-03 03:20:28 +0200 <hpc> i like seeing the underlying type
2022-08-03 03:21:00 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2022-08-03 03:21:56 +0200 <instantaphex> in the examples above, with "One | Two | Three | Four" and "H1 | H2 | H3 | H4" the language server didn't complain about the fact that I had not defined the symbol "One" or "H1"
2022-08-03 03:22:23 +0200 <arahael> instantaphex: That's because your'e defining it.
2022-08-03 03:22:24 +0200 <instantaphex> So I assume I don't need to define those symbols. Is there a name for those particular user defined symbols?
2022-08-03 03:23:15 +0200 <arahael> instantaphex: `Foo = Bar | Baz` defines a Foo type that can be either Bar or Baz, Bar and Baz are the two constructors you can use to obtain the Foo type.
2022-08-03 03:23:27 +0200 <instantaphex> Yeah, I gathered that I could define whatever I wanted. I was hoping to find a term that I could google.
2022-08-03 03:23:48 +0200 <hpc> @src Bool
2022-08-03 03:23:48 +0200 <lambdabot> data Bool = False | True deriving (Eq, Ord)
2022-08-03 03:24:13 +0200 <hpc> ^ is how i kept it all straight way back when i was learning haskell
2022-08-03 03:25:22 +0200 <instantaphex> I'm coming from TypeScript so I'm used to seeing that syntax with symbols that are already defined. type myType = SomeDefinedSymbol | SomeOtherDefinedSymbol
2022-08-03 03:25:48 +0200 <instantaphex> But it looks like in haskell you can just define them inline and they just start existing from that point on
2022-08-03 03:26:07 +0200 <arahael> instantaphex: You're confusing types with values.
2022-08-03 03:26:53 +0200 <arahael> instantaphex: What type is "SomeDefinedSymbol", in typescript?
2022-08-03 03:27:32 +0200 <instantaphex> It would be some other type that's defined in scope
2022-08-03 03:27:42 +0200 <Axman6> instantaphex: data Foo = Bar | Baz is not saying that Foo is either the values of Bar the values of Baz, it is defining two type constructors which take no arguments called Bar and Baz, and they both have type Foo
2022-08-03 03:27:56 +0200 <instantaphex> type mySumType = string | number | SomeClassIImported
2022-08-03 03:28:08 +0200 <Axman6> that's not what this syntax does
2022-08-03 03:28:34 +0200 <Axman6> look at the _definition_ of Bool: data Bool = False | True
2022-08-03 03:28:48 +0200 <Axman6> this is where True and False fome from in Haskell
2022-08-03 03:29:27 +0200 <arahael> instantaphex: I'm looking up typescript at the moment, and I don't see that syntax anywhere.
2022-08-03 03:29:41 +0200 <Axman6> data IntOrString = AnInt Int | AString String <- this defines two constructors, which both take a single argument, AnInt has type Int -> InrOrString, AString has type String -> IntOrString
2022-08-03 03:30:20 +0200 <Axman6> arahael: IIRC it defines a type as being any of the given types, so it's sort of like sum types without the constructors
2022-08-03 03:30:56 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 03:31:11 +0200 <arahael> Axman6: I *do* see it in contexts such as `function f(foo: string | null): string`, but that's a totally different thing.
2022-08-03 03:31:30 +0200 <instantaphex> arahael let me find the docs
2022-08-03 03:31:32 +0200 <arahael> Axman6: As you point out, it suggests that 'foo' can either be a string, or null, in that function's arguments.
2022-08-03 03:31:47 +0200 <dsal> Are you sure that's a totally different thing?
2022-08-03 03:31:55 +0200 <dsal> In any case, it seems confusing.
2022-08-03 03:32:25 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 268 seconds)
2022-08-03 03:32:27 +0200 <Axman6> arahael: it's not a different thing, those are both type definitions, on is inline, one names it
2022-08-03 03:33:06 +0200 <instantaphex> I'm having a hard time finding the official docs for that particular language feature
2022-08-03 03:33:07 +0200 <Axman6> you can write: type optstring = string | null; function f(foo: optstring): string
2022-08-03 03:33:09 +0200 <instantaphex> but it's one I use often
2022-08-03 03:34:28 +0200 <dsal> In haskell, there's less type ambiguity.
2022-08-03 03:34:35 +0200 <arahael> Axman6: It feels different somehow. Like, optstring is more of an alias, I think.
2022-08-03 03:34:36 +0200 <Axman6> string | null is a type, and the type keyword allows you to name that type
2022-08-03 03:34:44 +0200 <Axman6> yes, that's exactly what it is
2022-08-03 03:34:47 +0200nek0(~nek0@2a01:4f8:222:2b41::12) (Quit: The Lounge - https://thelounge.chat)
2022-08-03 03:34:48 +0200 <Axman6> it is a type alias
2022-08-03 03:35:01 +0200 <instantaphex> Well at any rate, it sounds like in Haskell using this syntax will actually create constructors
2022-08-03 03:35:19 +0200 <Axman6> TypeStript's num types are just ghetto versions of real sum types
2022-08-03 03:35:23 +0200 <arahael> Axman6: Right, but... If I were to have 'type fooString = string | null', and I have a value that conforms to fooString, it would somehow also conform to optstring, because in typescript, it's just an alias saying "The valeu can be either this type, or that type".
2022-08-03 03:35:38 +0200 <Axman6> arahael: yes
2022-08-03 03:36:20 +0200 <instantaphex> TypeScript uses structural typing so if it conforms, it passes
2022-08-03 03:36:22 +0200 <Axman6> just like type String = [Char]; type CharyList = [Char] allows me to use "abc" :: String as a CharyList
2022-08-03 03:36:24 +0200 <arahael> Axman6: In Haskell, by contrast, the value is an optstring, or it's a fooString, the type checking doesn't go "Oh, wait, which constructor did you just happen to use, lets ignore the alias name...", like ,the typescript approach could nearly give you adhoc row typing as well?
2022-08-03 03:36:34 +0200 <arahael> Ah, perhaps structural typing is a better more accurate name there than row typing.
2022-08-03 03:36:43 +0200 <dsal> I've tried to avoid learning much about typescript because everything I've learned so far has been rather disappointing, but how do you tell what type you got when you have an ad hoc sum type?
2022-08-03 03:37:05 +0200 <Axman6> probably something similar to Java's isntanceOf
2022-08-03 03:37:14 +0200 <Axman6> or whatever it's called
2022-08-03 03:37:20 +0200 <dsal> Yeah, I suppose that makes sense. I'm wondering about ergonimics.
2022-08-03 03:37:23 +0200 <instantaphex> Types don't exist at runtime
2022-08-03 03:37:30 +0200 <instantaphex> because it compiles to JavaScript
2022-08-03 03:37:31 +0200 <arahael> dsal: That's why I feel it's a totaly different thing. The type you got when you have an ad-hoc sum type in typescript *is* whatever type you chose to use on the right hand side, and the flow type inferrence thing will try to ensure you cover all possibilities.
2022-08-03 03:37:39 +0200 <Axman6> javascript still has types
2022-08-03 03:37:39 +0200 <arahael> instantaphex: Well, they don't exist at runtime in haskell either, I think.
2022-08-03 03:37:51 +0200 <Axman6> arahael: correct
2022-08-03 03:38:08 +0200 <dsal> Haskell also compiles to javascript
2022-08-03 03:38:44 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-03 03:39:31 +0200 <instantaphex> I haven't tried compiling to JavaScript with Haskell yet. I'm more or less at the phase now of not being able to actually do anything practical in haskell
2022-08-03 03:39:48 +0200 <dsal> It's not a very common use.
2022-08-03 03:40:07 +0200 <albet70> do haskell compile to rust :)
2022-08-03 03:40:08 +0200 <dsal> If I need something to run in a browser, I'll use PureScript or maybe Elm.
2022-08-03 03:40:10 +0200 <arahael> dsal: Does it still require a docker instance with 16 GB of memory on an intel system?
2022-08-03 03:40:11 +0200 <instantaphex> Just tutorialing and feeling stupid
2022-08-03 03:40:47 +0200 <arahael> What's purescript like? I haven't touched it since 5 years ago when I first discovered it - it was nice.
2022-08-03 03:40:48 +0200 <dsal> arahael: No idea. I've never been interested enough to try it. :)
2022-08-03 03:40:51 +0200 <arahael> Heh.
2022-08-03 03:41:00 +0200 <Axman6> compiling Haskell to rust would be very difficult, because basically requitres garbage collection, which doesn't play too nicely with Rust
2022-08-03 03:41:01 +0200 <dsal> PureScript is like haskell without some of the warts.
2022-08-03 03:41:39 +0200 <dsal> instantaphex: feeling stupid is great. When you start feeling smart, that's when the problems arise.
2022-08-03 03:41:41 +0200 <arahael> Axman6: Why would we compile to Rust? I'd suggest instead, to WASM.
2022-08-03 03:41:52 +0200 <arahael> dsal: Word!
2022-08-03 03:42:07 +0200 <instantaphex> dsal: Yeah I've resigned myself to feeling stupid and being ok with it
2022-08-03 03:43:29 +0200 <Axman6> arahael: because albet70 suggested it. WebAssembly is where it's at, I'm pretty excited about seeing that in GHC
2022-08-03 03:43:50 +0200 <arahael> Axman6: I think it's a *fantastic* thing, I'm looking forward to really seeing it happen.
2022-08-03 03:44:59 +0200 <Axman6> it feels to me like WebAssembly could be the JVM done right
2022-08-03 03:45:09 +0200 <arahael> I'm hoping so too.
2022-08-03 03:45:11 +0200 <instantaphex> I'm hoping that the WebAssembly spec gets to the point where it doesn't require JavaScript interop to access platform features
2022-08-03 03:45:23 +0200 <Bulby[m]> are you talking about WASM :nerd:
2022-08-03 03:45:25 +0200 <Bulby[m]> i love wasm
2022-08-03 03:45:31 +0200 <Bulby[m]> i hope it does be like jvm but good
2022-08-03 03:45:48 +0200 <instantaphex> JVM++
2022-08-03 03:45:58 +0200 <arahael> instantaphex: I hope platform features like that are *always* gated and always provided via interop.
2022-08-03 03:46:09 +0200 <Bulby[m]> and then use graal to run it in jvm
2022-08-03 03:46:46 +0200 <arahael> Bulby[m]: Or just run it without graal? I dont' think wasm inherently requires javascript at all?
2022-08-03 03:46:47 +0200 <Axman6> the JVM is a pretty shitty target for many languages, particularly functional ones
2022-08-03 03:46:56 +0200 <instantaphex> arhael: Why is that?
2022-08-03 03:47:17 +0200 <instantaphex> arahael: ^
2022-08-03 03:47:18 +0200 <Bulby[m]> i could run it in a runner if there is a java runner
2022-08-03 03:47:37 +0200 <Bulby[m]> iirc there is arunner
2022-08-03 03:48:12 +0200nek0(~nek0@2a01:4f8:222:2b41::12)
2022-08-03 03:48:23 +0200 <arahael> instantaphex: I'll have to think about how to answer that, because from where I'm sitting, I'm kind of like, why would you want to access platform features directly and why is that a good thing? Other than convenience, I guess.
2022-08-03 03:49:24 +0200 <instantaphex> It would be nice to write a front-end app in whatever language you want (assuming it compiles to wasm) and not have to wrap it all up in a javascript wrapper
2022-08-03 03:49:29 +0200 <Axman6> yeah the WASI approach seems sensible to me, will make porting to other platforms easier and allow us to not be tied to "a computer is something which has a file system"
2022-08-03 03:49:50 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-08-03 03:49:51 +0200 <arahael> instantaphex: How woudl that work? Note, one reason I'm very interested in wasm is for iOS.
2022-08-03 03:50:51 +0200 <instantaphex> arahael: You can't access the DOM from WASM, you can't access the platform GC (although it's questionable to me if you would actually want a GC that's a one size fits all...)
2022-08-03 03:50:55 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 03:51:03 +0200darkstarx(~darkstard@50.53.212.60) (Remote host closed the connection)
2022-08-03 03:51:06 +0200 <arahael> instantaphex: What DOM?
2022-08-03 03:51:42 +0200 <instantaphex> arahael: What's the connection between wasm and iOS? You want to run apps in iOS safari?
2022-08-03 03:51:44 +0200darkstarx(~darkstard@50.53.212.60)
2022-08-03 03:51:52 +0200 <arahael> instantaphex: No, just wasm on it's own, no safari.
2022-08-03 03:52:22 +0200 <instantaphex> arahael: DOM = Document Object Model - the browsers data structure for HTML documents
2022-08-03 03:52:37 +0200 <Axman6> WASM doesn't need a browser involved at all
2022-08-03 03:52:45 +0200 <Axman6> IMO it's far more exciting on the server than the browser
2022-08-03 03:52:54 +0200 <arahael> Axman6: I agree!
2022-08-03 03:52:54 +0200 <Axman6> it has the potential to be a better docker
2022-08-03 03:52:56 +0200 <instantaphex> arahael: I don't think you can execute wasm outside of the browser in iOS. Unless someone ported node or something to iOS
2022-08-03 03:52:59 +0200zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-08-03 03:53:05 +0200 <arahael> instantaphex: You definitely can, and wihtout node too.
2022-08-03 03:53:26 +0200 <Axman6> and the fact is enables much more trivial language interop is fantastic
2022-08-03 03:53:30 +0200 <instantaphex> arahael: Is there an iOS runtime available for it?
2022-08-03 03:53:47 +0200 <arahael> instantaphex: This is one I'll probably investigate once I get around to it: https://github.com/wasm3/wasm3
2022-08-03 03:54:25 +0200 <instantaphex> arahael: This is awesome. I didn't know it existed
2022-08-03 03:54:42 +0200 <arahael> instantaphex: Pretty sure there are several other implementations also.
2022-08-03 03:55:28 +0200 <arahael> instantaphex: Btw, when I was asking about "What DOM", I was mostly picking at your use of the word "The", as in, "The DOM".
2022-08-03 03:55:46 +0200 <arahael> instantaphex: Like, when someone is sitting on The Chair, you can ask "What chair?".
2022-08-03 03:55:53 +0200 <instantaphex> I had assumed (incorrectly I suppose) that we were talking about WASM in the browser context
2022-08-03 03:56:04 +0200 <Axman6> web stuff is boring
2022-08-03 03:56:12 +0200 <arahael> WASM in the browser is the most boring and pointless implementatino for it. :(
2022-08-03 03:56:14 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 240 seconds)
2022-08-03 03:56:18 +0200 <Axman6> at least front end web stuff
2022-08-03 03:56:21 +0200 <arahael> It's the application elsewhere that makes it so exciting.
2022-08-03 03:56:27 +0200 <Axman6> yep
2022-08-03 03:56:52 +0200 <arahael> WASM means that for the first time, we now have a common virtual machine, of sorts, that isn't javascript.
2022-08-03 03:56:55 +0200zaquest(~notzaques@5.130.79.72)
2022-08-03 03:57:02 +0200 <Axman6> or java
2022-08-03 03:57:16 +0200arahaelglares at Java.
2022-08-03 03:57:36 +0200 <Bulby[m]> I HATE JAVASCRIPT
2022-08-03 03:57:42 +0200 <Bulby[m]> at least java is compiled 😭
2022-08-03 03:57:48 +0200 <Axman6> It still makes me laugh that Java was invented as a real-time language for embedded systems
2022-08-03 03:58:04 +0200 <instantaphex> 3 Billion devices...
2022-08-03 03:58:05 +0200 <Axman6> Bulby[m]: Javascript is compiled, but by everyone, every time they load it
2022-08-03 03:58:20 +0200 <Bulby[m]> horrible
2022-08-03 03:58:29 +0200 <Axman6> (WASM is also compiled generally, but it's a much more trivial conversion)
2022-08-03 04:01:49 +0200 <arahael> Axman6: It suddenly strikes me that in theory, you could compile Rust to WASM3, and then use that *directly* in Haskell when compiled to WASM3, as you can nest WASM, iirc.
2022-08-03 04:03:03 +0200 <arahael> Alternatively, compile haskell to wasm3, then you can use that in rust.
2022-08-03 04:03:24 +0200 <Bulby[m]> i thought haskell wasm was busted
2022-08-03 04:03:39 +0200 <monochrom> The world needs compiling C to javascript or wasm >:)
2022-08-03 04:04:09 +0200 <instantaphex> C -> Scratch
2022-08-03 04:04:21 +0200 <Bulby[m]> 😭
2022-08-03 04:04:31 +0200 <arahael> monochrom: We already have that, it seems: https://emscripten.org/docs/compiling/WebAssembly.html
2022-08-03 04:04:55 +0200 <EvanR> compiling C to anything other than machine code would be great for debuggability
2022-08-03 04:05:14 +0200 <monochrom> nice
2022-08-03 04:05:20 +0200 <EvanR> I guess it could be machine code and debuggable
2022-08-03 04:05:44 +0200 <monochrom> "just use a CPU emulator"
2022-08-03 04:06:05 +0200monochromsaw a 68000 emulator back then.
2022-08-03 04:06:51 +0200 <Bulby[m]> https://www.curseforge.com/minecraft/mc-mods/oc2 "this allows running linux"
2022-08-03 04:07:15 +0200 <Bulby[m]> oh you may want to use adblocker
2022-08-03 04:07:24 +0200 <Bulby[m]> curseforge is known for their ads ☹️
2022-08-03 04:08:31 +0200 <instantaphex> Is this a redstone RISC-V implementation?
2022-08-03 04:08:36 +0200 <monochrom> No worries, I like some of the ads actually.
2022-08-03 04:08:59 +0200 <Bulby[m]> it's in a mod
2022-08-03 04:09:04 +0200 <Bulby[m]> i just find it funny that a mod emulates linux
2022-08-03 04:09:18 +0200 <EvanR> what is it, a minecraft mod that implements C ?
2022-08-03 04:09:27 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection)
2022-08-03 04:09:30 +0200 <Bulby[m]> it can run linux LOL
2022-08-03 04:09:41 +0200 <monochrom> "Can you run Minecraft in it?" :)
2022-08-03 04:09:48 +0200 <EvanR> well I guess "a thing that can run linux" and "implements C" overlap to some extent
2022-08-03 04:10:21 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 04:11:13 +0200 <instantaphex> I'm going to see if I can run my gitlab CI/CD pipeline in this mod
2022-08-03 04:11:23 +0200 <monochrom> hahaha
2022-08-03 04:11:33 +0200 <monochrom> "install ghcup"
2022-08-03 04:12:00 +0200 <EvanR> minecraft C is cool but wake me up
2022-08-03 04:12:05 +0200 <EvanR> when it runs haskell
2022-08-03 04:15:35 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 268 seconds)
2022-08-03 04:17:25 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-08-03 04:18:35 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-08-03 04:20:12 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-03 04:21:34 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-08-03 04:21:34 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-08-03 04:21:34 +0200finn_elijaFinnElija
2022-08-03 04:22:16 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2022-08-03 04:30:50 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-08-03 04:31:14 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 04:34:01 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 268 seconds)
2022-08-03 04:36:07 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-08-03 04:40:52 +0200td_(~td@muedsl-82-207-238-045.citykom.de) (Ping timeout: 268 seconds)
2022-08-03 04:41:21 +0200John_Ivan(~John_Ivan@user/john-ivan/x-1515935) (Read error: Connection reset by peer)
2022-08-03 04:42:37 +0200td_(~td@94.134.91.79)
2022-08-03 04:44:58 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection)
2022-08-03 04:45:44 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 04:46:11 +0200nate4(~nate@98.45.169.16)
2022-08-03 04:51:09 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-03 04:51:15 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 04:51:21 +0200nate4(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-08-03 04:51:54 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
2022-08-03 04:54:06 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-03 04:55:13 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 04:59:37 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 245 seconds)
2022-08-03 05:04:12 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 245 seconds)
2022-08-03 05:04:33 +0200frost(~frost@user/frost)
2022-08-03 05:05:32 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds)
2022-08-03 05:06:02 +0200jero98772(~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection)
2022-08-03 05:06:09 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 268 seconds)
2022-08-03 05:07:44 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 05:09:44 +0200hsw(~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Quit: Leaving)
2022-08-03 05:12:20 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-03 05:15:35 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-03 05:26:35 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 05:27:57 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 245 seconds)
2022-08-03 05:30:54 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-08-03 05:34:27 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 05:34:32 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-08-03 05:40:17 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2022-08-03 05:44:38 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 240 seconds)
2022-08-03 05:50:33 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-08-03 05:52:29 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-08-03 05:52:29 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2022-08-03 05:52:29 +0200noteness(~noteness@user/noteness) (Write error: Connection reset by peer)
2022-08-03 05:52:29 +0200califax(~califax@user/califx) (Write error: Connection reset by peer)
2022-08-03 05:52:31 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-08-03 05:52:43 +0200Vajb(~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi)
2022-08-03 05:52:52 +0200califax(~califax@user/califx)
2022-08-03 05:53:06 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-08-03 05:53:25 +0200noteness(~noteness@user/noteness)
2022-08-03 05:53:36 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-08-03 05:55:33 +0200Guest73(~Guest73@191.251.228.252)
2022-08-03 05:55:39 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-08-03 05:55:54 +0200califax(~califax@user/califx)
2022-08-03 05:56:32 +0200Guest73(~Guest73@191.251.228.252) (Client Quit)
2022-08-03 05:58:48 +0200gabs(~gabs@2804:7f1:ea83:1561:d715:90fe:d300:d2c0)
2022-08-03 06:01:22 +0200gabs(~gabs@2804:7f1:ea83:1561:d715:90fe:d300:d2c0) (Client Quit)
2022-08-03 06:01:50 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-08-03 06:01:50 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-08-03 06:01:50 +0200wroathe(~wroathe@user/wroathe)
2022-08-03 06:05:39 +0200zxx7529(~Thunderbi@user/zxx7529)
2022-08-03 06:08:14 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-08-03 06:17:50 +0200 <Clinton[m]> Is there a typeclass that is like `FromText` for integers? I basically want `fromInteger :: Integer -> Age`, but I don't want `(*) :: Age -> Age -> Age` like I'd get with `Num`.
2022-08-03 06:23:45 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection)
2022-08-03 06:23:53 +0200darkstarx(~darkstard@50.53.212.60) (Remote host closed the connection)
2022-08-03 06:24:37 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 06:24:58 +0200darkstarx(~darkstard@50.53.212.60)
2022-08-03 06:24:59 +0200 <pavonia> What is the relation between Text, Integer and Age here?
2022-08-03 06:25:33 +0200 <pavonia> Also, what do you want for (*) instead?
2022-08-03 06:26:31 +0200 <Clinton[m]> pavonia: I don't want `(*)` at all.
2022-08-03 06:27:05 +0200 <pavonia> Don't implement a Num instance then
2022-08-03 06:27:39 +0200 <pavonia> Or let (*) be undefined
2022-08-03 06:30:27 +0200darkstarx(~darkstard@50.53.212.60) (Ping timeout: 245 seconds)
2022-08-03 06:30:29 +0200vglfr(~vglfr@91.192.47.10) (Ping timeout: 268 seconds)
2022-08-03 06:30:49 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-08-03 06:31:15 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 252 seconds)
2022-08-03 06:33:02 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 268 seconds)
2022-08-03 06:33:39 +0200noteness(~noteness@user/noteness) (Ping timeout: 268 seconds)
2022-08-03 06:34:53 +0200noteness(~noteness@user/noteness)
2022-08-03 06:35:35 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-08-03 06:35:45 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-08-03 06:36:09 +0200Guest33(~Guest33@2405:4802:371:3600:ffff:ffff:ffff:ffc9)
2022-08-03 06:36:11 +0200kazaf(~kazaf@94.180.63.53)
2022-08-03 06:36:32 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-08-03 06:39:57 +0200noteness(~noteness@user/noteness) (Quit: bye)
2022-08-03 06:42:59 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 06:44:28 +0200mbuf(~Shakthi@122.165.55.71)
2022-08-03 06:45:46 +0200 <[Leary]> Clinton[m]: If you use RebindableSyntax, integer literals will be desugared with the `fromInteger` in scope. You can make an `IsNumber` class yourself, or find one in an alternative base/prelude. I can't recommend any of them myself.
2022-08-03 06:48:31 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 268 seconds)
2022-08-03 06:49:31 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 06:52:38 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2022-08-03 06:52:59 +0200jmd_(~jmdaemon@user/jmdaemon)
2022-08-03 06:53:02 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 240 seconds)
2022-08-03 06:53:44 +0200noteness(~noteness@user/noteness)
2022-08-03 06:54:37 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 268 seconds)
2022-08-03 06:55:27 +0200vglfr(~vglfr@91.192.47.10)
2022-08-03 06:55:30 +0200Guest33(~Guest33@2405:4802:371:3600:ffff:ffff:ffff:ffc9) (Ping timeout: 252 seconds)
2022-08-03 06:57:09 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 268 seconds)
2022-08-03 06:59:22 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection)
2022-08-03 06:59:36 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-08-03 07:00:07 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 07:00:28 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 07:04:40 +0200kazaf(~kazaf@94.180.63.53) (Ping timeout: 252 seconds)
2022-08-03 07:04:59 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 252 seconds)
2022-08-03 07:09:01 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2022-08-03 07:09:20 +0200sonologico(~raphael@dhcp-077-251-118-129.chello.nl)
2022-08-03 07:12:12 +0200darkstardevx(~darkstard@50.53.212.60)
2022-08-03 07:13:18 +0200darkstardevx(~darkstard@50.53.212.60) (Remote host closed the connection)
2022-08-03 07:13:25 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 252 seconds)
2022-08-03 07:13:42 +0200darkstardevx(~darkstard@50.53.212.60)
2022-08-03 07:14:30 +0200notzmv(~zmv@user/notzmv)
2022-08-03 07:15:07 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 07:21:18 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2022-08-03 07:21:30 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-03 07:22:26 +0200jmd_(~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds)
2022-08-03 07:25:57 +0200gmg(~user@user/gehmehgeh)
2022-08-03 07:27:57 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection)
2022-08-03 07:28:19 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 07:31:02 +0200coot(~coot@213.134.190.95)
2022-08-03 07:31:59 +0200coot(~coot@213.134.190.95) (Client Quit)
2022-08-03 07:32:33 +0200coot(~coot@213.134.190.95)
2022-08-03 07:33:17 +0200hughjfchen(~hughjfche@vmi556545.contaboserver.net)
2022-08-03 07:39:19 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection)
2022-08-03 07:40:03 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 07:43:02 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
2022-08-03 07:45:15 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-08-03 07:46:46 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection)
2022-08-03 07:47:28 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2022-08-03 07:47:44 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 07:50:27 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 245 seconds)
2022-08-03 07:51:50 +0200instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 240 seconds)
2022-08-03 07:52:07 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 245 seconds)
2022-08-03 07:53:31 +0200sonologico(~raphael@dhcp-077-251-118-129.chello.nl) (Quit: WeeChat 3.6)
2022-08-03 07:53:53 +0200vglfr(~vglfr@91.192.47.10) (Ping timeout: 268 seconds)
2022-08-03 07:58:25 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 08:00:00 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection)
2022-08-03 08:01:06 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 08:04:41 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-03 08:04:43 +0200jmd_(~jmdaemon@user/jmdaemon)
2022-08-03 08:06:04 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 268 seconds)
2022-08-03 08:06:13 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds)
2022-08-03 08:10:27 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 245 seconds)
2022-08-03 08:11:15 +0200coco(~coco@212-51-146-199.fiber7.init7.net)
2022-08-03 08:11:57 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-08-03 08:17:29 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-08-03 08:19:14 +0200califax(~califax@user/califx)
2022-08-03 08:26:07 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-08-03 08:26:42 +0200rembo10(~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
2022-08-03 08:27:40 +0200rembo10(~rembo10@main.remulis.com)
2022-08-03 08:34:42 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 08:37:41 +0200misterfish(~misterfis@ip214-130-173-82.adsl2.static.versatel.nl)
2022-08-03 08:38:57 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-08-03 08:42:41 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-08-03 08:47:42 +0200nate4(~nate@98.45.169.16)
2022-08-03 08:52:18 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 08:52:32 +0200nate4(~nate@98.45.169.16) (Ping timeout: 245 seconds)
2022-08-03 08:58:31 +0200noteness(~noteness@user/noteness) (Remote host closed the connection)
2022-08-03 08:59:50 +0200noteness(~noteness@user/noteness)
2022-08-03 09:02:24 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:1455:573:2c87:a7f9)
2022-08-03 09:03:27 +0200acidjnk(~acidjnk@p200300d6e7058647655613c3e6b68907.dip0.t-ipconnect.de)
2022-08-03 09:11:07 +0200vglfr(~vglfr@91.192.47.10)
2022-08-03 09:11:27 +0200zxx7529(~Thunderbi@user/zxx7529) (Quit: zxx7529)
2022-08-03 09:22:31 +0200mrmonday(~robert@what.i.hope.is.not.a.tabernaevagant.es)
2022-08-03 09:23:56 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-03 09:24:34 +0200cfricke(~cfricke@user/cfricke)
2022-08-03 09:26:12 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-08-03 09:29:27 +0200cfricke(~cfricke@user/cfricke) (Remote host closed the connection)
2022-08-03 09:29:41 +0200cfricke(~cfricke@user/cfricke)
2022-08-03 09:30:39 +0200PiDelport(uid25146@id-25146.lymington.irccloud.com)
2022-08-03 09:31:17 +0200cfricke(~cfricke@user/cfricke) (Client Quit)
2022-08-03 09:33:29 +0200vglfr(~vglfr@91.192.47.10) (Read error: Connection reset by peer)
2022-08-03 09:33:46 +0200vglfr(~vglfr@91.192.47.10)
2022-08-03 09:35:41 +0200yvan-sraka(~yvan-srak@209.red-2-139-126.dynamicip.rima-tde.net)
2022-08-03 09:37:31 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-03 09:37:57 +0200vglfr(~vglfr@91.192.47.10) (Ping timeout: 245 seconds)
2022-08-03 09:38:25 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-08-03 09:40:09 +0200gurkenglas(~gurkengla@p57b8a60f.dip0.t-ipconnect.de)
2022-08-03 09:40:26 +0200sandy_doo(~sandydoo@185.209.196.136)
2022-08-03 09:41:26 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2022-08-03 09:47:13 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-03 09:53:01 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net)
2022-08-03 09:54:29 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-03 09:56:09 +0200chele(~chele@user/chele)
2022-08-03 09:57:26 +0200Benzi-Junior(~BenziJuni@dsl-149-67-162.hive.is) (Quit: ZNC 1.8.2 - https://znc.in)
2022-08-03 09:57:47 +0200Guest61(~Guest61@mail.novyjicin-town.cz)
2022-08-03 09:58:48 +0200Guest61(~Guest61@mail.novyjicin-town.cz) (Client Quit)
2022-08-03 10:01:10 +0200fserucas(~fserucas@83.223.235.72)
2022-08-03 10:11:12 +0200__monty__(~toonn@user/toonn)
2022-08-03 10:13:26 +0200MajorBiscuit(~MajorBisc@wlan-145-94-167-213.wlan.tudelft.nl)
2022-08-03 10:14:48 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2022-08-03 10:17:11 +0200zeenk(~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f)
2022-08-03 10:21:44 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-08-03 10:21:47 +0200benin0(~benin@183.82.177.174)
2022-08-03 10:22:01 +0200phma_phma
2022-08-03 10:24:49 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds)
2022-08-03 10:25:14 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 10:25:50 +0200acidjnk(~acidjnk@p200300d6e7058647655613c3e6b68907.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-08-03 10:26:19 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-08-03 10:29:32 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-08-03 10:31:55 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-08-03 10:36:35 +0200coco(~coco@212-51-146-199.fiber7.init7.net) (Quit: WeeChat 3.5)
2022-08-03 10:43:24 +0200acidjnk(~acidjnk@p200300d6e7058647288007281c69d35b.dip0.t-ipconnect.de)
2022-08-03 10:48:05 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 10:48:41 +0200kuribas(~user@silversquare.silversquare.eu)
2022-08-03 10:50:30 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 10:51:02 +0200misterfish(~misterfis@ip214-130-173-82.adsl2.static.versatel.nl) (Ping timeout: 240 seconds)
2022-08-03 10:54:03 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-03 10:58:55 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
2022-08-03 11:00:16 +0200mvanderhallen[m](~mvanderha@2001:470:69fc:105::2:3a88) (Quit: You have been kicked for being idle)
2022-08-03 11:08:21 +0200misterfish(~misterfis@ip214-130-173-82.adsl2.static.versatel.nl)
2022-08-03 11:10:16 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-08-03 11:11:17 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 245 seconds)
2022-08-03 11:16:31 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 11:16:47 +0200vglfr(~vglfr@194.9.14.33)
2022-08-03 11:20:50 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-08-03 11:30:32 +0200cosimone(~user@93-44-186-171.ip98.fastwebnet.it) (Read error: Connection reset by peer)
2022-08-03 11:31:20 +0200yvan-sraka(~yvan-srak@209.red-2-139-126.dynamicip.rima-tde.net) (Remote host closed the connection)
2022-08-03 11:38:23 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection)
2022-08-03 11:39:12 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 11:43:36 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-03 11:44:22 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 268 seconds)
2022-08-03 11:45:50 +0200sandy_doo(~sandydoo@185.209.196.136) (Ping timeout: 240 seconds)
2022-08-03 11:48:41 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2022-08-03 11:50:11 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-03 11:51:11 +0200sandy_doo(~sandydoo@185.209.196.136)
2022-08-03 11:52:23 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-03 11:55:26 +0200vglfr(~vglfr@194.9.14.33) (Ping timeout: 240 seconds)
2022-08-03 12:00:17 +0200cosimone(~user@93-44-186-171.ip98.fastwebnet.it)
2022-08-03 12:12:19 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 12:14:23 +0200mc47(~mc47@xmonad/TheMC47)
2022-08-03 12:16:41 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-03 12:17:02 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-08-03 12:18:23 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-08-03 12:19:03 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds)
2022-08-03 12:19:53 +0200MajorBiscuit(~MajorBisc@wlan-145-94-167-213.wlan.tudelft.nl) (Quit: WeeChat 3.5)
2022-08-03 12:19:56 +0200vglfr(~vglfr@194.9.14.33)
2022-08-03 12:20:45 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-08-03 12:20:47 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-08-03 12:21:47 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds)
2022-08-03 12:23:18 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-08-03 12:23:37 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-03 12:25:02 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2022-08-03 12:32:01 +0200noteness(~noteness@user/noteness) (Remote host closed the connection)
2022-08-03 12:32:01 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-08-03 12:32:01 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2022-08-03 12:32:30 +0200noteness(~noteness@user/noteness)
2022-08-03 12:32:41 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 12:32:50 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2022-08-03 12:33:01 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-08-03 12:33:14 +0200Pickchea(~private@user/pickchea)
2022-08-03 12:37:07 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 245 seconds)
2022-08-03 12:37:12 +0200lottaquestions(~nick@2607:fa49:503e:7100:1676:6f3c:c981:79e0)
2022-08-03 12:38:03 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 12:44:16 +0200Midjak(~Midjak@82.66.147.146)
2022-08-03 12:49:12 +0200nate4(~nate@98.45.169.16)
2022-08-03 12:53:50 +0200nate4(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2022-08-03 12:55:46 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-03 13:11:04 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 13:12:44 +0200frost(~frost@user/frost) (Quit: Client closed)
2022-08-03 13:15:41 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 252 seconds)
2022-08-03 13:20:40 +0200yvan-sraka(~yvan-srak@209.red-2-139-126.dynamicip.rima-tde.net)
2022-08-03 13:21:50 +0200dpratt(sid193493@helmsley.irccloud.com) (Ping timeout: 260 seconds)
2022-08-03 13:22:19 +0200xff0x(~xff0x@2405:6580:b080:900:40d:d87e:58e3:1ef6)
2022-08-03 13:23:26 +0200vglfr(~vglfr@194.9.14.33) (Ping timeout: 240 seconds)
2022-08-03 13:24:43 +0200vglfr(~vglfr@194.9.14.33)
2022-08-03 13:25:01 +0200dpratt(sid193493@id-193493.helmsley.irccloud.com)
2022-08-03 13:28:48 +0200CiaoSen(~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-08-03 13:29:12 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-08-03 13:32:46 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 13:37:02 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 240 seconds)
2022-08-03 13:42:14 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-08-03 13:42:17 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 13:43:47 +0200MajorBiscuit(~MajorBisc@wlan-145-94-167-213.wlan.tudelft.nl)
2022-08-03 13:45:49 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection)
2022-08-03 13:45:54 +0200coot(~coot@213.134.190.95)
2022-08-03 13:46:13 +0200zxx7529(~Thunderbi@user/zxx7529)
2022-08-03 13:46:33 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 13:48:42 +0200coot(~coot@213.134.190.95) (Client Quit)
2022-08-03 13:49:45 +0200coot(~coot@213.134.190.95)
2022-08-03 13:50:33 +0200coot(~coot@213.134.190.95) (Client Quit)
2022-08-03 13:51:24 +0200naso(~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 268 seconds)
2022-08-03 13:52:57 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-08-03 13:54:12 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 13:54:36 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-08-03 14:01:54 +0200burnsidesLlama(~burnsides@119247164140.ctinets.com)
2022-08-03 14:03:40 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Read error: Connection reset by peer)
2022-08-03 14:05:37 +0200frost(~frost@user/frost)
2022-08-03 14:07:20 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-08-03 14:08:24 +0200frost(~frost@user/frost) (Client Quit)
2022-08-03 14:12:32 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 14:15:26 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
2022-08-03 14:16:50 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-03 14:19:24 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-08-03 14:19:36 +0200 <Profpatsch> Does anybody know whether there’s a help channel for servant-related questions?
2022-08-03 14:20:07 +0200 <lortabac> there is #servant
2022-08-03 14:20:36 +0200 <Profpatsch> lortabac: doesn’t have a topic though
2022-08-03 14:22:49 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-08-03 14:23:43 +0200frost(~frost@user/frost)
2022-08-03 14:25:54 +0200naso(~naso@193-116-244-197.tpgi.com.au) ()
2022-08-03 14:26:55 +0200jakalx(~jakalx@base.jakalx.net) ()
2022-08-03 14:29:18 +0200jakalx(~jakalx@base.jakalx.net)
2022-08-03 14:29:39 +0200Benzi-Junior(~BenziJuni@dsl-149-67-162.hive.is)
2022-08-03 14:33:34 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-03 14:33:46 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-08-03 14:34:17 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 14:34:19 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-08-03 14:38:25 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds)
2022-08-03 14:40:10 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-08-03 14:45:48 +0200sander(~sander@user/sander) (Quit: So long! :))
2022-08-03 14:49:44 +0200frost(~frost@user/frost) (Quit: Client closed)
2022-08-03 14:50:02 +0200[Leary](~Leary]@122-58-224-198-vdsl.sparkbb.co.nz) (Ping timeout: 245 seconds)
2022-08-03 14:50:49 +0200jero98772(~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff)
2022-08-03 14:55:27 +0200kuribas(~user@silversquare.silversquare.eu) (Ping timeout: 245 seconds)
2022-08-03 14:56:06 +0200arjun(~arjun@user/arjun)
2022-08-03 14:58:14 +0200[Leary](~Leary]@122-58-224-198-vdsl.sparkbb.co.nz)
2022-08-03 14:58:43 +0200jakalx(~jakalx@base.jakalx.net)
2022-08-03 15:09:26 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
2022-08-03 15:09:40 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-03 15:09:47 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 15:10:12 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2022-08-03 15:11:12 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-03 15:11:36 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-08-03 15:16:06 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 15:19:06 +0200 <hippoid> this type from quickcheck is accessing the system random number generator through QCGen. So how come it doesn't have IO somewhere in the signature?
2022-08-03 15:19:08 +0200 <hippoid> MkGen :: (Test.QuickCheck.Random.QCGen -> Int -> a) -> Gen a
2022-08-03 15:20:35 +0200MoC(~moc@user/moc)
2022-08-03 15:22:22 +0200zmt00(~zmt00@user/zmt00)
2022-08-03 15:24:30 +0200zmt01(~zmt00@user/zmt00) (Ping timeout: 240 seconds)
2022-08-03 15:25:06 +0200 <geekosaur> QCGen is a seed, so it's generating values from a pseudo-random number generator and the caller has to pass in the seed, which means it needs neither IO nor State
2022-08-03 15:25:25 +0200 <geekosaur> https://hackage.haskell.org/package/QuickCheck-2.14.2/src/src/Test/QuickCheck/Random.hs if you want to see the internals
2022-08-03 15:26:18 +0200 <geekosaur> neither Io nor unsafePerformIO anywhere, just passing a seed (QCGen) around
2022-08-03 15:29:43 +0200jmd_(~jmdaemon@user/jmdaemon) (Ping timeout: 244 seconds)
2022-08-03 15:30:59 +0200sander(~sander@user/sander)
2022-08-03 15:32:17 +0200 <hippoid> ok, my mistake was thinking QCGen is a random number generator, and not a seed. That makes sense it doesnt need IO if it's just a seed
2022-08-03 15:33:57 +0200 <hippoid> generate :: Gen a -> IO a introduces the IO, but I'm not clear on how IO is introduced here. Is this function accessing the system to get the randomness?
2022-08-03 15:35:12 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-08-03 15:35:12 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2022-08-03 15:35:12 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-08-03 15:35:12 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Read error: Connection reset by peer)
2022-08-03 15:35:12 +0200noteness(~noteness@user/noteness) (Write error: Connection reset by peer)
2022-08-03 15:35:38 +0200califax(~califax@user/califx)
2022-08-03 15:35:39 +0200noteness(~noteness@user/noteness)
2022-08-03 15:35:44 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-08-03 15:35:58 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-03 15:37:13 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
2022-08-03 15:37:15 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2022-08-03 15:38:34 +0200 <geekosaur> yes
2022-08-03 15:38:42 +0200 <geekosaur> newQCGen is in IO
2022-08-03 15:38:48 +0200 <geekosaur> and is used by generate
2022-08-03 15:39:02 +0200 <geekosaur> but once a QCGen is created IO is no longer needed
2022-08-03 15:39:35 +0200Lycurgus(~juan@user/Lycurgus)
2022-08-03 15:43:19 +0200 <hippoid> I think I see where my misunderstanding was. MkGen has QCGen in its signature, but the QCGen is not actually created until `generate', that's why the IO is in generate
2022-08-03 15:43:42 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-08-03 15:44:15 +0200burnsidesLlama(~burnsides@119247164140.ctinets.com) (Remote host closed the connection)
2022-08-03 15:44:48 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-03 15:44:54 +0200burnsidesLlama(~burnsides@119247164140.ctinets.com)
2022-08-03 15:45:22 +0200son0p(~ff@181.136.122.143)
2022-08-03 15:46:23 +0200CiaoSen(~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2022-08-03 15:49:02 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2022-08-03 15:49:58 +0200MoC(~moc@user/moc) (Quit: Konversation terminated!)
2022-08-03 15:50:35 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2022-08-03 15:52:10 +0200kuribas(~user@silversquare.silversquare.eu)
2022-08-03 15:55:05 +0200John_Ivan(~John_Ivan@user/john-ivan/x-1515935)
2022-08-03 15:56:04 +0200noteness(~noteness@user/noteness) (Quit: bye)
2022-08-03 15:56:04 +0200califax(~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in)
2022-08-03 15:56:20 +0200noteness(~noteness@user/noteness)
2022-08-03 15:56:26 +0200califax(~califax@user/califx)
2022-08-03 16:01:09 +0200 <albet70> where I can find the liftA2 definition for []?
2022-08-03 16:02:24 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-08-03 16:03:14 +0200califax(~califax@user/califx)
2022-08-03 16:03:26 +0200 <geekosaur> https://downloads.haskell.org/ghc/9.2.3/docs/html/libraries/base-4.16.2.0/src/GHC.Base.html#line-1…
2022-08-03 16:04:06 +0200 <geekosaur> or: open Control.Applicatove haddock, look for the list of instances under the definition of Applicative, click the "Source" link next to "Applicative []"
2022-08-03 16:05:20 +0200burnsidesLlama(~burnsides@119247164140.ctinets.com) (Remote host closed the connection)
2022-08-03 16:06:21 +0200zebrag(~chris@user/zebrag)
2022-08-03 16:07:50 +0200Lycurgus(~juan@user/Lycurgus) (Ping timeout: 240 seconds)
2022-08-03 16:08:47 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 245 seconds)
2022-08-03 16:11:42 +0200Lycurgus(~juan@user/Lycurgus)
2022-08-03 16:15:09 +0200 <albet70> liftA2 f xs ys = [f x y | x <- xs, y <- ys]
2022-08-03 16:15:17 +0200 <albet70> it's defined with list comprehesion
2022-08-03 16:15:27 +0200 <albet70> I thought with fmap inside fmap
2022-08-03 16:16:31 +0200 <geekosaur[m]> fmap isn't enough to define Applicative
2022-08-03 16:17:28 +0200 <geekosaur[m]> If it were then Applicative would be Functor
2022-08-03 16:19:44 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-08-03 16:19:57 +0200dudem(~dudem@a95-93-162-124.cpe.netcabo.pt)
2022-08-03 16:20:25 +0200 <dudem> hi everyone, it's my third time here and I have gotten into the weeds ...
2022-08-03 16:21:53 +0200 <dudem> I import a package, and can work with it, but I would like to know how to generate documentation for it ... the packaged is not on hackage
2022-08-03 16:22:31 +0200 <dudem> I have google for how to get Haddock up and running, but am struggling
2022-08-03 16:22:38 +0200dcoutts(~duncan@host109-149-1-142.range109-149.btcentralplus.com) (Ping timeout: 268 seconds)
2022-08-03 16:22:42 +0200yvan-sraka(~yvan-srak@209.red-2-139-126.dynamicip.rima-tde.net) (Remote host closed the connection)
2022-08-03 16:23:16 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org)
2022-08-03 16:23:42 +0200 <sm> are you using stack or cabal ?
2022-08-03 16:24:44 +0200 <dudem> cabal
2022-08-03 16:32:09 +0200benin04(~benin@156.146.51.131)
2022-08-03 16:34:21 +0200benin0(~benin@183.82.177.174) (Ping timeout: 268 seconds)
2022-08-03 16:34:21 +0200benin04benin0
2022-08-03 16:35:23 +0200 <geekosaur> add "documentation: true" to either cabal.project.local or ~/.cabal/config (where you should have "documentation: false" already, commented out because it's the default)
2022-08-03 16:36:19 +0200 <geekosaur> personally I do the latter so documentation is always built. sadly, finding it afterward requires digging around in ~/.cabal/store because cabal doesn't yet keep a global documentation index
2022-08-03 16:36:39 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:1455:573:2c87:a7f9) (Quit: WeeChat 2.8)
2022-08-03 16:36:47 +0200 <geekosaur> stack is a bit better here, including a handy command to open local documentation for a package in your browser
2022-08-03 16:37:09 +0200benin01(~benin@183.82.177.174)
2022-08-03 16:38:15 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-08-03 16:38:38 +0200benin0(~benin@156.146.51.131) (Ping timeout: 240 seconds)
2022-08-03 16:38:39 +0200benin01benin0
2022-08-03 16:43:16 +0200 <dudem> Thanks geekosaur , i'll give it a try
2022-08-03 16:43:24 +0200 <sm> cabal has a `v2-haddock` command: https://cabal.readthedocs.io/en/3.6/cabal-commands.html?highlight=haddock#cabal-v2-haddock
2022-08-03 16:46:08 +0200dolio(~dolio@130.44.130.54) (Quit: ZNC 1.8.2 - https://znc.in)
2022-08-03 16:50:30 +0200dolio(~dolio@130.44.130.54)
2022-08-03 16:50:45 +0200nate4(~nate@98.45.169.16)
2022-08-03 16:52:14 +0200misterfish(~misterfis@ip214-130-173-82.adsl2.static.versatel.nl) (Ping timeout: 240 seconds)
2022-08-03 16:54:59 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2022-08-03 16:55:15 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
2022-08-03 16:55:39 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-03 16:55:56 +0200nate4(~nate@98.45.169.16) (Ping timeout: 268 seconds)
2022-08-03 16:59:49 +0200liz(~liz@cpc84585-newc17-2-0-cust60.16-2.cable.virginm.net)
2022-08-03 16:59:57 +0200rushsloorush
2022-08-03 17:00:44 +0200zxx7529(~Thunderbi@user/zxx7529) (Remote host closed the connection)
2022-08-03 17:00:50 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-03 17:01:48 +0200 <dudem> sm thnnks! will try that as well
2022-08-03 17:02:52 +0200 <geekosaur> take a look at the options, you will likely want to turn some of them on. "documentation: true" turns on a reasonable set of them
2022-08-03 17:05:02 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2022-08-03 17:05:26 +0200sandy_doo(~sandydoo@185.209.196.136) (Ping timeout: 240 seconds)
2022-08-03 17:09:12 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
2022-08-03 17:11:15 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-03 17:13:37 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 17:18:21 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-08-03 17:19:59 +0200burnsidesLlama(~burnsides@119247164140.ctinets.com)
2022-08-03 17:25:19 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-03 17:25:27 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
2022-08-03 17:25:48 +0200naso(~naso@193-116-244-197.tpgi.com.au)
2022-08-03 17:25:52 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-08-03 17:35:31 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 17:37:09 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-08-03 17:38:27 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-03 17:41:28 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-08-03 17:41:35 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-03 17:46:30 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2022-08-03 17:46:31 +0200dhil(~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net)
2022-08-03 17:46:39 +0200vglfr(~vglfr@194.9.14.33) (Ping timeout: 252 seconds)
2022-08-03 17:49:35 +0200Kaiepi(~Kaiepi@156.34.47.253) (Ping timeout: 268 seconds)
2022-08-03 17:59:06 +0200sandy_doo(~sandydoo@185.209.196.136)
2022-08-03 17:59:21 +0200misterfish(~misterfis@ip214-130-173-82.adsl2.static.versatel.nl)
2022-08-03 18:00:00 +0200dudem(~dudem@a95-93-162-124.cpe.netcabo.pt) (Quit: Client closed)
2022-08-03 18:04:44 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2022-08-03 18:05:18 +0200vglfr(~vglfr@194.9.14.33)
2022-08-03 18:06:26 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 18:08:05 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-08-03 18:10:50 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-03 18:11:50 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-03 18:13:45 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 18:13:59 +0200noteness(~noteness@user/noteness) (Remote host closed the connection)
2022-08-03 18:14:13 +0200arjun(~arjun@user/arjun) (Remote host closed the connection)
2022-08-03 18:14:28 +0200arjun(~arjun@user/arjun)
2022-08-03 18:14:31 +0200noteness(~noteness@user/noteness)
2022-08-03 18:21:02 +0200vglfr(~vglfr@194.9.14.33) (Read error: Connection reset by peer)
2022-08-03 18:22:19 +0200mbuf(~Shakthi@122.165.55.71) (Quit: Leaving)
2022-08-03 18:24:53 +0200titibandit(~titibandi@xdsl-78-35-214-18.nc.de)
2022-08-03 18:24:59 +0200titibandit(~titibandi@xdsl-78-35-214-18.nc.de) (Remote host closed the connection)
2022-08-03 18:25:08 +0200titibandit(~titibandi@xdsl-78-35-214-18.nc.de)
2022-08-03 18:31:17 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 245 seconds)
2022-08-03 18:32:07 +0200MajorBiscuit(~MajorBisc@wlan-145-94-167-213.wlan.tudelft.nl) (Ping timeout: 245 seconds)
2022-08-03 18:35:04 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-08-03 18:36:37 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-03 18:38:05 +0200benin0(~benin@183.82.177.174) (Quit: The Lounge - https://thelounge.chat)
2022-08-03 18:42:46 +0200kuribas(~user@silversquare.silversquare.eu) (Remote host closed the connection)
2022-08-03 18:43:17 +0200ghn(~Thunderbi@2603-6081-4900-4100-a96a-49d4-1800-c7da.res6.spectrum.com)
2022-08-03 18:43:42 +0200naso(~naso@193-116-244-197.tpgi.com.au) ()
2022-08-03 18:43:44 +0200 <hippoid> from import Test.QuickCheck.Property, :t MkProperty gives Gen Prop -> Property. What is Prop? I'm not finding it in hoogle, and I don't think it's a typevar because it's capitalized.
2022-08-03 18:46:52 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 18:47:25 +0200ghntest2
2022-08-03 18:47:33 +0200test2bits
2022-08-03 18:47:54 +0200bitsleeks
2022-08-03 18:49:34 +0200zere3f(~zere3f@203.110.242.30)
2022-08-03 18:49:48 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-08-03 18:50:51 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-08-03 18:51:55 +0200justsomeguy(~justsomeg@user/justsomeguy)
2022-08-03 18:52:03 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-03 18:52:06 +0200leeks(~Thunderbi@2603-6081-4900-4100-a96a-49d4-1800-c7da.res6.spectrum.com) ()
2022-08-03 18:52:17 +0200leeks(~Thunderbi@2603-6081-4900-4100-a96a-49d4-1800-c7da.res6.spectrum.com)
2022-08-03 18:53:25 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-08-03 18:53:40 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-03 18:53:58 +0200vglfr(~vglfr@194.9.14.33)
2022-08-03 18:54:26 +0200 <geekosaur> newtype Prop = MkProp{ unProp :: Rose Result }
2022-08-03 18:54:45 +0200 <geekosaur> so, perhaps a rose tree of property results?
2022-08-03 18:54:58 +0200 <geekosaur> won't be in hoogle because it's internal
2022-08-03 18:55:01 +0200vglfr(~vglfr@194.9.14.33) (Read error: Connection reset by peer)
2022-08-03 18:55:57 +0200vglfr(~vglfr@194.9.14.33)
2022-08-03 18:58:43 +0200 <hippoid> geekosaur: thanks. i guess i should have checked source
2022-08-03 18:59:50 +0200acidjnk(~acidjnk@p200300d6e7058647288007281c69d35b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-08-03 19:01:26 +0200misterfish(~misterfis@ip214-130-173-82.adsl2.static.versatel.nl) (Ping timeout: 240 seconds)
2022-08-03 19:01:57 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-08-03 19:02:29 +0200 <leeks> What's the status of cross compilation with ghc? I'm trying to target a raspberry pi 3 and haven't been able to find much info on the topic other than some articles explaining a cross compilation setup using nix. I'm on Windows at the moment and would like to compile with a native mingw host if possible. I've been reading some pages on the gitlab wiki and am trying to piece together a stage1 cross compiler but ha
2022-08-03 19:03:15 +0200 <geekosaur> still fairly miserable although there is work on improving it
2022-08-03 19:03:24 +0200 <merijn> leeks: cross compilation from windows? RIP your sanity
2022-08-03 19:03:25 +0200 <geekosaur> you might want to ask in #ghc
2022-08-03 19:03:25 +0200 <sm> yushyin: geekosaur
2022-08-03 19:03:32 +0200 <sm> ack. sorry
2022-08-03 19:03:55 +0200 <zere3f> Hello all,newbie here,How to use the latest list gets updated every time
2022-08-03 19:03:56 +0200 <zere3f> -- For Example
2022-08-03 19:03:56 +0200 <zere3f> addUser :: String -> [String] -> [String]
2022-08-03 19:03:57 +0200 <zere3f> addUser x oldUser = x : oldUser
2022-08-03 19:03:57 +0200 <zere3f> x = addUser xx
2022-08-03 19:03:58 +0200 <zere3f> --Inorder to add new user i have to use "x"
2022-08-03 19:03:58 +0200 <zere3f> y = addUser yy x
2022-08-03 19:03:59 +0200 <zere3f> But how to track the latest updated if i have to create a program that adds users to the list and returns all the users
2022-08-03 19:03:59 +0200 <zere3f> Can someone guide me
2022-08-03 19:05:51 +0200zeenk(~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!)
2022-08-03 19:10:30 +0200 <Cale> zere3f: So, in a real world program, you probably have a database somewhere that you're talking to via IO, but let's just stick with an artificial situation...
2022-08-03 19:11:05 +0200 <Cale> The one way in which variables vary in Haskell is when functions are applied to new arguments, their parameters get instantiated with different things.
2022-08-03 19:11:44 +0200 <Cale> So you can make a recursive function where the list of users is an argument, and as users are added (or other bits of state change), it applies itself to a new argument.
2022-08-03 19:12:17 +0200 <Cale> (or a collection of functions that are a perhaps mutually recursive state machine)
2022-08-03 19:13:02 +0200 <Cale> Another thing you can do is create something like an IORef which is a mutable cell that acts much like you'd expect of a mutable variable in an imperative programming language, but it can only be read or written to from IO
2022-08-03 19:17:14 +0200 <leeks> merijn: haha, yeah. Might be time to spin up a vm
2022-08-03 19:17:20 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-03 19:17:35 +0200 <zere3f> Cale Thank you for response,IORef is something i can look into.Can you explain or provide some sources/examples a bit about the 3 point  : " a Recursive function that applies itself to a new argument",seems little confusing..
2022-08-03 19:19:22 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 19:19:32 +0200 <leeks> zere3f: Where are the additional users coming from? stdin ?
2022-08-03 19:21:51 +0200 <zere3f> leeks yes,From a function that calls stdin.
2022-08-03 19:22:53 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2022-08-03 19:22:59 +0200kaskal-(~kaskal@213-225-33-152.nat.highway.a1.net)
2022-08-03 19:23:22 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-08-03 19:23:44 +0200 <Cale> zere3f: collectUsers :: [String] -> IO [String]; collectUsers users = do putStrLn "Current users:"; mapM putStrLn users; putStrLn "Enter a new user, or blank to finish"; u <- getLine; if null u then return users else collectUsers (u:users)
2022-08-03 19:23:47 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 245 seconds)
2022-08-03 19:24:36 +0200 <Cale> (obviously, you might want to do a better check for validity of input than that, but I'm already pushing the limits of what I can fit into a single IRC message)
2022-08-03 19:24:42 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 19:25:02 +0200kaskal(~kaskal@213-225-33-152.nat.highway.a1.net) (Ping timeout: 245 seconds)
2022-08-03 19:26:13 +0200 <zere3f> Cale Thank You,Understood.
2022-08-03 19:28:45 +0200 <Cale> There's a way to naively translate imperative programs that update mutable variables into functional programs that do no mutation that's sometimes useful to know about
2022-08-03 19:28:56 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-08-03 19:29:19 +0200 <Cale> You turn each place where the program counter can be in the imperative program into a function
2022-08-03 19:29:31 +0200 <Cale> and you turn all the mutable variables in scope there into function arguments
2022-08-03 19:30:07 +0200 <Cale> and then you have the functions apply each other to arguments according to how the control flow of your imperative program goes, and how the variables are updated
2022-08-03 19:30:26 +0200 <Cale> This will usually result in a bit of a mess, but it is now a mess of *equations*
2022-08-03 19:30:58 +0200 <Cale> and so you can start simplifying it using a highschool-algebra-like approach of substituting equals for equals, and reducing the number of functions you have
2022-08-03 19:33:06 +0200 <Cale> Maybe I can make a short example of that...
2022-08-03 19:33:56 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-03 19:34:08 +0200 <zere3f> Cale Yes please,some example,couldn't able to grasp much
2022-08-03 19:34:17 +0200 <leeks> Cale: I get what you're saying but I'm not sure how the reduction step will work in practice. I'd like to see also.
2022-08-03 19:39:44 +0200Tuplanolla(~Tuplanoll@91-159-69-231.elisa-laajakaista.fi)
2022-08-03 19:39:51 +0200Kaiepi(~Kaiepi@156.34.47.253)
2022-08-03 19:42:14 +0200arjun(~arjun@user/arjun) (Quit: tip toe-ing my way outta here)
2022-08-03 19:45:09 +0200misterfish(~misterfis@ip214-130-173-82.adsl2.static.versatel.nl)
2022-08-03 19:49:53 +0200John_Ivan(~John_Ivan@user/john-ivan/x-1515935) (Quit: Leaving)
2022-08-03 19:49:56 +0200autophagian(~mika@ip5f5bf3a3.dynamic.kabel-deutschland.de)
2022-08-03 19:50:03 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 19:50:27 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Ping timeout: 268 seconds)
2022-08-03 19:52:32 +0200sandy_doo(~sandydoo@185.209.196.136) (Ping timeout: 245 seconds)
2022-08-03 19:53:57 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-08-03 19:54:20 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-03 19:57:05 +0200autophagian(~mika@ip5f5bf3a3.dynamic.kabel-deutschland.de) (Quit: leaving)
2022-08-03 19:59:56 +0200econo(uid147250@user/econo)
2022-08-03 20:01:46 +0200Guest45(~Guest45@144.121.86.18)
2022-08-03 20:03:56 +0200Guest45(~Guest45@144.121.86.18) (Client Quit)
2022-08-03 20:04:29 +0200 <Cale> https://dpaste.com/6EXDDVZ52
2022-08-03 20:04:40 +0200 <Cale> zere3f, leeks: ^^
2022-08-03 20:04:52 +0200yvan-sraka(~yvan-srak@209.red-2-139-126.dynamicip.rima-tde.net)
2022-08-03 20:05:20 +0200 <Cale> Kind of a silly example, but should be enough to get the idea anyway
2022-08-03 20:05:52 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-08-03 20:05:52 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
2022-08-03 20:06:01 +0200 <Cale> Oh, maybe I should have had f1 actually do the initialization, well, whatever :)
2022-08-03 20:06:11 +0200 <Cale> (just looking back on it now)
2022-08-03 20:06:46 +0200 <Cale> Usually I would translate lines in small batches, doing things simultaneously when they don't affect each other
2022-08-03 20:07:44 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-08-03 20:08:31 +0200Lord_of_Life_Lord_of_Life
2022-08-03 20:08:56 +0200 <Cale> If I'm reading an algorithm I'm not super-familiar with given as imperative pseudocode, this is the kind of thing I'm likely to do at first though
2022-08-03 20:09:44 +0200 <Cale> and usually by the end of it, I have a clearer expression of what it's computing
2022-08-03 20:10:58 +0200 <Cale> does that make sense?
2022-08-03 20:12:13 +0200michalz(~michalz@185.246.204.75) (Ping timeout: 252 seconds)
2022-08-03 20:16:43 +0200chele(~chele@user/chele) (Remote host closed the connection)
2022-08-03 20:19:13 +0200Igloo(~ian@matrix.chaos.earth.li) (Quit: BIAB)
2022-08-03 20:21:50 +0200 <[exa]> Cale: it is lovely.
2022-08-03 20:22:10 +0200gmg(~user@user/gehmehgeh)
2022-08-03 20:24:45 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 20:24:59 +0200ski(~ski@ext-1-213.eduroam.chalmers.se) (Ping timeout: 268 seconds)
2022-08-03 20:25:30 +0200obabo(~obabo@2E8BF8F7.catv.pool.telekom.hu)
2022-08-03 20:25:32 +0200 <Cale> Oh, I also realized that I somehow ended up with a typo in one occurrence of f3 somehow where it was pointed at f4 instead of f2, but I didn't have that error in later copies
2022-08-03 20:25:34 +0200acidjnk(~acidjnk@p200300d6e7058647288007281c69d35b.dip0.t-ipconnect.de)
2022-08-03 20:25:59 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-03 20:26:28 +0200 <Cale> https://dpaste.com/2HH8JVJ6Z -- fixed
2022-08-03 20:26:58 +0200coot(~coot@213.134.190.95)
2022-08-03 20:27:31 +0200 <Cale> This is also a good way of checking that you understand an imperative program, or understanding obfuscated imperative programs
2022-08-03 20:28:17 +0200 <Cale> Once you have a bunch of equations and can reason equationally about what the program does, it usually becomes much easier to make sense of things
2022-08-03 20:28:36 +0200jinsun__(~jinsun@user/jinsun)
2022-08-03 20:28:36 +0200jinsunGuest6063
2022-08-03 20:28:36 +0200Guest6063(~jinsun@user/jinsun) (Killed (silver.libera.chat (Nickname regained by services)))
2022-08-03 20:28:36 +0200jinsun__jinsun
2022-08-03 20:29:12 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 245 seconds)
2022-08-03 20:30:15 +0200 <Cale> (especially making all the control flow explicit and then being able to simplify it can help in cases where that's complicated or unclear)
2022-08-03 20:33:20 +0200 <hippoid> Cale: how do you figure out "all the places where the program counter can be"? Is it just all statements?
2022-08-03 20:33:50 +0200Colere(~colere@about/linux/staff/sauvin) (Ping timeout: 240 seconds)
2022-08-03 20:33:56 +0200yvan-sraka(~yvan-srak@209.red-2-139-126.dynamicip.rima-tde.net) (Remote host closed the connection)
2022-08-03 20:34:20 +0200 <Cale> yeah, like, when you imagine an imperative program running, it moves from one statement to the next, I just mean, all of those places where the trace of execution can land
2022-08-03 20:34:39 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.5)
2022-08-03 20:35:37 +0200 <Cale> Everything gets turned into a function which takes as arguments the state of the machine, and produces the final result of the program
2022-08-03 20:36:14 +0200 <Cale> (and most of them will do that by applying one of the other functions, or a couple, if it's a control flow statement)
2022-08-03 20:36:57 +0200 <Cale> It'll be the function corresponding to where the program goes next
2022-08-03 20:38:04 +0200 <hippoid> Cale: i'm going to try it next time i see some gnarly imperative code
2022-08-03 20:38:07 +0200zere3f(~zere3f@203.110.242.30) (Quit: Client closed)
2022-08-03 20:38:59 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 252 seconds)
2022-08-03 20:40:33 +0200Colere(~colere@about/linux/staff/sauvin)
2022-08-03 20:40:34 +0200Colere(~colere@about/linux/staff/sauvin) (Client Quit)
2022-08-03 20:41:17 +0200Colere(~colere@about/linux/staff/sauvin)
2022-08-03 20:41:26 +0200MajorBiscuit(~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net)
2022-08-03 20:43:53 +0200Furor(~colere@about/linux/staff/sauvin)
2022-08-03 20:44:19 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-03 20:45:52 +0200Colere(~colere@about/linux/staff/sauvin) (Ping timeout: 245 seconds)
2022-08-03 20:52:15 +0200nate4(~nate@98.45.169.16)
2022-08-03 20:55:29 +0200pgib(~textual@173.38.117.82) (Ping timeout: 252 seconds)
2022-08-03 20:56:49 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2022-08-03 20:56:57 +0200nate4(~nate@98.45.169.16) (Ping timeout: 252 seconds)
2022-08-03 20:57:11 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 21:00:54 +0200 <kaol> Is there a way to do both :r and the previous command to that in one go in ghci? I'm debugging stuff and up enter up up enter starts to get repetitive.
2022-08-03 21:03:08 +0200 <[exa]> you can define new commands in ghci, e.g. :R something that executes something after :R
2022-08-03 21:04:29 +0200 <[exa]> *after reload
2022-08-03 21:05:26 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-08-03 21:05:41 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 268 seconds)
2022-08-03 21:05:57 +0200 <[exa]> o here https://ghc.gitlab.haskell.org/ghc/doc/users_guide/ghci.html#ghci-cmd-:def
2022-08-03 21:08:35 +0200kenran(~kenran@200116b82b7cfd0003d3d1482e479ebd.dip.versatel-1u1.de)
2022-08-03 21:08:41 +0200 <kaol> Can I also make something that does :r and only if it succeeds runs my command?
2022-08-03 21:08:45 +0200 <EvanR> dang, :R takes less basic keyboard actions than :r
2022-08-03 21:09:02 +0200 <EvanR> ignoring the final releasing of keys xD
2022-08-03 21:09:29 +0200 <EvanR> maybe not nevermind I didn't do the accounting
2022-08-03 21:10:12 +0200 <kaol> Looks like :def only takes a String -> IO String. I can't express :r with that, can I?
2022-08-03 21:11:21 +0200 <geekosaur> doesn't :def produce a string of commands?
2022-08-03 21:12:03 +0200 <geekosaur> see the example for ":make"
2022-08-03 21:12:27 +0200zxx7529(~Thunderbi@user/zxx7529)
2022-08-03 21:13:22 +0200 <geekosaur> and the readFile one (":.") shows how you can put multiple commands separated by newlines
2022-08-03 21:13:42 +0200 <geekosaur> that said, it looks like you can't do conditional stuff
2022-08-03 21:13:52 +0200 <kaol> Ok, right, I can make : commands with it. But what I'd really like is :r and if it succeeds then do x but I don't think :r can do that.
2022-08-03 21:14:00 +0200 <geekosaur> that is, you can't (as you asked) run commands only if it succeeded
2022-08-03 21:14:01 +0200kenran(~kenran@200116b82b7cfd0003d3d1482e479ebd.dip.versatel-1u1.de) (Quit: WeeChat info:version)
2022-08-03 21:15:12 +0200 <geekosaur> ghci has no conditionals
2022-08-03 21:15:13 +0200 <kaol> I suppose I use runghc or instead.
2022-08-03 21:16:06 +0200dcoutts(~duncan@host109-149-1-142.range109-149.btcentralplus.com)
2022-08-03 21:16:11 +0200 <geekosaur> yeh, were I doing that I'd use runghc
2022-08-03 21:16:46 +0200 <geekosaur> actually I did do that, until I trusted the progrsam enough to compile it
2022-08-03 21:17:00 +0200cyphase_eviltwincyphase
2022-08-03 21:17:12 +0200 <geekosaur> but I didn't care much about performance of either one; if it matters to you then runghc is a poor choice
2022-08-03 21:18:23 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-08-03 21:18:23 +0200wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-08-03 21:18:23 +0200wroathe(~wroathe@user/wroathe)
2022-08-03 21:19:27 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 21:20:24 +0200autophagian(~mika@ip5f5bf3a3.dynamic.kabel-deutschland.de)
2022-08-03 21:21:31 +0200vglfr(~vglfr@194.9.14.33) (Ping timeout: 252 seconds)
2022-08-03 21:25:31 +0200 <Cale> You might also like ghcid
2022-08-03 21:29:07 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 268 seconds)
2022-08-03 21:32:36 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-08-03 21:37:37 +0200autophagian(~mika@ip5f5bf3a3.dynamic.kabel-deutschland.de) (Quit: leaving)
2022-08-03 21:40:56 +0200ozkutuk(~ozkutuk@176.240.173.153)
2022-08-03 21:42:55 +0200ski(~ski@ext-1-213.eduroam.chalmers.se)
2022-08-03 21:44:34 +0200dhil(~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net) (Quit: Leaving)
2022-08-03 21:47:39 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2022-08-03 21:48:31 +0200 <sm> yeah ghcid can do that
2022-08-03 21:50:26 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-09a8-af8b-6907-6e05.res6.spectrum.com) (Remote host closed the connection)
2022-08-03 21:51:32 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2022-08-03 21:55:28 +0200pavonia(~user@user/siracusa)
2022-08-03 21:58:13 +0200talismanick(~talismani@campus-100-192.ucdavis.edu)
2022-08-03 21:59:56 +0200TonyStone(~TonyStone@2603-7080-8607-c36a-05bb-8b0e-3f23-c965.res6.spectrum.com)
2022-08-03 22:01:21 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Quit: leaving)
2022-08-03 22:02:20 +0200merijn(~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
2022-08-03 22:05:54 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net)
2022-08-03 22:08:16 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-03 22:12:54 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2022-08-03 22:13:17 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-08-03 22:15:47 +0200liz(~liz@cpc84585-newc17-2-0-cust60.16-2.cable.virginm.net) (Ping timeout: 252 seconds)
2022-08-03 22:17:00 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-08-03 22:18:29 +0200rekahsoft(~rekahsoft@bras-base-wdston4533w-grc-02-142-113-160-8.dsl.bell.ca)
2022-08-03 22:21:35 +0200zxx7529(~Thunderbi@user/zxx7529) (Remote host closed the connection)
2022-08-03 22:21:41 +0200zxx7530(~Thunderbi@user/zxx7529)
2022-08-03 22:24:00 +0200zxx7530zxx7529
2022-08-03 22:29:59 +0200kalalele(~kalalele@2a02-a446-aea7-1-e858-b948-ec55-5937.fixed6.kpn.net)
2022-08-03 22:31:50 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-08-03 22:35:40 +0200zxx7529(~Thunderbi@user/zxx7529) (Remote host closed the connection)
2022-08-03 22:35:49 +0200zxx7530(~Thunderbi@user/zxx7529)
2022-08-03 22:38:08 +0200zxx7530zxx7529
2022-08-03 22:44:54 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-08-03 22:49:35 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 22:49:42 +0200Kaiepi(~Kaiepi@156.34.47.253) (Quit: Leaving)
2022-08-03 22:51:09 +0200Kaiepi(~Kaiepi@156.34.47.253)
2022-08-03 22:53:47 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 245 seconds)
2022-08-03 22:59:30 +0200titibandit(~titibandi@xdsl-78-35-214-18.nc.de) (Quit: Leaving.)
2022-08-03 23:04:14 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-08-03 23:14:51 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-08-03 23:15:42 +0200notzmv(~zmv@user/notzmv)
2022-08-03 23:20:40 +0200yvan-sraka(uid419690@id-419690.lymington.irccloud.com)
2022-08-03 23:26:18 +0200zxx7529(~Thunderbi@user/zxx7529) (Remote host closed the connection)
2022-08-03 23:26:26 +0200zxx7530(~Thunderbi@user/zxx7529)
2022-08-03 23:28:45 +0200zxx7530zxx7529
2022-08-03 23:31:02 +0200acidjnk(~acidjnk@p200300d6e7058647288007281c69d35b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-08-03 23:36:35 +0200fjmorazan(~quassel@user/fjmorazan) (Quit: fjmorazan)
2022-08-03 23:36:42 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
2022-08-03 23:36:49 +0200fjmorazan(~quassel@user/fjmorazan)
2022-08-03 23:42:35 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-08-03 23:42:49 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2022-08-03 23:42:56 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Remote host closed the connection)
2022-08-03 23:43:02 +0200acidjnk(~acidjnk@p200300d6e70586478c218a5601cf793a.dip0.t-ipconnect.de)
2022-08-03 23:45:30 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net) (Quit: Lost terminal)
2022-08-03 23:46:43 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net)
2022-08-03 23:47:38 +0200sandy_doo(~sandydoo@185.209.196.136)
2022-08-03 23:57:26 +0200misterfish(~misterfis@ip214-130-173-82.adsl2.static.versatel.nl) (Ping timeout: 240 seconds)
2022-08-03 23:57:39 +0200coot(~coot@213.134.190.95) (Quit: coot)