Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,804,030 events total
2021-08-09 07:11:26 <tomsmeding> The environment is an HList then
2021-08-09 07:11:58 <Cajun> that sounds like a rabbit hole to go down
2021-08-09 07:12:24 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds)
2021-08-09 07:14:34 × sander quits (~sander@user/sander) (Ping timeout: 268 seconds)
2021-08-09 07:15:19 sander joins (~sander@user/sander)
2021-08-09 07:15:20 anandprabhu joins (~anandprab@94.202.243.198)
2021-08-09 07:16:18 × glguy quits (x@libera/staff/glguy) (Ping timeout: 612 seconds)
2021-08-09 07:16:34 kuribas joins (~user@ptr-25vy0i7woj1hwcs7nsl.18120a2.ip6.access.telenet.be)
2021-08-09 07:17:43 talismanick joins (~user@2601:644:8502:d700::8fb8)
2021-08-09 07:18:30 yoctocell joins (~user@h87-96-130-155.cust.a3fiber.se)
2021-08-09 07:19:57 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-08-09 07:20:43 gehmehgeh joins (~user@user/gehmehgeh)
2021-08-09 07:20:46 <tomsmeding> Cajun: https://paste.tomsmeding.com/gYPEH9iY
2021-08-09 07:21:05 <tomsmeding> note that this is _the_ tired overused example of GADTs
2021-08-09 07:21:41 <tomsmeding> and you can make the language much more complex thant STLC if you want :)
2021-08-09 07:21:56 <tomsmeding> https://github.com/AccelerateHS/accelerate/blob/master/src/Data/Array/Accelerate/AST.hs#L230
2021-08-09 07:25:10 <Cajun> thats awesome
2021-08-09 07:26:04 zyklotomic joins (~ethan@2604:a880:800:10::79f:8001)
2021-08-09 07:26:10 mastarija joins (~mastarija@78-3-210-70.adsl.net.t-com.hr)
2021-08-09 07:26:40 <Axman6> Once day, I'm going to make a library which combines Accelerate and Grenade and call it RPG, but I would have to understand both libraries much better than I currently do first XD
2021-08-09 07:26:40 × bairyn quits (~bairyn@mail.digitalkingdom.org) (Ping timeout: 258 seconds)
2021-08-09 07:26:44 <Axman6> One*
2021-08-09 07:27:05 × shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit)
2021-08-09 07:27:09 <zyklotomic> is there a way to add newtypes support to an IntMap?
2021-08-09 07:27:35 cfricke joins (~cfricke@user/cfricke)
2021-08-09 07:27:39 <zyklotomic> i am not sure whato call this, but say newtype Vertex = Vertex Int
2021-08-09 07:27:40 <tomsmeding> Axman6: I'm working on automatic differentiation for accelerate, so in the future that part might also be there :p
2021-08-09 07:27:53 <Axman6> tomsmeding: <3 :O
2021-08-09 07:28:00 <Axman6> please take my idea and run with it
2021-08-09 07:28:06 <tomsmeding> lol
2021-08-09 07:28:11 tomsmeding knows very little about DL
2021-08-09 07:28:42 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-08-09 07:28:45 <tomsmeding> zyklotomic: you can make a custom wrapper for an IntMap that can work with any type k such that 'Coerce k Int'
2021-08-09 07:28:48 <mastarija> How is Haskell IDE (or now language server) these days? Does it still require me to compile a version for each version of GHC I use?
2021-08-09 07:29:09 <Axman6> mastarija: no, you just ghcup to install it
2021-08-09 07:29:12 <tomsmeding> mastarija: yes, but ghcup does that for you
2021-08-09 07:29:23 <tomsmeding> or, well, ghcup has precompiled versions that you just download :p
2021-08-09 07:29:27 <mastarija> what about windows :D
2021-08-09 07:29:35 <tomsmeding> but a separate executable for each ghc version
2021-08-09 07:29:37 <Axman6> Just don't :P
2021-08-09 07:29:40 <mastarija> I've seen there's ghcup for it now
2021-08-09 07:29:44 <tomsmeding> doesn't ghcup run on windows?
2021-08-09 07:29:50 <Cajun> tomsmeding: what is automatic differentiation? that sounds really cool yet really complex lol
2021-08-09 07:29:51 <mastarija> Don't know
2021-08-09 07:30:16 <mastarija> I manually manage my GHCs, and I've been using ghcid and repl for my development so far
2021-08-09 07:30:20 <tomsmeding> Cajun: given a program that implements a function Double -> Double, produce a program that implements the numerical derivative of that function
2021-08-09 07:30:32 <tomsmeding> and then generalised to arrays/tuples of doubles on both sides
2021-08-09 07:30:46 <zyklotomic> tomsmeding: wait, what i think iwant, is to restrict the intmap to a specific newtype
2021-08-09 07:31:17 <zyklotomic> i think that is slightly different
2021-08-09 07:31:19 <tomsmeding> Cajun: the backpropagation algorithm for neural networks is a special case of applying AD on the forward computation function for the network
2021-08-09 07:31:34 <Cajun> mastarija: why not use WSL for haskell/programming?
2021-08-09 07:31:45 <Cajun> its pretty painless aside from the initial setup
2021-08-09 07:31:53 <Axman6> zyklotomic: newtype MyIntMap a = MyIntMap (IntMap a), and then things like insert become insert = coerce (IntMap.insert)
2021-08-09 07:32:25 × gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection)
2021-08-09 07:32:41 <mastarija> Cajun: I use it for certain things, but It's annoying to live within the subsystem and its file system
2021-08-09 07:32:49 <tomsmeding> where you can e.g. choose insert :: Vertex -> a -> MyIntMap a -> MyIntMap a
2021-08-09 07:32:58 <mastarija> If I use an OS I prefer to do stuff in it, not some VM
2021-08-09 07:32:59 <Cajun> tomsmeding: that doesnt sound easy :p , so its basically like getting `Num a -> a -> a` out of `Double -> Double` along with other derivations if im understanding you correctly?
2021-08-09 07:33:02 × leah2 quits (~leah@vuxu.org) (Quit: trotz alledem!)
2021-08-09 07:33:06 gehmehgeh joins (~user@user/gehmehgeh)
2021-08-09 07:33:14 leah2 joins (~leah@vuxu.org)
2021-08-09 07:34:09 <tomsmeding> Cajun: you can implement AD as a source-code transformation (e.g. what Tensorflow XLA does), or as a more runtime-oriented thing based on program instrumentation (e.g. what Tensorflow Eager and PyTorch do iirc)
2021-08-09 07:34:24 <tomsmeding> I can explain more if you wish, but perhaps move to #haskell-offtopic then :p
2021-08-09 07:34:24 <Cajun> mastarija: thats fair, the hassle is real when moving files from windows to WSL
2021-08-09 07:34:48 <mastarija> Cajun: + haskell works very well on windows, I have no complaints. Main reason I don't use language server is because it is tied to a specific GHC version
2021-08-09 07:35:01 <zyklotomic> Axman6, tomsmeding: thanks, i get it now, and that seems to be the EnumMap package
2021-08-09 07:35:01 <mastarija> ghcid doesn't really mind
2021-08-09 07:35:27 <tomsmeding> Axman6: ah Grenade seems to already implement AD
2021-08-09 07:35:36 <Cajun> tomsmeding: thats going way above my understanding of CS/DL so it would probably be like talking to a brick wall lol
2021-08-09 07:35:51 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-08-09 07:36:00 <tomsmeding> I have a nice simple example for it :)
2021-08-09 07:36:06 aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
2021-08-09 07:36:07 <tomsmeding> also it's not DL at all
2021-08-09 07:36:23 <tomsmeding> like, I previously said that I know almost nothing about DL, and yet I'm doing a PhD that relates to AD
2021-08-09 07:36:35 <Cajun> oh nice, then go ahead and send it in #haskell-offtopic :)
2021-08-09 07:40:21 oxide joins (~lambda@user/oxide)
2021-08-09 07:43:21 ByronJohnson joins (~bairyn@mail.digitalkingdom.org)
2021-08-09 07:48:18 × yoctocell quits (~user@h87-96-130-155.cust.a3fiber.se) (Ping timeout: 272 seconds)
2021-08-09 07:54:07 timCF joins (~timCF@200-149-20-81.sta.estpak.ee)
2021-08-09 07:55:02 curiousgay joins (~curiousga@77-120-186-48.kha.volia.net)
2021-08-09 07:55:13 <timCF> Hello! Is there any "standard" type in Haskell similar to `Either a b` but which represents 3 options, not just 2?
2021-08-09 07:56:04 <tomsmeding> Axman6: grenade looks pretty cool; from my brief look, I think writing an accelerate backend for that would involve extending the Layer class to have run functions that live within the Accelerate EDSL
2021-08-09 07:56:44 <Taneb> timCF: there's nothing like that in base and I don't think there's a commonly accepted alternative
2021-08-09 07:56:57 <timCF> Taneb: thanks!
2021-08-09 07:57:09 <Taneb> You could do Either (Either a b) c
2021-08-09 07:59:03 Katarushisu joins (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net)
2021-08-09 07:59:18 SquidDev0 is now known as SquidDev
2021-08-09 08:01:22 Shires joins (~Shires@user/shires)
2021-08-09 08:04:07 × mastarija quits (~mastarija@78-3-210-70.adsl.net.t-com.hr) (Quit: Leaving)
2021-08-09 08:06:02 hendursa1 joins (~weechat@user/hendursaga)
2021-08-09 08:07:41 <Akronymus> I personally would make a new type named something like OneOfThree which has 3 possible values.
2021-08-09 08:08:00 <Akronymus> Altough, I don't really know much if anything.
2021-08-09 08:08:36 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-08-09 08:09:37 × oxide quits (~lambda@user/oxide) (Ping timeout: 248 seconds)
2021-08-09 08:09:43 <tomsmeding> data France a b c = Blue a | White b | Red c
2021-08-09 08:15:05 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-08-09 08:17:37 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-08-09 08:17:39 allbery_b joins (~geekosaur@xmonad/geekosaur)
2021-08-09 08:17:42 allbery_b is now known as geekosaur
2021-08-09 08:18:02 hegstal joins (~hegstal@2a02:c7f:7604:8a00:54d9:a686:a64c:8cd9)

All times are in UTC.