Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→
Page 1 .. 423 424 425 426 427 428 429 430 431 432 433 .. 17997
1,799,680 events total
2021-06-13 01:58:26 iridescent joins (~iridescen@41337027.cst.lightpath.net)
2021-06-13 01:58:34 <iridescent> what does the line "class Randomizable spec f | spec -> f" mean?
2021-06-13 01:58:46 fizbin joins (~fizbin@2601:8a:4080:1280:d58e:2782:3061:3fa3)
2021-06-13 01:58:46 <iridescent> i'm not sure what the syntax here is
2021-06-13 01:59:13 <geekosaur> it's a class with a functional dependency saying that for any spec there can be only one f
2021-06-13 01:59:30 × nilof quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 252 seconds)
2021-06-13 02:00:00 × sander quits (~sander@user/sander) (Quit: So long! :))
2021-06-13 02:00:21 × jespada quits (~jespada@90.254.242.55) (Ping timeout: 264 seconds)
2021-06-13 02:00:33 <geekosaur> this helps with type resolution in the presence of multiparameter typeclasses
2021-06-13 02:01:06 sander joins (~sander@user/sander)
2021-06-13 02:01:26 jespada joins (~jespada@90.254.242.55)
2021-06-13 02:02:16 <iridescent> what do you mean by that second statement?
2021-06-13 02:03:19 × fizbin quits (~fizbin@2601:8a:4080:1280:d58e:2782:3061:3fa3) (Ping timeout: 268 seconds)
2021-06-13 02:03:42 <geekosaur> without the functional dependency, the typeclass could mean nearly anything and you would have to annotate all uses with their types. with the fundep ghc knows that if it knows spec, there's only one possible f instead of just about anything
2021-06-13 02:05:23 <geekosaur> https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/functional_dependencies.html
2021-06-13 02:07:02 × td_ quits (~td@94.134.91.54) (Ping timeout: 244 seconds)
2021-06-13 02:08:53 td_ joins (~td@94.134.91.38)
2021-06-13 02:09:24 × sh9 quits (~sh9@softbank060116136158.bbtec.net) (Quit: WeeChat 3.0.1)
2021-06-13 02:10:23 × waleee quits (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 272 seconds)
2021-06-13 02:11:22 × iridescent quits (~iridescen@41337027.cst.lightpath.net) (Ping timeout: 250 seconds)
2021-06-13 02:11:35 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
2021-06-13 02:13:05 phma_ joins (phma@2001:5b0:215d:8f48:bacd:d5e3:1440:7006)
2021-06-13 02:16:01 × GIANTWORLDKEEPER quits (~pjetcetal@2.95.204.25) (Ping timeout: 244 seconds)
2021-06-13 02:16:26 GIANTWORLDKEEPER joins (~pjetcetal@2.95.204.25)
2021-06-13 02:16:32 × phma quits (~phma@host-67-44-209-1.hnremote.net) (Ping timeout: 244 seconds)
2021-06-13 02:17:06 × geekosaur quits (~geekosaur@069-135-003-034.biz.spectrum.com) (Ping timeout: 252 seconds)
2021-06-13 02:18:27 phma_ is now known as phma
2021-06-13 02:19:27 qrpnxz parts (~qrpnxz@user/qrpnxz) (Disconnected: closed)
2021-06-13 02:20:11 curiousgay joins (~quassel@178.217.208.8)
2021-06-13 02:21:57 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2-rc1)
2021-06-13 02:25:41 qrpnxz joins (~qrpnxz@user/qrpnxz)
2021-06-13 02:25:56 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-13 02:29:26 <Cale> Henson: It's fantastic. It's actually way easier to learn than the usual piano keyboard layout, since you generally arrange it so that musical intervals and spatial intervals coincide.
2021-06-13 02:30:36 <Cale> and then you get to generalise to larger tuning systems in a natural way, but play them similarly regardless (provided they support whatever temperament is implied by your layout)
2021-06-13 02:32:38 <Cale> https://imgur.com/a/91xHTjS -- 31 equal divisions of the octave Wicki-Hayden schematic and on the keyboard :)
2021-06-13 02:33:22 <theproffesor> I love microtonal keyboards.. I think that one looks pretty sweet. Has there been any good updates software wise yet? I know that there is an ethernet port among other future planned upgrades
2021-06-13 02:33:28 <Cale> That type of layout, with perfect fifths on the / axis and perfect fourths on the \ axis so that whole tones go across is my favourite
2021-06-13 02:34:52 <Cale> There was one firmware update almost immediately after shipping with some hotfixes, but yeah, there should be a lot of potential cool stuff
2021-06-13 02:35:15 da39a3ee5e6b4b0d joins (~textual@2403:6200:8876:2955:f1c5:68ee:212f:e12f)
2021-06-13 02:35:17 × da39a3ee5e6b4b0d quits (~textual@2403:6200:8876:2955:f1c5:68ee:212f:e12f) (Client Quit)
2021-06-13 02:35:18 wei2912 joins (~wei2912@112.199.250.21)
2021-06-13 02:35:45 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 264 seconds)
2021-06-13 02:36:01 curiousgay_ joins (~quassel@178.217.208.8)
2021-06-13 02:36:10 × curiousgay_ quits (~quassel@178.217.208.8) (Client Quit)
2021-06-13 02:36:55 <qrpnxz> anything in particular that made the devs go from ghc 8 to 9? (got a changelog?)
2021-06-13 02:37:02 <Cale> I also have to try to convince them to open source the firmware... for the sake of convenience it would be really nice to have an MPE mode, which I'd write myself if I could (I ended up writing a Lua script for moony.lv2 to convert channel-per-octave into MPE, but it's not as good as building it in would be)
2021-06-13 02:37:15 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
2021-06-13 02:37:17 <Cale> qrpnxz: I guess LinearHaskell?
2021-06-13 02:37:31 <qrpnxz> what's that
2021-06-13 02:38:16 <Cale> It lets you restrict the number of times functions are allowed to use their arguments based on their type.
2021-06-13 02:38:41 smokey991 parts (sid369395@id-369395.brockwell.irccloud.com) ()
2021-06-13 02:39:03 <qrpnxz> so for example, does sum a = a + a use the argument twice?
2021-06-13 02:39:08 <Cale> yeah
2021-06-13 02:39:22 <qrpnxz> ohhhh, that's pretty nice, you can optimize a lot of it's only one use
2021-06-13 02:39:39 <Cale> Yeah, except that at least at present, it doesn't give you any additional optimisation.
2021-06-13 02:39:40 <qrpnxz> well, idk why you'd want it as part of the type
2021-06-13 02:40:00 <qrpnxz> alright thx i'll look more into it
2021-06-13 02:40:39 <Cale> I personally don't think it'll turn out to be very useful, and gives a fair amount of rope with which to hang yourself, but people are interested in the potential regardless.
2021-06-13 02:42:23 <Henson> Cale: cool, thanks for the info on the keyboard!
2021-06-13 02:42:27 <Cale> The most interesting example usages I've seen have all involved making various uses of unsafePerformIO safe, but they don't really buy you much more than the ST monad would.
2021-06-13 02:42:33 unyu joins (~pyon@user/pyon)
2021-06-13 02:44:02 <Cale> (but slightly more terse syntax usually, you get to avoid do notation I guess)
2021-06-13 02:44:49 da39a3ee5e6b4b0d joins (~textual@171.6.243.223)
2021-06-13 02:46:53 lavaman joins (~lavaman@98.38.249.169)
2021-06-13 02:47:25 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 245 seconds)
2021-06-13 02:49:30 × Henson quits (~kvirc@23-233-1-122.cpe.pppoe.ca) (Quit: goodnight)
2021-06-13 02:49:43 × zebrag quits (~chris@user/zebrag) (Remote host closed the connection)
2021-06-13 02:50:14 <qrpnxz> i'm reading an article on this (https://blog.acolyer.org/2018/01/24/linear-haskell-practical-linearity-in-a-higher-order-polymorphic-language/ for reference), and it feels a LOT like ownership tbh. Because when you use a value multiple times essentially you are making an implicit copy of that value, so these types are essentially restricting your ability to copy the value, which is indeed rather useful in
2021-06-13 02:50:14 <qrpnxz> determining who has to (or can) destruct,drop,close,free,unlock,mutate etc. that value.
2021-06-13 02:50:19 <qrpnxz> I wonder if haskell just had something like Rust's Copy and Clone traits that you'd be able to do basically the same thing in many cases idk.
2021-06-13 02:53:59 <Cale> Yeah, they kind of picked... not the substructural set of operations that I'd be most interested in. Personally, I'm quite interested in stuff like Conal's "constrained categories", which translate pretty-much-arbitrary Haskell expressions into operations involving a bunch of subclasses of Category, and just leaving out constraints for the subclasses that let you duplicate values (and/or discard them, etc.) would then
2021-06-13 02:53:59 <Cale> be a better way to express substructural stuff like linearity/affineness/etc.
2021-06-13 02:55:47 <Cale> I'm not even sure it would have been much more complicated than LinearHaskell to build something like that into GHC, and I feel like it would in any case have gotten much more bang for the buck.
2021-06-13 02:55:59 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 272 seconds)
2021-06-13 02:56:10 × hmmmas quits (~chenqisu1@183.217.200.246) (Quit: Leaving.)
2021-06-13 02:57:22 <Cale> There are not a lot of practical combinator libraries that are exactly linear, but there's a lot of stuff which is somewhere in that direction, but perhaps more constrained, or a bit less.
2021-06-13 02:59:02 hmmmas joins (~chenqisu1@183.217.200.246)
2021-06-13 02:59:39 <Cale> and the way they've rigged it up in LinearHaskell also kind of forces you into using unsafePerformIO to do anything really interesting, which is also kind of gross. They're trying too hard to overlap with the usual (->) type and that results in something which is less useful than you'd perhaps hope for.
2021-06-13 02:59:55 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-06-13 03:00:52 <Cale> (Usually I'd think you'd prefer to have a totally separate type from the type of ordinary Haskell functions, and just overload lambda to be able to produce values of your new type)
2021-06-13 03:01:44 × hiruji quits (~hiruji@2606:6080:1001:18:8d41:9604:d435:36b6) (Ping timeout: 252 seconds)
2021-06-13 03:02:08 <Cale> But we'll see, maybe someone will find some sort of killer app for LinearHaskell
2021-06-13 03:04:44 slowButPresent joins (~slowButPr@user/slowbutpresent)
2021-06-13 03:07:59 hiruji joins (~hiruji@2606:6080:1001:18:8d41:9604:d435:36b6)
2021-06-13 03:13:51 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
2021-06-13 03:14:09 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
2021-06-13 03:14:31 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Client Quit)
2021-06-13 03:14:45 <arahael> Given a date time, how do I format it given a particular format string and locale?
2021-06-13 03:14:55 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
2021-06-13 03:15:10 lavaman joins (~lavaman@98.38.249.169)
2021-06-13 03:15:16 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
2021-06-13 03:15:33 lavaman joins (~lavaman@98.38.249.169)
2021-06-13 03:15:40 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
2021-06-13 03:16:16 × ubikium quits (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Ping timeout: 244 seconds)
2021-06-13 03:17:01 ubikium joins (~ubikium@2400:2200:3f7:6d04:f545:ef78:6130:411e)
2021-06-13 03:17:54 <janus> arahael: did you see https://hackage.haskell.org/package/time-1.12/docs/Data-Time-Format-ISO8601.html ?
2021-06-13 03:19:05 <arahael> janus: That's mostly biased towards parsing, I think? I want to produce a human-friendly time, such as: "Saturday 12th June".
2021-06-13 03:21:28 sheepduck joins (~sheepduck@2607:fea8:2a61:4800::ea20)
2021-06-13 03:22:21 <arahael> I think what I need is something like formatCalendarTime in `old-time`, but that's a deprecated module.
2021-06-13 03:23:26 <janus> araheal well i think it shouldn't be hard to make the serialization, you can use e.g. https://hackage.haskell.org/package/time-1.12/docs/Data-Time-Calendar-OrdinalDate.html#v:mondayStartWeek

All times are in UTC.