Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→
Page 1 .. 9 10 11 12 13 14 15 16 17 18 19 .. 5022
502,152 events total
2020-09-17 04:32:21 <Axman6> you should have a ook at the PR I had on the text-utf8 repo for faster take/drop/indexing, it was roughly 100x faster than the streaming implementation and pretty much branchless
2020-09-17 04:32:28 <topos> ooo
2020-09-17 04:32:28 × Jeanne-Kamikaze quits (~Jeanne-Ka@107.152.99.41) (Ping timeout: 260 seconds)
2020-09-17 04:32:39 Jeanne-Kamikaze joins (~Jeanne-Ka@static-198-54-131-92.cust.tzulo.com)
2020-09-17 04:32:47 <Axman6> but I never finished it off and it was probably too unclear to be maintainable
2020-09-17 04:32:54 <topos> https://github.com/text-utf8/text-utf8/pull/11 this guy?
2020-09-17 04:33:05 <koz_> topos: What're the numbers on that one?
2020-09-17 04:33:28 <topos> koz_ which one?
2020-09-17 04:33:33 <koz_> base16
2020-09-17 04:33:43 <koz_> For the same bench as you did for base16-bytestring.
2020-09-17 04:33:54 <Axman6> topos: https://github.com/text-utf8/text-utf8/pull/1
2020-09-17 04:33:54 <topos> ah i implemented the same algorithm
2020-09-17 04:33:58 <topos> so roughly the same
2020-09-17 04:34:09 <topos> ooo
2020-09-17 04:34:15 sumo_r joins (0ec9fb69@14-201-251-105.tpgi.com.au)
2020-09-17 04:35:29 × GuerrillaMonkey quits (~Jeanne-Ka@107.152.99.41) (Ping timeout: 272 seconds)
2020-09-17 04:35:31 <koz_> Axman6: Is text-utf8 still a live project?
2020-09-17 04:35:41 <Axman6> I believe so...
2020-09-17 04:36:00 <topos> koz_ the only difference is that I provide a nicer general interface and more support for different types like Text, ShortText, and SHortByteString
2020-09-17 04:36:07 × mrte quits (~mrt@p4fcabee7.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2020-09-17 04:36:21 <siraben> Does MTL use strict or lazy state monad by default?
2020-09-17 04:36:33 <siraben> Is strict just better space usage wise than lazy?
2020-09-17 04:36:56 <topos> Axman6 this is cool stuff :)
2020-09-17 04:37:03 <Axman6> hasn't been touched in a while though, hvr would be the best one to answer whether it's live though
2020-09-17 04:37:31 <topos> siraben lazy state - https://github.com/haskell/mtl/blob/master/Control/Monad/State.hs
2020-09-17 04:37:33 <Axman6> siraben: I believe lazy is the default, but that should be easy to check in the source
2020-09-17 04:37:54 <siraben> Ah I see. When should I use strict/lazy state? I've been using lazy all along then.
2020-09-17 04:37:56 <koz_> I always specify Control.Monad.State.Strict just to be safe when I import.
2020-09-17 04:38:09 <Axman6> the differences between lazy and strict is... one is lazy and one is strict, they have different semantics and there are things you can do in the lazy one which you can't do in the strict one
2020-09-17 04:38:11 <koz_> (better be explicit, even if it's just for other folks reading)
2020-09-17 04:38:28 <topos> but remember, Strict is better in some ways, but remember that strict state is (confusingly) not strict in its setting, so you still need to `put $! <thing>` if you need it evaluated
2020-09-17 04:38:48 <topos> i munged sentences sorry
2020-09-17 04:39:56 × heatsink quits (~heatsink@2600:1700:bef1:5e10:99ca:18ad:4e5f:ffdf) (Remote host closed the connection)
2020-09-17 04:40:25 <siraben> I see.
2020-09-17 04:40:35 <siraben> And what's the difference between Control.Monad.Error and Control.Monad.Except?
2020-09-17 04:40:52 <sumo_r> Hi all, does anyone know what the ghcxxxx.exe file created in AppData\Local\Temp on windows by cabal repl are? M365 just flagged one of those (ghcbdbc.exe) as Wacatac malware and our admin pinged me for more details
2020-09-17 04:40:59 <topos> siraben error is deprecated, use except
2020-09-17 04:41:12 <topos> https://hackage.haskell.org/package/mtl-2.2.2/docs/Control-Monad-Error.html
2020-09-17 04:41:16 <topos> top of the haddocks
2020-09-17 04:42:05 <siraben> Right
2020-09-17 04:42:18 <siraben> I was surprised to see Error so high up: https://www.sciencedirect.com/science/article/pii/S0167642320301313
2020-09-17 04:42:21 <siraben> Must be legacy
2020-09-17 04:42:25 Sunblaze21 joins (~sanjay@116.72.71.64)
2020-09-17 04:43:05 <siraben> Most commonly used monads are (most to least order) State, Trans, Reader, Error, Writer, RWS, Identity, Cont, List, Except
2020-09-17 04:43:24 <topos> very interesting study thanks. I could actually use this info
2020-09-17 04:44:15 <siraben> Turns out not many people use alternative monad transformer libraries
2020-09-17 04:44:43 sumo_r9 joins (0ec9fb69@14-201-251-105.tpgi.com.au)
2020-09-17 04:45:25 <dolio> All the stuff that used Error before it was deprecated didn't just disappear from hackage.
2020-09-17 04:45:55 × sumo_r quits (0ec9fb69@14-201-251-105.tpgi.com.au) (Ping timeout: 245 seconds)
2020-09-17 04:46:00 × Jeanne-Kamikaze quits (~Jeanne-Ka@static-198-54-131-92.cust.tzulo.com) (Quit: Leaving)
2020-09-17 04:46:45 <siraben> When does it deprecated?
2020-09-17 04:46:49 <siraben> s/does/was
2020-09-17 04:48:12 <koz_> Also why?
2020-09-17 04:48:17 heatsink joins (~heatsink@2600:1700:bef1:5e10:99ca:18ad:4e5f:ffdf)
2020-09-17 04:49:12 × drbean quits (~drbean@TC210-63-209-98.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin1 - https://znc.in)
2020-09-17 04:50:18 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2020-09-17 04:50:20 <dolio> I'm not sure. But it probably hasn't been as long since it was deprecated as the (relevant) time before yet.
2020-09-17 04:50:25 × wavemode quits (~wavemode@097-070-075-143.res.spectrum.com) (Ping timeout: 240 seconds)
2020-09-17 04:51:41 <siraben> Why is continuation monad second least used?
2020-09-17 04:51:58 ransom joins (~c4264035@c-73-243-2-10.hsd1.co.comcast.net)
2020-09-17 04:52:01 <topos> presumably because you have to define an additional `Error` class instance in order to use your errors, which was spurious
2020-09-17 04:52:23 × asan quits (~yan4138@114.84.148.87) (Ping timeout: 258 seconds)
2020-09-17 04:52:48 <topos> siraben because continuations are hard to get right, and also have very specific use cases that don't often intersect with industry
2020-09-17 04:53:05 <siraben> Oops I should correct my list, the actual list is State, Reader, Trans, Error, Writer, Identity, RWS, Except, Cont, List
2020-09-17 04:53:05 kleisli_ joins (~kleisli@2600:1700:4640:c560:68bd:9d76:dbd8:24e7)
2020-09-17 04:53:11 <siraben> Figure 9b
2020-09-17 04:53:16 <siraben> topos: I see
2020-09-17 04:53:31 asan joins (~yan4138@124.78.128.72)
2020-09-17 04:53:38 <koz_> siraben: Cont is very powerful - it can implement all the others - but that's usually overkill.
2020-09-17 04:53:56 <siraben> Yeah, there's a great blog post on reimplementing other monads from Cont
2020-09-17 04:54:45 <dolio> It's kind of misleading to say Cont can implement the others.
2020-09-17 04:54:49 elliott_ joins (~elliott@pool-71-114-77-65.washdc.fios.verizon.net)
2020-09-17 04:54:56 <koz_> dolio: In what sense is it misleading?
2020-09-17 04:55:34 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-09-17 04:55:40 <dolio> Because the way you implement them uses different Cont monads depending on which ones you're embeding.
2020-09-17 04:56:46 <dolio> You choose a different `r`.
2020-09-17 04:56:47 <topos> callCC @Identity @a @⊥ what could go wrong
2020-09-17 04:58:08 × asan quits (~yan4138@124.78.128.72) (Ping timeout: 260 seconds)
2020-09-17 04:59:10 lucid_0x80 joins (~lucid_0x8@188.253.232.35)
2020-09-17 05:01:06 <davean> topos: It does exactly what it says it does, whats the problem?
2020-09-17 05:02:07 <topos> No problem here. Constructivists be damned
2020-09-17 05:03:02 × elliott_ quits (~elliott@pool-71-114-77-65.washdc.fios.verizon.net) (Quit: WeeChat 2.9)
2020-09-17 05:03:08 <davean> If you want to complain so much topos, make me a way to record all your issues.
2020-09-17 05:03:24 nan` joins (~nan`@unaffiliated/nan/x-5405850)
2020-09-17 05:03:26 <siraben> Should I be creating my own monads more? I usually just use an MTL monad and be done with it.
2020-09-17 05:03:30 elliott_ joins (~elliott@pool-71-114-77-65.washdc.fios.verizon.net)
2020-09-17 05:03:42 <siraben> Or some combination of MTL monads
2020-09-17 05:03:43 <davean> siraben: it varies. Generally you can make your own monad out of MTL's
2020-09-17 05:03:45 <topos> Who's complaining davean? I accept LEM as my lord and savior
2020-09-17 05:04:01 <siraben> GeneralizedNewtypeDeriving FTW
2020-09-17 05:04:03 <davean> siraben: Often making your own typeclass for them is whats really valuable.
2020-09-17 05:04:18 <davean> But not all important monads can be created via composing MTL
2020-09-17 05:04:24 <siraben> davean: any good examples on that?
2020-09-17 05:04:52 <siraben> That's one gap in the literature, books talk about monads and monad transformers but I haven't read material on modeling effects using custom monad typeclasses.
2020-09-17 05:05:00 <davean> siraben: PlanT in 'machines'
2020-09-17 05:05:08 × solonarv quits (~solonarv@astrasbourg-653-1-186-165.w90-13.abo.wanadoo.fr) (Ping timeout: 260 seconds)
2020-09-17 05:05:27 <davean> http://hackage.haskell.org/package/machines-0.7/docs/Data-Machine-Plan.html#t:Plan
2020-09-17 05:05:44 mmohammadi9812 joins (~mmohammad@5.116.223.123)
2020-09-17 05:05:46 <davean> I was doing on to thread parallelism through too today.
2020-09-17 05:06:01 <siraben> Huh, this looks exactly like ReqT from Oleg's work
←Prev  Next→
Page 1 .. 9 10 11 12 13 14 15 16 17 18 19 .. 5022

All times are in UTC.