2022/01/22

2022-01-22 00:01:17 +0100max22-(~maxime@2a01cb0883359800536f505f6298e408.ipv6.abo.wanadoo.fr) (Quit: Leaving)
2022-01-22 00:02:06 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
2022-01-22 00:06:19 +0100 <ephemient> as far as I know, only stack has built-in support for hpack (and even then, it's still recommended to check in the .cabal file)
2022-01-22 00:06:55 +0100 <boxscape_> I was thinking maybe there's a way to run an arbitrary command on a package or something with cabal
2022-01-22 00:07:18 +0100 <geekosaur> I think the only hook for doing that is a custom Setup.hs
2022-01-22 00:07:56 +0100Cale(~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Remote host closed the connection)
2022-01-22 00:07:57 +0100 <boxscape_> sounds like I won't get around changing files directly in the dependency then
2022-01-22 00:08:09 +0100 <boxscape_> in which case I'll just add a cabal file
2022-01-22 00:08:11 +0100 <ephemient> ah, perhaps https://cabal.readthedocs.io/en/latest/cabal-project.html#cfg-field-post-checkout-command
2022-01-22 00:08:18 +0100 <boxscape_> ah, interesting
2022-01-22 00:08:26 +0100 <boxscape_> I'll try it, thanks
2022-01-22 00:09:54 +0100Cale(~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com)
2022-01-22 00:10:23 +0100 <boxscape_> seems to work! Though for some reason it doesn't build my own program after generating the cabal file for the dependency. I imagine I'll figure it out htough.
2022-01-22 00:10:26 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds)
2022-01-22 00:11:41 +0100michalz(~michalz@185.246.204.58) (Remote host closed the connection)
2022-01-22 00:12:24 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-01-22 00:12:29 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection)
2022-01-22 00:13:05 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2022-01-22 00:13:39 +0100MajorBiscuit(~MajorBisc@86-88-79-148.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-01-22 00:14:42 +0100 <zzz> if i want to see the type of join applied to an arrow (using TypeApplications), how would i write it?
2022-01-22 00:15:38 +0100 <geekosaur> % :t join @((->) _)
2022-01-22 00:15:38 +0100 <yahb> geekosaur: (w -> (w -> a)) -> w -> a
2022-01-22 00:15:54 +0100 <boxscape_> looks like this is responsible for what I'm seeing https://github.com/haskell/cabal/issues/7641
2022-01-22 00:17:37 +0100 <zzz> geekosaur: ah, holes! thanks
2022-01-22 00:18:03 +0100 <boxscape_> Ohh I was thinking "what does join have to do with the Arrow class"
2022-01-22 00:18:12 +0100son0p(~ff@181.136.122.143)
2022-01-22 00:23:21 +0100sagax(~sagax_nb@user/sagax)
2022-01-22 00:25:42 +0100lispy(~lispy3@84.69.59.93)
2022-01-22 00:30:16 +0100burnsidesLlama(~burnsides@dhcp168-027.wadham.ox.ac.uk) (Remote host closed the connection)
2022-01-22 00:31:06 +0100yauhsien(~yauhsien@61-231-58-250.dynamic-ip.hinet.net)
2022-01-22 00:34:59 +0100Akiva(~Akiva@user/Akiva)
2022-01-22 00:35:17 +0100yauhsien(~yauhsien@61-231-58-250.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-01-22 00:36:54 +0100foul_owl(~kerry@174-21-143-101.tukw.qwest.net) (Ping timeout: 250 seconds)
2022-01-22 00:39:43 +0100slack1256(~slack1256@191.126.227.213) (Ping timeout: 256 seconds)
2022-01-22 00:41:45 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-22 00:41:45 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-22 00:41:45 +0100wroathe(~wroathe@user/wroathe)
2022-01-22 00:44:26 +0100 <ephemient> boxscape_: as a workaround I suppose you could make your post-checkout command exit failure for now :)
2022-01-22 00:45:00 +0100argento(~argent0@168-227-96-53.ptr.westnet.com.ar) (Ping timeout: 256 seconds)
2022-01-22 00:45:52 +0100 <boxscape_> Hah, true! But it has since turned out I don't need it, since I thought I needed it to get package compatibility with 9.2, but have now found out I can also use 9.0 and use the hackage version of that package.
2022-01-22 00:46:16 +0100 <boxscape_> chances are, the next time I'll encounter a situation where I need a post-checkout command, I'll be on a cabal version where it's fixed
2022-01-22 00:46:38 +0100CHUD(~CHUD@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
2022-01-22 00:48:03 +0100burnsidesLlama(~burnsides@dhcp168-027.wadham.ox.ac.uk)
2022-01-22 00:48:10 +0100zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-01-22 00:52:01 +0100foul_owl(~kerry@94.140.8.106)
2022-01-22 00:53:47 +0100shapr(~user@2601:7c0:c37c:46d0:25fd:6854:a2a7:2f62) (Remote host closed the connection)
2022-01-22 00:54:01 +0100shapr(~user@2601:7c0:c37c:46d0:25fd:6854:a2a7:2f62)
2022-01-22 00:59:52 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:494b:f936:f65f:424f)
2022-01-22 01:01:22 +0100ksqsf(~user@2001:da8:d800:611:ec5d:b229:c7db:9005)
2022-01-22 01:05:45 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-01-22 01:05:56 +0100ksqsf(~user@2001:da8:d800:611:ec5d:b229:c7db:9005) (Ping timeout: 250 seconds)
2022-01-22 01:07:41 +0100SummerSonw(~The_viole@203.77.49.232)
2022-01-22 01:08:48 +0100bitmapper(uid464869@id-464869.lymington.irccloud.com)
2022-01-22 01:09:36 +0100ksqsf(~user@2001:da8:d800:611:74aa:1812:7dce:e04b)
2022-01-22 01:12:10 +0100vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-01-22 01:13:54 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 256 seconds)
2022-01-22 01:14:54 +0100 <polyphem> i have a deriving error, can someone help ? https://paste.tomsmeding.com/RENDjTGF
2022-01-22 01:17:30 +0100 <polyphem> guess i have to use "via" now ?
2022-01-22 01:18:17 +0100TonyStone(~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Remote host closed the connection)
2022-01-22 01:20:00 +0100shapr(~user@2601:7c0:c37c:46d0:25fd:6854:a2a7:2f62) (Remote host closed the connection)
2022-01-22 01:20:13 +0100shapr(~user@2601:7c0:c37c:46d0:25fd:6854:a2a7:2f62)
2022-01-22 01:20:50 +0100 <boxscape_> I believe "via" produces the same code as GND
2022-01-22 01:22:24 +0100 <boxscape_> oh unless you mean via a type other than "NominalDiffTime -> IO a"
2022-01-22 01:22:27 +0100 <boxscape_> not sure if that would work
2022-01-22 01:23:08 +0100 <polyphem> boxscape_: i don't understand the error
2022-01-22 01:23:21 +0100jgeerds(~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 256 seconds)
2022-01-22 01:23:27 +0100 <ski> `NominalDiffTime -> IO a' is not of the shape `(...) a'
2022-01-22 01:24:07 +0100Siv(~fuag1@174.127.249.180) (Read error: Connection reset by peer)
2022-01-22 01:24:29 +0100 <boxscape_> @unmtl ReaderT NominalDiffTime IO a
2022-01-22 01:24:29 +0100 <lambdabot> NominalDiffTime -> IO a
2022-01-22 01:24:30 +0100 <ski> (`IO a' is, if you set `...' to `IO', so that you can use the `Functor'/`Applicative'/`Monad' instance for `IO')
2022-01-22 01:25:00 +0100 <boxscape_> polyphem maybe you can use "deriving (Monad, Applicative, Functor) via ReaderT NominalDiffTime IO a"?
2022-01-22 01:26:04 +0100 <polyphem> so now its not IO a but (->) NominalDiffTime a
2022-01-22 01:26:17 +0100 <polyphem> so now its not IO a but (->) NominalDiffTime IO a
2022-01-22 01:26:23 +0100 <polyphem> so now its not IO a but (->) NominalDiffTime (IO a)
2022-01-22 01:26:26 +0100 <ski> yep
2022-01-22 01:26:41 +0100 <polyphem> boxscape_: i'll try
2022-01-22 01:29:04 +0100TonyStone(~TonyStone@2603-7080-8607-c36a-65df-a0f5-02cd-1378.res6.spectrum.com)
2022-01-22 01:30:02 +0100chomwitt(~chomwitt@2a02:587:dc03:8b00:12c3:7bff:fe6d:d374) (Ping timeout: 240 seconds)
2022-01-22 01:30:07 +0100 <boxscape_> polyphem correction, `deriving (Monad, Applicative, Functor) via ReaderT NominalDiffTime IO`, without the `a` at the end
2022-01-22 01:31:10 +0100 <polyphem> boxscape_: yes , had that too , now it works , thanks a lot
2022-01-22 01:31:18 +0100 <boxscape_> nice
2022-01-22 01:33:36 +0100 <monochrom> Hrm, interesting. I always have "String -> Maybe (a, String)" and tired of handwriting its Monad instance. Perhaps "via StateT String Maybe" will do it for me. (My handwritten Monad instance is exactly that anyway.)
2022-01-22 01:33:58 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-01-22 01:37:27 +0100 <monochrom> newtype P a = P{unP :: String -> Maybe (a, String)} deriving (Functor, Applicative, Monad, MonadFail, Alternative, MonadPlus) via (StateT String Maybe)
2022-01-22 01:37:29 +0100 <monochrom> :)
2022-01-22 01:38:09 +0100argento(~argent0@168-227-97-23.ptr.westnet.com.ar)
2022-01-22 01:38:13 +0100 <boxscape_> neat
2022-01-22 01:39:56 +0100ksqsf(~user@2001:da8:d800:611:74aa:1812:7dce:e04b) (ERC 5.4.1 (IRC client for GNU Emacs 29.0.50))
2022-01-22 01:42:41 +0100 <ephemient> huh, that works? I would have expected Monad ((,) String) to work on ...(String, a) rather than ...(a, String)
2022-01-22 01:43:18 +0100 <boxscape_> this doesn't involve the (,) Monad
2022-01-22 01:43:19 +0100 <geekosaur> @unmtl StateT String Maybe
2022-01-22 01:43:19 +0100 <lambdabot> err: `StateT String Maybe' is not applied to enough arguments, giving `/\A. String -> Maybe (A, String)'
2022-01-22 01:43:24 +0100 <geekosaur> @unmtl StateT String Maybe a
2022-01-22 01:43:24 +0100 <lambdabot> String -> Maybe (a, String)
2022-01-22 01:43:51 +0100 <monochrom> Yes but StateT S is not ReaderT S ((,) S) semantically
2022-01-22 01:44:45 +0100 <ephemient> oh I missed the switch from ReaderT to StateT
2022-01-22 01:45:40 +0100 <boxscape_> hm fun when you search for State in hoogle is `newtype State = State {runState :: s -> (s, a)`, which has the opposite tuple order to StateT
2022-01-22 01:45:43 +0100shapr(~user@2601:7c0:c37c:46d0:25fd:6854:a2a7:2f62) (Remote host closed the connection)
2022-01-22 01:45:52 +0100 <boxscape_> (from Data.Sequence)
2022-01-22 01:45:58 +0100shapr(~user@2601:7c0:c37c:46d0:25fd:6854:a2a7:2f62)
2022-01-22 01:48:17 +0100ski. o O ( s/opposite/correct/ )
2022-01-22 01:48:41 +0100mmhat(~mmh@55d4fecc.access.ecotel.net) (Quit: WeeChat 3.4)
2022-01-22 01:49:18 +0100 <boxscape_> I don't have a  strong opinion on the matter
2022-01-22 01:49:33 +0100 <boxscape_> (though consistency would be nice)
2022-01-22 01:49:42 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 250 seconds)
2022-01-22 01:49:58 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-22 01:50:08 +0100 <monochrom> Oh you look at big endian vs little endian, you can rest assured there will be two consistencies. >:)
2022-01-22 01:50:16 +0100 <glguy> debating the implementation detail of State in its tuple order is a bit like debating what the correct type variables names would be in its implementation
2022-01-22 01:50:31 +0100 <boxscape_> "two consistencies" is a nice way of putting it
2022-01-22 01:50:39 +0100stiell(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 276 seconds)
2022-01-22 01:50:58 +0100ski. o O ( left and right adjoint. least and greatest fixed point. &c. )
2022-01-22 01:51:04 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-22 01:51:13 +0100 <monochrom> I like s->(s,a) as a composition of two functors. But I heard a reason for s->(a,s) based on some advanced category theory I haven't learned.
2022-01-22 01:51:48 +0100 <glguy> s->(a,s) is nice because a comes before s in the alphabet
2022-01-22 01:52:08 +0100 <dolio> monochrom: It's better for ordered logic.
2022-01-22 01:52:32 +0100stiell(~stiell@gateway/tor-sasl/stiell)
2022-01-22 01:53:43 +0100 <ski> given `Gamma |- A -> B' being equivalent to `Gamma,A |- B' or to `A,Gamma |- B' ?
2022-01-22 01:54:09 +0100 <dolio> Right.
2022-01-22 01:54:45 +0100 <ski> the latter ?
2022-01-22 01:55:31 +0100 <dolio> Presumably the former.
2022-01-22 01:55:49 +0100 <ski> yea .. afaiui, the latter makes more sense
2022-01-22 01:56:01 +0100 <dolio> That's how you get `-×S ⊣ S→-`, and put the S second in State.
2022-01-22 01:57:02 +0100 <ski> like `Gamma0,A,A -> B,Gamma1 |- Delta' follows from `Gamma0,B,Gamma1 |- Delta', which seems to be what makes more sense, to me
2022-01-22 01:58:17 +0100myShoggoth(~myShoggot@97-120-67-120.ptld.qwest.net) (Ping timeout: 240 seconds)
2022-01-22 01:58:19 +0100 <ski> (from `A tensor (A^bot par B)' you get `(A tensor A^bot) par B', then `bot par B', then `B')
2022-01-22 01:59:56 +0100 <alphabeta> Can I control the order modules appear in a Hackage package page?
2022-01-22 02:00:31 +0100nunggu(~q@user/nunggu) (Remote host closed the connection)
2022-01-22 02:00:46 +0100 <alphabeta> I've tried explicitly writing out the exposed-modules (in the cabal file) in the order I want
2022-01-22 02:00:56 +0100 <alphabeta> but Hackage still seems to display them alphabetically
2022-01-22 02:01:02 +0100 <glguy> alphabeta: Since they appear alphabetically, and you get to pick the names, yes!
2022-01-22 02:01:03 +0100nunggu(~q@user/nunggu)
2022-01-22 02:01:11 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 02:01:15 +0100 <alphabeta> Aw, glguy alright.
2022-01-22 02:01:17 +0100tommd(~tommd@67-42-147-226.ptld.qwest.net) (Ping timeout: 240 seconds)
2022-01-22 02:02:07 +0100 <monochrom> It's why in the 1990s, readme.txt was often 00readme.txt
2022-01-22 02:03:00 +0100 <geekosaur> I still see that occasionally. Possibly cargo-culted
2022-01-22 02:03:05 +0100 <monochrom> And in the movie The Accountant, the protagonist named his 1-person accounting firm ZZZ Accounting to avoid getting noticed.
2022-01-22 02:04:16 +0100 <c_wraith> that's a name that would get my attention. Not in a positive way...
2022-01-22 02:04:16 +0100 <alphabeta> ah, haha...
2022-01-22 02:04:50 +0100 <ephemient> https://github.com/lsof-org/lsof "00README" "00README.FIRST" "00README.BEFORE.README.FIRST" (...really)
2022-01-22 02:04:51 +0100 <geekosaur> go look at how many locksmiths are Aaaa AAA A-Abra-Cadabra or something like that
2022-01-22 02:05:17 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2022-01-22 02:05:19 +0100 <monochrom> Oh, the idea is that people who open up a physical-paper copy of Yellow Page looking for accountants would not get to Z.
2022-01-22 02:05:23 +0100 <boxscape_> should've named it 000README.FIRST, otherwise how will I know it comes before 00README
2022-01-22 02:05:34 +0100 <geekosaur> that is,m if you can find a phone book in this enlightened age :þ
2022-01-22 02:05:47 +0100 <boxscape_> oh wait
2022-01-22 02:05:59 +0100 <boxscape_> they basically did, it's 00.README.FIRST
2022-01-22 02:06:21 +0100Tuplanolla(~Tuplanoll@91-159-68-166.elisa-laajakaista.fi) (Quit: Leaving.)
2022-01-22 02:06:26 +0100 <monochrom> But yes you're right that an FBI detective would know that ZZZ Accounting means there is something to hide.
2022-01-22 02:06:36 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-01-22 02:06:44 +0100 <ephemient> oh yeah, "00.README.FIRST" and "0..README.BEFORE.README.FIRST", so it is first-er
2022-01-22 02:07:02 +0100 <geekosaur> seems unnecessary, B before F
2022-01-22 02:07:08 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-22 02:07:08 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-22 02:07:08 +0100wroathe(~wroathe@user/wroathe)
2022-01-22 02:07:10 +0100 <monochrom> Oh, readme.1st and 00readme.1st existed, too!
2022-01-22 02:08:11 +0100 <monochrom> Also remember the 7.3 constraint. We're talking about FAT16.
2022-01-22 02:08:18 +0100 <geekosaur> 8.3
2022-01-22 02:08:24 +0100 <monochrom> oops yeah
2022-01-22 02:08:40 +0100 <geekosaur> and the occasional 6.3 from tenex-based archive sites
2022-01-22 02:09:15 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2022-01-22 02:10:07 +0100 <geekosaur> (although I think one of the things that made tenex "-ex" was longer file names… at the expense of fewer filenames per directory iirc)
2022-01-22 02:10:54 +0100 <ephemient> on the flip side, you can have https://github.com/shemminger/iproute2/blob/753ef5b/tc/README.last (although the file ordering isn't really conducive to reading last)
2022-01-22 02:11:36 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-01-22 02:12:17 +0100 <monochrom> Did anyone use reverse psychology and label their user guide "top secret do not read"? >:)
2022-01-22 02:12:57 +0100shapr(~user@2601:7c0:c37c:46d0:25fd:6854:a2a7:2f62) (Remote host closed the connection)
2022-01-22 02:13:10 +0100shapr(~user@2601:7c0:c37c:46d0:25fd:6854:a2a7:2f62)
2022-01-22 02:14:53 +0100 <zzz> is (a ~ b) indistinguishable from (b ~ a) ?
2022-01-22 02:15:49 +0100 <geekosaur> it's just unification in the typechecker, I don't think it cares about order
2022-01-22 02:16:00 +0100 <zzz> ok
2022-01-22 02:16:19 +0100machinedgod(~machinedg@24.105.81.50)
2022-01-22 02:16:37 +0100Akiva(~Akiva@user/Akiva) (Ping timeout: 256 seconds)
2022-01-22 02:17:04 +0100xb0o2(~xb0o2@user/xb0o2) (Quit: Client closed)
2022-01-22 02:17:43 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-01-22 02:23:57 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-01-22 02:29:17 +0100johnw(~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0) (Quit: ZNC - http://znc.in)
2022-01-22 02:30:47 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-01-22 02:33:40 +0100xstill-(xstill@fimu/xstill) (Quit: Ping timeout (120 seconds))
2022-01-22 02:33:45 +0100xsarnik(xsarnik@lounge.fi.muni.cz) (Quit: Ping timeout (120 seconds))
2022-01-22 02:34:11 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-22 02:34:11 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-22 02:34:11 +0100wroathe(~wroathe@user/wroathe)
2022-01-22 02:35:37 +0100vysn(~vysn@user/vysn)
2022-01-22 02:36:17 +0100xstill-(xstill@fimu/xstill)
2022-01-22 02:39:08 +0100shapr(~user@2601:7c0:c37c:46d0:25fd:6854:a2a7:2f62) (Remote host closed the connection)
2022-01-22 02:39:22 +0100shapr(~user@2601:7c0:c37c:46d0:25fd:6854:a2a7:2f62)
2022-01-22 02:40:54 +0100xsarnik(xsarnik@lounge.fi.muni.cz)
2022-01-22 02:45:14 +0100lbseale(~ep1ctetus@user/ep1ctetus) (Quit: Leaving)
2022-01-22 02:48:44 +0100myShoggoth(~myShoggot@97-120-67-120.ptld.qwest.net)
2022-01-22 02:50:20 +0100 <zzz> is anyone familiar with the E type system mentioned here http://repetae.net/computer/jhc/jhc.shtml ?
2022-01-22 02:54:18 +0100lispy(~lispy3@84.69.59.93) (Quit: Leaving)
2022-01-22 02:54:37 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-01-22 03:00:35 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-01-22 03:01:14 +0100acidsys(~LSD@2.lsd.systems) (Excess Flood)
2022-01-22 03:01:23 +0100califax-(~califax@user/califx)
2022-01-22 03:01:46 +0100acidsys(~LSD@2.lsd.systems)
2022-01-22 03:02:13 +0100ksqsf(~user@2001:da8:d800:611:74aa:1812:7dce:e04b)
2022-01-22 03:02:29 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2022-01-22 03:02:29 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-01-22 03:02:45 +0100burnsidesLlama(~burnsides@dhcp168-027.wadham.ox.ac.uk) (Remote host closed the connection)
2022-01-22 03:03:57 +0100alp(~alp@user/alp) (Ping timeout: 240 seconds)
2022-01-22 03:04:06 +0100califax(~califax@user/califx) (Ping timeout: 276 seconds)
2022-01-22 03:04:06 +0100califax-califax
2022-01-22 03:05:50 +0100shapr(~user@2601:7c0:c37c:46d0:25fd:6854:a2a7:2f62) (Remote host closed the connection)
2022-01-22 03:06:05 +0100shapr(~user@2601:7c0:c37c:46d0:25fd:6854:a2a7:2f62)
2022-01-22 03:07:00 +0100alp(~alp@user/alp)
2022-01-22 03:09:00 +0100argento(~argent0@168-227-97-23.ptr.westnet.com.ar) (Ping timeout: 250 seconds)
2022-01-22 03:09:14 +0100 <Axman6> Hecate: it's North Queensland, 'nuf said
2022-01-22 03:13:09 +0100 <zzz> https://twitter.com/SEdwards0108/status/1484415347763851265
2022-01-22 03:13:26 +0100unyu(~pyon@user/pyon)
2022-01-22 03:24:27 +0100argento(~argent0@168-227-97-23.ptr.westnet.com.ar)
2022-01-22 03:26:20 +0100xff0x(~xff0x@2001:1a81:52b8:8500:732c:1822:8f35:ae7) (Ping timeout: 250 seconds)
2022-01-22 03:26:57 +0100myShoggoth(~myShoggot@97-120-67-120.ptld.qwest.net) (Ping timeout: 240 seconds)
2022-01-22 03:27:25 +0100zmt00(~zmt00@user/zmt00) (Read error: Connection reset by peer)
2022-01-22 03:28:21 +0100xff0x(~xff0x@2001:1a81:52f4:b00:8413:5c77:eacd:b6f4)
2022-01-22 03:29:22 +0100ksqsf(~user@2001:da8:d800:611:74aa:1812:7dce:e04b) (Ping timeout: 250 seconds)
2022-01-22 03:29:27 +0100zmt00(~zmt00@user/zmt00)
2022-01-22 03:32:34 +0100shapr(~user@2601:7c0:c37c:46d0:25fd:6854:a2a7:2f62) (Remote host closed the connection)
2022-01-22 03:32:47 +0100shapr(~user@2601:7c0:c37c:46d0:25fd:6854:a2a7:2f62)
2022-01-22 03:32:50 +0100zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-01-22 03:33:16 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 250 seconds)
2022-01-22 03:33:21 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-01-22 03:36:11 +0100zaquest(~notzaques@5.130.79.72)
2022-01-22 03:42:01 +0100alx741(~alx741@157.100.93.160) (Quit: alx741)
2022-01-22 03:43:57 +0100nunggu(~q@user/nunggu) (Quit: nunggu)
2022-01-22 03:48:36 +0100bitmapper(uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-01-22 03:48:44 +0100nunggu(~q@user/nunggu)
2022-01-22 03:49:38 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 03:54:48 +0100myShoggoth(~myShoggot@97-120-67-120.ptld.qwest.net)
2022-01-22 03:58:18 +0100AlexZenon_2(~alzenon@94.233.241.14)
2022-01-22 03:59:12 +0100califax-(~califax@user/califx)
2022-01-22 03:59:14 +0100ksqsf(~user@2001:da8:d800:611:6124:3c0b:af08:60c3)
2022-01-22 03:59:56 +0100AlexZenon(~alzenon@94.233.241.14) (Ping timeout: 256 seconds)
2022-01-22 04:00:17 +0100mbuf(~Shakthi@122.174.198.26)
2022-01-22 04:01:37 +0100 <whatif> how to put "." and ".." to the head of alist in alist like ["a",".","b",".."]
2022-01-22 04:01:54 +0100 <whatif> filter?
2022-01-22 04:02:43 +0100 <EvanR> sortBy
2022-01-22 04:03:05 +0100 <whatif> by what?
2022-01-22 04:03:07 +0100 <ephemient> > sort ["a",".","b",".."]
2022-01-22 04:03:31 +0100 <EvanR> > sort ["a",".","b",".."] -- show me the money!
2022-01-22 04:03:32 +0100 <lambdabot> [".","..","a","b"]
2022-01-22 04:03:35 +0100 <EvanR> dang nvm
2022-01-22 04:03:48 +0100 <whatif> but only "." and ".." need to be the first, others remain their place
2022-01-22 04:03:50 +0100 <EvanR> sort by the default
2022-01-22 04:03:54 +0100califax(~califax@user/califx) (Ping timeout: 276 seconds)
2022-01-22 04:03:55 +0100califax-califax
2022-01-22 04:03:55 +0100 <EvanR> oh
2022-01-22 04:03:59 +0100 <EvanR> why
2022-01-22 04:04:50 +0100 <whatif> keep the newest on the top
2022-01-22 04:04:50 +0100 <ephemient> > sortOn (any (/= '.')) ["a",".","b",".."]
2022-01-22 04:04:52 +0100 <lambdabot> [".","..","a","b"]
2022-01-22 04:04:56 +0100 <EvanR> > [".",".."] ++ (delete "." . delete "..") ["b",".","a",".."]
2022-01-22 04:04:57 +0100 <lambdabot> [".","..","b","a"]
2022-01-22 04:05:33 +0100 <EvanR> how did . and .. get down there anyway
2022-01-22 04:05:37 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 240 seconds)
2022-01-22 04:06:04 +0100 <whatif> getDirectoryContent
2022-01-22 04:08:00 +0100 <ephemient> oh. if they're paths then treat . and .. specially
2022-01-22 04:08:02 +0100 <EvanR> it would be more convenient if you could not even have them in the first place
2022-01-22 04:08:13 +0100 <EvanR> prepend them to the list as needed
2022-01-22 04:08:13 +0100 <whatif> is getDirectoryContent get the list of file name sorted by its created time?
2022-01-22 04:08:20 +0100 <ephemient> note that it is not guaranteed that directory entries for . and .. will or won't be present
2022-01-22 04:08:53 +0100 <ephemient> https://pubs.opengroup.org/onlinepubs/007904875/functions/readdir_r.html only that if dot and dot-dot entries exist, they will only appear once
2022-01-22 04:09:03 +0100 <whatif> EvanR there is listDirectory but it seems not worked
2022-01-22 04:09:05 +0100 <ephemient> but it is valid for them to not exist
2022-01-22 04:11:17 +0100 <whatif> is there other functions? to get directory content?
2022-01-22 04:12:34 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-01-22 04:12:59 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2022-01-22 04:16:26 +0100 <ephemient> really there is no difference between getDirectoryContents and listDirectory beyond the latter calling the former and filtering out . and ..: https://hackage.haskell.org/package/directory-1.3.7.0/docs/src/System.Directory.html#listDirectory
2022-01-22 04:17:17 +0100vglfr(~vglfr@46.96.174.179) (Ping timeout: 240 seconds)
2022-01-22 04:18:39 +0100Everything(~Everythin@37.115.210.35)
2022-01-22 04:20:46 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-22 04:24:42 +0100 <whatif> ok
2022-01-22 04:25:08 +0100nitrix(~nitrix@user/nitrix)
2022-01-22 04:25:37 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2022-01-22 04:26:34 +0100ec(~ec@gateway/tor-sasl/ec)
2022-01-22 04:26:56 +0100vglfr(~vglfr@46.96.174.179)
2022-01-22 04:29:04 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-01-22 04:29:04 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-01-22 04:29:04 +0100finn_elijaFinnElija
2022-01-22 04:29:45 +0100deadmarshal(~deadmarsh@95.38.117.216)
2022-01-22 04:29:57 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds)
2022-01-22 04:31:06 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2022-01-22 04:31:17 +0100td_(~td@94.134.91.211) (Ping timeout: 240 seconds)
2022-01-22 04:33:25 +0100td_(~td@94.134.91.124)
2022-01-22 04:34:19 +0100deadmarshal(~deadmarsh@95.38.117.216) (Ping timeout: 256 seconds)
2022-01-22 04:34:21 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-01-22 04:38:02 +0100dyeplexer(~dyeplexer@user/dyeplexer)
2022-01-22 04:42:15 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
2022-01-22 04:43:17 +0100alp(~alp@user/alp) (Ping timeout: 268 seconds)
2022-01-22 04:49:44 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-01-22 04:51:37 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2022-01-22 04:54:48 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-22 04:54:54 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-01-22 04:58:06 +0100img(~img@user/img)
2022-01-22 05:03:32 +0100ksqsf(~user@2001:da8:d800:611:6124:3c0b:af08:60c3) (Ping timeout: 240 seconds)
2022-01-22 05:06:50 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep)
2022-01-22 05:13:42 +0100zmt00(~zmt00@user/zmt00) (Read error: Connection reset by peer)
2022-01-22 05:14:56 +0100ec(~ec@gateway/tor-sasl/ec)
2022-01-22 05:15:06 +0100zmt00(~zmt00@user/zmt00)
2022-01-22 05:15:28 +0100syntactic_sugar(~amoljha@2601:644:8601:2e30::a5c9)
2022-01-22 05:16:53 +0100vicfred(~vicfred@user/vicfred)
2022-01-22 05:19:05 +0100ukari(~ukari@user/ukari) (Remote host closed the connection)
2022-01-22 05:19:23 +0100ncopa3(~ncopa@gbr2-dev1.alpinelinux.org) (Remote host closed the connection)
2022-01-22 05:19:54 +0100ukari(~ukari@user/ukari)
2022-01-22 05:20:03 +0100ncopa3(~ncopa@gbr2-dev1.alpinelinux.org)
2022-01-22 05:20:42 +0100ncopa3(~ncopa@gbr2-dev1.alpinelinux.org) (Remote host closed the connection)
2022-01-22 05:28:39 +0100ksqsf(~user@2001:da8:d800:611:c13d:b81b:be0e:11e7)
2022-01-22 05:33:18 +0100ksqsf(~user@2001:da8:d800:611:c13d:b81b:be0e:11e7) (Ping timeout: 250 seconds)
2022-01-22 05:34:55 +0100jenna8912(~jenna@c-107-5-104-51.hsd1.mi.comcast.net) (Quit: Reconnecting)
2022-01-22 05:35:07 +0100jenna8912(~jenna@c-107-5-104-51.hsd1.mi.comcast.net)
2022-01-22 05:38:09 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
2022-01-22 05:39:54 +0100ksqsf(~user@2001:da8:d800:611:d9b6:69a8:2257:386c)
2022-01-22 05:47:49 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-35-70-24-248-134.dsl.bell.ca) (Quit: ZNC 1.8.2 - https://znc.in)
2022-01-22 05:51:05 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-35-70-24-248-134.dsl.bell.ca)
2022-01-22 05:58:41 +0100syntactic_sugar(~amoljha@2601:644:8601:2e30::a5c9) (Quit: WeeChat 3.3)
2022-01-22 05:58:54 +0100slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2022-01-22 06:00:04 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 06:12:37 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-01-22 06:15:40 +0100Guest20202(~Guest2020@c-73-231-173-85.hsd1.ca.comcast.net)
2022-01-22 06:15:45 +0100vglfr(~vglfr@46.96.174.179) (Ping timeout: 256 seconds)
2022-01-22 06:15:56 +0100Guest20202(~Guest2020@c-73-231-173-85.hsd1.ca.comcast.net) (Remote host closed the connection)
2022-01-22 06:15:56 +0100jenna8912(~jenna@c-107-5-104-51.hsd1.mi.comcast.net) (Ping timeout: 256 seconds)
2022-01-22 06:16:00 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 06:19:29 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 268 seconds)
2022-01-22 06:19:53 +0100yauhsien(~yauhsien@61-231-58-250.dynamic-ip.hinet.net)
2022-01-22 06:20:55 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-22 06:20:55 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-22 06:20:55 +0100wroathe(~wroathe@user/wroathe)
2022-01-22 06:22:21 +0100boxscape_(~boxscape_@p4ff0b9d5.dip0.t-ipconnect.de) (Quit: Connection closed)
2022-01-22 06:24:15 +0100yauhsien(~yauhsien@61-231-58-250.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-01-22 06:25:17 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-01-22 06:26:16 +0100kaph(~kaph@net-2-47-208-144.cust.vodafonedsl.it) (Ping timeout: 268 seconds)
2022-01-22 06:30:57 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 240 seconds)
2022-01-22 06:33:09 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2022-01-22 06:37:40 +0100deadmarshal(~deadmarsh@95.38.117.216)
2022-01-22 06:40:00 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 06:50:36 +0100ardell(~ardell@user/ardell)
2022-01-22 06:50:57 +0100deadmarshal(~deadmarsh@95.38.117.216) (Ping timeout: 240 seconds)
2022-01-22 06:51:20 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-22 06:55:15 +0100martin02(~silas@141.84.69.76) (Read error: Connection reset by peer)
2022-01-22 06:55:49 +0100martin02(~silas@141.84.69.76)
2022-01-22 06:57:35 +0100deadmarshal(~deadmarsh@95.38.117.216)
2022-01-22 06:59:37 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 07:01:03 +0100argento(~argent0@168-227-97-23.ptr.westnet.com.ar) (Remote host closed the connection)
2022-01-22 07:02:21 +0100_xor(~xor@dsl-50-5-233-169.fuse.net) (Quit: brb)
2022-01-22 07:06:43 +0100fef(~thedawn@user/thedawn)
2022-01-22 07:08:32 +0100yauhsien(~yauhsien@61-231-58-250.dynamic-ip.hinet.net)
2022-01-22 07:08:52 +0100rusrushal13(~rusrushal@2401:4900:30b8:7574:7056:ba63:5158:d96f)
2022-01-22 07:09:47 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-22 07:09:47 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-22 07:09:47 +0100wroathe(~wroathe@user/wroathe)
2022-01-22 07:12:37 +0100yauhsien(~yauhsien@61-231-58-250.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-01-22 07:13:32 +0100prasad(~user@c-73-170-49-136.hsd1.ca.comcast.net)
2022-01-22 07:14:39 +0100ix(~ix@2a02:8010:674f:0:cda6:d05:f0d7:4922)
2022-01-22 07:15:05 +0100 <ix> ski: huh, you vanished other places
2022-01-22 07:17:04 +0100 <ix> joeyh: hey, im fiddling with your propellor :) trying to add another OS, so i'm looking for a way to generalize `pickOS`. Unfortunately i've never used Sing or Type families before so I'm so lost here... any pointers?
2022-01-22 07:17:18 +0100 <prasad> I want to write a function which would take a [Int] -> [Int]. Inside the function I want to multiply each number by 5 and return a single [Int] if it matches the particular criteria or return the entire list multiplied by 5
2022-01-22 07:17:42 +0100 <prasad> Need help with this
2022-01-22 07:18:11 +0100 <ix> prasad: maybe implement that step by step, if that makes it easier
2022-01-22 07:19:02 +0100EsoAlgo(~EsoAlgo@152.70.142.52) (Ping timeout: 240 seconds)
2022-01-22 07:19:25 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 07:19:51 +0100_xor(~xor@dsl-50-5-233-169.fuse.net)
2022-01-22 07:20:54 +0100 <prasad> The issue is I don't want to process the entire list and then filter the elements.
2022-01-22 07:21:14 +0100 <prasad> I want to return early if the criteria is matched
2022-01-22 07:23:00 +0100Jing(~hedgehog@115.207.51.203)
2022-01-22 07:25:38 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-01-22 07:26:40 +0100 <ix> https://hackage.haskell.org/package/propellor-5.1.0/docs/src/Propellor-Property.html#pickOS if anyone else can help?
2022-01-22 07:27:30 +0100 <ix> prasad: so an alternative computation
2022-01-22 07:29:47 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2022-01-22 07:30:21 +0100 <ix> prasad: `<|> :: Maybe a -> Maybe a -> Maybe a` where `Nothing <|> m = m`, `m <|> Nothing = m` and `Nothing <|> Nothing = Nothing`
2022-01-22 07:30:43 +0100 <ix> You'll be able to build something on that i'm sure
2022-01-22 07:31:05 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 07:31:12 +0100 <prasad> checkMultiple::[Int] -> [Int]
2022-01-22 07:31:12 +0100 <prasad> checkMultiple [] = []
2022-01-22 07:31:12 +0100 <prasad> checkMultiple (x:xs) = let b = x * 20 in
2022-01-22 07:31:12 +0100 <prasad> case b of
2022-01-22 07:31:15 +0100 <prasad> 20 -> [10]
2022-01-22 07:31:18 +0100 <prasad> _ -> b: checkMultiple xs
2022-01-22 07:32:01 +0100 <prasad> If I pass [2,3,1,5] it returns [40,60,10]
2022-01-22 07:32:24 +0100 <prasad> I want to return only [10]
2022-01-22 07:33:51 +0100fef(~thedawn@user/thedawn) (Ping timeout: 276 seconds)
2022-01-22 07:34:10 +0100 <prasad> Should I use Either
2022-01-22 07:34:36 +0100 <prasad> checkMultiple ::[Int] -> Either a
2022-01-22 07:35:14 +0100 <ix> prasad: implement it step by step.
2022-01-22 07:35:38 +0100 <ix> First, multiply the list. Have a list with everything multiplied. Stop there
2022-01-22 07:36:34 +0100 <ix> Then, scan the list, mapping it into Maybes. Then, you just look for the first Just.
2022-01-22 07:36:51 +0100 <ix> Don't overcomplicate it
2022-01-22 07:38:06 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2022-01-22 07:39:44 +0100 <ksqsf> prasad: doing it step by step in haskell is no problem; lists are lazily evaluated
2022-01-22 07:40:41 +0100 <ix> joeyh: feel free to just ping me when you return, i'll see it
2022-01-22 07:43:35 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 07:43:51 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 07:44:44 +0100EsoAlgo(~EsoAlgo@152.70.142.52)
2022-01-22 07:46:05 +0100Everything(~Everythin@37.115.210.35) (Quit: leaving)
2022-01-22 07:47:56 +0100fef(~thedawn@user/thedawn)
2022-01-22 07:50:57 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 240 seconds)
2022-01-22 07:51:00 +0100chomwitt(~chomwitt@ppp-94-67-1-27.home.otenet.gr)
2022-01-22 07:51:41 +0100 <prasad> ix: would it be possible for you to review https://gist.github.com/presci/b8b3ac2a52528339c33b6cb018248668
2022-01-22 07:52:10 +0100 <prasad> https://adventofcode.com/2021/day/4
2022-01-22 07:52:48 +0100 <prasad> In the code I have 2 functions isWinner and updateBingoBoard this is tested and it works
2022-01-22 07:53:23 +0100 <prasad> The issue is if I have lot of boards. And if I find some board that matches the criteria
2022-01-22 07:53:30 +0100 <prasad> I don't want to process the list any further
2022-01-22 07:55:15 +0100 <prasad> I can process the all the board with fmap and map function
2022-01-22 07:55:29 +0100rusrushal13(~rusrushal@2401:4900:30b8:7574:7056:ba63:5158:d96f) (Ping timeout: 256 seconds)
2022-01-22 07:58:54 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-01-22 08:00:12 +0100SummerSonw(~The_viole@203.77.49.232) (Ping timeout: 250 seconds)
2022-01-22 08:00:57 +0100zmt00(~zmt00@user/zmt00) (Ping timeout: 240 seconds)
2022-01-22 08:01:41 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 08:04:24 +0100 <ix> prasad: what do you think this function does? -- func xs = asum $ map (\x -> if x == 7 then Just (x*5) else Nothing) xs
2022-01-22 08:05:00 +0100vglfr(~vglfr@88.155.83.78)
2022-01-22 08:05:09 +0100 <ix> prasad: and more importantly, what happens when you apply it to [1..] (infinite list of numbers counting up from 1)
2022-01-22 08:05:26 +0100 <ix> > [1..]
2022-01-22 08:05:27 +0100 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,...
2022-01-22 08:05:42 +0100nunggu(~q@user/nunggu) (Ping timeout: 276 seconds)
2022-01-22 08:07:35 +0100nunggu(~q@user/nunggu)
2022-01-22 08:08:34 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 08:09:17 +0100mvk(~mvk@2607:fea8:5cdd:f000::55f8) (Ping timeout: 240 seconds)
2022-01-22 08:10:09 +0100 <prasad> map would be evaluated once till x == 7 even if the list is infinite
2022-01-22 08:11:05 +0100mvk(~mvk@173.33.176.132)
2022-01-22 08:11:57 +0100shapr(~user@2601:7c0:c37c:46d0:25fd:6854:a2a7:2f62) (Ping timeout: 240 seconds)
2022-01-22 08:14:42 +0100 <ix> prasad: exactly, so return would be 35
2022-01-22 08:14:46 +0100deadmarshal(~deadmarsh@95.38.117.216) (Quit: ZNC 1.8.2 - https://znc.in)
2022-01-22 08:15:10 +0100deadmarshal(~deadmarsh@95.38.117.216)
2022-01-22 08:15:21 +0100 <ix> > (\xs -> asum $ map (\x -> if x == 7 then Just (x*5) else Nothing) xs) [1..]
2022-01-22 08:15:23 +0100 <lambdabot> Just 35
2022-01-22 08:15:40 +0100 <ix> prasad: so, how can you apply that to your situation?
2022-01-22 08:16:43 +0100 <ix> Laziness :) i asked haskell to run an infinite number of calls, it skipped most of them cause only the first 7 matter
2022-01-22 08:17:13 +0100 <ix> Note: asum is just a fold with <|>, which i described above
2022-01-22 08:17:27 +0100 <ix> :t asum
2022-01-22 08:17:28 +0100 <lambdabot> (Foldable t, Alternative f) => t (f a) -> f a
2022-01-22 08:17:33 +0100 <ix> :t <|>
2022-01-22 08:17:34 +0100 <lambdabot> error: parse error on input ‘<|>’
2022-01-22 08:17:40 +0100 <ix> :t (<|>)
2022-01-22 08:17:42 +0100 <lambdabot> Alternative f => f a -> f a -> f a
2022-01-22 08:18:41 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 08:22:38 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 08:22:57 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-01-22 08:28:16 +0100notzmv(~zmv@user/notzmv)
2022-01-22 08:31:02 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-22 08:31:02 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-22 08:31:02 +0100wroathe(~wroathe@user/wroathe)
2022-01-22 08:32:17 +0100fizzsegfaultbuzz(~segfaultf@135-180-0-138.static.sonic.net) (Ping timeout: 240 seconds)
2022-01-22 08:34:41 +0100 <prasad> ix: Thank you so much
2022-01-22 08:34:53 +0100 <ix> Np
2022-01-22 08:35:44 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2022-01-22 08:35:47 +0100Jing(~hedgehog@115.207.51.203) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-22 08:36:03 +0100frx(~bc8147f2@cerf.good1.com)
2022-01-22 08:37:39 +0100 <frx> hi. what is a good web scaper for haskell?
2022-01-22 08:37:55 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-01-22 08:38:43 +0100xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-01-22 08:40:09 +0100nunggu(~q@user/nunggu) (Ping timeout: 276 seconds)
2022-01-22 08:42:14 +0100SummerSonw(~The_viole@203.77.49.232)
2022-01-22 08:43:06 +0100nunggu(~q@user/nunggu)
2022-01-22 08:43:07 +0100Jing(~hedgehog@240e:390:7c53:a7e1:9dd8:fa79:cee0:389c)
2022-01-22 08:44:57 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 08:46:36 +0100 <ksqsf> frx: scalpel is pretty good
2022-01-22 08:47:05 +0100 <ksqsf> @package scalpel
2022-01-22 08:47:05 +0100 <lambdabot> https://hackage.haskell.org/package/scalpel
2022-01-22 08:49:25 +0100 <frx> thanks!
2022-01-22 08:49:57 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 08:53:42 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2022-01-22 09:02:37 +0100polyphem(~rod@2a02:810d:840:8754:b6f3:5141:3b3:83de) (Ping timeout: 240 seconds)
2022-01-22 09:02:47 +0100polyphem(~rod@2a02:810d:840:8754:b6f3:5141:3b3:83de)
2022-01-22 09:02:56 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-22 09:03:55 +0100 <ix> Well, at least i got _something_ working, it's just not pretty...
2022-01-22 09:10:57 +0100myShoggoth(~myShoggot@97-120-67-120.ptld.qwest.net) (Ping timeout: 240 seconds)
2022-01-22 09:12:44 +0100dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 256 seconds)
2022-01-22 09:13:54 +0100akurilin_(uid322841@id-322841.ilkley.irccloud.com) (Quit: Connection closed for inactivity)
2022-01-22 09:14:52 +0100myShoggoth(~myShoggot@97-120-67-120.ptld.qwest.net)
2022-01-22 09:15:10 +0100ncopa3(~ncopa@gbr2-dev1.alpinelinux.org)
2022-01-22 09:15:59 +0100jrm(~jrm@156.34.173.250) (Quit: ciao)
2022-01-22 09:16:17 +0100jrm(~jrm@156.34.173.250)
2022-01-22 09:17:22 +0100Guest35(~Guest35@035-134-068-107.res.spectrum.com)
2022-01-22 09:17:22 +0100vglfr(~vglfr@88.155.83.78) (Read error: Connection reset by peer)
2022-01-22 09:17:33 +0100vglfr(~vglfr@88.155.83.78)
2022-01-22 09:19:31 +0100ukari(~ukari@user/ukari) (Remote host closed the connection)
2022-01-22 09:20:41 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 09:21:58 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-22 09:23:16 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2022-01-22 09:24:11 +0100polyphem(~rod@2a02:810d:840:8754:b6f3:5141:3b3:83de) (Quit: WeeChat 3.4)
2022-01-22 09:24:23 +0100polyphem(~rod@2a02:810d:840:8754:b6f3:5141:3b3:83de)
2022-01-22 09:29:37 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 09:29:37 +0100_ht(~quassel@2a02:a468:b619:1:aa62:dbcc:166b:da6a)
2022-01-22 09:35:03 +0100Guest35(~Guest35@035-134-068-107.res.spectrum.com) (Quit: Client closed)
2022-01-22 09:35:47 +0100vglfr(~vglfr@88.155.83.78) (Ping timeout: 256 seconds)
2022-01-22 09:39:40 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 09:41:27 +0100dyeplexer(~dyeplexer@user/dyeplexer)
2022-01-22 09:51:17 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:494b:f936:f65f:424f) (Remote host closed the connection)
2022-01-22 09:52:15 +0100mmhat(~mmh@55d4e57c.access.ecotel.net)
2022-01-22 09:52:34 +0100vglfr(~vglfr@88.155.83.78)
2022-01-22 09:53:32 +0100geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Ping timeout: 240 seconds)
2022-01-22 09:56:22 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-01-22 10:00:37 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-22 10:00:45 +0100fef(~thedawn@user/thedawn) (Ping timeout: 276 seconds)
2022-01-22 10:02:01 +0100gehmehgeh(~user@user/gehmehgeh)
2022-01-22 10:10:12 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 10:14:32 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2022-01-22 10:16:04 +0100max22-(~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr)
2022-01-22 10:17:44 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2022-01-22 10:17:44 +0100allbery_b(~geekosaur@xmonad/geekosaur)
2022-01-22 10:17:47 +0100allbery_bgeekosaur
2022-01-22 10:18:21 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 10:20:31 +0100gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2022-01-22 10:21:05 +0100sayola(~vekto@dslb-088-064-186-153.088.064.pools.vodafone-ip.de)
2022-01-22 10:21:12 +0100gehmehgeh(~user@user/gehmehgeh)
2022-01-22 10:25:24 +0100vysn(~vysn@user/vysn) (Remote host closed the connection)
2022-01-22 10:25:56 +0100xkuru(~xkuru@user/xkuru)
2022-01-22 10:27:02 +0100xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-01-22 10:29:42 +0100ksqsf(~user@2001:da8:d800:611:d9b6:69a8:2257:386c) (Ping timeout: 250 seconds)
2022-01-22 10:31:29 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 10:32:56 +0100lechner(~lechner@debian/lechner) (Ping timeout: 268 seconds)
2022-01-22 10:39:37 +0100LiaoTao_(~LiaoTao@gateway/tor-sasl/liaotao)
2022-01-22 10:39:45 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 276 seconds)
2022-01-22 10:48:37 +0100raym(~raym@user/raym) (Ping timeout: 240 seconds)
2022-01-22 10:51:40 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:494b:f936:f65f:424f)
2022-01-22 10:51:58 +0100Tuplanolla(~Tuplanoll@91-159-68-166.elisa-laajakaista.fi)
2022-01-22 10:52:58 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 10:55:17 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2022-01-22 10:55:44 +0100ksqsf(~user@222.195.66.54)
2022-01-22 10:55:47 +0100raym(~raym@user/raym)
2022-01-22 10:55:57 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:494b:f936:f65f:424f) (Ping timeout: 240 seconds)
2022-01-22 10:59:57 +0100ksqsf(~user@222.195.66.54) (Ping timeout: 240 seconds)
2022-01-22 11:04:07 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 11:05:53 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-01-22 11:06:49 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-01-22 11:07:24 +0100dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 250 seconds)
2022-01-22 11:10:11 +0100jakalx(~jakalx@base.jakalx.net) ()
2022-01-22 11:12:35 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 11:12:39 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 11:12:45 +0100ksqsf(~user@2001:da8:d800:611:9070:c59b:1340:4fd8)
2022-01-22 11:13:11 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 11:13:57 +0100fef(~thedawn@user/thedawn)
2022-01-22 11:15:56 +0100dudek(~dudek@185.150.236.105)
2022-01-22 11:17:02 +0100ksqsf(~user@2001:da8:d800:611:9070:c59b:1340:4fd8) (Ping timeout: 240 seconds)
2022-01-22 11:17:17 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2022-01-22 11:19:29 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-35-70-24-248-134.dsl.bell.ca) (Ping timeout: 256 seconds)
2022-01-22 11:19:40 +0100sherlock_95(~sherlock_@static.131.42.161.5.clients.your-server.de)
2022-01-22 11:20:11 +0100tzh_(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-01-22 11:26:02 +0100Guest5234(~Guest52@80-100-97-100.ip.xs4all.nl)
2022-01-22 11:26:28 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2022-01-22 11:27:04 +0100doogled(~doogled@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net)
2022-01-22 11:27:28 +0100 <doogled> hi! im reading about different opperating systems, im wondering if i can use haskell with them
2022-01-22 11:27:44 +0100 <doogled> eg. https://en.wikipedia.org/wiki/LineageOS
2022-01-22 11:28:32 +0100 <doogled> ghci could be run on android with a linux shell from the app store
2022-01-22 11:28:40 +0100 <Axman6> I think it might still be possible to compile Haskell programs for Android? I haven't seen anyone doing it for a while though
2022-01-22 11:29:03 +0100 <doogled> oblisk does that right?
2022-01-22 11:29:32 +0100ksqsf(~user@222.195.66.54)
2022-01-22 11:29:44 +0100 <doogled> https://github.com/obsidiansystems/obelisk#android
2022-01-22 11:30:51 +0100 <doogled> i think basically this enables a workaround to avoid the "proprietary" style languages promoted by google via the android SDK
2022-01-22 11:30:55 +0100burnsidesLlama(~burnsides@dhcp168-027.wadham.ox.ac.uk)
2022-01-22 11:31:04 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2022-01-22 11:31:22 +0100 <doogled> but i thought maybe the barrier to achieving this might be less on a FOSS OS
2022-01-22 11:32:14 +0100 <doogled> to avoid having to do things like targeting browsers, it having to be totally cross platform just to target a particular platform
2022-01-22 11:32:26 +0100 <doogled> s/it/ie
2022-01-22 11:33:10 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-01-22 11:33:50 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-01-22 11:34:13 +0100ksqsf(~user@222.195.66.54) (Ping timeout: 256 seconds)
2022-01-22 11:35:34 +0100xff0x(~xff0x@2001:1a81:52f4:b00:8413:5c77:eacd:b6f4) (Ping timeout: 250 seconds)
2022-01-22 11:36:08 +0100 <Axman6> building and maintaining a cross compiling compiler is a lot of work, and the ability to do these things with newer compilers often disappears when there's no one using them and/or no one to maintain them
2022-01-22 11:36:29 +0100xff0x(~xff0x@2001:1a81:52f4:b00:f090:2f6f:e297:e289)
2022-01-22 11:37:10 +0100 <Axman6> it's much less to do with proprietary systems or not, GHC is much more at home on macOS, which is arguably more proprietary in some ways, becaus eit's very widely used and people notice very quickly when something breaks
2022-01-22 11:38:01 +0100 <doogled> right.
2022-01-22 11:38:30 +0100 <doogled> so a "fringe" OS like lineage is going to be even worse, since even android was difficult and thats huge
2022-01-22 11:38:43 +0100 <doogled> damn
2022-01-22 11:38:49 +0100jakalx(~jakalx@base.jakalx.net)
2022-01-22 11:40:41 +0100 <whatif> how to setHeader ContentType x-www-urlencode in scotty? setHeader seems not work
2022-01-22 11:41:07 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-22 11:41:07 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-22 11:41:07 +0100wroathe(~wroathe@user/wroathe)
2022-01-22 11:42:35 +0100 <doogled> seems like you can just run android apps on it though. lineageSDK seems to be for developing built in "apps" by rebuilding the entire OS, which seems strange, and unlikely to be able to incorporate haskell code.
2022-01-22 11:43:11 +0100 <doogled> i think this is not going to work, so ill abandon this
2022-01-22 11:43:13 +0100doogled(~doogled@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net) (Quit: Connection closed)
2022-01-22 11:44:54 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-01-22 11:45:58 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds)
2022-01-22 11:46:18 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-01-22 11:47:42 +0100ksqsf(~user@222.195.66.54)
2022-01-22 11:47:44 +0100Lord_of_Life_Lord_of_Life
2022-01-22 11:48:00 +0100rusrushal13(~rusrushal@2401:4900:30b2:5d11:6d9c:20fd:e248:3e06)
2022-01-22 11:52:52 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:5d8e:db89:f241:b6e3)
2022-01-22 11:52:54 +0100ksqsf(~user@222.195.66.54) (Ping timeout: 250 seconds)
2022-01-22 11:56:57 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:5d8e:db89:f241:b6e3) (Ping timeout: 240 seconds)
2022-01-22 11:57:45 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 11:59:11 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-01-22 12:00:50 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-01-22 12:01:03 +0100fendor(~fendor@178.115.77.166.wireless.dyn.drei.com)
2022-01-22 12:01:05 +0100alx741(~alx741@157.100.93.160)
2022-01-22 12:06:04 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-01-22 12:06:32 +0100ksqsf(~user@2001:da8:d800:611:5c82:dd4f:5803:24eb)
2022-01-22 12:06:32 +0100vglfr(~vglfr@88.155.83.78) (Ping timeout: 240 seconds)
2022-01-22 12:06:52 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-01-22 12:10:05 +0100yauhsien(~yauhsien@61-231-58-250.dynamic-ip.hinet.net)
2022-01-22 12:10:31 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 12:11:06 +0100ksqsf(~user@2001:da8:d800:611:5c82:dd4f:5803:24eb) (Ping timeout: 250 seconds)
2022-01-22 12:11:34 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 12:11:55 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-22 12:11:55 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-22 12:11:55 +0100wroathe(~wroathe@user/wroathe)
2022-01-22 12:14:38 +0100yauhsien(~yauhsien@61-231-58-250.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-01-22 12:16:37 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-01-22 12:18:37 +0100ksqsf(~user@2001:da8:d800:611:b5c6:888c:6867:54e9)
2022-01-22 12:18:37 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-01-22 12:18:43 +0100dudek(~dudek@185.150.236.105) (Read error: Connection reset by peer)
2022-01-22 12:18:55 +0100dudek(~dudek@185.150.236.105)
2022-01-22 12:19:28 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-35-70-24-248-67.dsl.bell.ca)
2022-01-22 12:20:04 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-01-22 12:24:50 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-35-70-24-248-67.dsl.bell.ca) (Ping timeout: 256 seconds)
2022-01-22 12:34:11 +0100vglfr(~vglfr@88.155.24.103)
2022-01-22 12:34:51 +0100rusrushal13(~rusrushal@2401:4900:30b2:5d11:6d9c:20fd:e248:3e06) (Ping timeout: 256 seconds)
2022-01-22 12:35:02 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
2022-01-22 12:35:56 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-01-22 12:36:42 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 12:37:54 +0100frx(~bc8147f2@cerf.good1.com) (Quit: CGI:IRC)
2022-01-22 12:38:24 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2022-01-22 12:40:42 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds)
2022-01-22 12:41:09 +0100rusrushal13(~rusrushal@2401:4900:30b2:5d11:6d9c:20fd:e248:3e06)
2022-01-22 12:44:37 +0100juri_(~juri@178.63.35.222) (Ping timeout: 240 seconds)
2022-01-22 12:44:58 +0100Guest7361(~Guest73@2a02:c7f:582d:5100:9841:acc1:6b39:cb9f)
2022-01-22 12:45:04 +0100Guest7361(~Guest73@2a02:c7f:582d:5100:9841:acc1:6b39:cb9f) ()
2022-01-22 12:48:01 +0100 <whatif> I found a every disturb thing in the wiki about type signature, in scotty, text :: Text ->... I though it's Data.Text, but click it, it's Data.Text.Lazy
2022-01-22 12:48:27 +0100 <whatif> so why not use text :: Data.Text.Lazy.Text -> ... to describe
2022-01-22 12:49:12 +0100 <whatif> there're so many ByteString, I have to qualified them as DB DBC blabla
2022-01-22 12:49:26 +0100 <whatif> that's very anonying
2022-01-22 12:49:37 +0100xff0x(~xff0x@2001:1a81:52f4:b00:f090:2f6f:e297:e289) (Ping timeout: 240 seconds)
2022-01-22 12:50:10 +0100 <whatif> so the code have to became D.xxx DB.xxx DT.xxx DTL.xxx
2022-01-22 12:50:46 +0100 <whatif> not elegent at all...
2022-01-22 12:50:49 +0100xff0x(~xff0x@2001:1a81:52f4:b00:df96:89e3:722a:400f)
2022-01-22 12:53:36 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 12:56:05 +0100 <ksqsf> whatif: I agree it's annoying. You can define type synonyms to mitigate it.
2022-01-22 12:56:14 +0100 <ksqsf> type Text = Data.Text.Text
2022-01-22 12:56:20 +0100 <ksqsf> type LText = Data.Text.Lazy.Text
2022-01-22 12:57:20 +0100burnsidesLlama(~burnsides@dhcp168-027.wadham.ox.ac.uk) (Remote host closed the connection)
2022-01-22 12:58:13 +0100jgeerds(~jgeerds@55d4a547.access.ecotel.net)
2022-01-22 13:00:43 +0100 <ephemient> it would be handy if there were a way to import Data.Text.Lazy (Text as LText), but there isn't
2022-01-22 13:02:49 +0100 <polyphem> whatif: you could also use Text.Builder to construct all your content as Text.Strict , and wrap it all in : text $ fromStrict $ do (all strict text builder stuff)
2022-01-22 13:03:32 +0100johnjaye(~pi@173.209.65.233) (Ping timeout: 250 seconds)
2022-01-22 13:06:15 +0100Codaraxis(~Codaraxis@user/codaraxis)
2022-01-22 13:16:00 +0100rusrushal13(~rusrushal@2401:4900:30b2:5d11:6d9c:20fd:e248:3e06) (Quit: Ping timeout (120 seconds))
2022-01-22 13:23:44 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 13:24:12 +0100 <whatif> polyphem: but not just Text has so many kinds, others too
2022-01-22 13:25:02 +0100 <polyphem> they all have their usecases, there is no silver bullet for all cases :(
2022-01-22 13:26:44 +0100 <polyphem> if youd load a big file to show on the website, you wouldnt want for text to bes strict , or would you ?
2022-01-22 13:28:00 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 13:29:06 +0100 <whatif> fine
2022-01-22 13:29:44 +0100 <whatif> how to append a newline character with Data.ByteString.writeFile?
2022-01-22 13:30:07 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-22 13:30:17 +0100 <polyphem> its hard at the beginning when you stumble on all the variations, but once you get to know them , you can structure your approach more clearly
2022-01-22 13:31:20 +0100 <polyphem> whatif: https://gist.github.com/dino-/28b09c465c756c44b2c91d777408e166
2022-01-22 13:32:55 +0100 <whatif> polyphem: Data.ByteString.Char8.pack "\n"?
2022-01-22 13:34:07 +0100 <whatif> Data.ByteString.appendFile "test.txt" Data.ByteString.Char8.pack "\n"?
2022-01-22 13:34:56 +0100 <polyphem> is file ascii or utf8 ?
2022-01-22 13:35:02 +0100 <whatif> utf8
2022-01-22 13:36:50 +0100juri_(~juri@178.63.35.222)
2022-01-22 13:38:24 +0100 <polyphem> yep, that should work
2022-01-22 13:38:31 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 13:38:52 +0100wroathe(~wroathe@user/wroathe)
2022-01-22 13:40:57 +0100_ht(~quassel@2a02:a468:b619:1:aa62:dbcc:166b:da6a) (Ping timeout: 240 seconds)
2022-01-22 13:41:20 +0100 <polyphem> whatif: for any unicode char however youd have tot do : Data.ByteString.appendFile "foo" $ Data.Text.Encoding.encodeUtf8 "\n"
2022-01-22 13:41:48 +0100_ht(~quassel@37.120.218.149)
2022-01-22 13:43:50 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2022-01-22 13:46:16 +0100 <ephemient> the utf-8 encoding of \n is the same as ascii
2022-01-22 13:48:00 +0100AlexZenon_2AlexZenon
2022-01-22 13:48:51 +0100 <polyphem> u23454323
2022-01-22 13:52:32 +0100__monty__(~toonn@user/toonn)
2022-01-22 13:53:22 +0100chomwitt(~chomwitt@ppp-94-67-1-27.home.otenet.gr) (Ping timeout: 250 seconds)
2022-01-22 13:54:18 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 13:57:10 +0100Morrow_(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2022-01-22 13:57:19 +0100Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Read error: Connection reset by peer)
2022-01-22 13:57:32 +0100Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2022-01-22 13:58:09 +0100max22-(~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Ping timeout: 256 seconds)
2022-01-22 14:00:36 +0100mc47(~mc47@xmonad/TheMC47)
2022-01-22 14:01:17 +0100Morrow_(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 240 seconds)
2022-01-22 14:02:12 +0100 <whatif> I found there's non-ISO extended-ASCII, we already have utf8, what's its purpose?
2022-01-22 14:02:39 +0100 <whatif> like exfat to fat32?
2022-01-22 14:04:34 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-01-22 14:05:03 +0100 <hpc> are they older or newer than unicode, and by how many years?
2022-01-22 14:05:34 +0100 <hpc> unicode support wasn't universal when it was first standardized, and there was a lot of time before it where computers still existed and people who didn't speak english needed to use them :P
2022-01-22 14:05:44 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 14:06:22 +0100 <whatif> so many languages, so many encodings
2022-01-22 14:06:46 +0100 <hpc> it's more like "why are there so many filesystems when we already have zfs"
2022-01-22 14:07:38 +0100o-90(~o-90@gateway/tor-sasl/o-90)
2022-01-22 14:10:44 +0100fendor_(~fendor@91.141.78.76.wireless.dyn.drei.com)
2022-01-22 14:13:02 +0100fendor(~fendor@178.115.77.166.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
2022-01-22 14:15:19 +0100leibniz(~leibniz@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net)
2022-01-22 14:15:27 +0100 <leibniz> is there a way to calculate fractions of time?
2022-01-22 14:15:51 +0100 <leibniz> eg, is time t in the first or seccond half of a given hour or day
2022-01-22 14:16:14 +0100kaph(~kaph@net-2-47-208-144.cust.vodafonedsl.it)
2022-01-22 14:16:16 +0100 <leibniz> i mean, is there a library which gives this kind of functionality
2022-01-22 14:17:52 +0100 <timCF> Hello! I'm trying to statically compile haskell project, and it seems working, but at some point build process is failing on compiling normal haskell dependency (katip) which is used for logging. It's very strange, because it's complaining about missing shared libraries, but libnraries themselves are just haskell deps. Any ideas? https://gist.github.com/21it/dba7b0ea6d847041b1726e72a1e53561
2022-01-22 14:18:44 +0100deadmarshal(~deadmarsh@95.38.117.216) (Ping timeout: 256 seconds)
2022-01-22 14:19:02 +0100deadmarshal(~deadmarsh@68.235.38.164)
2022-01-22 14:19:06 +0100 <leibniz> seems like a nix problem
2022-01-22 14:19:12 +0100 <leibniz> you could try asking on the nix chan
2022-01-22 14:19:22 +0100ksqsf(~user@2001:da8:d800:611:b5c6:888c:6867:54e9) (Ping timeout: 250 seconds)
2022-01-22 14:19:31 +0100 <leibniz> somone here might be able to help too though
2022-01-22 14:19:50 +0100 <geekosaur> also that is template haskell which needs the dynamic libraries
2022-01-22 14:20:15 +0100 <geekosaur> possibly the build needs to be done with -dynamic-too so that dependencies are available for TH
2022-01-22 14:20:16 +0100 <timCF> geekosaur: hi again :)
2022-01-22 14:20:20 +0100 <geekosaur> hi :)
2022-01-22 14:20:58 +0100 <timCF> geekosaur: you mean some extra flag for cabal?
2022-01-22 14:21:26 +0100 <geekosaur> that's a flag to ghc, for cabal it would go in the ghc-options field of the cabal file
2022-01-22 14:21:54 +0100 <geekosaur> but with all those deps needing it it'd be more like cabal.project
2022-01-22 14:21:56 +0100 <timCF> at the moment I have -static ghc option, and cc-options: -static, and ld-options: -static -pthread
2022-01-22 14:22:28 +0100zincy_(~zincy@host86-151-99-97.range86-151.btcentralplus.com)
2022-01-22 14:22:32 +0100 <geekosaur> you'd need to add -dynamic-too to the ghc options, so that it';s available for th
2022-01-22 14:22:51 +0100 <geekosaur> ghc would otherwise ignore it, but TH needs to be able to load those dependencies dynamically
2022-01-22 14:22:54 +0100burnsidesLlama(~burnsides@dhcp168-027.wadham.ox.ac.uk)
2022-01-22 14:23:05 +0100 <timCF> geekosaur: Thanks! I'll try this!
2022-01-22 14:23:07 +0100 <geekosaur> (or you'df need to compile them into ghc itself)
2022-01-22 14:23:21 +0100o-90(~o-90@gateway/tor-sasl/o-90) (Ping timeout: 276 seconds)
2022-01-22 14:24:53 +0100 <leibniz> youd think that this would be made obvious in the error message...
2022-01-22 14:25:05 +0100 <leibniz> if all the things that depend on lens are going to break with -static
2022-01-22 14:25:12 +0100 <leibniz> because of the TH
2022-01-22 14:25:34 +0100 <geekosaur> it kinda did, it's just that the real clue is at the end
2022-01-22 14:25:39 +0100oxytocat(~alloca@user/suppi) (WeeChat 1.9.1)
2022-01-22 14:25:57 +0100 <geekosaur> TH could use better error messages though, yes
2022-01-22 14:26:50 +0100 <leibniz> what "dist/build/Katip/Format/Time.dyn_o" ?
2022-01-22 14:27:20 +0100 <geekosaur> the clue in the earlier ones is in the warning name -Wmissed-extra-shared-lib, then the actual error references ghci instead of TH because they use the same code and it more commonly happens with ghci
2022-01-22 14:27:38 +0100 <geekosaur> but explains all the "extra shared lib" references, at least
2022-01-22 14:27:53 +0100jgeerds(~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 268 seconds)
2022-01-22 14:28:14 +0100 <timCF> geekosaur: TH uses ghci code base?
2022-01-22 14:28:48 +0100 <geekosaur> both of them use the bytecode backend and bytecode linker
2022-01-22 14:29:09 +0100 <leibniz> ah right, so if you see an error mentioning GHCI while compiling using GHC it could be because of some dynamic/static TH thing
2022-01-22 14:29:34 +0100 <geekosaur> but, come to think of it, if you requested -static, why indeed is it compiling to .dyn_o?
2022-01-22 14:30:32 +0100 <leibniz> i mean, i dont even use lens because it uses TH and i try to stick to idomatic haskell where i can, but this means that libraries are going to fail in ways i wont know how to fix because of never having used this esoteric approach. damn lenses!!
2022-01-22 14:32:03 +0100 <leibniz> but then i dont program using datatype record names either... which i guess is completely impossible in the real world
2022-01-22 14:32:32 +0100 <timCF> Lenses are useful :) And singletons are useful, but sometimes compiler breaks in a super strange way with these libraries
2022-01-22 14:32:33 +0100 <geekosaur> lens doesn't require TH, it just makes record accesses easier. but there's a generic-lens package that is an alternative
2022-01-22 14:33:15 +0100 <leibniz> i guess while it doesnt require it, its commonly used to generate the lenses automatically using special syntax
2022-01-22 14:33:31 +0100 <timCF> But thanks to geekosaur seems like I'll be able to fix it, doing rebuild. In nix env with new global flag it will take a while, let's see how it will go
2022-01-22 14:33:45 +0100 <leibniz> and that any lib that does that will require these "dynamic compilation" considerations
2022-01-22 14:34:04 +0100 <geekosaur> timCF, not sure about that since it ewas compiling katip dynamic instead of static
2022-01-22 14:34:09 +0100 <geekosaur> (.dyn_o)
2022-01-22 14:34:24 +0100 <geekosaur> nix sometimes decides to do its own thing
2022-01-22 14:35:06 +0100 <leibniz> it could at least be worth asking on the nix chan to make them aware of that problem
2022-01-22 14:35:13 +0100 <timCF> leibniz: I think ghc-921 actually fixes your problem with records in Haskell
2022-01-22 14:35:24 +0100 <leibniz> how do you mean?
2022-01-22 14:35:34 +0100 <leibniz> i simply dont use records
2022-01-22 14:36:00 +0100chomwitt(~chomwitt@2a02:587:dc03:8b00:12c3:7bff:fe6d:d374)
2022-01-22 14:36:01 +0100 <timCF> leibniz: you probably don't use them, because fields getters/setters are not ergonomic without lenses
2022-01-22 14:36:08 +0100 <leibniz> but what does 921 offer thats different?
2022-01-22 14:36:15 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 14:36:34 +0100 <timCF> leibniz: new native syntax for working with records as far as I know
2022-01-22 14:36:38 +0100 <leibniz> timCF: no, i dont use them because the datatypes i use have navigational indicies instead of named records
2022-01-22 14:36:55 +0100 <leibniz> timCF: oh cool, ill read
2022-01-22 14:37:33 +0100 <timCF> leibniz: RecordDotSyntax and NoFieldSelectors
2022-01-22 14:37:53 +0100 <geekosaur> RecordDotSyntax, which uses typeclasses natively instead of requiring you to derive them with generics or TH
2022-01-22 14:37:54 +0100 <leibniz> oh yeah i remember something about this
2022-01-22 14:38:07 +0100 <leibniz> so you can have the same record names in different datatypes
2022-01-22 14:38:13 +0100 <leibniz> good idea
2022-01-22 14:38:31 +0100 <timCF> yeah, seems like reasonable improvement, but I didn't tried it yet
2022-01-22 14:38:32 +0100machinedgod(~machinedg@24.105.81.50)
2022-01-22 14:39:15 +0100 <leibniz> i just mean that all the trees i make are using some kind of Free nesting instead of just doing the nesting using normal syntax
2022-01-22 14:39:56 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 14:39:57 +0100 <leibniz> its quite complicated since it requires the hetrogenous Freelike structure is annotated with the types at each layer, in a typelevel tree!
2022-01-22 14:40:09 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 14:40:17 +0100mmhat(~mmh@55d4e57c.access.ecotel.net) (Ping timeout: 240 seconds)
2022-01-22 14:40:27 +0100 <leibniz> but at least its extensible, unlike the normal way
2022-01-22 14:41:09 +0100 <leibniz> and if your doing stuff like making n-d arrays, then this hetrogenaity means you can generate the type level annotations simply
2022-01-22 14:41:16 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-01-22 14:41:35 +0100 <leibniz> offshoot of some work to do with index algebras
2022-01-22 14:42:17 +0100 <leibniz> basically because numeric compitation has huge datatypes where naming each gridcell would be ridiculous
2022-01-22 14:43:22 +0100 <leibniz> got confusing though because of cyclic boundary conditions - waiting for the cyclic explication annotations to appear
2022-01-22 14:44:04 +0100 <leibniz> linear kinds or something? idk...
2022-01-22 14:44:23 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2022-01-22 14:47:29 +0100 <leibniz> its not a new idea though so i probably shouldnt bore the community with it
2022-01-22 14:47:33 +0100leibniz(~leibniz@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net) (Quit: Connection closed)
2022-01-22 14:48:55 +0100 <whatif> could ByteString do <>?
2022-01-22 14:50:03 +0100 <geekosaur> it should
2022-01-22 14:50:46 +0100 <geekosaur> I see a Monoid instance for it, soi it also has a Semigroup instance and should support <>
2022-01-22 14:51:26 +0100 <whatif> let binaryDataList = BSC.lines binaryData
2022-01-22 14:51:34 +0100 <whatif> concat $ fmap (<> (BSC.pack "<br>")) binaryDataList
2022-01-22 14:52:05 +0100 <whatif> Couldn't match expected type `BSC.ByteString' with actual type `[a0]'
2022-01-22 14:52:34 +0100 <whatif> import qualified Data.ByteString.Char8 as BSC
2022-01-22 14:53:34 +0100 <geekosaur> that looks like a different problem
2022-01-22 14:54:27 +0100 <geekosaur> @where paste
2022-01-22 14:54:27 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2022-01-22 14:54:35 +0100Guest75(~Guest75@2405:201:c009:616b:bc2b:58f1:50c4:8f86)
2022-01-22 14:54:46 +0100 <geekosaur> full code (or at least more than you have there), full error message
2022-01-22 14:54:52 +0100mmhat(~mmh@55d4e57c.access.ecotel.net)
2022-01-22 14:55:43 +0100 <whatif> geekosaur: https://paste.tomsmeding.com/RRoOxqdG
2022-01-22 14:56:04 +0100Guest75(~Guest75@2405:201:c009:616b:bc2b:58f1:50c4:8f86) (Client Quit)
2022-01-22 14:56:07 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 14:56:45 +0100 <geekosaur> looks like your problem is the concat
2022-01-22 14:56:56 +0100fendor_(~fendor@91.141.78.76.wireless.dyn.drei.com) (Remote host closed the connection)
2022-01-22 14:57:06 +0100 <geekosaur> since it shows two type errors, one right before it and one right after
2022-01-22 14:57:13 +0100 <geekosaur> :t concat
2022-01-22 14:57:14 +0100 <lambdabot> Foldable t => t [a] -> [a]
2022-01-22 14:57:22 +0100 <geekosaur> % :t concat @[]
2022-01-22 14:57:22 +0100 <yahb> geekosaur: [[a]] -> [a]
2022-01-22 14:57:39 +0100 <whatif> geekosaur: I should use `foldl1 <>` to instead concat?
2022-01-22 14:57:39 +0100 <geekosaur> :t BSC.concat
2022-01-22 14:57:40 +0100 <lambdabot> [BSC.ByteString] -> BSC.ByteString
2022-01-22 14:57:47 +0100 <whatif> ...
2022-01-22 14:58:14 +0100rusrushal13(~rusrushal@2401:4900:30b2:5d11:6d9c:20fd:e248:3e06)
2022-01-22 14:58:59 +0100fendor(~fendor@91.141.78.76.wireless.dyn.drei.com)
2022-01-22 14:59:12 +0100 <whatif> geekosaur: you're right, BSC.concat worked
2022-01-22 14:59:42 +0100 <whatif> I thought that `join` or `concat` gonna work, and I was wrong
2022-01-22 15:04:18 +0100nunggu(~q@user/nunggu) (Ping timeout: 276 seconds)
2022-01-22 15:06:18 +0100nunggu(~q@user/nunggu)
2022-01-22 15:09:22 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 15:13:30 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-22 15:16:21 +0100rusrushal13(~rusrushal@2401:4900:30b2:5d11:6d9c:20fd:e248:3e06) (Ping timeout: 256 seconds)
2022-01-22 15:22:04 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 15:26:34 +0100kaph(~kaph@net-2-47-208-144.cust.vodafonedsl.it) (Read error: Connection reset by peer)
2022-01-22 15:41:23 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-01-22 15:43:10 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-01-22 15:47:46 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds)
2022-01-22 15:52:36 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 15:53:01 +0100zincy_(~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection)
2022-01-22 15:54:59 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 15:55:12 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 15:55:19 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-22 15:59:23 +0100johnjaye(~pi@173.209.65.233)
2022-01-22 16:05:05 +0100zincy_(~zincy@host86-151-99-97.range86-151.btcentralplus.com)
2022-01-22 16:06:25 +0100burnsidesLlama(~burnsides@dhcp168-027.wadham.ox.ac.uk) (Remote host closed the connection)
2022-01-22 16:08:37 +0100_ht(~quassel@37.120.218.149) (Ping timeout: 240 seconds)
2022-01-22 16:09:31 +0100_ht(~quassel@2a02:a468:b619:1:aa62:dbcc:166b:da6a)
2022-01-22 16:10:23 +0100SummerSonw(~The_viole@203.77.49.232) (Ping timeout: 256 seconds)
2022-01-22 16:11:10 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-22 16:14:27 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 16:15:16 +0100fef(~thedawn@user/thedawn) (Leaving)
2022-01-22 16:18:19 +0100boxscape_(~boxscape_@p4ff0b9d5.dip0.t-ipconnect.de)
2022-01-22 16:18:41 +0100zincy_(~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection)
2022-01-22 16:18:57 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2022-01-22 16:19:16 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-22 16:23:55 +0100max22-(~maxime@2a01cb088335980008f67ae5de220faa.ipv6.abo.wanadoo.fr)
2022-01-22 16:23:56 +0100 <boxscape_> I have a Vulkan function that wants a FunPtr as callback. How do I handle `freeHaskellFunPtr` here? Do I call it once at the end of the program (or rather, tell resourcet to do so)? Docs say "This should be called whenever the return value from a foreign import wrapper function is no longer required; otherwise, the storage it uses will leak.",
2022-01-22 16:23:57 +0100 <boxscape_> which makes me slightly worried it might leak space every time it's called, though that also seems unlikely?
2022-01-22 16:24:05 +0100zincy_(~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67)
2022-01-22 16:24:25 +0100epolanski(uid312403@id-312403.helmsley.irccloud.com)
2022-01-22 16:24:59 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-01-22 16:25:42 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: Leaving)
2022-01-22 16:25:55 +0100 <geekosaur> isn't that typically used with a ForeignPtr?
2022-01-22 16:26:01 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 16:26:01 +0100 <geekosaur> (I think that's the name)
2022-01-22 16:26:21 +0100zincy_(~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) (Remote host closed the connection)
2022-01-22 16:26:38 +0100 <geekosaur> https://downloads.haskell.org/ghc/latest/docs/html/libraries/base-4.16.0.0/Foreign-ForeignPtr.html
2022-01-22 16:27:19 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2022-01-22 16:27:28 +0100 <geekosaur> it's a finalizer for a ForeignPtr, and ForeignPtr ensures it will be called when the associated data is gc-ed
2022-01-22 16:28:42 +0100yauhsien(~yauhsien@61-231-58-250.dynamic-ip.hinet.net)
2022-01-22 16:29:21 +0100 <geekosaur> althoguh I guess I need to know more about what you're doing before I assert that
2022-01-22 16:30:06 +0100yauhsien(~yauhsien@61-231-58-250.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-01-22 16:30:14 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2022-01-22 16:30:16 +0100 <boxscape_> geekosaur to be clear, I want the callback to be a haskell function, not a foreign function, I'm not sure if that's the case with FinalizerPtr
2022-01-22 16:30:30 +0100 <boxscape_> I suppose it can be since it's just a type synonym
2022-01-22 16:31:04 +0100alx741(~alx741@157.100.93.160)
2022-01-22 16:34:47 +0100 <geekosaur> looks like it has to be a foreign function to me, not a wrapper
2022-01-22 16:35:05 +0100yauhsien(~yauhsien@61-231-58-250.dynamic-ip.hinet.net)
2022-01-22 16:35:21 +0100 <geekosaur> and yes, it looks like it allocates every time it's called, so you would have to pair every call with a freeHaskellFunPtr
2022-01-22 16:35:29 +0100 <geekosaur> and can't use ForeignPtr
2022-01-22 16:35:46 +0100 <geekosaur> which means you're looking at a bracket type of thing
2022-01-22 16:38:33 +0100 <geekosaur> and if you want to retain the value beyond the bracket you have to coopy it, which you may want anyway and convert it to a proper Haskell value instead of a Ptr
2022-01-22 16:38:59 +0100 <boxscape_> er if I had a foreign function rather than a wrapper I wouldn't need freeHaskellFunPtr since it's not a haskell function, no? I might be misunderstanding something.
2022-01-22 16:39:37 +0100yauhsien(~yauhsien@61-231-58-250.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-01-22 16:40:52 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 16:41:00 +0100 <geekosaur> right, I forgit the original use case. do you know how many times the callback will be called?
2022-01-22 16:41:30 +0100 <boxscape_> usually not at all but sometimes up to a few times per second, so maybe a few thousand times over the lifetime of the program
2022-01-22 16:41:42 +0100burnsidesLlama(~burnsides@dhcp168-027.wadham.ox.ac.uk)
2022-01-22 16:42:26 +0100 <geekosaur> oh, you set the callback once and it gets called whenever? I think you're stuck with (small) leaks
2022-01-22 16:42:31 +0100 <boxscape_> ah, fair enough
2022-01-22 16:42:40 +0100 <geekosaur> because the docs say it leaks with every call
2022-01-22 16:42:52 +0100 <boxscape_> ok, I guess I'll live with that, thanks
2022-01-22 16:45:57 +0100burnsidesLlama(~burnsides@dhcp168-027.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
2022-01-22 16:47:14 +0100zincy_(~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67)
2022-01-22 16:47:24 +0100zincy_(~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) (Remote host closed the connection)
2022-01-22 16:50:10 +0100Alex_test(~al_test@94.233.241.14) (Ping timeout: 250 seconds)
2022-01-22 16:51:22 +0100beepsort(~beepsort@31.205.108.155)
2022-01-22 16:53:27 +0100Alex_test(~al_test@94.233.241.14)
2022-01-22 16:53:57 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-01-22 16:54:09 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 276 seconds)
2022-01-22 16:54:56 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-01-22 16:57:44 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-01-22 16:58:36 +0100alx741(~alx741@157.100.93.160)
2022-01-22 16:58:39 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-01-22 17:01:58 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 17:02:45 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2022-01-22 17:03:05 +0100alekhine(~alekhine@c-73-38-152-33.hsd1.ma.comcast.net)
2022-01-22 17:03:44 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2022-01-22 17:06:08 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2022-01-22 17:06:50 +0100slowButPresent(~slowButPr@user/slowbutpresent)
2022-01-22 17:10:58 +0100Guest5234(~Guest52@80-100-97-100.ip.xs4all.nl) (Quit: Connection closed)
2022-01-22 17:11:52 +0100benin(~benin@183.82.31.24)
2022-01-22 17:15:19 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-01-22 17:15:57 +0100alekhine(~alekhine@c-73-38-152-33.hsd1.ma.comcast.net) (Ping timeout: 240 seconds)
2022-01-22 17:17:56 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2022-01-22 17:18:15 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-22 17:20:27 +0100alx741(~alx741@157.100.93.160)
2022-01-22 17:21:37 +0100burnsidesLlama(~burnsides@dhcp168-027.wadham.ox.ac.uk)
2022-01-22 17:22:31 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-22 17:22:31 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-22 17:22:31 +0100wroathe(~wroathe@user/wroathe)
2022-01-22 17:22:43 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds)
2022-01-22 17:27:00 +0100burnsidesLlama(~burnsides@dhcp168-027.wadham.ox.ac.uk) (Ping timeout: 250 seconds)
2022-01-22 17:30:01 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-01-22 17:33:14 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 17:34:03 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-01-22 17:34:58 +0100 <maerwald> so... tasty shows tests via -l switch... but when I then use one of those via -p switch is fails to parse the pattern
2022-01-22 17:40:55 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-22 17:42:12 +0100zmt00(~zmt00@user/zmt00)
2022-01-22 17:44:00 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-22 17:45:49 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 17:50:46 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2022-01-22 17:50:57 +0100alx741(~alx741@157.100.93.160)
2022-01-22 17:52:11 +0100 <EvanR> boxscape_, you create the callback 1 time, give it to vulkan 1 time, it gets called many times? I wouldn't worry about freeing anything
2022-01-22 17:52:29 +0100timCF(~timCF@m91-129-100-224.cust.tele2.ee) (Quit: leaving)
2022-01-22 17:52:43 +0100 <boxscape_> okay, yeah, that's how it works
2022-01-22 17:52:55 +0100 <geekosaur> well, it leaks each time it's called, not when it's created
2022-01-22 17:52:59 +0100 <EvanR> no?
2022-01-22 17:53:24 +0100 <EvanR> it allocates resources when you create the wrapper not when foreign code calls it
2022-01-22 17:53:32 +0100 <geekosaur> "Calls to wrapper stubs like mkCompare allocate storage, which should be released with freeHaskellFunPtr when no longer required."
2022-01-22 17:53:44 +0100 <EvanR> mkCompare allocates resources, not uses of the FunPtr
2022-01-22 17:53:57 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-01-22 17:54:00 +0100 <boxscape_> that does sound reasonable
2022-01-22 17:54:00 +0100 <EvanR> they may be talking about creating a new FunPtr for every API call
2022-01-22 17:54:08 +0100 <EvanR> which you mgiht have to do sometimes
2022-01-22 17:54:08 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 17:54:32 +0100 <EvanR> if it closes over something important and different each time
2022-01-22 17:54:39 +0100deadmarshal(~deadmarsh@68.235.38.164) (Ping timeout: 256 seconds)
2022-01-22 17:54:55 +0100 <EvanR> but if foreign code uses the same FunPtr many times, that's not what it's talking about
2022-01-22 17:57:16 +0100Jing(~hedgehog@240e:390:7c53:a7e1:9dd8:fa79:cee0:389c) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-22 18:03:57 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
2022-01-22 18:04:04 +0100 <EvanR> I've struggled so much chasing "small constant leaks" in SDL... it's a losing game
2022-01-22 18:04:18 +0100lispy(~lispy3@84.69.59.93)
2022-01-22 18:05:32 +0100shapr(~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab)
2022-01-22 18:06:19 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-01-22 18:07:24 +0100snake(~snake@user/snake)
2022-01-22 18:07:50 +0100snake(~snake@user/snake) ()
2022-01-22 18:12:27 +0100joo-_(~joo-_@fsf/member/joo--) (Quit: leaving)
2022-01-22 18:12:34 +0100alx741(~alx741@157.100.93.160)
2022-01-22 18:12:51 +0100joo-_(~joo-_@fsf/member/joo--)
2022-01-22 18:16:17 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
2022-01-22 18:17:56 +0100 <whatif> I use cabal to install scotty-login-session, meet a little issue, https://paste.tomsmeding.com/4B399kl4
2022-01-22 18:17:57 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-01-22 18:18:30 +0100 <whatif> what this mean " add (unliftio-core-0.2.0.1:Control.Monad.IO.Unlift.MonadUnliftIO m) to the context of the type signature for: "
2022-01-22 18:19:20 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-01-22 18:19:44 +0100 <EvanR> something you used requires MonadUnliftIO support?
2022-01-22 18:20:33 +0100 <EvanR> props to you for diving directly into haskell web, that's where all the money is!
2022-01-22 18:22:20 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 18:22:57 +0100 <whatif> EvanR I don't understand, more specific?
2022-01-22 18:24:38 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 250 seconds)
2022-01-22 18:24:49 +0100 <EvanR> is that your code at the bottom
2022-01-22 18:25:35 +0100 <EvanR> the compiler is suggesting that on line 42 of the paste, you add MonadUnliftIO m. I think.
2022-01-22 18:25:45 +0100 <EvanR> to the context
2022-01-22 18:26:43 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-01-22 18:30:38 +0100 <whatif> EvanR you mean in the type constraint?
2022-01-22 18:30:49 +0100lbseale(~ep1ctetus@user/ep1ctetus)
2022-01-22 18:32:18 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
2022-01-22 18:33:11 +0100kjak(~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
2022-01-22 18:33:30 +0100deadmarshal(~deadmarsh@95.38.119.69)
2022-01-22 18:34:07 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-01-22 18:34:25 +0100 <EvanR> myfunction :: (The m, Context m) => Rest -> Of -> Sig -> CrazyAssTransformers m a
2022-01-22 18:35:18 +0100 <EvanR> yes, constraints
2022-01-22 18:38:16 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2022-01-22 18:38:20 +0100 <whatif> yes, it worked
2022-01-22 18:38:35 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-22 18:38:43 +0100geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-01-22 18:39:31 +0100d34df00d(~d34df00d@2600:1700:8c60:3a10::48) (Remote host closed the connection)
2022-01-22 18:40:05 +0100alx741(~alx741@157.100.93.160)
2022-01-22 18:40:24 +0100d34df00d(~d34df00d@2600:1700:8c60:3a10::48)
2022-01-22 18:40:29 +0100 <whatif> now `cabal v2-build` is done, could I turn it into one static linked library for other machine to use?
2022-01-22 18:40:33 +0100 <whatif> and how?
2022-01-22 18:43:11 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds)
2022-01-22 18:44:22 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 18:45:06 +0100 <EvanR> indeed, that is one of the things cabal does. I'd have to defer to the manual for that
2022-01-22 18:46:40 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 18:51:04 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 250 seconds)
2022-01-22 18:51:41 +0100mc47(~mc47@xmonad/TheMC47) (Ping timeout: 256 seconds)
2022-01-22 18:53:01 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-01-22 18:53:08 +0100mc47(~mc47@xmonad/TheMC47)
2022-01-22 18:56:57 +0100jespada(~jespada@87.74.36.188) (Ping timeout: 240 seconds)
2022-01-22 18:58:41 +0100 <whatif> I tried cabal v2-install, cabal: Cannot build the executables in the package scotty-login-session because it does not contain any executables. Check the .cabal file for the package and make sure that it properly declares the components that you expect.
2022-01-22 18:59:22 +0100 <whatif> ghc example/Simple.hs, no Web.Scotty.Login.Session found, but I have already compiled it!
2022-01-22 18:59:43 +0100 <whatif> cabal repl, import Web.Scotty.Login.Session is ok
2022-01-22 18:59:46 +0100turlando(~turlando@user/turlando) (Read error: Connection reset by peer)
2022-01-22 18:59:51 +0100 <whatif> what a tool
2022-01-22 19:00:23 +0100johnjaye(~pi@173.209.65.233) (Ping timeout: 256 seconds)
2022-01-22 19:00:44 +0100jespada(~jespada@87.74.36.188)
2022-01-22 19:01:02 +0100alx741(~alx741@157.100.93.160)
2022-01-22 19:01:10 +0100retroid_(~retro@2e40edd9.skybroadband.com) (Quit: Connection error?!)
2022-01-22 19:01:24 +0100DNH(~DNH@2a02:8108:1100:16d8:58a2:2ee7:7301:3a35)
2022-01-22 19:02:30 +0100 <EvanR> package does not contain any executables, is that referring to your .cabal file, which should list any exe's and lib's of the package
2022-01-22 19:02:55 +0100 <EvanR> ah, that is exactly what it says
2022-01-22 19:04:17 +0100turlando(~turlando@93-42-250-112.ip89.fastwebnet.it)
2022-01-22 19:04:17 +0100turlando(~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host)
2022-01-22 19:04:17 +0100turlando(~turlando@user/turlando)
2022-01-22 19:04:30 +0100 <whatif> cabal v2-install --lib
2022-01-22 19:04:30 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 19:04:46 +0100 <EvanR> install...
2022-01-22 19:05:07 +0100 <whatif> not?
2022-01-22 19:05:10 +0100 <EvanR> spider sense tingling
2022-01-22 19:05:38 +0100 <EvanR> usually each project is built in isolation and not installed
2022-01-22 19:05:41 +0100 <whatif> cabal is an awful tool than pip or conda
2022-01-22 19:06:02 +0100 <EvanR> you should have seen cabal v1
2022-01-22 19:06:21 +0100 <monochrom> I don't think it's healthy to scaremonger against "install --lib". There is nothing to be afraid of.
2022-01-22 19:06:34 +0100johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net)
2022-01-22 19:06:44 +0100 <[exa]> whatif: you may use conda for haskell packages
2022-01-22 19:06:48 +0100 <monochrom> v2-install --lib does not have v1 problems.
2022-01-22 19:06:49 +0100 <whatif> monochrom: why after `cabal v2-build`, the package is still not found?
2022-01-22 19:07:12 +0100 <whatif> [exa]: are we saying the same "conda"?
2022-01-22 19:07:25 +0100 <whatif> python's conda?
2022-01-22 19:07:54 +0100 <[exa]> conda is pretty generic, bioinformatics people use it to install R and julia packages
2022-01-22 19:08:00 +0100 <whatif> cabal repl can found the compiled package, why ghc and cabal install can't?
2022-01-22 19:08:37 +0100 <[exa]> the point is that neither conda nor pip need to solve the dependencies of package compilation artifacts
2022-01-22 19:09:43 +0100 <[exa]> so the model of packages and versions that cabal works with is slightly more complicated and much less intuitive
2022-01-22 19:09:45 +0100 <whatif> they are very easy to use, just pip install package-name will do
2022-01-22 19:10:38 +0100 <EvanR> for some reason I'm better now for considering cabal to the build tool and whatever cabal install does as two separate things
2022-01-22 19:10:39 +0100 <geekosaur> sure, and then you're in trouble when you need a different version
2022-01-22 19:10:45 +0100 <[exa]> yep, luckily the packages there are extremely simple, thus the simple interface
2022-01-22 19:10:45 +0100 <whatif> I need to change four files in the cabal installation
2022-01-22 19:11:04 +0100 <EvanR> cabal build and manage deps, something else for installing packages
2022-01-22 19:11:16 +0100 <EvanR> or programs
2022-01-22 19:11:17 +0100 <monochrom> I use install --lib for a few libraries (but not all). An example is hmatrix. I just want to fire up ghci and :m Numeric.LinearAlgebra and find the eignenvectors of a matrix, and that's it. Everything does not need a "cabal init" rite.
2022-01-22 19:11:18 +0100 <EvanR> or libs
2022-01-22 19:11:54 +0100 <whatif> what's your suggestion to use the compiled package after `cabal v2-build`?
2022-01-22 19:11:57 +0100 <EvanR> whatif, which 4?
2022-01-22 19:12:20 +0100 <[exa]> whatif: cabal run ?
2022-01-22 19:12:21 +0100 <monochrom> And I do have actual projects and of course I don't do "install --lib" for their dependencies.
2022-01-22 19:12:42 +0100 <whatif> EvanR two files add ghc feature, one file add the context in type constrain, one change the build depend in the cabal file
2022-01-22 19:13:04 +0100 <whatif> [exa]: cabal run exaple/Simple.hs, still not found the compiled module
2022-01-22 19:13:12 +0100 <whatif> [exa]: no cabal runghc?
2022-01-22 19:13:13 +0100 <[exa]> EvanR: that is a good point btw, I wish we could have the building and package maintainership concerns very separate
2022-01-22 19:13:23 +0100 <[exa]> whatif: you can't run a source file right?
2022-01-22 19:13:25 +0100 <whatif> [exa]: cabal repl can find the compiled module
2022-01-22 19:13:41 +0100 <[exa]> whatif: type `cabal run [your executable name here]`
2022-01-22 19:13:56 +0100 <whatif> [exa]: ghc exaple/Simple.hs can't the compiled module too, after `cabla v2-install --lib`, ghc can find it
2022-01-22 19:13:59 +0100 <[exa]> do you have an "executable" section specified in the cabal file?
2022-01-22 19:14:10 +0100 <whatif> [exa]: no
2022-01-22 19:14:24 +0100 <EvanR> one does not simply run without an executable
2022-01-22 19:14:25 +0100 <[exa]> how can cabal know what to execute then?
2022-01-22 19:14:39 +0100 <whatif> [exa]: the author doesn't config it
2022-01-22 19:14:48 +0100 <whatif> and I don't know how to config it
2022-01-22 19:15:24 +0100 <[exa]> uuuuh so there's some kindof package that has source code of the library and a few adhoc "executable-like" source files that people are supposed to try
2022-01-22 19:15:29 +0100 <[exa]> and they are not really packaged
2022-01-22 19:15:31 +0100 <[exa]> right?
2022-01-22 19:15:41 +0100 <whatif> [exa]: now can I compile the whole module into one library to copy for my vps?
2022-01-22 19:16:45 +0100 <[exa]> in that case, do `cabal install` in the package directory (that will make the package available for ghc), then you can compile the examples with ghc using `ghc -package yourpackagename example/Simple.hs -o simple` or so
2022-01-22 19:16:50 +0100 <whatif> my vps only has 1GB RAM, can't compile this
2022-01-22 19:17:05 +0100 <[exa]> uh oh
2022-01-22 19:17:15 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
2022-01-22 19:17:24 +0100 <EvanR> are we now about to get into cross compilation
2022-01-22 19:17:37 +0100 <[exa]> add swap
2022-01-22 19:17:41 +0100 <whatif> EvanR still haskell
2022-01-22 19:18:44 +0100 <whatif> [exa]: it's a vps, how do you suppose to get a swap partition
2022-01-22 19:19:01 +0100acowley(~acowley@c-68-83-22-43.hsd1.nj.comcast.net) (Ping timeout: 240 seconds)
2022-01-22 19:19:46 +0100 <whatif> if you mean a swap file, and config kernel, that's hard
2022-01-22 19:19:48 +0100 <[exa]> `umask 066; truncate -s 4G /myswap; mkswap /myswap; swapon /myswap`
2022-01-22 19:19:51 +0100ardell(~ardell@user/ardell) (Quit: Konversation terminated!)
2022-01-22 19:19:57 +0100 <[exa]> the hard part ^
2022-01-22 19:20:15 +0100 <whatif> will-try
2022-01-22 19:20:25 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-01-22 19:20:34 +0100cosimone(~user@93-47-231-147.ip115.fastwebnet.it)
2022-01-22 19:21:18 +0100alx741(~alx741@157.100.93.160)
2022-01-22 19:21:21 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 256 seconds)
2022-01-22 19:21:47 +0100 <whatif> [exa]: swapon: /myswap: skipping - it appears to have holes.
2022-01-22 19:22:07 +0100 <whatif> free -h Swap: 0B 0B 0B
2022-01-22 19:22:09 +0100mbuf(~Shakthi@122.174.198.26) (Quit: Leaving)
2022-01-22 19:22:09 +0100 <[exa]> oh noes
2022-01-22 19:22:31 +0100acowley(~acowley@c-68-83-22-43.hsd1.nj.comcast.net)
2022-01-22 19:22:48 +0100 <whatif> [exa]: someting wrong?
2022-01-22 19:22:51 +0100 <[exa]> try fixing it with something like `dd bs=1M count=4096 if=/dev/zero of=/myswap`
2022-01-22 19:23:23 +0100 <[exa]> I didn't realize it's linux
2022-01-22 19:24:44 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 19:25:05 +0100 <whatif> [exa]: done, then what? swapon /myswap?
2022-01-22 19:26:25 +0100 <whatif> aha, mkswap /myswap; swapon /myswap worked
2022-01-22 19:27:17 +0100 <[exa]> great
2022-01-22 19:27:25 +0100 <monochrom> Haha the irony that the "truncate" command can also expand. :)
2022-01-22 19:29:10 +0100 <whatif> [exa]: monochrom that truncate doesn't work?
2022-01-22 19:29:11 +0100 <EvanR> negative truncation
2022-01-22 19:29:50 +0100 <geekosaur> unix has the concept of file holes
2022-01-22 19:30:03 +0100 <geekosaur> so truncate set the file size but didn't fill it in
2022-01-22 19:30:17 +0100Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 240 seconds)
2022-01-22 19:30:18 +0100 <geekosaur> whoich doesn't work for swap files, they need real data blocks
2022-01-22 19:30:24 +0100 <[exa]> :(
2022-01-22 19:30:38 +0100 <[exa]> btw I never used truncate for really truncating stuff, everytime for making it bigger
2022-01-22 19:31:09 +0100Codaraxis(~Codaraxis@user/codaraxis) (Read error: Connection reset by peer)
2022-01-22 19:31:15 +0100 <[exa]> geekosaur: is that common for all unixes? I recall there was a system where this actually allocated
2022-01-22 19:31:19 +0100 <[exa]> (and it wasn't windows)
2022-01-22 19:31:26 +0100Codaraxis(~Codaraxis@user/codaraxis)
2022-01-22 19:32:20 +0100 <geekosaur> holes were in 7th research edition
2022-01-22 19:32:37 +0100Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2022-01-22 19:32:47 +0100 <geekosaur> ftruncate, the syscall it uses, wasn't in all unixes
2022-01-22 19:33:35 +0100Codaraxis(~Codaraxis@user/codaraxis) (Read error: Connection reset by peer)
2022-01-22 19:37:20 +0100lbseale(~ep1ctetus@user/ep1ctetus) (Read error: Connection reset by peer)
2022-01-22 19:37:51 +0100 <whatif> now the package is compiled on my local machine, how can it be used on vps without compiled again? copy the whole compile directory to vps?
2022-01-22 19:38:10 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2022-01-22 19:38:14 +0100 <whatif> compile it to a package, and install the package on vps?
2022-01-22 19:38:27 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-01-22 19:40:25 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds)
2022-01-22 19:40:37 +0100deadmarshal(~deadmarsh@95.38.119.69) (Ping timeout: 240 seconds)
2022-01-22 19:41:57 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-01-22 19:42:54 +0100alx741(~alx741@157.100.93.160)
2022-01-22 19:43:19 +0100 <[exa]> whatif: is the VPS the same architecture?
2022-01-22 19:43:43 +0100kaph(~kaph@net-2-47-208-144.cust.vodafonedsl.it)
2022-01-22 19:43:45 +0100 <[exa]> if so you might compile statically (use ghc -static) and then the chances are pretty high that it's just gonna work
2022-01-22 19:43:47 +0100 <whatif> [exa]: yes, amd64
2022-01-22 19:43:56 +0100 <[exa]> by just compiling the executable there
2022-01-22 19:44:06 +0100boxscape_(~boxscape_@p4ff0b9d5.dip0.t-ipconnect.de) (Quit: Connection closed)
2022-01-22 19:44:10 +0100 <[exa]> that's in fact a pretty common way to deploy haskell stuff
2022-01-22 19:44:43 +0100 <whatif> [exa]: you compile my code and the compile code on my machine, pass the binary to vps?
2022-01-22 19:45:04 +0100 <whatif> or just compile the package, and use it on vps with my code
2022-01-22 19:45:14 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 19:45:30 +0100 <whatif> I don't know ghc -static to compile which code?
2022-01-22 19:45:41 +0100 <[exa]> to compile the example you want to run
2022-01-22 19:45:55 +0100 <[exa]> if you add -static, it's going to pack up the libraries
2022-01-22 19:46:05 +0100Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 256 seconds)
2022-01-22 19:46:28 +0100 <ix> joeyh: ping
2022-01-22 19:46:35 +0100 <polyphem> whatif: compile static and copy the executable to vps
2022-01-22 19:47:00 +0100 <whatif> [exa]: could it be compiled to a deb package? only the github code, not my code?
2022-01-22 19:47:25 +0100xkuru(~xkuru@user/xkuru)
2022-01-22 19:47:49 +0100 <[exa]> yes, check out how e.g. pandoc is compiled in debian
2022-01-22 19:48:35 +0100deadmarshal(~deadmarsh@95.38.119.69)
2022-01-22 19:48:51 +0100 <whatif> oh, I need pack a deb package
2022-01-22 19:48:57 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2022-01-22 19:53:02 +0100 <whatif> that's hard, I don't know where cabal v2-install will install those needed file, for dpkg-deb --build Path to generate the deb package
2022-01-22 19:55:04 +0100retroid_(~retro@2e40edd9.skybroadband.com)
2022-01-22 19:56:09 +0100gehmehgeh(~user@user/gehmehgeh) (Ping timeout: 276 seconds)
2022-01-22 19:56:56 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-22 19:57:16 +0100gehmehgeh(~user@user/gehmehgeh)
2022-01-22 20:00:36 +0100Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2022-01-22 20:01:44 +0100 <turlando> I'm experimenting with PatternSynonym and I'm writing a test for a pattern using HSpec. Is there a way to have the test succeed if a pattern matches?
2022-01-22 20:02:02 +0100alx741(~alx741@157.100.93.160)
2022-01-22 20:02:38 +0100dsrt^(~dsrt@207.182.73.202)
2022-01-22 20:04:04 +0100econo(uid147250@user/econo)
2022-01-22 20:08:21 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 20:08:55 +0100alp(~alp@user/alp)
2022-01-22 20:09:16 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2022-01-22 20:09:19 +0100benin(~benin@183.82.31.24) (Quit: Ping timeout (120 seconds))
2022-01-22 20:09:37 +0100benin(~benin@183.82.31.24)
2022-01-22 20:10:58 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2022-01-22 20:14:37 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-22 20:14:59 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Ping timeout: 256 seconds)
2022-01-22 20:16:13 +0100kjak(~kjak@pool-108-45-56-21.washdc.fios.verizon.net)
2022-01-22 20:18:04 +0100Sgeo(~Sgeo@user/sgeo)
2022-01-22 20:18:36 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2022-01-22 20:20:43 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-01-22 20:23:26 +0100fryguybob(~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) (Quit: leaving)
2022-01-22 20:24:15 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-22 20:25:07 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-01-22 20:26:49 +0100alx741(~alx741@157.100.93.160)
2022-01-22 20:27:02 +0100xff0x(~xff0x@2001:1a81:52f4:b00:df96:89e3:722a:400f) (Ping timeout: 240 seconds)
2022-01-22 20:27:41 +0100lispy(~lispy3@84.69.59.93) (Quit: Leaving)
2022-01-22 20:28:17 +0100xff0x(~xff0x@2001:1a81:52f4:b00:92cd:1cec:76b4:462b)
2022-01-22 20:29:21 +0100deadmarshal(~deadmarsh@95.38.119.69) (Ping timeout: 256 seconds)
2022-01-22 20:29:56 +0100yauhsien(~yauhsien@61-231-58-250.dynamic-ip.hinet.net)
2022-01-22 20:31:20 +0100 <energizer> how to make a Day? I tried `import Data.Time.Calendar.OrdinalDate` followed by `Day`
2022-01-22 20:32:34 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 20:33:49 +0100 <geekosaur> there are multiple smart constructors; you can't make one directly
2022-01-22 20:34:25 +0100 <geekosaur> see for example fromOrdinalDate
2022-01-22 20:35:14 +0100 <polyphem> ♫ Daaaaaaaaaay oh, Dahahay oh ♫
2022-01-22 20:36:17 +0100yauhsien(~yauhsien@61-231-58-250.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-01-22 20:39:02 +0100 <geekosaur> if you want to be able to specify a Day from a string, see Data.Time.Format
2022-01-22 20:40:06 +0100tfeb(~tfb@195.213.60.52)
2022-01-22 20:40:29 +0100 <energizer> `fromGregorian 2021 1 1` seems to be what i was looking for
2022-01-22 20:40:31 +0100 <energizer> thanks
2022-01-22 20:41:55 +0100johnjaye(~pi@173.209.65.233)
2022-01-22 20:42:30 +0100 <energizer> er fromGregorianValid
2022-01-22 20:42:41 +0100 <EvanR> wait... there's an invalid version?
2022-01-22 20:42:49 +0100 <EvanR> why
2022-01-22 20:42:49 +0100 <energizer> https://hackage.haskell.org/package/time-1.13/docs/Data-Time-Calendar.html
2022-01-22 20:43:09 +0100 <byorgey> Should it worry me that when someone asks "how to make a Day?" the first think I think of is https://hackage.haskell.org/package/kan-extensions-5.2.3/docs/Data-Functor-Day.html ?
2022-01-22 20:43:26 +0100 <EvanR> oh returns a Maybe
2022-01-22 20:43:33 +0100 <geekosaur> EvanR, so you can be sloppy. like adding 1 to the last day of a month
2022-01-22 20:43:58 +0100 <EvanR> > fromGregorian 2022 1 31
2022-01-22 20:43:59 +0100 <lambdabot> error:
2022-01-22 20:43:59 +0100 <lambdabot> Variable not in scope: fromGregorian :: t0 -> t1 -> t2 -> t
2022-01-22 20:43:59 +0100 <geekosaur> oh. still wonder if it does that (I think the corresponding unix utils do)
2022-01-22 20:44:20 +0100 <geekosaur> @let import Data.Time.Gregorian
2022-01-22 20:44:20 +0100 <lambdabot> /sandbox/tmp/.L.hs:122:1: error:
2022-01-22 20:44:20 +0100 <lambdabot> Could not find module ‘Data.Time.Gregorian’
2022-01-22 20:44:20 +0100 <lambdabot> Use -v (or `:set -v` in ghci) to see a list of the files searched for.
2022-01-22 20:45:12 +0100 <energizer> i wish things would be called fooValid and fooInvalid instead of foo and fooValid
2022-01-22 20:45:18 +0100 <geekosaur> @let import Data.Time.Calendar
2022-01-22 20:45:19 +0100 <lambdabot> /sandbox/tmp/.L.hs:122:1: error:
2022-01-22 20:45:19 +0100 <lambdabot> Data.Time.Calendar: Can't be safely imported!
2022-01-22 20:45:19 +0100 <lambdabot> The package (time-1.9.3) the module resides in isn't trusted.
2022-01-22 20:45:33 +0100 <geekosaur> % import Data.Time.Calendar
2022-01-22 20:45:33 +0100 <yahb> geekosaur:
2022-01-22 20:45:43 +0100 <geekosaur> % fromGregorian 2022 1 31
2022-01-22 20:45:44 +0100 <yahb> geekosaur: 2022-01-31
2022-01-22 20:46:07 +0100 <geekosaur> % fromGregorian 2022 1 32
2022-01-22 20:46:07 +0100 <yahb> geekosaur: 2022-01-31
2022-01-22 20:46:51 +0100 <EvanR> there's a utility somewhere in there that lets you do that
2022-01-22 20:46:57 +0100 <EvanR> wrap or truncate
2022-01-22 20:47:05 +0100 <EvanR> er, rollover or truncate
2022-01-22 20:47:22 +0100 <energizer> +1 for addGregorianMonthsRollOver and addGregorianYearsClip
2022-01-22 20:48:05 +0100 <geekosaur> but not for loading one up directly
2022-01-22 20:48:07 +0100 <geekosaur> ah well
2022-01-22 20:48:18 +0100johnjaye(~pi@173.209.65.233) (Quit: WeeChat 3.3)
2022-01-22 20:48:37 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-01-22 20:49:16 +0100 <EvanR> I too from time to time tell people calendar dates such as January 32nd and expect them to know wtf I'm saying
2022-01-22 20:49:52 +0100 <geekosaur> first company I worked for would occasionally "extend" a month like that to "avoid" deadlines
2022-01-22 20:49:58 +0100 <EvanR> lol
2022-01-22 20:50:32 +0100alx741(~alx741@157.100.93.160)
2022-01-22 20:50:57 +0100 <geekosaur> pervasive computers kinda killed that
2022-01-22 20:51:18 +0100 <c_wraith> eh, accountant time is still a thing. Years always start on Mondays, to accountants.
2022-01-22 20:53:21 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2022-01-22 20:53:41 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-22 20:54:18 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 20:58:03 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds)
2022-01-22 21:00:16 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:5d8e:db89:f241:b6e3)
2022-01-22 21:01:57 +0100tfeb(~tfb@195.213.60.52) (Quit: died)
2022-01-22 21:03:43 +0100 <energizer> I guess a way to handle bounded addition in general is to first have three functions addSaturate addWrap addErr and then a generic add and three instances that implement it, like SaturatingDate WrappingDate ErringDate
2022-01-22 21:05:27 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd)
2022-01-22 21:05:31 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-01-22 21:05:58 +0100 <c_wraith> I recall edwardk making a comment about GHC's GC once - that it would apply selectors to values if their constructor was already evaluated, as a way to make any unused field collectable slightly earlier. Am I remembering that right? Are there any details written up anywhere?
2022-01-22 21:08:10 +0100 <awpr> sounds like this mechanism https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/rts/storage/heap-objects#selector-thunks
2022-01-22 21:09:35 +0100 <joeyh> ix: pong
2022-01-22 21:09:51 +0100 <c_wraith> awpr: yep, that looks like exactly it. thanks
2022-01-22 21:09:53 +0100 <gaze___> what's the modern way to use cabal? I only see v1-sandbox and v1 commands are deprecated right?
2022-01-22 21:10:23 +0100 <c_wraith> gaze___: everything functions as if it was sandboxed in the v2 (default) commands
2022-01-22 21:10:30 +0100 <gaze___> a ha!
2022-01-22 21:10:42 +0100 <c_wraith> It's not, actually - it shares behind the scenes.
2022-01-22 21:10:51 +0100 <c_wraith> It can do that safely now
2022-01-22 21:12:06 +0100alx741(~alx741@157.100.93.160)
2022-01-22 21:12:17 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-01-22 21:13:13 +0100LukeHoersten(~LukeHoers@user/lukehoersten)
2022-01-22 21:13:22 +0100 <ix> joeyh: did you see my note from last night?
2022-01-22 21:13:22 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-01-22 21:13:57 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 21:16:19 +0100 <joeyh> no, I missed it
2022-01-22 21:17:25 +0100 <ix> joeyh: "" hey, im fiddling with your propellor :) trying to add another OS, so i'm looking for a way to generalize `pickOS`. Unfortunately i've never used Sing or Type families before so I'm so lost here... any pointers?
2022-01-22 21:18:29 +0100 <joeyh> ix: so you kind of need to learn about dependant types, basically, although not all of it just a subset of singletons and type families
2022-01-22 21:18:46 +0100 <joeyh> I am not a good person to teach that, but <gestures at find minds on this channel>
2022-01-22 21:19:15 +0100hololeap(~hololeap@user/hololeap) (Excess Flood)
2022-01-22 21:20:12 +0100geekosaurwonders if that means hololeap just tried to teach it :þ
2022-01-22 21:20:37 +0100hololeap(~hololeap@user/hololeap)
2022-01-22 21:20:50 +0100 <joeyh> but I would be surprised if you need to change pickOS itself, it's generic. Have you gotten into the Propellor.Types.MetaTypes module yet?
2022-01-22 21:20:57 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-22 21:20:57 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-22 21:20:57 +0100wroathe(~wroathe@user/wroathe)
2022-01-22 21:20:58 +0100 <ix> joeyh: would it not make sense to just use an effect system? It seems like what you've implemented is limited w.r.t type-level sorting, and with fused-effects/polysemy now a thing those seem more powerful?
2022-01-22 21:21:17 +0100 <ix> I have a peripheral understanding o
2022-01-22 21:21:43 +0100 <ix> ..f dependent types, just not TF
2022-01-22 21:21:53 +0100 <joeyh> oh yeah, there's all kind of probably better ways to do what it's doing. It's contrained by wanting to run on old versions of ghc though, eg 8.0.1
2022-01-22 21:21:54 +0100pavonia(~user@user/siracusa)
2022-01-22 21:22:03 +0100 <ix> Oh right
2022-01-22 21:22:05 +0100 <ix> Hm
2022-01-22 21:22:26 +0100 <joeyh> this is why it has its own Propellor.Types.Singletons, cut down from the real library
2022-01-22 21:22:41 +0100 <ix> Why that constraint, ooi?
2022-01-22 21:23:27 +0100 <joeyh> using an effect system is probably an excellent idea
2022-01-22 21:24:05 +0100 <ix> Ah ok, maybe i'll implement that, so i can add gentoo much more tidily
2022-01-22 21:24:31 +0100 <ix> Right now i had to add a pickOS3 to get it to typecheck
2022-01-22 21:24:32 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-01-22 21:24:56 +0100 <ix> Inference breaks down with multiple pickOS
2022-01-22 21:25:00 +0100 <joeyh> hmm, I might be able to help with that if you want to email me a patch to look at
2022-01-22 21:25:01 +0100geekosaur. o O { had wondered at first how you were going to get ghc running on Pick }
2022-01-22 21:25:19 +0100 <ix> I'll see where i get
2022-01-22 21:25:46 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2022-01-22 21:25:47 +0100 <joeyh> oh, you mean foo `pickOS` bar `pickOS` baz?
2022-01-22 21:25:51 +0100 <ix> Global poll: fused-effects or polysemy, which is more favoured these days?
2022-01-22 21:25:56 +0100 <ix> joeyh: yep
2022-01-22 21:25:58 +0100 <joeyh> ... that's a wart for sure!
2022-01-22 21:26:22 +0100 <ix> The design seems loose anyway, im itching to reimplement it :p
2022-01-22 21:27:43 +0100 <joeyh> I've been kind of wanting to redo it to generate shell code (eg with shell-monad or whatever); very little of it seems to need complex IO
2022-01-22 21:27:57 +0100 <joeyh> and this would let it not need to build on the remote host necessarily
2022-01-22 21:28:50 +0100 <ix> Hmm, cool idea
2022-01-22 21:29:30 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2022-01-22 21:30:09 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Client Quit)
2022-01-22 21:32:09 +0100alx741(~alx741@157.100.93.160)
2022-01-22 21:32:46 +0100max22-(~maxime@2a01cb088335980008f67ae5de220faa.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds)
2022-01-22 21:33:15 +0100 <joeyh> oh, and withOS is an alternative to pickOS that does support more options
2022-01-22 21:33:32 +0100burnsidesLlama(~burnsides@dhcp168-027.wadham.ox.ac.uk)
2022-01-22 21:33:53 +0100 <joeyh> gotta run
2022-01-22 21:36:32 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 240 seconds)
2022-01-22 21:36:54 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
2022-01-22 21:37:25 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-22 21:37:25 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-22 21:37:25 +0100wroathe(~wroathe@user/wroathe)
2022-01-22 21:38:17 +0100Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 240 seconds)
2022-01-22 21:41:33 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 21:42:02 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-01-22 21:43:59 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2022-01-22 21:44:15 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-01-22 21:44:19 +0100deadmarshal(~deadmarsh@95.38.119.69)
2022-01-22 21:49:25 +0100deadmarshal(~deadmarsh@95.38.119.69) (Ping timeout: 268 seconds)
2022-01-22 21:50:08 +0100max22-(~maxime@2a01cb0883359800b9c0eef0c2aecb73.ipv6.abo.wanadoo.fr)
2022-01-22 21:51:47 +0100enoch(~enochthec@115-188-139-239-vdsl.sparkbb.co.nz)
2022-01-22 21:51:53 +0100enoch(~enochthec@115-188-139-239-vdsl.sparkbb.co.nz) (Changing host)
2022-01-22 21:51:53 +0100enoch(~enochthec@user/enochthechronoco)
2022-01-22 21:52:34 +0100alp(~alp@user/alp) (Remote host closed the connection)
2022-01-22 21:52:55 +0100alp(~alp@user/alp)
2022-01-22 21:55:06 +0100 <ix> I did try withOS but hit other type errors that i couldn't figure out due to not being familiar
2022-01-22 21:57:53 +0100LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-22 21:59:40 +0100alx741(~alx741@157.100.93.160)
2022-01-22 22:00:52 +0100Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2022-01-22 22:01:17 +0100enoch(~enochthec@user/enochthechronoco) (Ping timeout: 240 seconds)
2022-01-22 22:02:15 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-01-22 22:04:14 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 22:06:09 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds)
2022-01-22 22:07:18 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-01-22 22:08:03 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-37-70-24-250-33.dsl.bell.ca)
2022-01-22 22:08:39 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2022-01-22 22:08:55 +0100fendor(~fendor@91.141.78.76.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2022-01-22 22:14:07 +0100_ht(~quassel@2a02:a468:b619:1:aa62:dbcc:166b:da6a) (Remote host closed the connection)
2022-01-22 22:18:24 +0100lispy(~lispy3@84.69.59.93)
2022-01-22 22:21:36 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-22 22:22:12 +0100alx741(~alx741@157.100.93.160)
2022-01-22 22:24:56 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-01-22 22:25:25 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 22:31:50 +0100 <EvanR> hmm, having trouble using an emoji as the name of a function
2022-01-22 22:32:09 +0100gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-01-22 22:32:25 +0100 <EvanR> is that not supported
2022-01-22 22:32:35 +0100 <EvanR> has emojihaskell twitter been lying to me all these years
2022-01-22 22:32:44 +0100ixresists the urge to say "good"
2022-01-22 22:33:52 +0100 <ix> joeyh: second suggestion, would it be ok to shift your config outside the "Propellor" Module? I feel like that's the very wrong place for it
2022-01-22 22:35:34 +0100 <geekosaur> > generalCategory '😀'
2022-01-22 22:35:36 +0100 <lambdabot> OtherSymbol
2022-01-22 22:36:08 +0100 <geekosaur> > let x 😀 y = x * 2 + 5 * y in 3 😀 7
2022-01-22 22:36:10 +0100 <lambdabot> 41
2022-01-22 22:37:38 +0100Topsi(~Tobias@dyndsl-095-033-026-019.ewe-ip-backbone.de)
2022-01-22 22:37:47 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-01-22 22:37:47 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-01-22 22:37:47 +0100finn_elijaFinnElija
2022-01-22 22:38:02 +0100 <pavonia> Let's put even more fun in functional programming
2022-01-22 22:38:12 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2022-01-22 22:38:30 +0100shapr(~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) (Remote host closed the connection)
2022-01-22 22:38:46 +0100shapr(~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab)
2022-01-22 22:40:41 +0100fr33domlover(~fr33@2.55.162.28)
2022-01-22 22:41:15 +0100shapr(~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) (Remote host closed the connection)
2022-01-22 22:41:29 +0100shapr(~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab)
2022-01-22 22:42:17 +0100myShoggoth(~myShoggot@97-120-67-120.ptld.qwest.net) (Ping timeout: 240 seconds)
2022-01-22 22:43:47 +0100alx741(~alx741@157.100.93.160)
2022-01-22 22:44:00 +0100son0p(~ff@181.136.122.143) (Remote host closed the connection)
2022-01-22 22:45:20 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-22 22:46:41 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 22:48:00 +0100benin(~benin@183.82.31.24) (Quit: The Lounge - https://thelounge.chat)
2022-01-22 22:49:16 +0100themc47(~mc47@xmonad/TheMC47)
2022-01-22 22:51:32 +0100mc47(~mc47@xmonad/TheMC47) (Ping timeout: 240 seconds)
2022-01-22 22:52:30 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-01-22 22:53:05 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2022-01-22 22:55:08 +0100LukeHoersten(~LukeHoers@user/lukehoersten)
2022-01-22 23:01:06 +0100 <hpc> pavonia: lisp puts defun in functional programming :D
2022-01-22 23:03:53 +0100 <ix> i asked earlier, nobody responded, thoughts on fused-effects vs polysemy preferences?
2022-01-22 23:03:53 +0100 <monochrom> haha
2022-01-22 23:04:05 +0100 <ix> lol
2022-01-22 23:04:17 +0100alx741(~alx741@157.100.93.160)
2022-01-22 23:05:40 +0100vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-01-22 23:08:13 +0100lispy(~lispy3@84.69.59.93) (Quit: Leaving)
2022-01-22 23:09:25 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:5d8e:db89:f241:b6e3) (Remote host closed the connection)
2022-01-22 23:09:36 +0100 <byorgey> ix: the very high-level view is that fused-effects is the better choice if performance is important, but polysemy is much more flexible.
2022-01-22 23:09:57 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 23:10:16 +0100 <byorgey> with polysemy it is very easy to define your own new effects, and to do things like dispatch selected effects locally, reinterpret effects in terms of other effects, etc.
2022-01-22 23:10:34 +0100 <ix> and it's not easy to do that with fused-effects?
2022-01-22 23:11:25 +0100 <ix> (i have used polysemy once before, i just saw the new note about f-e being more performant and wondered if the hype had shifted to that)
2022-01-22 23:14:36 +0100 <ix> tbh i might just use f-e anyway, to gain the experience
2022-01-22 23:18:24 +0100 <byorgey> It might be possible to do local dispatch and reinterpreting with f-e, I'm not 100% sure. I just know it is very easy to do those things with polysemy, and for some projects that really matters. But for others it doesn't so much.
2022-01-22 23:18:52 +0100 <byorgey> We do use f-e in https://github.com/byorgey/swarm/ but someone else did the work to port it to f-e so I'm not super familiar with it.
2022-01-22 23:19:40 +0100 <byorgey> It seems that 'capability' may be even faster than f-e, but is definitely more limited in what it can do.
2022-01-22 23:19:43 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-01-22 23:20:25 +0100 <EvanR> is f-e like free monads on acid
2022-01-22 23:21:06 +0100DNH(~DNH@2a02:8108:1100:16d8:58a2:2ee7:7301:3a35) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-22 23:21:55 +0100max22-(~maxime@2a01cb0883359800b9c0eef0c2aecb73.ipv6.abo.wanadoo.fr) (Quit: Leaving)
2022-01-22 23:22:56 +0100DNH(~DNH@2a02:8108:1100:16d8:58a2:2ee7:7301:3a35)
2022-01-22 23:26:22 +0100alx741(~alx741@157.100.93.160)
2022-01-22 23:26:27 +0100 <byorgey> EvanR: yeah, pretty much
2022-01-22 23:30:49 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 23:31:58 +0100shapr(~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) (Remote host closed the connection)
2022-01-22 23:32:16 +0100shapr(~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab)
2022-01-22 23:34:49 +0100nattiestnate(~nate@2001:448a:20a0:2d74:df0e:2d0:816:6977)
2022-01-22 23:43:53 +0100 <hololeap> it looks like a cabal file extracted directly from a tarball from hackage.haskell.org uses unix line terminators, but the same cabal file, extracted using `cabal unpack`, uses dos line terminators. any ideas why this is?
2022-01-22 23:44:27 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-22 23:44:27 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-22 23:44:27 +0100wroathe(~wroathe@user/wroathe)
2022-01-22 23:44:36 +0100 <hololeap> the specific package I'm looking at is: fourmolu-0.4.0.0
2022-01-22 23:45:26 +0100 <hololeap> oh, maybe I should mention that I'm using an old Cabal: 3.2
2022-01-22 23:45:54 +0100themc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-01-22 23:46:23 +0100lavaman(~lavaman@98.38.249.169)
2022-01-22 23:48:15 +0100 <geekosaur> I note there's a revision, which exists as a separate cabal file. cabal unpack uses the revision, but iirc if you just get a raw tarball from hackage it's on you to get the revision separately. (see https://hackage.haskell.org/package/fourmolu-0.4.0.0/revisions/ and check the shasum)
2022-01-22 23:49:07 +0100alx741(~alx741@157.100.93.160)
2022-01-22 23:49:33 +0100 <geekosaur> (nice. cabal unpack isn't documented…)
2022-01-22 23:50:53 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-01-22 23:51:05 +0100 <byorgey> geekosaur: I think 'unpack' is just an alias for 'get'
2022-01-22 23:51:40 +0100alx741(~alx741@157.100.93.160) (Read error: Connection reset by peer)
2022-01-22 23:52:15 +0100mmhat(~mmh@55d4e57c.access.ecotel.net) (Quit: WeeChat 3.4)
2022-01-22 23:54:54 +0100 <geekosaur> yeh, I also had to allow access to the search js as it turned out
2022-01-22 23:56:04 +0100Pickchea(~private@user/pickchea)
2022-01-22 23:56:27 +0100 <geekosaur> forgot I'd only allowed access for v3.6
2022-01-22 23:58:10 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-01-22 23:58:44 +0100shapr(~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab) (Remote host closed the connection)
2022-01-22 23:58:55 +0100chomwitt(~chomwitt@2a02:587:dc03:8b00:12c3:7bff:fe6d:d374) (Ping timeout: 268 seconds)
2022-01-22 23:59:00 +0100shapr(~user@2601:7c0:c37c:46d0:e679:6b02:49c:44ab)