2023/12/31

2023-12-31 00:00:30 +0100xdminsy(~xdminsy@117.147.71.169) (Ping timeout: 256 seconds)
2023-12-31 00:03:43 +0100waldo(~waldo@user/waldo)
2023-12-31 00:08:31 +0100waldo(~waldo@user/waldo) (Ping timeout: 256 seconds)
2023-12-31 00:15:52 +0100random-jellyfish(~tiber@user/random-jellyfish) (Ping timeout: 246 seconds)
2023-12-31 00:18:55 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-12-31 00:33:46 +0100johnw(~johnw@69.62.242.138)
2023-12-31 00:43:02 +0100target_i(~target_i@217.175.14.39) (Quit: leaving)
2023-12-31 00:46:11 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds)
2023-12-31 00:59:49 +0100chomwitt(~chomwitt@ppp-94-68-4-224.home.otenet.gr) (Ping timeout: 276 seconds)
2023-12-31 01:00:21 +0100misterfish(~misterfis@84.53.85.146) (Ping timeout: 245 seconds)
2023-12-31 01:05:48 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:7c0f:c7d3:678b:7d3e) (Remote host closed the connection)
2023-12-31 01:08:16 +0100malte(~malte@mal.tc) (Remote host closed the connection)
2023-12-31 01:08:55 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2023-12-31 01:09:33 +0100malte(~malte@mal.tc)
2023-12-31 01:10:53 +0100acidjnk(~acidjnk@p200300d6e72b9353fc6858fc9037c8f4.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2023-12-31 01:20:26 +0100oo_miguel(~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Ping timeout: 260 seconds)
2023-12-31 01:25:50 +0100mima(~mmh@95.90.244.225)
2023-12-31 01:34:06 +0100mima(~mmh@95.90.244.225) (Ping timeout: 245 seconds)
2023-12-31 01:37:49 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:7c0f:c7d3:678b:7d3e)
2023-12-31 01:43:23 +0100erina(~erina@2409:8a31:4a3:c0a1::1000)
2023-12-31 01:45:26 +0100johnw(~johnw@69.62.242.138) (Quit: ZNC - http://znc.in)
2023-12-31 01:45:29 +0100Tuplanolla(~Tuplanoll@91-159-69-171.elisa-laajakaista.fi) (Quit: Leaving.)
2023-12-31 01:58:49 +0100 <erina> @pl \x -> tail x == 'A'
2023-12-31 01:58:49 +0100 <lambdabot> ('A' ==) . tail
2023-12-31 02:05:55 +0100Sgeo(~Sgeo@user/sgeo)
2023-12-31 02:14:13 +0100 <int-e> that won't type-check
2023-12-31 02:14:53 +0100 <geekosaur> maybe you wanted `last` instead of `tail`?
2023-12-31 02:14:57 +0100 <geekosaur> :t last
2023-12-31 02:14:58 +0100 <lambdabot> [a] -> a
2023-12-31 02:15:07 +0100 <geekosaur> (also note that it's partial)
2023-12-31 02:18:56 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2023-12-31 02:19:06 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
2023-12-31 02:20:18 +0100Lord_of_Life_Lord_of_Life
2023-12-31 02:26:43 +0100 <erina> geekosaur, thank you for pointing out (I discovered this on a lsp error)
2023-12-31 02:28:48 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-12-31 02:30:20 +0100stef204(~stef204@user/stef204)
2023-12-31 02:31:43 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit)
2023-12-31 03:00:20 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2023-12-31 03:00:59 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2023-12-31 03:10:27 +0100sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 260 seconds)
2023-12-31 03:10:35 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2023-12-31 03:20:31 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2023-12-31 03:20:44 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2023-12-31 03:30:38 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-12-31 03:38:12 +0100stef204(~stef204@user/stef204) (Quit: WeeChat 4.1.2)
2023-12-31 03:38:40 +0100micro(~micro@user/micro) (Remote host closed the connection)
2023-12-31 03:39:39 +0100erina(~erina@2409:8a31:4a3:c0a1::1000) (Remote host closed the connection)
2023-12-31 03:39:59 +0100erina(~erina@178.157.56.217.16clouds.com)
2023-12-31 03:41:02 +0100micro(~micro@user/micro)
2023-12-31 03:46:14 +0100megaTherion(~therion@unix.io) (Quit: ZNC 1.8.2 - https://znc.in)
2023-12-31 03:47:25 +0100megaTherion(~therion@unix.io)
2023-12-31 04:19:43 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 240 seconds)
2023-12-31 04:20:46 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2023-12-31 04:24:32 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-12-31 04:24:32 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-12-31 04:24:32 +0100finn_elijaFinnElija
2023-12-31 04:26:58 +0100igemnace(~ian@user/igemnace) (Read error: Connection reset by peer)
2023-12-31 04:27:22 +0100igemnace(~ian@user/igemnace)
2023-12-31 04:27:27 +0100td_(~td@i53870904.versanet.de) (Ping timeout: 260 seconds)
2023-12-31 04:29:20 +0100td_(~td@i53870924.versanet.de)
2023-12-31 04:42:57 +0100bob(~who@user/bob)
2023-12-31 04:50:47 +0100zeka_(~zeka@2600:1700:2121:180:a498:f6ae:d429:176)
2023-12-31 04:53:16 +0100erina(~erina@178.157.56.217.16clouds.com) (Ping timeout: 245 seconds)
2023-12-31 04:55:02 +0100zeka(~zeka@2600:1700:2121:180:3560:92ba:5300:c7ab) (Ping timeout: 268 seconds)
2023-12-31 04:55:24 +0100erina(~erina@178.157.56.217.16clouds.com)
2023-12-31 05:00:21 +0100random-jellyfish(~tiber@2a02:2f04:11e:c600:b107:9fa5:a9a5:7368)
2023-12-31 05:00:21 +0100random-jellyfish(~tiber@2a02:2f04:11e:c600:b107:9fa5:a9a5:7368) (Changing host)
2023-12-31 05:00:21 +0100random-jellyfish(~tiber@user/random-jellyfish)
2023-12-31 05:11:26 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
2023-12-31 05:16:04 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds)
2023-12-31 05:16:13 +0100aforemny_(~aforemny@i59F516CB.versanet.de) (Ping timeout: 256 seconds)
2023-12-31 05:16:53 +0100aforemny(~aforemny@i59F516E4.versanet.de)
2023-12-31 05:31:11 +0100 <albet70> f config where f Config{..} = ... not in scope data constructor Config
2023-12-31 05:31:31 +0100 <albet70> why use Config{..} in where, it causes not in scope?
2023-12-31 05:32:42 +0100 <int-e> it doesn't?
2023-12-31 05:34:52 +0100 <albet70> int-e , https://paste.tomsmeding.com/nmLbxuZ3
2023-12-31 05:36:15 +0100 <int-e> You didn't import the Config data constructor, only the type constructor. Presumably you want to import Config(..)
2023-12-31 05:36:35 +0100 <int-e> to get both the data constructor (which I assume is `Config` and the field accessors as well)
2023-12-31 05:37:15 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2023-12-31 05:38:03 +0100TonyStone(~TonyStone@074-076-057-186.res.spectrum.com)
2023-12-31 05:38:15 +0100 <int-e> in any case it has nothing to do with using a `where` clause
2023-12-31 05:39:40 +0100 <albet70> import Config, is import the type constructor, data Config(this is type constructor) = Config(this is data constructor) whatever ?
2023-12-31 05:40:34 +0100 <albet70> I don't understand why import Config just import the type constructor? why not both?
2023-12-31 05:41:11 +0100 <int-e> No deep reason; it's how the import (and export) syntax works.
2023-12-31 05:41:47 +0100 <albet70> import MDNS.Config.Parse (getConfig, Config, Config(..)) still the same error
2023-12-31 05:42:39 +0100 <int-e> Hmm does the module export the data constructor?
2023-12-31 05:43:15 +0100 <int-e> (I'm assuming that this is your own module)
2023-12-31 05:44:28 +0100 <albet70> I see, thanks
2023-12-31 05:45:13 +0100 <int-e> albet70: and yes, you names type constructor and data constructor correctly in your example
2023-12-31 05:51:24 +0100 <erina> Is there a function for maximum with a custom compare?
2023-12-31 05:51:32 +0100 <int-e> "No deep reason" -- the main thing people want is to make a completely abstract type, where only the type constructor is exported and a selection of curated functions. So that's why exporting `Config` only exports the type constructor, and the import declarations mirror that behavior. It could have been done differently of course.
2023-12-31 05:52:06 +0100 <int-e> :t maximumBy
2023-12-31 05:52:07 +0100 <lambdabot> Foldable t => (a -> a -> Ordering) -> t a -> a
2023-12-31 05:52:24 +0100 <erina> hmmmmm, I wonder why the lsp didn't inform me about this
2023-12-31 05:52:31 +0100 <erina> @hoogle maximumBy
2023-12-31 05:52:31 +0100 <lambdabot> Data.List maximumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a
2023-12-31 05:52:31 +0100 <lambdabot> Data.Foldable maximumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a
2023-12-31 05:52:31 +0100 <lambdabot> GHC.OldList maximumBy :: (a -> a -> Ordering) -> [a] -> a
2023-12-31 05:53:23 +0100 <erina> @hoogle maximumOn
2023-12-31 05:53:23 +0100 <lambdabot> Data.List.Extra maximumOn :: (Partial, Ord b) => (a -> b) -> [a] -> a
2023-12-31 05:53:23 +0100 <lambdabot> Extra maximumOn :: (Partial, Ord b) => (a -> b) -> [a] -> a
2023-12-31 05:53:23 +0100 <lambdabot> Algorithms.Geometry.LinearProgramming.LP2DRIC maximumOn :: (Ord r, Fractional r) => LPState 2 r -> Line 2 r -> Maybe (Point 2 r)
2023-12-31 05:56:34 +0100 <erina> How do I use Data.Hashtable? GHC can't find the module...... which is supposed to be in base
2023-12-31 05:56:42 +0100 <erina> *Data.HashTable
2023-12-31 05:58:26 +0100 <int-e> it hasn't been in base for 9 years (it was removed in base-4.7.0.0)
2023-12-31 05:58:35 +0100 <int-e> almost 10
2023-12-31 05:59:53 +0100 <erina> Oh my
2023-12-31 06:00:15 +0100 <erina> So I have to use Data.HashMap or something?
2023-12-31 06:00:21 +0100Halian(~halian@safiralliance/protobeeper) (Quit: WeeChat 4.1.2)
2023-12-31 06:00:31 +0100 <int-e> yeah unordered-containers is a replacement
2023-12-31 06:01:09 +0100 <int-e> or, you know, Data.Map
2023-12-31 06:01:57 +0100 <EvanR> the main difference between Map and HashMap are the required capability of keys, Ord or Hashable
2023-12-31 06:02:00 +0100 <EvanR> respectively
2023-12-31 06:02:54 +0100 <EvanR> if your key is both Ord and Hashable, one of those is probably cheaper
2023-12-31 06:08:22 +0100random-jellyfish(~tiber@user/random-jellyfish) (Ping timeout: 260 seconds)
2023-12-31 06:22:25 +0100Guest12(~Guest12@129.170.197.115)
2023-12-31 06:23:39 +0100Square(~Square@user/square) (Ping timeout: 260 seconds)
2023-12-31 06:28:04 +0100 <Guest12> I’m reading a tutorial about Megaparsec, and it mentions that using the infix operator (<*) with the eof parser and some other arbitrary parser “forces” the resultant parser to either each the end of the input or fail. Does anyone have any insight into how this works on an implementation level? I know the type signature of (<*), but I
2023-12-31 06:28:04 +0100 <Guest12> don’t really get how it translates to the behaviour the tutorial describes.
2023-12-31 06:29:35 +0100 <monochrom> In general, you can think of "foo <* bar" as performing both foo and bar, in that order; then the return value is taken from foo's; bar's return value is discarded.
2023-12-31 06:35:57 +0100 <Guest12> I see.  I think that makes sense in the context of the tutorial.  Thanks
2023-12-31 06:37:15 +0100Guest12(~Guest12@129.170.197.115) (Quit: Client closed)
2023-12-31 06:37:44 +0100actioninja5(~actioninj@user/actioninja)
2023-12-31 06:39:31 +0100actioninja(~actioninj@user/actioninja) (Ping timeout: 260 seconds)
2023-12-31 06:39:31 +0100actioninja5actioninja
2023-12-31 06:39:48 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net)
2023-12-31 06:39:57 +0100nate4(~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Client Quit)
2023-12-31 06:57:24 +0100kupi(uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2023-12-31 07:14:52 +0100trev(~trev@user/trev)
2023-12-31 07:20:32 +0100rosco(~rosco@14.191.93.45)
2023-12-31 07:25:11 +0100rosco(~rosco@14.191.93.45) (Ping timeout: 264 seconds)
2023-12-31 07:26:24 +0100rosco(~rosco@14.191.93.45)
2023-12-31 07:29:49 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds)
2023-12-31 07:42:31 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds)
2023-12-31 07:43:53 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-12-31 08:10:11 +0100 <albet70> is there Map comprehension like List comprehension?
2023-12-31 08:16:47 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2023-12-31 08:21:01 +0100 <int-e> `fromListWith` takes a list, so list comprehensions seem good enough already
2023-12-31 08:30:40 +0100xdminsy(~xdminsy@117.147.71.169)
2023-12-31 08:34:37 +0100Szilva(~Szilva@92-249-141-195.pool.digikabel.hu) (Ping timeout: 246 seconds)
2023-12-31 08:41:45 +0100Szilva(~Szilva@92-249-141-195.pool.digikabel.hu)
2023-12-31 08:47:33 +0100 <albet70> [ (x,y) | (x,ys) <- b, y <- ys ] ys is not in scope, how to fix?
2023-12-31 08:48:07 +0100 <albet70> in python's list comprehension it's like [ (x,y) for y in ys for ys in b ]
2023-12-31 08:48:48 +0100 <int-e> > [(x,y) | x:ys <- tails [1..5], y <- ys]
2023-12-31 08:48:50 +0100 <lambdabot> [(1,2),(1,3),(1,4),(1,5),(2,3),(2,4),(2,5),(3,4),(3,5),(4,5)]
2023-12-31 08:49:36 +0100 <int-e> albet70: no, it shouldn't complain about ys not being in scope *there*.
2023-12-31 08:51:22 +0100 <albet70> > [ (x,y) | (x,ys) <- b, y <- ys ] where b = [("1",["1","2"])]
2023-12-31 08:51:23 +0100 <lambdabot> <hint>:1:34: error: parse error on input ‘where’
2023-12-31 08:51:57 +0100 <albet70> > let b = [("1",["1","2"])] in [(x,y) | (x,ys) <- b, y <- ys ]
2023-12-31 08:51:59 +0100 <lambdabot> [("1","1"),("1","2")]
2023-12-31 08:55:46 +0100Szilva(~Szilva@92-249-141-195.pool.digikabel.hu) (Ping timeout: 245 seconds)
2023-12-31 08:57:46 +0100Szilva(~Szilva@92-249-193-27.pool.digikabel.hu)
2023-12-31 09:01:32 +0100 <albet70> why haskell has too many ByteString?
2023-12-31 09:01:47 +0100 <albet70> Data.ByteString.Lazy.ByteString
2023-12-31 09:02:03 +0100 <albet70> Data.ByteString.Char8.ByteString
2023-12-31 09:02:26 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 245 seconds)
2023-12-31 09:02:27 +0100 <albet70> Data.ByteString.Internal.ByteString
2023-12-31 09:03:16 +0100fendor(~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c)
2023-12-31 09:06:31 +0100anpad(~pandeyan@user/anpad) (Ping timeout: 260 seconds)
2023-12-31 09:07:12 +0100Szilva(~Szilva@92-249-193-27.pool.digikabel.hu) (Ping timeout: 252 seconds)
2023-12-31 09:07:18 +0100anpad(~pandeyan@user/anpad)
2023-12-31 09:07:55 +0100misterfish(~misterfis@84.53.85.146)
2023-12-31 09:08:38 +0100phma(~phma@2001:5b0:211f:a1d8:f686:bb6d:11af:9510) (Read error: Connection reset by peer)
2023-12-31 09:11:41 +0100 <mauke> albet70: are you asking about ByteString types or ByteString modules?
2023-12-31 09:12:06 +0100 <albet70> https://paste.tomsmeding.com/tAE25XFf
2023-12-31 09:12:25 +0100 <albet70> mauke , never mind, I solved it
2023-12-31 09:13:38 +0100 <albet70> I run some forkIO inside an IO do notation, why it tells syntax error?
2023-12-31 09:14:41 +0100trev(~trev@user/trev) (Quit: trev)
2023-12-31 09:17:22 +0100 <mauke> that 'config <- ...' line looks a bit weird. isn't that just 'let config = getConfig context'?
2023-12-31 09:17:56 +0100 <mauke> albet70: the 'where' section terminates the declaration of 'main'
2023-12-31 09:18:17 +0100 <mauke> after that, 'case v of ...' is just random code in the middle of the file, which Haskell doesn't like
2023-12-31 09:22:37 +0100 <albet70> mauke , how to change 'where'?
2023-12-31 09:22:49 +0100 <albet70> or can not?
2023-12-31 09:25:27 +0100 <mauke> 'where' can only attach to declarations, not expressions
2023-12-31 09:25:35 +0100 <int-e> That `where` is rather ill-fated. You could use `Config{..}` where you bind `config`.
2023-12-31 09:25:40 +0100 <mauke> but it looks like you don't really need 'f' here
2023-12-31 09:25:58 +0100 <int-e> Since that's the only purpose `f` seems to have... bringing whatever fields `Config` has into scope
2023-12-31 09:26:13 +0100 <mauke> liftIO $ do { let Config{..} = config; ... }
2023-12-31 09:26:38 +0100 <mauke> (replace { } by indentation as needed)
2023-12-31 09:27:33 +0100 <int-e> I mean the Config{..} could be on line 9 already
2023-12-31 09:27:51 +0100 <int-e> with no need to name that thing `config` at any point
2023-12-31 09:28:57 +0100 <mauke> or indeed 'let Config{..} = getConfig context'
2023-12-31 09:29:23 +0100 <mauke> ah, no
2023-12-31 09:29:41 +0100 <mauke> there is an 'Either' in there
2023-12-31 09:29:52 +0100 <albet70> yes, there's an Either!
2023-12-31 09:30:11 +0100 <int-e> but that's from `return`?
2023-12-31 09:30:47 +0100 <mauke> isn't that IO's return?
2023-12-31 09:30:57 +0100 <int-e> On line 9?
2023-12-31 09:31:03 +0100 <int-e> Oh.
2023-12-31 09:31:17 +0100 <int-e> yes, you're right
2023-12-31 09:31:28 +0100 <albet70> promblem solved, thanks
2023-12-31 09:31:40 +0100 <albet70> use let Config{..} = config instead of 'where'
2023-12-31 09:31:58 +0100acidjnk(~acidjnk@p200300d6e72b9364c05d2cef6a824841.dip0.t-ipconnect.de)
2023-12-31 09:32:29 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-12-31 09:33:13 +0100 <int-e> This whole use of ExceptT for capturing an error from a singular source feels awkward.
2023-12-31 09:33:46 +0100 <albet70> how to change that?
2023-12-31 09:34:22 +0100 <int-e> you could run the `getConfig context` IO action and check for the error right there
2023-12-31 09:34:56 +0100 <int-e> or is that even an IO action.... it's not, it's just an Either value, right?
2023-12-31 09:35:40 +0100 <albet70> since getConfig context will get Either value, and I don't want to use lots <$> to map on that Either value
2023-12-31 09:35:50 +0100 <albet70> so I use ExceptT
2023-12-31 09:36:50 +0100 <albet70> getConfig context is not an IO action, it's actually Aeson's eitherDecode
2023-12-31 09:42:04 +0100 <int-e> well in my opinion "ExceptT $ ((return . getConfig) context :: IO (Either String Config))" is an eye sore; it's causing unecessary cognitive overload.
2023-12-31 09:42:52 +0100 <int-e> something that a straightforward `case getConfig context of Left s -> print s; Right (Config{..}) -> do ...` would not suffer from.
2023-12-31 09:45:47 +0100 <albet70> ok
2023-12-31 09:47:02 +0100 <albet70> some function return Either value, some do not, it's so mixed
2023-12-31 09:48:54 +0100 <albet70> Aeson's eitherDecode get Either, readFile do not, newMVar do not, Network.DNS.Decode's decode get Either, Network.Socket's recvFrom do not
2023-12-31 09:49:05 +0100 <albet70> and all those actions are mixed
2023-12-31 09:49:16 +0100 <albet70> IO actions and Either actions
2023-12-31 09:52:20 +0100ft(~ft@mue-88-130-106-233.dsl.tropolys.de) (Quit: leaving)
2023-12-31 09:59:02 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-12-31 10:04:56 +0100mauke(~mauke@user/mauke) (Remote host closed the connection)
2023-12-31 10:06:51 +0100dexter2(dexter@2a01:7e00::f03c:91ff:fe86:59ec) (Quit: WeeChat 2.8)
2023-12-31 10:10:13 +0100phma(~phma@2001:5b0:211f:2df8:fe50:c9dd:d398:6ba)
2023-12-31 10:10:18 +0100Szilva(~Szilva@94-21-82-238.pool.digikabel.hu)
2023-12-31 10:11:08 +0100tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz)
2023-12-31 10:16:25 +0100mauke(~mauke@user/mauke)
2023-12-31 10:19:32 +0100rosco(~rosco@14.191.93.45) (Quit: Lost terminal)
2023-12-31 10:26:39 +0100CiaoSen(~Jura@2a05:5800:2a9:e200:ca4b:d6ff:fec1:99da)
2023-12-31 10:28:58 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2023-12-31 10:30:30 +0100[_](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-31 10:34:02 +0100waldo(~waldo@user/waldo)
2023-12-31 10:34:15 +0100CiaoSen(~Jura@2a05:5800:2a9:e200:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds)
2023-12-31 10:34:22 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
2023-12-31 10:38:09 +0100vi-(violet@user/violetjewel) (Quit: ZNC - https://znc.in)
2023-12-31 10:39:36 +0100 <albet70> since when 'compose' came into Data.Map.Strict? https://hackage.haskell.org/package/containers-0.7/docs/Data-Map-Strict.html#v:compose
2023-12-31 10:40:09 +0100 <Rembane> albet70: Since: 0.6.3.1, it says so at the bottom of the function description.
2023-12-31 10:40:31 +0100Tuplanolla(~Tuplanoll@91-159-69-171.elisa-laajakaista.fi)
2023-12-31 10:41:06 +0100 <albet70> how to know which version is installed?
2023-12-31 10:41:35 +0100 <albet70> :t compose is not in scpoe in ghci
2023-12-31 10:41:36 +0100 <lambdabot> error: parse error on input ‘in’
2023-12-31 10:42:01 +0100 <Rembane> Are you in a project?
2023-12-31 10:42:09 +0100 <Rembane> Is it using stack? cabal?
2023-12-31 10:42:40 +0100 <albet70> cabal
2023-12-31 10:43:23 +0100 <albet70> ghc 8.8.4
2023-12-31 10:45:25 +0100 <Rembane> Try this command: cabal list --installed
2023-12-31 11:02:32 +0100Paracetamol(~WizardWit@2405:201:5004:1e8:5cc6:b5ee:4a75:5048)
2023-12-31 11:06:55 +0100waldo(~waldo@user/waldo) (Ping timeout: 260 seconds)
2023-12-31 11:08:29 +0100Paracetamol(~WizardWit@2405:201:5004:1e8:5cc6:b5ee:4a75:5048) (Quit: Leaving)
2023-12-31 11:08:51 +0100Paracetamol(~WizardWit@2405:201:5004:1e8:5cc6:b5ee:4a75:5048)
2023-12-31 11:11:47 +0100Paracetamol(~WizardWit@2405:201:5004:1e8:5cc6:b5ee:4a75:5048) (Client Quit)
2023-12-31 11:16:03 +0100oo_miguel(~Thunderbi@78-11-179-96.static.ip.netia.com.pl)
2023-12-31 11:18:28 +0100Paracetamol(~WizardWit@2405:201:5004:1e8:5cc6:b5ee:4a75:5048)
2023-12-31 11:19:28 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:7c0f:c7d3:678b:7d3e) (Remote host closed the connection)
2023-12-31 11:20:03 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:7c0f:c7d3:678b:7d3e)
2023-12-31 11:20:26 +0100econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2023-12-31 11:21:52 +0100sawilagar(~sawilagar@user/sawilagar)
2023-12-31 11:24:18 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:7c0f:c7d3:678b:7d3e) (Ping timeout: 260 seconds)
2023-12-31 11:24:19 +0100waldo(~waldo@user/waldo)
2023-12-31 11:25:10 +0100sroso(~sroso@user/SrOso)
2023-12-31 11:25:58 +0100turlando_(~turlando@user/turlando) (Ping timeout: 255 seconds)
2023-12-31 11:31:32 +0100Paracetamol(~WizardWit@2405:201:5004:1e8:5cc6:b5ee:4a75:5048) (Quit: Leaving)
2023-12-31 11:31:47 +0100waldo(~waldo@user/waldo) (Ping timeout: 264 seconds)
2023-12-31 11:32:42 +0100Paracetamol(~WizardWit@2405:201:5004:1e8:5cc6:b5ee:4a75:5048)
2023-12-31 11:34:11 +0100turlando(~turlando@user/turlando)
2023-12-31 11:40:24 +0100Ibuprofen(~BolterWiz@2405:201:5004:1e8:5cc6:b5ee:4a75:5048)
2023-12-31 11:40:37 +0100Ibuprofen(~BolterWiz@2405:201:5004:1e8:5cc6:b5ee:4a75:5048) (Client Quit)
2023-12-31 11:40:39 +0100ParacetamolIbuprofen
2023-12-31 11:40:56 +0100IbuprofenCaffiene
2023-12-31 11:41:10 +0100CaffieneWizardWithABolte
2023-12-31 11:41:23 +0100WizardWithABolteWizWithABolter
2023-12-31 11:42:09 +0100WizWithABolterParacetamol
2023-12-31 11:42:29 +0100Paracetamol(~WizardWit@2405:201:5004:1e8:5cc6:b5ee:4a75:5048) (Quit: Leaving)
2023-12-31 11:42:52 +0100sroso(~sroso@user/SrOso) (Quit: Leaving)
2023-12-31 11:43:33 +0100chomwitt(~chomwitt@2a02:587:7a0f:8900:1ac0:4dff:fedb:a3f1)
2023-12-31 11:44:36 +0100Paracetamol(~BolterWiz@2405:201:5004:1e8:5cc6:b5ee:4a75:5048)
2023-12-31 11:45:36 +0100Ibuprofen(~Paracetam@2405:201:5004:1e8:5cc6:b5ee:4a75:5048)
2023-12-31 11:45:56 +0100Ibuprofen(~Paracetam@2405:201:5004:1e8:5cc6:b5ee:4a75:5048) (Client Quit)
2023-12-31 11:45:59 +0100Paracetamol(~BolterWiz@2405:201:5004:1e8:5cc6:b5ee:4a75:5048) (Client Quit)
2023-12-31 11:47:05 +0100Paracetamol(~Paracetam@2405:201:5004:1e8:5cc6:b5ee:4a75:5048)
2023-12-31 11:50:10 +0100Ibuprofen(~Paracetam@2405:201:5004:1e8:5cc6:b5ee:4a75:5048)
2023-12-31 11:50:26 +0100Paracetamol(~Paracetam@2405:201:5004:1e8:5cc6:b5ee:4a75:5048) (Client Quit)
2023-12-31 11:50:32 +0100IbuprofenParacetamol
2023-12-31 11:52:31 +0100Szilva(~Szilva@94-21-82-238.pool.digikabel.hu) (Ping timeout: 268 seconds)
2023-12-31 11:52:41 +0100Ibuprofen(~Paracetam@2405:201:5004:1e8:64ff:e6c:267d:f3c7)
2023-12-31 11:53:18 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:7c0f:c7d3:678b:7d3e)
2023-12-31 11:54:45 +0100Caffiene(~Paracetam@2405:201:5004:1e8:c5ae:28d1:f06b:6363)
2023-12-31 11:56:23 +0100Paracetamol(~Paracetam@2405:201:5004:1e8:5cc6:b5ee:4a75:5048) (Ping timeout: 260 seconds)
2023-12-31 11:57:47 +0100Ibuprofen(~Paracetam@2405:201:5004:1e8:64ff:e6c:267d:f3c7) (Ping timeout: 260 seconds)
2023-12-31 12:01:04 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-12-31 12:08:49 +0100Szilva(~Szilva@178-164-171-236.pool.digikabel.hu)
2023-12-31 12:14:23 +0100Szilva(~Szilva@178-164-171-236.pool.digikabel.hu) (Ping timeout: 264 seconds)
2023-12-31 12:14:39 +0100Szilva(~Szilva@80-95-69-224.pool.digikabel.hu)
2023-12-31 12:16:18 +0100mima_(~mmh@ip5f5af4e1.dynamic.kabel-deutschland.de)
2023-12-31 12:18:33 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-12-31 12:21:14 +0100elkcl(~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 260 seconds)
2023-12-31 12:22:13 +0100mima_(~mmh@ip5f5af4e1.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
2023-12-31 12:25:25 +0100erina(~erina@178.157.56.217.16clouds.com) (Remote host closed the connection)
2023-12-31 12:25:48 +0100erina(~erina@2409:8a31:4a3:c0a1::1000)
2023-12-31 12:29:08 +0100Caffiene(~Paracetam@2405:201:5004:1e8:c5ae:28d1:f06b:6363) (Quit: Leaving)
2023-12-31 12:29:29 +0100Paracetamol(~Paracetam@2405:201:5004:1e8:c5ae:28d1:f06b:6363)
2023-12-31 12:32:53 +0100elkcl(~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru)
2023-12-31 12:33:09 +0100Paracetamol(~Paracetam@2405:201:5004:1e8:c5ae:28d1:f06b:6363) (Changing host)
2023-12-31 12:33:09 +0100Paracetamol(~Paracetam@user/Paracetamol)
2023-12-31 12:40:05 +0100mikess(~sam@user/mikess) (Ping timeout: 240 seconds)
2023-12-31 12:46:55 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-12-31 13:12:01 +0100shiguera(~shiguera@113.red-79-148-233.staticip.rima-tde.net)
2023-12-31 13:12:33 +0100shiguera(~shiguera@113.red-79-148-233.staticip.rima-tde.net) (Client Quit)
2023-12-31 13:13:28 +0100Paracetamol(~Paracetam@user/Paracetamol) (Quit: Leaving)
2023-12-31 13:13:49 +0100Paracetamol(~Paracetam@user/Paracetamol)
2023-12-31 13:15:03 +0100emmanuelux_(~emmanuelu@user/emmanuelux)
2023-12-31 13:18:13 +0100emmanuelux(~emmanuelu@user/emmanuelux) (Ping timeout: 276 seconds)
2023-12-31 13:19:22 +0100doyougnu-(~doyougnu@045-046-170-068.res.spectrum.com)
2023-12-31 13:19:47 +0100doyougnu(~doyougnu@045-046-170-068.res.spectrum.com) (Ping timeout: 268 seconds)
2023-12-31 13:21:38 +0100emmanuelux(~emmanuelu@user/emmanuelux)
2023-12-31 13:21:44 +0100Tuplanolla(~Tuplanoll@91-159-69-171.elisa-laajakaista.fi) (Quit: Leaving.)
2023-12-31 13:21:54 +0100emmanuelux_(~emmanuelu@user/emmanuelux) (Ping timeout: 260 seconds)
2023-12-31 13:21:56 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds)
2023-12-31 13:37:48 +0100turmite(~turmite@178.249.211.97)
2023-12-31 13:42:08 +0100turmite(~turmite@178.249.211.97) (Remote host closed the connection)
2023-12-31 13:55:07 +0100Ibuprofen(~Paracetam@user/Paracetamol)
2023-12-31 13:57:08 +0100Caffiene(~Paracetam@user/Paracetamol)
2023-12-31 13:59:15 +0100Paracetamol(~Paracetam@user/Paracetamol) (Ping timeout: 268 seconds)
2023-12-31 13:59:46 +0100Ibuprofen(~Paracetam@user/Paracetamol) (Ping timeout: 246 seconds)
2023-12-31 14:02:59 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-12-31 14:28:55 +0100not_reserved(~not_reser@154.16.157.88) (Quit: Client closed)
2023-12-31 14:38:31 +0100mjs2600(~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
2023-12-31 14:40:46 +0100igemnace(~ian@user/igemnace) (Ping timeout: 245 seconds)
2023-12-31 14:49:24 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2023-12-31 14:52:44 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2023-12-31 14:58:54 +0100Ibuprofen(~Paracetam@user/Paracetamol)
2023-12-31 15:01:43 +0100Caffiene(~Paracetam@user/Paracetamol) (Ping timeout: 246 seconds)
2023-12-31 15:04:51 +0100random-jellyfish(~tiber@user/random-jellyfish)
2023-12-31 15:07:38 +0100 <albet70> https://hackage.haskell.org/package/containers-0.7/docs/src/Data.Map.Internal.html#compose could be compose empty ab = empty?
2023-12-31 15:08:21 +0100 <albet70> compose empty _ = empty; compose bc ab = mapMaybe (bc !?) ab
2023-12-31 15:09:51 +0100random-jellyfish(~tiber@user/random-jellyfish) (Ping timeout: 268 seconds)
2023-12-31 15:12:56 +0100 <haskellbridge> 15<J​ade> is it possible to have an instance along the lines of `instance SomeConstraint s => SomeConstraint (a -> s a)` where a is the "free" variable in the instance?
2023-12-31 15:12:56 +0100 <haskellbridge> 15<J​ade> My current "solution" is to have `newtype Foo s a = Foo { getFoo :: a -> s a }` and the instance head is then `instance SomeConstraint s => SomeConstraint (Foo s)`
2023-12-31 15:13:07 +0100 <haskellbridge> 15<J​ade> is there a way to achieve this without having the newtype wrapper?
2023-12-31 15:15:16 +0100 <albet70> left-value right-value, empty can not be evaled in left
2023-12-31 15:15:42 +0100 <albet70> what is empty Map look like
2023-12-31 15:17:34 +0100mima(~mmh@ip5f5af4e1.dynamic.kabel-deutschland.de)
2023-12-31 15:18:50 +0100 <bwe> parseOnly (scientific) "1.000" -- expected is 1000; how do I skip the "." while parsing "1.000" ?
2023-12-31 15:19:03 +0100 <bwe> Right 1.0
2023-12-31 15:28:11 +0100 <erina> bwe. sorry if I didn't get what you mean...... but I guess filter isDigit can rid the '.'
2023-12-31 15:32:36 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-12-31 15:33:08 +0100igemnace(~ian@user/igemnace)
2023-12-31 15:33:20 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-12-31 15:48:31 +0100 <albet70> how to config parameter in cabal's main-is?
2023-12-31 15:49:41 +0100 <bwe> erina: I want to have the parser filter to digits only; however can I use filter isDigit in :: Parser Double ?
2023-12-31 15:49:53 +0100VioletJewel(~violet@user/violetjewel)
2023-12-31 15:50:45 +0100erina(~erina@2409:8a31:4a3:c0a1::1000) (Ping timeout: 256 seconds)
2023-12-31 15:57:54 +0100Square(~Square@user/square)
2023-12-31 16:01:11 +0100Tlsx(~rscastilh@189.61.140.215)
2023-12-31 16:07:02 +0100VioletJewelvi-
2023-12-31 16:20:29 +0100_myclm(~myclm_@2a02:810d:8200:1628::8920)
2023-12-31 16:24:31 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 240 seconds)
2023-12-31 16:27:47 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2023-12-31 16:36:13 +0100fendor(~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) (Remote host closed the connection)
2023-12-31 16:43:40 +0100Ibuprofen(~Paracetam@user/Paracetamol) (Quit: Leaving)
2023-12-31 16:47:42 +0100 <cheater> geekosaur: could you please rename haskellbridge to something shorter, preferably just one character?
2023-12-31 16:51:20 +0100waldo(~waldo@user/waldo)
2023-12-31 16:55:41 +0100 <glguy> cheater: you might be able to configure your client to do a better job with it, e.g. https://0x0.st/s/vuzxDxIQ5XoAB_U_xLBHdw/HE5B.png
2023-12-31 16:56:29 +0100 <cheater> nah, my client doesn't do advanced stuff like that
2023-12-31 16:56:38 +0100 <cheater> it's a good idea but doesn't really work
2023-12-31 16:56:47 +0100 <cheater> what client are you using glguy?
2023-12-31 16:58:17 +0100 <glguy> https://hackage.haskell.org/package/glirc
2023-12-31 17:00:09 +0100 <cheater> does it have >1 user
2023-12-31 17:00:12 +0100 <cheater> :)
2023-12-31 17:00:18 +0100 <cheater> lol
2023-12-31 17:00:22 +0100 <cheater> jk :)
2023-12-31 17:00:49 +0100 <cheater> really happy there's *finally* an irc client in haskell
2023-12-31 17:00:57 +0100 <cheater> literally every irc client out there is just... bad
2023-12-31 17:01:14 +0100chomwitt(~chomwitt@2a02:587:7a0f:8900:1ac0:4dff:fedb:a3f1) (Ping timeout: 260 seconds)
2023-12-31 17:01:57 +0100 <glguy> Yeah, pretty many
2023-12-31 17:02:26 +0100TonyStone(~TonyStone@074-076-057-186.res.spectrum.com) (Quit: Leaving)
2023-12-31 17:02:32 +0100 <glguy> More from people installing it from their distro than the haskell programmer who I know that use it
2023-12-31 17:02:42 +0100 <cheater> oh interesting
2023-12-31 17:02:50 +0100 <cheater> any plans on a windowed (desktop) version?
2023-12-31 17:03:30 +0100 <glguy> No
2023-12-31 17:04:56 +0100 <cheater> too bad!
2023-12-31 17:05:04 +0100Square(~Square@user/square) (Remote host closed the connection)
2023-12-31 17:05:28 +0100Square(~Square@user/square)
2023-12-31 17:05:39 +0100Square(~Square@user/square) (Remote host closed the connection)
2023-12-31 17:06:04 +0100Square(~Square@user/square)
2023-12-31 17:06:49 +0100waldo(~waldo@user/waldo) (Ping timeout: 256 seconds)
2023-12-31 17:08:07 +0100 <cheater> glguy: does it do that thing where you can leave a client running on a vps somewhere and connect to the client from where ever?
2023-12-31 17:08:19 +0100 <cheater> (your desktop, phone, ...)
2023-12-31 17:08:54 +0100 <cheater> i guess it's called a bouncer, or a tunnel, or proxy
2023-12-31 17:13:28 +0100 <haskellbridge> 14<m​auke> Or ssh + a terminal client running in tmux on the server
2023-12-31 17:13:53 +0100erina(~erina@2409:8a31:4a3:c0a1::1000)
2023-12-31 17:14:46 +0100 <glguy> cheater: it has good support for connecting via a bouncer, which is how I use it
2023-12-31 17:15:02 +0100 <cheater> what sort of bouncer do you use?
2023-12-31 17:17:08 +0100 <glguy> I use both znc and soju
2023-12-31 17:17:12 +0100_myclm(~myclm_@2a02:810d:8200:1628::8920) (Ping timeout: 268 seconds)
2023-12-31 17:18:42 +0100 <cheater> you use two? why?
2023-12-31 17:22:09 +0100causal(~eric@50.35.85.7) (Quit: WeeChat 4.1.1)
2023-12-31 17:22:57 +0100waldo(~waldo@user/waldo)
2023-12-31 17:23:21 +0100 <glguy> I wanted to have options and as a used soju I found stuff that wasn't quite right and got it fixed. I have this connection I use for chatting and another I use fora server status client I use to help with managing the network
2023-12-31 17:23:44 +0100 <cheater> thanks
2023-12-31 17:24:40 +0100_myclm(~myclm_@2a02:810d:8200:1628::8920)
2023-12-31 17:28:47 +0100misterfish(~misterfis@84.53.85.146) (Ping timeout: 264 seconds)
2023-12-31 17:33:10 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-12-31 17:46:06 +0100erina(~erina@2409:8a31:4a3:c0a1::1000) (Ping timeout: 260 seconds)
2023-12-31 17:52:55 +0100waldo(~waldo@user/waldo) (Ping timeout: 260 seconds)
2023-12-31 17:53:36 +0100waldo(~waldo@user/waldo)
2023-12-31 17:53:39 +0100mikess(~sam@user/mikess)
2023-12-31 17:57:41 +0100waldo(~waldo@user/waldo) (Ping timeout: 240 seconds)
2023-12-31 17:59:36 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-12-31 18:01:42 +0100haskellbridge06<s​m> likes the bridge's matrix avatar
2023-12-31 18:01:48 +0100 <haskellbridge> 06<s​m> +1 attention to detail
2023-12-31 18:01:58 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-12-31 18:07:51 +0100mima(~mmh@ip5f5af4e1.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds)
2023-12-31 18:08:29 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds)
2023-12-31 18:09:15 +0100_myclm(~myclm_@2a02:810d:8200:1628::8920) (Ping timeout: 260 seconds)
2023-12-31 18:10:15 +0100_myclm(~myclm_@2a02:810d:8200:1628::8920)
2023-12-31 18:11:19 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-12-31 18:12:21 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-12-31 18:21:48 +0100tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net)
2023-12-31 18:25:13 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-12-31 18:27:01 +0100waldo(~waldo@user/waldo)
2023-12-31 18:36:52 +0100econo_(uid147250@id-147250.tinside.irccloud.com)
2023-12-31 18:37:40 +0100Xe(~cadey@perl/impostor/xe) (Ping timeout: 268 seconds)
2023-12-31 18:38:06 +0100npnerdypepper
2023-12-31 18:42:51 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
2023-12-31 18:44:45 +0100waleee(~waleee@h-176-10-144-38.na.cust.bahnhof.se)
2023-12-31 18:48:25 +0100 <petrichor> new year's resolution: do more with haskell
2023-12-31 18:49:15 +0100petrichorrealises they can probably fulfill this with tidalcycles alone >_<
2023-12-31 18:49:38 +0100 <monochrom> Why commit to a resolution until you really need to. >:)
2023-12-31 18:50:08 +0100 <darkling> I think mine's 320x192.
2023-12-31 18:50:31 +0100_myclm(~myclm_@2a02:810d:8200:1628::8920) (Ping timeout: 256 seconds)
2023-12-31 19:02:01 +0100waleee(~waleee@h-176-10-144-38.na.cust.bahnhof.se) (Ping timeout: 245 seconds)
2023-12-31 19:04:20 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-12-31 19:04:44 +0100 <haskellbridge> 14<m​aerwald> new year's resolution: do less for Haskell
2023-12-31 19:13:07 +0100 <cheater> haskell is too successful
2023-12-31 19:18:30 +0100rosco(~rosco@14.191.93.45)
2023-12-31 19:27:54 +0100rosco(~rosco@14.191.93.45) (Quit: Lost terminal)
2023-12-31 19:31:22 +0100 <duncan> cheater: it is missing for loops
2023-12-31 19:31:32 +0100 <duncan> in 2023
2023-12-31 19:32:29 +0100 <cheater> duncan: at least it has BASIC and GOTO
2023-12-31 19:32:47 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-12-31 19:36:27 +0100 <EvanR> > for [0..n-1] $ \i -> print i
2023-12-31 19:36:29 +0100 <lambdabot> <IO [()]>
2023-12-31 19:41:25 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds)
2023-12-31 19:42:22 +0100 <haskellbridge> 14<m​aerwald> not a real for loop
2023-12-31 19:42:42 +0100 <haskellbridge> 14<m​aerwald> https://gist.github.com/hasufell/b5d00650a03809cccabfb07dcae0d987
2023-12-31 19:43:30 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-12-31 19:50:49 +0100waldo(~waldo@user/waldo) (Ping timeout: 276 seconds)
2023-12-31 19:51:40 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2023-12-31 19:53:50 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 268 seconds)
2023-12-31 19:55:19 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-12-31 20:02:56 +0100megaTherion(~therion@unix.io) (Quit: ZNC 1.8.2 - https://znc.in)
2023-12-31 20:16:32 +0100waldo(~waldo@user/waldo)
2023-12-31 20:21:14 +0100igemnace(~ian@user/igemnace) (Quit: WeeChat 4.1.2)
2023-12-31 20:22:57 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-12-31 20:24:01 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-12-31 20:26:21 +0100megaTherion(~therion@unix.io)
2023-12-31 20:30:05 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-12-31 20:30:37 +0100 <cheater> Your name will be on board NASA’s Europa Clipper spacecraft as it travels 1.8 billion miles to explore Jupiter’s icy moon!
2023-12-31 20:30:52 +0100 <cheater> if anyone wants to send someone to outer space, here's your chance.
2023-12-31 20:30:58 +0100 <cheater> i think it's only today, but not sure.
2023-12-31 20:37:00 +0100Tlsx(~rscastilh@189.61.140.215) (Remote host closed the connection)
2023-12-31 20:38:07 +0100misterfish(~misterfis@84.53.85.146)
2023-12-31 20:44:32 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:7c0f:c7d3:678b:7d3e) (Remote host closed the connection)
2023-12-31 20:44:48 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:7c0f:c7d3:678b:7d3e)
2023-12-31 21:01:41 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2023-12-31 21:04:23 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2023-12-31 21:13:44 +0100 <monochrom> (Very obscured joke reference) All for-loops are real, unless declared integer. :)
2023-12-31 21:14:32 +0100megaTherion(~therion@unix.io) (Read error: Connection reset by peer)
2023-12-31 21:14:50 +0100megaTherion(~therion@unix.io)
2023-12-31 21:16:28 +0100pieguy128(~pieguy128@67.70.103.21) (Quit: ZNC 1.8.2 - https://znc.in)
2023-12-31 21:17:58 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:7c0f:c7d3:678b:7d3e) (Remote host closed the connection)
2023-12-31 21:22:24 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-49-67-70-103-21.dsl.bell.ca)
2023-12-31 21:23:33 +0100misterfish(~misterfis@84.53.85.146) (Ping timeout: 268 seconds)
2023-12-31 21:23:54 +0100TonyStone(~TonyStone@074-076-057-186.res.spectrum.com)
2023-12-31 21:29:00 +0100eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-12-31 21:32:27 +0100 <c_wraith> monochrom: my programs magically tended to get faster after I discovered DEFINT A-Z
2023-12-31 21:34:55 +0100mikess(~sam@user/mikess) (Quit: Lost terminal)
2023-12-31 21:39:00 +0100 <monochrom> :)
2023-12-31 21:39:40 +0100 <monochrom> Me too in Haskell with "default (Int)" >:)
2023-12-31 21:47:55 +0100Feuermagier(~Feuermagi@user/feuermagier)
2023-12-31 21:57:10 +0100Xe(~cadey@perl/impostor/xe)
2023-12-31 21:58:16 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 245 seconds)
2023-12-31 21:59:31 +0100xdminsy(~xdminsy@117.147.71.169) (Ping timeout: 245 seconds)
2023-12-31 22:19:11 +0100waldo(~waldo@user/waldo) (Ping timeout: 264 seconds)
2023-12-31 22:26:23 +0100 <monochrom> Javascript needs DEFINT A-Z too >:)
2023-12-31 22:30:59 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-12-31 22:34:47 +0100[_](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
2023-12-31 22:48:55 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
2023-12-31 22:51:47 +0100Sgeo(~Sgeo@user/sgeo)
2023-12-31 22:54:24 +0100Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 252 seconds)
2023-12-31 22:54:43 +0100 <cheater> haksell needs DEFSTRICT
2023-12-31 22:55:37 +0100jrm(~jrm@user/jrm) (Quit: ciao)
2023-12-31 22:56:23 +0100Maxdamantus(~Maxdamant@user/maxdamantus)
2023-12-31 22:58:23 +0100jrm(~jrm@user/jrm)
2023-12-31 23:02:59 +0100 <nullie> I wonder why Haskell chose wrapping behaviour for Int operations
2023-12-31 23:10:20 +0100 <monochrom> It is a nice way to implement laziness.
2023-12-31 23:11:07 +0100 <monochrom> At the minimum you have to spend at least 1 bit to say "I am unevaluated" vs "I am evaluated".
2023-12-31 23:12:02 +0100 <monochrom> Your only choice is take 64 bits and sacrify 1 bit, or take 64x2 bits and sacrify 64 bits.
2023-12-31 23:12:27 +0100 <monochrom> GHC (generally the STG machine paper) chose the latter.
2023-12-31 23:12:40 +0100 <int-e> "wrapping", har
2023-12-31 23:12:51 +0100 <nullie> I mean why max_bound + 1 wraps and not raises and exception
2023-12-31 23:12:53 +0100 <int-e> > 2^63 :: Int
2023-12-31 23:12:54 +0100 <lambdabot> -9223372036854775808
2023-12-31 23:13:26 +0100 <geekosaur> because raising an exception means adding an extra machine operation for every Int operation
2023-12-31 23:13:32 +0100 <monochrom> Oh that. Someone made a very pragmatic decision that offended all the theorists and aestheticists.
2023-12-31 23:14:53 +0100 <geekosaur> most CPUs, and in particular the most common CPUs, don't support automatically raising an exception on wrap
2023-12-31 23:15:01 +0100 <geekosaur> they just set a bit that has to be tested
2023-12-31 23:17:22 +0100 <nullie> I see, that makes sense
2023-12-31 23:18:19 +0100 <geekosaur> (the idea being that you can chain operations using the bit to carry into another word, so Int128 would be relatively cheap)
2023-12-31 23:18:51 +0100 <monochrom> Fortunately, because career is a zero-sum game, theorists can't write compilers that do what they want, so all they can do is make noise. >:)
2023-12-31 23:22:42 +0100not_reserved(~not_reser@154.16.157.92)
2023-12-31 23:23:11 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 268 seconds)
2023-12-31 23:24:52 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2023-12-31 23:25:19 +0100Pixi`(~Pixi@user/pixi)
2023-12-31 23:28:11 +0100Pixi(~Pixi@user/pixi) (Ping timeout: 264 seconds)
2023-12-31 23:39:01 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 246 seconds)
2023-12-31 23:41:00 +0100son0p(~ff@181.136.122.143)
2023-12-31 23:54:54 +0100ft(~ft@p4fc2a1d8.dip0.t-ipconnect.de)
2023-12-31 23:55:44 +0100AlexNoo(~AlexNoo@178.34.163.207) (Read error: Connection reset by peer)
2023-12-31 23:55:54 +0100phma(~phma@2001:5b0:211f:2df8:fe50:c9dd:d398:6ba) (Read error: Connection reset by peer)
2023-12-31 23:56:08 +0100AlexNoo(~AlexNoo@178.34.163.207)
2023-12-31 23:56:23 +0100phma(~phma@host-67-44-208-123.hnremote.net)
2023-12-31 23:59:23 +0100Pixi__(~Pixi@user/pixi)