Home liberachat/#haskell: Logs Calendar

Logs on 2021-12-24 (liberachat/#haskell)

00:00:07 <geekosaur> in newer versions mappend is constructed from Semigroup's sappend and you only want mempty
00:00:16 <jollygood2> ah
00:01:03 sprout joins (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b)
00:02:27 <hololeap> upgrade to 8.10.7
00:02:29 SummerSonw joins (~The_viole@203.77.49.232)
00:05:25 × toastloopex quits (~toastloop@user/toastloop) (Remote host closed the connection)
00:06:02 × sprout quits (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b) (Ping timeout: 240 seconds)
00:07:51 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
00:07:51 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
00:07:51 wroathe joins (~wroathe@user/wroathe)
00:12:28 × regr quits (~regr@user/regr) (Quit: "")
00:14:48 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 268 seconds)
00:15:01 × jgeerds quits (~jgeerds@55d4ac73.access.ecotel.net) (Ping timeout: 240 seconds)
00:15:39 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
00:15:39 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
00:15:39 finn_elija is now known as FinnElija
00:15:44 kaph_ joins (~kaph@net-2-45-51-147.cust.vodafonedsl.it)
00:16:58 falafel joins (~falafel@2603-8000-d800-688c-502d-7280-71cc-20e7.res6.spectrum.com)
00:17:33 sprout joins (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b)
00:17:57 × kaph quits (~kaph@net-2-45-51-147.cust.vodafonedsl.it) (Ping timeout: 240 seconds)
00:18:27 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
00:20:24 machinedgod joins (~machinedg@24.105.81.50)
00:20:34 × dka quits (~code-is-a@ns3059207.ip-193-70-33.eu) (Quit: My Ex-Girlfriend once told me: I'm not a slut, I'm just popular)
00:20:57 × falafel quits (~falafel@2603-8000-d800-688c-502d-7280-71cc-20e7.res6.spectrum.com) (Ping timeout: 240 seconds)
00:21:14 dka joins (~code-is-a@ns3059207.ip-193-70-33.eu)
00:22:49 × sprout quits (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b) (Ping timeout: 268 seconds)
00:23:19 <otherwise> https://paste.tomsmeding.com/CIFcRs9L
00:23:50 <otherwise> trying to make this work:
00:23:51 <otherwise> initials'2 :: String -> String -> String
00:23:51 <otherwise> initials'2 ([f]:_) ([l]:_) = [f] ++ "." ++ [l] "."
00:24:07 <geekosaur> that's not how list patterns work
00:24:26 <geekosaur> [f] matches a list of exactly one item, and the following : means you have a list of lists
00:24:41 <otherwise> I got the same thing to work with (f:firstname), but I figure I can just replace firstname with _ because I'm not using firstname.
00:24:44 <geekosaur> (f:_) is how you match the first element of a list
00:25:37 <geekosaur> > (2:3:5:[])
00:25:38 <lambdabot> [2,3,5]
00:25:45 <otherwise> I tried that as well, same error
00:26:44 <geekosaur> you are also missing a ++
00:27:06 <geekosaur> at the end of line 7
00:27:40 <geekosaur> [l] "." does not concatenate [l] with "."
00:27:40 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4)
00:27:53 <otherwise> oh that myst be it
00:28:19 <jollygood2> am I missing something, or have things changed since my ancient ghc, because MonadPlus and Alternative didn't give me any new functionality. I did not need to define any methods for MonadPlus, and for Alternative I just did (<|>) = (<>) empty = Nil
00:29:43 <dsal> > let initialize = (<>".") . intersperse '.' . fmap head in initialize ["Other", "Wise"]
00:29:45 <lambdabot> "O.W."
00:30:02 × acidjnk quits (~acidjnk@p200300d0c7271e5539f4c4c5e28366d0.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
00:32:54 <jollygood2> > [1,2] <|> [4,5]
00:32:55 <lambdabot> [1,2,4,5]
00:32:58 <jollygood2> I kind of expected [1,2]
00:33:05 <dsal> Yeah. I always expect that, too.
00:33:57 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
00:35:58 Feuermagier joins (~Feuermagi@user/feuermagier)
00:36:46 yauhsien joins (~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
00:38:52 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
00:41:18 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
00:42:13 × x88x88x quits (~x88x88x@149.28.53.172) (Ping timeout: 240 seconds)
00:43:50 Feuermagier joins (~Feuermagi@user/feuermagier)
00:44:48 <otherwise> initials'2 :: String -> String -> String
00:44:48 <otherwise> initials'2 (f:_) (l:_) = [f] ++ "." ++ [l] ++ "." -- very concise version of initials.
00:44:49 <otherwise> HOWEVER, if I try to switch to (_:f) (_:l) it does not take the tail of each string input like I would expect...
00:45:22 <dsal> It does take the tail. Perhaps you expect tail to mean something else?
00:45:26 <monochrom> It does. Your problem is elsewhere.
00:45:46 <otherwise> hmm okay
00:45:47 <monochrom> > let f (_:s) = s in f "abc"
00:45:49 <lambdabot> "bc"
00:45:54 <monochrom> worksfome
00:46:26 <EvanR> whoa that was almost an infinite loop
00:47:15 × yauhsien quits (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
00:48:04 yauhsien joins (~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
00:48:12 x88x88x joins (~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb)
00:50:19 <otherwise> Oh I just had my outputs as [f] ++ [l], which was [[Char]] instead of my defined type [Char]
00:51:46 sprout joins (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b)
00:52:13 × Erutuon quits (~Erutuon@user/erutuon) (Quit: WeeChat 2.8)
00:52:37 × yauhsien quits (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
00:55:55 Erutuon joins (~Erutuon@user/erutuon)
00:56:17 × sprout quits (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b) (Ping timeout: 240 seconds)
00:57:02 <jollygood2> uh, actually I'm using ghc 8.0.2! wow that's old
00:58:06 <jollygood2> since I waited that long though, I can wait a couple of more months to jump straight to 9.x
01:00:05 <shapr> Is there a tool to convert a stack.yaml to a cabal.project?
01:00:19 <shapr> I have cabal generating arm64 native packages, but stack just won't
01:00:21 × otherwise quits (~otherwise@c-73-181-170-174.hsd1.wa.comcast.net) (Quit: Connection closed)
01:00:35 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
01:00:36 qrpnxz joins (abc4f95c31@user/qrpnxz)
01:00:51 × x88x88x quits (~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) (Read error: Connection reset by peer)
01:01:00 <sm> shapr, seen https://www.reddit.com/r/haskell/comments/rjm0x8/help_wanted_for_llvm_config_for_haskell_on_mac/ ?
01:01:28 <shapr> nope
01:02:58 <shapr> I downgraded to llvm 12 on m1 mac, that seemed to help
01:03:54 shapr reads faster
01:04:19 <shapr> ah, they also went to llvm 12
01:04:41 <shapr> I just don't want to build a cabal.project by hand for ~150 packages
01:04:45 <shapr> so was hoping to convert this magically
01:05:25 <sm> shapr: if it's not clear from that discussion, I'm using brew-installed llvm 13 and stack building arm binaries happily
01:05:50 <shapr> how'd you get an arm64 stack?
01:06:12 <geekosaur> doesn't ghcup install one?
01:06:13 <sm> I fixed multiple issues by finding and replacing all intel versions of stack/cabal/ghc/hls with ghcup-installed arm binaries (ghcup FTW!). Also beware, tools don't expect this change so many cached files will be out of date and will cause problems until you manually remove them - watch out for this with things under ~/.cabal, ~/.stack and ~/.cache (eg hie-bios).
01:07:17 <shapr> oh huh, ghcup does give me an arm64 native stack
01:07:23 <sm> brew also installs one, but ghcup provides more (hls, ghc versions..)
01:07:25 <shapr> geekosaur: yes, thanks
01:07:46 <shapr> I'll try this one more time, but previous builds were saying it couldn't link x86 to arm64 for postgresql-simple
01:08:05 <shapr> jävla frustrerad
01:08:32 <geekosaur> make sure you don't have x86 postgres libs around
01:08:35 <shapr> now I get segfaults
01:08:46 <shapr> geekosaur: pretty sure I only have arm64 native stuff
01:08:55 <shapr> as far as I know, I haven't installed rosetta
01:08:57 <sm> I'm pretty sure you don't :)
01:09:20 <sm> doesn't my comment above give some ideas ? build artifacts left over ?
01:09:34 <shapr> yeh, I'd believe that
01:09:47 <shapr> I'll just check out the repo again, no manual steps here
01:09:52 <sm> and have you checked all haskell tools in PATH with file ?
01:09:57 <jollygood2> what is up with this?
01:10:05 <jollygood2> File path contains a name which is not a valid package name: ghc-882-test.cabal
01:10:11 <EvanR> I just combined a Tree, State, and Traversable to put a new number at each place in the tree. Cool. Am I missing a way (using Traversable) to instead label each node with its depth
01:10:29 <shapr> sm: everything in ~/.ghcup/bin is arm64 only, so that's good
01:10:37 <jollygood2> why is it invalid? numbers?
01:10:57 <sm> that's a start, but not at all the same thing. I had binaries all over the place
01:11:36 <EvanR> or would that require a different kind of traversable
01:11:39 <dsal> EvanR: I did a thing that sounds exactly like that.
01:11:43 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:11:50 <dsal> number = flip evalState 0 . traverse (\x -> (,x) <$> (id <+= 1))
01:12:00 <shapr> sm: pretty sure I have only the binaries from ghcup, but I'll dig around
01:12:32 <dsal> That's a custom type, and not Tree, but it's Treeish
01:12:39 <EvanR> sure
01:12:43 × Guest2110 quits (~random@46.254.129.95) (Remote host closed the connection)
01:12:47 <shapr> I wish I could figure out why the ghcup installed stack gives me a segfault
01:13:06 <sm> good luck. I had binaries in at least the 5 places mentioned in that thread
01:13:19 <shapr> I will check the locations you listed, thanks
01:13:24 <dsal> shapr: I've seen that a few ways… I'm using nix right now. Things seem a little fragile lately.
01:14:43 <shapr> yeah, I've had different problems with haskell.nix
01:15:02 <shapr> on first run it says "cannot bootstrap GHC on this architecture" then it only segfaults
01:15:27 <dsal> Gotta start at lts-18.18 or so.
01:16:43 <shapr> I'll try that, we're using 18.10
01:17:34 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
01:17:36 qrpnxz joins (abc4f95c31@user/qrpnxz)
01:17:50 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:18:04 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: closed)
01:18:11 qrpnxz joins (abc4f95c31@user/qrpnxz)
01:19:46 × whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
01:21:48 yauhsien joins (~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
01:31:14 × yauhsien quits (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
01:31:33 × neceve quits (~quassel@2.26.93.228) (Ping timeout: 256 seconds)
01:32:47 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
01:32:48 qrpnxz joins (abc4f95c31@user/qrpnxz)
01:33:47 yauhsien joins (~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
01:33:50 deadmarshal joins (~deadmarsh@95.38.117.158)
01:38:21 × deadmarshal quits (~deadmarsh@95.38.117.158) (Ping timeout: 256 seconds)
01:38:39 × yauhsien quits (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
01:42:14 <jollygood2> hmm, I just stack installed ghc-8.10.7, and I lost 4GB on my SSD drive, despite the fact that ghc-8.10.7 + ghc-8.10.7.tar.xz only take 3GB. what happened to 1GB? base is the only package I use
01:43:32 <maerwald[m]> stack has multiple sqlite databases and basically puts hackage into one
01:43:52 otherwise joins (~otherwise@c-73-221-44-172.hsd1.wa.comcast.net)
01:44:45 <jollygood2> where is that database located? in stack root directory?
01:45:02 <maerwald[m]> Yeah
01:45:18 <maerwald[m]> pantry
01:45:43 <jollygood2> is it ok to just delete entire sr directory? :). I've experimented with various ghc versions over the years, and it accumulated a lot of crap I don't need
01:46:07 <jollygood2> I'm guessing stack install will pull in everything in needs again
01:46:16 <jollygood2> s/in/it
01:46:44 <maerwald[m]> stack doesn't care about your disk space yeah, like nix and docker
01:53:52 shapr installs more drives in his laptop
01:54:13 × waleee quits (~waleee@h-98-128-229-110.NA.cust.bahnhof.se) (Ping timeout: 256 seconds)
01:58:17 vicfred joins (~vicfred@user/vicfred)
01:58:50 <otherwise> calcBmis' xs = [bmi w h | (w, h) <- xs]
01:58:50 <otherwise>     where bmi foo bar = foo + bar
01:58:51 <otherwise> so is foo and bar taking the place of w and h here?
01:59:01 × tito quits (tito@tilde.team) (Ping timeout: 240 seconds)
01:59:33 <otherwise> and bmi must be bmi in the where binding, I dont get to rename that like I can rename w and h?
02:00:27 × sim590 quits (~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 256 seconds)
02:00:30 tito joins (tito@tilde.team)
02:00:37 × Tuplanolla quits (~Tuplanoll@91-159-69-214.elisa-laajakaista.fi) (Quit: Leaving.)
02:00:52 <geekosaur> bmi is a locally defined function, whose parameters are foo and bar. in the call to bmi, you pass w and h as foo and bar
02:06:21 × yaroot quits (~yaroot@60.149.13.160.dy.iij4u.or.jp) (Remote host closed the connection)
02:06:30 yaroot joins (~yaroot@60.149.13.160.dy.iij4u.or.jp)
02:12:57 <jollygood2> weird argument names are probably the reason for confusion. also, that doesn't actually calculate bmi :P
02:13:46 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:13:46 sim590 joins (~simon@modemcable090.207-203-24.mc.videotron.ca)
02:14:42 <jollygood2> let bmi w h = w / h^2 in map (uncurry bmi) [(90, 1.80), (120, 1.80)]
02:14:45 <jollygood2> > let bmi w h = w / h^2 in map (uncurry bmi) [(90, 1.80), (120, 1.80)]
02:14:47 <lambdabot> [27.777777777777775,37.03703703703704]
02:16:17 × Everything quits (~Everythin@37.115.210.35) (Quit: leaving)
02:19:50 slack1256 joins (~slack1256@181.42.53.226)
02:20:05 × tito quits (tito@tilde.team) (Ping timeout: 252 seconds)
02:21:31 Codaraxis_ joins (~Codaraxis@user/codaraxis)
02:23:41 × Codaraxis quits (~Codaraxis@user/codaraxis) (Ping timeout: 256 seconds)
02:23:49 <slack1256> Is there any advice on how to organize the module structure for an executable instead of a libraries? I want to avoid import cycles between subsystems, but it is not clear on the current code who can import on who. This is on stack so no access to internal libraries.
02:24:24 tito joins (tito@tilde.team)
02:26:41 × lragyrlmtdwnbo^ quits (~lragyrlmt@64.253.22.77) (Ping timeout: 252 seconds)
02:26:58 yauhsien joins (~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
02:27:24 lragyrlmtdwnbo^ joins (~lragyrlmt@64.253.22.77)
02:28:31 <otherwise> good catch. thanks :)
02:33:52 <otherwise> >fib 0 = [0];fib 1 = (fib 0) ++ [1]
02:34:08 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
02:34:18 <otherwise> Prelude> fib 1
02:34:19 <otherwise> *** Exception: <interactive>:6:1-22: Non-exhaustive patterns in function fib
02:34:42 <otherwise> >[0]++[1]
02:34:49 <otherwise> > [0]++[1]
02:34:50 <lambdabot> [0,1]
02:35:12 <otherwise> > fib 0 = [0];fib 1 = (fib 0) ++ [1]
02:35:13 <lambdabot> <hint>:1:7: error: parse error on input ‘=’
02:37:07 <otherwise> trying to generate list of fibonacci sequence, but haskell is not having it... doesn't like defining fib 0 to be list [0] then concatenating it with [1]. but it works fine when I do it with numbers instead of variables
02:41:07 <g> otherwise: if you wrote those two definitions on separate lines in ghci , the second one *replaced* the first
02:41:19 L29Ah joins (~L29Ah@wikipedia/L29Ah)
02:44:20 × bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
02:44:58 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
02:48:03 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
02:53:16 × xff0x quits (~xff0x@2001:1a81:52d0:e400:f16b:c82a:3197:1eaa) (Ping timeout: 268 seconds)
02:54:35 xff0x joins (~xff0x@2001:1a81:5311:2b00:1f91:2f58:522f:165b)
02:54:36 <otherwise> > let fibs = 1 : 1 : zipWith (*) fibs (tail fibs) in take 4 fibs
02:54:37 <lambdabot> [1,1,1,1]
02:54:57 <otherwise> why all ones? why not [1,1,2,3]
02:55:14 <int-e> > 1*1
02:55:15 <lambdabot> 1
02:55:29 <otherwise> haha
02:55:30 <otherwise> oops
02:55:59 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
02:56:12 qrpnxz joins (abc4f95c31@user/qrpnxz)
02:56:18 <otherwise> yes that was all, thanks int-e
02:58:02 Morrow joins (~quassel@bzq-110-168-31-106.red.bezeqint.net)
02:58:02 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
02:58:03 qrpnxz joins (abc4f95c31@user/qrpnxz)
02:58:47 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
02:58:48 qrpnxz joins (abc4f95c31@user/qrpnxz)
02:59:24 <dsal> There should be a name for the sequence that's like fibonacci but all multiplied instead of added.
02:59:53 <int-e> dsal: you basically just take the logarithm of each element
03:00:33 <int-e> > let fibs' = 0 : 0 : zipWith (+) fibs' (tail fibs') in fibs'
03:00:34 <lambdabot> [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0...
03:00:35 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
03:00:36 qrpnxz joins (abc4f95c31@user/qrpnxz)
03:00:45 <dsal> ziponacci numbers
03:01:02 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
03:01:02 qrpnxz joins (abc4f95c31@user/qrpnxz)
03:01:31 <int-e> dsal: (with a tiny twist if you have negative numbers, though that twist disappears when you switch to complex numbers)
03:01:32 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
03:01:45 <int-e> > let fibs = 1 : 1 : zipWith (*) fibs (tail fibs) in take
03:01:47 <lambdabot> error:
03:01:47 <lambdabot> • No instance for (Typeable a0)
03:01:47 <lambdabot> arising from a use of ‘show_M32698731503050283268’
03:01:50 <int-e> arg
03:02:03 <int-e> > let fibs = -1 : -1 : zipWith (*) fibs (tail fibs) in fibs
03:02:04 <lambdabot> [-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,-1,1,-1,...
03:02:17 <dsal> That one's neat.
03:02:29 <dsal> > let fibs = -1 : -1 : zipWith (*) fibs (tail fibs) in sum fibs
03:02:36 dsal waits
03:02:38 <lambdabot> mueval.real: ExitFailure 1
03:02:56 <jackdk> @botsnack poor lambdabot
03:02:56 <lambdabot> :)
03:03:08 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
03:03:09 qrpnxz joins (abc4f95c31@user/qrpnxz)
03:03:31 <int-e> . o O ( Out of memory: Killed process 25666 )
03:04:01 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
03:04:01 qrpnxz joins (abc4f95c31@user/qrpnxz)
03:06:16 sprout joins (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b)
03:06:30 <otherwise> > let fibs = -1 : -1 : zipWith (*) fibs (tail fibs) in sum (take 5 fibs)
03:06:31 <lambdabot> -3
03:07:10 <otherwise> > let fibs = -1 : -1 : zipWith (*) fibs (tail fibs) in sum (take 6 fibs)
03:07:12 <lambdabot> -2
03:08:11 <int-e> > scanl (+) 0 (cycle [-1,-1,1])
03:08:12 <lambdabot> [0,-1,-2,-1,-2,-3,-2,-3,-4,-3,-4,-5,-4,-5,-6,-5,-6,-7,-6,-7,-8,-7,-8,-9,-8,-...
03:08:35 <shapr> ha, I was just wishing for cabal to have a --keep-going flag, and it already DOES!
03:09:24 <otherwise> merry christmas
03:10:34 <shapr> yay
03:10:57 × sprout quits (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b) (Ping timeout: 240 seconds)
03:12:21 <dsal> I need that for nix-shell. It's failing to get me a shell with niv because something's broken.
03:13:53 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
03:13:54 qrpnxz joins (abc4f95c31@user/qrpnxz)
03:14:40 <jackdk> nix-shell -p niv just to get niv going? also nix-shell does have --keep-going
03:15:01 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
03:15:02 qrpnxz joins (abc4f95c31@user/qrpnxz)
03:15:07 <dsal> I wanted to update something that uses niv, but I can't make niv go.
03:15:22 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
03:15:22 qrpnxz joins (abc4f95c31@user/qrpnxz)
03:15:35 <jackdk> yeah I do this all the time. drop into a `nix-shell -p niv` with some niv from nixpkgs to get unstuck
03:15:45 <jackdk> then you can `niv update` or whatever
03:15:54 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
03:15:55 qrpnxz joins (abc4f95c31@user/qrpnxz)
03:16:28 <dsal> I was trying to do it *before* I got the error this time.
03:17:32 × td_ quits (~td@94.134.91.61) (Ping timeout: 240 seconds)
03:18:08 <jackdk> trying to do what?
03:19:24 td_ joins (~td@muedsl-82-207-238-144.citykom.de)
03:24:47 × Midjak quits (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep)
03:26:34 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
03:26:34 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
03:26:34 finn_elija is now known as FinnElija
03:29:44 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
03:29:45 qrpnxz joins (abc4f95c31@user/qrpnxz)
03:30:24 <dsal> Trying to do a niv update before I updated LTS stuff and pushed a repo and and had it fail in CI
03:31:55 deadmarshal joins (~deadmarsh@95.38.117.158)
03:32:55 × jespada quits (~jespada@87.74.33.157) (Ping timeout: 250 seconds)
03:33:17 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds)
03:35:00 jespada joins (~jespada@87.74.33.157)
03:35:26 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
03:35:27 qrpnxz joins (abc4f95c31@user/qrpnxz)
03:36:14 × hololeap quits (~hololeap@user/hololeap) (Quit: Bye)
03:36:51 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
03:36:51 qrpnxz joins (abc4f95c31@user/qrpnxz)
03:37:57 × sim590 quits (~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 240 seconds)
03:39:05 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
03:40:15 sprout joins (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b)
03:42:21 Guest|93 joins (~Guest|93@104.28.91.78)
03:44:51 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
03:44:52 qrpnxz joins (abc4f95c31@user/qrpnxz)
03:45:26 × sprout quits (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b) (Ping timeout: 260 seconds)
03:47:31 × Guest|93 quits (~Guest|93@104.28.91.78) (Quit: Connection closed)
03:48:51 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: closed)
03:49:07 qrpnxz joins (abc4f95c31@user/qrpnxz)
03:50:55 sim590 joins (~simon@modemcable090.207-203-24.mc.videotron.ca)
03:56:56 sprout joins (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b)
03:59:05 × Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 252 seconds)
03:59:57 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
04:01:44 × sprout quits (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b) (Ping timeout: 268 seconds)
04:05:57 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 240 seconds)
04:14:31 sprout joins (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b)
04:14:45 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
04:15:28 <otherwise> >1:1:zipWith (+) [1,1] [1]
04:15:39 <otherwise> > 1:1:zipWith (+) [1,1] [1]
04:15:40 <lambdabot> [1,1,2]
04:15:45 <otherwise> > 1:1:zipWith (+) [1,1,2] [1,2]
04:15:46 <lambdabot> [1,1,2,3]
04:16:04 <otherwise> > 1:1:zipWith (+) [1,1,2,3] [1,2,3]
04:16:05 <lambdabot> [1,1,2,3,5]
04:16:56 <otherwise> Is that basically the steps taken by the fib' function:
04:16:56 <otherwise> fib = 1: 1: zipWith (+) fib (tail fib)
04:17:24 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
04:17:24 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
04:17:24 wroathe joins (~wroathe@user/wroathe)
04:17:37 <otherwise> what I don't get is why 1:1 works at all...
04:17:38 vicfred joins (~vicfred@user/vicfred)
04:17:39 <int-e> kind of; instead of [] for end-of-list you'll have a pending zipWith
04:17:44 <otherwise> > 1: 1
04:17:45 <lambdabot> error:
04:17:46 <lambdabot> • No instance for (Num [Integer]) arising from a use of ‘e_111’
04:17:48 <lambdabot> • In the expression: e_111
04:17:55 <otherwise> 1 : [1]
04:17:58 <otherwise> > 1 : [1]
04:18:02 <lambdabot> [1,1]
04:18:24 img joins (~img@user/img)
04:18:52 <otherwise> oh I see, as you said int-e
04:18:57 × sprout quits (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b) (Ping timeout: 240 seconds)
04:19:00 <dsal> > let fibby = 1 : 1 : zipWith f fibby (tail fibby) in fibby :: [Expr]
04:19:01 <lambdabot> [1,1,f 1 1,f 1 (f 1 1),f (f 1 1) (f 1 (f 1 1)),f (f 1 (f 1 1)) (f (f 1 1) (f...
04:19:29 <int-e> let xs = 1:1:zipWith xs (tail xs) in xs = 1:1:let zs = zipWith (1:1:zs) (1:zs) in zs = 1:1:let zs = 2:zipWith (1:zs) zs = 1:1:2:let zs' = zipWith (1:2:zs') (2:zs') = ...
04:19:33 slac52407 joins (~slack1256@181.42.47.208)
04:20:03 <otherwise> > 1:1:[]
04:20:05 <lambdabot> [1,1]
04:20:36 <int-e> otherwise: ^^that's a common way to express what happens as text, using `let` to give names to yet-to-be-evaluated parts.
04:21:26 <int-e> one can also draw fancy diagrams with boxes for such thunks... there must be a blog post out there that does it for this example but I don't know how to search for one.
04:22:07 × slack1256 quits (~slack1256@181.42.53.226) (Ping timeout: 256 seconds)
04:23:01 <int-e> > 1:1:undefined
04:23:02 <lambdabot> [1,1*Exception: Prelude.undefined
04:23:29 mbuf joins (~Shakthi@122.174.194.123)
04:23:36 <int-e> laziness at work: note that even though evaluating `undefined` is an error, the first two elements of the list can be accessed.
04:27:49 <monochrom> The Gentle Introduction to Haskell has such a diagram.
04:27:57 <monochrom> I think it helped no one.
04:28:38 <int-e> . o O ( The "Gentle" Introduction to Haskell )
04:28:43 bitmapper joins (uid464869@id-464869.lymington.irccloud.com)
04:29:11 <monochrom> The rest of the Gentle Introduction is actually fine.
04:29:55 <monochrom> I believe that what works is the idea of successive approximation start from bottom.
04:30:08 <int-e> > let fibby = 1 : 1 : zipWith (+) fibby (tail fibby) in fibby :: [Expr]
04:30:09 <lambdabot> [1,1,1 + 1,1 + (1 + 1),1 + 1 + (1 + (1 + 1)),1 + (1 + 1) + (1 + 1 + (1 + (1 ...
04:30:19 <otherwise> > "Gentle" == "Easy"
04:30:20 <lambdabot> False
04:30:21 <int-e> > let fibby = a : b : zipWith (+) fibby (tail fibby) in fibby
04:30:23 <lambdabot> [a,b,a + b,b + (a + b),a + b + (b + (a + b)),b + (a + b) + (a + b + (b + (a ...
04:32:17 sprout joins (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b)
04:32:30 <int-e> monochrom: aka Boehmian Forests.
04:32:32 <otherwise> int-e I see what you mean about haskell allowing for the undefined quality to the appending list
04:34:35 × deadmarshal quits (~deadmarsh@95.38.117.158) (Ping timeout: 256 seconds)
04:34:50 <otherwise> int-e what is this [Expr] at the end of your fibby zipWith's? it does not evaluate in ghci
04:34:58 <dsal> :t Expr
04:34:59 <lambdabot> error:
04:34:59 <lambdabot> • Data constructor not in scope: Expr
04:35:00 <lambdabot> • Perhaps you meant variable ‘expr’ (imported from Debug.SimpleReflect)
04:35:17 <dsal> It means a list of Expr values.
04:35:36 <dsal> If you don't have that type, you can't reference it.
04:36:29 <int-e> otherwise: it's a type with weird implementations for arithmetic operations (and some others) that capture a full expression rather than evaluating to a value
04:36:53 × sprout quits (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b) (Ping timeout: 268 seconds)
04:37:05 <int-e> so 1 + 1, rather than evaluating to 2, becomes something like Op "+" (Lit 1) (Lit 1), and that will be shown as 1 + 1 later on:
04:37:09 <int-e> > 1 + 1 :: Expr
04:37:10 <lambdabot> 1 + 1
04:37:33 <dsal> (It's not special -- you could write that yourself)
04:37:52 <int-e> the code is in https://hackage.haskell.org/package/simple-reflect
04:38:17 <int-e> but yeah, it's not *really* special, though it may feel that way if you're new to Haskell (and that's okay)
04:39:19 <dsal> haskell has a lot of things that feel like magic if you're coming from... lesser languages. as you learn, the magic fades.
04:39:26 <int-e> :t reduced
04:39:26 <lambdabot> error:
04:39:26 <lambdabot> • Variable not in scope: reduced
04:39:27 <lambdabot> • Perhaps you meant ‘reduce’ (imported from Debug.SimpleReflect)
04:39:50 <int-e> :t Data.SimpleReflect.Expr.reduced
04:39:51 <lambdabot> error:
04:39:51 <lambdabot> Not in scope: ‘Data.SimpleReflect.Expr.reduced’
04:39:51 <lambdabot> No module named ‘Data.SimpleReflect.Expr’ is imported.
04:40:12 <int-e> @let import Data.SimpleReflect.Expr (reduced)
04:40:12 <lambdabot> /sandbox/tmp/.L.hs:120:1: error:
04:40:12 <lambdabot> Could not find module ‘Data.SimpleReflect.Expr’
04:40:12 <lambdabot> Perhaps you meant
04:40:23 <int-e> @let import Debug.SimpleReflect.Expr (reduced)
04:40:24 <lambdabot> /sandbox/tmp/.L.hs:133:34: error:
04:40:24 <lambdabot> Module ‘Debug.SimpleReflect.Expr’ does not export ‘reduced’
04:40:24 <lambdabot> |
04:40:30 <int-e> sigh.
04:40:37 <int-e> @let import Debug.SimpleReflect.Expr (Expr (reduced))
04:40:37 <lambdabot> /sandbox/tmp/.L.hs:133:34: error:
04:40:37 <lambdabot> Module ‘Debug.SimpleReflect.Expr’ does not export ‘Expr(reduced)’
04:40:37 <lambdabot> |
04:40:42 <int-e> I give up.
04:41:15 <int-e> :t reduce
04:41:16 <lambdabot> Expr -> Expr
04:41:24 <int-e> pfft.
04:41:46 <int-e> > iterate reduce (1 + 1 + 2 + 3 + 5)
04:41:47 <lambdabot> [1 + 1 + 2 + 3 + 5,2 + 2 + 3 + 5,4 + 3 + 5,7 + 5,12,12,12,12,12,12,12,12,12,...
04:42:59 <int-e> > reduction (1 + 1 + 2 + 3 + 5)
04:43:00 <lambdabot> [1 + 1 + 2 + 3 + 5,2 + 2 + 3 + 5,4 + 3 + 5,7 + 5,12]
04:43:05 <int-e> yay.
04:43:54 <xerox> beautiful
04:44:22 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
04:44:34 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
04:44:34 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
04:44:34 finn_elija is now known as FinnElija
04:44:48 <int-e> I didn't know (or, at least, remember) that the package can do that.
04:48:25 <xerox> I didn't either
04:49:34 lavaman joins (~lavaman@98.38.249.169)
04:50:42 sprout joins (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b)
04:53:51 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
04:55:26 × sprout quits (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b) (Ping timeout: 260 seconds)
04:56:21 × jollygood2 quits (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC)
05:00:10 <dsal> What is the largest model number accepted by MONAD?
05:03:56 <bitmapper> i cannot figure out Arrows
05:09:20 slac52407 is now known as slack1256
05:15:10 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
05:15:10 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
05:15:10 finn_elija is now known as FinnElija
05:16:10 sprout joins (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b)
05:18:12 KvL joins (~KvL@37.120.213.109)
05:18:17 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
05:20:06 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
05:24:04 × Sobhan quits (~Sobhan@modemcable039.128-131-66.mc.videotron.ca) (Quit: Client closed)
05:30:42 × KvL quits (~KvL@37.120.213.109) (Quit: KvL)
05:32:21 alfonsox joins (~quassel@103.92.42.192)
05:36:29 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
05:36:49 geekosaur joins (~geekosaur@xmonad/geekosaur)
05:44:37 × mvk quits (~mvk@2607:fea8:5cdd:f000::917a) (Ping timeout: 240 seconds)
05:44:52 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
05:44:52 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
05:44:52 finn_elija is now known as FinnElija
05:46:24 <Axman6> cccccckvtilvklniclblevinjtkdengurbfnuvhgugrh
05:46:39 <Axman6> uh, please only use that code once, it is single use
05:50:55 KvL joins (~KvL@37.120.213.109)
05:55:03 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
05:58:27 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
06:00:44 <geekosaur> is that a code or keyboard vomit?
06:01:49 <otherwise> it was for a couple bit coins, I already used it.
06:01:51 <otherwise> ...
06:03:20 <otherwise> j/k (probably goes without saying)
06:05:25 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
06:05:51 <alfonsox> Is "stack build" command usage max core & max RAM ? I am trying to set up Yesod first time, it is trying to build x/178 (145/178 right now) for last15/20 minutes.
06:07:05 <alfonsox> Or my machine is just slow in 2021, 10 year old desktop with i3 540 with 4GB 1333 hz RAM ?
06:07:43 <geekosaur> 4gb and yesod gonna be slow
06:10:33 <alfonsox> but RAM usage hovering around 1.3 GB of 4GB.
06:11:38 <alfonsox> however all the 4 cores fluctuating between 20-80% usage range.
06:11:40 <geekosaur> I think most of the slowness in building yesod is *lots* of template haskell, actually
06:12:07 elcaro parts (~anonymous@45.32.191.75) ()
06:12:07 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:16:19 <alfonsox> hmm. Is there a way to configure it to not to do that ? Assuming as a newbie I am not going to use Template Haskell ?
06:16:51 <geekosaur> it's not you that uses it. TH is generating code at compile time
06:17:31 <geekosaur> and it needs that code
06:19:06 <alfonsox> okay. Build completed but took good 20-30 minutes.
06:20:00 <alfonsox> I hope it does not do that everytime I need to build the project.
06:21:24 jinsun__ joins (~quassel@user/jinsun)
06:23:07 mvk joins (~mvk@2607:fea8:5cdd:f000::917a)
06:23:17 × jinsun quits (~quassel@user/jinsun) (Ping timeout: 240 seconds)
06:29:57 × KvL quits (~KvL@37.120.213.109) (Ping timeout: 240 seconds)
06:31:43 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
06:31:43 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
06:31:43 wroathe joins (~wroathe@user/wroathe)
06:34:15 notzmv joins (~zmv@user/notzmv)
06:36:17 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
06:38:57 × ozzymcduff quits (~mathieu@81-234-151-21-no94.tbcn.telia.com) (Ping timeout: 240 seconds)
06:42:26 KvL joins (~KvL@37.120.213.108)
06:42:41 × retro_ quits (~retro@05412d78.skybroadband.com) (Read error: Connection reset by peer)
06:43:10 × KvL quits (~KvL@37.120.213.108) (Client Quit)
06:51:07 × sagax quits (~sagax_nb@user/sagax) (Quit: Konversation terminated!)
06:51:08 retroid_ joins (~retro@05412d78.skybroadband.com)
06:52:38 sagax joins (~sagax_nb@user/sagax)
06:53:48 × arahael quits (~arahael@203.158.51.1) (Quit: WeeChat 3.1)
07:03:20 × mbuf quits (~Shakthi@122.174.194.123) (Quit: Leaving)
07:03:54 × goepsilongo quits (~goepsilon@2806:263:c404:8000:f42f:2a6e:3c81:2519) (Quit: Textual IRC Client: www.textualapp.com)
07:05:31 kupi joins (uid212005@id-212005.hampstead.irccloud.com)
07:14:21 × lragyrlmtdwnbo^ quits (~lragyrlmt@64.253.22.77) (Remote host closed the connection)
07:14:57 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:16:57 × chozorho quits (~chozorho@2601:146:300:c30::9401) (Quit: WeeChat 3.0)
07:17:36 deadmarshal joins (~deadmarsh@95.38.117.158)
07:24:52 Codaraxis__ joins (~Codaraxis@user/codaraxis)
07:27:25 × benin quits (~benin@183.82.27.57) (Ping timeout: 240 seconds)
07:28:33 × Codaraxis_ quits (~Codaraxis@user/codaraxis) (Ping timeout: 256 seconds)
07:28:33 × gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer)
07:29:07 × deadmarshal quits (~deadmarsh@95.38.117.158) (Ping timeout: 256 seconds)
07:29:58 × yauhsien quits (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
07:32:02 × kaph_ quits (~kaph@net-2-45-51-147.cust.vodafonedsl.it) (Ping timeout: 240 seconds)
07:34:10 gentauro joins (~gentauro@user/gentauro)
07:34:37 benin joins (~benin@183.82.27.57)
07:35:21 yauhsien joins (~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
07:35:40 dsrt^ joins (~dsrt@64.253.22.77)
07:36:13 deadmarshal joins (~deadmarsh@95.38.117.158)
07:36:41 Gurkenglas joins (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
07:39:03 coolnickname joins (uid531864@user/coolnickname)
07:40:27 × yauhsien quits (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
07:47:01 jonathanx joins (~jonathan@c-5eea3459-74736162.cust.telenor.se)
07:49:02 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
07:55:20 × phma quits (phma@2001:5b0:211b:ad08:e5d3:c318:2701:f71f) (Read error: Connection reset by peer)
07:55:23 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:56:40 phma joins (phma@2001:5b0:211c:1148:9e4d:7400:733a:b6f1)
07:57:27 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 256 seconds)
07:58:04 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
08:00:20 geekosaur joins (~geekosaur@xmonad/geekosaur)
08:02:10 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer)
08:02:28 geekosaur joins (~geekosaur@xmonad/geekosaur)
08:15:27 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:16:00 coot joins (~coot@89-64-85-93.dynamic.chello.pl)
08:20:55 chomwitt joins (~chomwitt@2a02:587:dc1c:a00:12c3:7bff:fe6d:d374)
08:20:56 aliosablack joins (~chomwitt@2a02:587:dc1c:a00:12c3:7bff:fe6d:d374)
08:24:11 toastloop joins (toastloop@user/toastloop)
08:33:31 <otherwise> Is Kotlin much different than haskell?
08:37:11 <dsal> I can't imagine how they're related.
08:39:53 KvL joins (~KvL@178.239.165.192)
08:42:55 × toastloop quits (toastloop@user/toastloop) (Ping timeout: 268 seconds)
08:43:39 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:319d:53ed:6690:e5b4) (Remote host closed the connection)
08:46:23 gensyst joins (gensyst@user/gensyst)
08:46:57 × jonathanx quits (~jonathan@c-5eea3459-74736162.cust.telenor.se) (Ping timeout: 240 seconds)
08:47:06 <gensyst> I run GHCi for my project with "cabal repl exe:project-exe". This compiles the library and gets me into a repl where I can experiment with changes to Main.hs.
08:47:38 <gensyst> However how do I recompile the *library* from GHCi, if I make changes to the library? The only way I know is of quitting GHCi and relaunching it.
08:47:46 <gensyst> Any other ways from within GHCi itself?
08:49:09 acidjnk joins (~acidjnk@p200300d0c7271e5539f4c4c5e28366d0.dip0.t-ipconnect.de)
08:50:29 gehmehgeh joins (~user@user/gehmehgeh)
08:51:21 lavaman joins (~lavaman@98.38.249.169)
08:55:25 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
08:56:52 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
08:58:04 × chomwitt quits (~chomwitt@2a02:587:dc1c:a00:12c3:7bff:fe6d:d374) (Remote host closed the connection)
08:58:04 × aliosablack quits (~chomwitt@2a02:587:dc1c:a00:12c3:7bff:fe6d:d374) (Remote host closed the connection)
08:58:36 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
09:00:06 × meatfeather[m] quits (~meatfeath@2001:470:69fc:105::1:3311) (Quit: You have been kicked for being idle)
09:01:23 max22- joins (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr)
09:02:11 × slack1256 quits (~slack1256@181.42.47.208) (Remote host closed the connection)
09:02:31 Tuplanolla joins (~Tuplanoll@91-159-68-52.elisa-laajakaista.fi)
09:02:34 <otherwise> I thought Kotlin is a functional programing language, but i'm not sure the diversity among functional languages. hence wondering how similar they are.
09:03:34 × KvL quits (~KvL@178.239.165.192) (Quit: KvL)
09:03:56 KvL joins (~KvL@178.239.165.192)
09:04:12 × KvL quits (~KvL@178.239.165.192) (Client Quit)
09:05:47 <merijn> gensyst: The library your executable depends on, you mean?
09:06:15 <merijn> otherwise: I don't think Kotlin is remotely functional in the sense that anyone *here* would interpret that term, tbh
09:06:21 × deadmarshal quits (~deadmarsh@95.38.117.158) (Ping timeout: 268 seconds)
09:06:40 <merijn> AFAIK the "functional part" of Kotlin is just "hey guys, we made lambdas and first class functions slightly less sucky than in Java!"
09:07:09 KvL joins (~KvL@178.239.165.192)
09:10:05 <otherwise> I see. Just because you write "tesla" on the side of your electric golf cart, doesnt make it a tesla. Something like that.
09:10:32 deadmarshal joins (~deadmarsh@95.38.117.158)
09:13:18 <gensyst> merijn, yeah
09:13:32 × coot quits (~coot@89-64-85-93.dynamic.chello.pl) (Remote host closed the connection)
09:13:34 <merijn> gensyst: The short answer is (for now): You can't
09:14:19 <merijn> gensyst: ghci can only load 1 "component" at a time (library, exe, etc.) it's a fundamental ghci limitation. I recall there was someone working on lifting it, but that's Work-in-Progress afaik
09:14:43 coot joins (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827)
09:14:52 <gensyst> merijn, ok thanks for the info!
09:15:42 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
09:15:43 qrpnxz joins (abc4f95c31@user/qrpnxz)
09:16:24 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
09:16:24 qrpnxz joins (abc4f95c31@user/qrpnxz)
09:16:25 × KvL quits (~KvL@178.239.165.192) (Quit: KvL)
09:16:45 KvL joins (~KvL@178.239.165.192)
09:17:01 × coot quits (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Remote host closed the connection)
09:17:24 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
09:17:49 geekosaur joins (~geekosaur@xmonad/geekosaur)
09:18:07 coot joins (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827)
09:18:17 <int-e> glguy: Thanks for demystifying today's circuits :)
09:18:56 AlexNoo_ is now known as AlexNoo
09:25:57 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
09:32:08 × darchitect quits (~darchitec@2a00:23c6:3584:df00:7dec:bf13:8fa:748c) (Quit: WeeChat 3.3)
09:33:49 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
09:36:36 × coot quits (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Remote host closed the connection)
09:37:50 coot joins (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827)
09:38:37 × deech` quits (~user@024-217-244-075.res.spectrum.com) (Ping timeout: 240 seconds)
09:40:55 × KvL quits (~KvL@178.239.165.192) (Quit: KvL)
09:41:40 deech` joins (~user@024-217-244-075.res.spectrum.com)
09:44:03 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
09:44:33 × deadmarshal quits (~deadmarsh@95.38.117.158) (Ping timeout: 256 seconds)
09:46:01 × Axman6 quits (~Axman6@user/axman6) (Remote host closed the connection)
09:46:18 Axman6 joins (~Axman6@user/axman6)
09:50:17 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Ping timeout: 240 seconds)
09:52:39 deadmarshal joins (~deadmarsh@95.38.117.158)
10:01:21 × coot quits (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Remote host closed the connection)
10:02:44 coot joins (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827)
10:03:15 × foul_owl quits (~kerry@94.140.8.107) (Ping timeout: 256 seconds)
10:05:28 cosimone joins (~user@93-47-231-248.ip115.fastwebnet.it)
10:05:40 CiaoSen joins (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
10:07:57 × deadmarshal quits (~deadmarsh@95.38.117.158) (Ping timeout: 240 seconds)
10:08:38 foul_owl joins (~kerry@97-126-11-68.tukw.qwest.net)
10:08:59 deadmarshal joins (~deadmarsh@95.38.117.158)
10:20:40 jinsun joins (~quassel@user/jinsun)
10:22:05 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
10:22:17 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
10:22:37 × jinsun__ quits (~quassel@user/jinsun) (Ping timeout: 240 seconds)
10:22:57 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
10:24:52 Lord_of_Life_ is now known as Lord_of_Life
10:28:23 × sprout quits (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b) (Ping timeout: 268 seconds)
10:29:41 ProfSimm joins (~ProfSimm@87.227.196.109)
10:30:20 sprout joins (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b)
10:33:45 Gurkenglas joins (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
10:35:00 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:36:02 Codaraxis_ joins (~Codaraxis@user/codaraxis)
10:37:56 Bartol joins (~Bartol@user/Bartol)
10:39:31 × Codaraxis__ quits (~Codaraxis@user/codaraxis) (Ping timeout: 256 seconds)
10:40:02 × acidjnk quits (~acidjnk@p200300d0c7271e5539f4c4c5e28366d0.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
10:43:38 × Codaraxis_ quits (~Codaraxis@user/codaraxis) (Quit: Leaving)
10:47:25 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
10:47:25 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
10:47:25 finn_elija is now known as FinnElija
10:48:03 bollu joins (uid233390@id-233390.helmsley.irccloud.com)
10:54:21 × Axman6 quits (~Axman6@user/axman6) (Remote host closed the connection)
10:56:08 __monty__ joins (~toonn@user/toonn)
11:06:54 Axman6 joins (~Axman6@user/axman6)
11:08:47 neceve joins (~quassel@2.26.93.228)
11:08:57 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
11:09:22 xkuru joins (~xkuru@user/xkuru)
11:09:39 Midjak joins (~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
11:15:06 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
11:17:01 × gensyst quits (gensyst@user/gensyst) (Quit: Leaving)
11:18:54 kadir joins (~kadir@88.251.54.120)
11:19:57 × coot quits (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Quit: coot)
11:22:32 × Akiva quits (~Akiva@user/Akiva) (Ping timeout: 240 seconds)
11:31:37 × mvk quits (~mvk@2607:fea8:5cdd:f000::917a) (Ping timeout: 240 seconds)
11:39:36 jakalx parts (~jakalx@base.jakalx.net) ()
11:39:41 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:40:30 arahael joins (~arahael@203.158.51.1)
11:41:51 × foul_owl quits (~kerry@97-126-11-68.tukw.qwest.net) (Ping timeout: 256 seconds)
11:44:14 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 260 seconds)
11:44:50 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
11:45:33 coot joins (~coot@89-64-85-93.dynamic.chello.pl)
11:45:35 jakalx joins (~jakalx@base.jakalx.net)
11:48:07 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
11:49:25 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
11:49:49 ChaiTRex joins (~ChaiTRex@user/chaitrex)
11:52:37 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
11:55:28 syrkis joins (~syrkis@109.59.170.168.mobile.3.dk)
11:55:46 × CiaoSen quits (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
11:57:07 Guest24 joins (~Guest24@81.106.113.17)
11:57:16 foul_owl joins (~kerry@94.140.8.107)
11:58:00 × Guest24 quits (~Guest24@81.106.113.17) (Client Quit)
11:58:24 × sim590 quits (~simon@modemcable090.207-203-24.mc.videotron.ca) (Ping timeout: 268 seconds)
12:01:17 × otherwise quits (~otherwise@c-73-221-44-172.hsd1.wa.comcast.net) (Quit: Connection closed)
12:03:04 zer0bitz joins (~zer0bitz@2001:2003:f444:a000:e182:9e47:91db:c531)
12:03:37 × xff0x quits (~xff0x@2001:1a81:5311:2b00:1f91:2f58:522f:165b) (Ping timeout: 240 seconds)
12:04:25 KvL joins (~KvL@178.239.165.194)
12:04:47 xff0x joins (~xff0x@2001:1a81:5311:2b00:585:576e:a672:6acd)
12:05:12 × deadmarshal quits (~deadmarsh@95.38.117.158) (Ping timeout: 268 seconds)
12:11:26 × jespada quits (~jespada@87.74.33.157) (Quit: My MacBook has gone to sleep. ZZZzzz…)
12:11:57 jespada joins (~jespada@87.74.33.157)
12:15:35 × SummerSonw quits (~The_viole@203.77.49.232) (Quit: Leaving)
12:16:22 × coot quits (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
12:16:56 coot joins (~coot@89-64-85-93.dynamic.chello.pl)
12:17:47 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
12:18:38 × Morrow quits (~quassel@bzq-110-168-31-106.red.bezeqint.net) (Remote host closed the connection)
12:20:35 deadmarshal joins (~deadmarsh@95.38.117.158)
12:21:17 × coot quits (~coot@89-64-85-93.dynamic.chello.pl) (Ping timeout: 240 seconds)
12:21:17 × cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds)
12:22:52 zer0bitz_ joins (~zer0bitz@2001:2003:f444:a000:2421:137f:dee3:7f7d)
12:23:50 CiaoSen joins (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
12:24:59 cheater joins (~Username@user/cheater)
12:25:01 × zer0bitz quits (~zer0bitz@2001:2003:f444:a000:e182:9e47:91db:c531) (Ping timeout: 240 seconds)
12:25:41 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
12:30:16 × Digit quits (~user@user/digit) (Remote host closed the connection)
12:32:14 Morrow joins (~quassel@bzq-110-168-31-106.red.bezeqint.net)
12:33:57 × xff0x quits (~xff0x@2001:1a81:5311:2b00:585:576e:a672:6acd) (Ping timeout: 240 seconds)
12:34:59 xff0x joins (~xff0x@2001:1a81:5311:2b00:3477:5c7:6546:864b)
12:35:59 coot joins (~coot@89-64-85-93.dynamic.chello.pl)
12:44:29 machinedgod joins (~machinedg@24.105.81.50)
12:47:47 yauhsien joins (~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
12:49:42 × Morrow quits (~quassel@bzq-110-168-31-106.red.bezeqint.net) (Remote host closed the connection)
12:50:08 Morrow joins (~quassel@bzq-110-168-31-106.red.bezeqint.net)
12:50:46 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
12:53:06 lavaman joins (~lavaman@98.38.249.169)
12:53:44 × ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection)
12:57:36 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
12:57:47 × coot quits (~coot@89-64-85-93.dynamic.chello.pl) (Ping timeout: 256 seconds)
12:59:34 waleee joins (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
13:01:25 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
13:02:24 × KvL quits (~KvL@178.239.165.194) (Quit: KvL)
13:02:37 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Ping timeout: 240 seconds)
13:05:38 × syrkis quits (~syrkis@109.59.170.168.mobile.3.dk) (Quit: Ping timeout (120 seconds))
13:08:34 Vajb joins (~Vajb@2001:999:62:e042:be01:afcc:85c5:1e46)
13:12:26 × yauhsien quits (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
13:15:29 epolanski joins (uid312403@id-312403.helmsley.irccloud.com)
13:16:11 × zer0bitz_ quits (~zer0bitz@2001:2003:f444:a000:2421:137f:dee3:7f7d) (Ping timeout: 245 seconds)
13:17:01 slowButPresent joins (~slowButPr@user/slowbutpresent)
13:17:58 yauhsien joins (~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
13:18:11 zer0bitz joins (~zer0bitz@2001:2003:f444:a000:2421:137f:dee3:7f7d)
13:22:32 × yauhsien quits (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
13:23:17 × deadmarshal quits (~deadmarsh@95.38.117.158) (Ping timeout: 256 seconds)
13:27:17 × sprout quits (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b) (Ping timeout: 240 seconds)
13:28:12 sprout joins (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b)
13:29:37 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
13:32:58 lavaman joins (~lavaman@98.38.249.169)
13:35:20 deadmarshal joins (~deadmarsh@95.38.117.158)
13:36:51 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
13:37:28 × jespada quits (~jespada@87.74.33.157) (Quit: Textual IRC Client: www.textualapp.com)
13:42:57 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
13:45:13 × kupi quits (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
13:52:46 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
13:53:19 × _xor quits (~xor@dsl-50-5-233-169.fuse.net) (Read error: Connection reset by peer)
13:53:41 _xor joins (~xor@dsl-50-5-233-169.fuse.net)
13:56:12 × OscarZ quits (~oscarz@95.175.104.235) (Read error: Connection reset by peer)
14:00:24 timCF joins (~timCF@m91-129-100-224.cust.tele2.ee)
14:01:30 kupi joins (uid212005@id-212005.hampstead.irccloud.com)
14:01:51 <timCF> Hello! Did anybody experienced error "We cannot know what roles the parameters to 'a' have" when trying to implement some generic function? In my example all type parameters are phantom, but I don't know how to say it to GHC https://gist.github.com/21it/c6b510261c34a36b6329c11c17ce3833
14:09:34 yauhsien joins (~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
14:14:21 sim590 joins (~simon@modemcable157.243-56-74.mc.videotron.ca)
14:14:59 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Remote host closed the connection)
14:16:12 coot joins (~coot@89-64-85-93.dynamic.chello.pl)
14:17:21 ubert joins (~Thunderbi@p548c8cd6.dip0.t-ipconnect.de)
14:18:12 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
14:23:21 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
14:23:22 kaph joins (~kaph@net-2-45-51-147.cust.vodafonedsl.it)
14:30:22 syrkis joins (~syrkis@109.59.170.168.mobile.3.dk)
14:33:20 <juri_> grr. hspec has changed it's presentation form for floats... to display them in rational form.
14:33:50 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
14:34:12 × yauhsien quits (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
14:34:14 <int-e> > toRational 0.1
14:34:15 <lambdabot> 3602879701896397 % 36028797018963968
14:34:25 <int-e> fun :-/
14:34:30 <timCF> whuut
14:34:41 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
14:34:59 yauhsien joins (~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
14:35:17 <juri_> that's double painful when you're dealing in projective geometry, and writing unit tests based on the output of Hspec.
14:36:26 <geekosaur> timCF, I'm no expert on what you're doing, but I think ghc's error message is exact: there is no way to specify that you know the roles will always be phantom, which is why ghc is forced to assume nominal for safety
14:36:31 <juri_> tl;dr: each value of mine is effectively in something that looks like three radians. representing that in three rational bases makes reading values and converting into "i think that's the right direction" nigh impossible.
14:36:35 <geekosaur> you may be forced to use unsafeCoerce
14:37:42 <geekosaur> and add a comment as to why, ideally
14:38:20 jonathanx joins (~jonathan@c-5eea3459-74736162.cust.telenor.se)
14:39:05 <int-e> -- I fasted for three days, sacrificed a goat, and consulted the oracle, and all omens were in favor of this use of `unsafeCoerce`
14:39:47 × yauhsien quits (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
14:40:20 <juri_> oracle consulting fees are a big deal.
14:41:04 <timCF> geekosaur: seems like I was able to brute force it and solved with `Coercible (a 'UnRounded) (a 'Rounded)` additional constraint
14:41:35 <geekosaur> interesting
14:45:11 × syrkis quits (~syrkis@109.59.170.168.mobile.3.dk) (Quit: Client closed)
14:47:01 × cheater quits (~Username@user/cheater) (Ping timeout: 245 seconds)
14:50:06 yauhsien joins (~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
14:51:32 × dsrt^ quits (~dsrt@64.253.22.77) (Ping timeout: 240 seconds)
14:52:19 × sprout quits (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b) (Ping timeout: 268 seconds)
14:53:47 cheater joins (~Username@user/cheater)
14:58:44 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
14:59:37 × jonathanx quits (~jonathan@c-5eea3459-74736162.cust.telenor.se) (Ping timeout: 256 seconds)
14:59:44 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
15:02:06 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Remote host closed the connection)
15:02:22 shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
15:03:40 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
15:03:41 sprout joins (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b)
15:04:28 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
15:04:28 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
15:04:28 wroathe joins (~wroathe@user/wroathe)
15:06:37 × cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds)
15:06:56 cheater joins (~Username@user/cheater)
15:08:17 × sprout quits (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b) (Ping timeout: 240 seconds)
15:08:41 × coot quits (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
15:09:21 coot joins (~coot@89-64-85-93.dynamic.chello.pl)
15:19:50 Achylles joins (~Achylles_@2804:431:d725:86fc:abf6:fa73:2a9e:707b)
15:19:52 sprout joins (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b)
15:21:27 × yauhsien quits (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
15:22:18 yauhsien joins (~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
15:22:32 × lechner quits (~lechner@debian/lechner) (Ping timeout: 268 seconds)
15:24:23 × sprout quits (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b) (Ping timeout: 252 seconds)
15:27:03 × waleee quits (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 250 seconds)
15:31:20 waleee joins (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
15:31:21 benin4 joins (~benin@183.82.27.57)
15:32:13 × benin quits (~benin@183.82.27.57) (Ping timeout: 240 seconds)
15:32:13 benin4 is now known as benin
15:36:05 sprout joins (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b)
15:38:47 × Midjak quits (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Read error: Connection reset by peer)
15:39:23 Midjak joins (~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
15:40:46 × sprout quits (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b) (Ping timeout: 245 seconds)
15:47:45 × bollu quits (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
15:52:46 sprout joins (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b)
15:53:04 Everything joins (~Everythin@37.115.210.35)
15:57:23 × sprout quits (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b) (Ping timeout: 250 seconds)
15:57:56 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
15:59:53 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Remote host closed the connection)
16:00:38 sprout joins (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b)
16:02:57 dyeplexer joins (~dyeplexer@user/dyeplexer)
16:06:37 goepsilongo joins (~goepsilon@2806:263:c404:8000:1841:9986:6b2b:10e6)
16:07:17 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
16:10:25 jeetelongname joins (~jeet@88.111.159.26)
16:10:47 × cosimone quits (~user@93-47-231-248.ip115.fastwebnet.it) (Remote host closed the connection)
16:11:01 × deadmarshal quits (~deadmarsh@95.38.117.158) (Ping timeout: 256 seconds)
16:13:05 cosimone joins (~user@93-47-231-248.ip115.fastwebnet.it)
16:14:23 × yauhsien quits (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
16:15:13 × kupi quits (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
16:15:46 × cosimone quits (~user@93-47-231-248.ip115.fastwebnet.it) (Remote host closed the connection)
16:16:11 kupi joins (uid212005@id-212005.hampstead.irccloud.com)
16:18:01 yauhsien joins (~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
16:25:04 deadmarshal joins (~deadmarsh@95.38.117.158)
16:25:29 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
16:33:01 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
16:34:30 bollu joins (uid233390@id-233390.helmsley.irccloud.com)
16:35:46 × coot quits (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
16:35:55 coot joins (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827)
16:39:00 × sus quits (zero@user/zeromomentum) (Quit: Ping timeout (120 seconds))
16:39:43 sus joins (~zeromomen@user/zeromomentum)
16:41:31 × yauhsien quits (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Remote host closed the connection)
16:42:17 yauhsien joins (~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
16:46:57 × yauhsien quits (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
16:51:33 × max22- quits (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Remote host closed the connection)
16:54:37 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
16:59:16 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
16:59:37 × deadmarshal quits (~deadmarsh@95.38.117.158) (Ping timeout: 240 seconds)
16:59:56 × puke quits (~puke@user/puke) (Quit: puke)
17:01:10 max22- joins (~maxime@2a01cb08833598008b3c03f8a6bde97c.ipv6.abo.wanadoo.fr)
17:02:25 × wrengr quits (~wrengr@150.12.83.34.bc.googleusercontent.com) (Ping timeout: 268 seconds)
17:06:07 × kjak quits (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
17:06:11 × CiaoSen quits (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
17:06:27 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:06:48 kjak joins (~kjak@pool-108-45-56-21.washdc.fios.verizon.net)
17:07:10 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 260 seconds)
17:07:45 econo joins (uid147250@user/econo)
17:07:55 wrengr joins (~wrengr@150.12.83.34.bc.googleusercontent.com)
17:08:20 deadmarshal joins (~deadmarsh@95.38.117.158)
17:10:32 mvk joins (~mvk@2607:fea8:5cdd:f000::917a)
17:11:05 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
17:12:54 × deadmarshal quits (~deadmarsh@95.38.117.158) (Ping timeout: 268 seconds)
17:17:03 × turlando quits (~turlando@user/turlando) (Quit: No Ping reply in 180 seconds.)
17:18:26 turlando joins (~turlando@user/turlando)
17:18:31 × bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
17:22:26 deadmarshal joins (~deadmarsh@95.38.117.158)
17:25:12 × alfonsox quits (~quassel@103.92.42.192) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
17:26:21 <[itchyjunk]> Is there a place where there are just problem sets? possibly sorted by topics?
17:27:51 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
17:29:29 × Achylles quits (~Achylles_@2804:431:d725:86fc:abf6:fa73:2a9e:707b) (Remote host closed the connection)
17:30:24 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
17:30:40 puke joins (~puke@user/puke)
17:31:08 × pieguy128 quits (~pieguy128@bas1-quebec14-67-70-102-17.dsl.bell.ca) (Quit: ZNC 1.8.2 - https://znc.in)
17:33:08 × deech` quits (~user@024-217-244-075.res.spectrum.com) (Read error: Connection reset by peer)
17:33:21 deech` joins (~user@024-217-244-075.res.spectrum.com)
17:33:40 vysn joins (~vysn@user/vysn)
17:36:27 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
17:38:59 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
17:39:19 geekosaur joins (~geekosaur@xmonad/geekosaur)
17:39:25 × deadmarshal quits (~deadmarsh@95.38.117.158) (Ping timeout: 268 seconds)
17:40:19 pieguy128 joins (~pieguy128@bras-base-mtrlpq5031w-grc-48-67-70-102-17.dsl.bell.ca)
17:41:17 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
17:42:37 rito_ joins (~rito_gh@45.112.243.69)
17:45:29 lechner joins (~lechner@debian/lechner)
17:49:39 <monochrom> I don't know how seriously I should take "just". Consider the https://wiki.haskell.org/H-99:_Ninety-Nine_Haskell_Problems and open.kattis.com
17:50:23 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
17:51:25 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
17:52:19 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Quit: Leaving)
17:52:42 zaquest joins (~notzaques@5.130.79.72)
17:56:30 geekosaur joins (~geekosaur@xmonad/geekosaur)
17:58:57 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
18:05:27 Sgeo joins (~Sgeo@user/sgeo)
18:05:56 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
18:09:07 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:13:33 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
18:17:45 xkuru joins (~xkuru@user/xkuru)
18:18:38 otherwise joins (~otherwise@c-73-221-44-172.hsd1.wa.comcast.net)
18:20:04 Akiva joins (~Akiva@user/Akiva)
18:20:10 otherwis_ joins (~otherwise@c-73-221-44-172.hsd1.wa.comcast.net)
18:23:19 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
18:24:58 <otherwis_> > reverse "amanap lanac a nalp a nam a"
18:25:00 <lambdabot> "a man a plan a canal panama"
18:25:13 × kupi quits (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
18:30:03 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Remote host closed the connection)
18:30:35 shapr joins (~user@pool-108-28-144-11.washdc.fios.verizon.net)
18:32:26 n3rdy1 joins (~n3rdy1@2601:281:c780:a510:c82b:6078:8c93:1082)
18:37:45 × bollu quits (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
18:38:22 CiaoSen joins (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
18:38:25 × epolanski quits (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
18:41:02 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection)
18:41:49 × coolnickname quits (uid531864@user/coolnickname) (Quit: Connection closed for inactivity)
18:45:15 × otherwise quits (~otherwise@c-73-221-44-172.hsd1.wa.comcast.net) (Quit: Connection closed)
18:48:03 deech`` joins (~user@024-217-244-075.res.spectrum.com)
18:48:29 × Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 268 seconds)
18:49:32 Sgeo joins (~Sgeo@user/sgeo)
18:50:20 × deech` quits (~user@024-217-244-075.res.spectrum.com) (Ping timeout: 268 seconds)
18:50:28 dsrt^ joins (~dsrt@207.5.54.6)
19:01:25 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
19:04:29 kadir parts (~kadir@88.251.54.120) (goodnight)
19:06:18 kupi joins (uid212005@id-212005.hampstead.irccloud.com)
19:07:04 × coot quits (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Quit: coot)
19:07:35 coot joins (~coot@89-64-85-93.dynamic.chello.pl)
19:08:37 coolnickname joins (uid531864@user/coolnickname)
19:09:29 otherwis_ is now known as rumpled_pigeon
19:12:21 × coot quits (~coot@89-64-85-93.dynamic.chello.pl) (Ping timeout: 256 seconds)
19:12:58 <rumpled_pigeon> any hints on how to set prompt via a command in .hs file? so that when loading the file in ghci the prompt updates to the chosen text?
19:15:26 <g> [itchyjunk]: adventofcode.com has a bunch of problems (not sorted by topic) starting easy each year and getting more involved
19:16:14 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
19:17:16 justsomeguy joins (~justsomeg@user/justsomeguy)
19:19:46 × rito_ quits (~rito_gh@45.112.243.69) (Quit: Leaving)
19:22:05 <lyxia> https://www.spoj.com/problems/classical/
19:22:05 <sm> rumpled_pigeon: interesting puzzle
19:22:34 <sm> rumpled_pigeon: you could use a shebang line that runs ghci
19:22:59 <sm> I think that's the only way
19:27:15 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
19:28:37 × yaroot quits (~yaroot@60.149.13.160.dy.iij4u.or.jp) (Ping timeout: 240 seconds)
19:28:46 yaroot joins (~yaroot@60.149.13.160.dy.iij4u.or.jp)
19:28:57 geekosaur wonders if %call would work here
19:29:02 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
19:29:56 <geekosaur> kinda doing it backwards
19:31:54 × Vajb quits (~Vajb@2001:999:62:e042:be01:afcc:85c5:1e46) (Read error: Connection reset by peer)
19:32:21 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
19:36:33 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 276 seconds)
19:38:09 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Remote host closed the connection)
19:38:13 ChaiTRex joins (~ChaiTRex@user/chaitrex)
19:40:33 × sus quits (~zeromomen@user/zeromomentum) (Quit: Ping timeout (120 seconds))
19:41:46 sus joins (zero@user/zeromomentum)
19:47:21 IgnatInsarov[m] joins (~kindaroma@2001:470:69fc:105::f5d9)
19:48:40 <geekosaur> mm, actually I think neither will work. shelling out to ghci would affect that ghci and not the running one; there's no way to pass something like the current file name to %call
19:51:38 zmt01 joins (~zmt00@user/zmt00)
19:54:37 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 240 seconds)
19:55:02 zmt00 joins (~zmt00@user/zmt00)
19:55:38 × zmt00 quits (~zmt00@user/zmt00) (Remote host closed the connection)
19:55:57 zmt00 joins (~zmt00@user/zmt00)
19:56:37 × zmt01 quits (~zmt00@user/zmt00) (Ping timeout: 240 seconds)
19:57:32 × sprout quits (~quassel@2a02:a467:ccd6:1:c901:71e0:4716:476b) (Ping timeout: 240 seconds)
19:57:33 × xff0x quits (~xff0x@2001:1a81:5311:2b00:3477:5c7:6546:864b) (Ping timeout: 268 seconds)
19:58:14 xff0x joins (~xff0x@2001:1a81:5311:2b00:3f8f:ed06:c623:ab7c)
19:59:23 × lagash quits (lagash@lagash.shelltalk.net) (Ping timeout: 252 seconds)
20:04:52 machinedgod joins (~machinedg@24.105.81.50)
20:05:03 × juhp quits (~juhp@128.106.188.82) (Ping timeout: 256 seconds)
20:05:46 × johnw quits (~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0) (Quit: ZNC - http://znc.in)
20:06:03 sprout joins (~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
20:07:22 juhp joins (~juhp@128.106.188.82)
20:07:53 × gdd quits (~gdd@129.199.146.230) (Ping timeout: 256 seconds)
20:08:40 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 268 seconds)
20:13:15 <rumpled_pigeon> sm LimeChat isn't notifying me, didnt see your response till just now
20:13:57 zmt01 joins (~zmt00@user/zmt00)
20:14:11 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3)
20:16:57 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 240 seconds)
20:20:51 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4)
20:21:00 × max22- quits (~maxime@2a01cb08833598008b3c03f8a6bde97c.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds)
20:21:10 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
20:22:15 zmt00 joins (~zmt00@user/zmt00)
20:22:17 × zmt01 quits (~zmt00@user/zmt00) (Ping timeout: 240 seconds)
20:22:44 × benin quits (~benin@183.82.27.57) (Quit: The Lounge - https://thelounge.chat)
20:24:07 pavonia joins (~user@user/siracusa)
20:24:39 deadmarshal joins (~deadmarsh@95.38.117.158)
20:25:27 lagash joins (lagash@lagash.shelltalk.net)
20:26:02 <energizer> "`list int` is a subtype of `list numberlike`" is called covariance, yes? is there a name for "`list int` is a subtype of `containerlike int`"?
20:26:17 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 240 seconds)
20:27:07 <sm> geekosaur: won't a shebang line, eg as in a stack script, load the current file in ghci; and as options to the command you can run ghci commands ?
20:27:36 <energizer> really i'm just looking for some search terms for reading
20:27:53 <geekosaur> hm. I guess, but then you can't load a different file in the same session, you have to exit the session
20:28:53 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
20:28:53 qrpnxz joins (abc4f95c31@user/qrpnxz)
20:29:25 × deadmarshal quits (~deadmarsh@95.38.117.158) (Ping timeout: 256 seconds)
20:32:57 <EvanR> containers... not exactly a very technically specific concept
20:33:22 <EvanR> even though other languages like to make container interfaces, they have no laws
20:34:02 × waleee quits (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 252 seconds)
20:34:18 <EvanR> for number-like structures see abstract algebra
20:35:48 waleee joins (~waleee@h-98-128-229-110.NA.cust.bahnhof.se)
20:36:29 <IgnatInsarov[m]> Speaking of containers, there is some theory attached to that name. See work by Michael Abbott, Thorsten Altenkirch and Neil Ghani. <https://citeseer.ist.psu.edu/viewdoc/download?doi=10.1.1.120.9567&rep=rep1&type=pdf>
20:37:28 <energizer> what i'm aiming at is the way that b < b' => a[b] <: a[b'] differs from a < a' => a[b] a'[b]
20:38:04 <energizer> (where a[b] means parametrizing a by b)
20:38:04 zmt00 joins (~zmt00@user/zmt00)
20:38:19 <EvanR> the subtype contravariance thing comes up in languages with mutable containers
20:38:32 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
20:38:49 <energizer> this isnt' that
20:39:03 <oats> with lens, is it possible to create a Fold over the "neighboring elements" of an index?
20:39:13 <oats> such as with a 2d array structure
20:39:27 <EvanR> comonads to the rescue?
20:39:31 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:39:54 <oats> what's a comonad
20:40:09 <oats> can I turn the monad on my bookshelf inside-out?
20:40:10 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
20:40:34 <geekosaur> energizer, I'd imagine that in that case we would talk about being "covariant/contravariant in …"
20:40:44 <geekosaur> since there's more than one possibility
20:40:58 <energizer> ah, that's easy. cheers
20:41:36 deadmarshal joins (~deadmarsh@95.38.117.158)
20:42:09 <geekosaur> because what do you do when you suddenly have three possibilities, invent yet another term?
20:42:37 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Ping timeout: 240 seconds)
20:43:16 <energizer> well it's not just more possiblities like a[b,c,d], it's leveled a[b[c[d]]]
20:45:02 ProfSimm joins (~ProfSimm@87.227.196.109)
20:46:45 <dsal> oats: sounds like https://hackage.haskell.org/package/lens-3.2/docs/Control-Lens-Zipper.html
20:48:07 × jlamothe quits (~jlamothe@198.251.61.229) (Ping timeout: 268 seconds)
20:50:54 <energizer> is there a name for the outer type of a parametrized type?
20:51:46 <energizer> ie "List" in "List int"
20:52:03 <oats> dsal, is that removed in newer versions of `lens`?
20:52:24 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:53:39 <oats> oh, moved to a different package in lens 4.0
20:53:39 <dsal> Hmm... it was moved
20:54:23 <dsal> Would be cool if they mentioned what that package was.
20:54:28 jlamothe joins (~jlamothe@198.251.61.229)
20:54:29 <dsal> But the concept in general is zipper.
20:54:50 <oats> still in progress trying to understand it :P
20:55:05 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
20:55:07 <geekosaur> energizer, terms vary but I'd say List int is a type and List is a parameterized type
20:55:49 <geekosaur> that said, "parameterized" is a bit fraught; it starts to make more sense to talk in terms of kinds
20:55:53 <geekosaur> :k StateT
20:55:54 <lambdabot> * -> (* -> *) -> * -> *
20:56:04 <geekosaur> how do you describe this in words?
20:56:38 <geekosaur> whereas lists are simple:
20:56:39 <oats> star arrow star arrow star arrow....
20:56:40 <geekosaur> :k []
20:56:41 <lambdabot> * -> *
20:58:09 <energizer> can't say :k List tho
20:58:33 <geekosaur> if you define your own List type, you can
20:59:04 <geekosaur> Haskell calls it [] so that's how you must name it. SML would be different, where it's "int list" or similar
21:00:18 <geekosaur> (there being a bunch of SML variants)
21:01:28 <hpc> SML is short for "so many languages"
21:02:04 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
21:14:12 <geekosaur> (you also can't say :k int in Haskell since type names always start with an uppercase letter, so I'm not really sure what the point of :k List was)
21:15:23 falafel joins (~falafel@2603-8000-d800-688c-502d-7280-71cc-20e7.res6.spectrum.com)
21:18:08 × goepsilongo quits (~goepsilon@2806:263:c404:8000:1841:9986:6b2b:10e6) (Quit: Textual IRC Client: www.textualapp.com)
21:19:38 × sprout quits (~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 260 seconds)
21:21:25 sprout joins (~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
21:22:07 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
21:22:27 <[itchyjunk]> Just to mentally think this through we have map :: (a->b) -> [a] -> [b] right?
21:22:56 <[itchyjunk]> so what would it look like it i had something that can take a higher order function and return [b] say
21:23:11 <[itchyjunk]> It should be possible i think but brain can't think it through
21:24:10 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
21:24:10 <Rembane> :t map
21:24:11 <lambdabot> (a -> b) -> [a] -> [b]
21:24:19 <Rembane> :t map id []
21:24:20 <lambdabot> [b]
21:24:24 <Rembane> Like that?
21:25:30 <geekosaur> note that you can think of map as: (a -> b) -> ([a] -> [b])
21:25:33 <[itchyjunk]> aren't you just using map with id as its parameter?
21:25:49 rumpled_pigeon is now known as otherwise
21:26:09 <[itchyjunk]> hmm
21:26:45 <Rembane> [itchyjunk]: Sure, lets say you have a function that does what I just did instead.
21:26:49 <[itchyjunk]> i can think of map as a function that takes a function (a->b) as a parameter and returns a function ([a]->[b]) ?
21:26:59 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
21:27:06 qrpnxz joins (abc4f95c31@user/qrpnxz)
21:27:12 <Rembane> [itchyjunk]: Yes!
21:27:19 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
21:27:36 × sprout quits (~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 268 seconds)
21:27:59 <[itchyjunk]> So i would want a function that takes a function that takes a function and return it a function for a higher order function that takes a higher order function as a parameter
21:28:15 <otherwise> > 1+1
21:28:17 <lambdabot> 2
21:28:40 <otherwise> phwew
21:29:50 <geekosaur> :t map (+2)
21:29:51 <lambdabot> Num b => [b] -> [b]
21:31:08 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
21:31:08 qrpnxz joins (abc4f95c31@user/qrpnxz)
21:31:27 <[itchyjunk]> (+2) is a partial function. so `map (+2)` should produce another partial function that takes a list and spits out a list ah..
21:31:33 <[itchyjunk]> that's what the [b] -> [b] is
21:32:00 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
21:32:01 qrpnxz joins (abc4f95c31@user/qrpnxz)
21:32:35 <geekosaur> :t (+2)
21:32:36 <lambdabot> Num a => a -> a
21:32:42 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 260 seconds)
21:33:35 <geekosaur> that it's partial doesn't matter; I could just as well define it as a non-partial lambda and it would still work
21:33:51 <[itchyjunk]> If i think of + as Int -> (Int -> Int), +2 would be the remaining (Int->Int) part
21:33:58 <geekosaur> but partially applied functions are quite convenient in Haskell
21:34:33 <geekosaur> (also note "partial" conventially has a different meaning in Haskell. (+2) is partially applied. head is partial, because it's not defined for all inputs)
21:34:52 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
21:34:52 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
21:34:52 wroathe joins (~wroathe@user/wroathe)
21:35:01 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
21:35:01 qrpnxz joins (abc4f95c31@user/qrpnxz)
21:35:08 <[itchyjunk]> oh, not familiar with that second meaning
21:35:25 <hpc> it comes from total/partial being opposites
21:35:27 <[itchyjunk]> shouldn't you get a compilation error if everything in to domain isn't mapped to something?
21:35:43 <hpc> a total function is defined for all inputs
21:36:02 <geekosaur> not in Haskell. it'll quite happily let you write "head []", it'll just throw an error at runtime
21:36:35 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
21:36:36 qrpnxz joins (abc4f95c31@user/qrpnxz)
21:36:51 <[itchyjunk]> ah
21:36:59 <geekosaur> also proving that something is total is difficult in general, so while there are languages which require totality, they either require you to prove it or don't let you write very much in general because you're restricted to a total subset
21:37:03 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
21:37:04 qrpnxz joins (abc4f95c31@user/qrpnxz)
21:37:42 <EvanR> and if what you're restricted to is exactly what you're trying to accomplish, gravy :)
21:37:43 <[itchyjunk]> Ah, this is linked to proof assistance not being turning complete because of restrictions like this?
21:37:46 <hpc> in turing-complete languages, proving totality is undecidable
21:37:48 <hpc> yep
21:38:10 jgeerds joins (~jgeerds@55d4ac73.access.ecotel.net)
21:38:18 coot joins (~coot@89-64-85-93.dynamic.chello.pl)
21:38:34 <hpc> partiality includes not just errors like (head []), but infinite loops like (let x = x in x)
21:39:06 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:39:09 <[itchyjunk]> oh interesting recursion
21:39:28 <EvanR> "something in the domain isn't mapped to something"
21:39:34 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
21:39:35 qrpnxz joins (abc4f95c31@user/qrpnxz)
21:39:41 <geekosaur> also note that this restriction may mean you can't write e.g. web servers, because you can't prove that a connecting client won't send an infinite stream of data
21:39:59 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
21:40:00 qrpnxz joins (abc4f95c31@user/qrpnxz)
21:40:00 <hpc> geekosaur: well, there it gets complicated
21:40:39 <EvanR> if it's a websocket, that's ok. If it's supposed to cut you off at some policy amount, that's ok
21:40:41 <hpc> there's a notion of non-turing-complete languages in which you can write programs that run forever, but only by having some finite computation on every step of input
21:40:52 <hpc> if there's infinite input, there's infinite output
21:40:58 <hpc> but the program remains productive through the whole thing
21:41:37 <EvanR> the gritty details come in for driver loops
21:44:10 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
21:44:40 yauhsien joins (~yauhsien@118-167-43-174.dynamic-ip.hinet.net)
21:47:08 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
21:47:09 qrpnxz joins (abc4f95c31@user/qrpnxz)
21:48:57 × yauhsien quits (~yauhsien@118-167-43-174.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
21:53:01 johnw joins (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net)
21:53:28 × johnw quits (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Client Quit)
21:54:41 sprout joins (~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
21:55:33 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
21:55:34 qrpnxz joins (abc4f95c31@user/qrpnxz)
21:55:52 <monochrom> For an interactive system like web servers and web apps, the theory (model) of total functions is not appropriate. Much more appropriate is temporal logic and liveness.
21:59:35 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
21:59:35 qrpnxz joins (abc4f95c31@user/qrpnxz)
21:59:37 × sprout quits (~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 240 seconds)
22:01:16 johnw joins (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net)
22:02:12 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
22:02:12 qrpnxz joins (abc4f95c31@user/qrpnxz)
22:02:20 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Remote host closed the connection)
22:03:04 sprout joins (~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
22:03:16 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
22:03:56 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: Replaced by new connection)
22:03:57 qrpnxz joins (abc4f95c31@user/qrpnxz)
22:04:27 qrpnxz parts (abc4f95c31@user/qrpnxz) (Disconnected: closed)
22:04:47 qrpnxz joins (abc4f95c31@user/qrpnxz)
22:05:44 × otherwise quits (~otherwise@c-73-221-44-172.hsd1.wa.comcast.net) (Remote host closed the connection)
22:13:33 × coot quits (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
22:14:17 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
22:14:55 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:15:18 rlj joins (~rlj@62.119.244.114)
22:18:00 notzmv joins (~zmv@user/notzmv)
22:20:17 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
22:20:55 × rlj quits (~rlj@62.119.244.114) (Ping timeout: 256 seconds)
22:21:29 otherwise joins (~otherwise@2601:602:880:90f0:2164:480c:998d:fc7c)
22:24:32 × CiaoSen quits (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
22:28:41 × jeetelongname quits (~jeet@88.111.159.26) (Ping timeout: 250 seconds)
22:31:21 <sm> working with emacs and emacs config really makes you appreciate the disciplined control of state in haskell software. For all our problems, that is a huge asset that I take for granted
22:31:46 <sm> it's a shock when you go back to older systems
22:31:58 <sm> older/less disciplined
22:32:13 × Techcable quits (~Techcable@168.235.93.147) (Quit: ZNC - https://znc.in)
22:33:49 Techcable joins (~Techcable@168.235.93.147)
22:36:21 acidjnk joins (~acidjnk@p200300d0c7271e974de60a217c79c2cb.dip0.t-ipconnect.de)
22:40:23 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
22:41:24 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
22:42:23 × jgeerds quits (~jgeerds@55d4ac73.access.ecotel.net) (Remote host closed the connection)
22:42:57 × mvk quits (~mvk@2607:fea8:5cdd:f000::917a) (Ping timeout: 240 seconds)
22:44:37 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363) (Ping timeout: 240 seconds)
22:45:17 × deech`` quits (~user@024-217-244-075.res.spectrum.com) (Ping timeout: 240 seconds)
22:45:28 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
22:46:27 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
22:48:07 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
22:55:47 × perro quits (~perro@072-191-245-069.res.spectrum.com) (Ping timeout: 268 seconds)
22:58:44 acode joins (~acode@151.65.31.181)
22:59:17 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
23:00:49 max22- joins (~maxime@2a01cb0883359800d70950f17875b6a2.ipv6.abo.wanadoo.fr)
23:03:03 <acode> Hey everyone, beginner's question here: I'm reading learn you a haskell and I reached the section about the functor typeclass. Following the author's example I have a type Tree around from earlier that I want to make an instance of Functor. Now fmap over the empty tree does nothing and that's alright, while I'm trying to copy the book's code "fmap
23:03:03 <acode> f (Node x left right) = Node (f x) (fmap f left) (fmap f right) " to map over nontrivial trees, which results in an error by ghci because of an ambiguous occurence of fmap which I'm having issues sorting out
23:06:23 <geekosaur> you will have to name your Functor typeclass and fmap function something else
23:06:37 perro joins (~perro@072-191-245-069.res.spectrum.com)
23:06:39 <geekosaur> oh, wait, you're using the standard one
23:06:52 <hpc> might be missing "instance Functor Tree where"
23:06:56 <geekosaur> you need to do it in an instance declaration, and do it all on one line because ghci is stupid
23:07:05 <hpc> or :{ to start a multiline block
23:07:07 <hpc> and :} to end it
23:07:09 <geekosaur> instance Functor Tree where fmap = ...
23:07:16 <hpc> (or pop it in a file and ghci file.hs
23:07:18 <hpc> )
23:07:44 <hpc> i usually prefer files, because at the end of your experimenting you have a file full of useful code
23:07:52 benin joins (~benin@183.82.27.57)
23:08:00 <acode> I have the instance declaration in a .hs file called alberelli.hs, the error I get is "Ambiguous occurrence `fmap'
23:08:00 <acode>     It could refer to
23:08:01 <acode>        either `Prelude.fmap',
23:08:01 <acode>               imported from `Prelude' at alberelli.hs:1:1
23:08:02 <acode>               (and originally defined in `GHC.Base')
23:08:02 <acode>            or `Main.fmap', defined at alberelli.hs:21:1"
23:08:07 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
23:08:17 <acode> instance Functor Tree where
23:08:17 <acode> fmap f EmptyTree = EmptyTree
23:08:18 <acode> fmap f (Node x left right) = Node (f x) (Main.fmap f left) (Main.fmap f right)
23:08:22 <acode> While this is my instance declaration
23:08:33 <geekosaur> you need to indent the fmpa lines
23:08:35 <geekosaur> *fmap
23:08:50 <geekosaur> otherwise you're defining a new function outside of the instance declaration
23:09:00 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
23:09:13 <acode> Oh
23:09:34 <acode> That was easy, I completely missed that indentation is needed there, feelsdumb
23:09:36 <acode> Thanks!
23:16:04 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
23:16:04 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
23:16:04 wroathe joins (~wroathe@user/wroathe)
23:18:35 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 268 seconds)
23:20:32 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
23:20:37 × acode quits (~acode@151.65.31.181) (Quit: Client closed)
23:23:04 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
23:24:31 × deadmarshal quits (~deadmarsh@95.38.117.158) (Ping timeout: 256 seconds)
23:27:43 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:8415:925f:506a:a363)
23:27:53 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:28:05 zer0bitz_ joins (~zer0bitz@dsl-hkibng32-54f844-160.dhcp.inet.fi)
23:29:50 KvL joins (~KvL@195.216.219.76)
23:30:18 × zer0bitz quits (~zer0bitz@2001:2003:f444:a000:2421:137f:dee3:7f7d) (Ping timeout: 260 seconds)
23:30:18 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 268 seconds)
23:31:49 × coolnickname quits (uid531864@user/coolnickname) (Quit: Connection closed for inactivity)
23:32:05 deadmarshal joins (~deadmarsh@95.38.229.175)
23:32:35 mvk joins (~mvk@2607:fea8:5cdd:f000::917a)
23:33:48 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds)
23:34:51 zer0bitz joins (~zer0bitz@dsl-hkibng32-54f844-160.dhcp.inet.fi)
23:38:17 × zer0bitz_ quits (~zer0bitz@dsl-hkibng32-54f844-160.dhcp.inet.fi) (Ping timeout: 240 seconds)
23:39:03 <otherwise> > replicate 3 "wee "
23:39:04 <lambdabot> ["wee ","wee ","wee "]
23:47:01 × Jing quits (~hedgehog@2604:a840:3::1061) (Remote host closed the connection)
23:47:53 Jing joins (~hedgehog@2604:a840:3::1061)
23:50:51 <EvanR> > replicate 3 "Ho "
23:50:53 <lambdabot> ["Ho ","Ho ","Ho "]
23:51:39 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
23:51:39 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
23:51:39 finn_elija is now known as FinnElija
23:52:10 <geekosaur> > replicate 3 "Mu "
23:52:12 <lambdabot> ["Mu ","Mu ","Mu "]

All times are in UTC on 2021-12-24.