Logs: freenode/#haskell
| 2021-03-16 08:08:52 | <olligobber> | also, no one has fixed the bug I found |
| 2021-03-16 08:12:00 | × | frozenErebus quits (~frozenEre@94.128.82.20) (Ping timeout: 246 seconds) |
| 2021-03-16 08:12:31 | → | Yumasi joins (~guillaume@2a01:e0a:5cb:4430:17e3:41cc:739d:497d) |
| 2021-03-16 08:13:18 | → | xiinotulp joins (~q@ppp-27-55-80-13.revip3.asianet.co.th) |
| 2021-03-16 08:13:24 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 2021-03-16 08:16:00 | × | heatsink quits (~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4) (Remote host closed the connection) |
| 2021-03-16 08:16:32 | × | niko quits (~niko@freenode/staff/ubuntu.member.niko) (Quit: leaving) |
| 2021-03-16 08:16:42 | × | plutoniix quits (~q@ppp-223-24-63-1.revip6.asianet.co.th) (Ping timeout: 260 seconds) |
| 2021-03-16 08:17:20 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 2021-03-16 08:18:16 | → | niko joins (~niko@freenode/staff/ubuntu.member.niko) |
| 2021-03-16 08:19:51 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-03-16 08:19:58 | → | Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck) |
| 2021-03-16 08:20:05 | × | hiroaki quits (~hiroaki@2a02:8108:8c40:2bb8:4aab:53fc:fe7e:1057) (Ping timeout: 265 seconds) |
| 2021-03-16 08:21:15 | → | frozenErebus joins (~frozenEre@94.128.82.20) |
| 2021-03-16 08:21:23 | hackage | Z-Data 0.7.1.0 - Array, vector and text https://hackage.haskell.org/package/Z-Data-0.7.1.0 (winterland) |
| 2021-03-16 08:22:08 | → | dhouthoo joins (~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) |
| 2021-03-16 08:22:19 | → | asheshambasta joins (~user@ptr-e1lysavz4fnu38pr3di.18120a2.ip6.access.telenet.be) |
| 2021-03-16 08:22:52 | → | mouseghost joins (~draco@87-206-9-185.dynamic.chello.pl) |
| 2021-03-16 08:22:52 | × | mouseghost quits (~draco@87-206-9-185.dynamic.chello.pl) (Changing host) |
| 2021-03-16 08:22:52 | → | mouseghost joins (~draco@wikipedia/desperek) |
| 2021-03-16 08:24:43 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 2021-03-16 08:25:09 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
| 2021-03-16 08:26:28 | debugloo1 | is now known as debugloop |
| 2021-03-16 08:26:30 | × | frozenErebus quits (~frozenEre@94.128.82.20) (Ping timeout: 260 seconds) |
| 2021-03-16 08:27:20 | → | rdivyanshu joins (uid322626@gateway/web/irccloud.com/x-hmvjhlnbprzcamlb) |
| 2021-03-16 08:27:20 | → | idhugo__ joins (~idhugo@80-62-116-180-mobile.dk.customer.tdc.net) |
| 2021-03-16 08:27:51 | → | hiroaki joins (~hiroaki@2a02:8108:8c40:2bb8:cd42:97fd:be98:3cd9) |
| 2021-03-16 08:29:30 | × | idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 246 seconds) |
| 2021-03-16 08:30:10 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-03-16 08:31:57 | → | Franciman joins (~francesco@host-82-49-79-189.retail.telecomitalia.it) |
| 2021-03-16 08:32:02 | → | Sorna joins (~Sornaensi@79.142.232.102.static.router4.bolignet.dk) |
| 2021-03-16 08:32:15 | × | Sornaensis quits (~Sornaensi@077213203030.dynamic.telenor.dk) (Disconnected by services) |
| 2021-03-16 08:32:19 | Sorna | is now known as Sornaensis |
| 2021-03-16 08:32:24 | → | plutonux joins (~q@ppp-223-24-184-182.revip6.asianet.co.th) |
| 2021-03-16 08:34:46 | → | LKoen joins (~LKoen@194.250.88.92.rev.sfr.net) |
| 2021-03-16 08:35:13 | × | xiinotulp quits (~q@ppp-27-55-80-13.revip3.asianet.co.th) (Ping timeout: 260 seconds) |
| 2021-03-16 08:35:51 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2021-03-16 08:36:04 | → | Aquazi joins (uid312403@gateway/web/irccloud.com/x-kiyfxvthgbbyzfbg) |
| 2021-03-16 08:38:52 | → | kuribas joins (~user@ptr-25vy0iaa19zfetqtyes.18120a2.ip6.access.telenet.be) |
| 2021-03-16 08:41:58 | → | coot_ joins (~coot@37.30.58.223.nat.umts.dynamic.t-mobile.pl) |
| 2021-03-16 08:43:23 | × | coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 245 seconds) |
| 2021-03-16 08:43:24 | coot_ | is now known as coot |
| 2021-03-16 08:44:51 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 2021-03-16 08:46:17 | int-e_ | is now known as int-e |
| 2021-03-16 08:47:44 | → | kritzefitz joins (~kritzefit@fw-front.credativ.com) |
| 2021-03-16 08:50:37 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-03-16 08:52:31 | × | mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Remote host closed the connection) |
| 2021-03-16 08:54:06 | × | kritzefitz quits (~kritzefit@fw-front.credativ.com) (Quit: Leaving) |
| 2021-03-16 08:55:28 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds) |
| 2021-03-16 08:56:19 | → | acidjnk_new joins (~acidjnk@p200300d0c72b954785b86a8446f85480.dip0.t-ipconnect.de) |
| 2021-03-16 08:58:14 | → | neiluj_ joins (~jco@91-167-203-101.subs.proxad.net) |
| 2021-03-16 09:01:02 | → | bahamas joins (~lucian@188.27.48.99) |
| 2021-03-16 09:01:02 | × | bahamas quits (~lucian@188.27.48.99) (Changing host) |
| 2021-03-16 09:01:02 | → | bahamas joins (~lucian@unaffiliated/bahamas) |
| 2021-03-16 09:01:21 | → | mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan) |
| 2021-03-16 09:01:33 | <bahamas> | what's the difference between unit and void? |
| 2021-03-16 09:02:46 | × | mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Remote host closed the connection) |
| 2021-03-16 09:03:04 | <int-e> | bahamas: unit has a (non-bottom) value, void has none. |
| 2021-03-16 09:03:07 | → | mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan) |
| 2021-03-16 09:03:13 | <Taneb> | bahamas: there are zero values of type Void, but one value of type Unit (= ()) |
| 2021-03-16 09:03:40 | × | mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Client Quit) |
| 2021-03-16 09:04:00 | → | mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan) |
| 2021-03-16 09:04:08 | <int-e> | you can think of it as data () = () {-invalid syntax, but note that there is a constructor-}; data Void {-note lack of constructors-} |
| 2021-03-16 09:05:06 | × | coot quits (~coot@37.30.58.223.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 2021-03-16 09:05:21 | <bahamas> | ah, I see. so with Void you just reference the type, while with unit you can also reference the value |
| 2021-03-16 09:05:31 | <int-e> | It's kind of odd that people find uses for Void... but they do :) |
| 2021-03-16 09:05:48 | × | remal quits (~remal@d24-57-234-201.home.cgocable.net) (Ping timeout: 265 seconds) |
| 2021-03-16 09:05:52 | × | icebreaker quits (michalc@unaffiliated/icebreaker) (Quit: leaving) |
| 2021-03-16 09:06:54 | <bahamas> | I'm still wrapping my head around the concept of types without values |
| 2021-03-16 09:09:46 | → | minoru_shiraeesh joins (~shiraeesh@109.166.59.197) |
| 2021-03-16 09:10:35 | → | fendor joins (~fendor@178.165.129.131.wireless.dyn.drei.com) |
| 2021-03-16 09:11:23 | <dminuoso> | Well, Void has bottom as an element. |
| 2021-03-16 09:11:23 | hackage | Z-IO 0.7.1.0 - Simple and high performance IO toolkit for Haskell https://hackage.haskell.org/package/Z-IO-0.7.1.0 (winterland) |
| 2021-03-16 09:11:33 | <dminuoso> | And that's sort of the point of it, in Haskell |
| 2021-03-16 09:12:47 | <dminuoso> | Void can more clearly communicate that no value exists (for whatever). Consider |
| 2021-03-16 09:12:49 | <dminuoso> | % :t forever |
| 2021-03-16 09:12:49 | <yahb> | dminuoso: Applicative f => f a -> f b |
| 2021-03-16 09:12:55 | <dminuoso> | We could also write it to have the type |
| 2021-03-16 09:12:57 | <guest316> | dminuoso: why call fixed-point inside Cont, would create a loop? |
| 2021-03-16 09:13:00 | <dminuoso> | forever :: Applicative f => f a -> f Void |
| 2021-03-16 09:13:05 | <guest316> | dminuoso: that Setjmp |
| 2021-03-16 09:13:25 | <guest316> | from https://www.vex.net/~trebla/haskell/cont-monad.xhtml |
| 2021-03-16 09:13:27 | → | ADG1089__ joins (~aditya@106.214.253.186) |
| 2021-03-16 09:13:32 | <guest316> | setjmp = callCC (\c -> return (fix c)) |
| 2021-03-16 09:13:45 | <bahamas> | dminuoso: the fact that you mentioned that reminded me of the context in which Void is used: when a branch of execution should never be reached |
| 2021-03-16 09:13:50 | <guest316> | setjmp is Cont action, which wrapped c's fixed-point |
| 2021-03-16 09:14:07 | <bahamas> | if it is, there should be an error. the fact that Void is populated by bottom does that |
| 2021-03-16 09:14:21 | <guest316> | do { l <- setjmp ; modify (+ 1) ; s <- get ; if s == 5 then return s else l } this l is c, right? |
| 2021-03-16 09:14:22 | <int-e> | dminuoso: hmm, what do you think of... absurd :: Void -> a; absurd = unsafeCoerce |
| 2021-03-16 09:14:26 | <guest316> | c's fixed-point |
| 2021-03-16 09:14:30 | int-e | runs |
| 2021-03-16 09:14:40 | <guest316> | why call c's fixed-point would jump back? |
| 2021-03-16 09:15:06 | <merijn> | bahamas: Another use is that I had "data AST a" where 'a' was the type of unbound variables, so "AST Void" proved all variables were resolved |
| 2021-03-16 09:15:37 | <guest316> | I think that setjmp = cont $ \k -> k (fix c) |
| 2021-03-16 09:16:05 | <guest316> | that l = fix c, right? |
| 2021-03-16 09:16:27 | → | heatsink joins (~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4) |
| 2021-03-16 09:16:29 | → | icebreaker joins (michalc@unaffiliated/icebreaker) |
| 2021-03-16 09:17:59 | × | tafa quits (~tafa@vps-83a5c612.vps.ovh.net) (Quit: ZNC - https://znc.in) |
| 2021-03-16 09:19:03 | <bahamas> | merijn: I feel like saying that Void represents 0 at the type level. I don't know if that's right though |
| 2021-03-16 09:19:04 | <dminuoso> | 10:13:50 guest316 | setjmp is Cont action, which wrapped c's fixed-point |
All times are in UTC.