2021/12/25

2021-12-25 00:00:49 +0100max22-(~maxime@2a01cb0883359800d70950f17875b6a2.ipv6.abo.wanadoo.fr)
2021-12-25 00:03:03 +0100 <acode> Hey everyone, beginner's question here: I'm reading learn you a haskell and I reached the section about the functor typeclass. Following the author's example I have a type Tree around from earlier that I want to make an instance of Functor. Now fmap over the empty tree does nothing and that's alright, while I'm trying to copy the book's code "fmap
2021-12-25 00:03:03 +0100 <acode> f (Node x left right) = Node (f x) (fmap f left) (fmap f right) " to map over nontrivial trees, which results in an error by ghci because of an ambiguous occurence of fmap which I'm having issues sorting out
2021-12-25 00:06:23 +0100 <geekosaur> you will have to name your Functor typeclass and fmap function something else
2021-12-25 00:06:37 +0100perro(~perro@072-191-245-069.res.spectrum.com)
2021-12-25 00:06:39 +0100 <geekosaur> oh, wait, you're using the standard one
2021-12-25 00:06:52 +0100 <hpc> might be missing "instance Functor Tree where"
2021-12-25 00:06:56 +0100 <geekosaur> you need to do it in an instance declaration, and do it all on one line because ghci is stupid
2021-12-25 00:07:05 +0100 <hpc> or :{ to start a multiline block
2021-12-25 00:07:07 +0100 <hpc> and :} to end it
2021-12-25 00:07:09 +0100 <geekosaur> instance Functor Tree where fmap = ...
2021-12-25 00:07:16 +0100 <hpc> (or pop it in a file and ghci file.hs
2021-12-25 00:07:18 +0100 <hpc> )
2021-12-25 00:07:44 +0100 <hpc> i usually prefer files, because at the end of your experimenting you have a file full of useful code
2021-12-25 00:07:52 +0100benin(~benin@183.82.27.57)
2021-12-25 00:08:00 +0100 <acode> I have the instance declaration in a .hs file called alberelli.hs, the error I get is "Ambiguous occurrence `fmap'
2021-12-25 00:08:00 +0100 <acode>     It could refer to
2021-12-25 00:08:01 +0100 <acode>        either `Prelude.fmap',
2021-12-25 00:08:01 +0100 <acode>               imported from `Prelude' at alberelli.hs:1:1
2021-12-25 00:08:02 +0100 <acode>               (and originally defined in `GHC.Base')
2021-12-25 00:08:02 +0100 <acode>            or `Main.fmap', defined at alberelli.hs:21:1"
2021-12-25 00:08:07 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-12-25 00:08:17 +0100 <acode> instance Functor Tree where
2021-12-25 00:08:17 +0100 <acode> fmap f EmptyTree = EmptyTree
2021-12-25 00:08:18 +0100 <acode> fmap f (Node x left right) = Node (f x) (Main.fmap f left) (Main.fmap f right)
2021-12-25 00:08:22 +0100 <acode> While this is my instance declaration
2021-12-25 00:08:33 +0100 <geekosaur> you need to indent the fmpa lines
2021-12-25 00:08:35 +0100 <geekosaur> *fmap
2021-12-25 00:08:50 +0100 <geekosaur> otherwise you're defining a new function outside of the instance declaration
2021-12-25 00:09:00 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2021-12-25 00:09:13 +0100 <acode> Oh
2021-12-25 00:09:34 +0100 <acode> That was easy, I completely missed that indentation is needed there, feelsdumb
2021-12-25 00:09:36 +0100 <acode> Thanks!
2021-12-25 00:16:04 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-25 00:16:04 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-25 00:16:04 +0100wroathe(~wroathe@user/wroathe)
2021-12-25 00:18:35 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 268 seconds)
2021-12-25 00:20:32 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2021-12-25 00:20:37 +0100acode(~acode@151.65.31.181) (Quit: Client closed)
2021-12-25 00:23:04 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-12-25 00:24:31 +0100deadmarshal(~deadmarsh@95.38.117.158) (Ping timeout: 256 seconds)
2021-12-25 00:27:43 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
2021-12-25 00:27:53 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-25 00:28:05 +0100zer0bitz_(~zer0bitz@dsl-hkibng32-54f844-160.dhcp.inet.fi)
2021-12-25 00:29:50 +0100KvL(~KvL@195.216.219.76)
2021-12-25 00:30:18 +0100zer0bitz(~zer0bitz@2001:2003:f444:a000:2421:137f:dee3:7f7d) (Ping timeout: 260 seconds)
2021-12-25 00:30:18 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 268 seconds)
2021-12-25 00:31:49 +0100coolnickname(uid531864@user/coolnickname) (Quit: Connection closed for inactivity)
2021-12-25 00:32:05 +0100deadmarshal(~deadmarsh@95.38.229.175)
2021-12-25 00:32:35 +0100mvk(~mvk@2607:fea8:5cdd:f000::917a)
2021-12-25 00:33:48 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds)
2021-12-25 00:34:51 +0100zer0bitz(~zer0bitz@dsl-hkibng32-54f844-160.dhcp.inet.fi)
2021-12-25 00:38:17 +0100zer0bitz_(~zer0bitz@dsl-hkibng32-54f844-160.dhcp.inet.fi) (Ping timeout: 240 seconds)
2021-12-25 00:39:03 +0100 <otherwise> > replicate 3 "wee "
2021-12-25 00:39:04 +0100 <lambdabot> ["wee ","wee ","wee "]
2021-12-25 00:47:01 +0100Jing(~hedgehog@2604:a840:3::1061) (Remote host closed the connection)
2021-12-25 00:47:53 +0100Jing(~hedgehog@2604:a840:3::1061)
2021-12-25 00:50:51 +0100 <EvanR> > replicate 3 "Ho "
2021-12-25 00:50:53 +0100 <lambdabot> ["Ho ","Ho ","Ho "]
2021-12-25 00:51:39 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2021-12-25 00:51:39 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-12-25 00:51:39 +0100finn_elijaFinnElija
2021-12-25 00:52:10 +0100 <geekosaur> > replicate 3 "Mu "
2021-12-25 00:52:12 +0100 <lambdabot> ["Mu ","Mu ","Mu "]
2021-12-25 01:01:57 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-12-25 01:01:59 +0100Alex_test_(~al_test@178.34.160.99)
2021-12-25 01:02:00 +0100AlexZenon_2(~alzenon@178.34.160.99)
2021-12-25 01:02:37 +0100dan-so(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 240 seconds)
2021-12-25 01:03:32 +0100farn(~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (Ping timeout: 240 seconds)
2021-12-25 01:03:37 +0100AlexZenon(~alzenon@178.34.160.99) (Ping timeout: 256 seconds)
2021-12-25 01:03:37 +0100Alex_test(~al_test@178.34.160.99) (Ping timeout: 256 seconds)
2021-12-25 01:04:02 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Ping timeout: 240 seconds)
2021-12-25 01:04:06 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2021-12-25 01:04:27 +0100farn(~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505)
2021-12-25 01:04:31 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-12-25 01:05:03 +0100dan-so(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-12-25 01:06:43 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-12-25 01:08:04 +0100max22-(~maxime@2a01cb0883359800d70950f17875b6a2.ipv6.abo.wanadoo.fr) (Quit: Leaving)
2021-12-25 01:10:08 +0100rlj(~rlj@62.119.244.114)
2021-12-25 01:12:39 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-25 01:12:39 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-25 01:12:39 +0100wroathe(~wroathe@user/wroathe)
2021-12-25 01:18:25 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 268 seconds)
2021-12-25 01:19:38 +0100dan-so(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 268 seconds)
2021-12-25 01:22:27 +0100zer0bitz(~zer0bitz@dsl-hkibng32-54f844-160.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-12-25 01:26:18 +0100jgeerds(~jgeerds@55d4ac73.access.ecotel.net)
2021-12-25 01:26:25 +0100lechner(~lechner@debian/lechner) (Ping timeout: 268 seconds)
2021-12-25 01:31:35 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-12-25 01:32:59 +0100KvL(~KvL@195.216.219.76) (Quit: KvL)
2021-12-25 01:33:19 +0100KvL(~KvL@195.216.219.76)
2021-12-25 01:33:56 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-12-25 01:34:13 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-12-25 01:38:35 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2021-12-25 01:39:37 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-12-25 01:42:52 +0100 <[itchyjunk]> What are the pre-req to understand this thing called "y-combinator" ?
2021-12-25 01:43:08 +0100 <[itchyjunk]> something something anynomous function, recursion, higher order function but i don't get it.
2021-12-25 01:43:48 +0100 <geekosaur> the usual formulation of the Y combinator requires an understanding of the untyped lambda calculus
2021-12-25 01:44:56 +0100 <geekosaur> "\x -> x x" takes a function (we know it's a function because it's applied in the body) and applies it to itself
2021-12-25 01:45:00 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
2021-12-25 01:45:59 +0100 <[itchyjunk]> woha, applies it to itself, what a crazy concept..
2021-12-25 01:46:20 +0100 <[itchyjunk]> I need to look into this lambda calculus stuff, its been getting in the way a lot more these days.
2021-12-25 01:46:44 +0100Everything(~Everythin@37.115.210.35) (Quit: leaving)
2021-12-25 01:47:33 +0100 <geekosaur> quite a bit of Haskell will make more sense with an understanding of lambda calculus, because in many ways Haskell is about as close as you can get to programming directly with lambda calculus
2021-12-25 01:48:14 +0100 <geekosaur> mostly because of Haskell's laziness, which means it's evaluated by reduction of terms the same way lambda calculi are
2021-12-25 01:48:21 +0100 <[itchyjunk]> What are the prereq for learning lambda calc?
2021-12-25 01:49:34 +0100 <geekosaur> not much, actually. the untyped lambda calculus in particular is fairly simple, you jsut need to learn the rules for expanding and reducing terms. and of course the syntax, which may be the hardest part to get used to
2021-12-25 01:49:37 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 240 seconds)
2021-12-25 01:50:20 +0100 <geekosaur> but expanding and reducing terms is actually fairly mechanical
2021-12-25 01:50:20 +0100rlj(~rlj@62.119.244.114) (Quit: Client closed)
2021-12-25 01:50:37 +0100 <[itchyjunk]> ah i see
2021-12-25 01:51:14 +0100 <geekosaur> other types of lambda calculus add more to that, but they're relatively small steps upward after you have the untyped lambda calculus
2021-12-25 01:52:12 +0100 <[itchyjunk]> I've heard of this concept. i was reading a little bit of godel, escher, bach and they talk about formal systems and axioms and how you build theorems out of it
2021-12-25 01:52:36 +0100 <geekosaur> it's when you start applyingt those rules to \x -> x x that you start to realize what all the yelling is about :)
2021-12-25 01:52:52 +0100lechner(~lechner@debian/lechner)
2021-12-25 01:53:36 +0100 <geekosaur> yeh, I was just trying to remember if GEB presented much of lambda calculus at all. I don't think it did though
2021-12-25 01:54:09 +0100 <geekosaur> not directly relevant to demonstrating Gödel's theorem
2021-12-25 01:54:17 +0100 <[itchyjunk]> ahh
2021-12-25 01:54:24 +0100 <geekosaur> it'd just be another thing to demonstrate encoding of
2021-12-25 01:56:58 +0100 <geekosaur> well, no. you could I think demonstrate the Incompleteness Theorem with lambda calculus, but the original was demonstrated on number theory as described by _Principia Mathematica_ so (a subset of) that was what Hofstadter stuck to
2021-12-25 01:57:20 +0100 <geekosaur> LC and number theory are fairly different things though
2021-12-25 01:59:08 +0100 <geekosaur> (although I am vaguely recalling that there is an approach to set theory based on lambda calculus, which would lead to number theory eventually)
2021-12-25 02:01:32 +0100acidjnk(~acidjnk@p200300d0c7271e974de60a217c79c2cb.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-12-25 02:03:37 +0100n3rdy1(~n3rdy1@2601:281:c780:a510:c82b:6078:8c93:1082) (Ping timeout: 240 seconds)
2021-12-25 02:06:31 +0100Tuplanolla(~Tuplanoll@91-159-68-52.elisa-laajakaista.fi) (Quit: Leaving.)
2021-12-25 02:06:51 +0100kaph_(~kaph@net-2-45-51-147.cust.vodafonedsl.it)
2021-12-25 02:09:17 +0100kaph(~kaph@net-2-45-51-147.cust.vodafonedsl.it) (Ping timeout: 240 seconds)
2021-12-25 02:11:25 +0100jgeerds(~jgeerds@55d4ac73.access.ecotel.net) (Ping timeout: 240 seconds)
2021-12-25 02:14:26 +0100x88x88x(~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb)
2021-12-25 02:17:28 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-12-25 02:17:44 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:17:45 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:19:12 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
2021-12-25 02:19:45 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:19:46 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:21:30 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:21:30 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:24:10 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 260 seconds)
2021-12-25 02:24:17 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:24:18 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:24:43 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:24:44 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:28:41 +0100Techcable(~Techcable@168.235.93.147) (Quit: ZNC - https://znc.in)
2021-12-25 02:28:59 +0100Alleria(~textual@user/alleria)
2021-12-25 02:29:30 +0100KvL(~KvL@195.216.219.76) (Quit: KvL)
2021-12-25 02:30:35 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:30:36 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:31:19 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:31:19 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:31:58 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:31:59 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:32:49 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:32:50 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:34:27 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Remote host closed the connection)
2021-12-25 02:34:50 +0100Techcable(~Techcable@168.235.93.147)
2021-12-25 02:35:53 +0100dan-so(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-12-25 02:36:16 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
2021-12-25 02:38:03 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:38:04 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:38:33 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:38:34 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:40:03 +0100 <otherwise> > head [3,2,1]:head (tail [3,2,1]):[head (tail (tail [3,2,1]) )]
2021-12-25 02:40:04 +0100 <lambdabot> [3,2,1]
2021-12-25 02:40:20 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:40:21 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:41:05 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:41:06 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:41:32 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:41:32 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:42:14 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:42:15 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:42:37 +0100BrokenClutch(~pioneer@2804:d41:c2a7:d800:e627:b00b:2c62:134)
2021-12-25 02:43:48 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:43:48 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:43:51 +0100 <BrokenClutch> First, merry Christmas. Second, Is common to feel unable to understand reactive-banana? Am I too dumb?
2021-12-25 02:44:14 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:44:15 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:46:59 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:47:00 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:47:26 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:47:27 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:47:52 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-25 02:48:59 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:49:00 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:49:29 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:49:30 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:49:44 +0100 <dsal> BrokenClutch: I've had no issues understanding reactive banana.
2021-12-25 02:49:46 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:49:46 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:49:49 +0100dsaldoesn't know what reactive banana is
2021-12-25 02:51:07 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:51:18 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:51:54 +0100 <BrokenClutch> dsal: How?
2021-12-25 02:52:15 +0100 <dsal> ?
2021-12-25 02:52:25 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2021-12-25 02:52:28 +0100 <BrokenClutch> dsal: I'm like, crying rn (not really). How to understand it?
2021-12-25 02:52:35 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:52:35 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:52:54 +0100 <dsal> I've never seen it. What is it? Why is it important to you?
2021-12-25 02:53:09 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:53:10 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:53:22 +0100 <BrokenClutch> dsal: FRP
2021-12-25 02:53:46 +0100 <BrokenClutch> dsal: Looks cool, I can do text adventures, lots of things
2021-12-25 02:54:10 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
2021-12-25 02:54:28 +0100 <dsal> Oh. What kind of problem are you having?
2021-12-25 02:55:45 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 02:55:46 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 02:56:03 +0100 <BrokenClutch> dsal: I don't get it. Is it possible to define monad/applicative operations that register something as a callback?
2021-12-25 02:56:17 +0100 <BrokenClutch> Like, as a side-effect
2021-12-25 02:56:19 +0100 <[itchyjunk]> Never heard of "reactive programming" before
2021-12-25 02:56:39 +0100 <BrokenClutch> [itchyjunk]: it's cool
2021-12-25 02:57:56 +0100 <dsal> BrokenClutch: Well, sure. That's basically what things like modify do.
2021-12-25 02:57:57 +0100 <dsal> :t modify
2021-12-25 02:57:58 +0100 <lambdabot> MonadState s m => (s -> s) -> m ()
2021-12-25 02:58:22 +0100 <EvanR> reactive banana probably has it's own way to do such things
2021-12-25 02:58:50 +0100 <BrokenClutch> Is it viable to do FRP without those libs?
2021-12-25 02:58:51 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-25 02:59:33 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 268 seconds)
2021-12-25 02:59:52 +0100 <EvanR> maybe there is a reactive banana tutorial or guide laying around?
2021-12-25 03:00:01 +0100 <EvanR> crash course
2021-12-25 03:00:52 +0100 <BrokenClutch> There is, but I found the lib to be very "not intuitive"
2021-12-25 03:00:56 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 03:00:57 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 03:01:14 +0100 <dsal> That's often a good thing.
2021-12-25 03:01:29 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 03:01:30 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 03:01:44 +0100 <dsal> Have you got a good intuition for the stuff it's built on yet?
2021-12-25 03:01:46 +0100 <BrokenClutch> dsal: At least this makes it a good challenge
2021-12-25 03:01:47 +0100 <EvanR> on the bright side, your experience is the first step to being one of those people with any experience at all with FRP
2021-12-25 03:02:25 +0100 <EvanR> so one day you can provide some insight on the lib xD
2021-12-25 03:02:38 +0100 <dsal> "not intuitive" often means you're having to learn things. If everything fit into what you already know, you'd be limited to only doing things you already know.
2021-12-25 03:02:39 +0100 <BrokenClutch> EvanR: Isn't FRP popular?
2021-12-25 03:03:00 +0100 <BrokenClutch> dsal: That's why I'm studying haskell, I agree with you
2021-12-25 03:03:03 +0100 <dsal> "popular" is a weird metric . Popular with whom, for what?
2021-12-25 03:03:24 +0100 <EvanR> it was blogosphere buzzwordy for a few years
2021-12-25 03:03:26 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 03:03:27 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 03:03:50 +0100 <EvanR> conal's formulation from earlier never really caught on
2021-12-25 03:03:53 +0100 <BrokenClutch> dsal: Don't know
2021-12-25 03:04:02 +0100 <BrokenClutch> EvanR: I can see why
2021-12-25 03:04:27 +0100 <BrokenClutch> Those stuff that i want to do are more easily done with imperative languages, but they ain't fun
2021-12-25 03:04:32 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 03:04:33 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 03:04:53 +0100 <EvanR> there are some beautiful ideas behind FRP out there, maybe it's the thought that counts xD
2021-12-25 03:04:53 +0100 <dsal> You being able to do them more easily with imperative languages doesn't mean they're more easily done with imperative languages.
2021-12-25 03:05:49 +0100 <EvanR> BrokenClutch, what exactly are you trying to achieve
2021-12-25 03:05:57 +0100 <BrokenClutch> EvanR: fun
2021-12-25 03:06:09 +0100 <EvanR> "exactly"
2021-12-25 03:06:28 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 03:06:28 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 03:06:29 +0100 <dsal> I do something similar with my mqtt broker. The reference implementations were too buggy, so I threw one together real quick. It just… works. Handling concurrent data structure access with lots of weird mutation paths is trivial in Haskell. Reference implementation continues to be incomplete and buggy. Mine continues to just be a boring project that works.
2021-12-25 03:06:35 +0100neceve(~quassel@2.26.93.228) (Ping timeout: 256 seconds)
2021-12-25 03:06:37 +0100 <BrokenClutch> I want to make some cute stuff, like some little gaming things
2021-12-25 03:06:59 +0100 <EvanR> you're in good company
2021-12-25 03:07:07 +0100 <EvanR> check out #haskell-game if you get a chance
2021-12-25 03:07:23 +0100 <BrokenClutch> EvanR: I will
2021-12-25 03:08:03 +0100 <BrokenClutch> dsal: Didn't understood a word, but i got the spirit
2021-12-25 03:08:20 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: closed)
2021-12-25 03:08:28 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 03:08:30 +0100 <dsal> Managing state in haskell is so much easier than managing state in any other language, IME.
2021-12-25 03:08:43 +0100 <dsal> parallelism is ~0 effort. Concurrency is composable.
2021-12-25 03:08:55 +0100 <EvanR> I'll add YMMV to that xD
2021-12-25 03:09:44 +0100 <EvanR> if someone just asks you to manage some state and absolutely nothing else, I can see how it would be easy
2021-12-25 03:10:27 +0100 <dsal> Well, sure. I've done pretty high volume concurrency code in java, C++, C, go, and a few other languages. Haskell is the one that's been the easiest.
2021-12-25 03:10:33 +0100 <BrokenClutch> I just started to use haskell because lambdas are fun, managing states with haskell isn't easy to me, but it's more readable.
2021-12-25 03:10:39 +0100 <dsal> (not counting stuff like javascript and python, but I've done a few of those as well)
2021-12-25 03:11:20 +0100 <BrokenClutch> dsal: Did you tried with rust or erlang?
2021-12-25 03:12:24 +0100 <dsal> Oh yeah, I've built a company around an erlang core as well.
2021-12-25 03:12:28 +0100 <dsal> erlang is also pretty good at this.
2021-12-25 03:12:58 +0100 <dsal> I've not used rust. It's not much a fit for most things I do. But I hear there are some pretty sharp edges.
2021-12-25 03:13:08 +0100 <EvanR> after enough haskellisms, you might begin to think differently about "managing state" or even what "state" is
2021-12-25 03:13:36 +0100 <dsal> If you don't use StateT, your code is stateless.
2021-12-25 03:13:52 +0100 <EvanR> sometimes you can accomplish something and not realize what happened to the state you thought you needed
2021-12-25 03:14:00 +0100 <BrokenClutch> EvanR: I like it because I can think linearly, without being afraid that something will get crazy
2021-12-25 03:14:15 +0100 <dsal> Like which?
2021-12-25 03:14:22 +0100 <EvanR> you mean like modifying a bunch of variables with a line by line imperative program?
2021-12-25 03:14:32 +0100 <EvanR> that sounds crazy to me, if it gets beyond a single-page algorithm
2021-12-25 03:14:34 +0100 <dsal> That's horrifying.
2021-12-25 03:15:02 +0100 <dsal> I like looking at a type signature and having some idea what might happen… though a lot of people argue you should do everything in IO for some reason.
2021-12-25 03:15:14 +0100kupi(uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2021-12-25 03:15:16 +0100 <BrokenClutch> When i write Scheme i really avoid "set!", most people do this to avoid those crazy stuff
2021-12-25 03:15:41 +0100 <EvanR> so you could be construing "state" with mutable variables
2021-12-25 03:15:54 +0100 <dsal> When I write a function in Haskell, I know it doesn't do any weird stuff that affects the rest of my program. :)
2021-12-25 03:16:12 +0100 <dsal> But I still have State, ST, STM, and whatever else I need.
2021-12-25 03:16:38 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Remote host closed the connection)
2021-12-25 03:16:47 +0100 <dsal> STM basically doesn't outside of Haskell, at least not with sanity. Various libraries "do" STM in different languages as long as you're really super careful.
2021-12-25 03:17:20 +0100 <dsal> STM in haskell doesn't require all that much care. Most dumb things won't compile. You can still write bugs, but the language allows you to build a library that is hard to use incorrectly.
2021-12-25 03:18:04 +0100 <EvanR> this library is so hard to use! incorrectly!
2021-12-25 03:18:21 +0100 <BrokenClutch> dsal: This helps me a lot. I'm not a smart cookie, haskell helps me to be sure that I'm not doing something strange
2021-12-25 03:18:33 +0100 <BrokenClutch> EvanR: using incorrectly is half of the fun
2021-12-25 03:18:33 +0100 <dsal> Yes, I use Haskell because I'm dumb.
2021-12-25 03:19:15 +0100 <dsal> The major fancy language features that are fancy and unique to go are easy to write as a library in Haskell, but unlike in go, you can also compose them.
2021-12-25 03:19:16 +0100 <EvanR> I need haskell because I'm dumb, I can use haskell because I'm smart? xD
2021-12-25 03:19:50 +0100 <dsal> go channels have a really narrow composition mechanism. In practice, you do not make channels part of your API, even though doing so *might* make it possible to do some basic composition.
2021-12-25 03:20:02 +0100 <BrokenClutch> the source code of reactive-banana isn't too big, should i read it? I'm pretty new with haskell, but I think i can get it.
2021-12-25 03:20:29 +0100 <dsal> In STM, you *should* expose STM operations in your API (where it makes sense at least), but they compose easily in all kinds of fancy ways.
2021-12-25 03:20:35 +0100 <EvanR> sure read the source
2021-12-25 03:21:30 +0100 <dsal> BrokenClutch: If you're not to Haskell, you're not doing yourself any favors by dropping yourself naked in the middle of a small village where you don't speak the language and try to work out how to write a book from what you think people are yelling at you.
2021-12-25 03:21:50 +0100 <dsal> er, s/not to/new to/
2021-12-25 03:22:58 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2021-12-25 03:23:02 +0100 <dsal> It's far easier to learn by knowing the fundamentals and then learning new abstractions as your needs grow in their direction. Starting from weird high level abstractions built on top of layers and layers of foundational bits will always be disorienting.
2021-12-25 03:23:55 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 03:23:56 +0100 <BrokenClutch> dsal: Why naked?
2021-12-25 03:23:56 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 03:24:15 +0100 <EvanR> this metaphor is NSFW
2021-12-25 03:24:36 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 03:24:36 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 03:27:14 +0100 <BrokenClutch> The books can be too boring. I actually like to read those kind of books, but for haskell they are too slow. I would like a book like the math ones I read, more dense and direct
2021-12-25 03:27:43 +0100 <BrokenClutch> If i was naked I would write one
2021-12-25 03:27:50 +0100Jing(~hedgehog@2604:a840:3::1061) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-12-25 03:27:55 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
2021-12-25 03:28:21 +0100 <EvanR> just don't fall into the monad tutorial fallacy
2021-12-25 03:28:44 +0100 <dsal> I've never seen a monad tutorial that helped me understand anything.
2021-12-25 03:29:35 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 03:29:36 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 03:29:38 +0100 <dsal> The reason monads are hard to explain to people is because they have no context whatsoever to talk about things. If you try to explain what they need to know to understand things, they complain about it being too complicated. If you walk them there without that being the actual goal, it's pretty easy to arrive.
2021-12-25 03:29:40 +0100 <BrokenClutch> I've just used LSP on emacs to see what was going on
2021-12-25 03:30:46 +0100 <BrokenClutch> I see like a sequence of computations inside a context
2021-12-25 03:32:20 +0100 <EvanR> ghci has a debugger that can show you the state of a computation
2021-12-25 03:32:26 +0100lavaman(~lavaman@98.38.249.169)
2021-12-25 03:32:37 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 240 seconds)
2021-12-25 03:32:47 +0100 <BrokenClutch> EvanR: LSP is more intuitive for me.
2021-12-25 03:32:53 +0100 <EvanR> LSP is a haskell thing?
2021-12-25 03:33:04 +0100 <BrokenClutch> Language Server Protocol
2021-12-25 03:33:07 +0100 <EvanR> cool
2021-12-25 03:33:08 +0100 <BrokenClutch> I use on emacs
2021-12-25 03:33:28 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-12-25 03:33:29 +0100 <BrokenClutch> because I'm very h4ck3r :) :) :)
2021-12-25 03:34:01 +0100 <EvanR> I know what that says because I speak leet
2021-12-25 03:34:14 +0100retro_(~retro@05412d78.skybroadband.com)
2021-12-25 03:35:05 +0100 <BrokenClutch> EvanR: h4ck3r br0
2021-12-25 03:35:46 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2021-12-25 03:36:10 +0100 <BrokenClutch> going to play xcom (openxcom), merry christmas
2021-12-25 03:36:17 +0100mvk(~mvk@2607:fea8:5cdd:f000::917a) (Ping timeout: 240 seconds)
2021-12-25 03:37:39 +0100 <EvanR> cheers
2021-12-25 03:37:46 +0100retroid_(~retro@05412d78.skybroadband.com) (Ping timeout: 268 seconds)
2021-12-25 03:37:46 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-25 03:47:17 +0100falafel(~falafel@2603-8000-d800-688c-502d-7280-71cc-20e7.res6.spectrum.com) (Ping timeout: 240 seconds)
2021-12-25 03:48:42 +0100 <sm> Merry Christmas 🎄 Holidays 🌴 Friday, all
2021-12-25 03:49:11 +0100Morrow(~quassel@bzq-110-168-31-106.red.bezeqint.net) (Remote host closed the connection)
2021-12-25 03:51:25 +0100xff0x(~xff0x@2001:1a81:5311:2b00:3f8f:ed06:c623:ab7c) (Ping timeout: 240 seconds)
2021-12-25 03:52:30 +0100bollu(uid233390@id-233390.helmsley.irccloud.com)
2021-12-25 03:53:24 +0100xff0x(~xff0x@2001:1a81:534f:cd00:7f66:dac0:537e:5302)
2021-12-25 03:56:53 +0100johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
2021-12-25 04:00:07 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
2021-12-25 04:02:36 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-12-25 04:02:36 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2021-12-25 04:02:36 +0100finn_elijaFinnElija
2021-12-25 04:05:31 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 268 seconds)
2021-12-25 04:06:13 +0100vicfred(~vicfred@user/vicfred)
2021-12-25 04:07:45 +0100 <otherwise> > (head (tail (tail (tail (tail (tail (tail "!sknahT"))))))):(head (tail (tail (tail (tail (tail "!sknahT")))))):(head (tail (tail (tail (tail "!sknahT"))))):(head (tail (tail (tail "!sknahT")))):(head (tail (tail "!sknahT"))):(head (tail "!sknahT")):[(head "!sknahT")]
2021-12-25 04:07:47 +0100 <lambdabot> "Thanks!"
2021-12-25 04:11:04 +0100vysn(~vysn@user/vysn) (Ping timeout: 268 seconds)
2021-12-25 04:14:45 +0100 <dsal> There's an easier way to write that. :)
2021-12-25 04:15:17 +0100euandreh(~euandreh@2804:14c:33:9fe5:157f:fad:702e:d7a) (Ping timeout: 240 seconds)
2021-12-25 04:15:57 +0100td_(~td@muedsl-82-207-238-144.citykom.de) (Ping timeout: 240 seconds)
2021-12-25 04:16:20 +0100 <dsal> First,
2021-12-25 04:16:22 +0100 <dsal> > let cdddddr = head . tail . tail . tail . tail . tail . tail in cdddddr "!sknahT"
2021-12-25 04:16:24 +0100 <lambdabot> 'T'
2021-12-25 04:17:02 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
2021-12-25 04:18:07 +0100td_(~td@muedsl-82-207-238-172.citykom.de)
2021-12-25 04:21:17 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Ping timeout: 240 seconds)
2021-12-25 04:25:40 +0100mbuf(~Shakthi@122.162.66.42)
2021-12-25 04:26:00 +0100vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2021-12-25 04:26:32 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 04:26:33 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 04:30:37 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2021-12-25 04:30:38 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-12-25 04:30:38 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2021-12-25 04:30:38 +0100finn_elijaFinnElija
2021-12-25 04:33:32 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-12-25 04:35:05 +0100 <otherwise> Prelude> head . tail . tail . (tail "12345") : head . tail . (tail "12345"): head . {tail "12345"): (head "12345":[])
2021-12-25 04:35:18 +0100 <otherwise> thats as close as I could get...
2021-12-25 04:35:49 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
2021-12-25 04:37:37 +0100waleee(~waleee@h-98-128-229-110.NA.cust.bahnhof.se) (Ping timeout: 240 seconds)
2021-12-25 04:37:48 +0100 <otherwise> > restructure <Expr> reverse [3,2,1]
2021-12-25 04:37:50 +0100 <lambdabot> error:
2021-12-25 04:37:50 +0100 <lambdabot> Precedence parsing error
2021-12-25 04:37:50 +0100 <lambdabot> cannot mix ‘<’ [infix 4] and ‘>’ [infix 4] in the same infix expression
2021-12-25 04:39:16 +0100BrokenClutch(~pioneer@2804:d41:c2a7:d800:e627:b00b:2c62:134) ()
2021-12-25 04:41:18 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 268 seconds)
2021-12-25 04:50:58 +0100 <dsal> @src reverse
2021-12-25 04:50:58 +0100 <lambdabot> reverse = foldl (flip (:)) []
2021-12-25 04:54:17 +0100Brandon_IX(~brandon@178-79-138-117.ip.linodeusercontent.com)
2021-12-25 05:00:40 +0100vicfred(~vicfred@user/vicfred)
2021-12-25 05:03:49 +0100 <otherwise> I'm working through recursion chapter in "learn you a haskell..." and am trying to get used to evaluating the recursive process by hand to get a better intuitive understanding. reverse is what I was trying to explicitly evaluate. :)
2021-12-25 05:04:46 +0100 <otherwise> wait... what is @src? that is not the same as :t
2021-12-25 05:05:01 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2021-12-25 05:06:56 +0100 <otherwise> How can I do a comparable command to @src in ghci? It is not :doc and it is not :def
2021-12-25 05:08:10 +0100dsrt^(~dsrt@207.5.54.6) (Remote host closed the connection)
2021-12-25 05:08:12 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
2021-12-25 05:10:19 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
2021-12-25 05:12:46 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-12-25 05:13:06 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 260 seconds)
2021-12-25 05:19:17 +0100 <int-e> otherwise: no, @src is specific to lambdabot, cf. https://github.com/lambdabot/lambdabot/blob/master/lambdabot/State/source for all the things it knows. (So since it's just a text file, you should take its definitions with a grain of salt. Some of them are what the report says, not what base implements; some are older versions of what base uses. Some may even be completely made up.)
2021-12-25 05:19:24 +0100 <int-e> :t Mu
2021-12-25 05:19:25 +0100 <lambdabot> error:
2021-12-25 05:19:25 +0100 <lambdabot> • Data constructor not in scope: Mu
2021-12-25 05:19:25 +0100 <lambdabot> • Perhaps you meant one of these:
2021-12-25 05:19:27 +0100 <int-e> @src Mu
2021-12-25 05:19:27 +0100 <lambdabot> newtype Mu f = In { out :: f (Mu f) }
2021-12-25 05:20:02 +0100 <int-e> This one, for example, is a type that lambdabot defined locally for some time. Nobody seems to miss it much :P
2021-12-25 05:21:00 +0100 <monochrom> If you don't mind a bit of strong opinion... No, evaluating recursion by hand is not insightful. Your computer has been doing it for its life, has it got smarter? Induction proof is a better way to understand recursion and think up recursive code that works. See my http://www.cs.utoronto.ca/~trebla/CSCC24-2021-Summer/01-haskell-basic.html#synev
2021-12-25 05:21:53 +0100 <int-e> otherwise: as for finding source code... :i in ghci tells you which module defines a function, and that maps to a file name; ghc-pkg can tell you which package that resides in; cabal unpack can unpack the source code for most of the packages
2021-12-25 05:21:59 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-25 05:21:59 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-25 05:21:59 +0100wroathe(~wroathe@user/wroathe)
2021-12-25 05:22:07 +0100nitrix(~nitrix@user/nitrix) (Leaving)
2021-12-25 05:25:41 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 268 seconds)
2021-12-25 05:29:22 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-25 05:29:37 +0100Erutuon(~Erutuon@user/erutuon)
2021-12-25 05:31:52 +0100euandreh(~euandreh@2804:14c:33:9fe5:2cf4:5f96:7154:f400)
2021-12-25 05:34:01 +0100vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2021-12-25 05:34:03 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-25 05:35:02 +0100vicfred(~vicfred@user/vicfred)
2021-12-25 05:38:37 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2021-12-25 05:40:54 +0100dyeplexer(~dyeplexer@user/dyeplexer)
2021-12-25 05:41:54 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
2021-12-25 05:41:58 +0100 <otherwise> momochrom: thanks for the link! :)
2021-12-25 05:42:01 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep)
2021-12-25 05:42:29 +0100 <otherwise> int-e I see how to run :i
2021-12-25 05:42:52 +0100 <otherwise> but I don't see how to run ghc-pkg
2021-12-25 05:43:23 +0100 <otherwise> I'm typing it into prelude> in many variations, but to no avail...
2021-12-25 05:43:36 +0100 <int-e> otherwise: it's a shell command
2021-12-25 05:44:13 +0100 <int-e> try `ghc-pkg find-module Data.Maybe`
2021-12-25 05:45:27 +0100 <otherwise> oh I see :)
2021-12-25 05:45:38 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2021-12-25 05:45:57 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2021-12-25 05:46:20 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4)
2021-12-25 05:46:36 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-12-25 05:46:37 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 240 seconds)
2021-12-25 05:47:59 +0100 <otherwise> ls
2021-12-25 05:48:14 +0100 <otherwise> wrong browser
2021-12-25 05:51:44 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-12-25 05:52:45 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-25 06:01:44 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-12-25 06:02:20 +0100bollu(uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2021-12-25 06:03:17 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-12-25 06:05:12 +0100img(~img@user/img)
2021-12-25 06:07:58 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 06:07:59 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 06:08:29 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: closed)
2021-12-25 06:08:35 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 06:09:26 +0100alfonsox(~quassel@103.92.42.192)
2021-12-25 06:14:39 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
2021-12-25 06:19:50 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 260 seconds)
2021-12-25 06:21:09 +0100mvk(~mvk@2607:fea8:5cdd:f000::917a)
2021-12-25 06:38:27 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 268 seconds)
2021-12-25 06:39:19 +0100slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-12-25 06:43:49 +0100vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2021-12-25 06:50:26 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
2021-12-25 06:51:21 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-12-25 06:52:40 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
2021-12-25 06:53:48 +0100img(~img@user/img)
2021-12-25 06:53:49 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-25 06:54:57 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 240 seconds)
2021-12-25 06:55:22 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-25 06:55:22 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-25 06:55:22 +0100wroathe(~wroathe@user/wroathe)
2021-12-25 06:58:17 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2021-12-25 06:58:34 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Remote host closed the connection)
2021-12-25 07:00:03 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2021-12-25 07:18:13 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
2021-12-25 07:21:56 +0100kadir(~kadir@88.251.54.120)
2021-12-25 07:23:05 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 252 seconds)
2021-12-25 07:28:22 +0100johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net)
2021-12-25 07:35:11 +0100 <int-e> > unwords $ map (\x -> printf "%.2f" (191 - x/50)) [9386,9386,9232,9098,9000,8916,8870,8856,8819,8680] -- 7th is bogus (only 48 stars)
2021-12-25 07:35:12 +0100 <lambdabot> "3.28 3.28 6.36 9.04 11.00 12.68 13.60 13.88 14.62 17.40"
2021-12-25 07:36:51 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2021-12-25 07:38:08 +0100vicfred(~vicfred@user/vicfred)
2021-12-25 07:38:31 +0100falafel(~falafel@2603-8000-d800-688c-502d-7280-71cc-20e7.res6.spectrum.com)
2021-12-25 07:40:37 +0100x88x88x(~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) (Ping timeout: 240 seconds)
2021-12-25 07:43:21 +0100x88x88x(~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb)
2021-12-25 07:48:39 +0100fef(~thedawn@user/thedawn)
2021-12-25 07:52:35 +0100ym(~ym@pool-96-253-29-94.prvdri.fios.verizon.net)
2021-12-25 07:52:51 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
2021-12-25 07:57:12 +0100jonathanx(~jonathan@217-210-129-139-no2450.tbcn.telia.com)
2021-12-25 07:58:18 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 260 seconds)
2021-12-25 07:58:58 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
2021-12-25 08:00:05 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-25 08:03:17 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Ping timeout: 240 seconds)
2021-12-25 08:12:59 +0100coolnickname(uid531864@user/coolnickname)
2021-12-25 08:18:34 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-25 08:18:46 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-12-25 08:19:09 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-12-25 08:20:03 +0100 <otherwise> trying to take a range of adjacent elements from a list, not sure how to select a specific range...
2021-12-25 08:21:31 +0100_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-12-25 08:21:46 +0100 <otherwise> I know tail, head, last, `elem` , take, (!!) but none of those will grab, say, the 4th through the 7th indexed elements from a list of length 20.
2021-12-25 08:23:06 +0100 <int-e> > take 4 . drop 3 $ [1..20]
2021-12-25 08:23:07 +0100 <lambdabot> [4,5,6,7]
2021-12-25 08:24:35 +0100 <int-e> > map ([1..20] !!) [3..6] -- make complexity theorists weep
2021-12-25 08:24:37 +0100 <lambdabot> [4,5,6,7]
2021-12-25 08:25:21 +0100 <otherwise> oooooh, I get that . replaces ( ), but what is $ doing?
2021-12-25 08:25:44 +0100ym(~ym@pool-96-253-29-94.prvdri.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-12-25 08:25:46 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
2021-12-25 08:25:50 +0100 <otherwise> > take 4 (drop 3 [1..20])
2021-12-25 08:25:51 +0100 <lambdabot> [4,5,6,7]
2021-12-25 08:25:54 +0100 <int-e> it's function application (f $ x = f x) but with a low precedence
2021-12-25 08:26:22 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
2021-12-25 08:26:36 +0100 <dsal> > (take 4 . drop) [1..20]
2021-12-25 08:26:38 +0100 <lambdabot> error:
2021-12-25 08:26:38 +0100 <lambdabot> • Couldn't match type ‘[a0] -> [a0]’ with ‘[a]’
2021-12-25 08:26:38 +0100 <lambdabot> Expected type: Int -> [a]
2021-12-25 08:26:46 +0100 <dsal> > (take 4 . drop 3) [1..20]
2021-12-25 08:26:47 +0100 <lambdabot> [4,5,6,7]
2021-12-25 08:26:59 +0100 <int-e> yeah I was typing that :)
2021-12-25 08:27:02 +0100 <dsal> saves you from writing ()s sometimes. Don't mistake it for parens, though. :)
2021-12-25 08:30:12 +0100bollu(uid233390@id-233390.helmsley.irccloud.com)
2021-12-25 08:30:44 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 252 seconds)
2021-12-25 08:31:40 +0100lavaman(~lavaman@98.38.249.169)
2021-12-25 08:33:14 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2021-12-25 08:34:02 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-12-25 08:35:33 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-12-25 08:35:34 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-12-25 08:36:14 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-12-25 08:36:56 +0100img(~img@user/img)
2021-12-25 08:37:07 +0100 <otherwise> hmmm... !!! It is snowing!
2021-12-25 08:41:58 +0100retroid_(~retro@05412d78.skybroadband.com)
2021-12-25 08:44:54 +0100fef(~thedawn@user/thedawn) (Quit: Leaving)
2021-12-25 08:45:19 +0100Morrow(~quassel@bzq-110-168-31-106.red.bezeqint.net)
2021-12-25 08:45:29 +0100retro_(~retro@05412d78.skybroadband.com) (Ping timeout: 268 seconds)
2021-12-25 08:45:31 +0100rlj(~rlj@62.119.244.114)
2021-12-25 08:54:43 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
2021-12-25 08:57:17 +0100euandreh(~euandreh@2804:14c:33:9fe5:2cf4:5f96:7154:f400) (Ping timeout: 240 seconds)
2021-12-25 09:02:19 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2021-12-25 09:02:43 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2021-12-25 09:07:22 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Ping timeout: 260 seconds)
2021-12-25 09:07:31 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-25 09:09:17 +0100img(~img@user/img) (Ping timeout: 240 seconds)
2021-12-25 09:17:10 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
2021-12-25 09:27:28 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-12-25 09:35:50 +0100Akiva(~Akiva@user/Akiva) (Ping timeout: 260 seconds)
2021-12-25 09:43:11 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Remote host closed the connection)
2021-12-25 09:46:39 +0100jonathanx(~jonathan@217-210-129-139-no2450.tbcn.telia.com) (Ping timeout: 256 seconds)
2021-12-25 09:47:01 +0100max22-(~maxime@2a01cb0883359800368bc5f3b1060b26.ipv6.abo.wanadoo.fr)
2021-12-25 09:49:32 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
2021-12-25 09:57:05 +0100acidjnk(~acidjnk@p200300d0c7271e974de60a217c79c2cb.dip0.t-ipconnect.de)
2021-12-25 10:00:08 +0100thedward[m](~thedwardm@2001:470:69fc:105::f79) (Quit: You have been kicked for being idle)
2021-12-25 10:07:45 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Remote host closed the connection)
2021-12-25 10:15:22 +0100dsrt^(~dsrt@207.5.54.6)
2021-12-25 10:17:42 +0100allbery_b(~geekosaur@xmonad/geekosaur)
2021-12-25 10:17:42 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-12-25 10:17:45 +0100allbery_bgeekosaur
2021-12-25 10:21:26 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-25 10:35:06 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-12-25 10:35:20 +0100Tuplanolla(~Tuplanoll@91-159-69-236.elisa-laajakaista.fi)
2021-12-25 10:35:57 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-12-25 10:38:01 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 10:38:02 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 10:38:33 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: closed)
2021-12-25 10:38:43 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 10:38:55 +0100jakalx(~jakalx@base.jakalx.net) (Disconnected: Replaced by new connection)
2021-12-25 10:38:56 +0100jakalx(~jakalx@base.jakalx.net)
2021-12-25 10:53:14 +0100vysn(~vysn@user/vysn)
2021-12-25 11:01:37 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2021-12-25 11:06:04 +0100gehmehgeh(~user@user/gehmehgeh)
2021-12-25 11:08:08 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
2021-12-25 11:10:54 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-25 11:11:31 +0100rlj(~rlj@62.119.244.114) (Ping timeout: 256 seconds)
2021-12-25 11:12:17 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Ping timeout: 240 seconds)
2021-12-25 11:15:37 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-12-25 11:16:34 +0100jonathanx(~jonathan@217-210-129-139-no2450.tbcn.telia.com)
2021-12-25 11:18:58 +0100bollu(uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2021-12-25 11:23:33 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2021-12-25 11:23:41 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-12-25 11:24:58 +0100Lord_of_Life_Lord_of_Life
2021-12-25 11:26:34 +0100meinside(uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2021-12-25 11:32:42 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 11:32:43 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 11:33:13 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: closed)
2021-12-25 11:33:23 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 11:36:01 +0100sim590(~simon@modemcable157.243-56-74.mc.videotron.ca) (Ping timeout: 256 seconds)
2021-12-25 11:42:15 +0100foul_owl(~kerry@94.140.8.107) (Ping timeout: 256 seconds)
2021-12-25 11:43:23 +0100kaph_(~kaph@net-2-45-51-147.cust.vodafonedsl.it) (Ping timeout: 256 seconds)
2021-12-25 11:44:57 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-25 11:47:21 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-12-25 11:57:28 +0100foul_owl(~kerry@212.102.47.57)
2021-12-25 12:00:52 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2021-12-25 12:15:57 +0100jonathanx(~jonathan@217-210-129-139-no2450.tbcn.telia.com) (Ping timeout: 240 seconds)
2021-12-25 12:16:20 +0100jonathanx(~jonathan@217-210-129-139-no2450.tbcn.telia.com)
2021-12-25 12:18:32 +0100mc47(~mc47@xmonad/TheMC47)
2021-12-25 12:18:59 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-12-25 12:20:20 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2021-12-25 12:20:56 +0100rito_(~rito_gh@45.112.243.69)
2021-12-25 12:32:42 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 12:32:43 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 12:33:12 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: closed)
2021-12-25 12:33:20 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 12:34:46 +0100SummerSonw(~The_viole@203.77.49.232)
2021-12-25 12:38:39 +0100otherwise(~otherwise@2601:602:880:90f0:2164:480c:998d:fc7c) (Remote host closed the connection)
2021-12-25 12:47:50 +0100jonathanx(~jonathan@217-210-129-139-no2450.tbcn.telia.com) (Ping timeout: 268 seconds)
2021-12-25 12:52:38 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2021-12-25 13:01:17 +0100zer0bitz(~zer0bitz@196.244.192.54)
2021-12-25 13:07:57 +0100falafel(~falafel@2603-8000-d800-688c-502d-7280-71cc-20e7.res6.spectrum.com) (Ping timeout: 240 seconds)
2021-12-25 13:08:43 +0100machinedgod(~machinedg@24.105.81.50)
2021-12-25 13:10:24 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
2021-12-25 13:11:02 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 240 seconds)
2021-12-25 13:11:47 +0100acidjnk(~acidjnk@p200300d0c7271e974de60a217c79c2cb.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-12-25 13:14:37 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Ping timeout: 240 seconds)
2021-12-25 13:17:20 +0100otherwise(~otherwise@2601:602:880:90f0:99a0:b26e:2b10:8f04)
2021-12-25 13:17:44 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2021-12-25 13:19:20 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2021-12-25 13:21:37 +0100otherwise(~otherwise@2601:602:880:90f0:99a0:b26e:2b10:8f04) (Ping timeout: 240 seconds)
2021-12-25 13:25:10 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
2021-12-25 13:25:46 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-25 13:25:51 +0100Hanicef(~hanicef@78-71-43-30-no260.tbcn.telia.com)
2021-12-25 13:27:02 +0100mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 240 seconds)
2021-12-25 13:28:17 +0100__monty__(~toonn@user/toonn)
2021-12-25 13:29:46 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-12-25 13:30:36 +0100Alex_test_(~al_test@178.34.160.99) (Quit: ;-)
2021-12-25 13:30:49 +0100Alex_test(~al_test@178.34.160.99)
2021-12-25 13:31:01 +0100AlexZenon_2(~alzenon@178.34.160.99) (Quit: ;-)
2021-12-25 13:31:16 +0100AlexZenon(~alzenon@178.34.160.99)
2021-12-25 13:35:53 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-12-25 13:47:22 +0100Jing(~hedgehog@2604:a840:3::1061)
2021-12-25 13:51:22 +0100neceve(~quassel@2.26.93.228)
2021-12-25 13:54:02 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807)
2021-12-25 13:54:26 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 268 seconds)
2021-12-25 13:58:18 +0100otherwise(~otherwise@2601:602:880:90f0:e950:bc2c:6464:aa5b)
2021-12-25 14:02:17 +0100otherwise(~otherwise@2601:602:880:90f0:e950:bc2c:6464:aa5b) (Ping timeout: 240 seconds)
2021-12-25 14:15:32 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-25 14:21:25 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807) (Remote host closed the connection)
2021-12-25 14:23:00 +0100zincy(~zincy@host86-151-99-97.range86-151.btcentralplus.com)
2021-12-25 14:28:04 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
2021-12-25 14:28:50 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-25 14:29:19 +0100jonathanx(~jonathan@217-210-129-139-no2450.tbcn.telia.com)
2021-12-25 14:30:42 +0100syrkis(~syrkis@82.192.167.70)
2021-12-25 14:34:08 +0100lavaman(~lavaman@98.38.249.169)
2021-12-25 14:34:40 +0100xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2021-12-25 14:38:17 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-12-25 14:42:49 +0100zincy(~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection)
2021-12-25 14:46:59 +0100Hanicef(~hanicef@78-71-43-30-no260.tbcn.telia.com) (Quit: leaving)
2021-12-25 14:48:54 +0100neurocyte0132889(~neurocyte@94.16.90.231)
2021-12-25 14:48:54 +0100neurocyte0132889(~neurocyte@94.16.90.231) (Changing host)
2021-12-25 14:48:54 +0100neurocyte0132889(~neurocyte@user/neurocyte)
2021-12-25 14:49:17 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-12-25 14:49:43 +0100zincy(~zincy@host86-151-99-97.range86-151.btcentralplus.com)
2021-12-25 14:52:37 +0100zincy(~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection)
2021-12-25 14:52:48 +0100 <alfonsox> snowing is lot better than implementing bubble sort in haskell. :)
2021-12-25 14:59:11 +0100Inoperable(~PLAYER_1@fancydata.science) (Excess Flood)
2021-12-25 15:05:34 +0100Inoperable(~PLAYER_1@fancydata.science)
2021-12-25 15:05:35 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-12-25 15:05:36 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit)
2021-12-25 15:05:52 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-12-25 15:15:13 +0100rito_(~rito_gh@45.112.243.69) (Quit: Leaving)
2021-12-25 15:19:19 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
2021-12-25 15:19:55 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-25 15:23:32 +0100notzmv(~zmv@user/notzmv)
2021-12-25 15:24:37 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2021-12-25 15:25:55 +0100max22-(~maxime@2a01cb0883359800368bc5f3b1060b26.ipv6.abo.wanadoo.fr) (Ping timeout: 250 seconds)
2021-12-25 15:26:58 +0100CiaoSen(~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2021-12-25 15:29:04 +0100kupi(uid212005@id-212005.hampstead.irccloud.com)
2021-12-25 15:37:08 +0100euandreh(~euandreh@2804:14c:33:9fe5:5d5c:8c41:79c4:9b80)
2021-12-25 15:37:48 +0100max22-(~maxime@2a01cb0883359800ac192c9334b98292.ipv6.abo.wanadoo.fr)
2021-12-25 15:38:19 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-25 15:53:36 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-12-25 15:53:36 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2021-12-25 15:53:36 +0100finn_elijaFinnElija
2021-12-25 16:02:19 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
2021-12-25 16:04:34 +0100jonathanx(~jonathan@217-210-129-139-no2450.tbcn.telia.com) (Ping timeout: 260 seconds)
2021-12-25 16:06:48 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2021-12-25 16:07:29 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-25 16:08:52 +0100syrkis(~syrkis@82.192.167.70) (Quit: Client closed)
2021-12-25 16:09:11 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2021-12-25 16:10:34 +0100 <ProfSimm> Is it possible to have something be both a function and a number, until it's used in some context
2021-12-25 16:11:40 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-25 16:11:40 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-25 16:11:40 +0100wroathe(~wroathe@user/wroathe)
2021-12-25 16:12:27 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
2021-12-25 16:16:37 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Ping timeout: 240 seconds)
2021-12-25 16:22:41 +0100 <pavonia> `Num a => a` can also be a function
2021-12-25 16:22:44 +0100coolnickname(uid531864@user/coolnickname) (Quit: Connection closed for inactivity)
2021-12-25 16:23:05 +0100 <pavonia> ProfSimm: Could you explain a bit more what you are trying to do?
2021-12-25 16:30:36 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 276 seconds)
2021-12-25 16:32:20 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2021-12-25 16:34:10 +0100timCF(~timCF@m91-129-100-224.cust.tele2.ee) (Ping timeout: 268 seconds)
2021-12-25 16:35:16 +0100slowButPresent(~slowButPr@user/slowbutpresent)
2021-12-25 16:35:33 +0100rembo10(~rembo10@2a01:4f9:c010:b5b9::1) (Quit: ZNC 1.8.2 - https://znc.in)
2021-12-25 16:36:43 +0100rembo10(~rembo10@remulis.com)
2021-12-25 16:41:27 +0100dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 256 seconds)
2021-12-25 16:46:17 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-25 16:49:51 +0100ym(~ym@pool-96-253-29-94.prvdri.fios.verizon.net)
2021-12-25 16:54:52 +0100dyeplexer(~dyeplexer@user/dyeplexer)
2021-12-25 17:00:37 +0100xff0x(~xff0x@2001:1a81:534f:cd00:7f66:dac0:537e:5302) (Ping timeout: 240 seconds)
2021-12-25 17:01:37 +0100xff0x(~xff0x@port-92-195-117-208.dynamic.as20676.net)
2021-12-25 17:01:55 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2021-12-25 17:03:45 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2021-12-25 17:04:04 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2021-12-25 17:08:31 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds)
2021-12-25 17:11:41 +0100jonathanx(~jonathan@c-5eea3423-74736162.cust.telenor.se)
2021-12-25 17:15:19 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2021-12-25 17:20:17 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-12-25 17:31:53 +0100amk(~amk@109.255.169.126) (Ping timeout: 256 seconds)
2021-12-25 17:32:54 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-12-25 17:33:22 +0100amk(~amk@109.255.169.126)
2021-12-25 17:36:49 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2021-12-25 17:37:08 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2021-12-25 17:39:18 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807)
2021-12-25 17:40:02 +0100dan-so(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 240 seconds)
2021-12-25 17:40:26 +0100dan-so(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-12-25 17:41:23 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds)
2021-12-25 17:43:52 +0100acode(~acode@151.65.31.181)
2021-12-25 17:46:32 +0100alfonsox(~quassel@103.92.42.192) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-12-25 17:46:59 +0100BrokenClutch(~pioneer@2804:d41:c2a7:d800:e627:b00b:2c62:134)
2021-12-25 17:57:14 +0100coolnickname(uid531864@user/coolnickname)
2021-12-25 17:57:59 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807) (Remote host closed the connection)
2021-12-25 17:59:31 +0100dan-so(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 245 seconds)
2021-12-25 18:01:27 +0100dan-so(~danso@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-12-25 18:03:16 +0100mbuf(~Shakthi@122.162.66.42) (Quit: Leaving)
2021-12-25 18:05:21 +0100jonathanx_(~jonathan@94.234.52.93)
2021-12-25 18:07:52 +0100jonathanx__(~jonathan@94.234.54.197)
2021-12-25 18:08:17 +0100jonathanx(~jonathan@c-5eea3423-74736162.cust.telenor.se) (Ping timeout: 240 seconds)
2021-12-25 18:09:25 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-12-25 18:09:29 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-12-25 18:09:57 +0100CiaoSen(~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-12-25 18:10:02 +0100jonathanx_(~jonathan@94.234.52.93) (Ping timeout: 240 seconds)
2021-12-25 18:14:04 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
2021-12-25 18:18:17 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Ping timeout: 240 seconds)
2021-12-25 18:20:01 +0100zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2021-12-25 18:21:06 +0100zaquest(~notzaques@5.130.79.72)
2021-12-25 18:21:27 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2021-12-25 18:22:11 +0100bollu(uid233390@id-233390.helmsley.irccloud.com)
2021-12-25 18:24:37 +0100jonathanx(~jonathan@c-5eea36c5-74736162.cust.telenor.se)
2021-12-25 18:25:17 +0100jonathanx__(~jonathan@94.234.54.197) (Ping timeout: 240 seconds)
2021-12-25 18:26:54 +0100d34df00d(~d34df00d@2600:1700:8c60:3a10::48) (Remote host closed the connection)
2021-12-25 18:29:41 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-12-25 18:32:12 +0100econo(uid147250@user/econo)
2021-12-25 18:34:19 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk)
2021-12-25 18:35:24 +0100lavaman(~lavaman@98.38.249.169)
2021-12-25 18:37:28 +0100sim590(~simon@modemcable090.207-203-24.mc.videotron.ca)
2021-12-25 18:38:07 +0100xff0x(~xff0x@port-92-195-117-208.dynamic.as20676.net) (Ping timeout: 268 seconds)
2021-12-25 18:39:53 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2021-12-25 18:44:10 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2021-12-25 18:44:53 +0100otherwise(~otherwise@2601:602:880:90f0:1e0:4b16:58ed:4062)
2021-12-25 18:45:57 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-12-25 18:48:57 +0100otherwise(~otherwise@2601:602:880:90f0:1e0:4b16:58ed:4062) (Ping timeout: 240 seconds)
2021-12-25 18:49:51 +0100falafel(~falafel@2603-8000-d800-688c-502d-7280-71cc-20e7.res6.spectrum.com)
2021-12-25 18:51:47 +0100jonathanx(~jonathan@c-5eea36c5-74736162.cust.telenor.se) (Ping timeout: 256 seconds)
2021-12-25 18:57:52 +0100bitmapper(uid464869@id-464869.lymington.irccloud.com)
2021-12-25 18:59:41 +0100y04nn(~y04nn@92.223.89.196)
2021-12-25 19:00:44 +0100otherwise(~otherwise@2601:602:880:90f0:7d7a:d907:94bf:c6c8)
2021-12-25 19:04:00 +0100vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2021-12-25 19:07:05 +0100SummerSonw(~The_viole@203.77.49.232) (Ping timeout: 256 seconds)
2021-12-25 19:09:34 +0100xff0x(~xff0x@2001:1a81:534f:cd00:913d:8a40:152a:49ac)
2021-12-25 19:11:41 +0100kupi(uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2021-12-25 19:15:04 +0100acode(~acode@151.65.31.181) (Quit: Client closed)
2021-12-25 19:16:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-25 19:19:53 +0100 <BrokenClutch> after days of not sleeping well, i think i got reactive-banana
2021-12-25 19:20:09 +0100 <dsal> Hopefully it's treatable.
2021-12-25 19:20:19 +0100 <BrokenClutch> \o/. I think it's too much for what i want to do. It's not
2021-12-25 19:20:50 +0100 <BrokenClutch> I got the idea of reactive-banana. Sorry, don't know how to form phrases
2021-12-25 19:33:37 +0100dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 268 seconds)
2021-12-25 19:35:16 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 19:35:19 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 19:35:46 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: closed)
2021-12-25 19:35:57 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 19:36:14 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2021-12-25 19:36:14 +0100ridcully(~ridcully@pd951fb88.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-12-25 19:36:26 +0100ridcully(~ridcully@pd951fb88.dip0.t-ipconnect.de)
2021-12-25 19:36:32 +0100 <BrokenClutch> is it wrong to store callbacks inside a state monad?
2021-12-25 19:38:01 +0100 <Noinia> Question: I'm building some web application with haskell frontend and backend. When in "development mode" I essentially want the server to send some piece of JS that tells the client to use JSAddle rather than the "real" js implementation. Does anyone know how to achieve that? I'm sure I'm not the first one who would want s.t. like this.
2021-12-25 19:42:22 +0100 <BrokenClutch> Noinia: Let me see if I understood, You want to listen to the server and wait a signal?
2021-12-25 19:45:16 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
2021-12-25 19:45:17 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 19:45:44 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: closed)
2021-12-25 19:45:45 +0100 <Noinia> I want something like this: in my browser I go to myServerAddress.com, which would normally serve some piece of js code containing the full client. Rather than the "full client" I want to locally run a jsaddle process (of the client), so that whatever js interactions I do with my page are actually handled by that local jsaddle process.
2021-12-25 19:45:51 +0100qrpnxz(abc4f95c31@user/qrpnxz)
2021-12-25 19:46:13 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2021-12-25 19:46:33 +0100 <Noinia> so presumably instead of the "full js" the server would need to send some piece of js that says something along the lines of "start communicating with this local process"
2021-12-25 19:48:08 +0100 <BrokenClutch> Oh. Now I understood. But I don't know how to do it. :(
2021-12-25 19:48:18 +0100 <Noinia> I tried copying the jsaddle.js that jsaddle normally serves, but even if I approprately adapt the port it opens some websocket to it seems that does not yet work (because of security reasons it seems).
2021-12-25 19:48:39 +0100Sgeo(~Sgeo@user/sgeo)
2021-12-25 19:51:11 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-12-25 19:51:25 +0100y04nn(~y04nn@92.223.89.196) (Remote host closed the connection)
2021-12-25 19:52:18 +0100shapr(~user@pool-108-28-144-11.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
2021-12-25 19:53:37 +0100falafel(~falafel@2603-8000-d800-688c-502d-7280-71cc-20e7.res6.spectrum.com) (Ping timeout: 240 seconds)
2021-12-25 20:03:57 +0100otherwise(~otherwise@2601:602:880:90f0:7d7a:d907:94bf:c6c8) (Ping timeout: 240 seconds)
2021-12-25 20:11:01 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2021-12-25 20:11:32 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2021-12-25 20:12:34 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
2021-12-25 20:14:57 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-12-25 20:15:49 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
2021-12-25 20:16:02 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Ping timeout: 240 seconds)
2021-12-25 20:20:23 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Ping timeout: 250 seconds)
2021-12-25 20:21:33 +0100Erutuon(~Erutuon@user/erutuon)
2021-12-25 20:23:37 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
2021-12-25 20:26:07 +0100Pickchea(~private@user/pickchea)
2021-12-25 20:26:36 +0100vicfred(~vicfred@user/vicfred)
2021-12-25 20:28:41 +0100yauhsien(~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2021-12-25 20:29:41 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2021-12-25 20:30:01 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2021-12-25 20:30:23 +0100benin(~benin@183.82.27.57) (Ping timeout: 256 seconds)
2021-12-25 20:30:26 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-25 20:31:16 +0100justSleighjustIrresolute
2021-12-25 20:32:40 +0100BrokenClutch(~pioneer@2804:d41:c2a7:d800:e627:b00b:2c62:134) ()
2021-12-25 20:32:53 +0100benin(~benin@183.82.27.57)
2021-12-25 20:34:13 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds)
2021-12-25 20:40:21 +0100shapr(~user@pool-108-28-144-11.washdc.fios.verizon.net)
2021-12-25 20:50:23 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
2021-12-25 20:57:17 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2021-12-25 20:57:59 +0100justsomeguy(~justsomeg@user/justsomeguy)
2021-12-25 21:04:57 +0100juhp(~juhp@128.106.188.82) (Ping timeout: 240 seconds)
2021-12-25 21:07:33 +0100juhp(~juhp@128.106.188.82)
2021-12-25 21:17:28 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807)
2021-12-25 21:22:40 +0100shriekingnoise(~shrieking@186.137.144.80)
2021-12-25 21:23:33 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2021-12-25 21:23:33 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-12-25 21:23:33 +0100finn_elijaFinnElija
2021-12-25 21:24:36 +0100shapr(~user@pool-108-28-144-11.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
2021-12-25 21:27:26 +0100Everything(~Everythin@37.115.210.35)
2021-12-25 21:27:43 +0100zincy(~zincy@2a00:23c8:970c:4801:bdb9:8c5f:3085:2807) (Remote host closed the connection)
2021-12-25 21:28:13 +0100Techcable(~Techcable@168.235.93.147) (Quit: ZNC - https://znc.in)
2021-12-25 21:30:47 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-12-25 21:30:47 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-12-25 21:30:47 +0100wroathe(~wroathe@user/wroathe)
2021-12-25 21:31:40 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2021-12-25 21:31:59 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2021-12-25 21:33:57 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-12-25 21:36:33 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds)
2021-12-25 21:40:55 +0100benin(~benin@183.82.27.57) (Quit: The Lounge - https://thelounge.chat)
2021-12-25 21:43:21 +0100acode(~acode@151.65.31.181)
2021-12-25 21:50:07 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2021-12-25 21:50:55 +0100pavonia(~user@user/siracusa)
2021-12-25 22:01:40 +0100 <monochrom> Nice, GHC 9.0.2, now supports M1.
2021-12-25 22:01:51 +0100bollu(uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2021-12-25 22:03:38 +0100otherwise(~otherwise@2601:602:880:90f0:8162:5dfa:7602:6575)
2021-12-25 22:03:49 +0100juri_(~juri@178.63.35.222) (Ping timeout: 240 seconds)
2021-12-25 22:04:43 +0100 <sshine> woot. two days before I hand back my M1 MacBook.
2021-12-25 22:08:31 +0100 <otherwise> phwew, for a second I thought you said "back hand".
2021-12-25 22:11:09 +0100ProfSimm(~ProfSimm@87.227.196.109)
2021-12-25 22:14:41 +0100vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2021-12-25 22:21:45 +0100Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-12-25 22:30:03 +0100zebrag(~chris@user/zebrag)
2021-12-25 22:32:43 +0100xkuru(~xkuru@user/xkuru)
2021-12-25 22:34:17 +0100vysn(~vysn@user/vysn) (Ping timeout: 240 seconds)
2021-12-25 22:35:15 +0100xlei(~akans@pool-68-129-84-118.nycmny.fios.verizon.net)
2021-12-25 22:37:07 +0100lavaman(~lavaman@98.38.249.169)
2021-12-25 22:37:32 +0100xff0x(~xff0x@2001:1a81:534f:cd00:913d:8a40:152a:49ac) (Ping timeout: 240 seconds)
2021-12-25 22:38:46 +0100xff0x(~xff0x@2001:1a81:534f:cd00:2537:409e:e003:9b4d)
2021-12-25 22:41:17 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2021-12-25 22:42:22 +0100xlei(~akans@pool-68-129-84-118.nycmny.fios.verizon.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-12-25 22:43:03 +0100shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-12-25 22:43:11 +0100xlei(~akans@pool-68-129-84-118.nycmny.fios.verizon.net)
2021-12-25 22:46:00 +0100juri_(~juri@178.63.35.222)
2021-12-25 22:47:45 +0100Pickchea(~private@user/pickchea)
2021-12-25 22:48:28 +0100zer0bitz(~zer0bitz@196.244.192.54) (Ping timeout: 268 seconds)
2021-12-25 22:48:42 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2021-12-25 22:49:20 +0100kadir(~kadir@88.251.54.120) (goodnight)
2021-12-25 22:52:52 +0100yauhsien(~yauhsien@61-231-42-148.dynamic-ip.hinet.net)
2021-12-25 22:52:56 +0100falafel(~falafel@cpe-76-168-195-162.socal.res.rr.com)
2021-12-25 22:53:07 +0100jgeerds(~jgeerds@55d4ac73.access.ecotel.net)
2021-12-25 22:54:37 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 240 seconds)
2021-12-25 22:55:41 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2021-12-25 22:57:09 +0100CiaoSen(~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2021-12-25 22:58:17 +0100yauhsien(~yauhsien@61-231-42-148.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2021-12-25 23:00:29 +0100BrokenClutch(~pioneer@2804:d41:c2a7:d800:e627:b00b:2c62:134)
2021-12-25 23:01:10 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2021-12-25 23:01:20 +0100gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-12-25 23:02:23 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2021-12-25 23:03:27 +0100shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Remote host closed the connection)
2021-12-25 23:03:44 +0100shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-12-25 23:08:58 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2021-12-25 23:10:21 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2021-12-25 23:11:18 +0100jgeerds(~jgeerds@55d4ac73.access.ecotel.net) (Remote host closed the connection)
2021-12-25 23:11:43 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
2021-12-25 23:12:13 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2021-12-25 23:13:26 +0100otherwise(~otherwise@2601:602:880:90f0:8162:5dfa:7602:6575) (Remote host closed the connection)
2021-12-25 23:14:46 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-12-25 23:15:09 +0100burnsidesLlama(~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
2021-12-25 23:19:07 +0100otherwise(~otherwise@2601:602:880:90f0:144d:55a8:1e87:818)
2021-12-25 23:26:36 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 276 seconds)
2021-12-25 23:28:12 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2021-12-25 23:30:41 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-12-25 23:31:10 +0100kupi(uid212005@id-212005.hampstead.irccloud.com)
2021-12-25 23:34:05 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2021-12-25 23:36:49 +0100deadmarshal(~deadmarsh@95.38.229.175) (Ping timeout: 256 seconds)
2021-12-25 23:37:47 +0100ym(~ym@pool-96-253-29-94.prvdri.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-12-25 23:41:45 +0100benin(~benin@183.82.27.57)
2021-12-25 23:47:07 +0100 <otherwise> > let multVector n [] = []; multVector n (x:xs) = n*x : multVector n xs in multVector 3 [1,2,3,4]
2021-12-25 23:47:09 +0100 <lambdabot> [3,6,9,12]
2021-12-25 23:47:16 +0100 <otherwise> BOOYA!
2021-12-25 23:47:46 +0100 <otherwise> my first successful recursive function. Feels good
2021-12-25 23:49:21 +0100ymherklotz(~ymherklot@139.59.166.119)
2021-12-25 23:57:05 +0100max22-(~maxime@2a01cb0883359800ac192c9334b98292.ipv6.abo.wanadoo.fr) (Quit: Leaving)
2021-12-25 23:57:32 +0100falafel(~falafel@cpe-76-168-195-162.socal.res.rr.com) (Ping timeout: 268 seconds)
2021-12-25 23:59:07 +0100 <BrokenClutch> otherwise: congrats :)