Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2021-03-01 22:08:44 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2021-03-01 22:09:19 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 260 seconds)
2021-03-01 22:09:23 augnun joins (~augnun@2804:14c:658b:41bb:6357:d1d8:c301:8b07)
2021-03-01 22:09:37 <monochrom> I was not convinced of non-discreteness either. But I am OK with "the API looks continuous and doesn't let you prove it's discrete", it may make things simpler.
2021-03-01 22:09:39 <Cale> If you're particularly operationally minded, you can think of FRP Events as representing permission to do computation at the moments at which they occur, while Behaviors don't give you that permission, but can be observed at any moment in time.
2021-03-01 22:09:54 coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-03-01 22:10:27 <conal> python476: whenever you think programming notions have to reflect technology limitations, think of infinite data structures and continuous (resolution-independent) graphics. Also that we've been using finite alphabets and discrete inference rules to talk about continuous phenomena in math for hundreds of years.
2021-03-01 22:10:29 <Cale> Observing the value of a Behavior might in principle poll an external sensor
2021-03-01 22:11:27 <Cale> (though there must be some caching present, since if you use that value a second time in the same moment, it should have a single definite value at any moment in time)
2021-03-01 22:11:49 <monochrom> Hey the insistence of finite-proof-length actually is a contributing factor to all level of undecidability weirdness. I'm not sure it is a plus. :)
2021-03-01 22:13:13 <python476> conal: I get that we can think and model notion that lies outside the machines but in their realization i fail to understand how it would work
2021-03-01 22:13:55 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 240 seconds)
2021-03-01 22:14:11 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-01 22:15:33 jamm_ joins (~jamm@unaffiliated/jamm)
2021-03-01 22:16:27 <monochrom> But I can understand the carrying over of the reasoning from the benefits of infinite lists to the benefits of continuous-time functions.
2021-03-01 22:16:53 <monochrom> Let me start with the infinite list story, which is the "why FP matters" paper story.
2021-03-01 22:17:40 <monochrom> I am a list producer. But no one tells me when to stop, for decoupling sake. So I write code that pretends to keep producing to no end.
2021-03-01 22:17:55 × heatsink quits (~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8) (Remote host closed the connection)
2021-03-01 22:18:06 heatsink joins (~heatsink@2600:1700:bef1:5e10:7853:81e7:49e6:31d8)
2021-03-01 22:18:55 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-03-01 22:18:59 <monochrom> We all "know" that the consumer is going to consume a just finite prefix. But for decoupling stake my code is not told that. And we have an overarching mechanism that pipes my code to consumer code and ensures I don't work much harder than what the consumer ends up needing.
2021-03-01 22:19:32 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-03-01 22:20:10 <monochrom> So the way you carry over this style to FRP is this. I am coding up some time-varying thing. I am not told what times a consumer wants to poll me, so I write code that pretends it's continuous time.
2021-03-01 22:20:22 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
2021-03-01 22:20:38 × st8less quits (~st8less@2603:a060:11fd:0:f217:d85a:8fff:99be) (Quit: WeeChat 2.9)
2021-03-01 22:20:48 st8less joins (~st8less@2603:a060:11fd:0:f217:d85a:8fff:99be)
2021-03-01 22:21:06 × lambda-11235 quits (~lambda-11@2600:1700:7c70:4600:1c25:64cf:74a5:840b) (Max SendQ exceeded)
2021-03-01 22:21:26 <monochrom> At a meta-level we "know" that the consumer is going to poll at only finitely many points of time, even non-Zeno discrete ones. But for decoupling sake I am not told that. It sounds like it enables interesting decouplings.
2021-03-01 22:21:43 × Lowl3v3l quits (~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) (Remote host closed the connection)
2021-03-01 22:23:53 × ddellacosta quits (~ddellacos@86.106.143.123) (Remote host closed the connection)
2021-03-01 22:24:19 klf joins (~klf@67.216.62.0)
2021-03-01 22:24:26 ddellacosta joins (~ddellacos@86.106.143.123)
2021-03-01 22:24:39 <monochrom> And yeah the vector graphics argument too. If you work with continuous space and delay pixelation maximally, you can do very interesting compositional things.
2021-03-01 22:25:15 × cgadski_ quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
2021-03-01 22:26:01 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-03-01 22:26:04 <monochrom> Hell in fact you work like s/delay pixelation maximally/let someone else worry about pixelation/
2021-03-01 22:26:42 × dhouthoo quits (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0)
2021-03-01 22:27:36 × klf quits (~klf@67.216.62.0) (Client Quit)
2021-03-01 22:29:03 klf joins (~klf@67.216.62.0)
2021-03-01 22:29:36 × ddellacosta quits (~ddellacos@86.106.143.123) (Ping timeout: 240 seconds)
2021-03-01 22:29:40 DataComputist joins (~lumeng@50.43.26.251)
2021-03-01 22:30:32 <monochrom> What I have a little bit of reservation (but only a little) is that if you go with the space ℝ->Thing, you have a lot of uncomputable functions there. That space is full of junk.
2021-03-01 22:30:56 × darjeeling_ quits (~darjeelin@122.245.208.86) (Ping timeout: 240 seconds)
2021-03-01 22:31:22 <conal> True for infinite sequences as well.
2021-03-01 22:31:23 <monochrom> Fortunately, normally I'm happy to have junk in my space when it makes other things I care simpler.
2021-03-01 22:32:01 <minoru_shiraeesh> this discussion feels like "things went from 0 to 100 real fast" meme
2021-03-01 22:32:47 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-01 22:32:50 <monochrom> Sure. Why not.
2021-03-01 22:32:55 <minoru_shiraeesh> like a descrete jump from down-to-earth stuff to the heights of abstraction
2021-03-01 22:33:01 <conal> Or, isomorphically, Nat -> Bool.
2021-03-01 22:33:23 araujo joins (~textual@45.56.153.95)
2021-03-01 22:33:47 araujo is now known as Guest75841
2021-03-01 22:33:50 <minoru_shiraeesh> how do I apply this non-descreteness in practice when coding?
2021-03-01 22:34:00 <minoru_shiraeesh> and designing architectures
2021-03-01 22:34:07 <monochrom> Start with SVG, like I siad? >:)
2021-03-01 22:34:39 <minoru_shiraeesh> I mean, let's say we want to write a simple click counter
2021-03-01 22:34:42 <monochrom> Your 4K display is pixalated but when you write an SVG file you just don't care.
2021-03-01 22:35:00 <koz_> monochrom: A fun of junk in the trunk^Wspace.
2021-03-01 22:35:02 <minoru_shiraeesh> or a calculator with gui
2021-03-01 22:35:10 × Guest75841 quits (~textual@45.56.153.95) (Client Quit)
2021-03-01 22:35:21 <python476> for some reason I fail how to use the svg metaphor for time
2021-03-01 22:35:29 <minoru_shiraeesh> so, where is the non-descrete stuff in click counter or in gui calculator?
2021-03-01 22:36:00 <python476> and in the case of vector graphics, the idea is that discretization is a form of information loss
2021-03-01 22:36:12 <python476> so keeping the vector/svg abstraction as long as possible is best
2021-03-01 22:36:30 <python476> only at the latest time your produce 'degraded results' so to minimize loss
2021-03-01 22:36:32 <python476> am i off ?
2021-03-01 22:36:49 <monochrom> I think for a click counter you say you're given, by the system, a function ℝ->Bool that says "\t -> is there a mouse down at time t?".
2021-03-01 22:37:11 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-01 22:37:20 <monochrom> If you integrate that function, you get "\t -> how many clicks have there been up to time t?"
2021-03-01 22:37:38 <python476> t being some representation of reals
2021-03-01 22:37:53 araujo joins (~textual@unaffiliated/araujo)
2021-03-01 22:38:00 <monochrom> Then you let a system-provided render to display "the current # of clicks".
2021-03-01 22:38:07 araujo greets around :)
2021-03-01 22:38:08 <python476> are we going back to analog computers ? (I often joke we are recreating live continuous analog computers)
2021-03-01 22:38:19 python476 co-greets araujo
2021-03-01 22:38:20 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-03-01 22:38:29 <araujo> python476 :D
2021-03-01 22:38:48 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-01 22:38:51 <monochrom> This is just cause for joining me in learning measure theory. >:)
2021-03-01 22:39:09 rj joins (~x@gateway/tor-sasl/rj)
2021-03-01 22:39:33 <monochrom> "It's integration all the way down. Oh and Radon-Nikodym derivatives."
2021-03-01 22:39:39 × LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2021-03-01 22:40:46 <monochrom> I don't like the name Radon-Nikodym. It only reminds me of radioactive gas and the drivers in earphones. >:)
2021-03-01 22:41:21 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 264 seconds)
2021-03-01 22:43:42 <minoru_shiraeesh> but you don't typically write functions that take time instant as a parameter, not for click counter at least.
2021-03-01 22:43:56 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-03-01 22:44:10 <monochrom> I don't typically write GUIs at all.
2021-03-01 22:44:37 supastupid joins (~dexter@c-73-249-54-43.hsd1.nh.comcast.net)
2021-03-01 22:44:49 <supastupid> can i ask about XMonad here?
2021-03-01 22:45:02 <monochrom> A lot of programmers out there don't typically write or call curried functions.
2021-03-01 22:45:27 <monochrom> "you don't typically do" is a weak argument.
2021-03-01 22:45:54 <python476> monochrom: btw buy GUI i mean any user interface, it includes TUI in a way
2021-03-01 22:46:09 <minoru_shiraeesh> I mean, a function from a time instant to a number of clicks - that is still too abstract notion
2021-03-01 22:46:33 <monochrom> I don't typically write TUI either. Apart from getArgs and a couple of getLine's.
2021-03-01 22:47:02 <minoru_shiraeesh> in practice you would have an object in OOP, or a function from state to state in fp or something like that.
2021-03-01 22:47:30 <monochrom> In practice I avoid OOP.
2021-03-01 22:47:35 danvet_ joins (~danvet@212-51-149-181.fiber7.init7.net)
2021-03-01 22:47:37 <koz_> In practice OOP is meaningless.
2021-03-01 22:47:44 <koz_> It's just handwaving and appeals to intuition.
2021-03-01 22:48:34 <monochrom> If you ask me what I would do if I have a GUI to hand in right now right here, I would go with whatever model gtk+ uses, sure.

All times are in UTC.