| 2022-01-01 00:00:18 +0000 | <EvanR> | as an example of how idris streamlines things, the type level pair, type level list is not a promoted datakind, it's literally the pair and list that you would use on values |
| 2022-01-01 00:01:07 +0000 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2022-01-01 00:01:07 +0000 | lavaman | (~lavaman@98.38.249.169) (Read error: Connection reset by peer) |
| 2022-01-01 00:01:40 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2022-01-01 00:02:07 +0000 | ________________ | (~textual@node-1w7jr9qkwjp05lc932j6d6xa7.ipv6.telus.net) (Quit: Textual IRC Client: www.textualapp.com) |
| 2022-01-01 00:02:09 +0000 | <monochrom> | @quote monochrom poor.*dependent |
| 2022-01-01 00:02:10 +0000 | <lambdabot> | monochrom says: dynamic type is poor man's dependent type, they are so poor they can't buy a theorem prover. |
| 2022-01-01 00:02:12 +0000 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) |
| 2022-01-01 00:02:22 +0000 | <ProfSimm> | The way I imagine it is that you assign a type directly to a variable, and it has this abstract constraint now. From that point on you can only assign a more constrained type on it until it gets assigned a specific value |
| 2022-01-01 00:02:54 +0000 | <hpc> | idris 2 also has linear types, which is pretty cool too |
| 2022-01-01 00:03:20 +0000 | <EvanR> | you can 'assign' types to variables in idris, as if they were values |
| 2022-01-01 00:03:54 +0000 | <EvanR> | they are allowed in the same places as values, as long as their types match up (types have types) |
| 2022-01-01 00:03:58 +0000 | <geekosaur> | although the notion of assigning more and more constraining types until you reach values sounds more like "gradual typing" to me |
| 2022-01-01 00:05:15 +0000 | zincy_ | (~zincy@2a00:23c8:970c:4801:b868:7e50:825e:321f) (Remote host closed the connection) |
| 2022-01-01 00:05:19 +0000 | <geekosaur> | one problem with doing that in Haskell is that a type is what you promise to others, whereas a value is what you actually do |
| 2022-01-01 00:05:59 +0000 | <monochrom> | Hee hee why write programs if we expect proof erasure anyway >:) |
| 2022-01-01 00:06:00 +0000 | <geekosaur> | this has crucial differences when what you promise to others is that you will accept "any X such that…" |
| 2022-01-01 00:06:44 +0000 | <geekosaur> | you are not in this case refining a type, you are implementing a contract |
| 2022-01-01 00:07:53 +0000 | DNH | (~DNH@2a02:8108:1100:16d8:4942:7271:af20:a403) |
| 2022-01-01 00:08:10 +0000 | hexeme | ldlework |
| 2022-01-01 00:08:19 +0000 | <geekosaur> | how you implement it is your business as long as you obey the terms of the contract |
| 2022-01-01 00:10:58 +0000 | <geekosaur> | it'd actually make more sense if the contract were passed in, as opposed to "refining assignment" as you're thinking of |
| 2022-01-01 00:11:21 +0000 | <geekosaur> | that is, the contract comes from the caller, the implementation is the callee |
| 2022-01-01 00:15:12 +0000 | esoca123 | (uid534098@id-534098.tinside.irccloud.com) |
| 2022-01-01 00:15:13 +0000 | zincy_ | (~zincy@host86-151-99-97.range86-151.btcentralplus.com) |
| 2022-01-01 00:17:29 +0000 | <geekosaur> | actually I guess that's backwards. the type (contract) goes out, the implementation goes in |
| 2022-01-01 00:19:25 +0000 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 2022-01-01 00:20:57 +0000 | wroathe_ | (~wroathe@206-55-188-8.fttp.usinternet.com) (Ping timeout: 240 seconds) |
| 2022-01-01 00:20:57 +0000 | <ProfSimm> | I wonder can we do something to combine assignment and comparison for equality in one operator and action |
| 2022-01-01 00:21:08 +0000 | the_proffesor | (~theproffe@2601:282:847f:8010::85ac) |
| 2022-01-01 00:21:08 +0000 | the_proffesor | (~theproffe@2601:282:847f:8010::85ac) (Changing host) |
| 2022-01-01 00:21:08 +0000 | the_proffesor | (~theproffe@user/theproffesor) |
| 2022-01-01 00:21:32 +0000 | <ProfSimm> | I mean if something is unassigned, then you assign it 5, it equals 5. So. |
| 2022-01-01 00:21:43 +0000 | <ProfSimm> | The comparison is true automaticlaly |
| 2022-01-01 00:21:43 +0000 | <EvanR> | if it were C it would be spelled === |
| 2022-01-01 00:21:57 +0000 | theproffesor | (~theproffe@user/theproffesor) (Ping timeout: 240 seconds) |
| 2022-01-01 00:22:19 +0000 | <EvanR> | and pronounced, equaliquals |
| 2022-01-01 00:22:21 +0000 | <geekosaur> | you seem to be looking for a lot of not-Haskell |
| 2022-01-01 00:22:32 +0000 | <geekosaur> | I mean, the whole concept of that goes against immutable data |
| 2022-01-01 00:23:46 +0000 | theproffesor_ | (~theproffe@2601:282:847f:8010::85ac) |
| 2022-01-01 00:23:48 +0000 | zincy_ | (~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection) |
| 2022-01-01 00:23:55 +0000 | the_proffesor | (~theproffe@user/theproffesor) (Remote host closed the connection) |
| 2022-01-01 00:25:21 +0000 | <EvanR> | haskell doesn't feature "unassigned" variables |
| 2022-01-01 00:26:00 +0000 | <EvanR> | they are always bound to something, even if sometimes it is an error value or something |
| 2022-01-01 00:26:26 +0000 | theproffesor_ | (~theproffe@2601:282:847f:8010::85ac) (Read error: Connection reset by peer) |
| 2022-01-01 00:26:45 +0000 | theproffesor_ | (~theproffe@2601:282:847f:8010::85ac) |
| 2022-01-01 00:28:24 +0000 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
| 2022-01-01 00:28:35 +0000 | <EvanR> | s/feature/bug/ |
| 2022-01-01 00:32:27 +0000 | Jing | (~hedgehog@2604:a840:3::1013) (Remote host closed the connection) |
| 2022-01-01 00:32:29 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 00:32:29 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 00:32:29 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 00:34:13 +0000 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 240 seconds) |
| 2022-01-01 00:36:15 +0000 | max22- | (~maxime@2a01cb0883359800912ec9454e10c944.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 2022-01-01 00:36:17 +0000 | Jing | (~hedgehog@2604:a840:3::1013) |
| 2022-01-01 00:36:20 +0000 | <EvanR> | too bad lambdabot doesn't have Data.Time so we can play with the date |
| 2022-01-01 00:36:48 +0000 | <monochrom> | Wait, what do you want to play with the date? |
| 2022-01-01 00:37:16 +0000 | <geekosaur> | % import Data.Time |
| 2022-01-01 00:37:16 +0000 | <yahb> | geekosaur: |
| 2022-01-01 00:37:21 +0000 | <geekosaur> | go nuts |
| 2022-01-01 00:37:28 +0000 | max22- | (~maxime@2a01cb08833598005a78fa8a594f3623.ipv6.abo.wanadoo.fr) |
| 2022-01-01 00:37:45 +0000 | <EvanR> | % fromGregorian 2021 12 31 |
| 2022-01-01 00:37:45 +0000 | <yahb> | EvanR: 2021-12-31 |
| 2022-01-01 00:37:50 +0000 | <EvanR> | cewl |
| 2022-01-01 00:39:07 +0000 | <EvanR> | % addDays 1 it |
| 2022-01-01 00:39:07 +0000 | <yahb> | EvanR: 2022-01-01 |
| 2022-01-01 00:39:25 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 268 seconds) |
| 2022-01-01 00:39:30 +0000 | <geekosaur> | anyway I could imagine languages which did either, but they won't in much of any sense be Haskell |
| 2022-01-01 00:43:05 +0000 | retroid_ | (~retro@05412d78.skybroadband.com) |
| 2022-01-01 00:45:34 +0000 | retro_ | (~retro@05412d78.skybroadband.com) (Ping timeout: 268 seconds) |
| 2022-01-01 00:46:40 +0000 | SummerSonw | (~The_viole@203.77.49.232) |
| 2022-01-01 00:48:25 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2022-01-01 00:49:09 +0000 | mastarija | (~mastarija@2a05:4f46:e0e:5000:bc70:8f18:1f10:57e1) (Quit: Leaving) |
| 2022-01-01 00:50:24 +0000 | Everything | (~Everythin@37.115.210.35) |
| 2022-01-01 00:51:28 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 00:56:13 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 240 seconds) |
| 2022-01-01 00:57:39 +0000 | ksqsf | (~user@134.209.106.31) |
| 2022-01-01 00:59:37 +0000 | mvk | (~mvk@2607:fea8:5cdd:f000::917a) (Ping timeout: 240 seconds) |
| 2022-01-01 01:01:37 +0000 | doyougnu | (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 268 seconds) |
| 2022-01-01 01:07:46 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 01:10:14 +0000 | Erutuon | (~Erutuon@user/erutuon) |
| 2022-01-01 01:10:55 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 2022-01-01 01:11:02 +0000 | zincy_ | (~zincy@host86-151-99-97.range86-151.btcentralplus.com) |
| 2022-01-01 01:11:05 +0000 | DNH | (~DNH@2a02:8108:1100:16d8:4942:7271:af20:a403) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2022-01-01 01:12:44 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 252 seconds) |
| 2022-01-01 01:12:56 +0000 | sabhrd33 | (~shawna@76.14.56.206) |
| 2022-01-01 01:14:10 +0000 | ProfSimm | (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
| 2022-01-01 01:14:19 +0000 | sabhrd33 | (~shawna@76.14.56.206) (Remote host closed the connection) |
| 2022-01-01 01:15:27 +0000 | zincy_ | (~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Ping timeout: 256 seconds) |
| 2022-01-01 01:17:04 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2022-01-01 01:18:44 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 01:18:44 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 01:18:44 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 01:21:41 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 2022-01-01 01:23:42 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
| 2022-01-01 01:25:05 +0000 | python476 | (~user@88.160.31.174) (Ping timeout: 256 seconds) |
| 2022-01-01 01:25:47 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 01:26:18 +0000 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat) |
| 2022-01-01 01:34:57 +0000 | DNH | (~DNH@2a02:8108:1100:16d8:4942:7271:af20:a403) |
| 2022-01-01 01:36:11 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 245 seconds) |
| 2022-01-01 01:42:19 +0000 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 268 seconds) |
| 2022-01-01 01:43:29 +0000 | DNH | (~DNH@2a02:8108:1100:16d8:4942:7271:af20:a403) (Quit: Textual IRC Client: www.textualapp.com) |
| 2022-01-01 01:45:00 +0000 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
| 2022-01-01 01:46:08 +0000 | max22- | (~maxime@2a01cb08833598005a78fa8a594f3623.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 2022-01-01 01:47:51 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2022-01-01 01:48:17 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2022-01-01 01:49:13 +0000 | <EvanR> | hpc, I took the bait and went for the dang Applicative instance and ... the bind operation was only 3 lines xD https://paste.tomsmeding.com/41JicFe6 |
| 2022-01-01 01:50:19 +0000 | <EvanR> | i guess i could use a library instead |
| 2022-01-01 01:51:00 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 01:51:32 +0000 | Tuplanolla | (~Tuplanoll@91-159-69-90.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2022-01-01 01:52:17 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 2022-01-01 01:55:53 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 268 seconds) |
| 2022-01-01 01:59:49 +0000 | foul_owl | (~kerry@94.140.8.106) (Quit: WeeChat 2.3) |
| 2022-01-01 02:00:37 +0000 | InternetCitizen | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 240 seconds) |
| 2022-01-01 02:00:59 +0000 | kaction | (~kaction@pool-71-191-91-40.washdc.fios.verizon.net) |
| 2022-01-01 02:01:16 +0000 | <kaction> | Does anybody know how to suppress error messages "unable to decommit memory" due madvice returning ENOSYS? Would it be considered GHC bug that it keeps saying it again and again? |
| 2022-01-01 02:01:25 +0000 | xff0x_ | (~xff0x@2001:1a81:52ba:da00:768d:77e:35d:d86a) (Ping timeout: 268 seconds) |
| 2022-01-01 02:01:38 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2022-01-01 02:02:05 +0000 | xff0x_ | (~xff0x@2001:1a81:52ba:da00:be6d:6461:7f7a:de65) |
| 2022-01-01 02:02:33 +0000 | <lechner_> | Hi, could someone please explain how, in rel8, I can tie the Data.SemVer type to the postgresql-semver extension, please? Thanks! It's something like this https://hackage.haskell.org/package/rel8-1.2.1.0/docs/src/Rel8.Type.html#typeInformation |
| 2022-01-01 02:02:37 +0000 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 240 seconds) |
| 2022-01-01 02:02:51 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds) |
| 2022-01-01 02:03:33 +0000 | otherwise | (~otherwise@2601:602:880:90f0:b87e:64be:1874:bae6) |
| 2022-01-01 02:05:08 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2022-01-01 02:05:44 +0000 | <lechner_> | kaction: thanks for blazing the trail on this https://salsa.debian.org/lechner/dh-haskell |
| 2022-01-01 02:08:13 +0000 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 240 seconds) |
| 2022-01-01 02:09:33 +0000 | <kaction> | lechner_: you are welcome :) |
| 2022-01-01 02:09:33 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 02:12:04 +0000 | <lechner_> | kaction: did you get the same reaction years ago? https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1002296#19 |
| 2022-01-01 02:12:44 +0000 | mcglk_ | (~mcglk@131.191.49.120) (Read error: Connection reset by peer) |
| 2022-01-01 02:14:20 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 252 seconds) |
| 2022-01-01 02:14:26 +0000 | mcglk | (~mcglk@131.191.49.120) |
| 2022-01-01 02:15:41 +0000 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
| 2022-01-01 02:17:29 +0000 | _73 | (~user@pool-108-49-252-36.bstnma.fios.verizon.net) |
| 2022-01-01 02:19:17 +0000 | <kaction> | lechner_: I don't recall how it ended. I think dh-haskell got some adoption, but it had rough corners with more complicated packages, and I never took time to make it perfectly bit-to-bit compatible with whatever build system was status-quo. |
| 2022-01-01 02:22:33 +0000 | foul_owl | (~kerry@97-126-11-68.tukw.qwest.net) |
| 2022-01-01 02:24:27 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2022-01-01 02:25:40 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2022-01-01 02:27:48 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) |
| 2022-01-01 02:28:29 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 02:31:51 +0000 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 2022-01-01 02:32:51 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 245 seconds) |
| 2022-01-01 02:32:52 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 02:32:52 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 02:32:52 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 02:33:06 +0000 | wroathe | (~wroathe@user/wroathe) (Client Quit) |
| 2022-01-01 02:33:21 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 02:33:21 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 02:33:21 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 02:42:11 +0000 | xff0x_ | (~xff0x@2001:1a81:52ba:da00:be6d:6461:7f7a:de65) (Ping timeout: 250 seconds) |
| 2022-01-01 02:43:37 +0000 | cyphase_eviltwin | (~cyphase@user/cyphase) (Ping timeout: 240 seconds) |
| 2022-01-01 02:44:17 +0000 | xff0x_ | (~xff0x@2001:1a81:52f9:6300:887a:5ed1:98de:74ec) |
| 2022-01-01 02:45:01 +0000 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 240 seconds) |
| 2022-01-01 02:47:23 +0000 | <lechner_> | kaction: thanks! now it is. i copied everything from hlibrary.mk |
| 2022-01-01 02:49:59 +0000 | qrpnxz | (abc4f95c31@user/qrpnxz) (Disconnected: closed) |
| 2022-01-01 02:50:56 +0000 | cyphase | (~cyphase@user/cyphase) |
| 2022-01-01 02:52:05 +0000 | ksqsf | (~user@134.209.106.31) (Remote host closed the connection) |
| 2022-01-01 02:52:33 +0000 | ksqsf | (~user@2001:da8:d800:600:1db7:f109:60a:6851) |
| 2022-01-01 02:54:42 +0000 | bollu_ | (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
| 2022-01-01 02:54:59 +0000 | johnw | (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
| 2022-01-01 02:55:39 +0000 | ksqsf | (~user@2001:da8:d800:600:1db7:f109:60a:6851) (Read error: Connection reset by peer) |
| 2022-01-01 02:56:08 +0000 | ksqsf | (~user@134.209.106.31) |
| 2022-01-01 03:02:00 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 03:06:54 +0000 | neverfindme | (~hayden@72.92.246.5) |
| 2022-01-01 03:07:08 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 252 seconds) |
| 2022-01-01 03:08:54 +0000 | doyougnu | (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) |
| 2022-01-01 03:11:38 +0000 | neverfindme | (~hayden@72.92.246.5) (Client Quit) |
| 2022-01-01 03:18:47 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 03:18:50 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2022-01-01 03:19:40 +0000 | burnsidesLlama | (~burnsides@dhcp168-010.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2022-01-01 03:20:19 +0000 | burnsidesLlama | (~burnsides@dhcp168-010.wadham.ox.ac.uk) |
| 2022-01-01 03:23:16 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 245 seconds) |
| 2022-01-01 03:24:37 +0000 | burnsidesLlama | (~burnsides@dhcp168-010.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
| 2022-01-01 03:25:13 +0000 | vglfr | (~vglfr@88.155.60.141) (Ping timeout: 256 seconds) |
| 2022-01-01 03:26:57 +0000 | vglfr | (~vglfr@88.155.60.141) |
| 2022-01-01 03:29:31 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4) |
| 2022-01-01 03:30:46 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Ping timeout: 245 seconds) |
| 2022-01-01 03:35:17 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 03:38:57 +0000 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 240 seconds) |
| 2022-01-01 03:39:57 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
| 2022-01-01 03:40:08 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 252 seconds) |
| 2022-01-01 03:41:34 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2022-01-01 03:43:03 +0000 | mbuf | (~Shakthi@223.184.115.117) |
| 2022-01-01 03:46:36 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 2022-01-01 03:46:36 +0000 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
| 2022-01-01 03:46:36 +0000 | finn_elija | FinnElija |
| 2022-01-01 03:50:02 +0000 | ksqsf | (~user@134.209.106.31) (Ping timeout: 252 seconds) |
| 2022-01-01 03:51:31 +0000 | theproffesor_ | (~theproffe@2601:282:847f:8010::85ac) (Changing host) |
| 2022-01-01 03:51:31 +0000 | theproffesor_ | (~theproffe@user/theproffesor) |
| 2022-01-01 03:51:51 +0000 | theproffesor_ | theproffesor |
| 2022-01-01 03:52:51 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
| 2022-01-01 03:53:02 +0000 | td_ | (~td@muedsl-82-207-238-106.citykom.de) (Ping timeout: 260 seconds) |
| 2022-01-01 03:54:54 +0000 | td_ | (~td@muedsl-82-207-238-133.citykom.de) |
| 2022-01-01 04:03:41 +0000 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2022-01-01 04:04:12 +0000 | img | (~img@user/img) |
| 2022-01-01 04:05:59 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds) |
| 2022-01-01 04:06:47 +0000 | EvanR | (~EvanR@user/evanr) (Quit: Leaving) |
| 2022-01-01 04:07:35 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 04:08:08 +0000 | EvanR | (~EvanR@user/evanr) |
| 2022-01-01 04:12:47 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 268 seconds) |
| 2022-01-01 04:14:25 +0000 | otherwise | (~otherwise@2601:602:880:90f0:b87e:64be:1874:bae6) (Remote host closed the connection) |
| 2022-01-01 04:16:10 +0000 | gaff | (~gaff@49.207.212.151) |
| 2022-01-01 04:25:44 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 04:29:02 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 240 seconds) |
| 2022-01-01 04:30:13 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 240 seconds) |
| 2022-01-01 04:32:12 +0000 | mcglk | (~mcglk@131.191.49.120) (Read error: Connection reset by peer) |
| 2022-01-01 04:33:11 +0000 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
| 2022-01-01 04:33:28 +0000 | mcglk | (~mcglk@131.191.49.120) |
| 2022-01-01 04:34:45 +0000 | mvk | (~mvk@2607:fea8:5cdd:f000::917a) |
| 2022-01-01 04:37:20 +0000 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 252 seconds) |
| 2022-01-01 04:37:44 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 04:40:12 +0000 | fef | (~thedawn@user/thedawn) |
| 2022-01-01 04:42:37 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 04:46:12 +0000 | otherwise | (~otherwise@2601:602:880:90f0:fce5:a06d:c23f:e50d) |
| 2022-01-01 04:47:13 +0000 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 2022-01-01 04:47:56 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 268 seconds) |
| 2022-01-01 04:50:54 +0000 | otherwise | (~otherwise@2601:602:880:90f0:fce5:a06d:c23f:e50d) (Ping timeout: 260 seconds) |
| 2022-01-01 04:56:41 +0000 | kaph | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) (Read error: Connection reset by peer) |
| 2022-01-01 04:59:54 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2022-01-01 05:00:05 +0000 | off^ | (~off@207.5.21.20) |
| 2022-01-01 05:00:18 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 05:02:02 +0000 | Everything | (~Everythin@37.115.210.35) (Quit: leaving) |
| 2022-01-01 05:04:45 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 250 seconds) |
| 2022-01-01 05:09:09 +0000 | kaph_ | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) |
| 2022-01-01 05:15:49 +0000 | juri_ | (~juri@178.63.35.222) |
| 2022-01-01 05:23:57 +0000 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 240 seconds) |
| 2022-01-01 05:29:04 +0000 | uam | (uid360535@id-360535.hampstead.irccloud.com) |
| 2022-01-01 05:38:10 +0000 | Erutuon | (~Erutuon@user/erutuon) |
| 2022-01-01 05:39:29 +0000 | mvk | (~mvk@2607:fea8:5cdd:f000::917a) (Ping timeout: 252 seconds) |
| 2022-01-01 05:41:17 +0000 | Hawker_ | (~pi@user/hawker) (Ping timeout: 240 seconds) |
| 2022-01-01 05:42:35 +0000 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 2022-01-01 05:44:39 +0000 | deadmarshal | (~deadmarsh@95.38.119.182) |
| 2022-01-01 05:49:09 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2022-01-01 05:50:29 +0000 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
| 2022-01-01 05:51:06 +0000 | fef | (~thedawn@user/thedawn) |
| 2022-01-01 05:53:26 +0000 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 260 seconds) |
| 2022-01-01 05:53:41 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
| 2022-01-01 05:53:44 +0000 | cyphase | (~cyphase@user/cyphase) |
| 2022-01-01 05:54:53 +0000 | kaph_ | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) (Quit: Leaving) |
| 2022-01-01 05:55:09 +0000 | kaph | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) |
| 2022-01-01 05:55:14 +0000 | gaff | (~gaff@49.207.212.151) (Remote host closed the connection) |
| 2022-01-01 05:55:14 +0000 | kaph_ | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) |
| 2022-01-01 05:55:23 +0000 | kaph_ | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) (Client Quit) |
| 2022-01-01 05:55:23 +0000 | kaph | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) (Client Quit) |
| 2022-01-01 05:55:38 +0000 | kaph | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) |
| 2022-01-01 05:56:23 +0000 | gaff | (~gaff@49.207.212.151) |
| 2022-01-01 06:00:07 +0000 | otherwise | (~otherwise@2601:602:880:90f0:1c02:7c0e:4814:d07c) |
| 2022-01-01 06:00:28 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2022-01-01 06:01:03 +0000 | gaff | (~gaff@49.207.212.151) (Ping timeout: 256 seconds) |
| 2022-01-01 06:01:55 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 06:01:55 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 06:01:55 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 06:02:27 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) |
| 2022-01-01 06:04:17 +0000 | otherwise | (~otherwise@2601:602:880:90f0:1c02:7c0e:4814:d07c) (Ping timeout: 240 seconds) |
| 2022-01-01 06:06:09 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 2022-01-01 06:06:17 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 2022-01-01 06:07:17 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 2022-01-01 06:11:23 +0000 | mvk | (~mvk@2607:fea8:5cdd:f000::917a) |
| 2022-01-01 06:14:18 +0000 | gaff | (~gaff@49.207.198.216) |
| 2022-01-01 06:23:43 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 2022-01-01 06:37:52 +0000 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) |
| 2022-01-01 06:40:17 +0000 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds) |
| 2022-01-01 06:46:25 +0000 | Rum | (~bourbon@user/rum) |
| 2022-01-01 07:00:56 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 07:07:34 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) |
| 2022-01-01 07:08:13 +0000 | nhatanh02 | (~satori@123.24.172.30) |
| 2022-01-01 07:09:09 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 268 seconds) |
| 2022-01-01 07:17:08 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 07:23:54 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 2022-01-01 07:24:40 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) |
| 2022-01-01 07:29:06 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
| 2022-01-01 07:33:08 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2022-01-01 07:34:32 +0000 | gaff | (~gaff@49.207.198.216) (Remote host closed the connection) |
| 2022-01-01 07:37:17 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 2022-01-01 07:37:52 +0000 | otherwise | (~otherwise@2601:602:880:90f0:15d8:a1fc:ce25:ad10) |
| 2022-01-01 07:39:58 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 2022-01-01 07:42:29 +0000 | coolnickname | (uid531864@user/coolnickname) |
| 2022-01-01 07:47:37 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) |
| 2022-01-01 07:51:58 +0000 | Jonno_FTW | (~come@api.carswap.me) (Ping timeout: 260 seconds) |
| 2022-01-01 07:52:17 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 2022-01-01 07:59:14 +0000 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2022-01-01 08:04:44 +0000 | Rum | (~bourbon@user/rum) (Quit: WeeChat 3.4) |
| 2022-01-01 08:05:42 +0000 | img | (~img@user/img) |
| 2022-01-01 08:12:18 +0000 | gaff | (~gaff@49.207.222.122) |
| 2022-01-01 08:15:09 +0000 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 2022-01-01 08:15:36 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2022-01-01 08:16:35 +0000 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
| 2022-01-01 08:22:12 +0000 | otherwise | (~otherwise@2601:602:880:90f0:15d8:a1fc:ce25:ad10) (Remote host closed the connection) |
| 2022-01-01 08:23:56 +0000 | SummerSonw | (~The_viole@203.77.49.232) (Ping timeout: 252 seconds) |
| 2022-01-01 08:25:03 +0000 | deadmarshal | (~deadmarsh@95.38.119.182) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2022-01-01 08:25:57 +0000 | deadmarshal | (~deadmarsh@95.38.119.182) |
| 2022-01-01 08:26:53 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2022-01-01 08:36:35 +0000 | xff0x_ | (~xff0x@2001:1a81:52f9:6300:887a:5ed1:98de:74ec) (Ping timeout: 252 seconds) |
| 2022-01-01 08:37:28 +0000 | xff0x_ | (~xff0x@2001:1a81:52f9:6300:7499:a110:eaa4:a379) |
| 2022-01-01 08:40:57 +0000 | Vajb | (~Vajb@85-76-162-179-nat.elisa-mobile.fi) (Ping timeout: 240 seconds) |
| 2022-01-01 08:42:50 +0000 | gaff | (~gaff@49.207.222.122) (Ping timeout: 260 seconds) |
| 2022-01-01 08:42:55 +0000 | SummerSonw | (~The_viole@203.77.49.232) |
| 2022-01-01 08:44:11 +0000 | Vajb | (~Vajb@2001:999:50:e6be:1e98:9376:d93e:4506) |
| 2022-01-01 08:47:45 +0000 | otherwise | (~otherwise@2601:602:880:90f0:cdff:5f10:47b:dd48) |
| 2022-01-01 09:03:27 +0000 | zer0bitz | (~zer0bitz@196.244.192.57) |
| 2022-01-01 09:04:23 +0000 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 250 seconds) |
| 2022-01-01 09:07:03 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 09:07:03 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 09:07:03 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 09:08:09 +0000 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 2022-01-01 09:12:01 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 2022-01-01 09:12:01 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 2022-01-01 09:12:41 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2022-01-01 09:16:25 +0000 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
| 2022-01-01 09:16:56 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer) |
| 2022-01-01 09:17:51 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2022-01-01 09:19:23 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 2022-01-01 09:19:37 +0000 | otherwise | (~otherwise@2601:602:880:90f0:cdff:5f10:47b:dd48) (Remote host closed the connection) |
| 2022-01-01 09:24:36 +0000 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
| 2022-01-01 09:32:46 +0000 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 2022-01-01 09:33:51 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2022-01-01 09:37:23 +0000 | fef | (~thedawn@user/thedawn) (Quit: Leaving) |
| 2022-01-01 09:53:05 +0000 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Remote host closed the connection) |
| 2022-01-01 09:53:30 +0000 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) |
| 2022-01-01 09:55:46 +0000 | coot | (~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Client Quit) |
| 2022-01-01 09:56:10 +0000 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
| 2022-01-01 10:01:56 +0000 | gehmehgeh | (~user@user/gehmehgeh) |
| 2022-01-01 10:15:36 +0000 | neurocyte0132889 | (~neurocyte@IP-045128181214.dynamic.medianet-world.de) |
| 2022-01-01 10:15:36 +0000 | neurocyte0132889 | (~neurocyte@IP-045128181214.dynamic.medianet-world.de) (Changing host) |
| 2022-01-01 10:15:36 +0000 | neurocyte0132889 | (~neurocyte@user/neurocyte) |
| 2022-01-01 10:15:42 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2022-01-01 10:20:01 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 2022-01-01 10:20:03 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2022-01-01 10:21:30 +0000 | Tuplanolla | (~Tuplanoll@91-159-69-90.elisa-laajakaista.fi) |
| 2022-01-01 10:27:22 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
| 2022-01-01 10:28:27 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
| 2022-01-01 10:28:42 +0000 | fcc977 | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) |
| 2022-01-01 10:28:50 +0000 | acidjnk | (~acidjnk@p200300d0c7271e28a1c27b1d533e8cdb.dip0.t-ipconnect.de) |
| 2022-01-01 10:28:51 +0000 | acidjnk_new | (~acidjnk@p200300d0c7271e28a1c27b1d533e8cdb.dip0.t-ipconnect.de) |
| 2022-01-01 10:29:14 +0000 | vglfr | (~vglfr@88.155.60.141) (Ping timeout: 260 seconds) |
| 2022-01-01 10:30:02 +0000 | kaph | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) (Ping timeout: 240 seconds) |
| 2022-01-01 10:34:26 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2022-01-01 10:37:54 +0000 | fcc977 | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) (Quit: Leaving) |
| 2022-01-01 10:38:32 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 2022-01-01 10:38:32 +0000 | kaph | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) |
| 2022-01-01 10:40:55 +0000 | mbuf | (~Shakthi@223.184.115.117) (Read error: Connection reset by peer) |
| 2022-01-01 10:41:12 +0000 | mbuf | (~Shakthi@223.184.115.117) |
| 2022-01-01 10:45:48 +0000 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
| 2022-01-01 10:58:29 +0000 | neurocyte0132889 | (~neurocyte@user/neurocyte) (Ping timeout: 252 seconds) |
| 2022-01-01 11:02:10 +0000 | jtomas | (~jtomas@153.red-83-53-252.dynamicip.rima-tde.net) |
| 2022-01-01 11:07:42 +0000 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
| 2022-01-01 11:07:50 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 11:07:50 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 11:07:50 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 11:12:26 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
| 2022-01-01 11:13:37 +0000 | vglfr | (~vglfr@88.155.60.141) |
| 2022-01-01 11:14:02 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 240 seconds) |
| 2022-01-01 11:15:43 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2022-01-01 11:18:43 +0000 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2022-01-01 11:20:26 +0000 | cosimone | (~user@93-34-132-88.ip49.fastwebnet.it) |
| 2022-01-01 11:24:08 +0000 | img | (~img@user/img) |
| 2022-01-01 11:24:18 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) |
| 2022-01-01 11:26:26 +0000 | jakalx | (~jakalx@base.jakalx.net) () |
| 2022-01-01 11:28:47 +0000 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
| 2022-01-01 11:28:53 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Ping timeout: 250 seconds) |
| 2022-01-01 11:38:29 +0000 | zincy_ | (~zincy@host86-151-99-97.range86-151.btcentralplus.com) |
| 2022-01-01 11:38:36 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 11:38:36 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 11:38:36 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 11:39:27 +0000 | joo-_ | (~joo-_@80-62-117-1-mobile.dk.customer.tdc.net) |
| 2022-01-01 11:39:27 +0000 | joo-_ | (~joo-_@80-62-117-1-mobile.dk.customer.tdc.net) (Changing host) |
| 2022-01-01 11:39:27 +0000 | joo-_ | (~joo-_@fsf/member/joo--) |
| 2022-01-01 11:39:32 +0000 | max22- | (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) |
| 2022-01-01 11:43:53 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 2022-01-01 11:44:26 +0000 | dyeplexer | (~dyeplexer@user/dyeplexer) |
| 2022-01-01 11:49:41 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
| 2022-01-01 11:50:26 +0000 | jakalx | (~jakalx@base.jakalx.net) |
| 2022-01-01 12:09:23 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 12:09:23 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 12:09:23 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 12:13:14 +0000 | retro_ | (~retro@05412d78.skybroadband.com) |
| 2022-01-01 12:14:11 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
| 2022-01-01 12:14:23 +0000 | retroid_ | (~retro@05412d78.skybroadband.com) (Ping timeout: 268 seconds) |
| 2022-01-01 12:15:04 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 12:17:34 +0000 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
| 2022-01-01 12:18:16 +0000 | gehmehgeh | (~user@user/gehmehgeh) |
| 2022-01-01 12:19:03 +0000 | off^ | (~off@207.5.21.20) (Remote host closed the connection) |
| 2022-01-01 12:20:21 +0000 | kaph | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) (Read error: Connection reset by peer) |
| 2022-01-01 12:20:43 +0000 | kaph | (~kaph@net-2-38-107-19.cust.vodafonedsl.it) |
| 2022-01-01 12:21:37 +0000 | InternetCitizen | (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) |
| 2022-01-01 12:28:39 +0000 | Rum | (~bourbon@user/rum) |
| 2022-01-01 12:28:41 +0000 | xff0x_ | (~xff0x@2001:1a81:52f9:6300:7499:a110:eaa4:a379) (Ping timeout: 252 seconds) |
| 2022-01-01 12:29:39 +0000 | xff0x_ | (~xff0x@port-92-193-207-83.dynamic.as20676.net) |
| 2022-01-01 12:32:35 +0000 | cosimone | (~user@93-34-132-88.ip49.fastwebnet.it) (Ping timeout: 250 seconds) |
| 2022-01-01 12:34:05 +0000 | __monty__ | (~toonn@user/toonn) |
| 2022-01-01 12:35:09 +0000 | fef | (~thedawn@user/thedawn) |
| 2022-01-01 12:36:36 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2022-01-01 12:36:45 +0000 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 2022-01-01 12:39:57 +0000 | acidjnk_new | (~acidjnk@p200300d0c7271e28a1c27b1d533e8cdb.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 2022-01-01 12:39:57 +0000 | acidjnk | (~acidjnk@p200300d0c7271e28a1c27b1d533e8cdb.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 2022-01-01 12:40:13 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 12:40:13 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 12:40:13 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 12:41:01 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 2022-01-01 12:44:06 +0000 | nhatanh02 | (~satori@123.24.172.30) (Ping timeout: 260 seconds) |
| 2022-01-01 12:45:01 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 2022-01-01 12:46:13 +0000 | vglfr | (~vglfr@88.155.60.141) (Ping timeout: 256 seconds) |
| 2022-01-01 12:46:13 +0000 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
| 2022-01-01 12:47:52 +0000 | gaff | (~gaff@49.207.192.225) |
| 2022-01-01 12:48:05 +0000 | vglfr | (~vglfr@88.155.60.141) |
| 2022-01-01 12:48:23 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 2022-01-01 12:48:57 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 240 seconds) |
| 2022-01-01 12:50:10 +0000 | max22- | (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Ping timeout: 260 seconds) |
| 2022-01-01 12:53:00 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 2022-01-01 12:56:02 +0000 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
| 2022-01-01 12:57:34 +0000 | CiaoSen | (~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Quit: CiaoSen) |
| 2022-01-01 12:58:29 +0000 | uam | (uid360535@id-360535.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 2022-01-01 12:59:07 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 2022-01-01 13:02:48 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 13:03:42 +0000 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Ping timeout: 260 seconds) |
| 2022-01-01 13:03:51 +0000 | _ht | (~quassel@5.253.205.174) |
| 2022-01-01 13:07:29 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 250 seconds) |
| 2022-01-01 13:10:13 +0000 | gaff | (~gaff@49.207.192.225) (Read error: Connection reset by peer) |
| 2022-01-01 13:10:18 +0000 | gaff_ | (~gaff@49.207.192.225) |
| 2022-01-01 13:10:57 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 13:10:57 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 13:10:57 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 13:11:42 +0000 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
| 2022-01-01 13:15:50 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
| 2022-01-01 13:16:04 +0000 | nrl^ | (~nrl@207.5.21.20) |
| 2022-01-01 13:22:45 +0000 | turlando_ | (~turlando@93-42-250-112.ip89.fastwebnet.it) (Read error: Connection reset by peer) |
| 2022-01-01 13:22:59 +0000 | turlando | (~turlando@93-42-250-112.ip89.fastwebnet.it) |
| 2022-01-01 13:22:59 +0000 | turlando | (~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host) |
| 2022-01-01 13:22:59 +0000 | turlando | (~turlando@user/turlando) |
| 2022-01-01 13:32:01 +0000 | simendsjo | (~user@host.62.119.172.37.bitcom.se) |
| 2022-01-01 13:33:18 +0000 | fjmorazan_ | fjmorazan |
| 2022-01-01 13:35:17 +0000 | nhatanh02 | (~satori@123.24.172.30) |
| 2022-01-01 13:35:27 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) |
| 2022-01-01 13:36:05 +0000 | turlando | (~turlando@user/turlando) (Ping timeout: 256 seconds) |
| 2022-01-01 13:38:20 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) |
| 2022-01-01 13:42:47 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Ping timeout: 250 seconds) |
| 2022-01-01 13:43:53 +0000 | machinedgod | (~machinedg@24.105.81.50) |
| 2022-01-01 13:46:12 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2022-01-01 13:47:59 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 13:47:59 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 13:47:59 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 13:50:17 +0000 | simendsjo | (~user@host.62.119.172.37.bitcom.se) (Ping timeout: 240 seconds) |
| 2022-01-01 13:52:12 +0000 | spaceseller | (~spacesell@31.147.205.13) |
| 2022-01-01 13:52:37 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 2022-01-01 13:57:18 +0000 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
| 2022-01-01 13:57:30 +0000 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
| 2022-01-01 13:59:11 +0000 | <InternetCitizen> | > (\x -> (x 3, x "three")) (\x -> x) |
| 2022-01-01 13:59:13 +0000 | <lambdabot> | error: |
| 2022-01-01 13:59:13 +0000 | <lambdabot> | • No instance for (Num [Char]) arising from the literal ‘3’ |
| 2022-01-01 13:59:13 +0000 | <lambdabot> | • In the first argument of ‘x’, namely ‘3’ |
| 2022-01-01 13:59:50 +0000 | Rum | (~bourbon@user/rum) (Quit: WeeChat 3.4) |
| 2022-01-01 14:00:01 +0000 | <InternetCitizen> | why does this not work? It's like Haskell specializes the type of id to `Num a => a -> a` |
| 2022-01-01 14:00:22 +0000 | <InternetCitizen> | > (\x -> (x "four", x "three")) (\x -> x) |
| 2022-01-01 14:00:24 +0000 | <lambdabot> | ("four","three") |
| 2022-01-01 14:00:31 +0000 | <InternetCitizen> | > (\x -> (x 3, x 4)) (\x -> x) |
| 2022-01-01 14:00:33 +0000 | <lambdabot> | (3,4) |
| 2022-01-01 14:01:31 +0000 | <InternetCitizen> | on the Hindley-Milner wikipedia article I found: |
| 2022-01-01 14:01:40 +0000 | <InternetCitizen> | "Only values bound in a let construct are subject to instantiation, i.e. are polymorphic, while the parameters in lambda-abstractions are treated as being monomorphic." |
| 2022-01-01 14:02:11 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 252 seconds) |
| 2022-01-01 14:05:15 +0000 | <InternetCitizen> | > let id x = x in (id 3, id "three") |
| 2022-01-01 14:05:17 +0000 | <lambdabot> | (3,"three") |
| 2022-01-01 14:05:24 +0000 | <hpc> | InternetCitizen: it needs to be rank 2, which needs a type signature |
| 2022-01-01 14:05:38 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:06:01 +0000 | <InternetCitizen> | what needs to be rank 2? |
| 2022-01-01 14:06:08 +0000 | <hpc> | that makes sure x stays as type (forall a. a -> a) and not some specific (a -> a) in the context of the lambda |
| 2022-01-01 14:06:40 +0000 | <hpc> | > let foo :: (forall a. a -> a) -> (Int, String); foo x = (x 3, x "three") in foo (\x -> x) |
| 2022-01-01 14:06:41 +0000 | <lambdabot> | (3,"three") |
| 2022-01-01 14:11:17 +0000 | <InternetCitizen> | hpc: if I understand correctly, the inference algorithm starts with `(\x -> (x "four", x "three"))`, gives x a type variable `a` and since we call it with "four" substitues `a` for type `String -> b` and fails when we call `x` with `Int` again? |
| 2022-01-01 14:12:25 +0000 | <hpc> | essentially |
| 2022-01-01 14:12:33 +0000 | <Hecate> | morning |
| 2022-01-01 14:13:02 +0000 | <hpc> | you get a weirder error than that because 3 :: Num a => a, so it thinks "hmm, what if there was instance Num String where ...?" |
| 2022-01-01 14:13:24 +0000 | <hpc> | > (\x -> (x False, x "False")) (\x -> x) -- this might make it more clear |
| 2022-01-01 14:13:25 +0000 | <lambdabot> | error: |
| 2022-01-01 14:13:25 +0000 | <lambdabot> | • Couldn't match expected type ‘Bool’ with actual type ‘[Char]’ |
| 2022-01-01 14:13:25 +0000 | <lambdabot> | • In the first argument of ‘x’, namely ‘"False"’ |
| 2022-01-01 14:14:07 +0000 | <InternetCitizen> | then why does the Wikipedia article that writing lambd expressions this way is undecidable? |
| 2022-01-01 14:14:09 +0000 | <InternetCitizen> | https://en.wikipedia.org/wiki/Hindley%E2%80%93Milner_type_system#Let-polymorphism |
| 2022-01-01 14:14:27 +0000 | <InternetCitizen> | they give the example of `(λ id . ... (id 3) ... (id "text") ... ) (λ x . x)` |
| 2022-01-01 14:15:30 +0000 | <InternetCitizen> | "restricting the binding mechanism in an extension of the expression syntax. Only values bound in a let construct are subject to instantiation, i.e. are polymorphic, while the parameters in lambda-abstractions are treated as being monomorphic." |
| 2022-01-01 14:15:47 +0000 | spaceseller | (~spacesell@31.147.205.13) (Remote host closed the connection) |
| 2022-01-01 14:15:54 +0000 | <InternetCitizen> | so Haskell type-inference isn't decidable ??? |
| 2022-01-01 14:16:13 +0000 | spaceseller | (~spacesell@31.147.205.13) |
| 2022-01-01 14:16:42 +0000 | <hpc> | it's decidable if you don't allow that sort of example |
| 2022-01-01 14:17:25 +0000 | <hpc> | rank 2 is also decidable, but higher ranked stuff is not |
| 2022-01-01 14:17:27 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2022-01-01 14:17:47 +0000 | <hpc> | rank 2 is where you see things like that nested forall in foo |
| 2022-01-01 14:18:01 +0000 | <hpc> | rank 3 is forall nested one level further, etc etc |
| 2022-01-01 14:18:19 +0000 | <geekosaur> | (note that ghc does not implement rank-2 type inference, even though it is decidable) |
| 2022-01-01 14:18:23 +0000 | <InternetCitizen> | I thought that the example is what I typed into Haskel |
| 2022-01-01 14:18:46 +0000 | <InternetCitizen> | > (\x -> (x 3, x "three")) (\x -> x) |
| 2022-01-01 14:18:48 +0000 | <lambdabot> | error: |
| 2022-01-01 14:18:48 +0000 | <lambdabot> | • No instance for (Num [Char]) arising from the literal ‘3’ |
| 2022-01-01 14:18:48 +0000 | <lambdabot> | • In the first argument of ‘x’, namely ‘3’ |
| 2022-01-01 14:18:49 +0000 | <InternetCitizen> | ^ |
| 2022-01-01 14:18:55 +0000 | <hpc> | yeah, ghc chooses not to infer rank-2 types |
| 2022-01-01 14:19:40 +0000 | <hpc> | Rank2Types and RankNTypes used to be separate, so maybe if you went back to ghc 6 it could be inferred? |
| 2022-01-01 14:19:50 +0000 | <geekosaur> | no |
| 2022-01-01 14:20:17 +0000 | <geekosaur> | rank-2 type inference is fairly complicated, so they decided to punt on it because there didn't seem to be any demand for it |
| 2022-01-01 14:20:29 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
| 2022-01-01 14:20:37 +0000 | <hpc> | ah, forgot about that |
| 2022-01-01 14:20:45 +0000 | <geekosaur> | I mean, the typechecker is already complex enough without it :) |
| 2022-01-01 14:20:50 +0000 | <hpc> | in any event, you don't really want higher-ranked inference anyway |
| 2022-01-01 14:21:45 +0000 | <hpc> | imagine you're writing your code, and decide to implement some nice higher-order function like map |
| 2022-01-01 14:21:51 +0000 | <hpc> | you make a mistake somewhere and your code compiles |
| 2022-01-01 14:21:56 +0000 | <InternetCitizen> | how does it "choose" not to infer rank-2 types exactly? Does this simply amount to giving `x` a monomorphic type rather than a polymorphic one? |
| 2022-01-01 14:21:59 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
| 2022-01-01 14:22:01 +0000 | <hpc> | but surprise, it's now a rank-5 type or something and completely unusable |
| 2022-01-01 14:22:08 +0000 | <hpc> | and you have no error to figure out what you did wrong |
| 2022-01-01 14:22:18 +0000 | coolnickname | (uid531864@user/coolnickname) (Quit: Connection closed for inactivity) |
| 2022-01-01 14:22:53 +0000 | <InternetCitizen> | that sounds scary, I don't even know what higher ranked types are |
| 2022-01-01 14:24:03 +0000 | <hpc> | a rank 3 type would be maybe something like (forall b. (forall a. a -> a) -> (b -> b)) -> (c -> c) -> c -> c |
| 2022-01-01 14:24:17 +0000 | <hpc> | just more and more foralls to the left of (->) |
| 2022-01-01 14:24:25 +0000 | <hpc> | at deeper and deeper nestings |
| 2022-01-01 14:24:34 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:24:49 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:25:11 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:25:14 +0000 | coolnickname | (uid531864@user/coolnickname) |
| 2022-01-01 14:25:23 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:25:28 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:25:39 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:25:47 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:25:58 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:26:02 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:26:13 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:26:16 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:26:27 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:26:27 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:26:37 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:26:37 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer) |
| 2022-01-01 14:26:48 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:26:48 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:26:58 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:26:58 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:27:09 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:27:09 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer) |
| 2022-01-01 14:27:20 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:27:20 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer) |
| 2022-01-01 14:27:22 +0000 | <InternetCitizen> | so the real type of the lambda on the left is forall b, c. (forall a. a -> a) -> (b, c) ? |
| 2022-01-01 14:27:33 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:27:33 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:27:47 +0000 | <InternetCitizen> | no sorry (forall a. a -> a) -> (String, Integer) |
| 2022-01-01 14:27:49 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:27:49 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:28:11 +0000 | <InternetCitizen> | I mean for `(\x -> (x 3, x "three"))` |
| 2022-01-01 14:28:12 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:28:12 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer) |
| 2022-01-01 14:28:26 +0000 | <hpc> | yes |
| 2022-01-01 14:28:47 +0000 | <hpc> | and thata (forall a. a -> a) type only accepts things that can be that polymorphic |
| 2022-01-01 14:28:48 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:28:53 +0000 | <hpc> | it will accept id, but not ($) for instance |
| 2022-01-01 14:28:53 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:29:04 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:29:07 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:29:17 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:29:19 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:29:30 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:29:30 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:29:40 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:29:40 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:29:50 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:29:50 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer) |
| 2022-01-01 14:30:01 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:30:01 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer) |
| 2022-01-01 14:30:12 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:30:12 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:30:13 +0000 | n3rdy1 | (~n3rdy1@2601:646:c300:f20:d852:3bde:2197:ddf9) |
| 2022-01-01 14:30:24 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:30:24 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:30:29 +0000 | <InternetCitizen> | sorry but isn't ($) :: forall a. forall b. (a -> b) -> a -> b ? |
| 2022-01-01 14:30:38 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:30:38 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:30:48 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:30:48 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:30:58 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:30:58 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer) |
| 2022-01-01 14:31:09 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:31:09 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:31:20 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:31:21 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:31:32 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:31:36 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:31:43 +0000 | ChanServ | +o geekosaur |
| 2022-01-01 14:31:47 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 14:31:52 +0000 | geekosaur | +b *!*@static.211.245.203.116.clients.your-server.de |
| 2022-01-01 14:31:53 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 14:32:06 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 2022-01-01 14:32:14 +0000 | geekosaur | -o geekosaur |
| 2022-01-01 14:32:27 +0000 | <hpc> | InternetCitizen: yea, but you can define it as ($) = id |
| 2022-01-01 14:32:28 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2022-01-01 14:32:41 +0000 | <hpc> | perhaps that's a bad example |
| 2022-01-01 14:32:54 +0000 | <hpc> | it will accept id, but not... not for instance |
| 2022-01-01 14:32:57 +0000 | <hpc> | :t not |
| 2022-01-01 14:32:58 +0000 | <lambdabot> | Bool -> Bool |
| 2022-01-01 14:33:08 +0000 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
| 2022-01-01 14:33:11 +0000 | <hpc> | grammatically that's an even worse example lol |
| 2022-01-01 14:34:53 +0000 | <hpc> | > let foo :: (forall a. a -> a) -> (Int, String); foo x = (x 3, x "three") in foo not |
| 2022-01-01 14:34:55 +0000 | <lambdabot> | error: |
| 2022-01-01 14:34:55 +0000 | <lambdabot> | • Couldn't match type ‘a’ with ‘Bool’ |
| 2022-01-01 14:34:55 +0000 | <lambdabot> | ‘a’ is a rigid type variable bound by |
| 2022-01-01 14:35:16 +0000 | <InternetCitizen> | hpc: so if I understand correctly, this implies that when it tries to infer the type of (\x -> (x 3, x "three")), it gives x a type variable `a` and not a type schema `forall a . b` (or something like that) |
| 2022-01-01 14:35:17 +0000 | <hpc> | and that's the sort of error you get when you pass something that's "too monomorphic" |
| 2022-01-01 14:35:42 +0000 | <hpc> | yeah |
| 2022-01-01 14:36:00 +0000 | <hpc> | it tries to have the "forall a" all the way to the left |
| 2022-01-01 14:36:15 +0000 | <hpc> | foo :: forall a. (a -> a) -> (Int, String) |
| 2022-01-01 14:36:23 +0000 | <hpc> | which means you have to pick a single a when calling foo |
| 2022-01-01 14:38:28 +0000 | <InternetCitizen> | hpc: thank you very much <3 |
| 2022-01-01 14:44:03 +0000 | max22- | (~maxime@2a01cb0883359800a99596770101e95e.ipv6.abo.wanadoo.fr) |
| 2022-01-01 14:49:11 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 2022-01-01 14:49:29 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2022-01-01 14:50:10 +0000 | gaff_ | (~gaff@49.207.192.225) (Remote host closed the connection) |
| 2022-01-01 14:51:27 +0000 | gaff | (~gaff@49.207.192.225) |
| 2022-01-01 14:53:25 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) (Ping timeout: 240 seconds) |
| 2022-01-01 14:54:58 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2022-01-01 14:55:37 +0000 | gaff | (~gaff@49.207.192.225) (Ping timeout: 240 seconds) |
| 2022-01-01 14:58:43 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 2022-01-01 14:59:07 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2022-01-01 15:00:32 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 2022-01-01 15:00:54 +0000 | SummerSonw | (~The_viole@203.77.49.232) (Ping timeout: 268 seconds) |
| 2022-01-01 15:02:04 +0000 | ChanServ | +o litharge |
| 2022-01-01 15:02:05 +0000 | litharge | -bo *!*@static.211.245.203.116.clients.your-server.de litharge |
| 2022-01-01 15:02:08 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:02:09 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:02:19 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:02:21 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:02:31 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:02:31 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:02:41 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:02:41 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:02:51 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:02:51 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer) |
| 2022-01-01 15:02:59 +0000 | gaff | (~gaff@49.207.192.225) |
| 2022-01-01 15:03:01 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:03:01 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:03:13 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:03:13 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:03:26 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:03:26 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:03:42 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:03:42 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:04:05 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:04:07 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:04:18 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:04:19 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:04:29 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:04:29 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:04:40 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:04:42 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:04:52 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:04:52 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:05:02 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:05:02 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer) |
| 2022-01-01 15:05:12 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:05:12 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:05:22 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:05:22 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:05:25 +0000 | <int-e> | geekosaur: ^half an hour wasn't enough |
| 2022-01-01 15:05:33 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:05:33 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:05:47 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:05:47 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:06:05 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:06:05 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:06:16 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:06:16 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:06:27 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:06:31 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:06:42 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:06:44 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:06:55 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:06:55 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:07:05 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:07:05 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:07:15 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:07:15 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:07:25 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:07:25 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:07:35 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:07:35 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer) |
| 2022-01-01 15:07:46 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:07:46 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer) |
| 2022-01-01 15:07:59 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:08:02 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:08:12 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:08:12 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer) |
| 2022-01-01 15:08:22 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:08:22 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer) |
| 2022-01-01 15:08:32 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:08:33 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:08:44 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:08:45 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:08:54 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:08:54 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:09:04 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:09:04 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer) |
| 2022-01-01 15:09:15 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:09:17 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:09:28 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:09:40 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:09:52 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:10:02 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:10:14 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:10:22 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:10:33 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:10:38 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:10:50 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:10:51 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:11:01 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:11:01 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:11:03 +0000 | SummerSonw | (~The_viole@203.77.49.232) |
| 2022-01-01 15:11:11 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:11:11 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer) |
| 2022-01-01 15:11:22 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:11:22 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:11:32 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:11:32 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer) |
| 2022-01-01 15:11:43 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:11:43 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:11:50 +0000 | <geekosaur> | blegh |
| 2022-01-01 15:11:53 +0000 | ChanServ | +o geekosaur |
| 2022-01-01 15:11:56 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:11:56 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:12:12 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 15:12:12 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection) |
| 2022-01-01 15:12:13 +0000 | geekosaur | +b ralu!*@* |
| 2022-01-01 15:12:24 +0000 | <Hecate> | §2 |
| 2022-01-01 15:12:41 +0000 | geekosaur | -o geekosaur |
| 2022-01-01 15:13:09 +0000 | gaff | (~gaff@49.207.192.225) (Ping timeout: 250 seconds) |
| 2022-01-01 15:13:17 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 15:13:17 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 15:13:17 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 15:13:54 +0000 | _ht | (~quassel@5.253.205.174) (Ping timeout: 260 seconds) |
| 2022-01-01 15:14:02 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 240 seconds) |
| 2022-01-01 15:14:07 +0000 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
| 2022-01-01 15:14:56 +0000 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
| 2022-01-01 15:14:57 +0000 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) |
| 2022-01-01 15:15:19 +0000 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 2022-01-01 15:15:46 +0000 | ph14nix | (~io@94.234.51.48) |
| 2022-01-01 15:17:36 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2022-01-01 15:19:44 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2022-01-01 15:19:46 +0000 | ph14nix | (~io@94.234.51.48) (Quit: WeeChat 3.4) |
| 2022-01-01 15:22:29 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) (Ping timeout: 252 seconds) |
| 2022-01-01 15:23:25 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) |
| 2022-01-01 15:25:49 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 15:26:51 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2022-01-01 15:27:15 +0000 | spaceseller | (~spacesell@31.147.205.13) (Quit: Leaving) |
| 2022-01-01 15:27:17 +0000 | son0p | (~ff@181.136.122.143) (Remote host closed the connection) |
| 2022-01-01 15:30:42 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 260 seconds) |
| 2022-01-01 15:30:57 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) (Ping timeout: 240 seconds) |
| 2022-01-01 15:31:37 +0000 | acode | (~acode@dslb-092-077-045-168.092.077.pools.vodafone-ip.de) |
| 2022-01-01 15:33:11 +0000 | <acode> | I'm a mathematician learning haskell and I'm confused by the name of the typeclass Functor. In my understanding Functor is for types that "can be mapped over" which makes a lot of sense, but I'm confused by its name. Is it related to functors in mathematics or is it one of the many instances of unrelated concepts sharing a name? |
| 2022-01-01 15:33:43 +0000 | <geekosaur> | it's a restricted form of a category theory functor, as I understand it |
| 2022-01-01 15:34:12 +0000 | <geekosaur> | there's a more genjeral one in Control.Category; the normla one is restricted to the (notional) category Hask of Haskell types |
| 2022-01-01 15:35:00 +0000 | <acode> | Uh I never realized that types form a category. What's an arrow in Hask? |
| 2022-01-01 15:38:41 +0000 | dyeplexer | (~dyeplexer@user/dyeplexer) (Ping timeout: 245 seconds) |
| 2022-01-01 15:38:51 +0000 | <Clint> | https://wiki.haskell.org/Hask |
| 2022-01-01 15:39:00 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2022-01-01 15:40:32 +0000 | <geekosaur> | and they don't quite, because of bottom. But I'm also led to believe that there are other category-like things that would admit Hask |
| 2022-01-01 15:40:42 +0000 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
| 2022-01-01 15:41:11 +0000 | <geekosaur> | also there's the paper "Fast and loose reasoning is morally correct" which shows that many CT things are applicable to Hask if you take some care |
| 2022-01-01 15:42:14 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) |
| 2022-01-01 15:42:52 +0000 | <acode> | very interesting, thanks for the references |
| 2022-01-01 15:42:57 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 2022-01-01 15:43:35 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Remote host closed the connection) |
| 2022-01-01 15:45:41 +0000 | SummerSonw | (~The_viole@203.77.49.232) (Quit: Leaving) |
| 2022-01-01 15:47:01 +0000 | zincy_ | (~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection) |
| 2022-01-01 15:47:28 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2022-01-01 15:49:28 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) |
| 2022-01-01 15:50:09 +0000 | Gurkenglas | (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) |
| 2022-01-01 15:52:10 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) (Ping timeout: 260 seconds) |
| 2022-01-01 15:53:17 +0000 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 240 seconds) |
| 2022-01-01 15:54:30 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Ping timeout: 260 seconds) |
| 2022-01-01 15:54:44 +0000 | son0p | (~ff@181.136.122.143) |
| 2022-01-01 15:56:39 +0000 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
| 2022-01-01 15:57:22 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2022-01-01 15:57:28 +0000 | gaff | (~gaff@49.207.207.53) |
| 2022-01-01 15:57:36 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
| 2022-01-01 15:58:18 +0000 | <lechner_> | Hi, my cabal.project.local specifies "ignore-project: False; compiler: ghc" Do I need it? Thanks! |
| 2022-01-01 15:58:39 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 2022-01-01 15:59:14 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 16:00:08 +0000 | ServerStatsDisco | (~serversta@2001:470:69fc:105::1a) (Quit: You have been kicked for being idle) |
| 2022-01-01 16:00:41 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2022-01-01 16:02:30 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 2022-01-01 16:04:25 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 268 seconds) |
| 2022-01-01 16:06:11 +0000 | dyeplexer | (~dyeplexer@user/dyeplexer) |
| 2022-01-01 16:09:02 +0000 | _73 | (~user@pool-108-49-252-36.bstnma.fios.verizon.net) (Remote host closed the connection) |
| 2022-01-01 16:12:29 +0000 | ChanServ | +o litharge |
| 2022-01-01 16:12:29 +0000 | litharge | -bo ralu!*@* litharge |
| 2022-01-01 16:15:07 +0000 | fef | (~thedawn@user/thedawn) (Quit: Leaving) |
| 2022-01-01 16:15:54 +0000 | <lyxia> | How do I use an installed package with standalone invocations of ghc? I tried cabal install --lib first-class-families && ghc -package first-class-families and cabal seems to install things somewhere but ghc tells me it "cannot satisfy -package first-class-families" |
| 2022-01-01 16:16:09 +0000 | <albet70> | is there binary package manager for ghc? |
| 2022-01-01 16:16:22 +0000 | Pickchea | (~private@user/pickchea) |
| 2022-01-01 16:16:39 +0000 | <hpc> | albet70: does apt count? :P |
| 2022-01-01 16:16:49 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 16:16:50 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2022-01-01 16:17:28 +0000 | <albet70> | apt provide scotty? |
| 2022-01-01 16:18:38 +0000 | <geekosaur> | lyxia, you may need to use --package-env (cabal) / -package-env (ghc) |
| 2022-01-01 16:18:47 +0000 | <hpc> | maybe? |
| 2022-01-01 16:18:52 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2022-01-01 16:19:02 +0000 | <hpc> | https://hackage.haskell.org/package/scotty doesn't list debian, but a few other distros have it packaged |
| 2022-01-01 16:19:49 +0000 | <hpc> | is there a reason you can't cabal install it? |
| 2022-01-01 16:20:16 +0000 | <geekosaur> | there's no binary package manager because too many things alter abis and ghc is critically dependent on the exact package abi for cross-module inlining |
| 2022-01-01 16:20:27 +0000 | MoC | (~moc@user/moc) |
| 2022-01-01 16:21:11 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 245 seconds) |
| 2022-01-01 16:21:15 +0000 | <albet70> | my VPS only has 1GB RAM |
| 2022-01-01 16:22:39 +0000 | <hpc> | yeah that'll do it |
| 2022-01-01 16:23:00 +0000 | <lyxia> | geekosaur: thanks, that works |
| 2022-01-01 16:23:02 +0000 | <hpc> | although, maybe upgrade it? |
| 2022-01-01 16:23:10 +0000 | <lyxia> | sounds like something I'm going to forget in a few months |
| 2022-01-01 16:23:10 +0000 | <hpc> | 1 gig isn't even enough to install centos anymore |
| 2022-01-01 16:23:22 +0000 | <albet70> | 1GB isn't enough to compile scotty |
| 2022-01-01 16:23:32 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) (Ping timeout: 252 seconds) |
| 2022-01-01 16:23:58 +0000 | euouae | (~euouae@user/euouae) |
| 2022-01-01 16:24:30 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2022-01-01 16:25:01 +0000 | <euouae> | Hello, I have a question about the reader monad and monads in general. From what I know, a monad is an endofunctor so M : C -> C, and then we have a return with type :: a -> M a. But how does this include the reader monad? https://en.wikipedia.org/wiki/Monad_(functional_programming)#Environment_monad |
| 2022-01-01 16:25:21 +0000 | <euouae> | In the reader monad, there are two parameters for return; the value and the environment |
| 2022-01-01 16:25:28 +0000 | <hpc> | albet70: build your webapp somewhere else and copy it over maybe? |
| 2022-01-01 16:25:48 +0000 | <hpc> | with static linking you won't need scotty's libs on the vps at all |
| 2022-01-01 16:26:11 +0000 | <euouae> | I'm noticing that there is the following remark under Notes, https://en.wikipedia.org/wiki/Monad_(functional_programming)#cite_note-4 which says in CT they're called "strong monads" instead? |
| 2022-01-01 16:26:22 +0000 | <euouae> | is that the missing link? |
| 2022-01-01 16:27:17 +0000 | <euouae> | Because again strong monads seem to involve a single category C and I don't understand how multiple parameters of different types are incorporated into the theory |
| 2022-01-01 16:27:24 +0000 | <lyxia> | energizer: return :: a -> M a, if M a = (e -> a) then return :: a -> e -> a |
| 2022-01-01 16:27:35 +0000 | <lyxia> | I'm not sure what's the confusion here |
| 2022-01-01 16:27:44 +0000 | <lyxia> | euouae: ^ |
| 2022-01-01 16:28:32 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) (Ping timeout: 240 seconds) |
| 2022-01-01 16:28:53 +0000 | <euouae> | Oh, I didn't realize the hom functor is a monad! |
| 2022-01-01 16:29:14 +0000 | <euouae> | but later on, with the state monad we have `type State s t = s -> (t, s)`. Isn't `State` the monad? |
| 2022-01-01 16:29:32 +0000 | <lyxia> | `State s` |
| 2022-01-01 16:29:44 +0000 | <euouae> | So `State s` is the monad? |
| 2022-01-01 16:29:54 +0000 | <lyxia> | `State s` is a monad, yes. |
| 2022-01-01 16:30:01 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 2022-01-01 16:31:05 +0000 | <euouae> | That's because of how constructors curry? |
| 2022-01-01 16:31:42 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2022-01-01 16:31:44 +0000 | <lyxia> | Can you define return :: a -> State s a ? bind :: State s a -> (a -> State s b) -> State s b ? Do they satisfy the monad laws? |
| 2022-01-01 16:32:44 +0000 | <euouae> | I'm just not understanding how to see it as M : C -> C. What's the category here? |
| 2022-01-01 16:33:12 +0000 | <lyxia> | Still the same category of types and functions |
| 2022-01-01 16:33:14 +0000 | <euouae> | If you parametrize State by `s` then I understand that C is Hask, and that's the objects `t` runs over |
| 2022-01-01 16:33:41 +0000 | <euouae> | But for `State` it looks more like C x C -> C |
| 2022-01-01 16:34:01 +0000 | <lyxia> | That's why I was careful to say `State s` |
| 2022-01-01 16:34:33 +0000 | <euouae> | The article states "From the category theory point of view, a state monad is derived from the adjunction between the product functor and the exponential functor, which exists in any cartesian closed category by definition. " |
| 2022-01-01 16:34:44 +0000 | <euouae> | Are they talking about `State` or `State s` here? |
| 2022-01-01 16:34:48 +0000 | <lyxia> | State s |
| 2022-01-01 16:35:21 +0000 | Pickchea | (~private@user/pickchea) (Ping timeout: 245 seconds) |
| 2022-01-01 16:35:26 +0000 | <euouae> | " Due to the fact that functions on multiple free variables are common in programming, monads as described in this article are technically what category theorists would call strong monads." |
| 2022-01-01 16:35:46 +0000 | <euouae> | Don't they mean `State` is a strong monad (with two parameters s and t)? |
| 2022-01-01 16:35:54 +0000 | <lyxia> | It's the adjunction between `(s, ) : Type -> Type` and `(s -> ) : Type -> Type`, using Haskell's partially applied infix notation. |
| 2022-01-01 16:36:11 +0000 | dyeplexer | (~dyeplexer@user/dyeplexer) (Ping timeout: 245 seconds) |
| 2022-01-01 16:36:40 +0000 | <euouae> | ah right. That's what product and exponential means since A -> B = B^A |
| 2022-01-01 16:36:55 +0000 | <lyxia> | I think you should skip over any mention of strong monads because that's irrelevant for this question. |
| 2022-01-01 16:37:33 +0000 | <euouae> | so when we talk about a monad M t1 t2 ... tn, we really mean that (M t1 t2 ... tn-1) is a monad? |
| 2022-01-01 16:38:00 +0000 | <lyxia> | Like, table it for after you can reliably say what "M" is when you look at a new monad. |
| 2022-01-01 16:38:32 +0000 | <lyxia> | Yeah that's usually the case |
| 2022-01-01 16:38:57 +0000 | <lyxia> | When we say monads in Haskell we usually refer to monads on Hask |
| 2022-01-01 16:39:34 +0000 | <lyxia> | That's exacly what the Monad class represents |
| 2022-01-01 16:40:03 +0000 | <albet70> | what is Kleisli arrow? |
| 2022-01-01 16:40:09 +0000 | <euouae> | got it, thank you lyxia |
| 2022-01-01 16:40:11 +0000 | <lyxia> | sometimes monads in other categories are relevant, and hopefully it will be mentioned explicitly, but it's useful being careful regardless |
| 2022-01-01 16:40:18 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2022-01-01 16:42:41 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 2022-01-01 16:42:59 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2022-01-01 16:45:13 +0000 | jtomas | (~jtomas@153.red-83-53-252.dynamicip.rima-tde.net) (Remote host closed the connection) |
| 2022-01-01 16:45:36 +0000 | jtomas | (~jtomas@153.red-83-53-252.dynamicip.rima-tde.net) |
| 2022-01-01 16:46:21 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 2022-01-01 16:47:18 +0000 | acode | (~acode@dslb-092-077-045-168.092.077.pools.vodafone-ip.de) (Quit: Client closed) |
| 2022-01-01 16:48:10 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2022-01-01 16:48:39 +0000 | pavonia | (~user@user/siracusa) |
| 2022-01-01 16:50:30 +0000 | mc47 | (~mc47@xmonad/TheMC47) |
| 2022-01-01 16:50:30 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
| 2022-01-01 16:50:45 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 16:50:45 +0000 | slowButPresent | (~slowButPr@user/slowbutpresent) |
| 2022-01-01 16:50:46 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
| 2022-01-01 16:50:47 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
| 2022-01-01 16:51:54 +0000 | dyeplexer | (~dyeplexer@user/dyeplexer) |
| 2022-01-01 16:52:02 +0000 | <monochrom> | No, I don't talk about a monad "Maybe X". I talk about a monad "Maybe". |
| 2022-01-01 16:52:40 +0000 | <monochrom> | Likewise, I don't talk about a function "f(x)". "f" is the function. |
| 2022-01-01 16:54:19 +0000 | burnsidesLlama | (~burnsides@dhcp168-013.wadham.ox.ac.uk) |
| 2022-01-01 16:54:22 +0000 | <lyxia> | I believe in getting people to do more math and they will learn to police their language themselves. |
| 2022-01-01 16:55:11 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 250 seconds) |
| 2022-01-01 16:55:51 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 250 seconds) |
| 2022-01-01 16:56:02 +0000 | Feuermagier | (~Feuermagi@user/feuermagier) |
| 2022-01-01 16:59:02 +0000 | <monochrom> | No, this is not about policing. And I have had students who have appreciated that my clarifications helped them unstick and move forward. |
| 2022-01-01 16:59:46 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 17:00:17 +0000 | <euouae> | monochrom, so you're saying that you'd say that `State s` is a monad, which clarifies what is a monad and what is the parameter. |
| 2022-01-01 17:00:28 +0000 | <monochrom> | Yes. |
| 2022-01-01 17:02:00 +0000 | <euouae> | unfortunately the paper I'm reading doesn't seem to follow that rule |
| 2022-01-01 17:02:48 +0000 | <euouae> | Or, I have not read it as carefully as I should? But I do understand what the convention is now that you mention it |
| 2022-01-01 17:03:33 +0000 | <euouae> | for example they call `M` a monad but then explain it is parametrized by some `t`, which I think is similar to `State` being parametrized by `s` |
| 2022-01-01 17:06:54 +0000 | <monochrom> | Oh, I say "the State monad" all the time, too. But only when I'm casually and to people who have already known. To beginners, I place consistency at a high priority. |
| 2022-01-01 17:08:44 +0000 | Jing | (~hedgehog@2604:a840:3::1013) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2022-01-01 17:09:22 +0000 | <euouae> | yeah there's some in-the-know thing going on but I'm trying to break through :P thank you for the help |
| 2022-01-01 17:10:24 +0000 | <lyxia> | monochrom: that's a fair point! |
| 2022-01-01 17:12:18 +0000 | econo | (uid147250@user/econo) |
| 2022-01-01 17:13:37 +0000 | n3rdy1 | (~n3rdy1@2601:646:c300:f20:d852:3bde:2197:ddf9) (Ping timeout: 240 seconds) |
| 2022-01-01 17:16:31 +0000 | nrl^ | (~nrl@207.5.21.20) (Ping timeout: 256 seconds) |
| 2022-01-01 17:20:46 +0000 | Jing | (~hedgehog@2604:a840:3::1013) |
| 2022-01-01 17:23:11 +0000 | <euouae> | lyxia that statement that (-> e) is a monad was quite tricky actually |
| 2022-01-01 17:23:19 +0000 | <euouae> | or sorry, (a ->) |
| 2022-01-01 17:29:26 +0000 | Midjak | (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) |
| 2022-01-01 17:32:04 +0000 | nrl^ | (~nrl@207.5.21.20) |
| 2022-01-01 17:33:59 +0000 | _73 | (~user@pool-108-49-252-36.bstnma.fios.verizon.net) |
| 2022-01-01 17:34:50 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 260 seconds) |
| 2022-01-01 17:38:49 +0000 | eflister | (~eflister@2601:1c0:5501:c150:19dd:dfde:ec02:aa1) |
| 2022-01-01 17:39:51 +0000 | hexology | (~hexology@user/hexology) |
| 2022-01-01 17:42:28 +0000 | gaff | (~gaff@49.207.207.53) (Remote host closed the connection) |
| 2022-01-01 17:45:20 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2022-01-01 17:46:13 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 17:48:25 +0000 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
| 2022-01-01 17:49:10 +0000 | nrl^ | (~nrl@207.5.21.20) (Remote host closed the connection) |
| 2022-01-01 17:50:39 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 250 seconds) |
| 2022-01-01 17:53:09 +0000 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 2022-01-01 17:53:34 +0000 | <sirlensalot> | Anybody have an idea how to use lens to traverse/fold a rank-2 list to "take" or "drop" from it? E.g., given [[1::Int,2,3],[4,5]], I'd like a `take 4` operation that results in `[[1,2,3],[4]]` |
| 2022-01-01 17:54:00 +0000 | <sirlensalot> | I have an operational solution but I was hoping there'd be some IndexedTraversal magic |
| 2022-01-01 17:58:26 +0000 | mbuf | (~Shakthi@223.184.115.117) (Quit: Leaving) |
| 2022-01-01 17:58:54 +0000 | <Taneb> | I'm not aware of any lensy magic that lets you do that |
| 2022-01-01 18:01:27 +0000 | justsomeguy | (~justsomeg@user/justsomeguy) |
| 2022-01-01 18:01:53 +0000 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 2022-01-01 18:03:03 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 18:05:38 +0000 | Jing | (~hedgehog@2604:a840:3::1013) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2022-01-01 18:07:25 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 240 seconds) |
| 2022-01-01 18:09:04 +0000 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 2022-01-01 18:09:43 +0000 | <xerox> | as for not lensy if you write a take variant that also tells you how much it took it's pretty straightforward |
| 2022-01-01 18:10:52 +0000 | Keriel | (~Keriel@bras-base-toroon474qw-grc-71-184-145-2-133.dsl.bell.ca) |
| 2022-01-01 18:13:06 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) |
| 2022-01-01 18:14:05 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 2022-01-01 18:14:38 +0000 | johnw | (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in) |
| 2022-01-01 18:17:17 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
| 2022-01-01 18:18:53 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2022-01-01 18:19:01 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 18:19:01 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 18:19:01 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 18:19:45 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 18:22:17 +0000 | Pickchea | (~private@user/pickchea) |
| 2022-01-01 18:22:54 +0000 | <Keriel> | hi, I'm going through HPPFP at the moment and having trouble with the exercises at the end of ch 10 that want you to write a bunch of point-free folds. a lot of them have been ugly enough I think I'm doing something wrong, e.g. myElemF = flip foldr False . ((||) .) . (==) - but also I don't see how to do filter at all. |
| 2022-01-01 18:23:22 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 260 seconds) |
| 2022-01-01 18:23:25 +0000 | <Keriel> | I wanted to start with something like - flip foldr [] . bool (:) (flip const) . magic - but I need to somehow apply the test function to the list element and still have a copy of the list element to cons if needed, which I don't see how to do. |
| 2022-01-01 18:23:57 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 240 seconds) |
| 2022-01-01 18:26:47 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 2022-01-01 18:27:24 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 18:27:24 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 18:27:24 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 18:30:14 +0000 | <euouae> | Keriel what do you mean by point-free style? So you want filter = expr, with no arguments involved, right? |
| 2022-01-01 18:30:45 +0000 | dyeplexer | (~dyeplexer@user/dyeplexer) (Ping timeout: 256 seconds) |
| 2022-01-01 18:30:50 +0000 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 260 seconds) |
| 2022-01-01 18:31:25 +0000 | <euouae> | wouldn't it be enough to write it pointful and then work from there to make it pointfree? |
| 2022-01-01 18:32:16 +0000 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 2022-01-01 18:33:01 +0000 | <monochrom> | filter will be a direct foldr, rather than a flip foldr. |
| 2022-01-01 18:34:15 +0000 | <monochrom> | In this case, the hard part is the pointfree form of what you give to foldr. |
| 2022-01-01 18:35:11 +0000 | <monochrom> | In this case, I wouldn't bother. |
| 2022-01-01 18:36:39 +0000 | <monochrom> | Some pointfree forms elucidate new perspectives, new structures, new beauty. |
| 2022-01-01 18:36:44 +0000 | <monochrom> | This is not one of them. |
| 2022-01-01 18:36:59 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 2022-01-01 18:39:12 +0000 | euouae | (~euouae@user/euouae) (Quit: ) |
| 2022-01-01 18:41:16 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2022-01-01 18:43:29 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 18:43:29 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 18:43:29 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 18:45:48 +0000 | <justsomeguy> | Heh, I guess I did all of those exercises wrong. |
| 2022-01-01 18:45:59 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
| 2022-01-01 18:46:41 +0000 | jtomas | (~jtomas@153.red-83-53-252.dynamicip.rima-tde.net) (Remote host closed the connection) |
| 2022-01-01 18:47:26 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2022-01-01 18:50:05 +0000 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3) |
| 2022-01-01 18:50:24 +0000 | eflister | (~eflister@2601:1c0:5501:c150:19dd:dfde:ec02:aa1) (Quit: Client closed) |
| 2022-01-01 18:50:59 +0000 | <Keriel> | euouae: yeah. filter = expr, where expr also does not contain any lambdas (the latter being the hard part) |
| 2022-01-01 18:51:32 +0000 | <Keriel> | monochrom: hm, not flip? don't you need to flip since you don't know what the function is yet but you know what the base case is? or am I misunderstanding when you use flip? (but if you think it's not worth doing that's reasonable too) |
| 2022-01-01 18:52:11 +0000 | <monochrom> | How does flip have to do with base cases? |
| 2022-01-01 18:52:36 +0000 | <tomsmeding> | > (\p -> foldr (\x r -> if p x then x : r else r) []) (>3) [1..6] |
| 2022-01-01 18:52:38 +0000 | <lambdabot> | [4,5,6] |
| 2022-01-01 18:52:39 +0000 | <monochrom> | Every recursion has base cases. Are you saying therefore all recursive functions must use flip? |
| 2022-01-01 18:52:52 +0000 | <tomsmeding> | @pl \p -> foldr (\x r -> if p x then x : r else r) [] |
| 2022-01-01 18:52:52 +0000 | <lambdabot> | flip foldr [] . flip flip id . (ap .) . (`ap` (:)) . (((.) . if') .) |
| 2022-01-01 18:53:16 +0000 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
| 2022-01-01 18:53:17 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
| 2022-01-01 18:53:28 +0000 | <Keriel> | I'm not sure what ap is? |
| 2022-01-01 18:53:37 +0000 | <tomsmeding> | Good :p |
| 2022-01-01 18:54:02 +0000 | <tomsmeding> | It's <*>, but that knowledge is probably not helpful to you |
| 2022-01-01 18:54:18 +0000 | <tomsmeding> | Are you very sure they're asking to make filter without any lambdas anywhere? |
| 2022-01-01 18:54:33 +0000 | Pickchea | (~private@user/pickchea) (Ping timeout: 256 seconds) |
| 2022-01-01 18:54:37 +0000 | <tomsmeding> | Because that's, well, that, and that is as monochrom not giving any insight |
| 2022-01-01 18:54:41 +0000 | <Keriel> | only in that someone elsewhere told me to use <*> earlier, so now I know I've gotten the same suggestion twice :P |
| 2022-01-01 18:55:09 +0000 | sprout | (~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) |
| 2022-01-01 18:55:24 +0000 | <Keriel> | the example at the start of the exercise set starts with the comment "-- fold, both myAnd and the folding function are point-free now" |
| 2022-01-01 18:55:27 +0000 | <EvanR> | if you're trying to "golf" your arguments down to zero <*> is one of those things that can contribute |
| 2022-01-01 18:55:40 +0000 | <Keriel> | which I think makes it clear they don't want me to use lambdas in the folding function |
| 2022-01-01 18:55:47 +0000 | <tomsmeding> | Ah right |
| 2022-01-01 18:55:54 +0000 | <EvanR> | (f <*> g) x = f x (g x) |
| 2022-01-01 18:55:57 +0000 | <Keriel> | but it might be one of those exercise where they want you to realize you can't do it with the tools you have and move on |
| 2022-01-01 18:56:05 +0000 | <EvanR> | (for instance) |
| 2022-01-01 18:56:08 +0000 | <tomsmeding> | So you want 'filter p = foldr _ []' for some _ |
| 2022-01-01 18:56:27 +0000 | <tomsmeding> | The above was 'filter = _' |
| 2022-01-01 18:56:28 +0000 | <Keriel> | well, that's not pointfree , right? |
| 2022-01-01 18:56:29 +0000 | <EvanR> | wait that's monads |
| 2022-01-01 18:57:21 +0000 | <tomsmeding> | Keriel: ... I guess, indeed |
| 2022-01-01 18:57:58 +0000 | <tomsmeding> | I mean, you're going to need a conditional somehow: you need to call the predicate on list elements to decide whether to include the element or not |
| 2022-01-01 18:58:13 +0000 | <tomsmeding> | And Prelude doesn't have a pointfree conditional |
| 2022-01-01 18:58:18 +0000 | <monochrom> | Some of us accept "map f = foldr ..." as pointfree. It is good enough to get rid of "xs". |
| 2022-01-01 18:58:34 +0000 | <Keriel> | they've shown us bool in an earlier chapter so I was using that |
| 2022-01-01 18:58:40 +0000 | <tomsmeding> | Lambdabot sneakily used if', assuming that's defined as if' a b c = if a then b else c |
| 2022-01-01 18:58:46 +0000 | <tomsmeding> | Ah yeah that's bool |
| 2022-01-01 18:58:49 +0000 | eflister | (~eflister@2601:1c0:5501:c150:e86d:7316:8592:8dd3) |
| 2022-01-01 18:59:08 +0000 | <tomsmeding> | I have a suspicion that the book had monochrom's version in mind |
| 2022-01-01 18:59:10 +0000 | <Keriel> | also, monochrom: the reason I thought you had to use flip foldr was just that you know what the second argument to foldr will be - [] - before taking any of the arguments to filter, but not the first one? |
| 2022-01-01 18:59:28 +0000 | <Keriel> | but yeah. it seems like there isn't a real solution with what they've shown me so I should try to write it as filter f = ... |
| 2022-01-01 18:59:34 +0000 | <lechner_> | Hi, why does this module explicty import Prelude, please? https://github.com/nikita-volkov/hasql#short-example |
| 2022-01-01 18:59:36 +0000 | <tomsmeding> | Keriel: the @pl output started with 'flip foldr []' for precisely that reason |
| 2022-01-01 18:59:51 +0000 | ProfSimm | (~ProfSimm@87.227.196.109) |
| 2022-01-01 19:00:09 +0000 | <tomsmeding> | @pl \x r -> if p x then x : r else r |
| 2022-01-01 19:00:09 +0000 | <lambdabot> | join . ap ((.) . if' . p) (:) |
| 2022-01-01 19:00:13 +0000 | <tomsmeding> | Meh |
| 2022-01-01 19:00:27 +0000 | <Keriel> | right, I've been doing flip foldr for a lot of these, I was replying to monochrom asking what flip has to do with base cases |
| 2022-01-01 19:00:37 +0000 | <tomsmeding> | :t flip |
| 2022-01-01 19:00:38 +0000 | <lambdabot> | (a -> b -> c) -> b -> a -> c |
| 2022-01-01 19:00:50 +0000 | <tomsmeding> | Flip just flips the arguments of a function |
| 2022-01-01 19:00:51 +0000 | <monochrom> | Generally when an argument is mentioned twice, it's already a nightmare. Here we have two arguments, both mentioned twice. |
| 2022-01-01 19:01:02 +0000 | <Keriel> | yeah I'm... not even immediately sure if I can do filter f = ... |
| 2022-01-01 19:01:36 +0000 | <Keriel> | they also want maximumBy and minimumBy which seem impossible for the same reason |
| 2022-01-01 19:02:01 +0000 | <monochrom> | I think those are easier and nicer. |
| 2022-01-01 19:02:04 +0000 | <tomsmeding> | :t let bool a b c = if a then b else c in \p -> foldr (join . ap ((.) . bool . p) (:)) -- this is the @pl output, but it's completely unreadable |
| 2022-01-01 19:02:05 +0000 | <lambdabot> | Foldable t => (a -> Bool) -> [a] -> t a -> [a] |
| 2022-01-01 19:02:35 +0000 | <Keriel> | I'll take a look at those then. are you thinking of maximumBy = _ or maximumBy f = _? |
| 2022-01-01 19:02:45 +0000 | <monochrom> | Yes. |
| 2022-01-01 19:03:11 +0000 | <monochrom> | Err, "maximumBy f = _". |
| 2022-01-01 19:03:32 +0000 | <Keriel> | hmm I guess I have to use head here? |
| 2022-01-01 19:04:10 +0000 | <Keriel> | or at least, I don't think the book has introduced foldr1 so I'm probably not meant to use it |
| 2022-01-01 19:04:12 +0000 | <monochrom> | Consider foldl1 or foldr1. |
| 2022-01-01 19:04:27 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2022-01-01 19:05:09 +0000 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 2022-01-01 19:05:36 +0000 | jpds | (~jpds@gateway/tor-sasl/jpds) |
| 2022-01-01 19:08:44 +0000 | <Keriel> | well. the normal version would be myMaximumBy f = foldr1 (\x y -> bool y x (f x y == GT)) - also using foldr1 because yeah I can't see how to do it without that or ugly head stuff |
| 2022-01-01 19:09:34 +0000 | <Keriel> | but this seems to need something like the ap stuff being discussed above? I can do 'flip bool' to get the correct 'conditional', but then I no longer have x and y left to use for the comparison test. if that makes sense. |
| 2022-01-01 19:09:45 +0000 | Erutuon | (~Erutuon@user/erutuon) |
| 2022-01-01 19:10:40 +0000 | <monochrom> | Ah, that's difficult, yeah. |
| 2022-01-01 19:11:04 +0000 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
| 2022-01-01 19:11:49 +0000 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
| 2022-01-01 19:12:11 +0000 | <Keriel> | I think I'm just going to assume I'm supposed to treat these as impossible to write pointfree and come back to it when I learn more tools |
| 2022-01-01 19:12:26 +0000 | <Keriel> | thanks for the help though ^^ |
| 2022-01-01 19:15:49 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
| 2022-01-01 19:18:53 +0000 | <lechner_> | Hi, in a pinch is there a way, please, to makel libraries accessible to runhaskell without a local cabal file? |
| 2022-01-01 19:19:37 +0000 | <lechner_> | cabal install hasql says " Cannot build the executables" |
| 2022-01-01 19:19:51 +0000 | <monochrom> | No, but we know ways of "cabal run" and "cabal repl" |
| 2022-01-01 19:21:28 +0000 | drewolson | (~drewolson@user/drewolson) (Quit: The Lounge - https://thelounge.chat) |
| 2022-01-01 19:21:39 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds) |
| 2022-01-01 19:22:00 +0000 | <lechner_> | should i use cabal repl instead? |
| 2022-01-01 19:22:04 +0000 | drewolson | (~drewolson@user/drewolson) |
| 2022-01-01 19:22:14 +0000 | <EvanR> | if you really can't figure out how to write something point free, consider how anyone's supposed to read it later xD |
| 2022-01-01 19:22:20 +0000 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
| 2022-01-01 19:22:36 +0000 | <monochrom> | I read it by putting the points back. |
| 2022-01-01 19:23:08 +0000 | <monochrom> | I mean in the ugly cases, of course. |
| 2022-01-01 19:23:11 +0000 | deadmarshal | (~deadmarsh@95.38.119.182) (Ping timeout: 250 seconds) |
| 2022-01-01 19:23:21 +0000 | zincy_ | (~zincy@host86-151-99-97.range86-151.btcentralplus.com) |
| 2022-01-01 19:23:46 +0000 | <EvanR> | a combination of bool and (==GT) is screaming case analysis to me |
| 2022-01-01 19:24:13 +0000 | <monochrom> | "interact (unlines . map (show . solve . read) . lines)" is best read without putting the points back. It's a nice one. |
| 2022-01-01 19:24:56 +0000 | drewolson | (~drewolson@user/drewolson) (Client Quit) |
| 2022-01-01 19:25:05 +0000 | drewolson | (~drewolson@user/drewolson) |
| 2022-01-01 19:25:27 +0000 | max22- | (~maxime@2a01cb0883359800a99596770101e95e.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds) |
| 2022-01-01 19:26:37 +0000 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 240 seconds) |
| 2022-01-01 19:26:43 +0000 | <EvanR> | \x y -> case f x y of GT -> y; _ -> x |
| 2022-01-01 19:27:14 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2022-01-01 19:27:25 +0000 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
| 2022-01-01 19:29:59 +0000 | Erutuon | (~Erutuon@user/erutuon) |
| 2022-01-01 19:30:07 +0000 | <lechner_> | Hi, rel8 requires base ^>=4.14 but Debian's ghc 8.8.4 only comes with base 4.13 (constraint from non-upgradeable package requires installed instance). can i upgrade ghc via cabal, too? |
| 2022-01-01 19:32:09 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2022-01-01 19:32:18 +0000 | coolnickname | (uid531864@user/coolnickname) (Quit: Connection closed for inactivity) |
| 2022-01-01 19:32:43 +0000 | <c_wraith> | lechner_: you're best off completely uninstalling debian's ghc distribution and using ghcup to manage your installed ghc versions |
| 2022-01-01 19:34:00 +0000 | Sgeo | (~Sgeo@user/sgeo) |
| 2022-01-01 19:34:52 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4) |
| 2022-01-01 19:35:13 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 2022-01-01 19:36:15 +0000 | <lechner_> | c_wraith: thanks! |
| 2022-01-01 19:37:18 +0000 | otherwise | (~otherwise@2601:602:880:90f0:4406:752c:ba78:a481) |
| 2022-01-01 19:48:23 +0000 | califax | (~califax@user/califx) |
| 2022-01-01 19:51:07 +0000 | kjak | (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) |
| 2022-01-01 19:53:23 +0000 | JimL | (~quassel@89-162-2-132.fiber.signal.no) |
| 2022-01-01 19:54:59 +0000 | justsomeguy | (~justsomeg@user/justsomeguy) |
| 2022-01-01 19:54:59 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4) |
| 2022-01-01 19:55:15 +0000 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 2022-01-01 19:58:41 +0000 | shapr | (~user@pool-108-28-144-11.washdc.fios.verizon.net) (Ping timeout: 245 seconds) |
| 2022-01-01 19:59:47 +0000 | max22- | (~maxime@2a01cb0883359800767a96b77d5018f7.ipv6.abo.wanadoo.fr) |
| 2022-01-01 20:00:20 +0000 | xb0o2 | (~xb0o2@user/xb0o2) |
| 2022-01-01 20:06:45 +0000 | juhp | (~juhp@128.106.188.82) |
| 2022-01-01 20:06:57 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 2022-01-01 20:08:04 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
| 2022-01-01 20:08:32 +0000 | coot | (~coot@89-64-85-93.dynamic.chello.pl) |
| 2022-01-01 20:09:55 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
| 2022-01-01 20:10:33 +0000 | zincy_ | (~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection) |
| 2022-01-01 20:10:35 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 20:10:35 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 20:10:35 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 20:18:08 +0000 | simendsjo | (~user@host.62.119.30.141.bitcom.se) |
| 2022-01-01 20:20:07 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 2022-01-01 20:20:55 +0000 | otherwise | (~otherwise@2601:602:880:90f0:4406:752c:ba78:a481) (Remote host closed the connection) |
| 2022-01-01 20:23:28 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 20:23:28 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 20:23:28 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 20:24:44 +0000 | <lechner_> | Hi, is it possible, in hasql, to use a more general connection string (for pg_service) or do i have to specify all the parameters with this separately? I can't figure out how to turn a strict bytestring into the "type Settings = ByteString" declared here https://hackage.haskell.org/package/hasql-1.4.5.3/docs/Hasql-Connection.html |
| 2022-01-01 20:26:57 +0000 | simendsjo | (~user@host.62.119.30.141.bitcom.se) (Remote host closed the connection) |
| 2022-01-01 20:27:57 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 2022-01-01 20:28:18 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 20:29:09 +0000 | Pickchea | (~private@user/pickchea) |
| 2022-01-01 20:30:17 +0000 | simendsjo | (~user@host.62.119.30.141.bitcom.se) |
| 2022-01-01 20:30:37 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 20:30:37 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 20:30:37 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 20:32:01 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 20:32:06 +0000 | <lechner_> | never mind, it worked! |
| 2022-01-01 20:33:34 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 20:33:55 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Remote host closed the connection) |
| 2022-01-01 20:35:29 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 20:35:44 +0000 | nschoe | (~quassel@2a01:e0a:8e:a190:9f8d:fdc0:8a25:3c46) |
| 2022-01-01 20:35:44 +0000 | nschoe | (~quassel@2a01:e0a:8e:a190:9f8d:fdc0:8a25:3c46) (Client Quit) |
| 2022-01-01 20:35:52 +0000 | cosimone | (~user@93-34-132-88.ip49.fastwebnet.it) |
| 2022-01-01 20:35:54 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 20:37:30 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 20:37:56 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 20:39:32 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 20:39:58 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 20:41:33 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 20:41:59 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 20:42:04 +0000 | euouae | (~euouae@user/euouae) |
| 2022-01-01 20:42:09 +0000 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3) |
| 2022-01-01 20:42:19 +0000 | <euouae> | Hello, what part of the monad definition makes monads appropriate for effectful computations? |
| 2022-01-01 20:43:09 +0000 | <int-e> | :t (>>=) |
| 2022-01-01 20:43:09 +0000 | <lambdabot> | Monad m => m a -> (a -> m b) -> m b |
| 2022-01-01 20:43:32 +0000 | <euouae> | is it the associativity of the join operator? |
| 2022-01-01 20:43:34 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 20:43:45 +0000 | <euouae> | is join "running" the effects? |
| 2022-01-01 20:44:00 +0000 | <int-e> | this gives a nice way of sequencing effects one after another (where "sequencing" is really more syntactical than about the actual effects) |
| 2022-01-01 20:44:01 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 20:44:07 +0000 | <int-e> | @src (>>=) |
| 2022-01-01 20:44:07 +0000 | <lambdabot> | Source not found. I am sorry. |
| 2022-01-01 20:44:14 +0000 | <int-e> | (just checking) |
| 2022-01-01 20:44:16 +0000 | <Rembane> | The runtime system takes care of executing the effects in IO. |
| 2022-01-01 20:44:22 +0000 | <Rembane> | IIRC |
| 2022-01-01 20:44:24 +0000 | <euouae> | How do you read that type and understand sequencing? |
| 2022-01-01 20:44:38 +0000 | <euouae> | what is an effect? |
| 2022-01-01 20:44:51 +0000 | <int-e> | :t join -- yes, join also sequences two effects; f >>= g = join (g <$> f) after all |
| 2022-01-01 20:44:52 +0000 | <lambdabot> | Monad m => m (m a) -> m a |
| 2022-01-01 20:45:01 +0000 | <euouae> | I guess `a -> m b` is a computation with an effect, right? |
| 2022-01-01 20:45:18 +0000 | <int-e> | what kind of "effect" you have depends on the monad |
| 2022-01-01 20:45:21 +0000 | <Rembane> | It doesn't have to. Take a look at Data.Maybe. |
| 2022-01-01 20:45:22 +0000 | <euouae> | and we already have an effect `m a`, so we can continue the chain of computation. |
| 2022-01-01 20:45:35 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 20:45:47 +0000 | <euouae> | Rembane Oh yes, I do understand that. I'm just trying to understand that 1) a functor 2) the coherence laws -- why is /that/ the right tool for effects |
| 2022-01-01 20:46:00 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 20:46:11 +0000 | <int-e> | IO is basically the only one with a *real* effect (launching missiles etc) |
| 2022-01-01 20:47:15 +0000 | <dsal> | You can think of ST as closer to State than IO and have a similar mental model. Might be a good bridge. |
| 2022-01-01 20:47:35 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 20:47:50 +0000 | <dsal> | IO has no constrained effects, where State allows you to make arbitrary changes to a specific value. The ordering of those effects is important. |
| 2022-01-01 20:47:52 +0000 | <monochrom> | Mathematicians study monads in terms of join. But join is not very relatable to programmers. >>= is most relatable, Kleisli arrow is not bad either. |
| 2022-01-01 20:48:01 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 20:48:03 +0000 | simendsjo | (~user@host.62.119.30.141.bitcom.se) (Remote host closed the connection) |
| 2022-01-01 20:48:27 +0000 | <int-e> | euouae: monads weren't made for effects... I think people studying effects noticed that they have a monadic structure. |
| 2022-01-01 20:49:13 +0000 | <int-e> | euouae: Which makes that kind of question fruitless (at least to my mind) because it's putting the cart before the horse. |
| 2022-01-01 20:49:34 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 20:49:48 +0000 | <euouae> | perhaps my confusion is as to what is a formal definition for an effect |
| 2022-01-01 20:49:59 +0000 | <monochrom> | Heh we have none. |
| 2022-01-01 20:50:00 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 20:50:32 +0000 | nhatanh02 | (~satori@123.24.172.30) (Ping timeout: 240 seconds) |
| 2022-01-01 20:50:49 +0000 | <euouae> | see, if I were any less wiser, I'd still be confused. But nay, I am now not confused anymore! |
| 2022-01-01 20:51:11 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2022-01-01 20:51:35 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 20:51:50 +0000 | <monochrom> | BTW I know of a philosopher who opposes having a rigorous definition of "life" for its potential in stagnating biology. Part of the fun of biology is to leave it open so you can always challenge or expand the scope. |
| 2022-01-01 20:52:00 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 20:52:17 +0000 | kjak | (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 2022-01-01 20:52:19 +0000 | <Rembane> | euouae: here, have loads of examples: https://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf |
| 2022-01-01 20:52:21 +0000 | <monochrom> | And so I think it is a good thing we don't draw a hard line around "effect" either. |
| 2022-01-01 20:53:16 +0000 | <euouae> | Rembane nice, thank you! |
| 2022-01-01 20:53:21 +0000 | <Rembane> | euouae: No worries. :) |
| 2022-01-01 20:53:36 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 20:53:55 +0000 | <int-e> | > [1,2,3] >>= \x -> [x..x*2] -- exercise, or possibly a topic for debate: what's the effect here? |
| 2022-01-01 20:53:57 +0000 | <lambdabot> | [1,2,2,3,4,3,4,5,6] |
| 2022-01-01 20:54:03 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 20:54:10 +0000 | <Rembane> | monochrom: OTOH, we can draw a fuzzy line around the effect idea and put the data type IO on it. |
| 2022-01-01 20:54:25 +0000 | <int-e> | (the stock answer is "nondeterminism") |
| 2022-01-01 20:54:35 +0000 | <EvanR> | euouae, you go through many examples of effects and then maybe or maybe not you know what an effect is |
| 2022-01-01 20:55:07 +0000 | <monochrom> | Well yeah same for "data structure". We do have a consensus on a larger class of examples and a large class of counterexamples for both. |
| 2022-01-01 20:55:25 +0000 | <monochrom> | Same for "car", really. |
| 2022-01-01 20:55:36 +0000 | <EvanR> | examples often given first, modifying a state in a stateful computation, using an RNG (same thing really), throwing an exception to stop a computation early, outputting to a log during the computation |
| 2022-01-01 20:55:38 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 20:55:43 +0000 | <int-e> | monochrom: contents of address register? |
| 2022-01-01 20:55:52 +0000 | <monochrom> | haha |
| 2022-01-01 20:55:59 +0000 | <monochrom> | That's a data structure! |
| 2022-01-01 20:56:08 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 20:56:30 +0000 | <dsal> | Is "Reader monad" considered related to effects? That makes things blurry for me. |
| 2022-01-01 20:56:41 +0000 | <EvanR> | later on people start messing with you calling "non-termination" an effect, also CPS |
| 2022-01-01 20:57:42 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 20:57:58 +0000 | <int-e> | dsal: it's the effect of living in an unchanging environment (or maybe a museum: you can look, but not touch) |
| 2022-01-01 20:58:07 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 20:58:14 +0000 | <int-e> | (I'm not very serious about this) |
| 2022-01-01 20:58:18 +0000 | <EvanR> | that doesn't seem like a proper effect xD |
| 2022-01-01 20:58:25 +0000 | <EvanR> | it's a lack of effect |
| 2022-01-01 20:58:39 +0000 | <Rembane> | You can change it, but only one monter at the time, and when you leave scope it is restored. |
| 2022-01-01 20:58:57 +0000 | <monochrom> | If the answer depends on a hidden datum, that is a little bit effectful. |
| 2022-01-01 20:58:57 +0000 | <EvanR> | that's a weird feature of Reader specifically |
| 2022-01-01 20:59:33 +0000 | <int-e> | reader is fairly useless... except that it allows you to use generic monadic functions; it's a bit more useful as a transformer |
| 2022-01-01 20:59:41 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:00:05 +0000 | <monochrom> | :( |
| 2022-01-01 21:00:12 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:00:23 +0000 | <monochrom> | The hom functor is used all over the place! |
| 2022-01-01 21:00:24 +0000 | <int-e> | (but again for interacting well with monadic library interfaces, not for having an actual effect) |
| 2022-01-01 21:00:33 +0000 | <monochrom> | OK, but only as a functor, seldom as a monad. |
| 2022-01-01 21:01:05 +0000 | <int-e> | monochrom: that sounds suspiciously like category theory :P |
| 2022-01-01 21:01:40 +0000 | <Rembane> | When is Reader useful and why? I haven't run into a use for it yet so the question is honest. |
| 2022-01-01 21:01:47 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:02:13 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:02:25 +0000 | <euouae> | code security? |
| 2022-01-01 21:02:29 +0000 | simendsjo | (~user@host.62.119.30.141.bitcom.se) |
| 2022-01-01 21:02:45 +0000 | nhatanh02 | (~satori@123.24.172.30) |
| 2022-01-01 21:02:53 +0000 | <euouae> | if the type is Reader as opposed to Writer you know what the priviledges are just by looking at the type, useful for code review |
| 2022-01-01 21:03:08 +0000 | <euouae> | in some scenario, I could imagine that being helpful I suppose |
| 2022-01-01 21:03:46 +0000 | <monochrom> | The Yoneda lemma states that (∀x. Reader E -> F x) is in bijection with F E, and the bijection is natural in both E and F. |
| 2022-01-01 21:03:47 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:04:06 +0000 | <monochrom> | err, (∀x. Reader E x -> F x) |
| 2022-01-01 21:04:15 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:04:39 +0000 | <monochrom> | Aka the collection of natural transformations from Reader E to F. |
| 2022-01-01 21:04:48 +0000 | kjak | (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) |
| 2022-01-01 21:05:30 +0000 | <EvanR> | euouae, that would be true if local wasn't in the Reader API |
| 2022-01-01 21:05:47 +0000 | <EvanR> | so it's basically the same as using a function argument |
| 2022-01-01 21:05:47 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:06:11 +0000 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 2022-01-01 21:06:14 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:06:33 +0000 | <EvanR> | so is ReaderT |
| 2022-01-01 21:07:02 +0000 | <int-e> | The practical utility I've gotten out of ReaderT (the transformer) is that when I write code in mtl style... so newtype App a = App { runApp: WriterT w IO a } deriving (Monad) and then realize that I need to carry a configuration as well (from command line options), then I can add a ReaderT Config into the stack and most of the existing code that doesn't care about the configuration will... |
| 2022-01-01 21:07:08 +0000 | <int-e> | ...continue to work. |
| 2022-01-01 21:07:49 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:07:54 +0000 | simendsjo | (~user@host.62.119.30.141.bitcom.se) (Remote host closed the connection) |
| 2022-01-01 21:08:15 +0000 | <EvanR> | if the code is already monadic style yeah |
| 2022-01-01 21:08:17 +0000 | kjak_ | (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) |
| 2022-01-01 21:08:19 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:08:26 +0000 | <EvanR> | er, do notation |
| 2022-01-01 21:08:40 +0000 | <Rembane> | int-e: That's very useful. I'm usually using StateT for that, but I'm not coding Haskell in a hm... production setting so I can change things very carelessly. |
| 2022-01-01 21:08:43 +0000 | <int-e> | EvanR: yeah. also having that newtype is quite important |
| 2022-01-01 21:08:55 +0000 | <int-e> | because that's how you abstract from the inner stack |
| 2022-01-01 21:09:33 +0000 | <int-e> | Which is why I wrote "mtl style"; it's really a particular coding style and you only benefit from ReaderT in this way when you're using it. |
| 2022-01-01 21:09:54 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:10:00 +0000 | op_4 | (~op_4@user/op-4/x-9116473) (leaving) |
| 2022-01-01 21:10:12 +0000 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
| 2022-01-01 21:10:17 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:10:28 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
| 2022-01-01 21:11:44 +0000 | <int-e> | @pl \f g x -> f x (g x) |
| 2022-01-01 21:11:44 +0000 | <lambdabot> | ap |
| 2022-01-01 21:11:53 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:12:02 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 2022-01-01 21:12:10 +0000 | <int-e> | there's also this pointless use of the (->) r reader monad |
| 2022-01-01 21:12:21 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:12:35 +0000 | <int-e> | Which I guess monochrom meant earlier. It's occasionally useful. |
| 2022-01-01 21:12:50 +0000 | <int-e> | > sequence [succ, pred] 1 |
| 2022-01-01 21:12:52 +0000 | <lambdabot> | [2,0] |
| 2022-01-01 21:12:57 +0000 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
| 2022-01-01 21:13:04 +0000 | <int-e> | > map ($ 1) [succ, pred] |
| 2022-01-01 21:13:05 +0000 | <lambdabot> | [2,0] |
| 2022-01-01 21:13:56 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:14:22 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:15:05 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) |
| 2022-01-01 21:15:48 +0000 | <Rembane> | int-e: That's neat! |
| 2022-01-01 21:15:58 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:16:23 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:18:00 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:18:04 +0000 | <monochrom> | Functor-Man: Hom Functing. Functor-Man: Far from Hom. Functor-Man: No Way Hom. |
| 2022-01-01 21:18:11 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2022-01-01 21:18:25 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:20:00 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:20:11 +0000 | yauhsien | (~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
| 2022-01-01 21:20:17 +0000 | ymherklotz | (~ymherklot@139.59.166.119) (Ping timeout: 240 seconds) |
| 2022-01-01 21:20:27 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:22:02 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:22:24 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:23:59 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:24:12 +0000 | falafel | (~falafel@2603-8000-d800-688c-6db4-c125-f693-41cb.res6.spectrum.com) |
| 2022-01-01 21:24:26 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:24:42 +0000 | falafel_ | (~falafel@2603-8000-d800-688c-587d-3efc-bc6e-2970.res6.spectrum.com) |
| 2022-01-01 21:25:36 +0000 | <EvanR> | is venom somehow contravariant functor man |
| 2022-01-01 21:26:02 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:26:26 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:26:43 +0000 | <monochrom> | :) |
| 2022-01-01 21:27:21 +0000 | acidjnk | (~acidjnk@pd9e0bdc0.dip0.t-ipconnect.de) |
| 2022-01-01 21:27:21 +0000 | acidjnk_new | (~acidjnk@pd9e0bdc0.dip0.t-ipconnect.de) |
| 2022-01-01 21:28:01 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:28:17 +0000 | falafel | (~falafel@2603-8000-d800-688c-6db4-c125-f693-41cb.res6.spectrum.com) (Ping timeout: 240 seconds) |
| 2022-01-01 21:28:28 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:29:01 +0000 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 240 seconds) |
| 2022-01-01 21:30:04 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:30:30 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:31:17 +0000 | MoC | (~moc@user/moc) (Quit: Konversation terminated!) |
| 2022-01-01 21:32:07 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:32:32 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:34:06 +0000 | <lechner_> | c_wraith: i built ghc for 8.10.7 for Debian bullseye and could make it available, if anyone needs it |
| 2022-01-01 21:34:07 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:34:33 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:36:09 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:36:34 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:37:17 +0000 | falafel_ | (~falafel@2603-8000-d800-688c-587d-3efc-bc6e-2970.res6.spectrum.com) (Ping timeout: 240 seconds) |
| 2022-01-01 21:38:08 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:38:13 +0000 | <lechner_> | Hi, why does cabal force me to bump a prerequisite declaration on base to the installed version 4.14, please? What does the 'greater than' mean? http://paste.debian.net/1225513/ |
| 2022-01-01 21:38:33 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:39:41 +0000 | euouae | (~euouae@user/euouae) (Quit: ) |
| 2022-01-01 21:40:08 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:40:17 +0000 | <sclv> | lechner_: the package you're trying to build has declared that it requires base ^>= 4.13.0.0 |
| 2022-01-01 21:40:34 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:40:42 +0000 | <sclv> | the carrot greater eaql means it requires base be somewhere between 4.13 and 4.14 but no higher |
| 2022-01-01 21:40:53 +0000 | <lechner_> | i see! |
| 2022-01-01 21:41:06 +0000 | <lechner_> | it always helps to know the docs |
| 2022-01-01 21:41:20 +0000 | <lechner_> | sorry i am a newbie, and hyperctive too |
| 2022-01-01 21:42:10 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:42:36 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:44:10 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:44:17 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
| 2022-01-01 21:44:30 +0000 | <lechner_> | sclv: sometimes i also forget to say, thank you! |
| 2022-01-01 21:44:34 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:44:54 +0000 | xkuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 2022-01-01 21:45:05 +0000 | <sclv> | no prob |
| 2022-01-01 21:46:06 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:46:39 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:47:19 +0000 | falafel_ | (~falafel@2603-8000-d800-688c-587d-3efc-bc6e-2970.res6.spectrum.com) |
| 2022-01-01 21:48:05 +0000 | falafel__ | (~falafel@2603-8000-d800-688c-c064-54e6-9a05-e359.res6.spectrum.com) |
| 2022-01-01 21:48:14 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:48:44 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:50:19 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:50:51 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:51:49 +0000 | falafel_ | (~falafel@2603-8000-d800-688c-587d-3efc-bc6e-2970.res6.spectrum.com) (Ping timeout: 240 seconds) |
| 2022-01-01 21:52:24 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:52:26 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 2022-01-01 21:52:43 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 21:52:43 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 21:52:43 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 21:52:52 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:54:27 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:54:54 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:55:57 +0000 | x88x88x | (~x88x88x@149.28.53.172) (Remote host closed the connection) |
| 2022-01-01 21:56:28 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:56:43 +0000 | x88x88x | (~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) |
| 2022-01-01 21:56:52 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 21:57:01 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
| 2022-01-01 21:58:25 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 21:58:51 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:00:26 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:00:53 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:02:28 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:02:55 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:04:30 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:04:56 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:05:18 +0000 | deadmarshal | (~deadmarsh@95.38.115.228) |
| 2022-01-01 22:05:46 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2022-01-01 22:06:31 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:06:56 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:08:32 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:09:02 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:09:37 +0000 | deadmarshal | (~deadmarsh@95.38.115.228) (Ping timeout: 240 seconds) |
| 2022-01-01 22:10:37 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:11:08 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:11:57 +0000 | mc47 | (~mc47@xmonad/TheMC47) |
| 2022-01-01 22:12:30 +0000 | jgeerds | (~jgeerds@55d4ac73.access.ecotel.net) |
| 2022-01-01 22:12:41 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:12:53 +0000 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
| 2022-01-01 22:13:07 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:14:41 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:15:10 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:16:43 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:17:10 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:18:43 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:19:11 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:20:17 +0000 | falafel__ | (~falafel@2603-8000-d800-688c-c064-54e6-9a05-e359.res6.spectrum.com) (Remote host closed the connection) |
| 2022-01-01 22:20:32 +0000 | falafel__ | (~falafel@2603-8000-d800-688c-c064-54e6-9a05-e359.res6.spectrum.com) |
| 2022-01-01 22:20:46 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:21:11 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:22:46 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:23:12 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:24:47 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:25:12 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:25:30 +0000 | werneta_ | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 268 seconds) |
| 2022-01-01 22:26:48 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:26:53 +0000 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 2022-01-01 22:27:15 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:27:17 +0000 | pieguy128 | (~pieguy128@bras-base-mtrlpq5031w-grc-48-67-70-102-17.dsl.bell.ca) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2022-01-01 22:28:50 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:29:21 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:30:57 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:31:01 +0000 | zer0bitz | (~zer0bitz@196.244.192.57) (Ping timeout: 256 seconds) |
| 2022-01-01 22:31:23 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:32:57 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:33:24 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:33:25 +0000 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 2022-01-01 22:34:10 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2022-01-01 22:34:58 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:35:29 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:35:32 +0000 | falafel__ | (~falafel@2603-8000-d800-688c-c064-54e6-9a05-e359.res6.spectrum.com) (Ping timeout: 240 seconds) |
| 2022-01-01 22:37:04 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:37:34 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:38:01 +0000 | pieguy128 | (~pieguy128@bras-base-mtrlpq5031w-grc-48-67-70-102-17.dsl.bell.ca) |
| 2022-01-01 22:38:11 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
| 2022-01-01 22:39:09 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:39:36 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:41:12 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:41:41 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:42:01 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 2022-01-01 22:43:15 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:43:42 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2022-01-01 22:43:46 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:45:23 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:45:49 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:47:26 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:47:53 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:48:20 +0000 | nhatanh02 | (~satori@123.24.172.30) (Ping timeout: 268 seconds) |
| 2022-01-01 22:49:27 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:49:56 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:51:30 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:51:53 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:52:18 +0000 | benin | (~benin@183.82.178.161) |
| 2022-01-01 22:53:29 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:53:55 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:55:29 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:55:55 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:57:29 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:57:56 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 22:59:31 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 22:59:57 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:01:33 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:01:58 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:03:32 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:03:55 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Remote host closed the connection) |
| 2022-01-01 23:04:12 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2022-01-01 23:04:16 +0000 | ss4 | (~wootehfoo@user/wootehfoot) |
| 2022-01-01 23:05:31 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:05:59 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:05:59 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 2022-01-01 23:05:59 +0000 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
| 2022-01-01 23:05:59 +0000 | finn_elija | FinnElija |
| 2022-01-01 23:06:02 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 240 seconds) |
| 2022-01-01 23:06:43 +0000 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 2022-01-01 23:07:34 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:07:59 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:08:17 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 2022-01-01 23:09:11 +0000 | coot | (~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot) |
| 2022-01-01 23:09:35 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:10:01 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:10:40 +0000 | ss4 | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 2022-01-01 23:11:38 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:11:47 +0000 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
| 2022-01-01 23:12:03 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:12:08 +0000 | ankhers | (e99e97ef8e@2604:bf00:561:2000::2a2) (Remote host closed the connection) |
| 2022-01-01 23:12:18 +0000 | ankhers | (e99e97ef8e@2604:bf00:561:2000::2a2) |
| 2022-01-01 23:13:29 +0000 | ankhers | Ankhers |
| 2022-01-01 23:13:36 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:13:43 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 23:13:43 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 23:13:43 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 23:14:00 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:14:53 +0000 | Erutuon | (~Erutuon@user/erutuon) |
| 2022-01-01 23:15:22 +0000 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2022-01-01 23:15:35 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:16:01 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:17:36 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:18:02 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:18:17 +0000 | kitzman | (~kitzman@user/dekenevs) |
| 2022-01-01 23:19:40 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:20:05 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:20:13 +0000 | doyougnu | (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 250 seconds) |
| 2022-01-01 23:20:29 +0000 | <kitzman> | new haskeller here, mainly for giggles; what i'm currently trying to achieve: create a sum type, and a "class C a", and then create instances for each member of the sum type. however - I don't think A "S = A | B" is considered a type.. or is it? |
| 2022-01-01 23:21:35 +0000 | <geekosaur> | if you mean `data S = A | B`, S is a type and A and B are (data) constructors |
| 2022-01-01 23:21:42 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:21:49 +0000 | <geekosaur> | not so different form `data Bool = False | True` |
| 2022-01-01 23:21:53 +0000 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2022-01-01 23:22:08 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:22:34 +0000 | <kitzman> | I see, so I have to create separate types. |
| 2022-01-01 23:22:34 +0000 | <geekosaur> | I would alos question why you want a typeclass, but we'll address that when we get to it |
| 2022-01-01 23:22:50 +0000 | cheater | (~Username@user/cheater) (Remote host closed the connection) |
| 2022-01-01 23:23:41 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:23:53 +0000 | <kitzman> | hmm, I'm thinking of creating, for example a "HealthService", which would have instances for each libvirt provider (qemu, xen, etc). |
| 2022-01-01 23:24:08 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:24:09 +0000 | <kitzman> | i think it might be the wrong way to approach the problem, though |
| 2022-01-01 23:25:07 +0000 | <kitzman> | (i.e: "instance HealthService QemuProvider etc") |
| 2022-01-01 23:25:14 +0000 | <geekosaur> | that's not generally how we do things in Haskell |
| 2022-01-01 23:25:24 +0000 | retroid_ | (~retro@05412d78.skybroadband.com) |
| 2022-01-01 23:25:44 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:25:49 +0000 | <geekosaur> | more likely it'd be data HealthService = Qemu whatever | Xen whatever | ... |
| 2022-01-01 23:26:15 +0000 | <geekosaur> | typeclasses are used when you have conceptually similar operations that do different things on different types |
| 2022-01-01 23:26:15 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:26:55 +0000 | _73 | (~user@pool-108-49-252-36.bstnma.fios.verizon.net) (Quit: ERC (IRC client for Emacs 27.2)) |
| 2022-01-01 23:27:09 +0000 | <geekosaur> | so for example we have `Functor`, which provides an operation `fmap`. What this actually does depends on the instance, but it is always conceptually mapping some operation over that type |
| 2022-01-01 23:27:50 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:28:10 +0000 | <geekosaur> | for lists, fmap is map. for Maybe, if the value is Just something then fmap applies the operation to something and wraps it in another Just; it does nothing for Nothing |
| 2022-01-01 23:28:13 +0000 | <geekosaur> | and so on |
| 2022-01-01 23:28:17 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:29:01 +0000 | retro_ | (~retro@05412d78.skybroadband.com) (Ping timeout: 268 seconds) |
| 2022-01-01 23:29:37 +0000 | <geekosaur> | there are times when this is appropriate for what you're describing, but usually they're not similar enough and when they are a simple record of functions is often preferable |
| 2022-01-01 23:29:52 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:29:55 +0000 | <geekosaur> | (typeclasses are not OOP classes, in short) |
| 2022-01-01 23:29:57 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
| 2022-01-01 23:30:19 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:30:55 +0000 | AlexNoo_ | (~AlexNoo@94.233.241.107) |
| 2022-01-01 23:31:55 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:31:58 +0000 | <kitzman> | alright, i understand. i'll play a bit more with it. currently thinking of cases in which typeclasses would be more appropriate (so then I know when and when not to use them) |
| 2022-01-01 23:32:24 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:32:26 +0000 | <geekosaur> | take a look at https://wiki.haskell.org/Typeclassopedia |
| 2022-01-01 23:32:43 +0000 | Alex_test | (~al_test@94.233.241.181) (Ping timeout: 268 seconds) |
| 2022-01-01 23:33:09 +0000 | <geekosaur> | it shows what the basic Haskell libraries do with typeclasses, which is a pretty good indication of what they're good for |
| 2022-01-01 23:33:10 +0000 | <kitzman> | i could have for example "class Persistable a" and then depending on a, choose how I can persist things |
| 2022-01-01 23:33:16 +0000 | cheater | (~Username@user/cheater) |
| 2022-01-01 23:33:16 +0000 | <kitzman> | nice, thank you |
| 2022-01-01 23:33:25 +0000 | <kitzman> | (couldn't come up with a better example yet) |
| 2022-01-01 23:33:42 +0000 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
| 2022-01-01 23:33:55 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:34:17 +0000 | AlexNoo | (~AlexNoo@94.233.241.181) (Ping timeout: 240 seconds) |
| 2022-01-01 23:34:27 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:34:29 +0000 | AlexZenon | (~alzenon@94.233.241.181) (Ping timeout: 256 seconds) |
| 2022-01-01 23:36:02 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:36:28 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:37:40 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
| 2022-01-01 23:37:40 +0000 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
| 2022-01-01 23:37:40 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-01-01 23:38:04 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:38:24 +0000 | Alex_test | (~al_test@94.233.241.107) |
| 2022-01-01 23:38:26 +0000 | AlexZenon | (~alzenon@94.233.241.107) |
| 2022-01-01 23:38:29 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:39:53 +0000 | lavaman | (~lavaman@98.38.249.169) |
| 2022-01-01 23:40:02 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:40:38 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:41:46 +0000 | max22- | (~maxime@2a01cb0883359800767a96b77d5018f7.ipv6.abo.wanadoo.fr) (Remote host closed the connection) |
| 2022-01-01 23:42:13 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:42:38 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:43:57 +0000 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
| 2022-01-01 23:44:13 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:44:39 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:46:16 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:46:42 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:48:17 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:48:44 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:48:47 +0000 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2022-01-01 23:49:49 +0000 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2022-01-01 23:50:19 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:50:44 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:52:17 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:52:43 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:54:18 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:54:48 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:56:24 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:56:52 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:58:27 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) |
| 2022-01-01 23:58:42 +0000 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2022-01-01 23:58:51 +0000 | betelgeuse9 | (~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer) |
| 2022-01-01 23:59:05 +0000 | <EvanR> | kitzman, what's the API for Persistable, curious |