Home liberachat/#haskell: Logs Calendar

Logs on 2021-06-20 (liberachat/#haskell)

00:00:01 × hpotsirhc quits (~hpotsirhc@200116b80297f5000cbde6f1c629c814.dip.versatel-1u1.de) (Ping timeout: 265 seconds)
00:05:33 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
00:05:57 ChaiTRex joins (~ChaiTRex@user/chaitrex)
00:06:43 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
00:07:40 ddellacosta joins (~ddellacos@86.106.121.100)
00:09:41 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
00:12:12 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
00:15:58 × favonia quits (~favonia@user/favonia) (Ping timeout: 265 seconds)
00:16:21 favonia joins (~favonia@user/favonia)
00:18:00 × betelgeuse quits (~john2gb@94-225-47-8.access.telenet.be) (Quit: The Lounge - https://thelounge.chat)
00:21:26 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158) (Remote host closed the connection)
00:24:13 × grnman_ quits (~gandalf@c-73-49-209-161.hsd1.fl.comcast.net) (Ping timeout: 265 seconds)
00:28:42 × dhil quits (~dhil@195.213.192.47) (Ping timeout: 252 seconds)
00:30:35 × lavaman quits (~lavaman@98.38.249.169) ()
00:39:47 teaSlurper joins (~chris@81.96.113.213)
00:40:56 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
00:45:16 grnman_ joins (~gandalf@c-73-49-209-161.hsd1.fl.comcast.net)
00:45:38 × Deide quits (~Deide@user/deide) (Quit: Seeee yaaaa)
00:45:44 ddellacosta joins (~ddellacos@86.106.121.100)
00:50:19 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds)
00:53:20 lavaman joins (~lavaman@98.38.249.169)
00:59:21 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
01:00:28 <DigitalKiwi> https://mostlyabsurd.com/files/eflister.hs is that local enough
01:01:26 × waleee quits (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 265 seconds)
01:09:19 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
01:09:19 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Remote host closed the connection)
01:09:58 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Client Quit)
01:10:05 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
01:10:23 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
01:11:35 × koz quits (~koz@121.99.240.58) (Read error: Connection reset by peer)
01:14:01 koz joins (~koz@121.99.240.58)
01:14:42 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija)
01:21:13 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Ping timeout: 265 seconds)
01:21:49 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158)
01:22:10 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
01:25:31 <DigitalKiwi> using an overlay you could use whatever version for one nix pulls in
01:25:55 × koz quits (~koz@121.99.240.58) (Quit: ZNC 1.7.5 - https://znc.in)
01:26:11 koz joins (~koz@2404:4408:4309:8800:f7ec:14dd:f995:fa8c)
01:26:16 ddellacosta joins (~ddellacos@86.106.121.100)
01:26:26 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158) (Ping timeout: 252 seconds)
01:26:34 <qrpnxz> i was thinking about how applicative would work for uncurried functions if you didn't have liftA*, and it occurred to me you'd use something like f <$> sequenceA (ma, mb, ...), but you'd like an NTraversable for that thought hmm
01:28:59 <qrpnxz> i don't even know how to generically uncurry a function
01:31:24 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds)
01:33:11 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158)
01:34:33 <ski> @type uncurry (liftA2 (,))
01:34:34 <lambdabot> Applicative f => (f a, f b) -> f (a, b)
01:34:57 <boxscape> qrpnxz do you mean like one function that can uncurry functions with any number of arguments?
01:35:06 × favonia quits (~favonia@user/favonia) (Ping timeout: 264 seconds)
01:35:25 favonia joins (~favonia@user/favonia)
01:35:39 <qrpnxz> yes
01:35:50 <boxscape> I believe it requires a clever type class and overlapping instances
01:37:12 <boxscape> (functions with a variable number of arguments generally are not well supported in Haskell)
01:37:30 × xff0x quits (~xff0x@2001:1a81:5339:fe00:b030:ca5c:f625:5fbb) (Ping timeout: 264 seconds)
01:37:32 <ski> @type uncurry . liftA2 . curry
01:37:33 <lambdabot> Applicative f => ((a, b) -> c) -> (f a, f b) -> f c
01:37:38 <ski> @type (. uncurry (liftA2 (,))) . fmap
01:37:39 <lambdabot> Applicative f => ((a, b1) -> b2) -> (f a, f b1) -> f b2
01:37:48 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 258 seconds)
01:38:29 <ski> (all functions in Haskell take a single argument as input)
01:38:46 <qrpnxz> (yes)
01:38:52 xff0x joins (~xff0x@2001:1a81:5381:2000:b608:3aa5:8037:f5c5)
01:40:21 <boxscape> yeah I suppose I meant that more in terms of an abstract interface
01:40:39 × HotblackDesiato quits (~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection)
01:40:53 HotblackDesiato joins (~HotblackD@gateway/tor-sasl/hotblackdesiato)
01:41:30 notzmv joins (~zmv@user/notzmv)
01:41:34 ski . o O ( defaulty & non-ground representations )
01:43:32 <qrpnxz> reason i'm thinking about this is because i got no idea how you'd do applicatives in mainstream language.
01:43:42 <qrpnxz> but maybe that's just utter lost cause lol
01:45:50 <ski> if you can manipulate argument lists, you should probably be able to do it
01:46:44 <ski> with a proper macro system, one could possibly use that
01:47:11 × spoonm quits (spoonm@inaba.spoonm.org) (Quit: I might be back. I might not.)
01:47:47 spoonm joins (~spoonm@inaba.spoonm.org)
01:48:22 <qrpnxz> with a proper macro system you can do anything lol
01:49:21 × spoonm quits (~spoonm@inaba.spoonm.org) (Client Quit)
01:49:31 spoonm joins (spoonm@inaba.spoonm.org)
01:50:42 × favonia quits (~favonia@user/favonia) (Ping timeout: 265 seconds)
01:50:56 wennefer0 joins (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net)
01:51:19 favonia joins (~favonia@user/favonia)
01:52:58 × wennefer0 quits (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection)
01:53:44 wennefer0 joins (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net)
01:54:24 × wennefer0 quits (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection)
01:56:56 <boxscape> Just run your favorite language through CPP before you compile it
01:56:58 <boxscape> that's how Haskell did it
01:57:40 <qrpnxz> xD
01:58:16 <geekosaur> thought you wanted a proper macro system :þ
01:59:34 wennefer0 joins (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net)
01:59:48 <boxscape> CPP is the only macro system of which I know that it's purely functional, I'll take it
02:00:06 Guest43 joins (~Guest43@pool-96-252-123-136.bstnma.fios.verizon.net)
02:01:50 <qrpnxz> I don't so how, say, scheme macros would not be purely functional
02:01:53 <qrpnxz> *see
02:02:02 <qrpnxz> or almost any macro system
02:02:34 × wennefer0 quits (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection)
02:02:38 <boxscape> you're probably right, but I've last used scheme 8 years ago, and haven't used any other macro system outside of CPP, so I stand by what I said about my state of knowledge :P
02:03:06 <Guest43> Are programs that are defined by a bunch of functions that return ‘State ProgramState Value’ often able to be rewritten using continuation passing style where you return functions that are ‘Value -> ProgramState’?
02:03:37 yd502 joins (~yd502@2409:891f:3020:22f7:fcc4:61ca:873d:3734)
02:05:01 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:06:38 <ski> boxscape : `syntax-rules' ?
02:06:42 ddellacosta joins (~ddellacos@86.106.121.100)
02:06:53 × Axman6 quits (~Axman6@user/axman6) (Ping timeout: 256 seconds)
02:07:04 <boxscape> ski I'm not sure what that's referring to
02:07:22 <ski> it's the R⁵RS macro system
02:07:36 <boxscape> ah. I'm not familiar with that
02:07:56 <boxscape> wait
02:08:08 <boxscape> I'm not familiar with the name R⁵RS
02:08:18 <ski> it's not that composable, though, due to being call-by-name
02:08:59 <ski> (you basically have to write non-trivial macros in CPS .. come to think of it, this also reminds me of writing server scripts in CPS)
02:09:00 <boxscape> so iow `syntax-rules' is Scheme's macro system?
02:09:39 <ski> Revised Revised Revised Revised Revised Report on the algorithmic language Scheme
02:09:59 <boxscape> a very principled approach to nomenclature
02:10:00 hmmmas joins (~chenqisu1@183.217.200.246)
02:10:11 <ski> it's one Scheme macro system. the one that's standardized in R⁵RS
02:10:15 <boxscape> I see
02:10:16 <ski> there's various others, too
02:10:26 <boxscape> I don't know which one I learned when I took the FP course in Uni
02:11:11 <ski> `syntax-case',explicit renaming,syntactic closures,`defmacro' (low-level, unhygienic)
02:11:26 ski probably forgets some
02:11:32 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 258 seconds)
02:13:06 <boxscape> defmacro sounds most familiar to me, I think
02:13:22 <ski> it comes from the other Lisps
02:13:22 × Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:8d64:c14b:88a:5ff6) (Quit: Leaving)
02:13:28 <boxscape> I see
02:13:47 <ski> the other Scheme macro systems support hygiene, though
02:14:04 <ski> (which is basically lexical/static scoping, for macros)
02:14:20 <boxscape> right, okay
02:15:21 × yd502 quits (~yd502@2409:891f:3020:22f7:fcc4:61ca:873d:3734) (Ping timeout: 265 seconds)
02:15:54 × favonia quits (~favonia@user/favonia) (Ping timeout: 264 seconds)
02:17:28 elf_fortrez joins (~elf_fortr@adsl-64-237-239-58.prtc.net)
02:17:46 favonia joins (~favonia@user/favonia)
02:17:48 × beka quits (~beka@104.193.170-244.PUBLIC.monkeybrains.net) (Ping timeout: 265 seconds)
02:18:11 <ski> (there's two parts of hygiene. (a) an identifier introduced by a macro shouldn't shadow a variable of the same name, in some user-supplied expression that's spliced into the macro expansion. (b) an identifier that's referred to by the macto body (the part that the macro expands to) should refer to what that identifier means, in the macro-definition scope, not what it might refer to at the macro invokation
02:18:17 <ski> site)
02:18:45 <ski> ((a) can generally be fixed by using `gensym' (although it's easy to forget to use it, so it's errorprone). (b) can't)
02:18:49 <boxscape> got it
02:19:01 <boxscape> ok
02:19:20 <qrpnxz> RnRS is the Revised^n Report on the algorithmic language Scheme aka just Scheme, idk why ski is being so unclear
02:19:32 <qrpnxz> syntax-rules is the name of a form you use to define macros
02:19:39 × egoist quits (~egoist@186.235.85.100) (Quit: WeeChat 3.1)
02:20:00 <boxscape> okay
02:20:59 <ski> well, boxscape asked about R⁵RS, not RⁿRS ..
02:21:35 <qrpnxz> just replace n
02:21:49 <ski> `define-syntax' defines the macro. `syntax-rules' (or some other alternative form) is used to specify the macro
02:22:02 <qrpnxz> yes
02:22:15 <boxscape> what is the difference between definition and specification
02:22:22 <ski> (there's also `let-syntax' and `letrec-syntax' for locally scoped macros)
02:22:28 <qrpnxz> the same as declaration and implementation
02:22:31 <boxscape> ah
02:22:41 <ski> you'd still use the same `syntax-rules' form, for either of those three
02:23:08 <qrpnxz> syntax-rules is like the lambda of macros
02:23:11 <ski> `syntax-rules' allows you to pattern-match on the form of the macro invokation, and to specify a corresponding template
02:23:34 <Guest43> Is a program defined by functions that return ‘State ProgramState Value’ often able to be rewritten using continuation passing style where the continuations are ‘Value -> ProgramState’
02:23:40 <ski> hm. not quite a macro lambda
02:23:57 <ski> (iirc Oleg did some macrology on macro lambdas ..)
02:24:02 <ski> @where oleg
02:24:02 <lambdabot> http://okmij.org/ftp/
02:24:46 <ski> Guest43 : i guess you could use CPS, but i'm not sure why
02:25:02 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
02:25:33 × mcglk quits (~mcglk@131.191.49.120) (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:25:39 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
02:26:02 mcglk joins (~mcglk@131.191.49.120)
02:26:39 <Guest43> Ski: maybe if I had to account for the possibility of error it would be easier to do this then instead start using the EitherT State transformer? Is this a sensical reason?
02:28:18 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit)
02:30:13 <Guest43> I happen to have a program just like this where I am using an ‘EitherT Error (State ProgramState) Value’. In reading about denotational semantics continuation passing style was introduced as a way to more elegantly deal with the possibility of error. I am wondering if it is worth pursuing for my program.
02:30:18 × grnman_ quits (~gandalf@c-73-49-209-161.hsd1.fl.comcast.net) (Remote host closed the connection)
02:31:51 <Guest43> s/EitherT/ExceptT
02:33:14 × nilof quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 265 seconds)
02:36:12 <Cajun> so it appears something i did earlier when trying to install accelerate has screwed a package up. when i try to load `Data.Array.Accelerate` in some random GHCi, it will error out with ambiguous packages. when i `cabal repl [packageWithAccelerate]` then import it (the program doesnt explicitly import it, but the build depends on it), it doesnt
02:36:13 <Cajun> complain at all. https://paste.tomsmeding.com/tecJYoCE
02:39:04 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
02:39:04 ddellacosta joins (~ddellacos@86.106.121.100)
02:39:18 beka joins (~beka@104-244-27-23.static.monkeybrains.net)
02:43:44 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 258 seconds)
02:45:30 <Guest43> Hmm maybe my continuations would actually instead have to be ‘Value -> Either Error ProgramState’? I am starting to think this won’t make things any easier then using a monad transformer.
02:45:32 × nerdypepper quits (~nerdypepp@user/nerdypepper) (Quit: bye)
02:46:05 <Guest43> Cps is reminding me a lot of monads…
02:47:33 × alx741 quits (~alx741@181.196.68.241) (Quit: alx741)
02:48:25 nerdypepper joins (~nerdypepp@user/nerdypepper)
02:58:51 × td_ quits (~td@muedsl-82-207-238-182.citykom.de) (Ping timeout: 268 seconds)
03:00:19 td_ joins (~td@94.134.91.60)
03:04:34 × sheepduck quits (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Remote host closed the connection)
03:04:55 sheepduck joins (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com)
03:05:08 × favonia quits (~favonia@user/favonia) (Ping timeout: 265 seconds)
03:05:32 × sheepduck quits (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Remote host closed the connection)
03:05:33 favonia joins (~favonia@user/favonia)
03:06:27 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
03:07:36 <dsal> Guest43: https://hackage.haskell.org/package/mtl-2.2.2/docs/Control-Monad-Cont.html
03:14:03 × favonia quits (~favonia@user/favonia) (Ping timeout: 244 seconds)
03:16:13 ddellacosta joins (~ddellacos@86.106.121.100)
03:20:31 UpstreamSalmon joins (uid12077@id-12077.stonehaven.irccloud.com)
03:20:32 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 258 seconds)
03:21:01 awth13 joins (~user@user/awth13)
03:21:20 favonia joins (~favonia@user/favonia)
03:23:14 × boxscape quits (~boxscape@user/boxscape) (Ping timeout: 252 seconds)
03:25:01 × Guest43 quits (~Guest43@pool-96-252-123-136.bstnma.fios.verizon.net) (Quit: Client closed)
03:30:22 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
03:31:40 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
03:32:01 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
03:33:53 P1RATEZ joins (piratez@user/p1ratez)
03:35:15 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
03:37:42 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds)
03:37:43 Lord_of_Life_ is now known as Lord_of_Life
03:39:49 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds)
03:42:08 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
03:43:32 × hmmmas quits (~chenqisu1@183.217.200.246) (Quit: Leaving.)
03:47:15 × is7s quits (~is7s@2a01:4b00:895f:3d00:ddd:ae00:86d4:d79c) (Quit: Client closed)
03:47:55 × unyu quits (~pyon@user/pyon) (Quit: WeeChat 3.2)
03:50:29 Axman6 joins (~Axman6@user/axman6)
03:52:28 ddellacosta joins (~ddellacos@86.106.121.100)
03:56:14 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
03:56:58 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
03:57:16 wennefer0 joins (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net)
03:57:25 <Axman6> I'm trying to think of the best way to implement code similar to what's being done in this python code for computing the discrete logarithm of g^m mod p, and wondering what sort of structure would let me efficiently access previously computed results: https://github.com/microsoft/electionguard-python/blob/f0a25b0ac99fac5c8d4e3545055dbdd05968d021/src/electionguard/dlog.py#L16
03:57:54 <Axman6> so I was wondering if a Data.Map.Lazy would work, but I have a feeling it won't be lazy enough
03:58:36 × wennefer0 quits (~wennefer0@c-73-69-143-60.hsd1.ma.comcast.net) (Remote host closed the connection)
04:00:11 <Axman6> making a lazy list isn't too difficult but then I get linear time time lookup
04:01:55 × lambdap quits (~lambdap@static.167.190.119.168.clients.your-server.de) (Quit: lambdap)
04:02:37 lambdap joins (~lambdap@static.167.190.119.168.clients.your-server.de)
04:03:43 <c_wraith> Data.Map.Lazy is fine if you can afford to insert all the keys at once
04:04:03 <Axman6> I would prefer not to, but it might be feasible
04:05:49 <c_wraith> you could also use one of the memoization packages that supports infinite tries
04:08:52 <Axman6> yeah
04:09:13 <Axman6> I'll probably do that
04:14:56 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds)
04:16:27 wei2912 joins (~wei2912@112.199.250.21)
04:22:43 × elf_fortrez quits (~elf_fortr@adsl-64-237-239-58.prtc.net) (Ping timeout: 246 seconds)
04:23:35 pfurla_ joins (~pfurla@37.15.195.173.client.static.strong-in52.as13926.net)
04:24:33 ddellacosta joins (~ddellacos@86.106.121.100)
04:25:24 × HarveyPwca quits (~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06) (Quit: Leaving)
04:26:18 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 252 seconds)
04:27:17 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
04:29:16 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds)
04:29:58 × pfurla_ quits (~pfurla@37.15.195.173.client.static.strong-in52.as13926.net) (Ping timeout: 252 seconds)
04:31:44 <qrpnxz> Just learned how to use the ST monad! Epic!
04:31:57 <qrpnxz> i didn't know you could get this imperative in haskell
04:33:50 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
04:34:36 <qrpnxz> accumulating numbers epic-style:
04:34:38 <qrpnxz> runST $ newSTRef 0 >>= \n -> traverse (modifySTRef n . (+)) [1..144] >> readSTRef n
04:35:37 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
04:36:24 texasmynsted joins (~texasmyns@99.96.221.112)
04:38:00 × AgentM quits (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.)
04:44:26 elf_fortrez joins (~elf_fortr@adsl-64-237-239-58.prtc.net)
04:46:06 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 252 seconds)
04:46:24 × wei2912 quits (~wei2912@112.199.250.21) (Ping timeout: 258 seconds)
04:48:55 <Axman6> urgh, ius ther some good documentation for using MemoTrie somewhere? the package gives nothing useful
04:49:33 <Axman6> I remember there being some truck for recursive functions but it's not clear where to find it
04:50:12 <Axman6> trick*
04:52:03 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
04:56:54 <glguy> Axman6: you'll do something like: let f = memo \x -> ... stuff ... f z ....
04:57:44 mnrmnaugh is now known as ox-
04:58:51 <Axman6> so I currently have this: dlog' :: ElementModP -> Int
04:58:52 <Axman6> dlog' (ElementMod e0) = go 1 0 where go !x !n = if e0 == x then n else go ((x*g) `mod` p) (n+1)
04:59:40 <Axman6> I tried this: dlog''' (ElementMod e) = memoFix (\go (a,n) -> if a == e then n else go ((a*g) `mod` p, n+1)) (1,0)
04:59:59 <Axman6> but even calling the same thingexpression twice with that takes the same amount of time each time
05:00:37 × jackhill quits (~jackhill@kalessin.dragonsnail.net) (Remote host closed the connection)
05:01:29 <Axman6> wondering if I should try multiplying by g^-1 and counting backwards, so to speak
05:01:52 ddellacosta joins (~ddellacos@86.106.121.100)
05:02:05 wei2912 joins (~wei2912@112.199.250.21)
05:02:06 × favonia quits (~favonia@user/favonia) (Ping timeout: 264 seconds)
05:04:26 favonia joins (~favonia@user/favonia)
05:04:44 doyougnu joins (~user@c-73-25-202-122.hsd1.or.comcast.net)
05:05:49 <glguy> Axman6: what expression did you call twice?
05:06:07 <Axman6> dlog' (ElementMod (expFast g 4000000 p))
05:06:11 <glguy> I mean you don't "call expressions" but what did you do
05:06:16 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
05:06:31 <glguy> dlog' isn't being memorized
05:06:34 <glguy> memoized
05:06:46 <glguy> it just happens to be using memoization internally in its implementation
05:06:55 <Axman6> indeed
05:07:09 <qrpnxz> accumulating number epic-style IO edition:
05:07:11 <qrpnxz> newIORef 0 >>= \n -> foldMap (liftA2 (>>) (modifyIORef n . (+)) (putStrLn . show)) [1..144] >> readIORef n
05:07:25 <qrpnxz> yay!
05:08:04 <qrpnxz> i went full galaxy brain with that liftA2 (>>)
05:08:16 <qrpnxz> i'm thinking applicative!
05:09:52 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
05:10:10 sheepduck joins (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com)
05:10:50 × chaosite quits (~chaosite@user/chaosite) (Ping timeout: 252 seconds)
05:12:02 <Axman6> I think I have something that's working... by using a slightly different algorithm
05:12:25 <Axman6> (and lots of RAM)
05:13:13 × sheepduck quits (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Remote host closed the connection)
05:13:26 <Axman6> hmm, ok, this is super slow...
05:13:50 unyu joins (~pyon@user/pyon)
05:14:47 <Axman6> I'm trying dlogDown = memo $ \e -> if e == 1 then 0 else 1 + dlogDown ((e*g') `mod` p) (where g' = g^-1 so counting down instead of up, which avoids needing to pass around n... but probably makes a massive thunk)
05:15:38 <Axman6> ok, 35GB is too much...
05:19:03 × doyougnu quits (~user@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
05:22:55 <Axman6> ok! I ended up sort of memoising it myself, but now have: if I have computed n, the lookup for n+1 is very fast
05:23:46 × favonia quits (~favonia@user/favonia) (Ping timeout: 268 seconds)
05:24:06 favonia joins (~favonia@user/favonia)
05:24:14 ox- is now known as mnrmnaugh
05:24:17 <Axman6> glguy: https://gist.github.com/axman6/96475e7068f724f87db36a2a4e6c8758
05:24:45 × Cajun quits (~Cajun@ip98-163-211-112.no.no.cox.net) (Quit: Client closed)
05:26:06 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
05:27:48 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
05:30:54 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
05:30:58 × elf_fortrez quits (~elf_fortr@adsl-64-237-239-58.prtc.net) (Ping timeout: 246 seconds)
05:32:10 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija)
05:32:33 × favonia quits (~favonia@user/favonia) (Ping timeout: 265 seconds)
05:32:58 favonia joins (~favonia@user/favonia)
05:34:56 chaosite joins (~chaosite@user/chaosite)
05:35:18 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
05:35:28 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 258 seconds)
05:36:04 ddellacosta joins (~ddellacos@86.106.121.100)
05:39:04 × teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection)
05:39:24 laguneucl joins (~Pitsikoko@2a02:587:dc0b:ff00:91aa:a5de:def3:b2bc)
05:40:27 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 258 seconds)
05:41:34 sheepduck joins (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com)
05:45:02 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
05:45:44 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:47:58 × sheepduck quits (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Remote host closed the connection)
05:48:15 Guest9 joins (~Guest9@103.250.145.119)
05:49:16 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
05:51:38 × favonia quits (~favonia@user/favonia) (Ping timeout: 244 seconds)
05:52:23 favonia joins (~favonia@user/favonia)
05:59:27 sheepduck joins (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com)
06:00:19 × UpstreamSalmon quits (uid12077@id-12077.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
06:03:54 × sheepduck quits (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Remote host closed the connection)
06:04:18 sheepduck joins (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com)
06:04:52 texasmynsted parts (~texasmyns@99.96.221.112) (WeeChat 3.1)
06:08:34 × chexum quits (~chexum@gateway/tor-sasl/chexum) (Quit: -)
06:08:37 <Rembane> tomsmeding: A year ago the Pałka paper was the state of the art. I haven't really followed the field since then. What parts do you think are most ad hoc?
06:10:03 <Guest9> anyone uses spreadsheet?
06:10:09 <Guest9> or database?
06:10:38 <Axman6> I think most of us have probably used spreadsheets and databases at some point. maybe ask your question and we can help you?
06:10:52 chexum joins (~chexum@gateway/tor-sasl/chexum)
06:13:12 <Guest9> i want to store data for 2 projects(A & B), data is not so big that it cant be visually impossible to see. around 20 columns -100 rows for each project. Out of 20 let us says 10+ columns are same across A & B. 5+ columns are slightly different (or can be derived from vice versa) & rest columns(~5) are completely different.
06:13:46 <Guest9> in this case, while entering data, i feel Master sheet containing both A & B project data is quite useful.
06:14:00 Cajun joins (~Cajun@ip98-163-211-112.no.no.cox.net)
06:14:09 <Axman6> could a cnv be enough?
06:14:10 <Guest9> (instead of separating worksheet for A & B projects initially)
06:14:13 <Axman6> csv*
06:14:42 <Guest9> but when data is ready and i want to send to others, i need to separate them into each file/spreadsheet
06:14:46 <Guest9> so what is best way out?
06:14:52 <Guest9> the story doesnt end here.
06:15:15 <Guest9> when others suggest me some changes, sometimes it is better to work on master sheet
06:15:17 ddellacosta joins (~ddellacos@86.106.121.100)
06:15:53 <Guest9> while sometimes (based on type of feedback/comments from others), it is better to work on master sheet so that i can have both project A & B in front of my eyes in a single page.
06:16:40 <Guest9> s/when others..../when others suggest me some changes, sometimes it is better to work on INDIVIDUAL sheet (INSTEAD OF MASTER)
06:17:17 <Guest9> am i making some sense?
06:17:35 <Guest9> Axman6 yes, csv is fine too.
06:18:02 <Guest9> but i dont know any csv editor, either i have seen google docs or office excel or at most libereoffice calc
06:18:32 <Axman6> is therer anything wrong with those? excel/libreoffice should be find for making edits to csvs
06:18:48 <Guest9> ok
06:19:36 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
06:20:40 Deide joins (~Deide@wire.desu.ga)
06:20:40 × Deide quits (~Deide@wire.desu.ga) (Changing host)
06:20:40 Deide joins (~Deide@user/deide)
06:20:53 × favonia quits (~favonia@user/favonia) (Ping timeout: 265 seconds)
06:21:18 favonia joins (~favonia@user/favonia)
06:21:42 Bartosz joins (~textual@24.35.90.211)
06:23:37 × sheepduck quits (~sheepduck@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Changing host)
06:23:37 sheepduck joins (~sheepduck@user/sheepduck)
06:27:24 qbt joins (~edun@user/edun)
06:30:28 × chexum quits (~chexum@gateway/tor-sasl/chexum) (Quit: -)
06:31:01 kmetric joins (~karthik@49.206.9.195)
06:32:18 × kmetric quits (~karthik@49.206.9.195) (Client Quit)
06:39:22 zeenk joins (~zeenk@82.76.113.130)
06:39:29 <Guest9> is it possible to customize serial number=line numbers in any code editor/IDE?
06:40:14 chexum joins (~chexum@gateway/tor-sasl/chexum)
06:44:49 × ukari quits (~ukari@user/ukari) (Remote host closed the connection)
06:45:39 ukari joins (~ukari@user/ukari)
06:48:15 × favonia quits (~favonia@user/favonia) (Ping timeout: 268 seconds)
06:50:22 × Morrow quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 265 seconds)
06:51:34 Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net)
06:53:42 ddellacosta joins (~ddellacos@86.106.121.100)
06:58:16 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 258 seconds)
06:58:16 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
06:59:17 MQ-17J joins (~MQ-17J@8.6.144.186)
07:01:02 × Guest9 quits (~Guest9@103.250.145.119) (Ping timeout: 265 seconds)
07:05:15 Guest9 joins (~Guest9@103.250.145.119)
07:06:06 fef joins (~thedawn@user/thedawn)
07:06:10 <sm[m]> Guest9: in most spreadsheets you can toggle filtering rows by the value in a particular column. That's a quick way to view just some rows, or the whole sheet
07:06:16 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:06:47 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:06:58 <sm[m]> but this room is mainly for discussing the Haskell programming language, did you know ?
07:07:00 dyeplexer joins (~dyeplexer@user/dyeplexer)
07:12:27 × sheepduck quits (~sheepduck@user/sheepduck) (Remote host closed the connection)
07:14:34 × Guest9 quits (~Guest9@103.250.145.119) (Ping timeout: 265 seconds)
07:21:32 <qrpnxz> lol, (<=<) = ((.) . (=<<))
07:21:34 gehmehgeh joins (~user@user/gehmehgeh)
07:24:58 ddellacosta joins (~ddellacos@86.106.121.100)
07:27:10 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
07:29:17 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
07:29:33 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds)
07:31:46 Feuermagier joins (~Feuermagi@user/feuermagier)
07:33:50 × Feuermagier_ quits (~Feuermagi@154.28.188.168) (Ping timeout: 252 seconds)
07:35:07 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
07:40:26 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
07:46:22 nilof joins (~olofs@90-227-86-119-no542.tbcn.telia.com)
07:46:22 teaSlurper joins (~chris@81.96.113.213)
07:46:42 yoctocell joins (~yoctocell@h87-96-130-155.cust.a3fiber.se)
07:56:21 × yoctocell quits (~yoctocell@h87-96-130-155.cust.a3fiber.se) (Quit: C-x C-c, Shutting down OS...)
07:58:55 × P1RATEZ quits (piratez@user/p1ratez) ()
07:59:32 ddellacosta joins (~ddellacos@86.106.121.100)
07:59:49 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
08:00:14 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:00:26 yoctocell joins (~user@h87-96-130-155.cust.a3fiber.se)
08:00:39 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
08:01:08 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 258 seconds)
08:04:08 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
08:04:12 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 258 seconds)
08:04:20 Guest9 joins (~Guest9@103.240.170.121)
08:05:20 <Guest9> sm[m] yes. I am just looking for general idea. since there are 2 projects, there are filtering rows & columns both needed.
08:07:19 hendursa1 joins (~weechat@user/hendursaga)
08:09:11 yd502 joins (~yd502@114.85.148.68)
08:09:52 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 252 seconds)
08:10:19 yd502_ joins (~yd502@114.85.148.68)
08:10:19 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:110d:2114:b7bd:a1e5) (Quit: Leaving)
08:12:49 × johnli quits (~jl@c83-252-118-64.bredband.tele2.se) (Quit: leaving)
08:14:01 × yd502 quits (~yd502@114.85.148.68) (Ping timeout: 265 seconds)
08:14:48 × mcglk quits (~mcglk@131.191.49.120) (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:15:52 × zeenk quits (~zeenk@82.76.113.130) (Quit: Konversation terminated!)
08:16:00 neceve joins (~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130)
08:17:20 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
08:17:41 geekosaur joins (~geekosaur@xmonad/geekosaur)
08:28:16 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
08:29:00 warnz joins (~warnz@2600:1700:77c0:5610:d5d8:e36a:2948:a4e3)
08:29:24 × beka quits (~beka@104-244-27-23.static.monkeybrains.net) (Ping timeout: 252 seconds)
08:29:49 abraham joins (~abraham@191.96.120.28)
08:31:39 × hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 272 seconds)
08:33:08 hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net)
08:33:42 × warnz quits (~warnz@2600:1700:77c0:5610:d5d8:e36a:2948:a4e3) (Ping timeout: 268 seconds)
08:35:44 ddellacosta joins (~ddellacos@86.106.121.100)
08:36:15 matsurago joins (~matsurago@nttkyo1710068.tkyo.nt.ngn.ppp.infoweb.ne.jp)
08:40:07 × fef quits (~thedawn@user/thedawn) (Ping timeout: 252 seconds)
08:40:14 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 258 seconds)
08:47:53 × Guest9 quits (~Guest9@103.240.170.121) (Quit: Ping timeout (120 seconds))
08:52:44 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
08:55:20 × yd502_ quits (~yd502@114.85.148.68) (Read error: Connection reset by peer)
08:55:25 yd502__ joins (~yd502@114.85.148.68)
08:56:23 × yd502__ quits (~yd502@114.85.148.68) (Remote host closed the connection)
08:56:43 boxscape joins (~boxscape@user/boxscape)
08:58:01 yd502 joins (~yd502@114.85.148.68)
09:02:28 Philonous_ is now known as Philonous
09:03:21 × yd502 quits (~yd502@114.85.148.68) (Remote host closed the connection)
09:03:50 yd502 joins (~yd502@114.85.148.68)
09:03:51 <qrpnxz> can you do a case where multiple patterns do the same action?
09:04:33 <ChaiTRex> qrpnxz: Yes.
09:04:39 <qrpnxz> how
09:04:51 <ChaiTRex> > case 5 where 5 -> True; _ -> True
09:04:52 <lambdabot> <hint>:1:8: error: parse error on input ‘where’
09:04:58 <ChaiTRex> > case 5 where { 5 -> True; _ -> True }
09:05:00 <lambdabot> <hint>:1:8: error: parse error on input ‘where’
09:05:06 <ChaiTRex> > case 5 of { 5 -> True; _ -> True }
09:05:08 <lambdabot> True
09:05:29 <ChaiTRex> Multiple patters there produce True.
09:05:49 <qrpnxz> obv i don't want to repeat myself is the point of the question
09:06:20 <boxscape> qrpnxz there have been some efforts in the past to allow branches that match multiple patterns, but they haven't gone anywhere so far
09:06:31 elf_fortrez joins (~elf_fortr@adsl-64-237-239-58.prtc.net)
09:06:54 <qrpnxz> of all things, didn't expect the good ol' switch statement to be the thing haskell didn't have
09:06:56 <qrpnxz> amazin
09:07:32 <boxscape> in practice I tend to something like `case x of A -> foo; B -> something; C -> foo; D -> foo where foo = ...`
09:07:42 <boxscape> s/to/to do
09:07:44 yd502_ joins (~yd502@114.85.148.68)
09:08:25 <qrpnxz> yeah i was planning pretty much doing that thx
09:08:38 × yd502 quits (~yd502@114.85.148.68) (Ping timeout: 252 seconds)
09:09:02 <boxscape> qrpnxz this is the proposal btw which got a lot of support but was given up on by the author https://github.com/ghc-proposals/ghc-proposals/pull/43
09:12:27 <qrpnxz> hmm, seems like they had trouble adding it, maybe one day
09:12:29 × sh9 quits (~sh9@softbank060116136158.bbtec.net) (Read error: Connection reset by peer)
09:13:02 fendor joins (~fendor@77.119.128.145.wireless.dyn.drei.com)
09:13:19 <boxscape> yeah
09:13:48 <dminuoso> Im just a bit sad that we have to retrofit this into existing syntax. :(
09:14:09 ddellacosta joins (~ddellacos@86.106.121.100)
09:14:25 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
09:14:51 <boxscape> that's fair, but I actually think the proposed syntax isn't too bad
09:15:01 <boxscape> I suppose ideally you'd be able to use | instead of ;
09:15:05 <boxscape> which isn't possible anymore
09:15:25 <dminuoso> Can you align ; with the opening ( in all cases?
09:15:35 <boxscape> hmm that's a good question, I don't know
09:15:37 <dminuoso> If not, I will refuse to use this. :-)
09:15:45 <dminuoso> Can't break my indention/alignment habits
09:16:05 <dminuoso> Was pretty annoyed when I couldn't do this with do-pattern matching
09:17:19 <boxscape> just use explicit layout and you can indent however you want :P
09:18:01 <qrpnxz> > (flip.when) :: Bool -> b -> (b -> ()) -> ()
09:18:01 <qrpnxz> wtf?
09:18:03 <lambdabot> error:
09:18:03 <lambdabot> • No instance for (Typeable b0)
09:18:03 <lambdabot> arising from a use of ‘show_M72879048522121107737’
09:18:17 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
09:18:32 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
09:18:41 <dminuoso> qrpnxz: lambdabot tries to show that function.
09:18:51 <qrpnxz> ok
09:19:13 <boxscape> :t (flip.when)
09:19:14 <lambdabot> Bool -> b -> (b -> ()) -> ()
09:19:16 <dminuoso> qrpnxz: and lambdabot presumably has some (Show a, Typeable b) => Show (b -> a)` instance
09:19:29 <dminuoso> Or some such?
09:20:06 <qrpnxz> :t when
09:20:08 <lambdabot> Applicative f => Bool -> f () -> f ()
09:20:17 <qrpnxz> this makes no sense
09:20:25 <boxscape> > \'a' -> 'b'
09:20:27 <lambdabot> <Char -> Char>
09:20:30 <dminuoso> qrpnxz: anyway. The problem is you're trying to evaluate it, so that means lamdabot tries to "wrap it with show"
09:20:32 <boxscape> I didn't even know lambdabot does that
09:20:42 <qrpnxz> i mean the type of flip.when makes no sense
09:20:46 <dminuoso> % :t flip.when
09:20:47 <yahb> dminuoso: Bool -> b -> (b -> ()) -> ()
09:20:48 <qrpnxz> not really paying attention to lambdabot
09:20:52 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
09:21:01 <dminuoso> % :t when
09:21:01 <yahb> dminuoso: Applicative f => Bool -> f () -> f ()
09:21:12 <dminuoso> % :t flip
09:21:13 <yahb> dminuoso: (a -> b -> c) -> b -> a -> c
09:21:30 <dminuoso> qrpnxz: There is an Applicative instance for ((->) a)
09:21:55 <qrpnxz> rip
09:22:02 <qrpnxz> what a freak even
09:22:06 <qrpnxz> gonna have to do it by hand
09:22:07 <qrpnxz> :(
09:22:10 <qrpnxz> *event
09:23:30 <dminuoso> qrpnxz: Consider: when returns something `f ()`, if we set `f ~ ((a) ->), when :: (a -> ()) -> a -> ()
09:23:46 <dminuoso> Oh, missing a Bool
09:23:53 <dminuoso> when :: Bool -> (a -> ()) -> a -> ()
09:24:01 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
09:24:17 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1)
09:26:45 <dminuoso> boxscape: Admit, this just looks wrong: https://gist.github.com/dminuoso/a211db82b4ec14e12941bfcbaf1815b6
09:26:57 <boxscape> yes
09:27:12 <dminuoso> In my code I just make the pattern match irrefutable just to satisfy my need to align everything nicely
09:27:13 sh9 joins (~sh9@softbank060116136158.bbtec.net)
09:27:34 mcglk joins (~mcglk@131.191.49.120)
09:27:40 <boxscape> hm nice trick
09:29:18 <dminuoso> To be honest, the real reason for all of this is because Im too lazy to create intermediate data types. In the original code just have `pure Foo{..}` at the end
09:30:07 <dminuoso> The code to the right of the bind uses a nested section parser that needs to be wrapped, so I cant just have `foo <- ...; bar <- ...; baz <- ...;`
09:31:10 <dminuoso> Plus, if you want to do this inside ApplicativeDo, you must have the irrefutable pattern match anyway. And I use this trick in optparse-applicative in the very same project as well..
09:32:17 <boxscape> The _real_ reason for all this is that we still use ASCII strings to notate programs when we could be using interfaces actually based on ASTs :P
09:32:39 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
09:33:36 <dminuoso> Reminds me of the Haskell Weekly episode with Sandy Maguire, talking about Wingman
09:33:51 <dminuoso> They talked about exactly this situation, part of what inspired Wingman
09:34:58 <boxscape> there was someone a few years ago who made an interface like that which worked with a subset of haskell, but I don't remember what it was called
09:37:09 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 265 seconds)
09:37:56 <dminuoso> The argument made in the podcast, was that one of the main things making writing Haskell on a tablet in the parket problematic, is how we denote so much of a program as just strings
09:38:26 <dminuoso> (And apparently wingman was born out of the idea "couldn't we make it possible to write haskell programs on a tablet")
09:40:42 × _xor quits (~xor@74.215.46.133) (Quit: brb)
09:41:30 <boxscape> The main issue I see is that you probably still have to write down names of things, which would be much slower on a tablet, at least for me
09:42:24 <boxscape> I've been idly wondering if you could get some benefit from a VR-based interface, but the same thing about names applies, unless you manage to make naming based on voice recognition work or something
09:45:59 <dminuoso> For a lot of code we usually refer to existing names.
09:46:17 <dminuoso> And the AST structure is fixed, which is why a string to represent programs is not ideal
09:46:24 × nilof quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 252 seconds)
09:46:34 <dminuoso> Like, if you write a case-of, you can only ever write whatever production rules the grammar has for you
09:46:47 <dminuoso> So you could just offer these production rules with some nice interface
09:46:53 <boxscape> yeah
09:48:14 × micro quits (~micro@user/micro) (Remote host closed the connection)
09:50:41 micro joins (~micro@user/micro)
09:52:21 × hendursa1 quits (~weechat@user/hendursaga) (*.net *.split)
09:52:21 × gehmehgeh quits (~user@user/gehmehgeh) (*.net *.split)
09:52:21 × chexum quits (~chexum@gateway/tor-sasl/chexum) (*.net *.split)
09:52:21 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (*.net *.split)
09:52:21 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (*.net *.split)
09:52:21 × HotblackDesiato quits (~HotblackD@gateway/tor-sasl/hotblackdesiato) (*.net *.split)
09:52:21 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (*.net *.split)
09:52:49 ChaiTRex joins (~ChaiTRex@user/chaitrex)
09:52:51 hendursa1 joins (~weechat@user/hendursaga)
09:53:01 HotblackDesiato joins (~HotblackD@gateway/tor-sasl/hotblackdesiato)
09:53:03 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
09:53:04 gehmehgeh joins (~user@user/gehmehgeh)
09:53:13 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
09:54:55 ddellacosta joins (~ddellacos@86.106.121.100)
09:55:01 chexum joins (~chexum@gateway/tor-sasl/chexum)
09:55:03 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
09:55:49 mastarija joins (~mastarija@31.217.22.187)
09:56:18 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
09:57:17 <mastarija> Is there an actual paper about "Curry-Howard correspondence"? All I'm finding are wikis and presentations talking about the correspondence, but no original paper.
09:57:25 <mastarija> Is it even a paper?
09:58:18 notzmv joins (~zmv@user/notzmv)
09:59:35 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 258 seconds)
10:00:04 <boxscape> mastarija I believe this is it, but I haven't read it https://www.cs.cmu.edu/~crary/819-f09/Howard80.pdf
10:00:13 <boxscape> mastarija there's some history here https://wadler.blogspot.com/2014/08/howard-on-curry-howard.html
10:00:16 <tomsmeding> Rembane: the parts that feel odd to me (but I don't have a better alternative!) are the weights of the rules for priotitised sampling and the selection of types for unconstrained type variables (namely selecting environment types and functions of them, or something)
10:00:33 <boxscape> mastarija and I found the reference to that in http://www.cs.bc.edu/~muller/teaching/lc/WadlerPropositionsAsTypes.pdf
10:01:59 <tomsmeding> Cajun: if you're still using `cabal install --lib`, I think that is what's giving you issues. The normal usage of cabal (and what it's debugged for :p) is where you have a project with dependencies, and you work in a project
10:02:16 <tomsmeding> You never globally install anything, except perhaps executables
10:02:44 <tomsmeding> Kind of like a python virtualenv, or a Cargo.toml file for rust, or a package.json for nodejs
10:03:50 <tomsmeding> If you want to be able to use a repl on an ad-hoc basis, try to use `cabal repl -b accelerate` or similar -- which essentially sets up a temporary project with the given dependenc(y)(ies)
10:04:28 <tomsmeding> Cabal should be smart enough to not recompile libraries if you depend on them in a similar enough configuration
10:06:41 <tomsmeding> Cajun: cabal's documentation says that `install --lib` modifies a file in `~/.ghc/$ARCH-$OS-$GHCVER/environments/default`; you might want to remove that file in case there is some odd configuration there now
10:06:53 <tomsmeding> (docs: https://cabal.readthedocs.io/en/3.4/cabal-commands.html#cabal-v2-install )
10:07:52 <qrpnxz> iterators: just works. https://termbin.com/yotb
10:09:51 _xor joins (~xor@74.215.46.133)
10:10:06 <qrpnxz> > The _real_ reason for all this is that we still use ASCII strings to notate programs when we could be using interfaces actually based on ASTs
10:10:06 <qrpnxz> boxscape: been kind of waiting for this to happen, haskell is probably a good candidate for such an interface given that composition is its whole shtick
10:10:12 <lambdabot> error:
10:10:12 <lambdabot> Data constructor not in scope:
10:10:12 <lambdabot> The
10:10:52 <boxscape> qrpnxz yeah I also think expression-based languages might be a better fit than statement-based ones
10:10:58 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 244 seconds)
10:12:00 × HotblackDesiato quits (~HotblackD@gateway/tor-sasl/hotblackdesiato) (Ping timeout: 244 seconds)
10:12:31 × nf quits (~n@monade.li) (Quit: Fairfarren.)
10:12:33 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
10:12:36 × chexum quits (~chexum@gateway/tor-sasl/chexum) (Remote host closed the connection)
10:12:44 nf joins (~n@monade.li)
10:12:46 HotblackDesiato joins (~HotblackD@gateway/tor-sasl/hotblackdesiato)
10:13:45 ph88 joins (~ph88@2a02:8109:9e00:7e5c:1960:9d14:60f8:23cf)
10:14:13 × nf quits (~n@monade.li) (Client Quit)
10:15:00 chexum joins (~chexum@gateway/tor-sasl/chexum)
10:15:07 nf joins (~n@monade.li)
10:18:00 jakalx parts (~jakalx@base.jakalx.net) ()
10:23:21 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 258 seconds)
10:28:20 × fabfianda quits (~fabfianda@net-109-116-251-109.cust.vodafonedsl.it) (Ping timeout: 258 seconds)
10:28:36 fabfianda joins (~fabfianda@mob-5-90-249-105.net.vodafone.it)
10:29:05 nilof joins (~olofs@90-227-86-119-no542.tbcn.telia.com)
10:30:34 ddellacosta joins (~ddellacos@86.106.121.100)
10:33:42 × HotblackDesiato quits (~HotblackD@gateway/tor-sasl/hotblackdesiato) (Ping timeout: 244 seconds)
10:34:44 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 244 seconds)
10:34:44 × gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 244 seconds)
10:34:48 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
10:35:19 × chexum quits (~chexum@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
10:35:45 HotblackDesiato joins (~HotblackD@gateway/tor-sasl/hotblackdesiato)
10:35:46 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
10:36:31 gehmehgeh joins (~user@user/gehmehgeh)
10:37:32 × mastarija quits (~mastarija@31.217.22.187) (Ping timeout: 258 seconds)
10:37:54 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
10:38:21 chexum joins (~chexum@gateway/tor-sasl/chexum)
10:38:43 dhil joins (~dhil@80.208.56.181)
10:46:06 × HotblackDesiato quits (~HotblackD@gateway/tor-sasl/hotblackdesiato) (Ping timeout: 244 seconds)
10:46:34 HotblackDesiato joins (~HotblackD@gateway/tor-sasl/hotblackdesiato)
10:47:29 jakalx joins (~jakalx@base.jakalx.net)
10:47:38 is7s joins (~is7s@2a01:4b00:895f:3d00:ddd:ae00:86d4:d79c)
10:50:06 × altern quits (~altern@altern.corbina.com.ua) (Ping timeout: 264 seconds)
10:52:52 × dhil quits (~dhil@80.208.56.181) (Ping timeout: 258 seconds)
10:54:03 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Quit: _)
10:54:04 × chexum quits (~chexum@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
10:54:16 chexum joins (~chexum@gateway/tor-sasl/chexum)
10:54:18 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
10:55:27 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 265 seconds)
10:58:14 × fabfianda quits (~fabfianda@mob-5-90-249-105.net.vodafone.it) (Ping timeout: 258 seconds)
10:58:59 fabfianda joins (~fabfianda@net-109-116-251-109.cust.vodafonedsl.it)
11:00:15 × Cajun quits (~Cajun@ip98-163-211-112.no.no.cox.net) (Quit: Client closed)
11:03:02 × nilof quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 252 seconds)
11:05:20 × matsurago quits (~matsurago@nttkyo1710068.tkyo.nt.ngn.ppp.infoweb.ne.jp) (Quit: Leaving)
11:07:06 dhil joins (~dhil@195.213.192.47)
11:08:42 × xff0x quits (~xff0x@2001:1a81:5381:2000:b608:3aa5:8037:f5c5) (Ping timeout: 264 seconds)
11:09:03 xff0x joins (~xff0x@2001:1a81:5381:2000:e1b5:6bc2:be6a:4590)
11:09:11 synthmeat joins (~synthmeat@user/synthmeat)
11:09:54 ddellacosta joins (~ddellacos@86.106.121.100)
11:10:12 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
11:10:19 hegstal joins (~hegstal@2a02:c7f:7604:8a00:3573:4e54:4d99:437f)
11:14:24 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 252 seconds)
11:15:22 favonia joins (~favonia@user/favonia)
11:16:47 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:18:31 × sm2n quits (~sm2n@user/sm2n) (Quit: Leaving)
11:18:48 jakalx parts (~jakalx@base.jakalx.net) ()
11:19:44 jakalx joins (~jakalx@base.jakalx.net)
11:20:31 sm2n joins (~sm2n@user/sm2n)
11:24:04 × yd502_ quits (~yd502@114.85.148.68) (Read error: Connection reset by peer)
11:26:12 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
11:28:54 × teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection)
11:29:15 × involans quits (~alex@cpc92718-cmbg20-2-0-cust157.5-4.cable.virginm.net) (Ping timeout: 265 seconds)
11:30:44 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:1543:9aaf:78fa:158) (Remote host closed the connection)
11:30:44 × azeem quits (~azeem@dynamic-adsl-94-34-49-60.clienti.tiscali.it) (Read error: Connection reset by peer)
11:30:46 wootehfoot joins (~wootehfoo@user/wootehfoot)
11:30:49 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 258 seconds)
11:31:15 yd502 joins (~yd502@2409:891e:360:303d:80ad:194d:bc8:8ab9)
11:31:30 azeem joins (~azeem@dynamic-adsl-94-34-49-60.clienti.tiscali.it)
11:34:06 teaSlurper joins (~chris@81.96.113.213)
11:38:26 × teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 265 seconds)
11:41:28 __monty__ joins (~toonn@user/toonn)
11:41:30 nilof joins (~olofs@90-227-86-119-no542.tbcn.telia.com)
11:45:51 ddellacosta joins (~ddellacos@86.106.121.100)
11:51:02 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
12:02:15 zebrag joins (~chris@user/zebrag)
12:06:28 Ariakenom joins (~Ariakenom@2001:9b1:efb:fc00:28e5:866c:bfd1:85d2)
12:07:32 flipchan joins (~yumman@user/flipchan)
12:10:39 pbrisbin joins (~patrick@pool-72-92-38-164.phlapa.fios.verizon.net)
12:12:25 altern joins (~altern@altern.corbina.com.ua)
12:15:37 × nilof quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Read error: Connection reset by peer)
12:15:54 nilof joins (~olofs@90-227-86-119-no542.tbcn.telia.com)
12:21:27 × laguneucl quits (~Pitsikoko@2a02:587:dc0b:ff00:91aa:a5de:def3:b2bc) (Ping timeout: 265 seconds)
12:24:50 × yd502 quits (~yd502@2409:891e:360:303d:80ad:194d:bc8:8ab9) (Ping timeout: 265 seconds)
12:30:49 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
12:31:21 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a)
12:36:03 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Ping timeout: 268 seconds)
12:37:04 teaSlurper joins (~chris@81.96.113.213)
12:41:01 <Axman6> qrpnxz: you should look at unison
12:41:26 × teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection)
12:41:26 <qrpnxz> what is it
12:43:41 mastarija joins (~mastarija@31.217.22.187)
12:44:01 koishi_ joins (~koishi_@67.209.186.120.16clouds.com)
12:44:27 <koishi_> is it possible to quantify over all type classes in an instance?
12:44:53 <koishi_> e.g. instance forall cls. cls (C cls)
12:45:06 teaSlurper joins (~chris@81.96.113.213)
12:47:05 <koishi_> I presume it's impossible due to the first order logic used in haskell 'class language', but google doesn't tell me anything about second-order class instances
12:48:04 <koishi_> so there doesn't exist any language that support this second-order thing, right?
12:49:31 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds)
12:51:10 × koishi_ quits (~koishi_@67.209.186.120.16clouds.com) (Remote host closed the connection)
12:51:25 × nilof quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 265 seconds)
12:51:41 × berberman quits (~berberman@user/berberman) (Ping timeout: 244 seconds)
12:52:51 berberman joins (~berberman@user/berberman)
12:53:03 koishi_ joins (~koishi_@67.209.186.120.16clouds.com)
12:56:59 × koishi_ quits (~koishi_@67.209.186.120.16clouds.com) (Remote host closed the connection)
12:58:59 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
13:01:13 alx741 joins (~alx741@181.196.68.241)
13:02:52 × Alex_test quits (~al_test@178.34.160.156) (Quit: ;-)
13:03:10 × AlexZenon quits (~alex@178.34.160.156) (Quit: ;-)
13:03:16 × AlexNoo quits (~AlexNoo@178.34.160.156) (Quit: Leaving)
13:06:37 jumper149 joins (~jumper149@80.240.31.34)
13:07:02 × pbrisbin quits (~patrick@pool-72-92-38-164.phlapa.fios.verizon.net) (Ping timeout: 258 seconds)
13:07:31 Guest9 joins (~Guest9@103.240.170.121)
13:09:20 × mastarija quits (~mastarija@31.217.22.187) (Ping timeout: 265 seconds)
13:13:39 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 265 seconds)
13:19:09 ddellacosta joins (~ddellacos@86.106.121.100)
13:19:18 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
13:21:06 AlexZenon joins (~alzenon@178.34.160.156)
13:23:50 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds)
13:24:46 mastarija joins (~mastarija@31.217.22.187)
13:29:06 nilof joins (~olofs@90-227-86-119-no542.tbcn.telia.com)
13:29:42 × abraham quits (~abraham@191.96.120.28) (Ping timeout: 252 seconds)
13:29:50 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
13:31:04 × neceve quits (~quassel@2a02:c7f:607e:d600:a95a:ecd2:e57a:3130) (Remote host closed the connection)
13:31:21 × favonia quits (~favonia@user/favonia) (Quit: Leaving)
13:34:18 Alex_test joins (~al_test@178.34.160.156)
13:35:09 × Guest9 quits (~Guest9@103.240.170.121) (Quit: Connection closed)
13:37:06 Guest9 joins (~Guest9@103.240.170.121)
13:37:19 × mastarija quits (~mastarija@31.217.22.187) (Ping timeout: 258 seconds)
13:40:13 fef joins (~thedawn@user/thedawn)
13:42:41 AlexNoo joins (~AlexNoo@178.34.160.156)
13:43:36 <sclv> ah drat they left or i would have pointed em to constraint kinds
13:46:32 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
13:47:22 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
13:52:39 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection)
13:54:30 ddellacosta joins (~ddellacos@86.106.121.100)
13:59:07 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds)
13:59:24 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
14:00:48 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
14:03:26 Guest53 joins (~Guest53@82.40.121.143)
14:03:29 × Guest53 quits (~Guest53@82.40.121.143) (Client Quit)
14:03:46 × benin0369 quits (~benin@183.82.205.58) (Ping timeout: 258 seconds)
14:04:41 MemorableNewt joins (~Memorable@82.40.121.143)
14:08:56 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:1960:9d14:60f8:23cf) (Remote host closed the connection)
14:09:23 <MemorableNewt> I want to create an AST with multiple constructors, including some recursive, e.g. `data T = A | B T | C T T`, but I want to exclude certain patterns, e.g. in `C x y` I want to forbid `x == A` and `y == A`. Are there any general techniques for doing this concisely?
14:11:43 fendor_ joins (~fendor@178.115.131.43.wireless.dyn.drei.com)
14:12:23 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection)
14:13:24 <MemorableNewt> If I only want to exclude the left argument of a `C` from being `A`, for example, then I could do it by attaching an extra kind parameter, e.g. `data T b where A :: T False; B :: T True -> T b; C :: T False -> T True -> T b`. But I don't see any way of generalising this.
14:14:07 × fendor quits (~fendor@77.119.128.145.wireless.dyn.drei.com) (Ping timeout: 258 seconds)
14:14:23 fendor_ is now known as fendor
14:14:33 × Guest9 quits (~Guest9@103.240.170.121) (Ping timeout: 265 seconds)
14:15:23 <MemorableNewt> (correction: `A :: T False` should be `A :: T True` above)
14:17:21 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
14:18:02 Hanicef joins (~gustaf@81-229-9-108-no92.tbcn.telia.com)
14:19:22 AgentM joins (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net)
14:21:21 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
14:23:28 mastarija joins (~mastarija@31.217.22.187)
14:25:22 brence joins (~brence@2a01:4b00:895f:3d00:ddd:ae00:86d4:d79c)
14:28:53 ddellacosta joins (~ddellacos@86.106.121.100)
14:31:03 × ddellacosta quits (~ddellacos@86.106.121.100) (Read error: Connection reset by peer)
14:32:06 chomwitt joins (~Pitsikoko@athedsl-351576.home.otenet.gr)
14:32:48 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a)
14:37:20 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Ping timeout: 252 seconds)
14:42:48 zeenk joins (~zeenk@82.76.113.130)
14:43:32 Bartosz joins (~textual@24.35.90.211)
14:43:35 <infinisil> MemorableNewt: I don't think it's generalizable without introducing an extra data type
14:43:35 × phma quits (~phma@host-67-44-209-29.hnremote.net) (Read error: Connection reset by peer)
14:44:51 safinaskar joins (~safinaska@213.87.153.145)
14:45:17 <safinaskar> hi
14:45:18 <infinisil> I'd do something like `data TKind = AKind | NonAKind`, then `data T (k :: TKind) where A :: T AKind; B :: T k -> T NonAKind; C :: T NonAKind -> T NonAKind -> T NonAKind`
14:46:03 × teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection)
14:46:05 safinaskar parts (~safinaska@213.87.153.145) ()
14:46:19 yd502 joins (~yd502@2409:891e:360:303d:a5f6:9167:5391:4ef)
14:47:26 × boxscape quits (~boxscape@user/boxscape) (Ping timeout: 252 seconds)
14:47:51 × hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 258 seconds)
14:49:10 <MemorableNewt> infinisil: That forbids `C A (B _)`, which I want to allow.
14:49:21 × fef quits (~thedawn@user/thedawn) (Remote host closed the connection)
14:49:22 slowButPresent joins (~slowButPr@user/slowbutpresent)
14:49:26 hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net)
14:49:30 fef joins (~thedawn@user/thedawn)
14:50:00 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Read error: Connection reset by peer)
14:50:44 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
14:50:53 teaSlurper joins (~chris@81.96.113.213)
14:51:19 <brence> Is it possible to sort even elements in a list using combinators from `lens`? Something like `over (partsOf each . filtered even) sort [1,6,1,4,1,10,1,8,1,2] == [1,2,1,4,1,6,1,8,1,10]`
14:52:54 phma joins (~phma@host-67-44-209-72.hnremote.net)
14:55:38 × teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 265 seconds)
14:57:33 teaSlurper joins (~chris@81.96.113.213)
15:03:30 × fabfianda quits (~fabfianda@net-109-116-251-109.cust.vodafonedsl.it) (Read error: Connection reset by peer)
15:04:12 ddellacosta joins (~ddellacos@86.106.121.100)
15:04:44 fabfianda joins (~fabfianda@mob-5-90-243-109.net.vodafone.it)
15:07:36 × sh9 quits (~sh9@softbank060116136158.bbtec.net) (Ping timeout: 252 seconds)
15:07:57 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:08:41 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds)
15:10:47 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
15:11:22 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Read error: Connection reset by peer)
15:15:55 × phma quits (~phma@host-67-44-209-72.hnremote.net) (Read error: Connection reset by peer)
15:18:22 × elf_fortrez quits (~elf_fortr@adsl-64-237-239-58.prtc.net) (Quit: Ping timeout (120 seconds))
15:18:39 × noddy quits (~user@user/noddy) (Quit: WeeChat 3.2)
15:18:54 × mastarija quits (~mastarija@31.217.22.187) (Quit: Leaving)
15:18:58 noddy joins (~user@user/noddy)
15:20:01 sh9 joins (~sh9@softbank060116136158.bbtec.net)
15:27:38 phma joins (phma@2001:5b0:210d:d028:dead:9920:575e:b71e)
15:28:24 × teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection)
15:31:01 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
15:31:21 machinedgod joins (~machinedg@24.105.81.50)
15:32:36 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a)
15:33:35 teaSlurper joins (~chris@81.96.113.213)
15:34:51 ph88 joins (~ph88@2a02:8109:9e00:7e5c:40b4:1c28:949f:857b)
15:38:12 × teaSlurper quits (~chris@81.96.113.213) (Ping timeout: 265 seconds)
15:39:25 × awth13 quits (~user@user/awth13) (Read error: Connection reset by peer)
15:39:28 × m4lvin quits (~m4lvin@w4eg.de) (Quit: m4lvin)
15:39:38 × noddy quits (~user@user/noddy) (Quit: WeeChat 3.2)
15:39:52 m4lvin joins (~m4lvin@w4eg.de)
15:40:05 koishi_ joins (~user@2001:da8:d800:540:f17c:6d96:fd2e:518e)
15:40:18 awth13 joins (~user@user/awth13)
15:42:20 reza[m] joins (~rezaphone@2001:470:69fc:105::3eda)
15:42:22 noddy joins (~user@user/noddy)
15:43:26 ddellacosta joins (~ddellacos@86.106.121.100)
15:44:39 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
15:46:23 <c_wraith> brence: you left #haskell-lens awfully quickly after asking that last night
15:46:49 boxscape joins (~boxscape@user/boxscape)
15:47:03 <c_wraith> brence: but yes, you're only off by a little bit - partsOf needs to take the whole traversal.
15:47:35 <c_wraith> > over (partsOf (each . filtered even)) sort [1,10,1,8,1,6,1,4,1,2]
15:47:37 <lambdabot> [1,2,1,4,1,6,1,8,1,10]
15:48:19 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds)
15:49:29 <brence> Apologies, it was very late at my place so I left and then got disconnected.
15:49:45 <c_wraith> ah, no worries. anyway. yep, you were close
15:51:16 <brence> c_wraith it makes sense now, thanks. I tried lots of stuff but can't believe how I missed this :)
15:51:28 <c_wraith> I know the feeling :)
15:58:35 Bartosz joins (~textual@24.35.90.211)
15:59:32 × Morrow quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 258 seconds)
16:00:19 vbeatrice[m] joins (~vbeatrice@2001:470:69fc:105::3ebf)
16:01:00 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3-dev)
16:01:55 sheepduck joins (~sheepduck@user/sheepduck)
16:03:11 teaSlurper joins (~chris@81.96.113.213)
16:06:26 × zeenk quits (~zeenk@82.76.113.130) (Ping timeout: 258 seconds)
16:07:10 jakalx parts (~jakalx@base.jakalx.net) ()
16:10:09 jakalx joins (~jakalx@base.jakalx.net)
16:14:31 ddellacosta joins (~ddellacos@86.106.121.100)
16:15:51 × Hanicef quits (~gustaf@81-229-9-108-no92.tbcn.telia.com) (Quit: leaving)
16:17:04 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Remote host closed the connection)
16:17:59 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:19:17 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds)
16:20:13 bontaq joins (~user@ool-18e47f8d.dyn.optonline.net)
16:23:56 koishi_` joins (~user@2001:da8:d800:540:197e:e353:1f23:6f4b)
16:25:01 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
16:26:30 × koishi_ quits (~user@2001:da8:d800:540:f17c:6d96:fd2e:518e) (Ping timeout: 265 seconds)
16:26:41 × wei2912 quits (~wei2912@112.199.250.21) (Quit: Lost terminal)
16:29:15 Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net)
16:29:15 × MQ-17J quits (~MQ-17J@8.6.144.186) (Read error: Connection reset by peer)
16:30:21 oldsk00l joins (~oldsk00l@ec2-18-130-254-135.eu-west-2.compute.amazonaws.com)
16:30:30 MQ-17J joins (~MQ-17J@8.6.144.186)
16:30:35 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
16:30:38 × oldsk00l quits (~oldsk00l@ec2-18-130-254-135.eu-west-2.compute.amazonaws.com) (Client Quit)
16:32:16 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:32:30 × chomwitt quits (~Pitsikoko@athedsl-351576.home.otenet.gr) (Remote host closed the connection)
16:35:09 zeenk joins (~zeenk@82.76.113.130)
16:35:25 chomwitt joins (~Pitsikoko@2a02:587:dc0b:ff00:465:cad0:3717:3b0)
16:40:52 × fef quits (~thedawn@user/thedawn) (Remote host closed the connection)
16:41:48 fef joins (~thedawn@user/thedawn)
16:43:04 econo joins (uid147250@user/econo)
16:44:28 oldsk00l joins (~znc@ec2-18-130-254-135.eu-west-2.compute.amazonaws.com)
16:47:48 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:49:06 × lbseale quits (~lbseale@user/ep1ctetus) (Ping timeout: 240 seconds)
16:49:54 Bartosz joins (~textual@24.35.90.211)
16:51:30 × chomwitt quits (~Pitsikoko@2a02:587:dc0b:ff00:465:cad0:3717:3b0) (Remote host closed the connection)
16:52:48 chomwitt joins (~Pitsikoko@2a02:587:dc0b:ff00:c813:70d9:31b2:b1b9)
16:54:30 jakalx parts (~jakalx@base.jakalx.net) ()
16:55:30 × yd502 quits (~yd502@2409:891e:360:303d:a5f6:9167:5391:4ef) (Ping timeout: 265 seconds)
17:01:50 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:40b4:1c28:949f:857b) (Ping timeout: 268 seconds)
17:06:15 × finsternis quits (~X@23.226.237.192) (Remote host closed the connection)
17:07:03 finsternis joins (~X@23.226.237.192)
17:07:57 ph88 joins (~ph88@2a02:8109:9e00:7e5c:741d:bb2a:8acc:1441)
17:08:33 × koishi_` quits (~user@2001:da8:d800:540:197e:e353:1f23:6f4b) (Ping timeout: 265 seconds)
17:11:29 × MQ-17J quits (~MQ-17J@8.6.144.186) (Ping timeout: 265 seconds)
17:12:15 MQ-17J joins (~MQ-17J@8.6.144.186)
17:12:24 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
17:12:46 koishi_` joins (~user@222.195.87.238)
17:13:00 × juhp quits (~juhp@128.106.188.66) (Quit: juhp)
17:13:13 juhp joins (~juhp@128.106.188.66)
17:14:52 × alx741 quits (~alx741@181.196.68.241) (Ping timeout: 265 seconds)
17:14:55 ph88^ joins (~ph88@2a02:8109:9e00:7e5c:540c:fd24:cfe3:1d33)
17:17:29 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a)
17:17:46 × koishi_` quits (~user@222.195.87.238) (Ping timeout: 265 seconds)
17:18:13 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:741d:bb2a:8acc:1441) (Ping timeout: 265 seconds)
17:21:28 × brence quits (~brence@2a01:4b00:895f:3d00:ddd:ae00:86d4:d79c) (Ping timeout: 246 seconds)
17:22:05 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Ping timeout: 265 seconds)
17:26:55 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
17:28:03 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:28:41 Bartosz joins (~textual@24.35.90.211)
17:28:55 × otulp quits (~otulp@ti0187q162-2423.bb.online.no) (Ping timeout: 272 seconds)
17:33:04 × Bartosz quits (~textual@24.35.90.211) (Ping timeout: 258 seconds)
17:33:50 otulp joins (~otulp@ti0187q162-2423.bb.online.no)
17:34:11 koishi_` joins (~user@222.195.87.238)
17:36:25 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
17:38:40 × azeem quits (~azeem@dynamic-adsl-94-34-49-60.clienti.tiscali.it) (Ping timeout: 252 seconds)
17:38:55 pbrisbin joins (~patrick@pool-72-92-38-164.phlapa.fios.verizon.net)
17:40:11 azeem joins (~azeem@176.200.214.172)
17:46:15 × koishi_` quits (~user@222.195.87.238) (Ping timeout: 265 seconds)
17:46:52 × azeem quits (~azeem@176.200.214.172) (Ping timeout: 258 seconds)
17:50:22 azeem joins (~azeem@176.200.214.172)
17:50:52 × azeem quits (~azeem@176.200.214.172) (Read error: Connection reset by peer)
17:51:02 <dminuoso> Im beginning to wonder, are there other emacs users with haskell-mode that use terminal frames?
17:52:17 azeem joins (~azeem@dynamic-adsl-94-34-49-60.clienti.tiscali.it)
17:54:36 elf_fortrez joins (~elf_fortr@adsl-64-237-239-58.prtc.net)
17:55:14 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:56:14 jakalx joins (~jakalx@base.jakalx.net)
17:57:23 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:02:35 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
18:03:20 beka joins (~beka@104.193.170-244.PUBLIC.monkeybrains.net)
18:03:21 × pbrisbin quits (~patrick@pool-72-92-38-164.phlapa.fios.verizon.net) (Ping timeout: 258 seconds)
18:05:38 koishi_` joins (~user@222.195.87.238)
18:09:03 ddellacosta joins (~ddellacos@86.106.121.100)
18:09:28 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
18:10:56 × koishi_` quits (~user@222.195.87.238) (Ping timeout: 265 seconds)
18:10:58 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
18:12:05 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Remote host closed the connection)
18:12:23 × ph88^ quits (~ph88@2a02:8109:9e00:7e5c:540c:fd24:cfe3:1d33) (Ping timeout: 252 seconds)
18:12:40 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
18:13:50 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds)
18:16:29 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
18:17:13 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Ping timeout: 265 seconds)
18:18:51 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a)
18:23:28 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Ping timeout: 265 seconds)
18:25:16 × awth13 quits (~user@user/awth13) (Remote host closed the connection)
18:26:33 kayprish joins (~kayprish@46.240.143.86)
18:27:47 jasonu joins (~jasonu@166.70.242.157)
18:27:55 × kayprish quits (~kayprish@46.240.143.86) (Client Quit)
18:28:06 kayprish joins (~kayprish@46.240.143.86)
18:30:41 × guest61 quits (~xxx@47.245.54.240) (Remote host closed the connection)
18:31:48 guest61 joins (~xxx@47.245.54.240)
18:33:54 Guest9 joins (~Guest9@43.250.157.119)
18:36:10 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
18:37:51 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:40:52 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Ping timeout: 265 seconds)
18:41:41 × guest61 quits (~xxx@47.245.54.240) (Remote host closed the connection)
18:41:58 × elf_fortrez quits (~elf_fortr@adsl-64-237-239-58.prtc.net) (Ping timeout: 246 seconds)
18:42:35 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Remote host closed the connection)
18:42:48 guest61 joins (~xxx@47.245.54.240)
18:43:17 ddellacosta joins (~ddellacos@86.106.121.100)
18:43:33 × hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1)
18:43:49 hendursaga joins (~weechat@user/hendursaga)
18:44:01 × fef quits (~thedawn@user/thedawn) (Ping timeout: 244 seconds)
18:44:34 × hololeap quits (hololeap@user/hololeap) (Ping timeout: 244 seconds)
18:45:45 × teaSlurper quits (~chris@81.96.113.213) (Remote host closed the connection)
18:47:46 teaSlurper joins (~chris@81.96.113.213)
18:48:53 jneira_ joins (~jneira_@131.red-79-155-1.dynamicip.rima-tde.net)
18:49:14 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
18:51:08 saolof joins (~olofs@90-227-86-119-no542.tbcn.telia.com)
18:53:15 elf_fortrez joins (~elf_fortr@adsl-64-237-239-58.prtc.net)
18:54:07 × nurupo quits (~nurupo.ga@user/nurupo) (Quit: nurupo.ga)
18:54:38 nurupo joins (~nurupo.ga@user/nurupo)
18:54:53 × nilof quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 265 seconds)
18:56:23 ddellaco_ joins (~ddellacos@86.106.121.100)
18:59:01 brence joins (~brence@2a01:4b00:895f:3d00:3d61:e4ff:2003:3c7)
18:59:39 pavonia joins (~user@user/siracusa)
18:59:45 × ddellacosta quits (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds)
18:59:50 koishi_` joins (~user@222.195.87.238)
19:00:07 × brence quits (~brence@2a01:4b00:895f:3d00:3d61:e4ff:2003:3c7) (Client Quit)
19:01:01 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
19:03:08 × ddellaco_ quits (~ddellacos@86.106.121.100) (Ping timeout: 265 seconds)
19:03:08 × hendursaga quits (~weechat@user/hendursaga) (Remote host closed the connection)
19:03:36 hendursaga joins (~weechat@user/hendursaga)
19:04:41 × koishi_` quits (~user@222.195.87.238) (Ping timeout: 258 seconds)
19:06:16 mc47 joins (~mc47@xmonad/TheMC47)
19:06:32 koishi_` joins (~user@222.195.87.238)
19:07:22 × yoctocell quits (~user@h87-96-130-155.cust.a3fiber.se) (Ping timeout: 258 seconds)
19:08:25 × Morrow quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 265 seconds)
19:08:29 Sgeo joins (~Sgeo@user/sgeo)
19:10:11 bilegeek joins (~bilegeek@2600:1008:b017:63a6:c26d:d119:faaa:a6d7)
19:11:48 × koishi_` quits (~user@222.195.87.238) (Ping timeout: 265 seconds)
19:13:15 aveltras[m] joins (~aveltrasm@2001:470:69fc:105::3ef9)
19:18:18 × blankhart quits (~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net) (Ping timeout: 252 seconds)
19:19:33 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
19:19:58 pera joins (~pera@user/pera)
19:21:01 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Ping timeout: 265 seconds)
19:21:35 × elf_fortrez quits (~elf_fortr@adsl-64-237-239-58.prtc.net) (Quit: Client closed)
19:21:49 tremon joins (~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl)
19:22:09 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
19:22:26 slowButPresent joins (~slowButPr@user/slowbutpresent)
19:23:28 × Guest9 quits (~Guest9@43.250.157.119) (Quit: Connection closed)
19:26:55 × jasonu quits (~jasonu@166.70.242.157) (Quit: Ping timeout (120 seconds))
19:27:26 <sm[m]> dminuoso: why yes.. I use emacs in terminal mode, and have occasionally tried frames. I always found them unreliable in that setting - forgot the details, they would sometimes switch unexpectedly or something
19:27:42 × statusfailed quits (~statusfai@statusfailed.com) (Quit: leaving)
19:27:56 statusfailed joins (~statusfai@statusfailed.com)
19:28:47 jackhill joins (~jackhill@kalessin.dragonsnail.net)
19:28:51 × MemorableNewt quits (~Memorable@82.40.121.143) (Quit: Client closed)
19:29:24 × qbt quits (~edun@user/edun) (Ping timeout: 252 seconds)
19:29:59 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
19:30:45 Cajun joins (~Cajun@ip98-163-211-112.no.no.cox.net)
19:31:46 <Cajun> tomsmeding: thanks! yeah that fixed it; now i know not to use `cabal install --lib` to avoid the issue
19:32:49 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
19:34:38 <qrpnxz> does ghc or some other tool have something that will create a function based on the type signature? ik that sounds kind of crazy, but it seems like it could be a thing and actually give you useful results
19:35:00 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
19:35:20 <tomsmeding> Cajun: Cool! Thanks, now I also now (albeit second-hand) that install --lib is fraught :p
19:36:08 <tomsmeding> @djinn (((a -> t) -> t) -> t) -> a -> t
19:36:09 <lambdabot> f a b = a (\ c -> c b)
19:36:17 <tomsmeding> qrpnxz: this for example :p
19:36:32 <tomsmeding> but it only works for fully parametric functions, sortof
19:36:36 <qrpnxz> :o
19:36:55 <tomsmeding> like, it isn't going to suggest Data.List.sort
19:37:05 <geekosaur> there's also exference
19:37:15 <qrpnxz> wow thanks
19:37:32 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
19:37:32 <geekosaur> which can handle things like recursive types, at the price of sometimes timing out
19:40:14 <boxscape> qrpnxz Sandy Maguire just today gave a talk about that! What he's been working on looks really neat and is publicly available https://youtu.be/S0HvfXq3454
19:40:30 <qrpnxz> :o thanks!
19:44:31 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:44:34 × sheepduck quits (~sheepduck@user/sheepduck) (Remote host closed the connection)
19:44:59 sheepduck joins (~sheepduck@user/sheepduck)
19:45:04 × sheepduck quits (~sheepduck@user/sheepduck) (Remote host closed the connection)
19:45:26 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
19:45:39 × chexum quits (~chexum@gateway/tor-sasl/chexum) (Remote host closed the connection)
19:46:07 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 265 seconds)
19:50:30 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 265 seconds)
19:50:44 <dminuoso> sm[m]: Do you also use haskell-mode?
19:54:36 koishi_` joins (~user@222.195.87.238)
19:56:02 boxscape is now known as boxscape_
19:56:18 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 265 seconds)
19:57:19 <dminuoso> sm[m]: Two questions I have for you. What is your gc-cons-threshold set at?
19:57:29 Pickchea joins (~private@user/pickchea)
19:59:41 × koishi_` quits (~user@222.195.87.238) (Ping timeout: 265 seconds)
20:01:08 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
20:01:38 <boxscape_> > let x = 4 in (+) 5x
20:01:40 <lambdabot> 9
20:01:48 <boxscape_> I don't think I ever noticed you don't need a space between 5 and x there
20:02:07 × tomsmeding quits (~tomsmedin@tomsmeding.com) (Quit: ZNC 1.8.2 - https://znc.in)
20:02:28 <monochrom> Interesting!
20:02:37 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
20:03:53 <monochrom> > map id"abc"
20:03:54 <lambdabot> "abc"
20:03:56 <sm[m]> dminuoso: yes but not heavily.. it's active when I load a haskell file in emacs. (I also use VS code for haskell editing). My gc-cons-threshold is 800000 which I assume is default.
20:04:02 <monochrom> I only thought of that one.
20:04:09 chexum joins (~chexum@gateway/tor-sasl/chexum)
20:04:30 <dminuoso> sm[m]: Ah, then you wouldn't notice the problem I guess.
20:04:43 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
20:05:00 tomsmeding joins (~tomsmedin@tomsmeding.com)
20:05:29 × juhp quits (~juhp@128.106.188.66) (Ping timeout: 265 seconds)
20:07:56 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
20:08:06 juhp joins (~juhp@128.106.188.66)
20:09:31 <pavonia> > let x = 4 in (+) 0x
20:09:33 <lambdabot> 4
20:09:45 <pavonia> Okay, this is surprising
20:10:02 <geekosaur> doesn't seem surprising to me
20:10:07 boxscape joins (~boxscape@user/boxscape)
20:10:18 <pavonia> Why not?
20:10:18 <geekosaur> x is not a macro, it lexes as an identifier
20:10:43 <pavonia> What do you mean by macro?
20:11:01 <pavonia> > let xF = 4 in (+) 0xF
20:11:02 <lambdabot> <Integer -> Integer>
20:11:06 <geekosaur> or are you thinking of hex syntax? I think that requires following digits
20:11:19 <pavonia> Yeah
20:11:30 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
20:11:31 <dminuoso> I guess the lexer in GHC would disambiguate already.
20:14:17 machinedgod joins (~machinedg@24.105.81.50)
20:20:01 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a)
20:21:11 koishi_` joins (~user@222.195.87.238)
20:21:46 <boxscape_> > let xdeadbeef = 4 in (+) 0xdeadbeef
20:21:47 <boxscape_> > let xdeadbeer = 4 in (+) 0xdeadbeer
20:21:47 <lambdabot> <Integer -> Integer>
20:21:48 <lambdabot> 233495534 + r
20:21:59 <boxscape_> pretty intuitive, I'd say
20:22:38 <tomsmeding> spaces are already meaningful in haskell
20:22:51 <tomsmeding> okay remove "already"
20:24:04 <boxscape_> tomsmeding but usually renaming a variable doesn't change the type of a program ;)
20:24:12 <tomsmeding> this not needing spaces between a number and an identifier is common knowledge on https://codegolf.stackexchange.com ; it applies to a number of languages :p
20:24:21 <boxscape_> ah, interesting
20:24:27 <geekosaur> yeh
20:24:54 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Ping timeout: 264 seconds)
20:25:52 × boxscape_ quits (~boxscape@user/boxscape) (Quit: boxscape_)
20:33:14 ikex1 joins (ash@user/ikex)
20:33:31 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
20:33:50 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
20:35:23 × ikex quits (ash@user/ikex) (Ping timeout: 252 seconds)
20:35:23 ikex1 is now known as ikex
20:40:22 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
20:49:21 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
20:50:03 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
20:50:10 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
20:50:25 geekosaur joins (~geekosaur@xmonad/geekosaur)
20:53:16 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
20:54:20 geekosaur joins (~geekosaur@xmonad/geekosaur)
20:57:21 × nerdypepper quits (~nerdypepp@user/nerdypepper) (Quit: bye)
20:57:37 nerdypepper joins (~nerdypepp@user/nerdypepper)
20:58:53 moet joins (~moet@172.58.38.245)
20:59:08 × koishi_` quits (~user@222.195.87.238) (Ping timeout: 265 seconds)
20:59:31 boxscape_ joins (~boxscape_@p4ff0b158.dip0.t-ipconnect.de)
20:59:46 × boxscape_ quits (~boxscape_@p4ff0b158.dip0.t-ipconnect.de) (Changing host)
20:59:46 boxscape_ joins (~boxscape_@user/boxscape)
21:00:05 fvr joins (uid503686@id-503686.highgate.irccloud.com)
21:03:23 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:05:22 × boxscape_ quits (~boxscape_@user/boxscape) (Quit: Connection closed)
21:05:57 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
21:13:40 × jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.1)
21:17:24 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
21:19:01 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
21:20:54 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
21:22:38 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
21:24:26 cesar- joins (~cesar@2600:1700:9490:79f0::45)
21:28:39 × AgentM quits (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.)
21:30:56 × cesar- quits (~cesar@2600:1700:9490:79f0::45) (Remote host closed the connection)
21:32:46 × tremon quits (~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
21:33:21 ph88 joins (~ph88@2a02:8109:9e00:7e5c:7c55:3c65:74e1:3dc5)
21:35:37 deshalb_1 joins (~deshalb@user/deshalb)
21:37:17 deshalb joins (~deshalb@user/deshalb)
21:39:50 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:40:35 × bilegeek quits (~bilegeek@2600:1008:b017:63a6:c26d:d119:faaa:a6d7) (Quit: Leaving)
21:40:48 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
21:40:49 deshalb_ joins (~deshalb@user/deshalb)
21:41:28 × deshalb_1 quits (~deshalb@user/deshalb) (Ping timeout: 258 seconds)
21:42:19 × deshalb_ quits (~deshalb@user/deshalb) (Remote host closed the connection)
21:42:19 × deshalb quits (~deshalb@user/deshalb) (Read error: Connection reset by peer)
21:43:11 Guest48 joins (~Guest48@185.219.177.243)
21:43:34 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 265 seconds)
21:44:06 × Guest48 quits (~Guest48@185.219.177.243) (Client Quit)
21:48:23 <qrpnxz> oh, is ((,) w) the writer monad? Having trouble finding what it is, all ik is that the "reader" monad is ((->) r)
21:49:06 <geekosaur> yes
21:50:24 <qrpnxz> there is a lot of references to reader and writer monads, but idk where they originated. No where in the `base` docs are these mentioned for example
21:51:44 <geekosaur> mtl and transformers
21:52:00 <qrpnxz> 🤨️
21:52:56 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a)
21:57:44 <qrpnxz> i guess these packages are used a lot?
21:58:56 moet_ joins (~moet@172.58.27.142)
21:59:27 <geekosaur> yes
22:00:05 <geekosaur> there are some who prefer not to use mtl but they still use transformers, with different packages over it (generally effect systems)
22:00:16 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
22:01:32 <qrpnxz> oh monad transformers, i heard these are some big deal monad composer thing or something idk xD
22:02:27 × moet quits (~moet@172.58.38.245) (Ping timeout: 265 seconds)
22:02:30 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
22:03:29 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:04:29 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Client Quit)
22:04:38 × unyu quits (~pyon@user/pyon) (Quit: WeeChat 3.2)
22:09:25 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
22:11:09 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:11:14 jasonu joins (~jasonu@166.70.242.157)
22:12:27 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:14:03 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Ping timeout: 265 seconds)
22:17:19 bilegeek joins (~bilegeek@2600:1008:b017:63a6:c26d:d119:faaa:a6d7)
22:20:38 × jasonu quits (~jasonu@166.70.242.157) (Quit: Ping timeout (120 seconds))
22:20:39 × wolfshappen_ quits (~waff@irc.furworks.de) (Ping timeout: 268 seconds)
22:21:07 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection)
22:21:57 _73 joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net)
22:23:56 × pera quits (~pera@user/pera) (Quit: leaving)
22:30:17 <remexre> is https://en.wikipedia.org/wiki/Monad_(functional_programming)#Free_monads just wrong?
22:30:39 <remexre> I'm having trouble interpreting the syntax (what language is that...), but the use of F in Bind definitely seems ill-kinded
22:31:09 <remexre> and the definition of (>>=) is ill-typed per that definition
22:31:41 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
22:33:50 × fabfianda quits (~fabfianda@mob-5-90-243-109.net.vodafone.it) (Ping timeout: 265 seconds)
22:34:01 <dminuoso> remexre: The definition of >>= is indeed wrong, and the rest - I cant quite make it out.
22:34:34 fabfianda joins (~fabfianda@net-109-116-251-109.cust.vodafonedsl.it)
22:35:09 <remexre> TBH I'm just gonna rewrite it to be in Haskell then
22:35:13 Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net)
22:36:33 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a) (Remote host closed the connection)
22:37:42 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
22:38:47 <dibblego> remexre: https://gist.github.com/tonymorris/3f534e5ef92990c8c3618411aae07dea
22:39:14 <dminuoso> Gah. my ide-bios seems to constantly pick up on my ~/venv directory. :(
22:39:21 <dminuoso> It wants to watch all files
22:39:38 <dminuoso> I have a multi cradle set up with none for that and some other directories..
22:39:53 <remexre> dibblego: yeah, they don't do applicatives in the other examples, and use different names, so I'm doing it a bit differently, but yeah
22:47:32 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
22:47:35 <dminuoso> Ahh heh. This is lsp-mode, not haskell-language-server
22:48:51 × dhil quits (~dhil@195.213.192.47) (Ping timeout: 265 seconds)
22:57:45 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:945c:cf17:8af9:9d4a)
23:00:52 trent1 joins (~trent@2001:8003:340d:d00:b2de:b98:7a93:b0ea)
23:02:17 machinedgod joins (~machinedg@24.105.81.50)
23:07:31 × fendor quits (~fendor@178.115.131.43.wireless.dyn.drei.com) (Remote host closed the connection)
23:09:44 × fvr quits (uid503686@id-503686.highgate.irccloud.com) (Quit: Connection closed for inactivity)
23:11:09 alx741 joins (~alx741@181.196.68.152)
23:14:48 slack1256 joins (~slack1256@181.203.98.105)
23:15:00 × zeenk quits (~zeenk@82.76.113.130) (Quit: Konversation terminated!)
23:15:11 v01d4lph4 joins (~v01d4lph4@user/v01d4lph4)
23:16:20 nate1 joins (~nate@2601:1c0:4201:35b0:580e:3804:cf92:f841)
23:18:18 × moet_ quits (~moet@172.58.27.142) (Ping timeout: 265 seconds)
23:18:57 sh91 joins (~sh9@softbank060116136158.bbtec.net)
23:19:47 × v01d4lph4 quits (~v01d4lph4@user/v01d4lph4) (Ping timeout: 265 seconds)
23:19:47 moet joins (~moet@172.58.27.142)
23:20:59 × GIANTWORLDKEEPER quits (~pjetcetal@2.95.227.207) (Ping timeout: 244 seconds)
23:21:14 × sh9 quits (~sh9@softbank060116136158.bbtec.net) (Ping timeout: 265 seconds)
23:22:24 × kayprish quits (~kayprish@46.240.143.86) (Read error: Connection reset by peer)
23:30:54 wolfshappen joins (~waff@irc.furworks.de)
23:31:16 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
23:31:50 × nate1 quits (~nate@2601:1c0:4201:35b0:580e:3804:cf92:f841) (Ping timeout: 265 seconds)
23:35:53 sh91 is now known as sh9
23:37:49 × sh9 quits (~sh9@softbank060116136158.bbtec.net) (Quit: WeeChat 3.0.1)
23:39:28 mikail joins (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf)
23:40:05 × Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 265 seconds)
23:41:21 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
23:44:09 × wolfshappen quits (~waff@irc.furworks.de) (Quit: later)
23:44:29 wolfshappen joins (~waff@irc.furworks.de)
23:44:53 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 265 seconds)
23:45:51 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 265 seconds)
23:47:23 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
23:55:34 × Deide quits (~Deide@user/deide) (Quit: Seeee yaaaa)
23:55:35 × mikail quits (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf) (Quit: Leaving)
23:56:02 × moet quits (~moet@172.58.27.142) (Ping timeout: 265 seconds)
23:56:38 moet joins (~moet@172.58.27.142)
23:58:44 mikail joins (~mikail@2a02:c7f:bc9c:3100:ae93:93fc:603f:ceaf)

All times are in UTC on 2021-06-20.