2022/01/15

2022-01-15 00:01:07 +0100geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection)
2022-01-15 00:01:49 +0100alx741(~alx741@157.100.93.160)
2022-01-15 00:01:51 +0100 <jackdk> > :t flip $ \f -> foldr ((*>) . f) (pure ()) -- EvanR
2022-01-15 00:01:52 +0100 <lambdabot> <hint>:1:1: error: parse error on input ‘:’
2022-01-15 00:02:02 +0100 <jackdk> % :t flip $ \f -> foldr ((*>) . f) (pure ()) -- EvanR
2022-01-15 00:02:02 +0100 <yahb> jackdk: ; <interactive>:1:26: error:; Ambiguous occurrence `.'; It could refer to; either `Control.Category..', imported from `Control.Category'; or `Prelude..', imported from `Prelude' (and originally defined in `GHC.Base')
2022-01-15 00:02:13 +0100 <jackdk> ahh you know what I mena
2022-01-15 00:02:16 +0100 <jackdk> mean*
2022-01-15 00:02:42 +0100 <geekosaur> % :m - Control.Category
2022-01-15 00:02:42 +0100 <yahb> geekosaur:
2022-01-15 00:02:43 +0100smplays with smalltalk
2022-01-15 00:02:47 +0100xb0o2(~xb0o2@user/xb0o2)
2022-01-15 00:04:01 +0100 <EvanR> who left prelude and category imported in conflict xD
2022-01-15 00:04:04 +0100 <sm> flipping between smalltalk and haskell windows is quite mind-stretching
2022-01-15 00:04:20 +0100 <EvanR> just think of smalltalk as a DSL
2022-01-15 00:04:34 +0100 <EvanR> smalltalk monad
2022-01-15 00:07:14 +0100 <monochrom> I like Smalltalk blocks. It shows that lambda, not objects, is how you achieve compositionality, component reuse, all that good stuff.
2022-01-15 00:08:00 +0100 <EvanR> once you write a single class, you can reuse that single class as many times as you like
2022-01-15 00:08:07 +0100 <EvanR> code reuse
2022-01-15 00:08:11 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-01-15 00:08:16 +0100deadmarshal(~deadmarsh@95.38.231.124)
2022-01-15 00:09:06 +0100Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-01-15 00:10:42 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 00:12:39 +0100deadmarshal(~deadmarsh@95.38.231.124) (Ping timeout: 256 seconds)
2022-01-15 00:12:59 +0100smstumbled into https://gtoolkit.com , a clean modern layer on top of pharo, which is a fork of squeak, which is the OSS descendant of smaltalk-80
2022-01-15 00:13:26 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection)
2022-01-15 00:13:50 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com)
2022-01-15 00:13:51 +0100 <sm> I always wanted to see smalltalk (good OO) and haskell (good FP) combined.
2022-01-15 00:13:54 +0100zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-01-15 00:14:23 +0100 <sm> just now I'm wondering what image-based Haskell dev could look like
2022-01-15 00:14:25 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-15 00:14:49 +0100 <Inst> do you know how to override cabal version checks?
2022-01-15 00:15:09 +0100 <geekosaur> --allow-{newer,older}[=package,...]
2022-01-15 00:15:11 +0100 <Inst> Warning: readline.cabal:27:32: version operators used. To use version
2022-01-15 00:15:11 +0100 <Inst> operators the package needs to specify at least 'cabal-version: >= 1.8'.
2022-01-15 00:15:11 +0100 <Inst> Warning: readline.cabal:9:3: Tabs used as indentation at 9:3, 10:3, 12:3,
2022-01-15 00:15:11 +0100 <Inst> 13:3, 15:3, 16:3
2022-01-15 00:15:11 +0100 <Inst> Configuring readline-1.0.3.0...
2022-01-15 00:15:12 +0100 <Inst> cabal-3.6.2.0.exe: The package has a './configure' script. If you are on
2022-01-15 00:15:13 +0100 <Inst> Windows, This requires a Unix compatibility toolchain such as MinGW+MSYS or
2022-01-15 00:15:16 +0100 <Inst> Cygwin. If you are not on Windows, ensure that an 'sh' command is discoverable
2022-01-15 00:15:18 +0100 <Inst> in your path.
2022-01-15 00:15:20 +0100 <Inst> cabal-3.6.2.0.exe: Failed to build readline-1.0.3.0. See the build log above
2022-01-15 00:15:22 +0100 <Inst> for details.
2022-01-15 00:15:24 +0100 <Inst> whoops, sorry
2022-01-15 00:15:26 +0100 <Inst> didn't know it'd be that long
2022-01-15 00:15:42 +0100 <geekosaur> anyway that does not show any errors, just warnings
2022-01-15 00:16:05 +0100 <geekosaur> if you don't have mingw, it won't build, it tells you this
2022-01-15 00:16:25 +0100 <geekosaur> you can't "override" that
2022-01-15 00:16:41 +0100jgeerds_(~jgeerds@55d4af63.access.ecotel.net)
2022-01-15 00:17:18 +0100 <Inst> i should have mingw
2022-01-15 00:17:22 +0100 <Inst> should that be added to path?
2022-01-15 00:18:16 +0100 <geekosaur> actually you should run the install from a mingw sh window
2022-01-15 00:19:33 +0100jgeerds(~jgeerds@55d4bbed.access.ecotel.net) (Ping timeout: 250 seconds)
2022-01-15 00:21:09 +0100zincy(~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1) (Remote host closed the connection)
2022-01-15 00:22:09 +0100 <Nate[m]1> can I ask agda related question here?
2022-01-15 00:25:09 +0100 <Nate[m]1> can someone tell me how to call agda standard library?
2022-01-15 00:26:04 +0100cosimone(~user@93-44-186-159.ip98.fastwebnet.it) (Remote host closed the connection)
2022-01-15 00:26:51 +0100alx741(~alx741@157.100.93.160)
2022-01-15 00:29:39 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 00:29:56 +0100 <EvanR> hrm to make monad an instance of mtl classes like MonadReader and MonadRWS the type variables need to line up exactly...
2022-01-15 00:30:14 +0100 <EvanR> which might be a different order from other convenience
2022-01-15 00:31:04 +0100 <EvanR> or I'm trippin
2022-01-15 00:31:17 +0100jkaye(~jkaye@2601:281:8300:7530:91a1:7dca:589a:aaae) (Ping timeout: 240 seconds)
2022-01-15 00:32:13 +0100 <Inst> https://media.discordapp.net/attachments/528863657363505159/931692175132090398/unknown.png
2022-01-15 00:32:28 +0100 <Inst> added mingw to path
2022-01-15 00:33:04 +0100 <geekosaur> you will need to use pacman to install the mingw readline package
2022-01-15 00:33:05 +0100 <Inst> bash in mingw64 doesn't recognize cabal
2022-01-15 00:33:14 +0100aliosablack(~chomwitt@athedsl-15695.home.otenet.gr) (Ping timeout: 250 seconds)
2022-01-15 00:33:25 +0100 <Inst> just ran pacman, mingw stopped responding
2022-01-15 00:33:50 +0100 <Inst> okay, should be able to take care of myself, ex-Arch user
2022-01-15 00:35:19 +0100 <Inst> is mingw literally using arch pacman?
2022-01-15 00:36:17 +0100 <geekosaur> a port of it
2022-01-15 00:36:25 +0100 <geekosaur> with its own packages though, not from arch
2022-01-15 00:37:51 +0100xb0o2(~xb0o2@user/xb0o2) (Quit: Client closed)
2022-01-15 00:38:29 +0100 <ephemient> like almost all other development tools, Haskell is much less painful on Linux or WSL than on Windows natively </opinion>
2022-01-15 00:39:03 +0100jackson99(~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Session timeout))
2022-01-15 00:39:03 +0100xb0o2(~xb0o2@user/xb0o2)
2022-01-15 00:40:50 +0100 <Inst> also, that feel when you realize you have to learn monad transformers to get readkey support on Haskell
2022-01-15 00:40:55 +0100slack1256(~slack1256@191.126.99.209)
2022-01-15 00:42:38 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-15 00:42:38 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-15 00:42:38 +0100wroathe(~wroathe@user/wroathe)
2022-01-15 00:43:09 +0100slac97765(~slack1256@191.126.99.72) (Read error: Connection reset by peer)
2022-01-15 00:43:09 +0100 <EvanR> you think you need transformers to use Maybe and IO again
2022-01-15 00:43:15 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-01-15 00:43:26 +0100 <Inst> Haskeline uses InputT datatype
2022-01-15 00:43:45 +0100 <EvanR> groovy
2022-01-15 00:44:12 +0100 <ephemient> did none of the other terminal manipulation suggestions from earlier work?
2022-01-15 00:44:44 +0100 <Inst> tbh i have no idea how to pacman readline
2022-01-15 00:45:24 +0100 <Inst> i'll try compile and seeing if it works, but GHCi and GHC generated executables having different behavior -> baaaaad
2022-01-15 00:45:45 +0100neverwas(jpneverwas@swissbox.unperson.link)
2022-01-15 00:46:45 +0100 <hpc> differences between interpreted and compiled code are very very rare, and iirc all have to do with ffi
2022-01-15 00:46:58 +0100bitmapper(uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-01-15 00:47:13 +0100 <Inst> okay, somehow runhaskell died?
2022-01-15 00:47:30 +0100shriekingnoise(~shrieking@156-16-231-201.fibertel.com.ar) (Quit: Quit)
2022-01-15 00:47:33 +0100alx741(~alx741@157.100.93.160)
2022-01-15 00:47:36 +0100max22-(~maxime@2a01cb0883359800ad92d79b8ec75caf.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2022-01-15 00:48:31 +0100 <Inst> also did hutton during a dental cleaning
2022-01-15 00:48:50 +0100 <Inst> contrary to the insistence of the hygienist, it is in fact possible to read a haskell textbook during routine dental care
2022-01-15 00:49:21 +0100shriekingnoise(~shrieking@201.231.16.156)
2022-01-15 00:49:24 +0100 <Inst> so getting into state monad, although it's still hard, not completely getting the syntax (or the notion that functions can be typeconstructed or type-synonymed types)
2022-01-15 00:49:37 +0100 <Inst> ::smug::
2022-01-15 00:50:10 +0100bastelfreak(~bastelfre@basteles-bastelknecht.bastelfreak.org) (Quit: WeeChat 3.3)
2022-01-15 00:50:37 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-01-15 00:51:26 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection)
2022-01-15 00:51:57 +0100 <EvanR> hmm funny MonadRWS class has no
2022-01-15 00:52:00 +0100 <EvanR> methods
2022-01-15 00:52:44 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com)
2022-01-15 00:52:44 +0100Constraintegic(~DundiDund@ppp-212-114-229-73.dynamic.mnet-online.de) (Ping timeout: 250 seconds)
2022-01-15 00:53:56 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection)
2022-01-15 00:54:02 +0100red-snail(~snail@static.151.210.203.116.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in)
2022-01-15 00:54:23 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com)
2022-01-15 00:54:25 +0100DNH(~DNH@2a02:8108:1100:16d8:b0c0:5871:210d:15db) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-15 00:54:51 +0100red-snail(~snail@static.151.210.203.116.clients.your-server.de)
2022-01-15 00:55:26 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection)
2022-01-15 00:55:39 +0100dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.4)
2022-01-15 00:55:42 +0100 <Athas> Is it right that stackage nightly still isn't on aeson 2?
2022-01-15 00:55:50 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com)
2022-01-15 00:58:35 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-15 00:58:35 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-15 00:58:35 +0100wroathe(~wroathe@user/wroathe)
2022-01-15 00:58:37 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2022-01-15 00:58:40 +0100 <geekosaur> EvanR, it doesn't need them, the "superclasses" provide them
2022-01-15 00:59:17 +0100`2jt(~jtomas@10.red-83-58-228.dynamicip.rima-tde.net) (Ping timeout: 256 seconds)
2022-01-15 00:59:51 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2022-01-15 01:00:49 +0100xsperry(~xs@user/xsperry) (Ping timeout: 256 seconds)
2022-01-15 01:01:33 +0100jespada(~jespada@87.74.36.188) (Ping timeout: 256 seconds)
2022-01-15 01:01:33 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 01:02:19 +0100 <EvanR> so it's just like a shorthand class
2022-01-15 01:02:46 +0100 <monochrom> MonadRWS is one of those "aliases" so you don't have to spell out "(MonadState ..., MonadWriter..., MonadReader...)
2022-01-15 01:02:50 +0100 <monochrom> Yeah
2022-01-15 01:03:33 +0100jespada(~jespada@87.74.36.188)
2022-01-15 01:03:34 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2022-01-15 01:03:56 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection)
2022-01-15 01:04:20 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com)
2022-01-15 01:04:23 +0100 <Inst> oh, so that's how you do typeclass aliases in Haskell
2022-01-15 01:04:37 +0100neurocyte091709(~neurocyte@IP-212232084012.dynamic.medianet-world.de)
2022-01-15 01:04:37 +0100neurocyte091709(~neurocyte@IP-212232084012.dynamic.medianet-world.de) (Changing host)
2022-01-15 01:04:37 +0100neurocyte091709(~neurocyte@user/neurocyte)
2022-01-15 01:04:37 +0100 <monochrom> When the constraint takes 70 columns, people start asking tough questions like "how do I indent a multi-line type sig" and have style guide wars :)
2022-01-15 01:05:20 +0100texasmynsted(~texasmyns@99.96.221.112)
2022-01-15 01:05:45 +0100 <Inst> class Monad m => Join m where
2022-01-15 01:06:36 +0100neurocyte09170(~neurocyte@user/neurocyte) (Ping timeout: 250 seconds)
2022-01-15 01:07:56 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection)
2022-01-15 01:08:20 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com)
2022-01-15 01:08:37 +0100 <hpc> that's why i make it 30 columns
2022-01-15 01:09:04 +0100 <hpc> when the question is "how do i break a meaningful identifier across two lines" programming becomes much more fun
2022-01-15 01:09:14 +0100 <monochrom> hahaha
2022-01-15 01:09:47 +0100 <hpc> someone should make a programming language that has end-of-line hyphenation
2022-01-15 01:10:18 +0100 <geekosaur> long since done. there was a continuation column on old keypunch cards
2022-01-15 01:10:23 +0100 <hpc> also make it not whitespace-sensitive
2022-01-15 01:10:29 +0100 <hpc> then you don't have to worry about formatting your code in latex
2022-01-15 01:10:34 +0100 <geekosaur> now you're talking fortran
2022-01-15 01:11:22 +0100 <geekosaur> where "DO 10 I = 1. 10" does something you did not intend
2022-01-15 01:11:26 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection)
2022-01-15 01:11:57 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com)
2022-01-15 01:12:56 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection)
2022-01-15 01:13:27 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com)
2022-01-15 01:14:27 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection)
2022-01-15 01:14:53 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com)
2022-01-15 01:15:01 +0100euandreh(~euandreh@2804:14c:33:9fe5:877b:86ff:8e37:7e9b) (Ping timeout: 240 seconds)
2022-01-15 01:19:38 +0100alx741(~alx741@157.100.93.160)
2022-01-15 01:20:36 +0100 <hpc> there's an ID 10 T joke in there somewhere
2022-01-15 01:23:16 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-01-15 01:24:52 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 01:28:30 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-15 01:29:17 +0100biog(~user1@static.39.160.132.142.clients.your-server.de) (Quit: ZZZzzz…)
2022-01-15 01:30:27 +0100 <EvanR> > sort "DO 10 I = 1. 10"
2022-01-15 01:30:29 +0100 <lambdabot> " .00111=DIO"
2022-01-15 01:30:49 +0100 <EvanR> or a bad dick joke
2022-01-15 01:32:26 +0100 <geekosaur> why did I initially misread that as "bad dad joke"?
2022-01-15 01:32:53 +0100fjmorazan(~quassel@user/fjmorazan) (Quit: fjmorazan)
2022-01-15 01:33:06 +0100 <EvanR> a bat dad joke would be better
2022-01-15 01:33:23 +0100fjmorazan(~quassel@user/fjmorazan)
2022-01-15 01:41:42 +0100alx741(~alx741@157.100.93.160)
2022-01-15 01:42:36 +0100hololeap(~hololeap@user/hololeap) (Remote host closed the connection)
2022-01-15 01:44:05 +0100justsomeguy(~justsomeg@user/justsomeguy)
2022-01-15 01:44:56 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection)
2022-01-15 01:45:45 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com)
2022-01-15 01:46:54 +0100Inst(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 250 seconds)
2022-01-15 01:47:56 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection)
2022-01-15 01:48:21 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com)
2022-01-15 01:49:37 +0100biog(~user1@static.39.160.132.142.clients.your-server.de)
2022-01-15 01:49:56 +0100mvk(~mvk@2607:fea8:5cdd:f000::55f8)
2022-01-15 01:50:48 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 01:50:55 +0100mud(~mud@user/kadoban)
2022-01-15 01:53:37 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com) (Remote host closed the connection)
2022-01-15 01:53:48 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com)
2022-01-15 01:59:47 +0100DNH(~DNH@2a02:8108:1100:16d8:b0c0:5871:210d:15db)
2022-01-15 02:00:37 +0100jgeerds_(~jgeerds@55d4af63.access.ecotel.net) (Ping timeout: 240 seconds)
2022-01-15 02:03:07 +0100simpleauthority(~simpleaut@user/simpleauthority) (Quit: ZNC 1.8.2 - https://znc.in)
2022-01-15 02:03:39 +0100notzmv(~zmv@user/notzmv)
2022-01-15 02:03:55 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-01-15 02:04:37 +0100simpleauthority(~simpleaut@user/simpleauthority)
2022-01-15 02:05:27 +0100khumba(~khumba@user/khumba)
2022-01-15 02:07:09 +0100Inst(~delicacie@2601:6c4:4080:3f80:f860:6cdd:6a70:803a)
2022-01-15 02:08:07 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com) (Quit: Leaving)
2022-01-15 02:08:18 +0100slack1256(~slack1256@191.126.99.209) (Remote host closed the connection)
2022-01-15 02:09:14 +0100alx741(~alx741@157.100.93.160)
2022-01-15 02:10:22 +0100xsperry(~xs@user/xsperry)
2022-01-15 02:12:23 +0100euandreh(~euandreh@2804:14c:33:9fe5:dbd9:529d:8dc9:86b3)
2022-01-15 02:15:31 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-15 02:15:31 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-15 02:15:31 +0100wroathe(~wroathe@user/wroathe)
2022-01-15 02:17:56 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-01-15 02:21:08 +0100justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 250 seconds)
2022-01-15 02:22:20 +0100DNH(~DNH@2a02:8108:1100:16d8:b0c0:5871:210d:15db) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-15 02:22:20 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 02:24:41 +0100xsperry(~xs@user/xsperry) (Ping timeout: 256 seconds)
2022-01-15 02:27:13 +0100 <EvanR> so if I have a big expr whose type has 1 type variable in ghci
2022-01-15 02:27:43 +0100 <EvanR> and I can't evaluate it until I choose a type that has a Monoid instance
2022-01-15 02:27:54 +0100 <EvanR> and I have type applications enabled
2022-01-15 02:28:51 +0100xsperry(~xs@user/xsperry)
2022-01-15 02:29:02 +0100 <EvanR> nvm I'll just look up the type applications cyclopedia
2022-01-15 02:29:43 +0100 <EvanR> k it only works on functions
2022-01-15 02:30:23 +0100teehemkay__(sid14792@id-14792.lymington.irccloud.com)
2022-01-15 02:30:25 +0100caasih_(sid13241@id-13241.ilkley.irccloud.com)
2022-01-15 02:30:25 +0100FragByte_(~christian@user/fragbyte)
2022-01-15 02:30:25 +0100b20n_(sid115913@id-115913.uxbridge.irccloud.com)
2022-01-15 02:30:25 +0100rtpg_(sid443069@id-443069.ilkley.irccloud.com)
2022-01-15 02:30:26 +0100wallymathieu_(uid533252@id-533252.uxbridge.irccloud.com)
2022-01-15 02:30:26 +0100davetapley_(sid666@id-666.uxbridge.irccloud.com)
2022-01-15 02:30:26 +0100pjlsergeant_(sid143467@id-143467.hampstead.irccloud.com)
2022-01-15 02:30:26 +0100degraafk_(sid71464@id-71464.lymington.irccloud.com)
2022-01-15 02:30:26 +0100tnks_(sid412124@id-412124.helmsley.irccloud.com)
2022-01-15 02:30:28 +0100ehamberg_(sid18208@id-18208.hampstead.irccloud.com)
2022-01-15 02:30:28 +0100mcfilib_(sid302703@user/mcfilib)
2022-01-15 02:30:28 +0100pepeiborra_(sid443799@id-443799.ilkley.irccloud.com)
2022-01-15 02:30:29 +0100lightandlight_(sid135476@id-135476.helmsley.irccloud.com)
2022-01-15 02:30:29 +0100edmundnoble_(sid229620@id-229620.helmsley.irccloud.com)
2022-01-15 02:30:31 +0100_0x47__(sid508683@id-508683.tinside.irccloud.com)
2022-01-15 02:30:59 +0100mncheckm(~mncheck@193.224.205.254)
2022-01-15 02:31:49 +0100MasseR4(~MasseR@51.15.143.128)
2022-01-15 02:32:01 +0100lisq_(~quassel@lis.moe)
2022-01-15 02:32:16 +0100cpape``(~user@2a01:4f9:c010:632d::1)
2022-01-15 02:32:42 +0100ajb(~ajb@cupid.whatbox.ca)
2022-01-15 02:32:44 +0100loonycyborg_(~loonycybo@chantal.wesnoth.org)
2022-01-15 02:32:47 +0100haskl[error](~haskl@user/haskl)
2022-01-15 02:32:49 +0100vjok1(~vjoki@2a00:d880:3:1::fea1:9ae)
2022-01-15 02:32:50 +0100codedmart(codedmart@2600:3c01::f03c:92ff:fefe:8511)
2022-01-15 02:32:52 +0100dragestil_(~znc@user/dragestil)
2022-01-15 02:33:18 +0100xb0o2(~xb0o2@user/xb0o2) (Quit: Client closed)
2022-01-15 02:33:20 +0100nonzen_(~nonzen@user/nonzen)
2022-01-15 02:34:06 +0100Arsen_(arsen@managarm/dev/Arsen)
2022-01-15 02:34:30 +0100riatre(~quassel@2001:310:6000:f::5198:1)
2022-01-15 02:34:40 +0100bah_(~bah@l1.tel)
2022-01-15 02:34:53 +0100Guest4269(~mal@ns2.wyrd.be)
2022-01-15 02:35:02 +0100AWizzArd_(~code@gehrels.uberspace.de)
2022-01-15 02:35:03 +0100hpc_(~juzz@ip98-169-35-13.dc.dc.cox.net)
2022-01-15 02:35:24 +0100kronicma1(user73386@neotame.csclub.uwaterloo.ca)
2022-01-15 02:35:30 +0100some02(~cat@h-98-128-128-173.A351.priv.bahnhof.se)
2022-01-15 02:36:35 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Ping timeout: 256 seconds)
2022-01-15 02:36:55 +0100uroboros(~ouroboros@user/ouroboros)
2022-01-15 02:37:51 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-01-15 02:37:53 +0100dhil(~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net) (Ping timeout: 256 seconds)
2022-01-15 02:38:52 +0100PHO`_(~pho@akari.cielonegro.org)
2022-01-15 02:39:04 +0100caasih(sid13241@id-13241.ilkley.irccloud.com) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100lightandlight(sid135476@id-135476.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100teehemkay(sid14792@id-14792.lymington.irccloud.com) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100pjlsergeant(sid143467@id-143467.hampstead.irccloud.com) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100mcfilib(sid302703@user/mcfilib) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100b20n(sid115913@id-115913.uxbridge.irccloud.com) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100ehamberg(sid18208@id-18208.hampstead.irccloud.com) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100pepeiborra(sid443799@id-443799.ilkley.irccloud.com) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100PHO`(~pho@akari.cielonegro.org) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100vjoki(~vjoki@2a00:d880:3:1::fea1:9ae) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100_0x47_(sid508683@id-508683.tinside.irccloud.com) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100codedmart_(codedmart@2600:3c01::f03c:92ff:fefe:8511) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100degraafk(sid71464@id-71464.lymington.irccloud.com) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100davetapley(sid666@id-666.uxbridge.irccloud.com) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100edmundnoble(sid229620@id-229620.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100tnks(sid412124@id-412124.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100rtpg(sid443069@id-443069.ilkley.irccloud.com) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100wallymathieu(uid533252@id-533252.uxbridge.irccloud.com) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100APic(apic@apic.name) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100lisq(~quassel@lis.moe) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100loonycyborg(~loonycybo@wesnoth/developer/loonycyborg) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100jakalx(~jakalx@base.jakalx.net) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100haskl(~haskl@user/haskl) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100ajb_(~ajb@cupid.whatbox.ca) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100bah(~bah@l1.tel) (Ping timeout: 240 seconds)
2022-01-15 02:39:04 +0100domcornloan(~mike@user/feetwind) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100cpape`(~user@2a01:4f9:c010:632d::1) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100FragByte(~christian@user/fragbyte) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100ParsaAlizadeh[m](~lizadehma@2001:470:69fc:105::1:65a4) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100AWizzArd(~code@gehrels.uberspace.de) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100Deide(~deide@user/deide) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100jesser[m](~jessermat@2001:470:69fc:105::d5ae) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100smichel17[m](~smichel17@2001:470:69fc:105::2d32) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100fcortesi(~fcortesi@2001:470:69fc:105::f3a9) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100justosophy[m](~justosoph@2001:470:69fc:105::572f) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100fgaz(~fgaz@2001:470:69fc:105::842) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100Artem[m](~artemtype@2001:470:69fc:105::75b) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100Arathorn(~arathorn@2001:470:69fc:105::1f) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100|beowulf|(1000@sourcemage/mage/beowulf) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100ouroboros(~ouroboros@user/ouroboros) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100lieven(~mal@ns2.wyrd.be) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100smunix(~smunix@static.26.70.12.49.clients.your-server.de) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100tureba(~tureba@tureba.org) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100hpc(~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100guibou(~guibou@mail.fmap.fr) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100kronicmage(user75299@neotame.csclub.uwaterloo.ca) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100Arsen(arsen@managarm/dev/Arsen) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100riatre_(~quassel@2001:310:6000:f::5198:1) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100dragestil(~znc@user/dragestil) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100MasseR(~MasseR@51.15.143.128) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100cocreature(~moritz@2a03:b0c0:3:d0::c8:f001) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100martin02(~silas@2001:4ca0:0:fe00:0:5efe:a96:1bc1) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100Flow(~none@gentoo/developer/flow) (Ping timeout: 240 seconds)
2022-01-15 02:39:05 +0100mncheck(~mncheck@193.224.205.254) (Ping timeout: 240 seconds)
2022-01-15 02:39:06 +0100nonzen(~nonzen@user/nonzen) (Ping timeout: 240 seconds)
2022-01-15 02:39:06 +0100sudden(~cat@user/sudden) (Ping timeout: 240 seconds)
2022-01-15 02:39:06 +0100alp(~alp@mail.fmap.fr) (Ping timeout: 240 seconds)
2022-01-15 02:39:06 +0100pjlsergeant_pjlsergeant
2022-01-15 02:39:06 +0100teehemkay__teehemkay
2022-01-15 02:39:06 +0100b20n_b20n
2022-01-15 02:39:06 +0100vjok1vjoki
2022-01-15 02:39:06 +0100degraafk_degraafk
2022-01-15 02:39:06 +0100tnks_tnks
2022-01-15 02:39:06 +0100caasih_caasih
2022-01-15 02:39:06 +0100lightandlight_lightandlight
2022-01-15 02:39:06 +0100ehamberg_ehamberg
2022-01-15 02:39:06 +0100pepeiborra_pepeiborra
2022-01-15 02:39:06 +0100mcfilib_mcfilib
2022-01-15 02:39:06 +0100FragByte_FragByte
2022-01-15 02:39:06 +0100_0x47___0x47_
2022-01-15 02:39:06 +0100edmundnoble_edmundnoble
2022-01-15 02:39:06 +0100dragestil_dragestil
2022-01-15 02:39:06 +0100davetapley_davetapley
2022-01-15 02:39:06 +0100rtpg_rtpg
2022-01-15 02:39:06 +0100wallymathieu_wallymathieu
2022-01-15 02:39:07 +0100uroborosouroboros
2022-01-15 02:39:07 +0100MasseR4MasseR
2022-01-15 02:39:17 +0100lisq_(~quassel@lis.moe) (Quit: lisq_)
2022-01-15 02:39:30 +0100lisq(~quassel@lis.moe)
2022-01-15 02:40:52 +0100alx741(~alx741@157.100.93.160)
2022-01-15 02:42:15 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds)
2022-01-15 02:42:49 +0100hpc_(~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 256 seconds)
2022-01-15 02:43:31 +0100APic(apic@apic.name)
2022-01-15 02:44:20 +0100hpc(~juzz@ip98-169-35-13.dc.dc.cox.net)
2022-01-15 02:44:42 +0100AWizzArd_AWizzArd
2022-01-15 02:45:00 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 02:45:19 +0100AWizzArd(~code@gehrels.uberspace.de) (Changing host)
2022-01-15 02:45:19 +0100AWizzArd(~code@user/awizzard)
2022-01-15 02:45:21 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-15 02:45:46 +0100xsperry(~xs@user/xsperry) ()
2022-01-15 02:45:58 +0100martin02(~silas@141.84.69.76)
2022-01-15 02:46:00 +0100xcmw(~textual@2603-6011-2200-f103-41a9-a2d8-3ebe-048b.res6.spectrum.com)
2022-01-15 02:46:02 +0100|beowulf|(1000@gabilgathol.bandrate.org)
2022-01-15 02:46:14 +0100domcornloan(~mike@user/feetwind)
2022-01-15 02:46:18 +0100cocreature(~moritz@2a03:b0c0:3:d0::c8:f001)
2022-01-15 02:46:22 +0100xsperry(~xs@user/xsperry)
2022-01-15 02:46:26 +0100|beowulf|Guest8449
2022-01-15 02:46:54 +0100tureba(~tureba@tureba.org)
2022-01-15 02:47:03 +0100Flow(~none@gentoo/developer/flow)
2022-01-15 02:47:31 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2022-01-15 02:47:35 +0100jesser[m](~jessermat@2001:470:69fc:105::d5ae)
2022-01-15 02:47:55 +0100jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 256 seconds)
2022-01-15 02:48:50 +0100justosophy[m](~justosoph@2001:470:69fc:105::572f)
2022-01-15 02:49:09 +0100Deide(~deide@user/deide)
2022-01-15 02:49:16 +0100smichel17[m](~smichel17@2001:470:69fc:105::2d32)
2022-01-15 02:49:21 +0100Artem[m](~artemtype@2001:470:69fc:105::75b)
2022-01-15 02:49:24 +0100Arathorn(~arathorn@2001:470:69fc:105::1f)
2022-01-15 02:49:29 +0100jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com)
2022-01-15 02:49:31 +0100Jing(~hedgehog@115.207.57.60)
2022-01-15 02:49:40 +0100fcortesi(~fcortesi@2001:470:69fc:105::f3a9)
2022-01-15 02:50:07 +0100Jing(~hedgehog@115.207.57.60) (Client Quit)
2022-01-15 02:50:35 +0100ParsaAlizadeh[m](~lizadehma@2001:470:69fc:105::1:65a4)
2022-01-15 02:50:56 +0100fgaz(~fgaz@2001:470:69fc:105::842)
2022-01-15 02:52:05 +0100vysn(~vysn@user/vysn)
2022-01-15 02:55:33 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-01-15 02:56:01 +0100 <xcmw> Is there a comprehensive explanation of how HLS works?
2022-01-15 02:56:28 +0100 <xcmw> Not how to use HLS, but how it is designed.
2022-01-15 02:56:38 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-01-15 03:00:30 +0100 <ephemient> % ([] @(), [] @Char) -- EvanR: TypeApplications isn't just for functions
2022-01-15 03:00:30 +0100 <yahb> ephemient: ([],"")
2022-01-15 03:00:52 +0100 <EvanR> :t ('c', [])
2022-01-15 03:00:53 +0100 <lambdabot> (Char, [a])
2022-01-15 03:01:00 +0100 <EvanR> % :t ('c', [])
2022-01-15 03:01:00 +0100 <yahb> EvanR: (Char, [a])
2022-01-15 03:01:15 +0100 <EvanR> % :t ('c', []) @Int
2022-01-15 03:01:15 +0100 <yahb> EvanR: ; <interactive>:1:1: error:; * Cannot apply expression of type `(Char, [a0])'; to a visible type argument `Int'; * In the expression: ('c', []) @Int
2022-01-15 03:01:29 +0100 <EvanR> was my problem
2022-01-15 03:02:11 +0100 <EvanR> however, [] *is* a function right? xD
2022-01-15 03:02:23 +0100 <EvanR> oh, no
2022-01-15 03:03:37 +0100euandreh(~euandreh@2804:14c:33:9fe5:dbd9:529d:8dc9:86b3) (Ping timeout: 240 seconds)
2022-01-15 03:04:02 +0100 <ephemient> > (('c',[]) :: forall a. (Char, [a])) @Int
2022-01-15 03:04:03 +0100 <lambdabot> <hint>:1:37: error: parse error on input ‘@’
2022-01-15 03:04:10 +0100 <ephemient> % (('c',[]) :: forall a. (Char, [a])) @Int
2022-01-15 03:04:10 +0100 <yahb> ephemient: ('c',[])
2022-01-15 03:04:34 +0100 <EvanR> oh dang... so there is a difference between
2022-01-15 03:04:43 +0100 <EvanR> (Char,[a]) and forall a . (Char, [a])
2022-01-15 03:05:01 +0100 <ephemient> the bad thing about typeapplications is it's sensitive to how the type is spelled
2022-01-15 03:06:03 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2022-01-15 03:08:45 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-15 03:09:20 +0100califax-(~califax@user/califx)
2022-01-15 03:13:00 +0100califax(~califax@user/califx) (Ping timeout: 276 seconds)
2022-01-15 03:13:00 +0100califax-califax
2022-01-15 03:14:04 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-01-15 03:14:18 +0100califax(~califax@user/califx)
2022-01-15 03:14:22 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2022-01-15 03:14:33 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-01-15 03:18:03 +0100euandreh(~euandreh@2804:14c:33:9fe5:e9b8:ca94:422e:6f77)
2022-01-15 03:18:15 +0100lavaman(~lavaman@98.38.249.169)
2022-01-15 03:18:34 +0100kupi(uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-01-15 03:19:41 +0100mmhat(~mmh@55d4708c.access.ecotel.net) (Quit: WeeChat 3.4)
2022-01-15 03:21:09 +0100burnsidesLlama(~burnsides@dhcp168-039.wadham.ox.ac.uk) (Remote host closed the connection)
2022-01-15 03:21:41 +0100burnsidesLlama(~burnsides@client-8-70.eduroam.oxuni.org.uk)
2022-01-15 03:22:40 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2022-01-15 03:22:40 +0100mikoto-chan(~mikoto-ch@194.157.16.89) (Ping timeout: 250 seconds)
2022-01-15 03:25:43 +0100neurocyte0917099(~neurocyte@IP-185189140032.dynamic.medianet-world.de)
2022-01-15 03:25:43 +0100neurocyte0917099(~neurocyte@IP-185189140032.dynamic.medianet-world.de) (Changing host)
2022-01-15 03:25:43 +0100neurocyte0917099(~neurocyte@user/neurocyte)
2022-01-15 03:26:02 +0100burnsidesLlama(~burnsides@client-8-70.eduroam.oxuni.org.uk) (Ping timeout: 240 seconds)
2022-01-15 03:26:08 +0100xff0x(~xff0x@2001:1a81:5253:5900:d5e3:e4eb:c9c5:42b2) (Ping timeout: 250 seconds)
2022-01-15 03:26:33 +0100lavaman(~lavaman@98.38.249.169)
2022-01-15 03:26:57 +0100Inst(~delicacie@2601:6c4:4080:3f80:f860:6cdd:6a70:803a) (Ping timeout: 240 seconds)
2022-01-15 03:27:37 +0100neurocyte091709(~neurocyte@user/neurocyte) (Ping timeout: 240 seconds)
2022-01-15 03:27:37 +0100neurocyte0917099neurocyte091709
2022-01-15 03:28:05 +0100xff0x(~xff0x@2001:1a81:5294:3100:2847:70a9:c956:fedc)
2022-01-15 03:28:17 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 240 seconds)
2022-01-15 03:28:32 +0100TonyStone(~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Remote host closed the connection)
2022-01-15 03:29:12 +0100Inst(~delicacie@2601:6c4:4080:3f80:6950:167e:fc87:eed1)
2022-01-15 03:31:04 +0100vonfry(~user@113.74.134.52)
2022-01-15 03:32:59 +0100Topsi(~Tobias@dyndsl-095-033-018-101.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2022-01-15 03:36:13 +0100kn07_(~kn07_@86.121.166.134) (Quit: Leaving)
2022-01-15 03:49:59 +0100SummerSonw(~The_viole@203.77.49.232)
2022-01-15 03:50:38 +0100 <Inst> wow, activating no implicit prelude is fun
2022-01-15 03:51:06 +0100biog(~user1@static.39.160.132.142.clients.your-server.de) (Quit: ZZZzzz…)
2022-01-15 03:52:43 +0100biog(~user1@static.39.160.132.142.clients.your-server.de)
2022-01-15 03:53:49 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 256 seconds)
2022-01-15 03:56:02 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 250 seconds)
2022-01-15 03:57:32 +0100biog(~user1@static.39.160.132.142.clients.your-server.de) (Ping timeout: 240 seconds)
2022-01-15 03:57:47 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2022-01-15 03:57:57 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 240 seconds)
2022-01-15 03:58:58 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-15 04:02:00 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-15 04:07:25 +0100wagle(~wagle@quassel.wagle.io) (Ping timeout: 240 seconds)
2022-01-15 04:07:47 +0100wagle(~wagle@quassel.wagle.io)
2022-01-15 04:08:26 +0100 <EvanR> without Prelude how can you write Haskell Poetry
2022-01-15 04:09:33 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480::41)
2022-01-15 04:12:48 +0100Kaipi(~Kaiepi@156.34.47.253) (Read error: Connection reset by peer)
2022-01-15 04:12:50 +0100Merfont(~Kaiepi@156.34.47.253)
2022-01-15 04:14:27 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep)
2022-01-15 04:16:26 +0100Merfont(~Kaiepi@156.34.47.253) (Remote host closed the connection)
2022-01-15 04:16:34 +0100stiell_(~stiell@gateway/tor-sasl/stiell)
2022-01-15 04:16:55 +0100Merfont(~Kaiepi@156.34.47.253)
2022-01-15 04:20:36 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 276 seconds)
2022-01-15 04:22:56 +0100jeremyn(~jeremyn@098-147-212-046.res.spectrum.com)
2022-01-15 04:23:45 +0100xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-01-15 04:29:45 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2022-01-15 04:31:12 +0100TonyStone(~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com)
2022-01-15 04:32:11 +0100khumba(~khumba@user/khumba) ()
2022-01-15 04:32:35 +0100lavaman(~lavaman@98.38.249.169)
2022-01-15 04:32:53 +0100mud(~mud@user/kadoban) (Remote host closed the connection)
2022-01-15 04:36:46 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2022-01-15 04:38:30 +0100td_(~td@94.134.91.30) (Ping timeout: 250 seconds)
2022-01-15 04:40:25 +0100td_(~td@muedsl-82-207-238-062.citykom.de)
2022-01-15 04:49:54 +0100pavonia(~user@user/siracusa)
2022-01-15 04:50:34 +0100vysn(~vysn@user/vysn) (Quit: WeeChat 3.3)
2022-01-15 04:51:16 +0100vysn(~vysn@user/vysn)
2022-01-15 04:51:49 +0100vysn(~vysn@user/vysn) (Client Quit)
2022-01-15 04:55:54 +0100mud(~mud@user/kadoban)
2022-01-15 04:58:16 +0100xcmw(~textual@2603-6011-2200-f103-41a9-a2d8-3ebe-048b.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-15 05:00:44 +0100yauhsien_(~yauhsien@61-231-24-192.dynamic-ip.hinet.net)
2022-01-15 05:00:44 +0100yauhsien(~yauhsien@61-231-24-192.dynamic-ip.hinet.net) (Read error: Connection reset by peer)
2022-01-15 05:05:06 +0100vysn(~vysn@user/vysn)
2022-01-15 05:07:09 +0100abrantesasf(abrantesas@gateway/vpn/protonvpn/abrantesasf)
2022-01-15 05:08:50 +0100lavaman(~lavaman@98.38.249.169)
2022-01-15 05:10:52 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-15 05:12:30 +0100vonfry(~user@113.74.134.52) (Remote host closed the connection)
2022-01-15 05:13:09 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-01-15 05:13:10 +0100TonyStone(~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) (Quit: Leaving)
2022-01-15 05:13:37 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480::41) (Ping timeout: 240 seconds)
2022-01-15 05:19:57 +0100vglfr(~vglfr@46.96.174.100) (Ping timeout: 256 seconds)
2022-01-15 05:28:50 +0100little_mac(~little_ma@2601:410:4300:3ce0:e879:d91e:f7ac:a5c4)
2022-01-15 05:28:55 +0100shapr(~user@2601:7c0:c37c:46d0:c5e9:5422:b6fa:e10b) (Remote host closed the connection)
2022-01-15 05:29:08 +0100shapr(~user@2601:7c0:c37c:46d0:c5e9:5422:b6fa:e10b)
2022-01-15 05:38:25 +0100abrantesasf(abrantesas@gateway/vpn/protonvpn/abrantesasf) (Remote host closed the connection)
2022-01-15 05:44:32 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-01-15 05:56:36 +0100shapr(~user@2601:7c0:c37c:46d0:c5e9:5422:b6fa:e10b) (Remote host closed the connection)
2022-01-15 05:56:49 +0100shapr(~user@2601:7c0:c37c:46d0:c5e9:5422:b6fa:e10b)
2022-01-15 06:00:07 +0100random_(~random@185.219.68.251)
2022-01-15 06:00:22 +0100deadmarshal(~deadmarsh@95.38.231.124)
2022-01-15 06:03:01 +0100random__(~random@185.219.68.251) (Ping timeout: 256 seconds)
2022-01-15 06:03:55 +0100spaceseller(~spacesell@31.147.205.13)
2022-01-15 06:05:15 +0100spaceseller(~spacesell@31.147.205.13) (Remote host closed the connection)
2022-01-15 06:06:32 +0100ksqsf(~user@2001:da8:d800:611:4986:699c:1eb2:95ac)
2022-01-15 06:19:02 +0100swistak(~swistak@185.21.216.141) (Ping timeout: 250 seconds)
2022-01-15 06:19:15 +0100mud(~mud@user/kadoban) (Quit: quit)
2022-01-15 06:25:17 +0100jrm(~jrm@156.34.249.199) (Ping timeout: 240 seconds)
2022-01-15 06:25:38 +0100random__(~random@185.219.68.251)
2022-01-15 06:28:31 +0100random_(~random@185.219.68.251) (Ping timeout: 256 seconds)
2022-01-15 06:28:49 +0100lavaman(~lavaman@98.38.249.169)
2022-01-15 06:31:07 +0100swistak(~swistak@185.21.216.141)
2022-01-15 06:33:37 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-01-15 06:39:24 +0100cheater(~Username@user/cheater) (Ping timeout: 250 seconds)
2022-01-15 06:42:54 +0100cheater(~Username@user/cheater)
2022-01-15 06:44:40 +0100yauhsien_(~yauhsien@61-231-24-192.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-01-15 06:45:13 +0100yauhsien(~yauhsien@61-231-24-192.dynamic-ip.hinet.net)
2022-01-15 06:45:58 +0100fef(~thedawn@user/thedawn)
2022-01-15 06:47:47 +0100deadmarshal(~deadmarsh@95.38.231.124) (Ping timeout: 256 seconds)
2022-01-15 06:54:23 +0100fef(~thedawn@user/thedawn) (Quit: Leaving)
2022-01-15 06:55:10 +0100yauhsien(~yauhsien@61-231-24-192.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-01-15 06:55:14 +0100deadmarshal(~deadmarsh@95.38.231.124)
2022-01-15 06:55:43 +0100yauhsien(~yauhsien@61-231-24-192.dynamic-ip.hinet.net)
2022-01-15 07:00:12 +0100yauhsien(~yauhsien@61-231-24-192.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
2022-01-15 07:00:45 +0100yauhsien(~yauhsien@61-231-24-192.dynamic-ip.hinet.net)
2022-01-15 07:03:17 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-01-15 07:05:37 +0100random_(~random@185.219.68.251)
2022-01-15 07:08:02 +0100random__(~random@185.219.68.251) (Ping timeout: 240 seconds)
2022-01-15 07:13:57 +0100antony(~The_viole@203.77.49.232)
2022-01-15 07:15:01 +0100antony(~The_viole@203.77.49.232) (Client Quit)
2022-01-15 07:17:32 +0100SummerSonw(~The_viole@203.77.49.232) (Ping timeout: 240 seconds)
2022-01-15 07:18:49 +0100drdo(~drdo@144.172.69.89) (Quit: Ping timeout (120 seconds))
2022-01-15 07:19:06 +0100drdo(~drdo@roach0.drdo.eu)
2022-01-15 07:20:00 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
2022-01-15 07:21:20 +0100slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2022-01-15 07:26:20 +0100yauhsien(~yauhsien@61-231-24-192.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-01-15 07:26:52 +0100yauhsien(~yauhsien@61-231-24-192.dynamic-ip.hinet.net)
2022-01-15 07:32:51 +0100little_mac(~little_ma@2601:410:4300:3ce0:e879:d91e:f7ac:a5c4) (Remote host closed the connection)
2022-01-15 07:33:41 +0100little_mac(~little_ma@2601:410:4300:3ce0:8996:1172:d4fe:5f94)
2022-01-15 07:34:37 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 240 seconds)
2022-01-15 07:35:24 +0100yauhsien(~yauhsien@61-231-24-192.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-01-15 07:39:17 +0100Techcable(~Techcable@168.235.93.147) (Ping timeout: 240 seconds)
2022-01-15 07:39:38 +0100ksqsf(~user@2001:da8:d800:611:4986:699c:1eb2:95ac) (Ping timeout: 250 seconds)
2022-01-15 07:46:29 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-15 08:01:33 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2022-01-15 08:02:36 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2022-01-15 08:04:57 +0100yaroot(~yaroot@2409:12:ac0:2300:680e:dbff:fe1e:4953) (Ping timeout: 240 seconds)
2022-01-15 08:05:32 +0100yaroot(~yaroot@2409:12:ac0:2300:680e:dbff:fe1e:4953)
2022-01-15 08:11:09 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-15 08:11:09 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-15 08:11:09 +0100wroathe(~wroathe@user/wroathe)
2022-01-15 08:12:08 +0100random__(~random@185.219.68.251)
2022-01-15 08:14:19 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-01-15 08:14:44 +0100random_(~random@185.219.68.251) (Ping timeout: 250 seconds)
2022-01-15 08:15:32 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-01-15 08:15:36 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2022-01-15 08:15:46 +0100bollu(~bollu@159.65.151.13) (Quit: Ping timeout (120 seconds))
2022-01-15 08:16:07 +0100bollu(~bollu@159.65.151.13)
2022-01-15 08:18:02 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2022-01-15 08:19:05 +0100raym(~raym@user/raym) (Remote host closed the connection)
2022-01-15 08:19:24 +0100raym(~raym@user/raym)
2022-01-15 08:25:51 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-01-15 08:27:44 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-15 08:28:29 +0100akurilin_(uid322841@id-322841.ilkley.irccloud.com) (Quit: Connection closed for inactivity)
2022-01-15 08:28:32 +0100jeremyn_(~jeremyn@098-147-212-046.res.spectrum.com)
2022-01-15 08:29:25 +0100pieguy128_(~pieguy128@bras-base-mtrlpq5031w-grc-35-70-24-248-56.dsl.bell.ca) (Ping timeout: 240 seconds)
2022-01-15 08:29:54 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-01-15 08:31:07 +0100random_(~random@185.219.68.251)
2022-01-15 08:31:29 +0100jeremyn(~jeremyn@098-147-212-046.res.spectrum.com) (Ping timeout: 256 seconds)
2022-01-15 08:32:47 +0100Constraintegic(~DundiDund@ppp-212-114-229-145.dynamic.mnet-online.de)
2022-01-15 08:33:45 +0100random__(~random@185.219.68.251) (Ping timeout: 256 seconds)
2022-01-15 08:33:57 +0100shapr(~user@2601:7c0:c37c:46d0:c5e9:5422:b6fa:e10b) (Ping timeout: 240 seconds)
2022-01-15 08:35:27 +0100deadmarshal(~deadmarsh@95.38.231.124) (Ping timeout: 256 seconds)
2022-01-15 08:38:28 +0100img(~img@user/img)
2022-01-15 08:38:54 +0100vglfr(~vglfr@88.155.50.55)
2022-01-15 08:43:31 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-46-67-70-100-204.dsl.bell.ca)
2022-01-15 08:46:53 +0100jeremyn_(~jeremyn@098-147-212-046.res.spectrum.com) (Quit: Leaving)
2022-01-15 08:47:41 +0100Deep-Thought(~quantum@2001:8003:7937:cf01:485e:bf6c:57df:1e44)
2022-01-15 08:48:19 +0100deadmarshal(~deadmarsh@95.38.231.124)
2022-01-15 08:49:36 +0100Deep-Thought(~quantum@2001:8003:7937:cf01:485e:bf6c:57df:1e44) (Leaving)
2022-01-15 08:55:39 +0100max22-(~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr)
2022-01-15 08:57:30 +0100nunggu(~q@gateway/tor-sasl/nunggu) (Ping timeout: 276 seconds)
2022-01-15 08:58:18 +0100lavaman(~lavaman@98.38.249.169)
2022-01-15 08:59:30 +0100phma(~phma@host-67-44-209-85.hnremote.net) (Read error: Connection reset by peer)
2022-01-15 09:01:00 +0100phma(phma@2001:5b0:215a:8eb8:a1f:83c7:e862:533e)
2022-01-15 09:01:42 +0100little_mac(~little_ma@2601:410:4300:3ce0:8996:1172:d4fe:5f94) (Remote host closed the connection)
2022-01-15 09:02:32 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2022-01-15 09:04:37 +0100nunggu(~q@gateway/tor-sasl/nunggu)
2022-01-15 09:08:57 +0100Techcable(~Techcable@168.235.93.147)
2022-01-15 09:11:51 +0100yauhsien(~yauhsien@61-231-24-192.dynamic-ip.hinet.net)
2022-01-15 09:20:12 +0100bastelfreak(~bastelfre@basteles-bastelknecht.bastelfreak.org)
2022-01-15 09:24:49 +0100Techcable(~Techcable@168.235.93.147) (Remote host closed the connection)
2022-01-15 09:29:21 +0100Techcable(~Techcable@168.235.93.147)
2022-01-15 09:34:19 +0100`2jt(~jtomas@10.red-83-58-228.dynamicip.rima-tde.net)
2022-01-15 09:35:26 +0100Arsen_Arsen
2022-01-15 09:38:42 +0100gehmehgeh(~user@user/gehmehgeh)
2022-01-15 09:46:57 +0100notzmv(~zmv@user/notzmv)
2022-01-15 09:48:43 +0100zincy(~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684)
2022-01-15 09:53:55 +0100a6a45081-2b83(~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507)
2022-01-15 09:56:53 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 256 seconds)
2022-01-15 10:00:17 +0100AlainJourez[m](~sherekahn@2001:470:69fc:105::1:4a71) (Quit: You have been kicked for being idle)
2022-01-15 10:00:17 +0100Ollie[m](~ollieocha@2001:470:69fc:105::41a5) (Quit: You have been kicked for being idle)
2022-01-15 10:00:19 +0100mc47(~mc47@xmonad/TheMC47)
2022-01-15 10:01:45 +0100ouestbillie(~gallup@80.194.85.249)
2022-01-15 10:01:45 +0100ouestbillie(~gallup@80.194.85.249) (Client Quit)
2022-01-15 10:02:29 +0100ksqsf(~user@134.209.106.31)
2022-01-15 10:05:26 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-15 10:07:02 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2022-01-15 10:07:14 +0100_ht(~quassel@82-168-34-160.fixed.kpn.net)
2022-01-15 10:08:16 +0100mastarija(~mastarija@2a05:4f46:e0e:5000:9df5:6d4:ee5d:cc89)
2022-01-15 10:11:27 +0100mastarija(~mastarija@2a05:4f46:e0e:5000:9df5:6d4:ee5d:cc89) (Client Quit)
2022-01-15 10:11:47 +0100kaph(~kaph@net-2-47-208-144.cust.vodafonedsl.it) (Read error: Connection reset by peer)
2022-01-15 10:12:25 +0100atwm(~atwm@19-193-28-81.ftth.cust.kwaoo.net)
2022-01-15 10:14:51 +0100nunggu(~q@gateway/tor-sasl/nunggu) (Ping timeout: 276 seconds)
2022-01-15 10:15:02 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-46-67-70-100-204.dsl.bell.ca) (Ping timeout: 240 seconds)
2022-01-15 10:15:40 +0100atwm(~atwm@19-193-28-81.ftth.cust.kwaoo.net) (Remote host closed the connection)
2022-01-15 10:16:21 +0100nunggu(~q@gateway/tor-sasl/nunggu)
2022-01-15 10:17:39 +0100allbery_b(~geekosaur@xmonad/geekosaur)
2022-01-15 10:17:39 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2022-01-15 10:17:42 +0100allbery_bgeekosaur
2022-01-15 10:17:56 +0100gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2022-01-15 10:18:37 +0100atwm(~atwm@19-193-28-81.ftth.cust.kwaoo.net)
2022-01-15 10:18:39 +0100gehmehgeh(~user@user/gehmehgeh)
2022-01-15 10:19:09 +0100deadmarshal(~deadmarsh@95.38.231.124) (Ping timeout: 256 seconds)
2022-01-15 10:20:52 +0100qeqeqw(~qeqeqw3@2001:861:3a04:e320:31ea:a59b:1c06:51f4)
2022-01-15 10:22:04 +0100da39a3ee5e6b4b0d(~textual@mx-ll-171.5.160-10.dynamic.3bb.co.th)
2022-01-15 10:23:04 +0100da39a3ee5e6b4b0d(~textual@mx-ll-171.5.160-10.dynamic.3bb.co.th) (Client Quit)
2022-01-15 10:25:27 +0100da39a3ee5e6b4b0d(~textual@mx-ll-171.5.160-10.dynamic.3bb.co.th)
2022-01-15 10:27:11 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-45-67-70-24-218.dsl.bell.ca)
2022-01-15 10:30:48 +0100ksqsf(~user@134.209.106.31) (Ping timeout: 250 seconds)
2022-01-15 10:31:30 +0100da39a3ee5e6b4b0d(~textual@mx-ll-171.5.160-10.dynamic.3bb.co.th) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-15 10:31:53 +0100da39a3ee5e6b4b0d(~textual@mx-ll-171.5.160-10.dynamic.3bb.co.th)
2022-01-15 10:33:06 +0100atwm__(~andrew@19-193-28-81.ftth.cust.kwaoo.net)
2022-01-15 10:34:11 +0100deadmarshal(~deadmarsh@95.38.231.124)
2022-01-15 10:34:33 +0100atwm__(~andrew@19-193-28-81.ftth.cust.kwaoo.net) (Client Quit)
2022-01-15 10:35:34 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-45-67-70-24-218.dsl.bell.ca) (Ping timeout: 250 seconds)
2022-01-15 10:35:49 +0100atwm49(~atwm@2606:54c0:2780:c0::40:16)
2022-01-15 10:36:25 +0100atwm(~atwm@19-193-28-81.ftth.cust.kwaoo.net) (Quit: Palaver https://palaverapp.com)
2022-01-15 10:36:42 +0100atwm49atwm
2022-01-15 10:37:18 +0100da39a3ee5e6b4b0d(~textual@mx-ll-171.5.160-10.dynamic.3bb.co.th) (Ping timeout: 250 seconds)
2022-01-15 10:37:27 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-45-67-70-24-130.dsl.bell.ca)
2022-01-15 10:37:28 +0100atwm(~atwm@2606:54c0:2780:c0::40:16) (Client Quit)
2022-01-15 10:37:49 +0100atwm(~atwm@2606:54c0:2780:c0::40:16)
2022-01-15 10:38:25 +0100emad(~emad@102.42.146.250) (Ping timeout: 256 seconds)
2022-01-15 10:38:43 +0100atwm(~atwm@2606:54c0:2780:c0::40:16) (Client Quit)
2022-01-15 10:39:58 +0100atwm(~atwm@19-193-28-81.ftth.cust.kwaoo.net)
2022-01-15 10:42:17 +0100monochrom(trebla@216.138.220.146) (Ping timeout: 252 seconds)
2022-01-15 10:49:24 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2022-01-15 10:50:58 +0100chomwitt(~chomwitt@2a02:587:dc0b:200:12c3:7bff:fe6d:d374)
2022-01-15 10:52:00 +0100Swahili(~Swahili@a95-94-208-187.cpe.netcabo.pt)
2022-01-15 10:55:31 +0100dunj3_dunj3
2022-01-15 10:56:48 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-45-67-70-24-130.dsl.bell.ca) (Ping timeout: 250 seconds)
2022-01-15 10:57:16 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2022-01-15 11:00:42 +0100Jing(~hedgehog@240e:390:7c53:a7e1:dc72:6181:1705:c2cc)
2022-01-15 11:03:55 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-01-15 11:04:32 +0100mmhat(~mmh@55d4d469.access.ecotel.net)
2022-01-15 11:04:36 +0100sim590(~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 250 seconds)
2022-01-15 11:05:23 +0100a6a45081-2b83(~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507) (Remote host closed the connection)
2022-01-15 11:06:00 +0100kspalaiologos(~kspalaiol@user/kspalaiologos)
2022-01-15 11:17:37 +0100sim590(~simon@modemcable090.207-203-24.mc.videotron.ca)
2022-01-15 11:19:48 +0100euouae(~euouae@user/euouae)
2022-01-15 11:20:22 +0100 <euouae> tomsmeding that was an interesting video explaining finger trees! (https://www.youtube.com/watch?v=ip92VMpf_-A) the only part I didn't understand was the explanation of O(1) amortization
2022-01-15 11:21:07 +0100 <euouae> the only example of amortization I understand (from wikipedia) is of dynamic arrays that double their size when needed; it's an O(n) operation required every n steps and thus an average of O(1) (amortized)
2022-01-15 11:21:51 +0100 <euouae> perhaps the paper explains that part better, I should look into it
2022-01-15 11:22:49 +0100 <tomsmeding> euouae: I didn't watch the video, only read the paper at some point; I'm not sure I got the amortisation argument either, but I don't remember well. The paper is well-written though, so perhaps worth a look.
2022-01-15 11:25:56 +0100 <euouae> got it, thanks
2022-01-15 11:30:32 +0100vglfr(~vglfr@88.155.50.55) (Ping timeout: 240 seconds)
2022-01-15 11:30:54 +0100zer0bitz(~zer0bitz@2001:2003:f444:a000:8153:e826:3459:f646) (Read error: Connection reset by peer)
2022-01-15 11:35:48 +0100qeqeqw(~qeqeqw3@2001:861:3a04:e320:31ea:a59b:1c06:51f4) (Ping timeout: 250 seconds)
2022-01-15 11:39:45 +0100zeikuzeta(~zeta@2a01cb0c04a54500f006e2422b3c8b06.ipv6.abo.wanadoo.fr) (Quit: WeeChat 3.4)
2022-01-15 11:40:08 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds)
2022-01-15 11:40:33 +0100epolanski(uid312403@id-312403.helmsley.irccloud.com)
2022-01-15 11:41:12 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2022-01-15 11:42:02 +0100deadmarshal(~deadmarsh@95.38.231.124) (Ping timeout: 240 seconds)
2022-01-15 11:50:34 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2022-01-15 11:51:35 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-01-15 11:52:54 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-01-15 11:53:34 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-01-15 11:54:11 +0100DNH(~DNH@2a02:8108:1100:16d8:b0c0:5871:210d:15db)
2022-01-15 11:55:01 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
2022-01-15 11:55:10 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-01-15 11:55:19 +0100vglfr(~vglfr@88.155.50.55)
2022-01-15 11:55:29 +0100phma(phma@2001:5b0:215a:8eb8:a1f:83c7:e862:533e) (Read error: Connection reset by peer)
2022-01-15 11:56:54 +0100phma(phma@2001:5b0:2172:f858:cd4e:e80c:6117:de1e)
2022-01-15 11:57:27 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao)
2022-01-15 12:01:24 +0100alx741(~alx741@157.100.93.160)
2022-01-15 12:02:00 +0100kuribas(~user@ptr-25vy0i98u111h07lsuf.18120a2.ip6.access.telenet.be)
2022-01-15 12:03:52 +0100pretty_d1(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-01-15 12:04:32 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 240 seconds)
2022-01-15 12:10:24 +0100pretty_d1(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4)
2022-01-15 12:11:19 +0100cosimone(~user@93-44-186-112.ip98.fastwebnet.it)
2022-01-15 12:11:34 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-01-15 12:16:53 +0100dhil(~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net)
2022-01-15 12:17:53 +0100toastloop(~toastloop@user/toastloop)
2022-01-15 12:21:36 +0100 <kuribas> I made a parser combinator in clojure, but without limiting backtracking.
2022-01-15 12:21:51 +0100 <kuribas> Wouldn't that be only a problem if the language is ambiguous?
2022-01-15 12:22:36 +0100teddyc(theodorc@cassarossa.samfundet.no) (Quit: WeeChat 2.3)
2022-01-15 12:23:39 +0100 <tomsmeding> isn't the reason backtracking is avoided at all, usually just performance?
2022-01-15 12:23:53 +0100 <tomsmeding> not having to keep track of where to backtrack to lowers the constant factor
2022-01-15 12:24:09 +0100 <kuribas> well, combinatory explosion is a performance problem.
2022-01-15 12:24:18 +0100 <tomsmeding> assuming the semantics of the parser doesn't change :p
2022-01-15 12:24:35 +0100 <tomsmeding> like, if you parser actually _uses_ backtracking, then you can't just remove support for backtracking from your parser framework
2022-01-15 12:25:08 +0100 <tomsmeding> my first statement was about parser framework implementations, not parsers
2022-01-15 12:25:55 +0100 <kuribas> to get backtracking you need to explicitly enable it with the "try" combinator.
2022-01-15 12:26:03 +0100 <tomsmeding> so, parsec style?
2022-01-15 12:26:08 +0100 <tomsmeding> sounds good
2022-01-15 12:27:06 +0100 <kuribas> no, my parser doesn't need try...
2022-01-15 12:27:12 +0100deadmarshal(~deadmarsh@95.38.231.124)
2022-01-15 12:27:21 +0100 <kuribas> it will backtrack on "choice".
2022-01-15 12:27:37 +0100mvk(~mvk@2607:fea8:5cdd:f000::55f8) (Ping timeout: 240 seconds)
2022-01-15 12:28:21 +0100emad(~emad@156.214.182.157)
2022-01-15 12:28:25 +0100toastloop(~toastloop@user/toastloop) (Quit: Leaving)
2022-01-15 12:28:54 +0100 <kuribas> tomsmeding: right, I made a framework for parsers in clojure.
2022-01-15 12:29:01 +0100 <kuribas> then implemented a parser on top of it.
2022-01-15 12:29:14 +0100 <kuribas> as I found the existing parsers in clojure quite poor.
2022-01-15 12:29:27 +0100kspalaiologos(~kspalaiol@user/kspalaiologos) (Quit: Leaving)
2022-01-15 12:29:35 +0100 <kuribas> dispite multiple sources claiming "instaparse is the best parser library of any language". :-P
2022-01-15 12:29:44 +0100 <euouae> nice
2022-01-15 12:29:54 +0100 <kuribas> makes me wonder what clojure guys smoke :-P
2022-01-15 12:32:51 +0100qeqeqw(~qeqeqw3@2001:861:3a04:e320:31ea:a59b:1c06:51f4)
2022-01-15 12:33:26 +0100teddyc(theodorc@cassarossa.samfundet.no)
2022-01-15 12:35:37 +0100MajorBiscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e)
2022-01-15 12:35:53 +0100 <tomsmeding> kuribas: re your original question about ambiguous languages: there are non-ambiguous languages where you nevertheless need unlimited lookahead (i.e. backtracking) in order to parse them correctly
2022-01-15 12:36:24 +0100 <kuribas> are they pathological?
2022-01-15 12:36:28 +0100 <geekosaur> isn't haskell one of them these days?
2022-01-15 12:37:03 +0100 <tomsmeding> kuribas: haskell, c++ :p
2022-01-15 12:37:16 +0100 <tomsmeding> some might call c++ pathological
2022-01-15 12:37:35 +0100 <tomsmeding> also English
2022-01-15 12:37:35 +0100 <kuribas> I would definitely call c++ pathological :)
2022-01-15 12:39:02 +0100echoreply(~echoreply@45.32.163.16)
2022-01-15 12:39:22 +0100 <tomsmeding> wouldn't those clojure people just be monolingual
2022-01-15 12:39:24 +0100MajorBiscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Client Quit)
2022-01-15 12:39:46 +0100 <tomsmeding> if you don't know better, then what you know is by definition the best
2022-01-15 12:40:54 +0100 <kuribas> maybe they worked with some complicated parser generator in another language.
2022-01-15 12:41:17 +0100 <euouae> or just marketing
2022-01-15 12:41:24 +0100 <euouae> no.1 ... no.1 what?
2022-01-15 12:41:41 +0100 <tomsmeding> "Improved design!"
2022-01-15 12:42:27 +0100toastloop(~toastloop@user/toastloop)
2022-01-15 12:42:28 +0100toastloop(~toastloop@user/toastloop) (Excess Flood)
2022-01-15 12:42:31 +0100SummerSonw(~The_viole@203.77.49.232)
2022-01-15 12:45:04 +0100 <Swahili> Q: Getting started, trying to install Brittany code formatter and it complains about dependency versions. For example "ghc-8.10.7 from stack configuration does not match >=9.0.1 && <9.1". How to install an older version of Brittany so that is compatible to my stack? I've just installed everything through the recommended "ghcup". Thank you!
2022-01-15 12:45:41 +0100 <tomsmeding> Swahili: how area you trying to install brittany?
2022-01-15 12:45:47 +0100 <tomsmeding> s/area/are/
2022-01-15 12:46:02 +0100 <Swahili> tomsmeding: thanks for looking! Via the cli, on macOS as in> stack install brittany
2022-01-15 12:46:30 +0100 <Swahili> https://paste.sh/Tj9CrCkD#kebgByX4GxDlXCDe8FpPUGBf
2022-01-15 12:47:28 +0100 <tomsmeding> seems brittany is not in the stackage repositories, so stack pulls it from hackage directly, and doesn't make an effort to select a working version or something
2022-01-15 12:47:35 +0100 <Swahili> I'd like to stay in ghc version 8.x, as that's what I got by default; and based in my experience, I rather have something stable when learning.
2022-01-15 12:47:37 +0100neurocyte091709(~neurocyte@user/neurocyte) (Ping timeout: 256 seconds)
2022-01-15 12:48:14 +0100 <tomsmeding> Swahili: what is the resolver in your ~/.stack/global-project/stack.yaml ?
2022-01-15 12:48:21 +0100max22-(~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Ping timeout: 250 seconds)
2022-01-15 12:48:28 +0100 <geekosaur> 9.0.2 is stable at this point, but yes, 8.10.7 is still the recommended version
2022-01-15 12:48:35 +0100 <Swahili> tomsmeding: resolver: lts-18.21
2022-01-15 12:49:08 +0100 <Swahili> geekosaur: thanks for mentioning! For a beginner, I'll stick with 8.x, to avoid having to troubleshoot, just in case.
2022-01-15 12:49:26 +0100 <gentauro> finally got the `HLS` + `emacs` combo to work once again (Y) -> https://imgur.com/a/FidqNbA (Apparently it's no longer enough to just to install: `lsp-mode`, `lsp-ui` and `lsp-haskell`)
2022-01-15 12:50:13 +0100 <geekosaur> stack install brittany-0.13.1.2 ?
2022-01-15 12:50:22 +0100 <Swahili> geekosaur: I'll try ;)
2022-01-15 12:50:23 +0100tomsmedingwas typing the same as geekosaur
2022-01-15 12:50:25 +0100neurocyte091709(~neurocyte@IP-185189140032.dynamic.medianet-world.de)
2022-01-15 12:50:25 +0100neurocyte091709(~neurocyte@IP-185189140032.dynamic.medianet-world.de) (Changing host)
2022-01-15 12:50:25 +0100neurocyte091709(~neurocyte@user/neurocyte)
2022-01-15 12:50:29 +0100 <geekosaur> (later versions dropped support for ghc < 9.0)
2022-01-15 12:51:15 +0100 <gentauro> geekosaur: I had issues with `brittany` (not found on `stackage`). What's the deal with that package?
2022-01-15 12:51:17 +0100 <Swahili> @geekosaur @tomsmeding got an error https://paste.sh/l2UrUoa3#Gl7vuRdePjGKbzTKY_j2LdbF
2022-01-15 12:51:17 +0100 <lambdabot> Unknown command, try @list
2022-01-15 12:51:33 +0100 <euouae> gentauro I think for me it works out of the box using doom-emacs
2022-01-15 12:51:46 +0100 <euouae> I could be wrong
2022-01-15 12:51:46 +0100 <Swahili> I'll add the suggested line to the stack.yaml
2022-01-15 12:51:50 +0100 <gentauro> euouae: hmmmm
2022-01-15 12:51:51 +0100 <tomsmeding> Swahili: try adding two lines to that .stack/global-project/stack.yaml file: 'extra-deps:' and '- data-tree-print-0.1.0.2@sha256:d845e99f322df70e0c06d6743bf80336f5918d5423498528beb0593a2afc1703,1620'
2022-01-15 12:52:15 +0100 <tomsmeding> gentauro: what issues? :p
2022-01-15 12:52:31 +0100 <gentauro> tomsmeding: like "not existing" :P
2022-01-15 12:52:31 +0100 <tomsmeding> it's indeed not on stackage, so stack just pulls the newest version from hackage, which predictably fails
2022-01-15 12:52:40 +0100 <gentauro> xD
2022-01-15 12:52:40 +0100 <tomsmeding> that's an issue with stackage, not brittany
2022-01-15 12:52:42 +0100 <tomsmeding> use cabal :p
2022-01-15 12:53:03 +0100 <geekosaur> gentauro, the onkly issues I know of with brittany are (a) not in stackage (b) dropped support got ghc < 9 in recent versions (0.14 +)
2022-01-15 12:53:25 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-01-15 12:53:30 +0100 <Swahili> tomsmeding: geekosaur going to run it again, here's my stack.yaml https://paste.sh/VdNbhWBP#nAH_9tnqgbeKeTCCHvviSqsM
2022-01-15 12:53:51 +0100 <Swahili> By the way, ghcup installed cabal, if this is solved by using cabal package manager I can do that?
2022-01-15 12:53:56 +0100 <tomsmeding> Swahili: don't need the indent before the - ; if it breaks, try removing the indent
2022-01-15 12:54:13 +0100 <geekosaur> this is part of why I don't like stack, as soon as something isn't in stackage you get to jump through hoops
2022-01-15 12:54:22 +0100 <gentauro> geekosaur: that could be. I'm still on `version 8.10.7`
2022-01-15 12:54:39 +0100 <tomsmeding> Swahili: well 'cabal install brittany' will work, but will build it using your ghcup-installed ghc, not your stack-installed ghc
2022-01-15 12:54:53 +0100 <geekosaur> cabal should automatically pick an older version after seeing the base constraint
2022-01-15 12:55:16 +0100 <tomsmeding> also cabal and stack both cache already-built libraries, but separately, so from a disk usage (and compile time) standpoint, you might want to choose one and stick with that
2022-01-15 12:55:23 +0100 <tomsmeding> otherwise, should work
2022-01-15 12:56:15 +0100 <Swahili> tomsmeding: Ok :) The command is running, seems to be compiling> stack install brittany-0.13.1.2
2022-01-15 12:56:25 +0100 <tomsmeding> cool
2022-01-15 12:57:21 +0100 <Swahili> I kept the version that I've been recommended. I'd like to understand why and how, so I'm installing the 0.13.1.2 because that's the version that supports ghc 8.x?
2022-01-15 12:57:28 +0100 <geekosaur> yes
2022-01-15 12:57:42 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
2022-01-15 12:57:44 +0100 <geekosaur> they just dropped support for everything else in 0.14 and later
2022-01-15 12:57:50 +0100 <geekosaur> ghc9 only
2022-01-15 12:58:06 +0100 <geekosaur> I thought that was pretty abrupt but I'm not the brittany maintainer
2022-01-15 12:59:06 +0100 <Swahili> geekosaur: Ok :) Where did you people get the 0.13.1.2 version from? The repo https://github.com/lspitzner/brittany/releases ? Or a better place to check dependencies?
2022-01-15 12:59:16 +0100 <tomsmeding> @hackage brittany
2022-01-15 12:59:16 +0100 <lambdabot> https://hackage.haskell.org/package/brittany
2022-01-15 12:59:32 +0100 <geekosaur> then click back in the version list at the upper right
2022-01-15 12:59:34 +0100 <Swahili> Thank you very much!
2022-01-15 12:59:57 +0100 <geekosaur> escepot I knew already to look at the last in the 0.13 series because I saw the announcement for 0.14 that support for ghc < 9 had been dropped
2022-01-15 12:59:57 +0100 <tomsmeding> (per version you see the 'base' version range, which is the relevant thing here)
2022-01-15 13:00:06 +0100lavaman(~lavaman@98.38.249.169)
2022-01-15 13:00:36 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds)
2022-01-15 13:00:38 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-15 13:01:17 +0100 <Swahili> The installation process went well it seems, I'll now test. I'm also helping a friend, who's a math teacher to learn haskell, my worries is the troubleshooting around the dev experience. He never coded before but he is into math, so I think he has way more advantages then I do when learning haskell. Hope it goes well!
2022-01-15 13:04:01 +0100atwm(~atwm@19-193-28-81.ftth.cust.kwaoo.net) (Quit: Textual IRC Client: www.textualapp.com)
2022-01-15 13:04:38 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2022-01-15 13:05:07 +0100wre^(~wre@wsip-98-188-242-61.mc.at.cox.net) (Remote host closed the connection)
2022-01-15 13:08:11 +0100atwm(~atwm@19-193-28-81.ftth.cust.kwaoo.net)
2022-01-15 13:08:34 +0100atwm(~atwm@19-193-28-81.ftth.cust.kwaoo.net) (Client Quit)
2022-01-15 13:08:58 +0100neurocyte091709(~neurocyte@user/neurocyte) (Ping timeout: 250 seconds)
2022-01-15 13:09:40 +0100 <kuribas> the dev environment is the least pleasant part of haskell.
2022-01-15 13:10:16 +0100 <kuribas> off any language actually, but there is just much less $$$ in tooling in haskell.
2022-01-15 13:11:00 +0100neurocyte091709(~neurocyte@IP-185189140032.dynamic.medianet-world.de)
2022-01-15 13:11:00 +0100neurocyte091709(~neurocyte@IP-185189140032.dynamic.medianet-world.de) (Changing host)
2022-01-15 13:11:00 +0100neurocyte091709(~neurocyte@user/neurocyte)
2022-01-15 13:11:13 +0100 <euouae> Myself I found it very nice
2022-01-15 13:11:24 +0100 <kuribas> the tooling?
2022-01-15 13:11:39 +0100 <euouae> Haddock is awesome, great unit testing, cabal and stack work nice, of course unstable abi is scary
2022-01-15 13:11:54 +0100 <euouae> I don't know, yeah I thought it's nice
2022-01-15 13:11:57 +0100 <kuribas> euouae: those are fine.
2022-01-15 13:12:07 +0100 <Swahili> kuribas: that makes sense, it's a pity though.
2022-01-15 13:12:16 +0100 <euouae> OK I don't know what you mean then kuribas
2022-01-15 13:12:30 +0100 <geekosaur> yeh, my biggest issue with haskell is how fast the language changes
2022-01-15 13:12:35 +0100 <kuribas> euouae: until you get into a problem.
2022-01-15 13:12:40 +0100 <geekosaur> tolling is okay but then I don';t ask much of it
2022-01-15 13:12:57 +0100 <geekosaur> don't much like IDEs tossing bling in my face all the time, so
2022-01-15 13:13:03 +0100 <kuribas> geekosaur: you mean extensions?
2022-01-15 13:13:33 +0100 <geekosaur> more than just extensions. TypeApplications even when turned off changes parsing a bit (look up how it interacts with as-patterns)
2022-01-15 13:14:12 +0100 <geekosaur> and in 9.x there's a wholesale change in parsing that more or less requires spaces between tokens, because every extension had had its own way of dealing with conflicts like that as-pattern one
2022-01-15 13:14:21 +0100 <geekosaur> or bang patterns or negation or …
2022-01-15 13:14:41 +0100 <Swahili> My first impression is that Hlint, doesn't seem to catch everything; For example, I created a hello-world.hs file and wrote some gibberish like> 34hdsjhj43hjewds..+44 and it's fine, no hints. Is that valid syntax?
2022-01-15 13:15:11 +0100 <geekosaur> hlint is not a syntax engine, it is a semantic engine
2022-01-15 13:15:32 +0100 <geekosaur> if it doesn';t understand it, it just assumes an extension it doesn;t know is in play and goes silent
2022-01-15 13:15:35 +0100 <maerwald[m]> geekosaur: well, we probably going to break base for less interesting reasons than GHC extensions :p
2022-01-15 13:15:55 +0100 <maerwald[m]> Stability seems of low concern in general
2022-01-15 13:18:18 +0100 <Swahili> geekosaur: thought linters did a bit more work and checked the syntax too.
2022-01-15 13:18:57 +0100 <euouae> what's the point of checking haskell syntax though?
2022-01-15 13:19:00 +0100 <Swahili> geekosaur: guess that's more of a language server job
2022-01-15 13:19:00 +0100 <geekosaur> Swahili, linters do check some syntax since they need to know what they're looking at. but syntax is sometimes a wobbly thing, especially in Haskell
2022-01-15 13:19:17 +0100 <geekosaur> we have so many extensions that change syntax
2022-01-15 13:19:26 +0100 <Swahili> Yeh, seems to be better just integrated the language servia in vscode, via an addon
2022-01-15 13:24:19 +0100 <xerox> anybody knows what's :: in this context? https://i.imgur.com/fDDJ9R0.png
2022-01-15 13:25:04 +0100 <xerox> if Γ entails M:A, then what
2022-01-15 13:25:17 +0100 <euouae> why not give more context?
2022-01-15 13:28:17 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2022-01-15 13:28:51 +0100 <tomsmeding> xerox: probably list cons
2022-01-15 13:28:59 +0100meer(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net)
2022-01-15 13:29:06 +0100 <tomsmeding> hm, that makes no sense with the types
2022-01-15 13:29:17 +0100 <tomsmeding> oh, a type ascription
2022-01-15 13:29:18 +0100 <xerox> oh I get it, it's part of the simply typed lambda calculus they have defined
2022-01-15 13:29:23 +0100 <Swahili> Q: What's the most popular code formatter for Haskell? I've assumed Brittany because of google, but I have not investigated yet. Looking at the Haskell language server document, there are others such as the default ormolu (not sure if I have it installed). Is there a convention in the haskell community?
2022-01-15 13:29:24 +0100 <xerox> indeed
2022-01-15 13:29:27 +0100 <tomsmeding> % :t 4 :: Int -- xerox
2022-01-15 13:29:27 +0100 <yahb> tomsmeding: Int
2022-01-15 13:29:36 +0100 <xerox> 'M :: A' is the thing of type A
2022-01-15 13:29:39 +0100 <xerox> well spotted
2022-01-15 13:29:48 +0100 <euouae> Swahili some don't like to format their code with a formatter
2022-01-15 13:29:52 +0100 <tomsmeding> Swahili: there is no most popular
2022-01-15 13:29:53 +0100 <maerwald[m]> Swahili: no
2022-01-15 13:30:02 +0100 <tomsmeding> and some have this opinion https://twitter.com/comerijn/status/1257804634833420292
2022-01-15 13:30:17 +0100 <Swahili> Lol :)
2022-01-15 13:30:30 +0100 <xerox> tab key and space key are extremely popular
2022-01-15 13:30:49 +0100 <tomsmeding> tab key mostly used to insert a bunch of spaces
2022-01-15 13:31:06 +0100xeroxnods
2022-01-15 13:31:17 +0100Inst(~delicacie@2601:6c4:4080:3f80:6950:167e:fc87:eed1) (Ping timeout: 240 seconds)
2022-01-15 13:31:27 +0100 <Swahili> The tweet makes sense, I must say. But when working with other people, is a bit complicated. It's ok to have a convention. Thanks for the suggestions!
2022-01-15 13:31:51 +0100 <euouae> In big projects there should be some document outlining the style, e.g. like the linux kernel
2022-01-15 13:32:33 +0100 <maerwald[m]> Swahili: consistency in formatting helping reading speed of code is a nonsense tale
2022-01-15 13:32:42 +0100 <euouae> but even there they're not strict about it, as the ideas involved are complicated and presentation is more important than consistency
2022-01-15 13:33:39 +0100 <Swahili> indeed
2022-01-15 13:33:40 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 250 seconds)
2022-01-15 13:34:32 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds)
2022-01-15 13:35:14 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2022-01-15 13:35:47 +0100meer(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 256 seconds)
2022-01-15 13:40:26 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2022-01-15 13:41:08 +0100Guest4269mal
2022-01-15 13:41:13 +0100malGuest2660
2022-01-15 13:43:52 +0100 <Swahili> Sorry about the tabs vs space, but quickly... change my editor to turn tabs to spaces, is that ok? just found this http://urchin.earth.li/~ian/style/haskell.html
2022-01-15 13:45:18 +0100Guest2660lieven
2022-01-15 13:45:39 +0100jrm(~jrm@156.34.173.250)
2022-01-15 13:45:41 +0100 <yushyin> Swahili: spaces are preferred in haskell source code, so it's ok
2022-01-15 13:45:47 +0100Tuplanolla(~Tuplanoll@91-159-68-166.elisa-laajakaista.fi)
2022-01-15 13:45:56 +0100 <Swahili> yushyin: awesome!
2022-01-15 13:48:31 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-01-15 13:49:50 +0100rusrushal13(~rusrushal@2409:4056:2005:3f65:c712:45d0:4f32:57a0)
2022-01-15 13:51:32 +0100Constraintegic(~DundiDund@ppp-212-114-229-145.dynamic.mnet-online.de) (Ping timeout: 240 seconds)
2022-01-15 13:52:05 +0100max22-(~maxime@2a01cb0883359800f2c7b6135c65b0c9.ipv6.abo.wanadoo.fr)
2022-01-15 13:59:56 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-01-15 14:02:54 +0100qeqeqw(~qeqeqw3@2001:861:3a04:e320:31ea:a59b:1c06:51f4) (Quit: Leaving)
2022-01-15 14:04:38 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-15 14:06:32 +0100max22-(~maxime@2a01cb0883359800f2c7b6135c65b0c9.ipv6.abo.wanadoo.fr) (Ping timeout: 240 seconds)
2022-01-15 14:09:13 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-01-15 14:09:23 +0100LimeGolem(~LimeGolem@82.40.121.143)
2022-01-15 14:10:12 +0100DNH(~DNH@2a02:8108:1100:16d8:b0c0:5871:210d:15db) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-15 14:12:08 +0100 <Swahili> Q: What's the workflow like when writing Haskell, I'm thinking about how to get output by watching the source files, compiling and running automatically. Are there tools around this or is this something I need to do own my own? Or in other words, how do you people do?
2022-01-15 14:12:40 +0100 <polyphem> Swahili: ghcid
2022-01-15 14:12:53 +0100 <Swahili> polyphem: nice! thanks for suggesting, I'll check now!
2022-01-15 14:14:10 +0100 <Swahili> Doing this without much thought, so I did> stack install ghcid
2022-01-15 14:14:45 +0100 <Swahili> the reason is that I've done so, for other packages. Which then means, that if I want to use ghcid, I can only do so, if I execute my code by running the stack command?!
2022-01-15 14:15:44 +0100 <Swahili> Interesting, its added into my PATH. So, I run the ghcid locally.
2022-01-15 14:16:14 +0100 <Swahili> So, what exactly is stack tooling for? Thought is a sort of sandbox.
2022-01-15 14:17:08 +0100 <geekosaur> it's moe than a sandbox. the real point of stack is integration with stackage, which is a curated collection of packages known to work together with a specific ghc version
2022-01-15 14:17:13 +0100machinedgod(~machinedg@24.105.81.50)
2022-01-15 14:17:28 +0100 <geekosaur> so if you stick to stackage for everything then it all Just Works™
2022-01-15 14:18:10 +0100 <geekosaur> but things start to fall apart as soon as you need something outside of stackage (not counting your own local packages, which presumably you will write to work with the same stackage snapshot)
2022-01-15 14:18:30 +0100 <Swahili> geekosaur: thank you! So, effectively, I should then run ghcid in stack, even though I have it in my local environment. From what I can tell, that'd be> stack exec ghcid foobar.hs
2022-01-15 14:18:40 +0100 <geekosaur> stack exec ghcid ...
2022-01-15 14:19:01 +0100 <polyphem> if you stack install a executable (ghcid) it gets added to your users path and you can use it
2022-01-15 14:19:09 +0100 <Swahili> Althougy, I could do so by running locally> ghcid foobar.hs, but this could fail if theres need for some weird dependency chain etc. In Stack everything should just work!
2022-01-15 14:19:27 +0100 <Swahili> Is this correct, did I get it right?
2022-01-15 14:20:47 +0100 <geekosaur> stack holds all its builds inside itslef, so if you just run ghcid it probably won't be able to build your package. that's what "stack exec" is for, it'll expose the package database stack uses to build your program(s)
2022-01-15 14:21:06 +0100 <Swahili> Thank you :)
2022-01-15 14:21:31 +0100 <geekosaur> part of the sandboxing aspect of stack (and cabal)
2022-01-15 14:22:16 +0100 <geekosaur> stack and cabal take roughly opposite approaches to what and how they sandbox, but both do sandbooxing so you don;t run into problems with multiple projects that have different dependency requirements
2022-01-15 14:23:22 +0100 <Swahili> Why does stack maintainers decide to add to the user path, the stack installs, if the stack sandboxing would avoid common issues?
2022-01-15 14:23:32 +0100 <Swahili> As a nice to have?
2022-01-15 14:24:01 +0100 <Swahili> Suppose that things such as a code formatter, can be useful not just inside the stack environment. Is that it?
2022-01-15 14:25:12 +0100 <geekosaur> yes. plus if all you need is an executable (like ghcid or brittany) then it's pretty silly to add its whole build plan to yours
2022-01-15 14:25:31 +0100 <Swahili> geekosaur: thank you!
2022-01-15 14:25:35 +0100 <geekosaur> so "export" the executable and then you can use it wherever
2022-01-15 14:29:08 +0100__monty__(~toonn@user/toonn)
2022-01-15 14:32:41 +0100thcp(~thadeu_de@189.34.167.124)
2022-01-15 14:33:07 +0100LimeGolem(~LimeGolem@82.40.121.143) (Quit: Client closed)
2022-01-15 14:33:38 +0100dsrt^(~dsrt@wsip-98-188-242-61.mc.at.cox.net)
2022-01-15 14:38:48 +0100thcp(~thadeu_de@189.34.167.124) (Quit: leaving)
2022-01-15 14:40:34 +0100TonyStone(~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com)
2022-01-15 14:41:49 +0100burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2022-01-15 14:51:05 +0100thcp(~thadeu_de@189.34.167.124)
2022-01-15 14:52:18 +0100thcp(~thadeu_de@189.34.167.124) (Quit: leaving)
2022-01-15 14:52:43 +0100thcp(~thadeu_de@189.34.167.124)
2022-01-15 14:52:46 +0100LimeGolem(~LimeGolem@82.40.121.143)
2022-01-15 14:59:38 +0100thcp(~thadeu_de@189.34.167.124) (Quit: leaving)
2022-01-15 15:00:37 +0100thcp(~thadeu_de@189.34.167.124)
2022-01-15 15:02:32 +0100deadmarshal(~deadmarsh@95.38.231.124) (Ping timeout: 240 seconds)
2022-01-15 15:05:02 +0100SummerSonw(~The_viole@203.77.49.232) (Ping timeout: 240 seconds)
2022-01-15 15:05:54 +0100da39a3ee5e6b4b0d(~textual@2403:6200:8876:d87e:60ce:1d28:e735:a5fe)
2022-01-15 15:06:12 +0100deadmarshal(~deadmarsh@95.38.231.124)
2022-01-15 15:06:50 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2022-01-15 15:11:00 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-01-15 15:11:23 +0100rusrushal13(~rusrushal@2409:4056:2005:3f65:c712:45d0:4f32:57a0) (Ping timeout: 256 seconds)
2022-01-15 15:13:28 +0100da39a3ee5e6b4b0d(~textual@2403:6200:8876:d87e:60ce:1d28:e735:a5fe) (Quit: Textual IRC Client: www.textualapp.com)
2022-01-15 15:13:34 +0100biog(~user1@static.39.160.132.142.clients.your-server.de)
2022-01-15 15:14:38 +0100neurocyte091709(~neurocyte@user/neurocyte) (Ping timeout: 250 seconds)
2022-01-15 15:17:20 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-15 15:19:20 +0100neurocyte091709(~neurocyte@IP-185189140032.dynamic.medianet-world.de)
2022-01-15 15:19:20 +0100neurocyte091709(~neurocyte@IP-185189140032.dynamic.medianet-world.de) (Changing host)
2022-01-15 15:19:20 +0100neurocyte091709(~neurocyte@user/neurocyte)
2022-01-15 15:19:26 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2022-01-15 15:23:33 +0100 <lechner> Hi, is ScottyT here a type or a type class, please? https://hackage.haskell.org/package/scotty-0.12/docs/Web-Scotty-Trans.html#v:scottyT
2022-01-15 15:24:00 +0100 <geekosaur> a type
2022-01-15 15:24:25 +0100 <geekosaur> typeclasses are declared with "class", not with "::"
2022-01-15 15:25:01 +0100 <geekosaur> (more correctly with "data" but you'd have to click the "Source" link to see that)
2022-01-15 15:25:36 +0100 <lechner> Is this part of it a type class? (before the =>) (Monad m, MonadIO n)
2022-01-15 15:25:47 +0100 <geekosaur> yes
2022-01-15 15:27:05 +0100 <hpc> and for completeness, scottyT (what was linked) is a function
2022-01-15 15:27:14 +0100 <hpc> click on ScottyT in the type to get its definition
2022-01-15 15:27:31 +0100 <hpc> :P
2022-01-15 15:29:06 +0100 <lechner> what about this scottyT? https://hackage.haskell.org/package/scotty-0.12/docs/Web-Scotty-Internal-Types.html#t:ScottyT
2022-01-15 15:29:28 +0100 <hpc> yep, that's the type
2022-01-15 15:29:39 +0100 <hpc> identifiers in haskell are case-sensitive, so scottyT and ScottyT are very different things
2022-01-15 15:29:47 +0100 <lechner> whoops
2022-01-15 15:30:34 +0100 <lechner> is the lower-case scottyT an "instance"?
2022-01-15 15:30:52 +0100 <geekosaur> it's just a function
2022-01-15 15:31:28 +0100 <geekosaur> instances are declared with "instance" and don't have names;p they have types
2022-01-15 15:31:40 +0100 <geekosaur> s/p//
2022-01-15 15:31:53 +0100 <lechner> can the scottyT function name be reused for other type classes?
2022-01-15 15:32:00 +0100 <geekosaur> no
2022-01-15 15:32:13 +0100 <hpc> scottyT or ScottyT?
2022-01-15 15:32:23 +0100 <lechner> what is the point of the constraint?
2022-01-15 15:32:29 +0100 <lechner> scottyT
2022-01-15 15:32:32 +0100deadmarshal(~deadmarsh@95.38.231.124) (Ping timeout: 240 seconds)
2022-01-15 15:32:53 +0100 <geekosaur> it's not even a method, just an ordinary funxtion (see https://hackage.haskell.org/package/scotty-0.12/docs/src/Web.Scotty.Trans.html#scottyT)
2022-01-15 15:33:02 +0100 <hpc> (Monad m, MonadIO n) lets m and n be polymorphic, but you can still use (>>=) and liftIO and such in that function
2022-01-15 15:33:04 +0100 <geekosaur> s/x/c/
2022-01-15 15:33:27 +0100 <hpc> like if i wrote foo :: Num a => a -> a
2022-01-15 15:33:33 +0100 <hpc> a could be Int, Double, whatever
2022-01-15 15:33:38 +0100 <hpc> as long as it's number-y
2022-01-15 15:33:44 +0100 <lechner> no worries about typos please. i have bigger issues
2022-01-15 15:33:53 +0100 <hpc> and in the definition of foo i get to use addition and such
2022-01-15 15:34:18 +0100 <hpc> but i can't use something like floor, which would be valid if it was Double but not if it was Int
2022-01-15 15:34:21 +0100 <hpc> :t floor
2022-01-15 15:34:22 +0100 <lambdabot> (RealFrac a, Integral b) => a -> b
2022-01-15 15:34:25 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2022-01-15 15:34:44 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-15 15:35:06 +0100 <hpc> so you can use whatever m you want, as long as there's "instance Monad ThatParticularM" somewhere else
2022-01-15 15:36:20 +0100 <geekosaur> "i have bigger issues" perhaps explain your issue instead of trying to work up to it form the bottom?
2022-01-15 15:36:27 +0100 <geekosaur> *from
2022-01-15 15:37:51 +0100SummerSonw(~The_viole@203.77.49.232)
2022-01-15 15:39:45 +0100 <lechner> well, aside from my struggles of nomenclature, I would like to add hasql database operations to this scotty router (line 39) https://paste.tomsmeding.com/jaEOaCLj
2022-01-15 15:41:10 +0100 <lechner> i'm staring at this https://bendyworks.com/blog/authentication-via-haskell
2022-01-15 15:41:31 +0100Ruit(~textual@c-69-248-83-247.hsd1.nj.comcast.net)
2022-01-15 15:43:44 +0100 <lechner> i think i have to pass in an (open?) connection via scottyT
2022-01-15 15:44:41 +0100 <lechner> this is for my open-source website lintian.debian.org
2022-01-15 15:44:42 +0100zer0bitz(~zer0bitz@2001:2003:f444:a000:5143:664b:aeb1:9527)
2022-01-15 15:45:05 +0100Ruit(~textual@c-69-248-83-247.hsd1.nj.comcast.net) (Client Quit)
2022-01-15 15:47:32 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-01-15 15:53:32 +0100Swahili(~Swahili@a95-94-208-187.cpe.netcabo.pt) (Remote host closed the connection)
2022-01-15 15:54:51 +0100 <euouae> lechner e.g. you can go here, https://hackage.haskell.org/package/scotty-0.12 and type `s` followed by `scottyT` to see what it is
2022-01-15 15:57:59 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-15 15:57:59 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-15 15:57:59 +0100wroathe(~wroathe@user/wroathe)
2022-01-15 15:58:26 +0100 <euouae> lechner, and maybe this example will help you, https://github.com/err0r500/realworld-app-simple-haskell
2022-01-15 15:59:04 +0100euouae(~euouae@user/euouae) (Quit: )
2022-01-15 15:59:39 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2022-01-15 15:59:58 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-15 16:02:57 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-01-15 16:04:39 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds)
2022-01-15 16:05:00 +0100some02(~cat@h-98-128-128-173.A351.priv.bahnhof.se) (Changing host)
2022-01-15 16:05:00 +0100some02(~cat@user/sudden)
2022-01-15 16:05:13 +0100some02sudden
2022-01-15 16:05:27 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-15 16:06:36 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-15 16:07:07 +0100deadmarshal(~deadmarsh@95.38.231.124)
2022-01-15 16:07:54 +0100DNH(~DNH@2a02:8108:1100:16d8:b0c0:5871:210d:15db)
2022-01-15 16:09:44 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-01-15 16:09:53 +0100mbuf(~Shakthi@122.178.176.76)
2022-01-15 16:11:51 +0100fef(~thedawn@user/thedawn)
2022-01-15 16:14:26 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-15 16:14:26 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-15 16:14:26 +0100wroathe(~wroathe@user/wroathe)
2022-01-15 16:15:32 +0100cosimone(~user@93-44-186-112.ip98.fastwebnet.it) (Remote host closed the connection)
2022-01-15 16:16:42 +0100 <polyphem> i am writing this library, and have some typeclasses wich capture interfaces of components that should work together, now i want to add logging with co-log, that is written in final-tagless style , so i think i will "convert" my classes also to final-tagless style to use co-log. In final-taglass libraries should one provide a "default Monad/MonadT to that takes default config environment" ?
2022-01-15 16:19:48 +0100 <polyphem> i guess so
2022-01-15 16:21:00 +0100 <geekosaur> lechner, re passing in a datanbase connection, note that "n" is different from "m", and it's part of the "result". "scottyT" effectively runs within some other monad "n" which is presumably your database's monad
2022-01-15 16:21:17 +0100LimeGolem(~LimeGolem@82.40.121.143) (Quit: Client closed)
2022-01-15 16:21:57 +0100 <geekosaur> and the only constraint it places on that monad is "MonadIO" so that it can do web I/O
2022-01-15 16:22:11 +0100epolanski(uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2022-01-15 16:23:34 +0100yauhsien(~yauhsien@61-231-24-192.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-01-15 16:24:38 +0100yauhsien(~yauhsien@61-231-24-192.dynamic-ip.hinet.net)
2022-01-15 16:29:45 +0100yauhsien(~yauhsien@61-231-24-192.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-01-15 16:30:11 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2022-01-15 16:30:30 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-15 16:35:15 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds)
2022-01-15 16:36:58 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-15 16:37:04 +0100yauhsien(~yauhsien@61-231-24-192.dynamic-ip.hinet.net)
2022-01-15 16:38:37 +0100FragByte(~christian@user/fragbyte) (Quit: Quit)
2022-01-15 16:39:32 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-01-15 16:40:27 +0100FragByte(~christian@user/fragbyte)
2022-01-15 16:42:31 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-01-15 16:49:01 +0100 <lechner> yeah, i'm slowy starting to understand those monad connections. what is it called please when the contexts intersect (which is presumably different from the simpler liftIO)?
2022-01-15 16:51:03 +0100 <lechner> or does liftIO also operate on a generic IO monad that was passed in?
2022-01-15 16:51:22 +0100 <EvanR> :t liftIO
2022-01-15 16:51:23 +0100 <lambdabot> MonadIO m => IO a -> m a
2022-01-15 16:51:41 +0100 <EvanR> it lifts an io action into m
2022-01-15 16:51:43 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2022-01-15 16:52:38 +0100 <EvanR> MonadIO monads use IO at some level so it's possible, but may be inconvenient to do manually
2022-01-15 16:52:51 +0100 <geekosaur> the class MonadIO denotes a monad that can lift I/O actions through a monad stack if IO is the base monad, using the "liftIO" function
2022-01-15 16:53:22 +0100 <geekosaur> you would otherwise need to chain "lift" functions together to reach it
2022-01-15 16:54:19 +0100 <janus> how do i search my codebase for ToJSON/FromJSON instances that would have been derivable (without relying on Generic)?
2022-01-15 16:54:44 +0100FragByte(~christian@user/fragbyte) (Quit: Quit)
2022-01-15 16:56:34 +0100 <lechner> Once someone said to me derisively that in Haskell everything is a monad but, pure parts aside, that's not even correct, is it? Isn't all effectfull programming based on IO (or MonadIO)?
2022-01-15 16:58:09 +0100 <geekosaur> correct, most things are not monads. IO is a monad and thereby mo9st things that use IO are monads or related to monads in some sense, but it's worth keeping in mind that monads are not special. IO is special because it is IO, not because it is a monad
2022-01-15 16:58:37 +0100 <geekosaur> the sole point of IO being a monad is that the monad makes it easier to keep IO actions in the order you wrote them
2022-01-15 16:58:58 +0100 <lechner> yeah i'd like to read that paper
2022-01-15 16:58:59 +0100 <geekosaur> that is, the IO monad instanceenforces sequencing
2022-01-15 16:59:18 +0100 <lechner> was that wadler?
2022-01-15 16:59:20 +0100FragByte(~christian@user/fragbyte)
2022-01-15 16:59:30 +0100xkuru(~xkuru@user/xkuru)
2022-01-15 16:59:55 +0100 <geekosaur> not sure which paper you're talking about
2022-01-15 17:00:25 +0100 <lechner> nvm, i think they are from the 1960s
2022-01-15 17:00:35 +0100 <geekosaur> if it's related to monads in Haskell it's probably Wadler; if it's related to monads in programming it may be Møggi
2022-01-15 17:01:41 +0100 <lechner> is there a paper that originally proposed monads as a theoretically sound way to separate effects from pure programming?
2022-01-15 17:02:13 +0100 <geekosaur> that would probably be Møggi
2022-01-15 17:02:31 +0100 <geekosaur> but I couldn't point you to a specific paper
2022-01-15 17:03:24 +0100deadmarshal(~deadmarsh@95.38.231.124) (Ping timeout: 250 seconds)
2022-01-15 17:03:45 +0100 <geekosaur> hm, might be wadler after all. there's only 3 monads with "non-pure" effects in Haskell: IO, ST, STM. all other monads are pure
2022-01-15 17:03:45 +0100deadmarshal(~deadmarsh@95.38.231.124)
2022-01-15 17:03:58 +0100 <geekosaur> and can be done with pure code, just less conveniently
2022-01-15 17:05:45 +0100 <lechner> are they called pure merely because they cause no effects? imposing an order on execution is still pure?
2022-01-15 17:05:59 +0100 <lechner> or can be?
2022-01-15 17:06:26 +0100 <lechner> ST is for state?
2022-01-15 17:07:57 +0100epolanski(uid312403@id-312403.helmsley.irccloud.com)
2022-01-15 17:08:11 +0100 <EvanR> a pure function corresponds to a function from math, is always gives the same answers and doesn't depend on invisible context like the clock
2022-01-15 17:08:29 +0100 <EvanR> the word pure has leaked out and all kinds of stuff i haskell is called pure by analogy
2022-01-15 17:08:41 +0100 <lechner> maybe i should read this https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.52.3656&rep=rep1&type=pdf
2022-01-15 17:08:50 +0100 <lechner> state in haskell
2022-01-15 17:09:23 +0100 <geekosaur> ST is a "state thread", it can hide mutability from other pure computations as long as the final result is pure
2022-01-15 17:09:55 +0100 <geekosaur> states are independent of each other, pure code, and mutable code (i.e. IO)
2022-01-15 17:09:55 +0100 <lechner> the amount of thought that went into haskell is simply remarkable
2022-01-15 17:11:00 +0100 <EvanR> yeah secretly using mutable variables in a pure function was not new, but ST uses the type system to make that sound and have it safely fit into haskell
2022-01-15 17:11:57 +0100shapr(~user@2601:7c0:c37c:46d0:fdf3:f0cd:30b3:4860)
2022-01-15 17:13:33 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
2022-01-15 17:14:13 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-01-15 17:16:30 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-01-15 17:17:54 +0100slowButPresent(~slowButPr@user/slowbutpresent)
2022-01-15 17:18:00 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
2022-01-15 17:20:43 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-01-15 17:21:50 +0100zincy_(~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1)
2022-01-15 17:22:13 +0100kjak(~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2022-01-15 17:23:43 +0100hololeap(~hololeap@user/hololeap)
2022-01-15 17:23:47 +0100 <thcp> \help
2022-01-15 17:24:11 +0100 <thcp> this.quit
2022-01-15 17:24:19 +0100 <thcp> \HELP
2022-01-15 17:24:27 +0100 <geekosaur> "/quit"
2022-01-15 17:24:33 +0100thcp(~thadeu_de@189.34.167.124) (Quit: leaving)
2022-01-15 17:24:43 +0100 <lagash> Someone's new to IRC..
2022-01-15 17:29:18 +0100 <EvanR> IRC: still a classic
2022-01-15 17:34:56 +0100 <maerwald> windows IRC
2022-01-15 17:36:06 +0100 <EvanR> C:λProgram Files
2022-01-15 17:37:25 +0100max22-(~maxime@2a01cb08833598008919a79e2385461f.ipv6.abo.wanadoo.fr)
2022-01-15 17:37:58 +0100briandaed(~root@185.234.208.208.r.toneticgroup.pl)
2022-01-15 17:38:36 +0100cosimone`(~user@93-44-186-112.ip98.fastwebnet.it)
2022-01-15 17:39:48 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 250 seconds)
2022-01-15 17:42:12 +0100 <hololeap> does anyone here have any experience using sodium and reflex in a pure haskell context (not ghcjs)? how do they compare?
2022-01-15 17:43:39 +0100 <briandaed> isn't sodium dead?
2022-01-15 17:44:13 +0100 <hololeap> oh, yeah I guess it is
2022-01-15 17:44:19 +0100 <briandaed> :)
2022-01-15 17:45:03 +0100 <EvanR> is it?
2022-01-15 17:45:26 +0100 <hololeap> well, last commit was almost two years ago
2022-01-15 17:45:54 +0100 <geekosaur> lechner, re imposing an order on execution vs. purity, all you need to do is establish a data dependency: "this function depends on the output from that function"
2022-01-15 17:45:58 +0100 <geekosaur> which is 100% pure
2022-01-15 17:46:07 +0100 <hololeap> last commit in the haskell subdirectory is 7 years ago
2022-01-15 17:46:09 +0100 <briandaed> not sure which sodium we are talking about, in reflex context assumed https://hackage.haskell.org/package/sodium
2022-01-15 17:46:23 +0100 <hololeap> right, https://github.com/SodiumFRP/sodium
2022-01-15 17:47:05 +0100 <briandaed> not sure if it was rebranded or incorporated in some other project, assumed dead, maybe too fast
2022-01-15 17:47:33 +0100 <EvanR> there's a forum here where they discuss C# and Scala and I'm confuse
2022-01-15 17:48:10 +0100 <`2jt> Hi, when learning the very basics on 3d, which haskell package for practicing purpose would you suggest? Opengl seems to be the most popular on hackage, but it was last updated in 2019.
2022-01-15 17:48:22 +0100 <hololeap> I was told there was some kind of limitation with reflex in respect to concurrency/parallelism, and that a different style of FRP would overcome this limitation. another library was mentioned, but I don't remember what it was
2022-01-15 17:48:59 +0100 <EvanR> wires?
2022-01-15 17:49:08 +0100 <geekosaur> `2jt, when was the last change to the opengl standard?
2022-01-15 17:49:26 +0100 <briandaed> `2jt you have two options, opengl - crossplatform industry standard or directx tightl bound to ms platforms to which I believe Haskell has no bindings
2022-01-15 17:50:17 +0100 <hololeap> that doesn't ring a bell
2022-01-15 17:50:20 +0100 <geekosaur> the opengl package just wraps the standard opengl primitives, and I am pretty sure those have not changed. and the wrapping is automated and the bugs have been worked out long since, so the only time the package changes is when a new opengl standard has been released
2022-01-15 17:50:31 +0100smorgasbord(buggy@user/smorgasbord) (Quit: WeeChat 3.3)
2022-01-15 17:50:42 +0100 <briandaed> geekosaur is right https://www.khronos.org/opengl/wiki/History_of_OpenGL it's 2017
2022-01-15 17:51:15 +0100 <`2jt> What is the difference then between OpenGl and OpenGLRaw, binding vs raw binding?
2022-01-15 17:51:42 +0100 <hololeap> maybe it was dunai
2022-01-15 17:51:54 +0100 <EvanR> OpenGL came first, then ed made `gl' which was just the API directly binded, then OpenGLRaw caught up with their own
2022-01-15 17:52:04 +0100Topsi(~Tobias@dyndsl-095-033-090-163.ewe-ip-backbone.de)
2022-01-15 17:52:14 +0100 <EvanR> I only used `gl' and it's great
2022-01-15 17:53:02 +0100SummerSonw(~The_viole@203.77.49.232) (Ping timeout: 240 seconds)
2022-01-15 17:53:27 +0100 <hololeap> there's also gpipe-glfw. I haven't used any of these, but I did look at that one. it seemed advanced
2022-01-15 17:53:42 +0100zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-01-15 17:53:59 +0100 <geekosaur> OpenGLRaw is the lowest level binding, it just wraps stuff directly and doesn't pretend to be Haskell. OpenGL is a mroe Haskelly interface
2022-01-15 17:54:18 +0100 <EvanR> as haskell as it could attempt to be I guess...
2022-01-15 17:54:24 +0100 <geekosaur> well, yes
2022-01-15 17:54:48 +0100mud(~mud@user/kadoban)
2022-01-15 17:55:03 +0100zaquest(~notzaques@5.130.79.72)
2022-01-15 17:55:25 +0100 <`2jt> :) thank you
2022-01-15 17:59:42 +0100 <EvanR> >Haskell - deprecated in favour of Heinrich Apfelmus's Reactive Banana (sodium README)
2022-01-15 17:59:53 +0100 <EvanR> R.I.P.
2022-01-15 18:00:10 +0100deadmarshal(~deadmarsh@95.38.231.124) (Ping timeout: 250 seconds)
2022-01-15 18:00:19 +0100 <EvanR> reactive banana still holding the championship after all this time
2022-01-15 18:01:06 +0100 <briandaed> hats off
2022-01-15 18:01:37 +0100sim590(~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 240 seconds)
2022-01-15 18:01:49 +0100 <EvanR> haha "deprecated in favor of"
2022-01-15 18:02:13 +0100 <EvanR> like, egyptian president stepping down or something
2022-01-15 18:02:29 +0100 <hololeap> Haskell: deprecated in favor of javascript
2022-01-15 18:02:52 +0100 <hololeap> move along, folks
2022-01-15 18:03:33 +0100 <briandaed> no way, ..., but when I started my "career" it was only browser language, then node happened... who knows
2022-01-15 18:04:03 +0100 <hololeap> we know when to admit defeat
2022-01-15 18:05:14 +0100thcp_(~thadeu_de@189.34.167.124)
2022-01-15 18:06:04 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2022-01-15 18:06:40 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-15 18:08:09 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2022-01-15 18:10:20 +0100zebrag(~chris@user/zebrag)
2022-01-15 18:11:01 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds)
2022-01-15 18:16:48 +0100random_(~random@185.219.68.251) (Remote host closed the connection)
2022-01-15 18:17:07 +0100random_(~random@185.219.68.251)
2022-01-15 18:20:35 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-01-15 18:20:40 +0100 <polyphem> how can i use bracket in a function of type: MonadIO m => m () ?
2022-01-15 18:21:55 +0100 <peutri> there's got to be an adjusted prelude for that somewhere
2022-01-15 18:22:12 +0100 <geekosaur> sounds like MonadBaseControl to me
2022-01-15 18:22:25 +0100 <geekosaur> needs more than just a MonadIO Prelude
2022-01-15 18:22:32 +0100 <briandaed> wouldn't liftIO be enough?
2022-01-15 18:23:09 +0100 <peutri> no, base.bracket expects IO arguments, which liftIO doesn't give you
2022-01-15 18:23:57 +0100 <geekosaur> and you can't just "copy" the contents of the other monads (what do you do with State, for a simple example? and it's worse if it's something like a database connection)
2022-01-15 18:24:37 +0100 <geekosaur> MonadBaseControl deals with this, at the price of complexity (there being no simple ways to deal with this)
2022-01-15 18:24:54 +0100 <polyphem> its actually mor complicatetd, function is really : MonadIO m => a -> (a -> m ()) -> m ()
2022-01-15 18:25:19 +0100LukeHoersten(~LukeHoers@user/lukehoersten)
2022-01-15 18:25:27 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-01-15 18:25:36 +0100 <polyphem> hmm
2022-01-15 18:27:06 +0100Constraintegic(~DundiDund@ppp-212-114-229-145.dynamic.mnet-online.de)
2022-01-15 18:27:20 +0100deadmarshal(~deadmarsh@95.38.231.124)
2022-01-15 18:27:42 +0100 <polyphem> i tired to mess around with UnliftIO.Exception's bracket but cant get it to work , and its strange because i previously generalized the function from IO to m , sprinkling liftIOs around
2022-01-15 18:30:43 +0100yehoshua[m](~yehoshuay@2001:470:69fc:105::1:593f)
2022-01-15 18:31:48 +0100deadmarshal(~deadmarsh@95.38.231.124) (Ping timeout: 250 seconds)
2022-01-15 18:32:14 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-01-15 18:32:25 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-01-15 18:32:39 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-01-15 18:33:27 +0100 <EvanR> is there a MonadFoo class for doing brackets that your thing should be implementing
2022-01-15 18:33:28 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 18:33:37 +0100 <EvanR> like, MonadCatch ?
2022-01-15 18:34:23 +0100random-jellyfish(~random-je@user/random-jellyfish)
2022-01-15 18:34:28 +0100deadmarshal(~deadmarsh@95.38.231.124)
2022-01-15 18:35:10 +0100 <polyphem> EvanR: dont think so
2022-01-15 18:35:42 +0100fef(~thedawn@user/thedawn) (Remote host closed the connection)
2022-01-15 18:35:53 +0100 <EvanR> MonadError doesn't have it, but this thing MonadMask in `exceptions' package does
2022-01-15 18:36:01 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-15 18:36:10 +0100fef(~thedawn@user/thedawn)
2022-01-15 18:36:54 +0100LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-15 18:39:09 +0100 <polyphem> MonadBaseControl/MonadMask/MonadUnliftIO all have a suitable bracket ... hmm
2022-01-15 18:39:45 +0100 <EvanR> the doc for MonadBaseControl claims that it can save and restore the state of the base monad
2022-01-15 18:40:12 +0100 <EvanR> paraphrasing, but, how does that work with IO xD
2022-01-15 18:40:33 +0100 <maerwald> backup your hard drive to amazon S3
2022-01-15 18:40:52 +0100 <maerwald> and make a snapshot of the internet
2022-01-15 18:40:58 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2022-01-15 18:41:08 +0100random__(~random@185.219.68.251)
2022-01-15 18:41:14 +0100 <EvanR> ah no... it's the state of the not-base that it saves
2022-01-15 18:41:41 +0100 <geekosaur> right, it;s bracket that i ssupposed to deal with the base
2022-01-15 18:41:50 +0100 <geekosaur> MBC has to deal with the stuff bracket can't
2022-01-15 18:43:30 +0100random_(~random@185.219.68.251) (Ping timeout: 250 seconds)
2022-01-15 18:43:49 +0100 <polyphem> i get that moving from IO to MonadIO m as monad i can have the user pass in arbitrary monad stacks that introduce state wich i dont know nothing about and i need to preserve
2022-01-15 18:45:32 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-01-15 18:45:52 +0100DNH(~DNH@2a02:8108:1100:16d8:b0c0:5871:210d:15db) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-15 18:46:39 +0100 <EvanR> preserve in an intermediate broken state due to error, reset back to what it was before bracket, something else?
2022-01-15 18:46:57 +0100 <geekosaur> whatever the instance determines
2022-01-15 18:47:28 +0100 <geekosaur> a database monad might fr example rollback a transaction
2022-01-15 18:49:32 +0100 <polyphem> its a cacheing system written by me the function is "withCache" and i use bracket to initialize and shut down the Cache and
2022-01-15 18:50:08 +0100 <maerwald> MonadBaseControl is where functional programming started to suck
2022-01-15 18:51:02 +0100 <polyphem> i dont even know if i need to generalize it to a m monad instead of letting it run in IO cause ultimatly its run from main to provide a cache for the inner user IO
2022-01-15 18:51:26 +0100 <EvanR> I was going to say, it's starting to look complicated enough to make haskell appealing to IT, and the barns & noble tech section
2022-01-15 18:51:55 +0100alx741(~alx741@157.100.93.160)
2022-01-15 18:51:56 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-15 18:53:18 +0100 <EvanR> polyphem, https://pbs.twimg.com/media/C8QejJ1VoAAQgDE.jpg
2022-01-15 18:54:04 +0100 <polyphem> hahaha, thats me , there, right now .... nice one
2022-01-15 18:54:18 +0100DNH(~DNH@2a02:8108:1100:16d8:b0c0:5871:210d:15db)
2022-01-15 18:55:10 +0100Jing(~hedgehog@240e:390:7c53:a7e1:dc72:6181:1705:c2cc) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-15 18:55:10 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 18:55:40 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-01-15 18:56:21 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds)
2022-01-15 18:59:23 +0100LukeHoersten(~LukeHoers@user/lukehoersten)
2022-01-15 19:00:03 +0100dhil(~dhil@cpc103052-sgyl39-2-0-cust260.18-2.cable.virginm.net) (Quit: Leaving)
2022-01-15 19:01:12 +0100dolio(~dolio@130.44.130.54) (Quit: ZNC 1.8.2 - https://znc.in)
2022-01-15 19:02:13 +0100lavaman(~lavaman@98.38.249.169)
2022-01-15 19:04:44 +0100deadmarshal(~deadmarsh@95.38.231.124) (Ping timeout: 250 seconds)
2022-01-15 19:05:43 +0100 <thcp_> https://pbs.twimg.com/media/C8QejJ1VoAAQgDE.jpg
2022-01-15 19:06:43 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-01-15 19:07:34 +0100 <geekosaur> yes?
2022-01-15 19:07:50 +0100kuribas(~user@ptr-25vy0i98u111h07lsuf.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2022-01-15 19:08:03 +0100 <hpc> not shown: unsafePerformIO . newIORef
2022-01-15 19:08:15 +0100johnw(~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0)
2022-01-15 19:09:56 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds)
2022-01-15 19:10:02 +0100dolio(~dolio@130.44.130.54)
2022-01-15 19:10:54 +0100econo(uid147250@user/econo)
2022-01-15 19:12:20 +0100Ruit(~textual@c-69-248-83-247.hsd1.nj.comcast.net)
2022-01-15 19:13:17 +0100RuitShmoSeph
2022-01-15 19:13:18 +0100alx741(~alx741@157.100.93.160)
2022-01-15 19:13:57 +0100 <zero> i destilled a recurrent annoyance of mine and am curious about good ways to avoid it. say i have something like the function `f` but i want to avoid all that code duplication, doing something like `g`. how can i make it work (or work around it) ? https://paste.jrvieira.com/1642270216022
2022-01-15 19:14:46 +0100justsomeguy(~justsomeg@user/justsomeguy)
2022-01-15 19:14:58 +0100deadmarshal(~deadmarsh@95.38.231.124)
2022-01-15 19:16:11 +0100random-jellyfish(~random-je@user/random-jellyfish) (Ping timeout: 256 seconds)
2022-01-15 19:17:51 +0100meer(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net)
2022-01-15 19:18:25 +0100jgeerds_(~jgeerds@55d4af63.access.ecotel.net)
2022-01-15 19:18:30 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-01-15 19:18:39 +0100mbuf(~Shakthi@122.178.176.76) (Quit: Leaving)
2022-01-15 19:20:25 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-01-15 19:20:47 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 19:21:51 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-01-15 19:22:15 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-01-15 19:23:29 +0100 <zero> a and b need to be [Int] and [I] depending on x < 3. would RankNTypes be of any help?
2022-01-15 19:23:47 +0100 <dolio> zero: There are multiple ways, depending on the details.
2022-01-15 19:24:18 +0100 <dolio> Oh wait. Your example is more complicated than I thought.
2022-01-15 19:24:31 +0100 <dsal> Is the difference just `f` vs. `id`/
2022-01-15 19:24:57 +0100 <dsal> Oh, no, I see.
2022-01-15 19:25:03 +0100 <geekosaur> if the type is changing that sounds awfully dependent to me
2022-01-15 19:25:04 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480::41)
2022-01-15 19:25:12 +0100 <d34df00d> Nothing awful about that!
2022-01-15 19:26:00 +0100 <dsal> It might be awful. It depends.
2022-01-15 19:27:32 +0100 <zero> hmm :/
2022-01-15 19:27:37 +0100random_(~random@185.219.68.251)
2022-01-15 19:27:54 +0100 <dsal> You might be best off leaving the code clear.
2022-01-15 19:28:08 +0100euandreh(~euandreh@2804:14c:33:9fe5:e9b8:ca94:422e:6f77) (Ping timeout: 250 seconds)
2022-01-15 19:28:47 +0100 <zero> well this is the simplest i could express it, in a real world scenario f gets very messy
2022-01-15 19:29:00 +0100justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 250 seconds)
2022-01-15 19:30:02 +0100random__(~random@185.219.68.251) (Ping timeout: 240 seconds)
2022-01-15 19:31:08 +0100 <dsal> You could do something like `(fx,fxs) = if x < 3 then (f,id) else (id,f)`
2022-01-15 19:31:27 +0100 <dolio> zero: You can do it with an existential type.
2022-01-15 19:32:39 +0100 <dolio> I think the duplication is kind of illusory, though.
2022-01-15 19:33:26 +0100justsomeguy(~justsomeg@user/justsomeguy)
2022-01-15 19:34:40 +0100jgeerds_(~jgeerds@55d4af63.access.ecotel.net) (Remote host closed the connection)
2022-01-15 19:35:28 +0100 <dolio> Basically you need `data T = forall e. T [e] ([e] -> [I])`. Then you define a value of T based on x<3.
2022-01-15 19:35:52 +0100 <dolio> When x<3 you use `T (f xs) id` and otherwise `T xs f`.
2022-01-15 19:38:03 +0100 <zero> i see. i agree that's messy
2022-01-15 19:38:39 +0100 <zero> dsal: how exaclty would that work?
2022-01-15 19:38:55 +0100 <dolio> You could avoid the additional type by defining an auxiliary polymorphic function.
2022-01-15 19:39:15 +0100alx741(~alx741@157.100.93.160)
2022-01-15 19:39:42 +0100 <dsal> zero: I'm not actually trying it, but your two branches seem to differ by where the function is applied. So that would let you define which function applies in each branch at once.
2022-01-15 19:39:44 +0100 <dolio> `g (f xs) id` when x<3, and `g xs f` otherwise.
2022-01-15 19:43:08 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 19:43:22 +0100defanor(~defanor@tart.uberspace.net) (Quit: .)
2022-01-15 19:43:47 +0100 <zero> i see. thanks
2022-01-15 19:44:01 +0100defanor(~defanor@tart.uberspace.net)
2022-01-15 19:44:25 +0100Sgeo(~Sgeo@user/sgeo)
2022-01-15 19:45:25 +0100 <zero> i prefer to keep it simple then
2022-01-15 19:47:12 +0100arctor(~arctor@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net)
2022-01-15 19:48:13 +0100 <arctor> whats the theorem (i cant remember) about where the monad and the applicative dont commute?
2022-01-15 19:49:17 +0100 <arctor> so then you have to specialise the applicative in traverse to just be state for lazyness to work...
2022-01-15 19:49:27 +0100thcp_(~thadeu_de@189.34.167.124) (Quit: Lost terminal)
2022-01-15 19:49:46 +0100 <arctor> i think it was something to do with when the tail is wrapped in a monad
2022-01-15 19:51:14 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-01-15 19:51:18 +0100LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-15 19:53:05 +0100 <arctor> the bit i have trouble remembering is how you have to pass the constructor into the applicative, and if this has the monad which doesnt commute with the arbitrary applicative, then you have to get to the end of the traversal to reconstruct everything, but if you can commute the applicative (like when its just state) through the monad, then you can
2022-01-15 19:53:05 +0100 <arctor> kind of reconstruct it in a way that allows lazyness to work
2022-01-15 19:53:45 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-15 19:54:38 +0100LukeHoersten(~LukeHoers@user/lukehoersten)
2022-01-15 19:55:30 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2022-01-15 19:55:46 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-15 19:56:12 +0100 <arctor> i think i saw a derivation of it somewhere, but without being able to see the code its difficult to understand
2022-01-15 19:56:31 +0100kjak(~kjak@pool-108-45-56-21.washdc.fios.verizon.net)
2022-01-15 19:58:19 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2022-01-15 19:58:38 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-15 19:58:45 +0100 <arctor> maybe someone knows how to write a traversable instance for ListT (done right) without the superclass constraint that gives a function over its instances to commute the applicative with the monad
2022-01-15 19:59:15 +0100 <arctor> which guarantees lazyness, such as for infinite streams, or when the monad is IO and its a blocking request
2022-01-15 20:00:23 +0100deadmarshal(~deadmarsh@95.38.231.124) (Ping timeout: 256 seconds)
2022-01-15 20:00:38 +0100alx741(~alx741@157.100.93.160)
2022-01-15 20:01:25 +0100max22-(~maxime@2a01cb08833598008919a79e2385461f.ipv6.abo.wanadoo.fr) (Ping timeout: 240 seconds)
2022-01-15 20:01:52 +0100TonyStone(~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com) (Remote host closed the connection)
2022-01-15 20:03:10 +0100justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3)
2022-01-15 20:03:13 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds)
2022-01-15 20:03:51 +0100arctor(~arctor@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net) (Quit: Client closed)
2022-01-15 20:04:55 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-15 20:09:34 +0100fresheyeball(~fresheyeb@c-76-25-93-164.hsd1.co.comcast.net)
2022-01-15 20:09:34 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 20:11:24 +0100xb0o2(~xb0o2@user/xb0o2)
2022-01-15 20:14:17 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480::41) (Ping timeout: 240 seconds)
2022-01-15 20:15:10 +0100LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-15 20:17:08 +0100random__(~random@185.219.68.251)
2022-01-15 20:19:42 +0100random_(~random@185.219.68.251) (Ping timeout: 250 seconds)
2022-01-15 20:26:35 +0100alx741(~alx741@157.100.93.160)
2022-01-15 20:27:23 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293)
2022-01-15 20:28:48 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 20:30:40 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-43-67-70-144-105.dsl.bell.ca)
2022-01-15 20:31:44 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-01-15 20:32:34 +0100 <lechner> Hi, which module exports the "session" in this line, please? https://github.com/nikita-volkov/hasql-tutorial1/blob/master/library/HasqlTutorial1/Transaction.hs…
2022-01-15 20:38:18 +0100max22-(~maxime@2a01cb0883359800fd5419c5ccb7ba8b.ipv6.abo.wanadoo.fr)
2022-01-15 20:40:22 +0100 <EvanR> one of those 4, perhaps the one called Session xD
2022-01-15 20:40:52 +0100 <EvanR> if you don't see it, note modules can re-export entire other modules
2022-01-15 20:41:10 +0100 <pavonia> But it's a qualified import
2022-01-15 20:41:29 +0100 <EvanR> SO IT IS
2022-01-15 20:42:29 +0100 <pavonia> Can you use non-qualified identifiers from qualified imports?
2022-01-15 20:42:58 +0100 <geekosaur> no
2022-01-15 20:43:07 +0100 <EvanR> no it must be from one of the other 2
2022-01-15 20:43:08 +0100 <geekosaur> you'd have to import separately unqualified
2022-01-15 20:43:33 +0100 <geekosaur> they use a different Prelude nbut I'd be surprised if it's there
2022-01-15 20:44:05 +0100euandreh(~euandreh@2804:14c:33:9fe5:16af:8d6b:42b4:6731)
2022-01-15 20:45:29 +0100 <pavonia> And the 4th one seems to be this module https://hackage.haskell.org/package/hasql-transaction-1.0.1.1/docs/Hasql-Transaction.html
2022-01-15 20:47:03 +0100alx741(~alx741@157.100.93.160)
2022-01-15 20:47:21 +0100 <pavonia> lechner: Have you tried loading this example into GHCi and asking it about that function?
2022-01-15 20:48:41 +0100 <byorgey> looks to me like 'session' comes from an older version of the hasql-transaction library: https://hackage.haskell.org/package/hasql-transaction-0.10.0.3/docs/Hasql-Transaction.html#v:session
2022-01-15 20:48:50 +0100ville(~ville@user/ville)
2022-01-15 20:49:00 +0100 <byorgey> but it's not there in hasql-transaction >= 1
2022-01-15 20:49:13 +0100geekosaurwas wondering if it was bitrot
2022-01-15 20:50:02 +0100 <byorgey> that tutorial was last changed in 2019 with a commit that says "move to version 0.10"
2022-01-15 20:50:42 +0100 <byorgey> strangely, that commit was made on the exact same day that version 1 of hasql-transaction was uploaded
2022-01-15 20:50:59 +0100 <ville> howdy. any recommendations for project-based haskell books for some half-hearted learning? the result should be some sort of functional program in the end which might keep me more motivated than a more theoretical one
2022-01-15 20:51:13 +0100 <geekosaur> real world haskell?
2022-01-15 20:51:13 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 20:51:46 +0100 <geekosaur> available online; a little dated but if you use the online version and read the comments you'll get the necessary updates
2022-01-15 20:52:20 +0100 <geekosaur> @where rwh
2022-01-15 20:52:20 +0100 <lambdabot> http://www.realworldhaskell.org/blog/ http://book.realworldhaskell.org/read/
2022-01-15 20:53:17 +0100 <ville> thanks. that seems like a potential book. any others?
2022-01-15 20:53:55 +0100 <geekosaur> I can't think of any off the top of my headm although I think these's some that have you write a calculator as the "final project"
2022-01-15 20:54:10 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2022-01-15 20:54:13 +0100 <geekosaur> @where books
2022-01-15 20:54:13 +0100 <lambdabot> https://www.extrema.is/articles/haskell-books, see also @where LYAH, RWH, YAHT, SOE, HR, PIH, TFwH, wikibook, PCPH, HPFFP, HTAC, TwT, FoP, PFAD, WYAH, non-haskell-books
2022-01-15 20:54:26 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 252 seconds)
2022-01-15 20:54:29 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-15 20:55:06 +0100 <geekosaur> hm, DOE is also a little dated I think but you get to use and extend a library that makes music
2022-01-15 20:55:13 +0100 <geekosaur> er, SOE
2022-01-15 20:55:24 +0100 <geekosaur> I think that';s the one at least
2022-01-15 20:55:29 +0100 <geekosaur> @where SOE
2022-01-15 20:55:29 +0100 <lambdabot> "The Haskell School of Expression: Learning Functional Programming through Multimedia" by Paul Hudak in 2000 at <http://www.cs.yale.edu/homes/hudak/SOE/>,<http://haskell.org/soe/> [broken]
2022-01-15 20:55:34 +0100 <geekosaur> yep
2022-01-15 20:56:34 +0100 <geekosaur> no online version though unles there are illicit copies floating around somewhere
2022-01-15 20:56:51 +0100 <briandaed> ville take look at this list also https://www.extrema.is/articles/haskell-books
2022-01-15 20:58:16 +0100Merfont(~Kaiepi@156.34.47.253) (Remote host closed the connection)
2022-01-15 20:58:43 +0100Kaiepi(~Kaiepi@156.34.47.253)
2022-01-15 20:58:55 +0100 <ville> ok that's a big list. going to take a moment to see what kind of book each is
2022-01-15 20:59:14 +0100Pickchea(~private@user/pickchea)
2022-01-15 21:00:01 +0100vicfred(~vicfred@user/vicfred)
2022-01-15 21:00:09 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2022-01-15 21:00:27 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-15 21:01:07 +0100 <ville> for haskell how relevant is a book from say before-2010 these days?
2022-01-15 21:02:14 +0100 <geekosaur> the language itself has changed only a little. libraries have changed a lot but I think you can still get ghc 6.6 and libraries for it, which would insulate you from most of it
2022-01-15 21:03:32 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-01-15 21:03:33 +0100 <briandaed> ville can you provide more details on what you are going to implement?
2022-01-15 21:03:39 +0100 <geekosaur> (sadly ghcup won't help you there, it doesn't go back far enough to avoid the biggest changes)
2022-01-15 21:03:52 +0100ph88(~ph88@2a02:8109:9e00:71d0::7e04) (Quit: Leaving)
2022-01-15 21:04:01 +0100Pickchea(~private@user/pickchea) (Ping timeout: 256 seconds)
2022-01-15 21:04:12 +0100mud(~mud@user/kadoban) (Quit: quit)
2022-01-15 21:04:18 +0100 <maerwald> ghc 6.6 will likely not work on a modern linux distro anyway
2022-01-15 21:04:24 +0100 <maerwald> even 7.10 stopped working on latest ubuntu
2022-01-15 21:04:34 +0100 <EvanR> a time machine can only travel back to the time of the first time machines principle
2022-01-15 21:04:59 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds)
2022-01-15 21:05:12 +0100juhp(~juhp@128.106.188.82) (Ping timeout: 250 seconds)
2022-01-15 21:05:28 +0100 <ville> briandaed: oh i am not going to implement anything really. just looking at haskell as something to waste some evenings on. hence "half-hearted learning"
2022-01-15 21:07:01 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-15 21:07:37 +0100juhp(~juhp@128.106.188.82)
2022-01-15 21:07:58 +0100 <briandaed> ville then I think Hutton may be best, concise and good for learning althought I wouldn't say it's project-based
2022-01-15 21:08:32 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-01-15 21:09:35 +0100alx741(~alx741@157.100.93.160)
2022-01-15 21:09:38 +0100 <ville> programming in haskell?
2022-01-15 21:09:45 +0100 <briandaed> ville yeah
2022-01-15 21:10:16 +0100 <EvanR> what about write yourself a scheme in 24 hours or whatsitcalled
2022-01-15 21:11:05 +0100 <briandaed> unfortunately didn't read any of theses but read good reviews about 1st of them
2022-01-15 21:12:57 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 21:13:30 +0100zincy_(~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1) (Remote host closed the connection)
2022-01-15 21:13:39 +0100fresheyeball(~fresheyeb@c-76-25-93-164.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
2022-01-15 21:13:45 +0100zincy_(~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1)
2022-01-15 21:15:01 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-01-15 21:16:00 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2022-01-15 21:16:10 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-01-15 21:16:35 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-15 21:16:35 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-15 21:16:35 +0100wroathe(~wroathe@user/wroathe)
2022-01-15 21:17:02 +0100vglfr(~vglfr@88.155.50.55) (Ping timeout: 240 seconds)
2022-01-15 21:19:20 +0100justsomeguy(~justsomeg@user/justsomeguy)
2022-01-15 21:20:30 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-01-15 21:21:01 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-01-15 21:22:21 +0100Kaiepi(~Kaiepi@156.34.47.253) (Read error: Connection reset by peer)
2022-01-15 21:22:23 +0100 <ville> well i'll got some previewing to do. thanks
2022-01-15 21:22:25 +0100ville(~ville@user/ville) ()
2022-01-15 21:22:30 +0100Kaiepi(~Kaiepi@156.34.47.253)
2022-01-15 21:28:17 +0100vysn(~vysn@user/vysn) (Ping timeout: 240 seconds)
2022-01-15 21:28:54 +0100fef(~thedawn@user/thedawn) (Ping timeout: 276 seconds)
2022-01-15 21:29:41 +0100alx741(~alx741@157.100.93.160)
2022-01-15 21:31:22 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 21:31:39 +0100 <zero> half-hearted haskell will waste you more than just some evenings
2022-01-15 21:32:02 +0100meer(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 240 seconds)
2022-01-15 21:35:44 +0100kaph(~kaph@net-2-47-208-144.cust.vodafonedsl.it)
2022-01-15 21:36:05 +0100justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3)
2022-01-15 21:41:25 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-01-15 21:45:46 +0100lavaman(~lavaman@98.38.249.169)
2022-01-15 21:49:38 +0100alx741(~alx741@157.100.93.160)
2022-01-15 21:53:50 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 21:54:48 +0100ShmoSeph(~textual@c-69-248-83-247.hsd1.nj.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-15 21:55:40 +0100Ruit(~textual@c-69-248-83-247.hsd1.nj.comcast.net)
2022-01-15 21:58:47 +0100mahene[m](~mahenemat@2001:470:69fc:105::1:6a93)
2022-01-15 22:00:32 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd) (Remote host closed the connection)
2022-01-15 22:00:49 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd)
2022-01-15 22:06:05 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2022-01-15 22:08:22 +0100Pickchea(~private@user/pickchea)
2022-01-15 22:09:12 +0100Ruit(~textual@c-69-248-83-247.hsd1.nj.comcast.net) (Read error: Connection reset by peer)
2022-01-15 22:10:34 +0100alx741(~alx741@157.100.93.160)
2022-01-15 22:14:10 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 22:14:31 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-01-15 22:14:51 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-01-15 22:17:04 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-01-15 22:20:33 +0100burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
2022-01-15 22:20:36 +0100iteratee_(~kyle@162.218.222.107) (Read error: Connection reset by peer)
2022-01-15 22:21:04 +0100burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2022-01-15 22:21:56 +0100iteratee(~kyle@162.218.222.107)
2022-01-15 22:22:28 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-01-15 22:23:22 +0100xb0o2(~xb0o2@user/xb0o2) (Quit: Client closed)
2022-01-15 22:23:31 +0100hueso(~root@user/hueso) (Quit: hueso)
2022-01-15 22:25:02 +0100Topsi(~Tobias@dyndsl-095-033-090-163.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2022-01-15 22:25:22 +0100burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 250 seconds)
2022-01-15 22:26:35 +0100hueso(~root@user/hueso)
2022-01-15 22:32:11 +0100alx741(~alx741@157.100.93.160)
2022-01-15 22:33:36 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-01-15 22:34:55 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 22:38:00 +0100cosimone`(~user@93-44-186-112.ip98.fastwebnet.it) (Remote host closed the connection)
2022-01-15 22:38:22 +0100val-host(~val-host@2a02:2f0f:9108:b00:6891:37fc:a7bd:3738)
2022-01-15 22:38:59 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-01-15 22:41:35 +0100_ht(~quassel@82-168-34-160.fixed.kpn.net) (Remote host closed the connection)
2022-01-15 22:42:25 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-15 22:42:25 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-15 22:42:25 +0100wroathe(~wroathe@user/wroathe)
2022-01-15 22:45:18 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-01-15 22:48:44 +0100zincy_(~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1) (Remote host closed the connection)
2022-01-15 22:49:07 +0100zincy_(~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1)
2022-01-15 22:49:12 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2022-01-15 22:53:23 +0100alx741(~alx741@157.100.93.160)
2022-01-15 22:54:28 +0100burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2022-01-15 22:57:49 +0100burnside_(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2022-01-15 22:58:22 +0100burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
2022-01-15 23:02:52 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-01-15 23:04:49 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 23:10:46 +0100TonyStone(~TonyStone@2603-7080-8607-c36a-9cdb-69bc-753b-1e50.res6.spectrum.com)
2022-01-15 23:15:29 +0100`2jt(~jtomas@10.red-83-58-228.dynamicip.rima-tde.net) (Ping timeout: 256 seconds)
2022-01-15 23:22:56 +0100alx741(~alx741@157.100.93.160)
2022-01-15 23:23:41 +0100zincy_(~zincy@2a00:23c8:970c:4801:911c:c4ab:2f7e:d3f1) (Remote host closed the connection)
2022-01-15 23:23:43 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-01-15 23:24:51 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-01-15 23:25:21 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Quit: ERC (IRC client for Emacs 27.1))
2022-01-15 23:26:04 +0100Kaiepi(~Kaiepi@156.34.47.253) (Remote host closed the connection)
2022-01-15 23:26:04 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 23:26:28 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 250 seconds)
2022-01-15 23:26:54 +0100Kaiepi(~Kaiepi@156.34.47.253)
2022-01-15 23:28:12 +0100val-host(~val-host@2a02:2f0f:9108:b00:6891:37fc:a7bd:3738) (Ping timeout: 250 seconds)
2022-01-15 23:29:27 +0100meer(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net)
2022-01-15 23:32:46 +0100vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-01-15 23:34:42 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 250 seconds)
2022-01-15 23:37:18 +0100ensyde(~ensyde@2600:1700:2050:1040:17c:22a2:b625:20d7)
2022-01-15 23:37:23 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-15 23:39:47 +0100hueso(~root@user/hueso) (Quit: hueso)
2022-01-15 23:42:52 +0100hueso(~root@user/hueso)
2022-01-15 23:42:57 +0100alx741(~alx741@157.100.93.160)
2022-01-15 23:46:20 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-15 23:51:14 +0100briandaed(~root@185.234.208.208.r.toneticgroup.pl) (Quit: leaving)
2022-01-15 23:57:11 +0100oldsk00l(~znc@ec2-18-185-18-199.eu-central-1.compute.amazonaws.com)
2022-01-15 23:58:31 +0100zer0bitz(~zer0bitz@2001:2003:f444:a000:5143:664b:aeb1:9527) (Read error: Connection reset by peer)
2022-01-15 23:58:45 +0100ensyde(~ensyde@2600:1700:2050:1040:17c:22a2:b625:20d7) (Quit: Leaving)
2022-01-15 23:59:04 +0100ensyde(~ensyde@2600:1700:2050:1040:17c:22a2:b625:20d7)
2022-01-15 23:59:31 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Quit: Lost terminal)
2022-01-15 23:59:50 +0100ensyde(~ensyde@2600:1700:2050:1040:17c:22a2:b625:20d7) (Client Quit)