2022-01-28 00:00:19 +0100 | <monochrom> | Why do Darth Vader's stormtroopers always miss? Because they're following buggy imperial code. :) |
2022-01-28 00:01:26 +0100 | <monochrom> | Why does Palpatine say that the dark side is more powerful? Because he thinks assmebly language is more powerful than Haskell. :) |
2022-01-28 00:02:02 +0100 | <EvanR> | if programming languages were star wars characters |
2022-01-28 00:03:06 +0100 | <monochrom> | Yoda would be Agda. :) |
2022-01-28 00:03:19 +0100 | <EvanR> | not forth ? |
2022-01-28 00:03:47 +0100 | <dsal> | Mike Tyson uses the forth. |
2022-01-28 00:03:53 +0100 | <pfurla-matrix> | Javascript are the prequel movies |
2022-01-28 00:03:53 +0100 | <monochrom> | haha |
2022-01-28 00:03:54 +0100 | <geekosaur> | Benzi-Junior, try in #xmonad |
2022-01-28 00:03:54 +0100 | <EvanR> | also later yoda was upgraded to actually be able to do stuff |
2022-01-28 00:04:20 +0100 | <polyphem> | javascript would be c3po |
2022-01-28 00:04:27 +0100 | <pfurla-matrix> | who runs Agda code anyways? |
2022-01-28 00:04:38 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
2022-01-28 00:04:57 +0100 | <pfurla-matrix> | Javascript would be c3po in pieces |
2022-01-28 00:05:05 +0100 | <pfurla-matrix> | Typescript would be c3po reassembled by Chewie |
2022-01-28 00:05:08 +0100 | <dsal> | r2d2 speaks bf |
2022-01-28 00:05:21 +0100 | <EvanR> | oh god i was kidding |
2022-01-28 00:05:38 +0100 | <monochrom> | "what have I done?" :) |
2022-01-28 00:06:22 +0100 | jgeerds | (~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 260 seconds) |
2022-01-28 00:07:54 +0100 | <byorgey> | "The C ADT is implemented simply as String (or char *, for you type theorists, using a notation from Kleene)" lol |
2022-01-28 00:08:19 +0100 | <Guest76> | monochrom ,about my question earlier, tomsmeding was right, i was missing an out function for the XLeaf type that i need in order to continue with the exercise |
2022-01-28 00:08:32 +0100 | alp | (~alp@user/alp) (Ping timeout: 250 seconds) |
2022-01-28 00:08:40 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) |
2022-01-28 00:08:40 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) (Remote host closed the connection) |
2022-01-28 00:08:54 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) |
2022-01-28 00:08:59 +0100 | <monochrom> | Oh haha the "char *" comment is golden. |
2022-01-28 00:09:03 +0100 | CHUD | (~CHUD@host-80-41-89-108.as13285.net) |
2022-01-28 00:09:10 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41be:eda7:26bd:771e) |
2022-01-28 00:09:18 +0100 | little_mac_ | (~little_ma@2601:410:4300:3ce0:4184:bb26:81f2:501e) |
2022-01-28 00:09:25 +0100 | little_mac | (~little_ma@2601:410:4300:3ce0:4184:bb26:81f2:501e) (Remote host closed the connection) |
2022-01-28 00:09:27 +0100 | <EvanR> | sadly I can't go to the old C channel and assert that that is what char* means as if I was serious |
2022-01-28 00:09:53 +0100 | <EvanR> | they would lose their shit |
2022-01-28 00:10:11 +0100 | <monochrom> | But you can go to C++ channels and Java channels to tell them that C gets it right >:) |
2022-01-28 00:10:50 +0100 | <EvanR> | next up, char[] is modal logic |
2022-01-28 00:11:02 +0100 | <monochrom> | ooohhhh fancy! |
2022-01-28 00:12:12 +0100 | <EvanR> | (yoda is forth because he puts all his verbs at the end, not because of some lame "may the forth" crap) |
2022-01-28 00:12:21 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2022-01-28 00:12:23 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-28 00:12:23 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-28 00:12:23 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-28 00:13:37 +0100 | CHUD | (~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds) |
2022-01-28 00:13:55 +0100 | vysn | (~vysn@user/vysn) (Ping timeout: 268 seconds) |
2022-01-28 00:16:37 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2022-01-28 00:17:50 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 252 seconds) |
2022-01-28 00:22:46 +0100 | max22- | (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Remote host closed the connection) |
2022-01-28 00:25:48 +0100 | wombat875 | (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) |
2022-01-28 00:28:00 +0100 | doyougnu | (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 256 seconds) |
2022-01-28 00:28:44 +0100 | CHUD | (~CHUD@host-80-41-89-108.as13285.net) |
2022-01-28 00:29:34 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2022-01-28 00:29:47 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2022-01-28 00:44:40 +0100 | <jackdk> | what do modal logics correspond to in type systems? if propositional logic corresponds to STLC, what does K correspond to? |
2022-01-28 00:45:07 +0100 | <ski> | it has been associated with staged computation |
2022-01-28 00:45:43 +0100 | <monochrom> | There is a model operator that enjoys a "[] ([] X) -> [] X" laws. It may be a monad. |
2022-01-28 00:46:05 +0100 | <dolio> | That one is a comonad. |
2022-01-28 00:46:19 +0100 | <ski> | Löb's theorem |
2022-01-28 00:46:42 +0100 | <lyxia> | Does anyone know a proof of "phantom = fmap f" ? for phantom :: (Functor f, Contravariant f) => f a -> f b (cf. Data.Functor.Contravariant for the claim) |
2022-01-28 00:46:45 +0100 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2022-01-28 00:46:57 +0100 | <ski> | oh sorry, that'd be `[] ([] X -> X) -> [] X' |
2022-01-28 00:47:16 +0100 | <lyxia> | ideally with a free theorem... |
2022-01-28 00:47:26 +0100 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-01-28 00:47:49 +0100 | <dolio> | The Löb one is neither, I think. |
2022-01-28 00:48:45 +0100 | <monochrom> | Wait, so f is both a covariant functor and a contravariant functor? |
2022-01-28 00:49:18 +0100 | <monochrom> | What is "f" in "fmap f"? |
2022-01-28 00:49:38 +0100 | <monochrom> | Ironically, I was just writing about "var not in scope" in a tutorial on type inference >:) |
2022-01-28 00:50:41 +0100 | <monochrom> | Oh, true for all f. |
2022-01-28 00:51:16 +0100 | <lyxia> | oh yeah, sorry for the name reuse |
2022-01-28 01:01:59 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) (Remote host closed the connection) |
2022-01-28 01:02:09 +0100 | <jackdk> | monochrom: in the docs for Data.Functor.Contravariant, it says `fmap f = phantom`, which is what I think is being referenced |
2022-01-28 01:02:25 +0100 | Guest76 | (~Guest76@a109-50-190-38.cpe.netcabo.pt) (Quit: Client closed) |
2022-01-28 01:02:37 +0100 | davros | (~davros@host86-184-82-149.range86-184.btcentralplus.com) (Ping timeout: 240 seconds) |
2022-01-28 01:02:42 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) |
2022-01-28 01:03:21 +0100 | <jackdk> | is it true that "if an ADT F a has a Functor instance, every a is in positive position" (and similar for Contravariant/negative position)? |
2022-01-28 01:03:39 +0100 | <jackdk> | and is it true that type variables are either in positive xor negative position? |
2022-01-28 01:04:01 +0100 | <ski> | what about `Endo a' ? `IORef a' ? |
2022-01-28 01:04:30 +0100 | <ski> | (or `Const c a') |
2022-01-28 01:04:49 +0100 | <jackdk> | Endo does not have a functor instance, Const c a has no `a`, so every a is in positive position |
2022-01-28 01:04:50 +0100 | yauhsien | (~yauhsien@61-231-37-18.dynamic-ip.hinet.net) |
2022-01-28 01:05:10 +0100 | <jackdk> | Then if F has both Functor and Contravariant instances, every a must be in both positive and negative position, and the only way that can be true is if it has no `a`s? |
2022-01-28 01:05:27 +0100 | <ski> | oh, second question was a continuation of first one |
2022-01-28 01:06:01 +0100 | <jackdk> | I'm trying to spitball my way to an answer to lyxia 's question because I don't know how to actually solve it |
2022-01-28 01:06:13 +0100 | <ski> | well, clearly `Const c a' does have an `a' |
2022-01-28 01:06:41 +0100 | <jackdk> | % :info Const |
2022-01-28 01:06:42 +0100 | <yahb> | jackdk: type role Const representational phantom; type Const :: forall {k}. * -> k -> *; newtype Const a b = Const {getConst :: a}; -- Defined in `Data.Functor.Const'; instance Monoid m => Applicative (Const m) -- Defined in `Data.Functor.Const'; instance forall a k (b :: k). Eq a => Eq (Const a b) -- Defined in `Data.Functor.Const'; instance Functor (Const m) -- Defined in `Data.Functor.Const'; instance fora |
2022-01-28 01:07:02 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) (Ping timeout: 260 seconds) |
2022-01-28 01:07:06 +0100 | <ski> | (the implementation of it doesn't have an `a', though) |
2022-01-28 01:07:32 +0100 | <jackdk> | `Const c a` has a `c`, but not an `a`. I am using "has" to mean "is present in at least one data constructor" |
2022-01-28 01:07:56 +0100 | <ski> | oh, i thought you were talking about type variable occurances in the type expression |
2022-01-28 01:08:57 +0100 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 250 seconds) |
2022-01-28 01:09:22 +0100 | yauhsien | (~yauhsien@61-231-37-18.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2022-01-28 01:09:31 +0100 | <jackdk> | no, I'm trying to work out how to crystallise the intution that "the constraints imposed by a Functor and a Contravariant instance imply that `F a` must be phantom in `a` |
2022-01-28 01:09:31 +0100 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) |
2022-01-28 01:09:43 +0100 | <ski> | but if you want to, you could go `newtype MyConst c a = MkMyConst (Const c a)', and then there's an `a' present in at least one data constructor |
2022-01-28 01:10:29 +0100 | <awpr> | @free forall a b. f a -> f b |
2022-01-28 01:10:29 +0100 | <lambdabot> | Try `free <ident>` or `free <ident> :: <type>` |
2022-01-28 01:10:41 +0100 | <ski> | @freep fpp :: forall a b. f a -> f b |
2022-01-28 01:10:41 +0100 | <lambdabot> | Extra stuff at end of line |
2022-01-28 01:10:54 +0100 | <ski> | @freep foo :: F a -> F b |
2022-01-28 01:10:54 +0100 | <lambdabot> | $map_F g . foo = foo . $map_F f |
2022-01-28 01:12:07 +0100 | <ski> | jackdk : as for your first question, i think that's right |
2022-01-28 01:13:08 +0100 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) (Excess Flood) |
2022-01-28 01:13:43 +0100 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) |
2022-01-28 01:14:55 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) (Remote host closed the connection) |
2022-01-28 01:15:12 +0100 | <lyxia> | well my issue is actually that in dependent type theory you get that (a -> Type) is both a Functor and a Contravariant, or at least strongly looks like it. |
2022-01-28 01:16:03 +0100 | <ski> | hm .. can you elaborate ? |
2022-01-28 01:16:24 +0100 | <ski> | (and is this related to the covariant and the contravariant powerset functors ?) |
2022-01-28 01:16:34 +0100 | davros | (~davros@host86-184-82-232.range86-184.btcentralplus.com) |
2022-01-28 01:17:12 +0100 | <lyxia> | yes that is the powerset functor |
2022-01-28 01:17:26 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 250 seconds) |
2022-01-28 01:17:55 +0100 | <lyxia> | so you can map any function (f :: a -> b) forward and backward as the image/reverse image mapping |
2022-01-28 01:18:27 +0100 | td_ | (~td@94.134.91.240) |
2022-01-28 01:19:18 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
2022-01-28 01:21:04 +0100 | CHUD | (~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds) |
2022-01-28 01:21:17 +0100 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 240 seconds) |
2022-01-28 01:21:19 +0100 | AkechiShiro | (~licht@user/akechishiro) (Ping timeout: 250 seconds) |
2022-01-28 01:21:33 +0100 | wyrd | (~wyrd@gateway/tor-sasl/wyrd) |
2022-01-28 01:23:18 +0100 | AkechiShiro | (~licht@user/akechishiro) |
2022-01-28 01:23:37 +0100 | segfaultfizzbuzz | (~rustisafu@2602:306:cd3c:9350:59e3:db49:aa0a:46e5) (Ping timeout: 240 seconds) |
2022-01-28 01:24:21 +0100 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) |
2022-01-28 01:26:33 +0100 | jackson99 | (~bc8147f2@83.167.180.121) |
2022-01-28 01:30:00 +0100 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 250 seconds) |
2022-01-28 01:32:07 +0100 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-01-28 01:32:40 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41be:eda7:26bd:771e) (Remote host closed the connection) |
2022-01-28 01:34:52 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2022-01-28 01:35:00 +0100 | random-jellyfish | (~random-je@user/random-jellyfish) |
2022-01-28 01:37:50 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41be:eda7:26bd:771e) |
2022-01-28 01:44:56 +0100 | vicfred | (~vicfred@user/vicfred) (Quit: Leaving) |
2022-01-28 01:50:34 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) |
2022-01-28 01:52:00 +0100 | litharge | (litharge@libera/bot/litharge) (Remote host closed the connection) |
2022-01-28 01:52:25 +0100 | polyphem | (~rod@2a02:810d:840:8754:2622:b61:ec32:bf43) (Quit: WeeChat 3.4) |
2022-01-28 01:53:57 +0100 | litharge | (litharge@libera/bot/litharge) |
2022-01-28 01:54:00 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Quit: WeeChat 3.4) |
2022-01-28 01:55:50 +0100 | Gurkenglas | (~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
2022-01-28 01:57:26 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
2022-01-28 02:05:32 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 250 seconds) |
2022-01-28 02:06:22 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41be:eda7:26bd:771e) (Remote host closed the connection) |
2022-01-28 02:08:06 +0100 | random-jellyfish | (~random-je@user/random-jellyfish) (Ping timeout: 256 seconds) |
2022-01-28 02:08:30 +0100 | akurilin_ | (uid322841@id-322841.ilkley.irccloud.com) (Quit: Connection closed for inactivity) |
2022-01-28 02:08:40 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2022-01-28 02:11:43 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) (Remote host closed the connection) |
2022-01-28 02:11:46 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2022-01-28 02:17:52 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2022-01-28 02:19:28 +0100 | jushur | (~human@user/jushur) (Quit: ¯\_(ツ)_/¯) |
2022-01-28 02:21:23 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41be:eda7:26bd:771e) |
2022-01-28 02:22:02 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Remote host closed the connection) |
2022-01-28 02:22:42 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-28 02:22:42 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-28 02:22:42 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-28 02:22:48 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2022-01-28 02:23:36 +0100 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 256 seconds) |
2022-01-28 02:24:25 +0100 | chenqisu1 | (~chenqisu1@183.217.200.249) |
2022-01-28 02:31:13 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2022-01-28 02:31:35 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2022-01-28 02:37:11 +0100 | doyougnu | (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) |
2022-01-28 02:42:18 +0100 | dsrt^ | (~dsrt@50.231.5.242) (Ping timeout: 256 seconds) |
2022-01-28 02:53:41 +0100 | jao | (~jao@static-68-235-44-10.cust.tzulo.com) (Remote host closed the connection) |
2022-01-28 02:56:15 +0100 | xsperry | (~xs@user/xsperry) (Remote host closed the connection) |
2022-01-28 03:02:53 +0100 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-01-28 03:05:37 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 240 seconds) |
2022-01-28 03:08:44 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) (Ping timeout: 256 seconds) |
2022-01-28 03:08:54 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) |
2022-01-28 03:18:57 +0100 | xff0x | (~xff0x@2001:1a81:523c:5300:707e:bf72:dc84:30f7) (Ping timeout: 250 seconds) |
2022-01-28 03:20:17 +0100 | neurocyte0917090 | (~neurocyte@user/neurocyte) (Ping timeout: 240 seconds) |
2022-01-28 03:21:03 +0100 | xff0x | (~xff0x@2001:1a81:5277:3c00:f024:75d4:2bb:2631) |
2022-01-28 03:21:54 +0100 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2022-01-28 03:23:00 +0100 | zaquest | (~notzaques@5.130.79.72) |
2022-01-28 03:27:28 +0100 | xsperry | (~xs@user/xsperry) |
2022-01-28 03:31:49 +0100 | alp | (~alp@user/alp) |
2022-01-28 03:37:56 +0100 | matijja | (~matijja@193.77.181.201) (Quit: ZNC 1.8.1 - https://znc.in) |
2022-01-28 03:38:11 +0100 | matijja | (~matijja@193.77.181.201) |
2022-01-28 03:38:39 +0100 | dfordvm | (~dfordivam@tk2-219-19469.vs.sakura.ne.jp) (Ping timeout: 268 seconds) |
2022-01-28 03:39:08 +0100 | dfordvm | (~dfordivam@tk2-219-19469.vs.sakura.ne.jp) |
2022-01-28 03:44:38 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2022-01-28 03:52:43 +0100 | califax- | (~califax@user/califx) |
2022-01-28 03:55:54 +0100 | califax | (~califax@user/califx) (Ping timeout: 276 seconds) |
2022-01-28 03:55:55 +0100 | califax- | califax |
2022-01-28 04:00:31 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-28 04:00:31 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-28 04:00:31 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-28 04:10:30 +0100 | andreabedini | (~andreabed@8s8kj6nj5000h5zkmpxr.ip6.superloop.com) |
2022-01-28 04:12:09 +0100 | Jing | (~hedgehog@240e:390:7c53:a7e1:2d90:ff3:b02f:c2ef) |
2022-01-28 04:12:58 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2022-01-28 04:12:58 +0100 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2022-01-28 04:12:58 +0100 | finn_elija | FinnElija |
2022-01-28 04:15:39 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2022-01-28 04:20:54 +0100 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 256 seconds) |
2022-01-28 04:22:43 +0100 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
2022-01-28 04:23:01 +0100 | cynomys | (~cynomys@user/cynomys) |
2022-01-28 04:28:18 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4) |
2022-01-28 04:28:39 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
2022-01-28 04:34:42 +0100 | EsoAlgo | (~EsoAlgo@152.70.142.52) |
2022-01-28 04:37:33 +0100 | lionhairdino | (~jacoo@121.131.39.82) |
2022-01-28 04:40:14 +0100 | td_ | (~td@94.134.91.240) (Ping timeout: 250 seconds) |
2022-01-28 04:41:53 +0100 | td_ | (~td@94.134.91.157) |
2022-01-28 04:44:25 +0100 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
2022-01-28 04:44:42 +0100 | davros | (~davros@host86-184-82-232.range86-184.btcentralplus.com) (Ping timeout: 256 seconds) |
2022-01-28 04:45:39 +0100 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) |
2022-01-28 04:47:18 +0100 | Henson | (~kvirc@107-179-133-201.cpe.teksavvy.com) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/) |
2022-01-28 04:53:40 +0100 | burnsidesLlama | (~burnsides@dhcp168-030.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-28 04:54:12 +0100 | burnsidesLlama | (~burnsides@client-8-88.eduroam.oxuni.org.uk) |
2022-01-28 04:54:18 +0100 | cynomys | (~cynomys@user/cynomys) (Quit: Lost terminal) |
2022-01-28 04:56:40 +0100 | davros | (~davros@host86-184-190-187.range86-184.btcentralplus.com) |
2022-01-28 04:57:34 +0100 | kritzefitz | (~kritzefit@debian/kritzefitz) (Ping timeout: 260 seconds) |
2022-01-28 04:58:26 +0100 | burnsidesLlama | (~burnsides@client-8-88.eduroam.oxuni.org.uk) (Ping timeout: 250 seconds) |
2022-01-28 05:16:26 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 256 seconds) |
2022-01-28 05:20:28 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-01-28 05:23:27 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2022-01-28 05:24:52 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 250 seconds) |
2022-01-28 05:40:28 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 250 seconds) |
2022-01-28 05:44:28 +0100 | little_mac_ | (~little_ma@2601:410:4300:3ce0:4184:bb26:81f2:501e) (Remote host closed the connection) |
2022-01-28 05:45:20 +0100 | deadmarshal | (~deadmarsh@95.38.114.1) |
2022-01-28 05:51:03 +0100 | on^ | (~on@50.231.5.242) |
2022-01-28 05:53:45 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) |
2022-01-28 05:54:57 +0100 | mbuf | (~Shakthi@122.173.235.64) |
2022-01-28 05:55:22 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) |
2022-01-28 06:01:57 +0100 | davros | (~davros@host86-184-190-187.range86-184.btcentralplus.com) (Ping timeout: 240 seconds) |
2022-01-28 06:03:37 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2022-01-28 06:05:30 +0100 | vysn | (~vysn@user/vysn) |
2022-01-28 06:09:42 +0100 | chenqisu1 | (~chenqisu1@183.217.200.249) (Ping timeout: 256 seconds) |
2022-01-28 06:12:26 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-28 06:12:26 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-28 06:12:26 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-28 06:14:07 +0100 | davros | (~davros@host86-185-61-1.range86-185.btcentralplus.com) |
2022-01-28 06:16:37 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2022-01-28 06:19:52 +0100 | zyklotomic | (~ethan@r4-128-61-88-167.res.gatech.edu) |
2022-01-28 06:20:11 +0100 | <zyklotomic> | is there a way to detect when a data type has been modified to fit more subtypes? |
2022-01-28 06:20:29 +0100 | <zyklotomic> | which would be nice if you have ever used a case-of statement w/ a wildcard |
2022-01-28 06:20:59 +0100 | <dsal> | What is a subtype? |
2022-01-28 06:21:12 +0100 | <zyklotomic> | i'm not sure if im phrasing it correctly sorry |
2022-01-28 06:21:23 +0100 | <zyklotomic> | say you have data MyData = A | B |
2022-01-28 06:21:28 +0100 | <dsal> | Ah, yeah. |
2022-01-28 06:21:35 +0100 | <dsal> | Well, the answer is in your second statement. :) |
2022-01-28 06:21:38 +0100 | <zyklotomic> | and you do case x of; A -> smth; _ -> smth |
2022-01-28 06:21:40 +0100 | <dsal> | You're basically turning off the detection. |
2022-01-28 06:21:45 +0100 | <dsal> | So don't do that. :) |
2022-01-28 06:24:11 +0100 | <zyklotomic> | the alternative would be very verbose sometimes though |
2022-01-28 06:24:15 +0100 | <zyklotomic> | i guess accept that then :) |
2022-01-28 06:24:50 +0100 | <zyklotomic> | i had the dumb idea, what if you could serialize the data constructor |
2022-01-28 06:25:00 +0100 | td_ | (~td@94.134.91.157) (Ping timeout: 256 seconds) |
2022-01-28 06:25:00 +0100 | <zyklotomic> | and assign a hash to each wildcard? |
2022-01-28 06:25:44 +0100 | <EvanR> | how does the compiler know that you do or don't care about the rest of the cases |
2022-01-28 06:26:00 +0100 | <EvanR> | I mean, _ and _ hash to the same thing |
2022-01-28 06:26:05 +0100 | <zyklotomic> | what do you mean |
2022-01-28 06:26:19 +0100 | <zyklotomic> | i meant hash the data constructor itself |
2022-01-28 06:26:29 +0100 | <zyklotomic> | so when the constructor gets changed, the hash changes |
2022-01-28 06:26:42 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
2022-01-28 06:26:42 +0100 | td_ | (~td@94.134.91.203) |
2022-01-28 06:26:44 +0100 | <EvanR> | are you changing the constructors or adding a new one |
2022-01-28 06:26:52 +0100 | jackson99 | (~bc8147f2@83.167.180.121) (Quit: CGI:IRC (Session timeout)) |
2022-01-28 06:27:08 +0100 | <zyklotomic> | by change, i meant as in data MyType = A | B -> data MyType = A | B | C |
2022-01-28 06:27:11 +0100 | <EvanR> | because you'll get an error if you change constructors that you previous used |
2022-01-28 06:27:27 +0100 | <zyklotomic> | yeah, apologies, i meant adding new ones |
2022-01-28 06:27:45 +0100 | <zyklotomic> | i understand now that constructor refers to "A", "B", "C" themselves now |
2022-01-28 06:28:06 +0100 | <EvanR> | when you put _ you signal that you don't care what constructor it is, it has no other information attached |
2022-01-28 06:28:37 +0100 | <zyklotomic> | yeah, but under the understanding of what the current available constructors are |
2022-01-28 06:28:38 +0100 | <EvanR> | and the reason you did this may or may not change when you add a new constructor |
2022-01-28 06:28:40 +0100 | <zyklotomic> | which could change |
2022-01-28 06:29:25 +0100 | <EvanR> | kind of sounds like you want a paper clip to appear and ask you to consider anywhere you ever used a _ if you add to MyType. Which would be good I guess |
2022-01-28 06:29:43 +0100 | <zyklotomic> | yeah, i'm wondering if i'm worrying too much about a problem that isn't that big of a deal |
2022-01-28 06:29:44 +0100 | <EvanR> | I mean, you put _ because you didn't care about the other cases. |
2022-01-28 06:29:57 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
2022-01-28 06:29:58 +0100 | <EvanR> | who knows if it's a bug now |
2022-01-28 06:30:06 +0100 | <zyklotomic> | yeah, but you are only sure at the time of writing |
2022-01-28 06:30:13 +0100 | <EvanR> | if even xD |
2022-01-28 06:30:33 +0100 | <EvanR> | checking all cases of the data type is usually right |
2022-01-28 06:31:08 +0100 | <zyklotomic> | so maybe the easy/(un?)satisfying solution is to never use _ |
2022-01-28 06:31:59 +0100 | <dsal> | Well, yeah. It's the exact answer, though. _ tells the compiler you don't care anymore. Not using _ tells the compiler to stop compiling your code if a new thing is added. |
2022-01-28 06:32:10 +0100 | <EvanR> | also easy, satisfying, make data types which you're pretty sure are finished |
2022-01-28 06:32:24 +0100 | <EvanR> | like, no one is changing Maybe, or data Queue a = Queue [a] [a], etc |
2022-01-28 06:32:27 +0100 | <EvanR> | too simple to change |
2022-01-28 06:32:37 +0100 | <dibblego> | non-overlapping patterns are easier to read |
2022-01-28 06:33:05 +0100 | <dibblego> | https://en.wikipedia.org/wiki/Expression_problem |
2022-01-28 06:35:53 +0100 | <zyklotomic> | i see, i'll read up |
2022-01-28 06:37:35 +0100 | <zyklotomic> | dibblego: sry, i'm not seeing how non-overlapping patterns will help for this |
2022-01-28 06:37:45 +0100 | <dibblego> | they are separate things |
2022-01-28 06:37:56 +0100 | <dibblego> | try to achieve non-overlapping patterns, it's better code |
2022-01-28 06:37:56 +0100 | Cale | (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) |
2022-01-28 06:38:14 +0100 | <dibblego> | the next thing you are describing is the expression problem, classy optics solve it reasonably well |
2022-01-28 06:38:26 +0100 | <zyklotomic> | oh, and any code that uses _ can't be non-overlapping |
2022-01-28 06:38:43 +0100 | <dibblego> | not always, but often |
2022-01-28 06:38:57 +0100 | <zyklotomic> | i see why now |
2022-01-28 06:39:03 +0100 | <dibblego> | non-overlapping patterns can be identified by re-ordering the cases and the program will not change |
2022-01-28 06:43:02 +0100 | alp | (~alp@user/alp) (Ping timeout: 268 seconds) |
2022-01-28 06:43:22 +0100 | prasad | (~user@c-73-170-49-136.hsd1.ca.comcast.net) |
2022-01-28 06:43:22 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
2022-01-28 06:44:20 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.4) |
2022-01-28 06:44:59 +0100 | rusrushal13 | (~rusrushal@2401:4900:447e:b662:c06d:f354:ecf:b32e) |
2022-01-28 06:46:10 +0100 | <zyklotomic> | https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/using-warnings.html?highlight=over… |
2022-01-28 06:46:25 +0100 | <zyklotomic> | dibblego: so it seems like the GHC definition of overlapping-patterns is less strict right |
2022-01-28 06:46:44 +0100 | <zyklotomic> | it only cares that there aren't unreachable cases |
2022-01-28 06:47:01 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) |
2022-01-28 06:47:12 +0100 | <zyklotomic> | so having a _ at the very bottom of a case-of expresion won't be considered "overlapping" to ghc |
2022-01-28 06:47:45 +0100 | <dibblego> | yes |
2022-01-28 06:48:25 +0100 | <zyklotomic> | thanks for the insight, really appreciate it |
2022-01-28 06:49:06 +0100 | curtis | (~curtis@76.208.249.124) |
2022-01-28 06:49:12 +0100 | deadmarshal | (~deadmarsh@95.38.114.1) (Ping timeout: 268 seconds) |
2022-01-28 06:49:21 +0100 | <zyklotomic> | still a bit tempted to try to implement my original idea just for fun though :) |
2022-01-28 06:50:17 +0100 | <EvanR> | oh, were you talking about data type migration |
2022-01-28 06:50:31 +0100 | <EvanR> | instead of modifying, make a new type with an incremented version number |
2022-01-28 06:50:44 +0100 | fef | (~thedawn@user/thedawn) |
2022-01-28 06:51:10 +0100 | curtis | (~curtis@76.208.249.124) (Quit: leaving) |
2022-01-28 06:51:50 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2022-01-28 06:52:36 +0100 | curtis | (~curtis@76.208.249.124) |
2022-01-28 06:52:46 +0100 | lionhairdino | (~jacoo@121.131.39.82) (Ping timeout: 256 seconds) |
2022-01-28 06:55:01 +0100 | <dibblego> | class AsA a where _A :: Prism' a (); instance AsA MyType where...; instance AsA MyTypeVersion2 where... |
2022-01-28 06:56:32 +0100 | rusrushal13 | (~rusrushal@2401:4900:447e:b662:c06d:f354:ecf:b32e) (Ping timeout: 256 seconds) |
2022-01-28 06:56:32 +0100 | curtis | (~curtis@76.208.249.124) (Client Quit) |
2022-01-28 06:56:50 +0100 | statusbot1 | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) |
2022-01-28 06:57:45 +0100 | mncheckm | (~mncheck@193.224.205.254) |
2022-01-28 06:58:01 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2022-01-28 06:58:02 +0100 | allbery_b | (~geekosaur@xmonad/geekosaur) |
2022-01-28 06:58:05 +0100 | allbery_b | geekosaur |
2022-01-28 06:58:30 +0100 | Codaraxis_ | (~Codaraxis@user/codaraxis) |
2022-01-28 06:58:39 +0100 | MironZ7 | (~MironZ@nat-infra.ehlab.uk) |
2022-01-28 06:58:47 +0100 | EsoAlgo3 | (~EsoAlgo@152.70.142.52) |
2022-01-28 06:58:49 +0100 | fef | (~thedawn@user/thedawn) (Quit: Leaving) |
2022-01-28 06:59:25 +0100 | ajb_ | (~ajb@cupid.whatbox.ca) |
2022-01-28 07:00:08 +0100 | np | (~nerdypepp@user/nerdypepper) |
2022-01-28 07:00:12 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 250 seconds) |
2022-01-28 07:00:34 +0100 | dobblego | (~dibblego@122-199-1-30.ip4.superloop.com) |
2022-01-28 07:00:34 +0100 | dobblego | (~dibblego@122-199-1-30.ip4.superloop.com) (Changing host) |
2022-01-28 07:00:34 +0100 | dobblego | (~dibblego@haskell/developer/dibblego) |
2022-01-28 07:00:37 +0100 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds) |
2022-01-28 07:00:52 +0100 | hyiltiz_ | (~quassel@31.220.5.250) |
2022-01-28 07:00:55 +0100 | son0p | (~ff@2800:484:1d81:b700::5) (Ping timeout: 268 seconds) |
2022-01-28 07:01:09 +0100 | hgolden_ | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) |
2022-01-28 07:01:33 +0100 | uroboros | (~ouroboros@user/ouroboros) |
2022-01-28 07:01:43 +0100 | ezzieygu1wuf | (~Unknown@user/ezzieyguywuf) |
2022-01-28 07:01:45 +0100 | gawen_ | (~gawen@user/gawen) |
2022-01-28 07:01:50 +0100 | gentauro_ | (~gentauro@185.107.12.141) |
2022-01-28 07:01:51 +0100 | dextaa__ | (~dextaa@217.61.225.120) |
2022-01-28 07:01:56 +0100 | fryguybo1 | (~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) |
2022-01-28 07:01:56 +0100 | absence_ | (torgeihe@hildring.pvv.ntnu.no) |
2022-01-28 07:02:07 +0100 | zyklotom1 | (~ethan@r4-128-61-88-167.res.gatech.edu) |
2022-01-28 07:02:08 +0100 | Clint_ | (~Clint@user/clint) |
2022-01-28 07:02:11 +0100 | Cheery_ | (~cheery@7-239-179-185.static.tentacle.fi) |
2022-01-28 07:02:14 +0100 | marquis_1ndras | (~marquis_a@124.170.163.166) |
2022-01-28 07:02:14 +0100 | xdej | (~xdej@quatramaran.salle-s.org) |
2022-01-28 07:02:21 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41be:eda7:26bd:771e) (Remote host closed the connection) |
2022-01-28 07:02:38 +0100 | some02 | (~cat@h-98-128-128-173.A351.priv.bahnhof.se) |
2022-01-28 07:02:39 +0100 | mstksg | (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
2022-01-28 07:02:48 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds) |
2022-01-28 07:03:30 +0100 | qwedfg_ | (~qwedfg@user/qwedfg) |
2022-01-28 07:05:00 +0100 | Rabbit | (~rabbit@206.81.18.26) |
2022-01-28 07:05:27 +0100 | cyphase_eviltwin | (~cyphase@user/cyphase) |
2022-01-28 07:07:00 +0100 | jakalx | (~jakalx@base.jakalx.net) (Disconnected: Replaced by new connection) |
2022-01-28 07:07:01 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2022-01-28 07:07:08 +0100 | prasad | (~user@c-73-170-49-136.hsd1.ca.comcast.net) (*.net *.split) |
2022-01-28 07:07:08 +0100 | zyklotomic | (~ethan@r4-128-61-88-167.res.gatech.edu) (*.net *.split) |
2022-01-28 07:07:08 +0100 | on^ | (~on@50.231.5.242) (*.net *.split) |
2022-01-28 07:07:08 +0100 | EsoAlgo | (~EsoAlgo@152.70.142.52) (*.net *.split) |
2022-01-28 07:07:08 +0100 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) (*.net *.split) |
2022-01-28 07:07:09 +0100 | wombat875 | (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (*.net *.split) |
2022-01-28 07:07:09 +0100 | dextaa_ | (~dextaa@217.61.225.120) (*.net *.split) |
2022-01-28 07:07:09 +0100 | juhp | (~juhp@128.106.188.82) (*.net *.split) |
2022-01-28 07:07:09 +0100 | Akiva | (~Akiva@user/Akiva) (*.net *.split) |
2022-01-28 07:07:09 +0100 | WhateverRabbit | (~rabbit@206.81.18.26) (*.net *.split) |
2022-01-28 07:07:09 +0100 | kmein_ | (~weechat@user/kmein) (*.net *.split) |
2022-01-28 07:07:09 +0100 | Codaraxis | (~Codaraxis@user/codaraxis) (*.net *.split) |
2022-01-28 07:07:09 +0100 | mncheck | (~mncheck@193.224.205.254) (*.net *.split) |
2022-01-28 07:07:09 +0100 | Megant | (megant@user/megant) (*.net *.split) |
2022-01-28 07:07:09 +0100 | cyphase | (~cyphase@user/cyphase) (*.net *.split) |
2022-01-28 07:07:09 +0100 | marquis_andras | (~marquis_a@124.170.163.166) (*.net *.split) |
2022-01-28 07:07:09 +0100 | abrar | (~abrar@static-108-2-152-54.phlapa.fios.verizon.net) (*.net *.split) |
2022-01-28 07:07:09 +0100 | qwedfg | (~qwedfg@user/qwedfg) (*.net *.split) |
2022-01-28 07:07:09 +0100 | Clint | (~Clint@user/clint) (*.net *.split) |
2022-01-28 07:07:09 +0100 | amk | (~amk@109.255.169.126) (*.net *.split) |
2022-01-28 07:07:09 +0100 | gentauro | (~gentauro@user/gentauro) (*.net *.split) |
2022-01-28 07:07:09 +0100 | ishutin | (~ishutin@87-97-82-177.pool.digikabel.hu) (*.net *.split) |
2022-01-28 07:07:09 +0100 | c_wraith | (~c_wraith@adjoint.us) (*.net *.split) |
2022-01-28 07:07:09 +0100 | statusfailed | (~statusfai@statusfailed.com) (*.net *.split) |
2022-01-28 07:07:09 +0100 | canta | (~canta@user/canta) (*.net *.split) |
2022-01-28 07:07:09 +0100 | dminuoso | (~dminuoso@user/dminuoso) (*.net *.split) |
2022-01-28 07:07:09 +0100 | dibblego | (~dibblego@haskell/developer/dibblego) (*.net *.split) |
2022-01-28 07:07:09 +0100 | Goodbye_Vincent | (~Goodbye_V@freakshells.net) (*.net *.split) |
2022-01-28 07:07:09 +0100 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (*.net *.split) |
2022-01-28 07:07:09 +0100 | mmalter | (~mmalter@88.126.10.237) (*.net *.split) |
2022-01-28 07:07:09 +0100 | tcard | (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (*.net *.split) |
2022-01-28 07:07:09 +0100 | Cheery | (~cheery@7-239-179-185.static.tentacle.fi) (*.net *.split) |
2022-01-28 07:07:09 +0100 | fryguybob | (~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) (*.net *.split) |
2022-01-28 07:07:09 +0100 | juri_ | (~juri@178.63.35.222) (*.net *.split) |
2022-01-28 07:07:09 +0100 | xsarnik | (xsarnik@lounge.fi.muni.cz) (*.net *.split) |
2022-01-28 07:07:09 +0100 | xstill- | (xstill@fimu/xstill) (*.net *.split) |
2022-01-28 07:07:09 +0100 | tolt | (~weechat-h@li219-154.members.linode.com) (*.net *.split) |
2022-01-28 07:07:09 +0100 | mmaruseacph2 | (~mihai@198.199.100.72) (*.net *.split) |
2022-01-28 07:07:09 +0100 | meejah | (~meejah@rutas.meejah.ca) (*.net *.split) |
2022-01-28 07:07:09 +0100 | fluxit | (~fluxit@techsmix.net) (*.net *.split) |
2022-01-28 07:07:09 +0100 | andjjj23_ | (~irc@107.170.228.47) (*.net *.split) |
2022-01-28 07:07:09 +0100 | forell | (~forell@user/forell) (*.net *.split) |
2022-01-28 07:07:09 +0100 | sagax | (~sagax_nb@user/sagax) (*.net *.split) |
2022-01-28 07:07:09 +0100 | hyiltiz | (~quassel@31.220.5.250) (*.net *.split) |
2022-01-28 07:07:09 +0100 | statusbot | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (*.net *.split) |
2022-01-28 07:07:09 +0100 | neverwas | (jpneverwas@swissbox.unperson.link) (*.net *.split) |
2022-01-28 07:07:09 +0100 | n3t | (n3t@user/n3t) (*.net *.split) |
2022-01-28 07:07:09 +0100 | ski | (~ski@remote11.chalmers.se) (*.net *.split) |
2022-01-28 07:07:09 +0100 | koolazer | (~koo@user/koolazer) (*.net *.split) |
2022-01-28 07:07:09 +0100 | hgolden | (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (*.net *.split) |
2022-01-28 07:07:09 +0100 | kojo5551 | (~kojo5551@fep.grid.pub.ro) (*.net *.split) |
2022-01-28 07:07:09 +0100 | MironZ | (~MironZ@nat-infra.ehlab.uk) (*.net *.split) |
2022-01-28 07:07:09 +0100 | loonycyborg | (~loonycybo@wesnoth/developer/loonycyborg) (*.net *.split) |
2022-01-28 07:07:09 +0100 | nerdypepper | (~nerdypepp@user/nerdypepper) (*.net *.split) |
2022-01-28 07:07:10 +0100 | drdo | (~drdo@roach0.drdo.eu) (*.net *.split) |
2022-01-28 07:07:10 +0100 | hpc | (~juzz@ip98-169-35-13.dc.dc.cox.net) (*.net *.split) |
2022-01-28 07:07:10 +0100 | ouroboros | (~ouroboros@user/ouroboros) (*.net *.split) |
2022-01-28 07:07:10 +0100 | sudden | (~cat@user/sudden) (*.net *.split) |
2022-01-28 07:07:10 +0100 | ajb | (~ajb@cupid.whatbox.ca) (*.net *.split) |
2022-01-28 07:07:10 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (*.net *.split) |
2022-01-28 07:07:10 +0100 | carter | (sid14827@helmsley.irccloud.com) (*.net *.split) |
2022-01-28 07:07:10 +0100 | xdej_ | (~xdej@quatramaran.salle-s.org) (*.net *.split) |
2022-01-28 07:07:10 +0100 | TMA | (~tma@twin.jikos.cz) (*.net *.split) |
2022-01-28 07:07:10 +0100 | hubvu_ | (sid495858@tinside.irccloud.com) (*.net *.split) |
2022-01-28 07:07:10 +0100 | jtmar | (~james@jtmar.me) (*.net *.split) |
2022-01-28 07:07:10 +0100 | gawen | (~gawen@user/gawen) (*.net *.split) |
2022-01-28 07:07:10 +0100 | absence | (torgeihe@hildring.pvv.ntnu.no) (*.net *.split) |
2022-01-28 07:07:10 +0100 | kawpuh | (~kawpuh@66.42.81.80) (*.net *.split) |
2022-01-28 07:07:10 +0100 | byorgey | (~byorgey@155.138.238.211) (*.net *.split) |
2022-01-28 07:07:10 +0100 | drewr | (~drew@user/drewr) (*.net *.split) |
2022-01-28 07:07:11 +0100 | dobblego | dibblego |
2022-01-28 07:07:11 +0100 | MironZ7 | MironZ |
2022-01-28 07:07:11 +0100 | uroboros | ouroboros |
2022-01-28 07:07:35 +0100 | Megant | (megant@user/megant) |
2022-01-28 07:08:15 +0100 | on^ | (~on@50.231.5.242) |
2022-01-28 07:08:16 +0100 | random-jellyfish | (~random-je@user/random-jellyfish) |
2022-01-28 07:08:37 +0100 | EsoAlgo3 | EsoAlgo |
2022-01-28 07:10:51 +0100 | xkuru | (~xkuru@user/xkuru) (Remote host closed the connection) |
2022-01-28 07:11:17 +0100 | xkuru | (~xkuru@user/xkuru) |
2022-01-28 07:12:46 +0100 | Rabbit | 068AAJYTL |
2022-01-28 07:12:46 +0100 | xstill- | (xstill@lounge.fi.muni.cz) |
2022-01-28 07:12:46 +0100 | xsarnik | (xsarnik@lounge.fi.muni.cz) |
2022-01-28 07:12:46 +0100 | amk | (~amk@109.255.169.126) |
2022-01-28 07:12:46 +0100 | kojo5551 | (~kojo5551@fep.grid.pub.ro) |
2022-01-28 07:12:46 +0100 | abrar | (~abrar@static-108-2-152-54.phlapa.fios.verizon.net) |
2022-01-28 07:12:46 +0100 | ski | (~ski@remote11.chalmers.se) |
2022-01-28 07:12:46 +0100 | hpc | (~juzz@ip98-169-35-13.dc.dc.cox.net) |
2022-01-28 07:12:46 +0100 | forell_ | (~forell@host-178-216-90-220.sta.tvknaszapraca.pl) |
2022-01-28 07:12:46 +0100 | prasad | (~user@c-73-170-49-136.hsd1.ca.comcast.net) |
2022-01-28 07:12:46 +0100 | wombat875 | (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) |
2022-01-28 07:12:46 +0100 | kmein_ | (~weechat@user/kmein) |
2022-01-28 07:12:46 +0100 | ishutin | (~ishutin@87-97-82-177.pool.digikabel.hu) |
2022-01-28 07:12:46 +0100 | c_wraith | (~c_wraith@adjoint.us) |
2022-01-28 07:12:46 +0100 | statusfailed | (~statusfai@statusfailed.com) |
2022-01-28 07:12:46 +0100 | canta | (~canta@user/canta) |
2022-01-28 07:12:46 +0100 | dminuoso | (~dminuoso@user/dminuoso) |
2022-01-28 07:12:46 +0100 | mmalter | (~mmalter@88.126.10.237) |
2022-01-28 07:12:46 +0100 | tcard | (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) |
2022-01-28 07:12:46 +0100 | juri_ | (~juri@178.63.35.222) |
2022-01-28 07:12:46 +0100 | tolt | (~weechat-h@li219-154.members.linode.com) |
2022-01-28 07:12:46 +0100 | mmaruseacph2 | (~mihai@198.199.100.72) |
2022-01-28 07:12:46 +0100 | meejah | (~meejah@rutas.meejah.ca) |
2022-01-28 07:12:46 +0100 | fluxit | (~fluxit@techsmix.net) |
2022-01-28 07:12:46 +0100 | andjjj23_ | (~irc@107.170.228.47) |
2022-01-28 07:12:46 +0100 | neverwas | (jpneverwas@swissbox.unperson.link) |
2022-01-28 07:12:46 +0100 | n3t | (n3t@user/n3t) |
2022-01-28 07:12:46 +0100 | loonycyborg | (~loonycybo@wesnoth/developer/loonycyborg) |
2022-01-28 07:12:46 +0100 | drdo | (~drdo@roach0.drdo.eu) |
2022-01-28 07:12:46 +0100 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) |
2022-01-28 07:12:46 +0100 | carter | (sid14827@helmsley.irccloud.com) |
2022-01-28 07:12:47 +0100 | TMA | (~tma@twin.jikos.cz) |
2022-01-28 07:12:47 +0100 | hubvu_ | (sid495858@tinside.irccloud.com) |
2022-01-28 07:12:47 +0100 | jtmar | (~james@jtmar.me) |
2022-01-28 07:12:47 +0100 | kawpuh | (~kawpuh@66.42.81.80) |
2022-01-28 07:12:47 +0100 | byorgey | (~byorgey@155.138.238.211) |
2022-01-28 07:12:49 +0100 | d34df00d | (~d34df00d@2600:1700:8c60:3a10::48) (Excess Flood) |
2022-01-28 07:12:52 +0100 | Akiva | (~Akiva@user/Akiva) |
2022-01-28 07:13:58 +0100 | xstill- | Guest9250 |
2022-01-28 07:15:09 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) (Remote host closed the connection) |
2022-01-28 07:15:52 +0100 | bollu | (~bollu@159.65.151.13) (Quit: Ping timeout (120 seconds)) |
2022-01-28 07:15:52 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) |
2022-01-28 07:16:12 +0100 | bollu | (~bollu@159.65.151.13) |
2022-01-28 07:17:48 +0100 | seer | (~delicacie@2601:6c4:4080:3f80:3dfd:43d3:c415:2e6f) |
2022-01-28 07:17:50 +0100 | seer | Inst |
2022-01-28 07:17:52 +0100 | <Inst> | hai guys |
2022-01-28 07:18:14 +0100 | <Inst> | I've been recently thinking, what's the relationship between a function and an algorithm? |
2022-01-28 07:19:09 +0100 | <dibblego> | is this fair dinkum? |
2022-01-28 07:19:25 +0100 | vglfr | (~vglfr@88.155.15.250) |
2022-01-28 07:20:22 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) (Ping timeout: 260 seconds) |
2022-01-28 07:20:33 +0100 | <Inst> | ??? |
2022-01-28 07:21:20 +0100 | <Axman6> | algorithms can be made from functions? |
2022-01-28 07:22:13 +0100 | <Inst> | algorithms can be made from functions, but algorithms can also be the implementation of functions |
2022-01-28 07:22:14 +0100 | <Axman6> | algorithms are often defined as being a sequence of steps, but that would generally mean that lots of algorithm implementations in Haskell aren't algorithms because the order of steps may not be well defined |
2022-01-28 07:22:44 +0100 | <Axman6> | yes - because really, everything is functions; just ask Church |
2022-01-28 07:23:32 +0100 | <Axman6> | > (\t f -> t) "Everything is a function" "Not everything is a function" |
2022-01-28 07:23:33 +0100 | <lambdabot> | "Everything is a function" |
2022-01-28 07:23:41 +0100 | <Inst> | in which case, why not just consider algorithms the specific implementation of a function? |
2022-01-28 07:23:57 +0100 | <c_wraith> | at that point, you're starting to get into the weeds |
2022-01-28 07:23:57 +0100 | <Inst> | and if the order of steps may not be well defined, shouldn't there be an order of steps, even if it's hidden from casual examination? |
2022-01-28 07:24:11 +0100 | <c_wraith> | what value does a statement like that have? |
2022-01-28 07:24:30 +0100 | koolazer | (~koo@user/koolazer) |
2022-01-28 07:25:10 +0100 | <random-jellyfish> | wouldn't reading about Turing machines shed more light on the topic? |
2022-01-28 07:25:46 +0100 | <c_wraith> | depending on your exact defintions of "function" and "algorithm", all functions implement algorithms and all algorithms can be functions. The thing is, "depending on exact definitions" is doing a lot of heavy lifting. |
2022-01-28 07:25:47 +0100 | <Inst> | algorithms iirc come from mathematics, not computer science |
2022-01-28 07:25:54 +0100 | <dibblego> | no read #haskell instead |
2022-01-28 07:25:59 +0100 | <Axman6> | (\f t -> t) -- got my canonical true definion above backwards! |
2022-01-28 07:26:02 +0100 | <c_wraith> | computer science is the branch of mathematics concerned with efficiency |
2022-01-28 07:26:17 +0100 | <c_wraith> | anything coming from computer science is math |
2022-01-28 07:27:03 +0100 | <Inst> | https://plato.stanford.edu/entries/turing-machine/ |
2022-01-28 07:27:15 +0100 | <int-e> | coming from math, functions need not be computable |
2022-01-28 07:28:34 +0100 | <random-jellyfish> | "Computability is the ability to solve a problem in an effective manner. It is a key topic of the field of computability theory within mathematical logic and the theory of computation within computer science. The computability of a problem is closely linked to the existence of an algorithm to solve the problem. |
2022-01-28 07:28:35 +0100 | <random-jellyfish> | than Turing machines are studied in the field of hypercomputation." , https://en.wikipedia.org/wiki/Computability#:~:text=Computability%20is%20the%20ability%20to,algori… |
2022-01-28 07:28:39 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2022-01-28 07:28:47 +0100 | <c_wraith> | There isn't really anything deep to explore. It comes down to exact definitions in use. And you get to choose those definitions when you start the conversation. |
2022-01-28 07:28:49 +0100 | rusrushal13 | (~rusrushal@2401:4900:447e:b662:c06d:f354:ecf:b32e) |
2022-01-28 07:29:21 +0100 | <Inst> | c_wraith: my topic of interest is whether FP allows you to reason about algorithms more easily |
2022-01-28 07:30:01 +0100 | <random-jellyfish> | I'd say it allows you to do it differently |
2022-01-28 07:30:13 +0100 | <random-jellyfish> | whether it's easy or not depends on you |
2022-01-28 07:30:28 +0100 | <Inst> | i no longer feel the sense that FP is easier than imperative |
2022-01-28 07:30:30 +0100 | <c_wraith> | I don't think anyone thinks Hoare triples are easier than referential transparency |
2022-01-28 07:30:52 +0100 | <c_wraith> | the thing is, people don't actually use Hoare triples, because they just go "eh, good enough" |
2022-01-28 07:30:57 +0100 | <int-e> | The lack of mutation in pure functional languages simplifies reasoning. |
2022-01-28 07:30:58 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2022-01-28 07:31:25 +0100 | <int-e> | But it also limits how you implement things... it's not a free meal. |
2022-01-28 07:32:28 +0100 | <random-jellyfish> | recursion gives you a "feeling" of mutability |
2022-01-28 07:32:50 +0100 | <Inst> | strictly, just accumulators |
2022-01-28 07:32:51 +0100 | <random-jellyfish> | with the arguments changing at each call |
2022-01-28 07:32:55 +0100 | <c_wraith> | recursion gives you rebinding locals. That's very different from the kind of mutability you need for like a Union-Find tree |
2022-01-28 07:33:48 +0100 | <monochrom> | If you allow yourself pointer-heavy mutable data structures, reasoning about algorithms operating on them is still an open question (therefore harder than even PhD level), for starters look up "separation logic". |
2022-01-28 07:33:55 +0100 | <c_wraith> | (specifically, the path compression portion of the Find algorithm) |
2022-01-28 07:34:15 +0100 | _ht | (~quassel@82-168-34-160.fixed.kpn.net) |
2022-01-28 07:34:24 +0100 | <monochrom> | However, union-find absolutely relies on allowing a pointer-heavy mutable data structure. |
2022-01-28 07:34:36 +0100 | <monochrom> | Yeah that :) |
2022-01-28 07:35:08 +0100 | <Inst> | so FP algorithms are a subset of all CS algorithms? |
2022-01-28 07:35:17 +0100 | <monochrom> | Honest! I swear I was just too slow typing! I already thought of union-find without reading. :) |
2022-01-28 07:35:31 +0100 | <c_wraith> | Union-Find is a really good example, though |
2022-01-28 07:35:35 +0100 | <int-e> | the term "algorithm" is not rigorously defined |
2022-01-28 07:35:35 +0100 | <Axman6> | Inst: purity certainly lets you reason about algorithms more easily, but not all algorithms can be implemented efficiently with pure functions (we have some cool tricks to allow us to write algorithms which use mutation and guarantee they are pure, but that doesn't mean all mutable algorithms can be implemented efficiently with purity) |
2022-01-28 07:35:53 +0100 | <int-e> | it's too imprecise to answer "so FP algorithms are a subset of all CS algorithms?" |
2022-01-28 07:36:00 +0100 | <c_wraith> | Union-Find is easy to understand and absolutely needs mutable pointers |
2022-01-28 07:36:21 +0100 | <int-e> | You /can/ simulate mutation with persistent associative maps and recursion. |
2022-01-28 07:36:24 +0100 | <dolio> | Union-find is easy to understand? |
2022-01-28 07:36:45 +0100 | <c_wraith> | Yes. It's not easy to *prove*, but it's easy to understand |
2022-01-28 07:36:54 +0100 | <int-e> | And implement union-find on top of that. But you incur a logarithmic slowdown (and a significant constant factor). Is it the same algorithm? You can argue either way. |
2022-01-28 07:37:09 +0100 | <monochrom> | Oh BTW even just proving its amortized time bounds is extremely messy. Especially in contrast to how the algorithms are like 5-liners and "simple" loops. |
2022-01-28 07:37:21 +0100 | <dolio> | I think it's really easy to not implement optimally. |
2022-01-28 07:37:29 +0100 | kritzefitz | (~kritzefit@debian/kritzefitz) |
2022-01-28 07:38:05 +0100 | <dolio> | Even if you know the sort of trick to do. |
2022-01-28 07:38:14 +0100 | <int-e> | don't mess up the ranks; don't forget path compression |
2022-01-28 07:38:16 +0100 | <c_wraith> | there isn't really a trick, is there? |
2022-01-28 07:38:26 +0100 | <c_wraith> | It's just union by rank, find with path compression |
2022-01-28 07:38:37 +0100 | <monochrom> | I no longer teach a data structure course, but every year when I taught it, the time bound proof was the most dreaded part of the whole course. |
2022-01-28 07:38:47 +0100 | <c_wraith> | yeah. that time bound proof is ridiculous |
2022-01-28 07:39:03 +0100 | <int-e> | Hmm I don't think I've ever worked through it. |
2022-01-28 07:39:22 +0100 | <int-e> | I just marvelled at the inverse Ackermann function... |
2022-01-28 07:39:35 +0100 | <c_wraith> | when it involves a function you've never heard of in any other context, you know it's going to be hairy |
2022-01-28 07:39:48 +0100 | <int-e> | Oh I've heard of it of course :) |
2022-01-28 07:39:59 +0100 | <int-e> | (Well, the Ackermann function) |
2022-01-28 07:40:03 +0100 | <c_wraith> | You've heard of *inverse* Ackermann? |
2022-01-28 07:40:09 +0100 | <monochrom> | So, one day, I signed up for receiving a teacher's copy of CLRS, therefore also receiving one of the author's own lecture slides. I was very excited, how does the expert teach this proof to class? |
2022-01-28 07:40:33 +0100 | <int-e> | "then a miracle occurs" |
2022-01-28 07:40:38 +0100 | <monochrom> | I opened his slides. He totally doesn't teach the proof in lecture at all. >:E |
2022-01-28 07:41:17 +0100 | <c_wraith> | My professor for the relevant course skipped the inverse ackermann function. He just proved amortized O(n log n) with union by rank, and ignored path compression. |
2022-01-28 07:41:32 +0100 | <int-e> | it may be more interesting that there are claims in the literature that this scheme is amortized constant time :) |
2022-01-28 07:41:34 +0100 | <monochrom> | Actually that's a relief. I guess it means I don't have to teach the proof either. >:) |
2022-01-28 07:41:58 +0100 | <monochrom> | Really, in my case it's a 2nd year course, I don't think the students actually benefit from seeing the proof... |
2022-01-28 07:42:02 +0100 | <c_wraith> | I thought you said you didn't need to even teach the course anymore. :P |
2022-01-28 07:42:33 +0100 | <monochrom> | But I'm a bit bivalent because it's a prominent example of a non-trivial potential argument. |
2022-01-28 07:42:41 +0100 | <opqdonut> | ah union-find is the famous one with the inverse ackermann |
2022-01-28 07:43:19 +0100 | <c_wraith> | union-find also has the nice property that it is well-suited for a simple algorithm to teach, so it's easy to justify. |
2022-01-28 07:43:31 +0100 | <c_wraith> | ... even if that algorithm is almost always inferior to Dijkstra's |
2022-01-28 07:44:37 +0100 | doyougnu | (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 240 seconds) |
2022-01-28 07:44:38 +0100 | <Inst> | Axman6: does it matter if you can implement such efficiently? As in, if it's logically equivalent to an efficient implementation, doesn't the FP version resolve to a useful stepping stone to understanding of the impure version? |
2022-01-28 07:44:39 +0100 | <int-e> | https://www.ecommons.cornell.edu/handle/1813/10810 (okay, it's just a technical report, so not peer reviewed) |
2022-01-28 07:44:39 +0100 | <opqdonut> | I remember an advanced data structures course that used about half of its run to do the amortized analysis of fibonacci heaps |
2022-01-28 07:45:17 +0100 | <int-e> | Mostly this explains Tarjan's title, "On the efficiency of a good but not linear set union algorithm" |
2022-01-28 07:45:27 +0100 | <monochrom> | But yeah here is how badly "algorithm" is undefined. We don't even agree on a definition of sameness of two algorithms. |
2022-01-28 07:46:25 +0100 | <Axman6> | Inst: the run time of an algorithm is usually considered a fundamental property of it, and often making a pure implemntation will add a log n factor to the runtime, unless you can use true mutation |
2022-01-28 07:47:33 +0100 | <opqdonut> | arguably if the algorithm uses mutation and you make a pure implementation it's not the same algorithm |
2022-01-28 07:47:36 +0100 | <Inst> | and i assume the log n isn't predictable in such a way that it can simply be removed trivially from its impure cousin? |
2022-01-28 07:47:56 +0100 | <Inst> | erm, from the pure cousin to represent its impure cousin? |
2022-01-28 07:48:07 +0100 | fef | (~thedawn@user/thedawn) |
2022-01-28 07:48:14 +0100 | <opqdonut> | many famous algorithms rely inherently on mutation, e.g. quicksort |
2022-01-28 07:48:36 +0100 | <opqdonut> | some famous algorithms are effectively functional already, e.g. mergesort, or many binary tree algorithms |
2022-01-28 07:49:05 +0100 | <Inst> | i'm just curious, i know people who have been "filtered by trees" |
2022-01-28 07:49:39 +0100 | <Inst> | is working with data structures intrinsically easier, i.e, is being based in FP and translating from an FP idiom to one with mutation practical? |
2022-01-28 07:51:11 +0100 | <c_wraith> | I don't think that question is answerable |
2022-01-28 07:51:41 +0100 | <monochrom> | I don't think the question has meaning. |
2022-01-28 07:51:58 +0100 | <Inst> | not even wrong :) |
2022-01-28 07:52:00 +0100 | <monochrom> | I don't think most of the recent questions have meaning. |
2022-01-28 07:52:02 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) |
2022-01-28 07:52:10 +0100 | <Inst> | *my recent questions |
2022-01-28 07:52:17 +0100 | <int-e> | translating from an FP idiom to one with mutation is practical, ghc does it all the time |
2022-01-28 07:52:55 +0100 | <Inst> | i'm curious in pedagogy, i guess, when admitted i don't understand the subject myself |
2022-01-28 07:53:05 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) (Remote host closed the connection) |
2022-01-28 07:53:26 +0100 | <Inst> | the idea is more around that of teaching FP first, then moving onto imperative as a way to compensate for FP's limitations |
2022-01-28 07:55:28 +0100 | <random-jellyfish> | are there computer architectures better suited for Haskell than von Neumann architectures? |
2022-01-28 07:55:54 +0100 | <random-jellyfish> | I know I could probably look this up and get 1000 results, but I like quick answers from experts :) |
2022-01-28 07:56:06 +0100 | <c_wraith> | hard to say. |
2022-01-28 07:56:15 +0100 | <c_wraith> | The reduceron existed. |
2022-01-28 07:56:16 +0100 | polyphem | (~rod@2a02:810d:840:8754:2c8b:1f9:dc9a:b89b) |
2022-01-28 07:57:18 +0100 | <monochrom> | https://mail.haskell.org/pipermail/haskell-cafe/2007-May/025503.html >:) |
2022-01-28 07:59:07 +0100 | <random-jellyfish> | I see recuceron is open source and can be installed on FPGAs, nice |
2022-01-28 08:00:16 +0100 | <int-e> | the pressure for dedicated hardware kind of evaporated when CPUs began executing dozens of instructions per memory access |
2022-01-28 08:00:53 +0100 | <Inst> | int-e: still sort of curious, why aren't there FP coprocessors? |
2022-01-28 08:01:12 +0100 | <Hash> | What would it do differently? |
2022-01-28 08:01:38 +0100 | deadmarshal | (~deadmarsh@95.38.114.1) |
2022-01-28 08:01:45 +0100 | <int-e> | And how would it be more efficient in computations that are largely memory bound? |
2022-01-28 08:01:48 +0100 | <c_wraith> | in a practical sense - because it's a *lot* of work to run faster than code compiled via G-Machine on commodity hardware |
2022-01-28 08:02:50 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41be:eda7:26bd:771e) |
2022-01-28 08:03:29 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41be:eda7:26bd:771e) (Remote host closed the connection) |
2022-01-28 08:03:44 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41be:eda7:26bd:771e) |
2022-01-28 08:04:27 +0100 | <int-e> | Also... there's a strong tendency to write performance critical code in a different language that utilizes standard CPUs better (by reducing random memory accesses and giving more control over cache locality) |
2022-01-28 08:05:27 +0100 | <int-e> | And that's the fight you'd have to win: FP code on your specialized hardware vs. tuned other-language code on standard CPUs, or GPUs where applicable (or more specialized number crunchers like Google's TPUs) |
2022-01-28 08:06:09 +0100 | <Inst> | int-e: i guess i'm more talking business, suppose an FP optimized architecture that's built into a card, as opposed to being a CPU, exists, with the aim of speeding up FP computing |
2022-01-28 08:06:28 +0100 | <Inst> | would that see a market? Since, FP community is often fanatical, might see uptake simply because it's there, and hopefully affordable |
2022-01-28 08:07:26 +0100 | <c_wraith> | I can't imagine the research budget it would take to make it comparable to current hardware |
2022-01-28 08:08:20 +0100 | <random-jellyfish> | lisp machines had the same fate |
2022-01-28 08:08:29 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2022-01-28 08:09:30 +0100 | ElderEphemera | (~ElderEphe@d192-24-122-179.try.wideopenwest.com) |
2022-01-28 08:09:41 +0100 | ElderEphemera | (~ElderEphe@d192-24-122-179.try.wideopenwest.com) (Client Quit) |
2022-01-28 08:09:42 +0100 | yauhsien | (~yauhsien@61-231-37-18.dynamic-ip.hinet.net) |
2022-01-28 08:11:27 +0100 | <int-e> | Even https://en.wikipedia.org/wiki/Jazelle seems to have died quietly... and that targeted a mainstream virtual machine. |
2022-01-28 08:12:44 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-28 08:12:44 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-28 08:12:44 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-28 08:13:37 +0100 | vglfr | (~vglfr@88.155.15.250) (Ping timeout: 250 seconds) |
2022-01-28 08:13:51 +0100 | <random-jellyfish> | if hardware design and verification were cheaper there would be a plethora of architectures running on FPGAs, only the protocols they'd use to talk to each other would be standardized |
2022-01-28 08:15:07 +0100 | MQ17J | (~MQ17J@d192-24-122-179.try.wideopenwest.com) |
2022-01-28 08:17:31 +0100 | <c_wraith> | instead we have Apple adding instructions to their M1 chip specifically to accelerate javascript on their hardware |
2022-01-28 08:17:34 +0100 | rusrushal13 | (~rusrushal@2401:4900:447e:b662:c06d:f354:ecf:b32e) (Ping timeout: 256 seconds) |
2022-01-28 08:17:46 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 256 seconds) |
2022-01-28 08:19:00 +0100 | <int-e> | (Which may be a more fruitful avenue... think of individual instructions that CPUs could reasonably implement and that would make FP programs run faster. Maybe something that inspects pointer tags early and uses them for branch prediction, who knows.) |
2022-01-28 08:19:49 +0100 | <random-jellyfish> | I wonder if the advent of https://en.wikipedia.org/wiki/High-level_synthesis will eventually make hardware and software design indistinguishable |
2022-01-28 08:19:59 +0100 | <int-e> | Javascript is a juicier target for this if you're building a mobile device. Sadly. |
2022-01-28 08:20:06 +0100 | vglfr | (~vglfr@46.96.133.112) |
2022-01-28 08:22:18 +0100 | vglfr | (~vglfr@46.96.133.112) (Read error: Connection reset by peer) |
2022-01-28 08:23:00 +0100 | vglfr | (~vglfr@46.96.133.112) |
2022-01-28 08:23:39 +0100 | asivitz | (uid178348@id-178348.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2022-01-28 08:25:01 +0100 | vglfr | (~vglfr@46.96.133.112) (Read error: Connection reset by peer) |
2022-01-28 08:25:38 +0100 | vglfr | (~vglfr@46.96.133.112) |
2022-01-28 08:26:55 +0100 | yauhsien | (~yauhsien@61-231-37-18.dynamic-ip.hinet.net) (Remote host closed the connection) |
2022-01-28 08:27:26 +0100 | xkuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2022-01-28 08:27:44 +0100 | yauhsien | (~yauhsien@61-231-37-18.dynamic-ip.hinet.net) |
2022-01-28 08:29:40 +0100 | <Maxdamantus> | FPGAs are always going to be suboptimal. |
2022-01-28 08:30:20 +0100 | xkuru | (~xkuru@user/xkuru) |
2022-01-28 08:30:28 +0100 | MQ17J | (~MQ17J@d192-24-122-179.try.wideopenwest.com) (Quit: Client closed) |
2022-01-28 08:30:33 +0100 | <Maxdamantus> | If you find patterns that work well on FPGAs, they should probably just be incorporated into more general processors. |
2022-01-28 08:31:23 +0100 | <Maxdamantus> | (ones that are produced at 4 nm resolution or whatever it is) |
2022-01-28 08:31:33 +0100 | zeenk | (~zeenk@2a02:2f04:a208:c500:649e:b5e2:d15c:7960) |
2022-01-28 08:31:37 +0100 | akegalj | (~akegalj@141-136-245-236.dsl.iskon.hr) |
2022-01-28 08:32:15 +0100 | yauhsien | (~yauhsien@61-231-37-18.dynamic-ip.hinet.net) (Ping timeout: 250 seconds) |
2022-01-28 08:32:41 +0100 | <davean> | uh huh |
2022-01-28 08:32:43 +0100 | <davean> | Sure |
2022-01-28 08:33:38 +0100 | <Maxdamantus> | 10 nm* |
2022-01-28 08:35:14 +0100 | <davean> | Its not about the nm, what you said doesn't even make conceptual sense vs. traditional processors. |
2022-01-28 08:35:34 +0100 | <davean> | and the processors that it does make sense for, you'd probably not think of as a processor, and basicly are FPGAs done differently |
2022-01-28 08:35:58 +0100 | <random-jellyfish> | 5G base stations are using FPGAs a lot, easier for maintenance |
2022-01-28 08:36:18 +0100 | <random-jellyfish> | no need to replace boards, just reconfigure them |
2022-01-28 08:36:25 +0100 | <davean> | Also can do things that you just can't do on anything like a CPU |
2022-01-28 08:36:42 +0100 | <davean> | FPGAs are wide, inherently. |
2022-01-28 08:37:01 +0100 | <davean> | They move data differently than CPUs |
2022-01-28 08:37:28 +0100 | <davean> | They litterly do a different job |
2022-01-28 08:37:33 +0100 | vglfr | (~vglfr@46.96.133.112) (Read error: Connection reset by peer) |
2022-01-28 08:37:55 +0100 | <Maxdamantus> | They do the same job as an ASIC, just one that's reprogrammable. |
2022-01-28 08:38:09 +0100 | <Maxdamantus> | The ASIC solution is going to be better at doing that particular job. |
2022-01-28 08:38:10 +0100 | <davean> | And an ASIC is nothing like a CPU |
2022-01-28 08:38:31 +0100 | vglfr | (~vglfr@46.96.133.112) |
2022-01-28 08:38:33 +0100 | <Maxdamantus> | Well, a CPU can be thought of as being made of lots of ASICs. |
2022-01-28 08:38:38 +0100 | <davean> | This is just dumb, I'm out |
2022-01-28 08:38:56 +0100 | <int-e> | so many type mismatches |
2022-01-28 08:39:10 +0100 | <random-jellyfish> | lol |
2022-01-28 08:40:01 +0100 | <random-jellyfish> | data Hardware a = Asic a | Fpga a |
2022-01-28 08:40:22 +0100 | <davean> | I mean FPGAs are an ASIC |
2022-01-28 08:41:31 +0100 | vpan | (~0@212.117.1.172) |
2022-01-28 08:41:54 +0100 | <Maxdamantus> | If I wanted to create my own car company. I would probably build the cars out of wood. |
2022-01-28 08:41:57 +0100 | zmt00 | (~zmt00@user/zmt00) (Ping timeout: 240 seconds) |
2022-01-28 08:42:16 +0100 | <Maxdamantus> | If I wanted to create my own 5G base station manufacturing company. I would probably build the base stations out of FPGAs. |
2022-01-28 08:42:55 +0100 | <monochrom> | Ugh why is everyone dreaming. |
2022-01-28 08:43:07 +0100 | <monochrom> | pipe dreaming, to be specific. |
2022-01-28 08:43:07 +0100 | <Maxdamantus> | If Apple wanted to make 5G base stations, they would use ASICs because they would probably be targetting a sufficiently high number of units. |
2022-01-28 08:43:09 +0100 | <davean> | monochrom: I don't know, the troll is not the worst? |
2022-01-28 08:43:35 +0100 | lionhairdino | (~jacoo@121.131.39.82) |
2022-01-28 08:43:49 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2022-01-28 08:44:08 +0100 | <random-jellyfish> | apologies |
2022-01-28 08:44:14 +0100 | <int-e> | the "FP" in "FPGA" is a feature |
2022-01-28 08:44:32 +0100 | <polyphem> | is google down ? |
2022-01-28 08:44:39 +0100 | <monochrom> | "I'm thinking how to teach computer science" "I'm going to start a car company that makes 5G base stations" ... |
2022-01-28 08:45:14 +0100 | <random-jellyfish> | human brains return so much better search results than google |
2022-01-28 08:45:17 +0100 | <int-e> | building radio towers by stacking FPGAs <-- or at least that's how I visualized it |
2022-01-28 08:45:20 +0100 | <random-jellyfish> | apologies again |
2022-01-28 08:45:31 +0100 | <monochrom> | Correction: "I'm thinking how to teach computer science. I haven't learned computer science." |
2022-01-28 08:45:44 +0100 | <davean> | monochrom: I don't know, we've had worse trolls |
2022-01-28 08:46:25 +0100 | <random-jellyfish> | I worked at Ericsson a few years ago, their base stations included FPGAs, they weren't made entirely of FPGAs |
2022-01-28 08:46:26 +0100 | <int-e> | well, the best trolls are at least somewhat knowledgable |
2022-01-28 08:47:43 +0100 | <random-jellyfish> | FPGAs are good accelerating certain algorithms for which there no hw acceleration available yet |
2022-01-28 08:47:50 +0100 | <random-jellyfish> | are good for* |
2022-01-28 08:48:49 +0100 | <monochrom> | Google is not down. |
2022-01-28 08:48:50 +0100 | EsoAlgo | (~EsoAlgo@152.70.142.52) (Ping timeout: 268 seconds) |
2022-01-28 08:49:25 +0100 | <polyphem> | monochrom:now it works .... |
2022-01-28 08:49:54 +0100 | <davean> | random-jellyfish: They're good for implimenting wide programs without a lot of conditionals |
2022-01-28 08:50:06 +0100 | <davean> | random-jellyfish: like if you want a next-frame ethernet server |
2022-01-28 08:51:29 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2022-01-28 08:54:28 +0100 | <random-jellyfish> | was google down for real? |
2022-01-28 08:56:12 +0100 | <polyphem> | google didnt work here whereas duckduckgo did |
2022-01-28 08:56:26 +0100 | <polyphem> | maybe some routing stuff , dunno |
2022-01-28 08:57:00 +0100 | <Maxdamantus> | random-jellyfish: exactly. That's why it's suboptimal. |
2022-01-28 08:57:09 +0100 | <Maxdamantus> | random-jellyfish: once there's hw acceleration, you don't need the FPGA. |
2022-01-28 08:57:21 +0100 | <davean> | Maxdamantus: All 11ms of that time! |
2022-01-28 08:57:52 +0100 | kmein_ | kmein |
2022-01-28 08:59:27 +0100 | <random-jellyfish> | sometimes it's better to have the hw accelleration now than later |
2022-01-28 08:59:48 +0100 | <random-jellyfish> | and hw bug fixes in asics are impossible |
2022-01-28 09:00:42 +0100 | <polyphem> | didnt amd wanted to include fpgas in their processors ? |
2022-01-28 09:00:54 +0100 | <polyphem> | for codecs |
2022-01-28 09:01:06 +0100 | <random-jellyfish> | some macbook pros already have ice40 fpgas on them |
2022-01-28 09:01:25 +0100 | <davean> | yes, everyone does becasue its the smart move |
2022-01-28 09:02:10 +0100 | <Maxdamantus> | polyphem: dunno, but that sounds like a suboptimal solution. If someone's CPU doesn't support a particular codec, they should probably have just got the video in a codec that is supported. |
2022-01-28 09:02:38 +0100 | <Maxdamantus> | Brand new codecs aren't going to be *that* much better than ones that are supported in the current generation of CPUs. |
2022-01-28 09:02:54 +0100 | <polyphem> | Maxdamantus: i think its meant for encoding,rather decoding |
2022-01-28 09:02:57 +0100 | <random-jellyfish> | os developers will soon be writing drivers in Verilog or Clash lol |
2022-01-28 09:03:00 +0100 | <Maxdamantus> | It will probably only help if you're using a 10-year old CPU. |
2022-01-28 09:03:13 +0100 | zyklotom1 | (~ethan@r4-128-61-88-167.res.gatech.edu) (WeeChat 2.7.1) |
2022-01-28 09:03:16 +0100 | prasad | (~user@c-73-170-49-136.hsd1.ca.comcast.net) (Remote host closed the connection) |
2022-01-28 09:04:57 +0100 | <Maxdamantus> | polyphem: I think the same principle should apply. |
2022-01-28 09:05:50 +0100 | <Maxdamantus> | polyphem: an FPGA implementation of HEVC or H.264 or whatever is unlikely to be more efficient than one hardcoded at 10 nm. |
2022-01-28 09:05:52 +0100 | mstksg | (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 250 seconds) |
2022-01-28 09:06:01 +0100 | <Hecate> | #StabilityWin mtl 2.3 will not break compat by removing some re-exports |
2022-01-28 09:06:32 +0100 | <Hecate> | (that was either this or provide some tooling to allow the migration to occur in large codebases smoothly) |
2022-01-28 09:06:33 +0100 | <Maxdamantus> | Maybe if you're developing a new codec, but for that you should probably just be using a discrete FPGA for prototyping. |
2022-01-28 09:06:44 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:4096:379:219d:4d69) |
2022-01-28 09:07:55 +0100 | mstksg | (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
2022-01-28 09:08:19 +0100 | shriekingnoise | (~shrieking@201.231.16.156) (Quit: Quit) |
2022-01-28 09:08:20 +0100 | <int-e> | Maxdamantus: Do you know what the term "trade-off" means? |
2022-01-28 09:09:04 +0100 | <Maxdamantus> | int-e: yes. It's when you build cars out of wood because you don't have the ability to make them out of metal. |
2022-01-28 09:09:18 +0100 | <Maxdamantus> | int-e: or when you build 5G base stations out of FPGAs. |
2022-01-28 09:10:12 +0100 | <Maxdamantus> | 5G is a fairly new technology, so I can understand why they might still be using FPGAs there. |
2022-01-28 09:11:59 +0100 | <int-e> | You will always have some FPGAs in there because they offer you programmable, wide, real time data processing, allowing you to add features in the field that would otherwise require you to replace several thousands worth of hardware. |
2022-01-28 09:12:32 +0100 | froduck | (~froduck@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net) |
2022-01-28 09:13:18 +0100 | <froduck> | hey, i have a pretty decent representation of pointers |
2022-01-28 09:13:25 +0100 | akegalj | (~akegalj@141-136-245-236.dsl.iskon.hr) (Ping timeout: 250 seconds) |
2022-01-28 09:14:44 +0100 | <[exa]> | better than "integer byte addresses" ? |
2022-01-28 09:14:57 +0100 | <froduck> | type Edit a x = (Read a x,Write a x), data Pointer where Pointer a s x :: (Read a x,Edit s x) => x -> Pointer a s x |
2022-01-28 09:15:05 +0100 | <froduck> | [exa] yes |
2022-01-28 09:16:30 +0100 | <Maxdamantus> | int-e: right, with a trade-off of efficiency (need more hardware to achieve the same throughput, using more energy, costing more money due to specialisation) |
2022-01-28 09:17:01 +0100 | <Maxdamantus> | int-e: if your use case is really special then maybe an FPGA is the only practical option. |
2022-01-28 09:17:39 +0100 | <Maxdamantus> | int-e: just like how making a wooden go-kart might be the only way I can make my own car. |
2022-01-28 09:18:24 +0100 | xkuru | (~xkuru@user/xkuru) (Ping timeout: 256 seconds) |
2022-01-28 09:18:30 +0100 | <[exa]> | froduck: how does that work? (looks like no pointer arithmetic there right?) |
2022-01-28 09:18:34 +0100 | <froduck> | class Read a x where get :: x -> a, class Write s x where set :: s -> x -> x, edit :: Edit a x => (a -> a) -> x -> x;edit f x = let a = get x in set (f a) x |
2022-01-28 09:18:44 +0100 | chenqisu1 | (~chenqisu1@183.217.200.249) |
2022-01-28 09:18:55 +0100 | <[exa]> | in particular, isn't that State ? |
2022-01-28 09:18:55 +0100 | <froduck> | [exa] set changes the pointer |
2022-01-28 09:18:56 +0100 | systemfault | Elsa |
2022-01-28 09:19:19 +0100 | Elsa | systemfault |
2022-01-28 09:19:26 +0100 | <froduck> | [exa] its something that has a state (editable thing) s, and can be read to get an `a' |
2022-01-28 09:19:34 +0100 | <froduck> | so a state with a reader |
2022-01-28 09:19:40 +0100 | andreabedini | (~andreabed@8s8kj6nj5000h5zkmpxr.ip6.superloop.com) (Quit: WeeChat 3.3) |
2022-01-28 09:19:50 +0100 | <froduck> | it acts as an abstracted (wrapped) pair that way |
2022-01-28 09:20:00 +0100 | CHUD | (~CHUD@host-80-41-89-108.as13285.net) |
2022-01-28 09:20:05 +0100 | <[exa]> | :t (get, put, modify) |
2022-01-28 09:20:06 +0100 | <lambdabot> | (MonadState s1 m1, MonadState s2 m2, MonadState s3 m3) => (m1 s1, s2 -> m2 (), (s3 -> s3) -> m3 ()) |
2022-01-28 09:20:20 +0100 | dextaa__ | (~dextaa@217.61.225.120) (Quit: leaving) |
2022-01-28 09:20:35 +0100 | <froduck> | (wrapped in the sense that the abstracted wrapper, because it can also be a state, can extend over the pair, so its more like specifying a sectioning of the data "it at least has these two values, one you can read, the other you can edit) |
2022-01-28 09:21:24 +0100 | <froduck> | [exa] i dont see how get isnt taking an argument there |
2022-01-28 09:21:34 +0100 | <froduck> | it cant specify then the target of the class |
2022-01-28 09:21:37 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-01-28 09:21:44 +0100 | Major_Biscuit | (~MajorBisc@c-001-005-022.client.tudelft.eduvpn.nl) |
2022-01-28 09:21:55 +0100 | <froduck> | you cant "get something from x" in specifying the "pointer x" |
2022-01-28 09:22:19 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-01-28 09:22:20 +0100 | <froduck> | i think given the classes i wrote it works ok |
2022-01-28 09:22:25 +0100 | <[exa]> | what's the semantics of `a` there? |
2022-01-28 09:22:43 +0100 | <froduck> | a is the thing being pointed to |
2022-01-28 09:22:53 +0100 | <froduck> | s is the "wider environment" |
2022-01-28 09:23:12 +0100 | haskellberryfinn | (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2022-01-28 09:23:12 +0100 | <froduck> | modification of which "repositions" the pointer, so the `a' returned by get can change |
2022-01-28 09:23:17 +0100 | <[exa]> | and `x` ? |
2022-01-28 09:23:36 +0100 | <dminuoso> | Gah, I'm in an incredibly tough spot. I have this large product type, and I want case-insensitivity on one particular field for Eq and Ord. |
2022-01-28 09:23:36 +0100 | flipchan | (~filip@188-169-255-31.dsl.utg.ge) |
2022-01-28 09:23:47 +0100 | <dminuoso> | And ideally I want this without using a newtype wrapper for that field |
2022-01-28 09:23:50 +0100 | <froduck> | the thing that can be read to return the thing being pointed to `a' and edited by a function over s |
2022-01-28 09:24:26 +0100 | CHUD | (~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds) |
2022-01-28 09:24:29 +0100 | <[exa]> | dminuoso: is that still a proper Eq ? |
2022-01-28 09:24:31 +0100 | <dminuoso> | So Im left with a) either biting the bullet and forcing the inconvenience of a newtype wrapper for this field for users, b) using TH/Generics to implement the custom Eq/Ord instance, or c) handrolling it - which is particularly nasty for Ord. |
2022-01-28 09:24:35 +0100 | <dminuoso> | [exa]: Sure, why not? |
2022-01-28 09:24:43 +0100 | <froduck> | [exa] x is the pointer. |
2022-01-28 09:25:14 +0100 | <froduck> | its a repositionable lens over a, by its modifiability as being editable as a state s |
2022-01-28 09:25:47 +0100 | random-jellyfish | (~random-je@user/random-jellyfish) (Quit: Client closed) |
2022-01-28 09:25:52 +0100 | <dminuoso> | [exa]: An equivalence relation must merely be reflexive, symmetric and transitive - all of which are preserved in a case-insensitive scenario |
2022-01-28 09:25:55 +0100 | ix | (~ix@2a02:8010:674f:0:cda6:d05:f0d7:4922) (Remote host closed the connection) |
2022-01-28 09:25:58 +0100 | <dminuoso> | And the order would still be a total order |
2022-01-28 09:26:03 +0100 | ix | (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
2022-01-28 09:26:06 +0100 | ix | (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Remote host closed the connection) |
2022-01-28 09:26:15 +0100 | ix | (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
2022-01-28 09:26:16 +0100 | ix | (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Remote host closed the connection) |
2022-01-28 09:26:18 +0100 | <[exa]> | ah okay, I'm more harsh to my Eqs obviously :D |
2022-01-28 09:26:22 +0100 | <froduck> | i have a good example too, where you just use the pair of (a,s) which obviously can have `a' read from it and can have the `s' edited |
2022-01-28 09:26:24 +0100 | ix | (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
2022-01-28 09:26:26 +0100 | ix | (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Remote host closed the connection) |
2022-01-28 09:26:31 +0100 | <dminuoso> | [exa]: Plus, if I imbue this notion - you cant tell the difference anyway! |
2022-01-28 09:26:38 +0100 | <[exa]> | some kind of `compareOn` with a bit of lensing wouldn't help? |
2022-01-28 09:26:41 +0100 | <dminuoso> | (Think about Leibnizian equality) |
2022-01-28 09:26:42 +0100 | <monochrom> | dminuoso: I think monoidness of Ordering helps with Ord for tuples. Here: ... |
2022-01-28 09:26:43 +0100 | <polyphem> | dminuoso: add a virtual field with lenses and do caseconvertion |
2022-01-28 09:27:03 +0100 | <froduck> | basically, to see that as a pointer, its a kind of graph with a monadic tail that pairs the state, with a wrapped () |
2022-01-28 09:27:27 +0100 | <monochrom> | cmpTuple (x,y) (a,b) = compare x a <> compare y b |
2022-01-28 09:27:39 +0100 | ix | (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
2022-01-28 09:27:41 +0100 | CHUD | (~CHUD@host-80-41-89-108.as13285.net) |
2022-01-28 09:27:49 +0100 | <monochrom> | Let me try demoing with yahb. |
2022-01-28 09:27:50 +0100 | <dminuoso> | monochrom: Oh mmm, that's an interesting idea. |
2022-01-28 09:27:57 +0100 | <dminuoso> | Yeah I think I get the idea. |
2022-01-28 09:28:06 +0100 | <monochrom> | OK :) |
2022-01-28 09:28:14 +0100 | Cheery_ | Cheery |
2022-01-28 09:28:44 +0100 | <froduck> | eg. you could specify that the modifiable state was actually a list zipper, then you could use it as a pointer over lists, or similarly for trees or graphs |
2022-01-28 09:28:45 +0100 | <[exa]> | froduck: the purity on that one seems scary. I'd probably need to see an example of real use (like, use it to make some pointerish data structure or so) |
2022-01-28 09:28:55 +0100 | prasad | (~user@c-73-170-49-136.hsd1.ca.comcast.net) |
2022-01-28 09:29:25 +0100 | <froduck> | the idea is to abstract over that, to state, to also capture the ability to just unfold the tail |
2022-01-28 09:29:46 +0100 | <froduck> | then state s is the state used in unfolding, its clear how when that is a zipper, or another pointer like thing... etc |
2022-01-28 09:30:17 +0100 | <dminuoso> | monochrom: So broadly I could have `instance Ord MyType where compare (Foo a1 b1 c1) (Foo a2 b2 c3) = compare (W a1) (W a2) <> compare b1 b2 <> compare c1 c2` |
2022-01-28 09:30:19 +0100 | <dminuoso> | Right? |
2022-01-28 09:30:28 +0100 | <monochrom> | Yeah |
2022-01-28 09:30:37 +0100 | <dminuoso> | Brilliant, this will work nicely. :) |
2022-01-28 09:30:41 +0100 | <ski> | @type comparing fst <> comparing snd |
2022-01-28 09:30:42 +0100 | <lambdabot> | (Ord a, Ord b) => (a, b) -> (a, b) -> Ordering |
2022-01-28 09:30:42 +0100 | <froduck> | basically its taking the arguments to unfold, and putting them into a sectionaing via class constraints to restrict the writability of a |
2022-01-28 09:31:37 +0100 | ix | (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 240 seconds) |
2022-01-28 09:31:38 +0100 | <monochrom> | > [ c1 <> c2 | c1 <- [LT, EQ, GT], c2 <- [LT, EQ, GT] ] |
2022-01-28 09:31:39 +0100 | <lambdabot> | [LT,LT,LT,LT,EQ,GT,GT,GT,GT] |
2022-01-28 09:32:07 +0100 | Guest2 | (~Guest2@c-73-170-49-136.hsd1.ca.comcast.net) |
2022-01-28 09:32:20 +0100 | <ski> | instance Ord MyType where compare = comparing (W . getA) <> comparing getB <> comparing getC -- dminuoso ? |
2022-01-28 09:32:21 +0100 | CHUD | (~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds) |
2022-01-28 09:32:35 +0100 | Guest2 | presci |
2022-01-28 09:32:43 +0100 | <dminuoso> | ski: Mmm, that's a neat little improvement as well. :) |
2022-01-28 09:32:56 +0100 | <dminuoso> | Guess that would make it easier to avoid "mixing up fields" |
2022-01-28 09:32:58 +0100 | <monochrom> | I hate getters, so I say it's not as good. :) |
2022-01-28 09:33:03 +0100 | <presci> | Hi I have a question about parseDigits:: R.ReadP String |
2022-01-28 09:33:03 +0100 | <presci> | parseDigits = R.many1 (R.satisfy C.isDigit) |
2022-01-28 09:33:08 +0100 | <dminuoso> | monochrom: I have them either way. |
2022-01-28 09:33:22 +0100 | <froduck> | the pointer basically serves as a trivial unfold, as it can be updated using id to give an unfolding stream of the same `a', according to no pointer navigation. but when you scan over it, this can redirect the navigation, and the `a' recieved should change |
2022-01-28 09:33:45 +0100 | <monochrom> | But yeah the main point is if you know what <> does to Ordering you're saved. :) |
2022-01-28 09:34:07 +0100 | <dminuoso> | Indeed. :) |
2022-01-28 09:34:22 +0100 | <froduck> | you want to seperate this id :: x -> x style unfold, to give seperate roles to the internals of x, as the "thing being pointed to `a'", and the "thing you can change to change where its pointing to `s'" |
2022-01-28 09:34:55 +0100 | <ski> | @where monoids |
2022-01-28 09:34:55 +0100 | <lambdabot> | comment on "Monoids? In my programming language?" by Cale in 2008 (or 2009 ?) at <http://www.reddit.com/r/programming/comments/7cf4r/monoids_in_my_programming_language/c06adnx> about a use of ` |
2022-01-28 09:34:55 +0100 | <lambdabot> | instance Monoid a => Monoid (rho -> a)' |
2022-01-28 09:35:08 +0100 | <froduck> | i guess you need to restrict the writability of `a' to ensure its changing nature results from the editability of `s' forcing it to capture the notion of position |
2022-01-28 09:35:29 +0100 | <presci> | Hi I have a question parseDigits:: R.ReadP String |
2022-01-28 09:35:30 +0100 | <presci> | parseDigits = R.many1 (R.satisfy C.isDigit) |
2022-01-28 09:35:30 +0100 | <presci> | >>R.readP_to_S parseDigits "123" |
2022-01-28 09:35:31 +0100 | <presci> | >> gives me [("1","23"),("12","3"),("123","")] |
2022-01-28 09:35:31 +0100 | <presci> | >> should I use filter to get the last one or is there a better way to do it |
2022-01-28 09:35:57 +0100 | raym | (~raym@user/raym) (Ping timeout: 240 seconds) |
2022-01-28 09:36:03 +0100 | jespada | (~jespada@87.74.36.188) |
2022-01-28 09:36:08 +0100 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2022-01-28 09:36:24 +0100 | <[exa]> | presci: please use pastebin for multiline stuff. other than that you might need to tell it that the string terminates by parsing out `eof` |
2022-01-28 09:36:37 +0100 | coot | (~coot@213.134.190.95) |
2022-01-28 09:36:49 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2022-01-28 09:36:54 +0100 | raym | (~raym@user/raym) |
2022-01-28 09:36:55 +0100 | <[exa]> | presci: this one https://hackage.haskell.org/package/base-4.16.0.0/docs/Text-ParserCombinators-ReadP.html#v:eof |
2022-01-28 09:37:07 +0100 | coot | (~coot@213.134.190.95) (Remote host closed the connection) |
2022-01-28 09:37:15 +0100 | ix | (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
2022-01-28 09:37:34 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2022-01-28 09:38:29 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2022-01-28 09:39:24 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 268 seconds) |
2022-01-28 09:40:00 +0100 | <froduck> | i think really you want the pointer to be editable in `a'. but i think this has to happen as a class hierarchy extension, adding in the writability of `a' after having the pointer being with `a' being write restricted to notionally place the editability of the structure into the `s' field |
2022-01-28 09:40:06 +0100 | flipchan | (~filip@188-169-255-31.dsl.utg.ge) (Ping timeout: 250 seconds) |
2022-01-28 09:40:31 +0100 | presci | (~Guest2@c-73-170-49-136.hsd1.ca.comcast.net) (Quit: Client closed) |
2022-01-28 09:40:34 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2022-01-28 09:41:35 +0100 | ix | (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 250 seconds) |
2022-01-28 09:41:50 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41be:eda7:26bd:771e) (Remote host closed the connection) |
2022-01-28 09:42:25 +0100 | fendor | (~fendor@77.119.199.145.wireless.dyn.drei.com) |
2022-01-28 09:43:13 +0100 | <xerox> | presci: munch isDigit |
2022-01-28 09:43:19 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2022-01-28 09:43:29 +0100 | <xerox> | munch1 I guess |
2022-01-28 09:47:18 +0100 | machinedgod | (~machinedg@24.105.81.50) |
2022-01-28 09:48:42 +0100 | froduck | (~froduck@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net) (Quit: Connection closed) |
2022-01-28 09:49:51 +0100 | chele | (~chele@user/chele) |
2022-01-28 09:51:08 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-01-28 09:52:14 +0100 | CHUD | (~CHUD@edu7979.kent.ac.uk) |
2022-01-28 09:52:15 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-01-28 09:52:31 +0100 | <dminuoso> | ski, monochrom: Thanks a bunch, this looks very acceptable to me :) https://gist.github.com/dminuoso/af46f4b5cea5c2b132cda1bcc0b82723 |
2022-01-28 09:53:20 +0100 | <dminuoso> | I'm quite happy that I could apply the same trick to Eq as well |
2022-01-28 09:53:29 +0100 | <monochrom> | That is epic. |
2022-01-28 09:54:05 +0100 | doyougnu | (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) |
2022-01-28 09:54:30 +0100 | <[exa]> | wow cool |
2022-01-28 09:54:37 +0100 | gentauro_ | gentauro |
2022-01-28 09:54:52 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
2022-01-28 09:55:41 +0100 | gentauro | (~gentauro@185.107.12.141) (Changing host) |
2022-01-28 09:55:41 +0100 | gentauro | (~gentauro@user/gentauro) |
2022-01-28 09:56:51 +0100 | michalz | (~michalz@185.246.204.57) |
2022-01-28 09:59:12 +0100 | <dminuoso> | And to finish the golf course, I can make a slight improvement with `gettingAll :: (a -> b -> All) -> a -> b -> Bool; gettingAll = coerce` |
2022-01-28 09:59:36 +0100 | <dminuoso> | Which is a bit handy since there's actually a second product type where I need to do the same |
2022-01-28 09:59:45 +0100 | jgeerds | (~jgeerds@55d4a547.access.ecotel.net) |
2022-01-28 10:00:09 +0100 | IgnatInsarov[m] | (~kindaroma@2001:470:69fc:105::f5d9) (Quit: You have been kicked for being idle) |
2022-01-28 10:04:02 +0100 | winterhound | (~dust@2409:4071:4d8b:f7bb:2ea3:17f:ed3b:b921) |
2022-01-28 10:04:30 +0100 | <winterhound> | Hello |
2022-01-28 10:04:37 +0100 | d0ku | (~d0ku@178.43.19.180.ipv4.supernova.orange.pl) |
2022-01-28 10:05:30 +0100 | yauhsien | (~yauhsien@61-231-37-18.dynamic-ip.hinet.net) |
2022-01-28 10:06:17 +0100 | <winterhound> | I'm trying to compile gi-cairo. I get get this error 'Did not find a GI repository'. Any suggestion would be very helpful. |
2022-01-28 10:07:58 +0100 | Gurkenglas | (~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de) |
2022-01-28 10:08:33 +0100 | <[exa]> | winterhound: what system is that? (btw could you pastebin a bit larger context of the error message?) |
2022-01-28 10:08:46 +0100 | ubert1 | (~Thunderbi@p200300ecdf099479a7980b6460b31c47.dip0.t-ipconnect.de) |
2022-01-28 10:10:05 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-28 10:11:06 +0100 | yauhsien | (~yauhsien@61-231-37-18.dynamic-ip.hinet.net) (Ping timeout: 256 seconds) |
2022-01-28 10:11:37 +0100 | euandreh | (~euandreh@2804:14c:33:9fe5:aa5f:93ea:3b88:5ff5) (Ping timeout: 240 seconds) |
2022-01-28 10:11:45 +0100 | jgeerds_ | (~jgeerds@55d4a547.access.ecotel.net) |
2022-01-28 10:13:50 +0100 | euandreh | (~euandreh@2804:14c:33:9fe5:e75a:d7d8:5f2b:42f0) |
2022-01-28 10:14:57 +0100 | jgeerds | (~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 250 seconds) |
2022-01-28 10:15:43 +0100 | <winterhound> | exa : http://ix.io/3NKK , Trying to add package to Guix. |
2022-01-28 10:16:58 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer) |
2022-01-28 10:17:02 +0100 | synthmeat | (~synthmeat@user/synthmeat) (Quit: WeeChat 3.0) |
2022-01-28 10:17:09 +0100 | alp | (~alp@user/alp) |
2022-01-28 10:17:31 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-01-28 10:17:55 +0100 | cfricke | (~cfricke@user/cfricke) |
2022-01-28 10:18:10 +0100 | ski | usually calls it `equating' |
2022-01-28 10:19:16 +0100 | max22- | (~maxime@2a01cb0883359800be8bbc3fb1201a3c.ipv6.abo.wanadoo.fr) |
2022-01-28 10:19:43 +0100 | on^ | (~on@50.231.5.242) (Ping timeout: 250 seconds) |
2022-01-28 10:20:29 +0100 | Codaraxis__ | (~Codaraxis@user/codaraxis) |
2022-01-28 10:22:54 +0100 | <[exa]> | winterhound: looks like the internal ./configure fails; you can try reproducing it manually in commandline with the arguments as passed there and see |
2022-01-28 10:23:26 +0100 | Codaraxis_ | (~Codaraxis@user/codaraxis) (Ping timeout: 250 seconds) |
2022-01-28 10:23:42 +0100 | <[exa]> | interesting that it's searching for cairo when actually building cairo (/me not a GI expert tho) |
2022-01-28 10:29:59 +0100 | synthmeat | (~synthmeat@user/synthmeat) |
2022-01-28 10:31:08 +0100 | kspalaiologos | (~kspalaiol@user/kspalaiologos) |
2022-01-28 10:36:07 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) |
2022-01-28 10:37:57 +0100 | winterhound | (~dust@2409:4071:4d8b:f7bb:2ea3:17f:ed3b:b921) (Konversation terminated!) |
2022-01-28 10:38:10 +0100 | euandreh | (~euandreh@2804:14c:33:9fe5:e75a:d7d8:5f2b:42f0) (Ping timeout: 250 seconds) |
2022-01-28 10:38:37 +0100 | dust_ | (~dust@2409:4071:4d8b:f7bb:2ea3:17f:ed3b:b921) |
2022-01-28 10:38:42 +0100 | MoC | (~moc@user/moc) |
2022-01-28 10:38:53 +0100 | flipchan | (~filip@188-169-255-31.dsl.utg.ge) |
2022-01-28 10:39:10 +0100 | akegalj | (~akegalj@141-136-245-236.dsl.iskon.hr) |
2022-01-28 10:40:08 +0100 | euandreh | (~euandreh@2804:14c:33:9fe5:8e08:7908:8918:48c0) |
2022-01-28 10:42:20 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-28 10:44:36 +0100 | dust_ | (~dust@2409:4071:4d8b:f7bb:2ea3:17f:ed3b:b921) (Quit: Konversation terminated!) |
2022-01-28 10:46:18 +0100 | CHUD | (~CHUD@edu7979.kent.ac.uk) (Remote host closed the connection) |
2022-01-28 10:46:36 +0100 | CHUD | (~CHUD@edu7979.kent.ac.uk) |
2022-01-28 10:46:48 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2022-01-28 10:46:54 +0100 | zer0bitz | (~zer0bitz@2001:2003:f444:a000:9102:5c27:2e48:97c2) |
2022-01-28 10:49:58 +0100 | rusrushal13 | (~rusrushal@2401:4900:5d14:182c:14c5:2762:c20c:8596) |
2022-01-28 10:51:08 +0100 | CHUD | (~CHUD@edu7979.kent.ac.uk) (Ping timeout: 256 seconds) |
2022-01-28 10:52:01 +0100 | CHUD | (~CHUD@edu7979.kent.ac.uk) |
2022-01-28 10:54:32 +0100 | rusrushal13 | (~rusrushal@2401:4900:5d14:182c:14c5:2762:c20c:8596) (Client Quit) |
2022-01-28 10:57:29 +0100 | Jing | (~hedgehog@240e:390:7c53:a7e1:2d90:ff3:b02f:c2ef) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-28 10:58:36 +0100 | CiaoSen | (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-01-28 11:00:28 +0100 | zeenk | (~zeenk@2a02:2f04:a208:c500:649e:b5e2:d15c:7960) (Quit: Konversation terminated!) |
2022-01-28 11:02:03 +0100 | Jing | (~hedgehog@240e:390:7c53:a7e1:f9c4:ec41:3bfb:d5c6) |
2022-01-28 11:02:26 +0100 | Akiva | (~Akiva@user/Akiva) (Ping timeout: 252 seconds) |
2022-01-28 11:02:37 +0100 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds) |
2022-01-28 11:03:02 +0100 | CHUD | (~CHUD@edu7979.kent.ac.uk) (Ping timeout: 256 seconds) |
2022-01-28 11:03:53 +0100 | rusrushal13 | (~rusrushal@2401:4900:5d14:182c:14c5:2762:c20c:8596) |
2022-01-28 11:09:54 +0100 | Guest52 | (~Guest52@80-100-97-100.ip.xs4all.nl) |
2022-01-28 11:14:40 +0100 | CiaoSen | (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Quit: CiaoSen) |
2022-01-28 11:20:18 +0100 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2022-01-28 11:26:42 +0100 | CHUD | (~CHUD@host-80-41-89-108.as13285.net) |
2022-01-28 11:28:57 +0100 | akegalj | (~akegalj@141-136-245-236.dsl.iskon.hr) (Ping timeout: 240 seconds) |
2022-01-28 11:29:34 +0100 | <tomsmeding> | looks like it's looking for a cairo-1.0.gir file; my system (arch, completely different distro) has lots of .gir files in /usr/share/gir-1.0, but all start with a capital letter |
2022-01-28 11:37:07 +0100 | <[exa]> | the problem likely stems from the system of how guix organizes these |
2022-01-28 11:37:33 +0100 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
2022-01-28 11:37:48 +0100 | Codaraxis__ | (~Codaraxis@user/codaraxis) (Remote host closed the connection) |
2022-01-28 11:37:56 +0100 | <[exa]> | I guess there should be extra path entry into the build directory or something |
2022-01-28 11:38:10 +0100 | Codaraxis__ | (~Codaraxis@user/codaraxis) |
2022-01-28 11:38:15 +0100 | bendo | (~bendo@ip5f5bebbb.dynamic.kabel-deutschland.de) |
2022-01-28 11:41:17 +0100 | Guest52 | (~Guest52@80-100-97-100.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2022-01-28 11:47:26 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-28 11:47:26 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-28 11:47:26 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-28 11:49:40 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2022-01-28 11:49:44 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
2022-01-28 11:50:57 +0100 | Lord_of_Life_ | Lord_of_Life |
2022-01-28 11:51:57 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2022-01-28 11:53:02 +0100 | jgeerds_ | (~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 252 seconds) |
2022-01-28 12:00:49 +0100 | yauhsien | (~yauhsien@61-231-37-18.dynamic-ip.hinet.net) |
2022-01-28 12:01:28 +0100 | CiaoSen | (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-01-28 12:05:21 +0100 | CHUD | (~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds) |
2022-01-28 12:05:37 +0100 | CiaoSen | (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-01-28 12:05:56 +0100 | rusrushal13 | (~rusrushal@2401:4900:5d14:182c:14c5:2762:c20c:8596) (Ping timeout: 256 seconds) |
2022-01-28 12:06:14 +0100 | yauhsien | (~yauhsien@61-231-37-18.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2022-01-28 12:06:42 +0100 | vglfr | (~vglfr@46.96.133.112) (Ping timeout: 256 seconds) |
2022-01-28 12:06:55 +0100 | froduck | (~froduck@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net) |
2022-01-28 12:07:20 +0100 | <froduck> | hi, i have a question about monadic state |
2022-01-28 12:07:47 +0100 | <froduck> | based on a suggestion earlier about a representation of a pointer i suggested |
2022-01-28 12:08:10 +0100 | <froduck> | basically, by imbedding the value in the monad, so that it doesnt need to be provided as an argument |
2022-01-28 12:08:47 +0100 | <froduck> | giving a class over the monad of kind *->* instead of the object of kind * that can be retrived from and updated |
2022-01-28 12:09:21 +0100 | <froduck> | then within the monad you use like, get :: m a as in x <- get |
2022-01-28 12:09:27 +0100 | <froduck> | so you work "within the monad" |
2022-01-28 12:09:45 +0100 | <froduck> | but then i get confused because it was supposed to be a pointer, and now we are "working within it" |
2022-01-28 12:09:51 +0100 | <froduck> | so examine the monad laws |
2022-01-28 12:09:57 +0100 | <froduck> | what are they for a pointer? |
2022-01-28 12:10:20 +0100 | <froduck> | so if you have 2 nested monads with the get/edit stored value, then you basically just have 2 pointers |
2022-01-28 12:10:52 +0100 | <froduck> | they should compose together like values in a tuple, except with some comutation consideration |
2022-01-28 12:11:40 +0100 | <froduck> | basically wondering about a definition for pointer in terms of monadic state as given earlier by [exa] |
2022-01-28 12:13:01 +0100 | dut | (~dut@user/dut) (Quit: Leaving) |
2022-01-28 12:14:45 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) |
2022-01-28 12:15:21 +0100 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-01-28 12:15:45 +0100 | <froduck> | :t (get, put, modify) |
2022-01-28 12:15:46 +0100 | <lambdabot> | (MonadState s1 m1, MonadState s2 m2, MonadState s3 m3) => (m1 s1, s2 -> m2 (), (s3 -> s3) -> m3 ()) |
2022-01-28 12:16:52 +0100 | <froduck> | giving; type Pointer a p m = (MonadState a m,MonadState p m) |
2022-01-28 12:17:01 +0100 | <froduck> | er, p m a |
2022-01-28 12:17:29 +0100 | <froduck> | to have Pointer p m :: * -> * |
2022-01-28 12:17:55 +0100 | <froduck> | actually that seems eronious, since p isnt `p a' here, but i suppose it could/should be (?) |
2022-01-28 12:19:00 +0100 | <froduck> | i would argue that it shouldnt be, because the state in an unfold is not a container of a certainly |
2022-01-28 12:19:17 +0100 | <froduck> | maybe if you had pointer as; |
2022-01-28 12:19:18 +0100 | <froduck> | type Pointer (p :: * -> *) (m :: * -> *) = (MonadState a m,MonadState (p a) m) |
2022-01-28 12:19:51 +0100 | <froduck> | then the version with p a ~ q which then captures the unfold case could be given a different name |
2022-01-28 12:20:13 +0100 | <froduck> | i think basically thats a good idea because a "pointer" should be like a zipper and be shape preserving and navigable |
2022-01-28 12:20:26 +0100 | <froduck> | ie you stream values as you navigate around the thing, which does not change the thing |
2022-01-28 12:20:46 +0100 | <froduck> | and the version thats just an unfolding of values is something different |
2022-01-28 12:22:00 +0100 | <froduck> | (the point is both fit into the monadic tail idea from before, which seems like it captures both graphs, including streams and lists, and dag's/trees, aswell as unfolds which do not have the traversable laws of shape preservation and equality under identity traversal) |
2022-01-28 12:23:16 +0100 | <froduck> | (something strange happens when you say you dont actually need the tail but just the ability to generate it from an unfold) |
2022-01-28 12:24:00 +0100 | <froduck> | unfolds are different from pointers i guess, because of the traverse laws, and so a pointer is a specialisation over a *something* |
2022-01-28 12:24:32 +0100 | <froduck> | what do you call the thing that can produce value streams based on and updated carried state? |
2022-01-28 12:24:44 +0100 | <froduck> | since this abstraction captures pointers |
2022-01-28 12:25:00 +0100 | son0p | (~ff@2800:484:1d81:b700:d40b:900:b387:320) |
2022-01-28 12:25:22 +0100 | <froduck> | i guess you call it a state machine, right? |
2022-01-28 12:25:33 +0100 | <froduck> | so im suggesting "pointers as a form of state machine", i think |
2022-01-28 12:30:53 +0100 | haskl[error] | (~haskl@user/haskl) (Read error: Connection reset by peer) |
2022-01-28 12:32:12 +0100 | ubert1 | (~Thunderbi@p200300ecdf099479a7980b6460b31c47.dip0.t-ipconnect.de) (Remote host closed the connection) |
2022-01-28 12:33:11 +0100 | haskl | (~haskl@user/haskl) |
2022-01-28 12:35:13 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) |
2022-01-28 12:37:06 +0100 | vglfr | (~vglfr@46.96.133.112) |
2022-01-28 12:38:05 +0100 | some02 | (~cat@h-98-128-128-173.A351.priv.bahnhof.se) (Changing host) |
2022-01-28 12:38:05 +0100 | some02 | (~cat@user/sudden) |
2022-01-28 12:38:08 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Read error: Connection reset by peer) |
2022-01-28 12:38:10 +0100 | some02 | sudden |
2022-01-28 12:39:21 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) |
2022-01-28 12:39:38 +0100 | CiaoSen | (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-01-28 12:42:26 +0100 | zer0bitz | (~zer0bitz@2001:2003:f444:a000:9102:5c27:2e48:97c2) (Read error: Connection reset by peer) |
2022-01-28 12:44:07 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2022-01-28 12:44:49 +0100 | CHUD | (~CHUD@host-80-41-89-108.as13285.net) |
2022-01-28 12:46:29 +0100 | cosimone | (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Remote host closed the connection) |
2022-01-28 12:47:13 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-01-28 12:50:19 +0100 | coot | (~coot@213.134.190.95) |
2022-01-28 12:52:19 +0100 | haskellberryfinn | (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Quit: WeeChat 3.3) |
2022-01-28 12:55:32 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 250 seconds) |
2022-01-28 12:55:34 +0100 | awpr | (uid446117@id-446117.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2022-01-28 12:56:34 +0100 | _ht | (~quassel@82-168-34-160.fixed.kpn.net) (Ping timeout: 256 seconds) |
2022-01-28 12:57:02 +0100 | froduck | (~froduck@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net) (Quit: Connection closed) |
2022-01-28 12:57:03 +0100 | _ht | (~quassel@2a02:a468:b619:1:f6f7:cddd:a7b5:6247) |
2022-01-28 12:59:37 +0100 | __monty__ | (~toonn@user/toonn) |
2022-01-28 13:00:42 +0100 | MoC | (~moc@user/moc) (Quit: Konversation terminated!) |
2022-01-28 13:06:18 +0100 | fendor | (~fendor@77.119.199.145.wireless.dyn.drei.com) (Quit: Leaving) |
2022-01-28 13:06:20 +0100 | Codaraxis_ | (~Codaraxis@user/codaraxis) |
2022-01-28 13:07:21 +0100 | jgeerds_ | (~jgeerds@55d4a547.access.ecotel.net) |
2022-01-28 13:10:10 +0100 | Codaraxis__ | (~Codaraxis@user/codaraxis) (Ping timeout: 256 seconds) |
2022-01-28 13:12:49 +0100 | xkuru | (~xkuru@user/xkuru) |
2022-01-28 13:17:37 +0100 | notzmv | (~zmv@user/notzmv) |
2022-01-28 13:18:44 +0100 | jackson99 | (~bc8147f2@cerf.good1.com) |
2022-01-28 13:19:49 +0100 | kspalaiologos | (~kspalaiol@user/kspalaiologos) (Quit: Leaving) |
2022-01-28 13:20:03 +0100 | x_kuru | (~xkuru@user/xkuru) |
2022-01-28 13:20:44 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-01-28 13:22:13 +0100 | xkuru | (~xkuru@user/xkuru) (Ping timeout: 240 seconds) |
2022-01-28 13:24:57 +0100 | _ht | (~quassel@2a02:a468:b619:1:f6f7:cddd:a7b5:6247) (Ping timeout: 240 seconds) |
2022-01-28 13:28:38 +0100 | zer0bitz | (~zer0bitz@2001:2003:f444:a000:e4b0:adf8:305f:a850) |
2022-01-28 13:30:51 +0100 | jumper149 | (~jumper149@base.felixspringer.xyz) |
2022-01-28 13:35:39 +0100 | cfricke | (~cfricke@user/cfricke) |
2022-01-28 13:38:29 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2022-01-28 13:40:43 +0100 | fryguybo1 | (~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) (Quit: leaving) |
2022-01-28 13:41:09 +0100 | fryguybob | (~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) |
2022-01-28 13:45:39 +0100 | Topsi | (~Tobias@dyndsl-095-033-019-122.ewe-ip-backbone.de) |
2022-01-28 13:47:13 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2022-01-28 13:54:20 +0100 | ph88 | (~ph88@2a02:8109:9e00:71d0:f12b:1b26:c11c:e722) (Quit: Leaving) |
2022-01-28 13:54:37 +0100 | ph88 | (~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) |
2022-01-28 13:54:43 +0100 | sondr3 | (~sondr3@2001:700:200:f112::2a03) |
2022-01-28 13:54:53 +0100 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.3) |
2022-01-28 13:57:04 +0100 | kjak | (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 250 seconds) |
2022-01-28 13:59:28 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
2022-01-28 14:01:15 +0100 | zeenk | (~zeenk@2a02:2f04:a208:c500:649e:b5e2:d15c:7960) |
2022-01-28 14:02:27 +0100 | Codaraxis__ | (~Codaraxis@user/codaraxis) |
2022-01-28 14:05:02 +0100 | max22- | (~maxime@2a01cb0883359800be8bbc3fb1201a3c.ipv6.abo.wanadoo.fr) (Ping timeout: 252 seconds) |
2022-01-28 14:05:32 +0100 | Codaraxis_ | (~Codaraxis@user/codaraxis) (Ping timeout: 240 seconds) |
2022-01-28 14:10:47 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2022-01-28 14:11:08 +0100 | <sondr3> | I'm probably missing something, but how can I make my megaparsec parser skip initial whitespace/comments? It fails saying it expected one of the parsers, but I thought they would skip whitespace or comments themselves and therefore that I wouldn't have to manually skip them |
2022-01-28 14:11:56 +0100 | <sondr3> | My approach now is just to do `void $ lexeme ""` so that it skips them |
2022-01-28 14:11:56 +0100 | <dminuoso> | sondr3: You'd normally use M.lexeme |
2022-01-28 14:12:20 +0100 | <dminuoso> | sondr3: Ah no, the idea is to wrap every lexeme you want to parse with your custom `lexeme` |
2022-01-28 14:12:22 +0100 | <dminuoso> | say: |
2022-01-28 14:12:30 +0100 | <dminuoso> | `myLexeme = M.lexeme someConsumer` |
2022-01-28 14:12:50 +0100 | <dminuoso> | And then `foo = myLexeme (chunk "foo"); bar = myLexeme (chunk "bar")` |
2022-01-28 14:14:32 +0100 | jgeerds_ | (~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 240 seconds) |
2022-01-28 14:15:12 +0100 | Codaraxis_ | (~Codaraxis@user/codaraxis) |
2022-01-28 14:15:37 +0100 | romesrf | (~romes@44.190.189.46.rev.vodafone.pt) |
2022-01-28 14:15:41 +0100 | <sondr3> | dminuoso: my `lexeme` function is a `lexeme = L.lexeme sc` where `sc` is `L.space space1 (comment) (blockCommend)` |
2022-01-28 14:15:49 +0100 | <dminuoso> | Yes looks good |
2022-01-28 14:15:53 +0100 | <dminuoso> | Now ensure you always use `lexeme` |
2022-01-28 14:15:57 +0100 | <romesrf> | o/ |
2022-01-28 14:15:59 +0100 | <dminuoso> | for every actual lexeme you want to parse |
2022-01-28 14:18:10 +0100 | Codaraxis__ | (~Codaraxis@user/codaraxis) (Ping timeout: 256 seconds) |
2022-01-28 14:18:36 +0100 | <sondr3> | It's probably because I do `pragma <- optional . try $ parsePragma` in the parse function that it skips the whitespace since it'll fail on just whitespace :facepalm: |
2022-01-28 14:19:40 +0100 | <sondr3> | Y |
2022-01-28 14:19:58 +0100 | <sondr3> | whoops, yep, that was it, changing it to `pragma <- space *> ...` fixed it |
2022-01-28 14:20:15 +0100 | <sondr3> | thanks for being my rubber duck dminuoso |
2022-01-28 14:22:00 +0100 | drewr | (~drew@user/drewr) |
2022-01-28 14:27:08 +0100 | haskellberryfinn | (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2022-01-28 14:32:15 +0100 | neverfindme | (~hayden@158.123.160.43) |
2022-01-28 14:36:57 +0100 | chenqisu1 | (~chenqisu1@183.217.200.249) (Ping timeout: 240 seconds) |
2022-01-28 14:38:24 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
2022-01-28 14:38:41 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) |
2022-01-28 14:43:12 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2022-01-28 14:44:36 +0100 | razetime | (~quassel@49.207.209.26) |
2022-01-28 14:45:19 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-01-28 14:53:48 +0100 | rusrushal13 | (~rusrushal@2401:4900:5d14:182c:14c5:2762:c20c:8596) |
2022-01-28 14:54:09 +0100 | romesrf | (~romes@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.4) |
2022-01-28 14:57:11 +0100 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
2022-01-28 14:58:14 +0100 | max22- | (~maxime@2a01cb0883359800ab210b9c3f7ba21b.ipv6.abo.wanadoo.fr) |
2022-01-28 14:58:45 +0100 | sondr3 | (~sondr3@2001:700:200:f112::2a03) (Ping timeout: 256 seconds) |
2022-01-28 15:05:50 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2022-01-28 15:07:54 +0100 | califax- | (~califax@user/califx) |
2022-01-28 15:08:39 +0100 | razetime | (~quassel@49.207.209.26) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2022-01-28 15:09:18 +0100 | califax | (~califax@user/califx) (Ping timeout: 276 seconds) |
2022-01-28 15:09:19 +0100 | califax- | califax |
2022-01-28 15:11:53 +0100 | neverfindme | (~hayden@158.123.160.43) (Quit: Leaving) |
2022-01-28 15:12:06 +0100 | mikoto-chan | (~mikoto-ch@213.177.151.239) |
2022-01-28 15:15:49 +0100 | zeenk | (~zeenk@2a02:2f04:a208:c500:649e:b5e2:d15c:7960) (Quit: Konversation terminated!) |
2022-01-28 15:17:37 +0100 | vysn | (~vysn@user/vysn) (Ping timeout: 240 seconds) |
2022-01-28 15:19:43 +0100 | Topsi1 | (~Tobias@dyndsl-095-033-019-122.ewe-ip-backbone.de) |
2022-01-28 15:21:02 +0100 | max22- | (~maxime@2a01cb0883359800ab210b9c3f7ba21b.ipv6.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
2022-01-28 15:22:02 +0100 | vysn | (~vysn@user/vysn) |
2022-01-28 15:23:17 +0100 | Topsi | (~Tobias@dyndsl-095-033-019-122.ewe-ip-backbone.de) (Ping timeout: 240 seconds) |
2022-01-28 15:25:31 +0100 | nunggu | (~q@user/nunggu) (Remote host closed the connection) |
2022-01-28 15:26:07 +0100 | nunggu | (~q@user/nunggu) |
2022-01-28 15:27:49 +0100 | CiaoSen | (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2022-01-28 15:29:56 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-28 15:29:56 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-28 15:29:56 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-28 15:31:32 +0100 | vysn | (~vysn@user/vysn) (Ping timeout: 250 seconds) |
2022-01-28 15:32:07 +0100 | zer0bitz_ | (~zer0bitz@2001:2003:f444:a000:4917:bc56:f54d:812b) |
2022-01-28 15:32:54 +0100 | Topsi | (~Tobias@dyndsl-095-033-019-122.ewe-ip-backbone.de) |
2022-01-28 15:34:14 +0100 | burnsidesLlama | (~burnsides@dhcp168-033.wadham.ox.ac.uk) |
2022-01-28 15:35:26 +0100 | Topsi1 | (~Tobias@dyndsl-095-033-019-122.ewe-ip-backbone.de) (Ping timeout: 250 seconds) |
2022-01-28 15:35:52 +0100 | zer0bitz | (~zer0bitz@2001:2003:f444:a000:e4b0:adf8:305f:a850) (Ping timeout: 250 seconds) |
2022-01-28 15:38:28 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2022-01-28 15:43:50 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2022-01-28 15:46:41 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41be:eda7:26bd:771e) |
2022-01-28 15:49:05 +0100 | jackson99 | (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC) |
2022-01-28 15:49:15 +0100 | xsperry | (~xs@user/xsperry) () |
2022-01-28 15:51:02 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41be:eda7:26bd:771e) (Ping timeout: 250 seconds) |
2022-01-28 15:56:04 +0100 | kevorna | (~kevorna@81-228-153-98-no289.tbcn.telia.com) |
2022-01-28 15:56:13 +0100 | alp | (~alp@user/alp) (Ping timeout: 250 seconds) |
2022-01-28 15:58:16 +0100 | shriekingnoise | (~shrieking@201.231.16.156) |
2022-01-28 16:00:18 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2022-01-28 16:02:55 +0100 | <kevorna> | I want to get into Haskell and would love to use GHC 9.2.1 (latest version, newest features, and “significantly faster” Apple M1 compilation speeds). I learned that I need a “package set” but couldn’t find 9.2.1 on https://www.stackage.org/. Should I give up on using 9.2.1? 9.0.2 has a nightly stockage package set, is that a good bet? Or |
2022-01-28 16:02:56 +0100 | <kevorna> | should I go all the way back to 8.10.7 to be on stackage LTS? Or skip stack completely and use 9.2.1 with something else (ghcup and hackage? idk) |
2022-01-28 16:03:26 +0100 | Clint_ | Clint |
2022-01-28 16:04:09 +0100 | <Clint> | kevorna: probably depends on the libraries you want to use |
2022-01-28 16:06:03 +0100 | <kevorna> | I'd want to use yesod to get into web development, and that seems to bring a lot of libs |
2022-01-28 16:07:47 +0100 | <geekosaur> | I should point out that while 9.2.1 has native M1 support, after release it was found to generate bad code and you should wait for 9.2.2 |
2022-01-28 16:08:11 +0100 | <geekosaur> | so for now you probably want 9.0.2 or 8.10.7 |
2022-01-28 16:08:22 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:4096:379:219d:4d69) (Quit: WeeChat 2.8) |
2022-01-28 16:09:33 +0100 | <geekosaur> | and if you want to use yesod, stack is probably what you should use since they're kinda designed to go together |
2022-01-28 16:10:04 +0100 | <kevorna> | OK, thank you! |
2022-01-28 16:10:24 +0100 | <kevorna> | Do you think 9.0.2 is reasonable to use even though it's not LTS on stackage? |
2022-01-28 16:10:50 +0100 | <geekosaur> | at this point most libraries have 9.x support so using a nightly should be reasonable, yes |
2022-01-28 16:12:18 +0100 | <lionhairdino> | I hope hi profiling, but it is supported by only 9.2.. is right? |
2022-01-28 16:12:23 +0100 | <kevorna> | Great, that's enough to get me going. Thank you! I've found it quite difficult to get into Haskell compared to other languages, so I greatly appreciate the help! |
2022-01-28 16:12:37 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2022-01-28 16:12:53 +0100 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-01-28 16:13:22 +0100 | coot | (~coot@213.134.190.95) |
2022-01-28 16:13:39 +0100 | <geekosaur> | lionhairdino, yes, it's new in 9.2.1 |
2022-01-28 16:18:06 +0100 | rusrushal13 | (~rusrushal@2401:4900:5d14:182c:14c5:2762:c20c:8596) (Quit: Client closed) |
2022-01-28 16:18:52 +0100 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds) |
2022-01-28 16:20:18 +0100 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-01-28 16:21:11 +0100 | <lionhairdino> | thx for replying. I am waiting for 9.2 resolver... |
2022-01-28 16:21:16 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-28 16:21:16 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-28 16:21:16 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-28 16:21:34 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) |
2022-01-28 16:22:44 +0100 | xsperry | (~xs@user/xsperry) |
2022-01-28 16:24:16 +0100 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-01-28 16:24:36 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-01-28 16:26:23 +0100 | jstolarek | (~jstolarek@staticline-31-183-164-222.toya.net.pl) |
2022-01-28 16:26:24 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2022-01-28 16:27:09 +0100 | CHUD | (~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds) |
2022-01-28 16:28:30 +0100 | doyougnu | (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 256 seconds) |
2022-01-28 16:28:57 +0100 | CHUD | (~CHUD@host-80-41-89-108.as13285.net) |
2022-01-28 16:29:39 +0100 | ph88 | (~ph88@ip5f5af71f.dynamic.kabel-deutschland.de) (Quit: Leaving) |
2022-01-28 16:29:42 +0100 | CiaoSen | (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-01-28 16:29:49 +0100 | <polyphem> | lionhairdino: how is it going with your mem leak chase ? |
2022-01-28 16:29:52 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
2022-01-28 16:31:03 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-28 16:33:24 +0100 | CHUD | (~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds) |
2022-01-28 16:35:24 +0100 | tremon_ | (~tremon@217-120-53-183.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in) |
2022-01-28 16:35:32 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
2022-01-28 16:39:34 +0100 | zmt00 | (~zmt00@user/zmt00) |
2022-01-28 16:39:44 +0100 | zmt00 | (~zmt00@user/zmt00) (Remote host closed the connection) |
2022-01-28 16:40:47 +0100 | mbuf | (~Shakthi@122.173.235.64) (Quit: Leaving) |
2022-01-28 16:43:26 +0100 | son0p | (~ff@2800:484:1d81:b700:d40b:900:b387:320) (Remote host closed the connection) |
2022-01-28 16:43:28 +0100 | mikoto-chan | (~mikoto-ch@213.177.151.239) (Ping timeout: 250 seconds) |
2022-01-28 16:47:02 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2022-01-28 16:47:24 +0100 | segfaultfizzbuzz | (~rustisafu@2602:306:cd3c:9350:59e3:db49:aa0a:46e5) |
2022-01-28 16:47:33 +0100 | cheater | (~Username@user/cheater) |
2022-01-28 16:48:25 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds) |
2022-01-28 16:48:39 +0100 | mikoto-chan | (~mikoto-ch@213.177.151.239) |
2022-01-28 16:50:24 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2022-01-28 16:52:38 +0100 | litharn[m] | (~litharnma@2001:470:69fc:105::1:8336) |
2022-01-28 16:54:05 +0100 | olebra | (olebra@cassarossa.samfundet.no) |
2022-01-28 16:54:05 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2022-01-28 16:55:56 +0100 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2022-01-28 16:56:26 +0100 | CHUD | (~CHUD@edu7B10.kent.ac.uk) |
2022-01-28 17:00:41 +0100 | grabb0id[m] | (~alangmatr@2001:470:69fc:105::b489) (Quit: You have been kicked for being idle) |
2022-01-28 17:02:28 +0100 | <hololeap> | just curious if anyone here has seen this before: https://github.com/gentoo-haskell/gentoo-haskell/issues/1225#issuecomment-1024352057 |
2022-01-28 17:02:58 +0100 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2022-01-28 17:03:35 +0100 | zmt00 | (~zmt00@user/zmt00) |
2022-01-28 17:04:29 +0100 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) |
2022-01-28 17:05:42 +0100 | kevorna | (~kevorna@81-228-153-98-no289.tbcn.telia.com) (Ping timeout: 256 seconds) |
2022-01-28 17:06:44 +0100 | CHUD | (~CHUD@edu7B10.kent.ac.uk) (Remote host closed the connection) |
2022-01-28 17:06:44 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-28 17:07:01 +0100 | CHUD | (~CHUD@edu7B10.kent.ac.uk) |
2022-01-28 17:08:45 +0100 | MoC | (~moc@user/moc) |
2022-01-28 17:11:34 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2022-01-28 17:12:33 +0100 | max22- | (~maxime@2a01cb08833598009858f30aea0eec11.ipv6.abo.wanadoo.fr) |
2022-01-28 17:14:24 +0100 | d0ku | (~d0ku@178.43.19.180.ipv4.supernova.orange.pl) (Ping timeout: 256 seconds) |
2022-01-28 17:18:15 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) (Remote host closed the connection) |
2022-01-28 17:21:37 +0100 | Codaraxis_ | (~Codaraxis@user/codaraxis) (Ping timeout: 240 seconds) |
2022-01-28 17:22:58 +0100 | _ht | (~quassel@231-169-21-31.ftth.glasoperator.nl) |
2022-01-28 17:24:49 +0100 | ezzieygu1wuf | ezzieyguywuf |
2022-01-28 17:26:20 +0100 | deadmarshal | (~deadmarsh@95.38.114.1) (Ping timeout: 252 seconds) |
2022-01-28 17:28:18 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-01-28 17:28:43 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-01-28 17:31:18 +0100 | Akiva | (~Akiva@user/Akiva) |
2022-01-28 17:35:38 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) (Quit: Leaving) |
2022-01-28 17:35:56 +0100 | ski | (~ski@remote11.chalmers.se) (Ping timeout: 256 seconds) |
2022-01-28 17:36:46 +0100 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2022-01-28 17:37:12 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 250 seconds) |
2022-01-28 17:38:37 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds) |
2022-01-28 17:40:22 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2022-01-28 17:40:31 +0100 | phma | (phma@2001:5b0:211c:37e8:e22d:196:60ef:f166) (Read error: Connection reset by peer) |
2022-01-28 17:42:00 +0100 | phma | (phma@2001:5b0:212a:9da8:6f5b:6926:b319:62a2) |
2022-01-28 17:43:45 +0100 | vpan | (~0@212.117.1.172) (Quit: Leaving.) |
2022-01-28 17:44:51 +0100 | vicfred | (~vicfred@user/vicfred) |
2022-01-28 17:46:27 +0100 | vicfred_ | (~vicfred@user/vicfred) |
2022-01-28 17:48:49 +0100 | mmos[m] | (~mmosmatri@2001:470:69fc:105::1:8340) |
2022-01-28 17:48:57 +0100 | vicfred | (~vicfred@user/vicfred) (Ping timeout: 240 seconds) |
2022-01-28 17:49:55 +0100 | lbseale | (~ep1ctetus@user/ep1ctetus) |
2022-01-28 17:50:57 +0100 | deadmarshal | (~deadmarsh@95.38.114.1) |
2022-01-28 17:53:14 +0100 | doyougnu | (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) |
2022-01-28 17:55:49 +0100 | jespada | (~jespada@87.74.36.188) (Ping timeout: 240 seconds) |
2022-01-28 17:57:00 +0100 | jespada | (~jespada@87.74.36.188) |
2022-01-28 18:00:32 +0100 | lep | (~lep@94.31.89.203) |
2022-01-28 18:01:41 +0100 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-01-28 18:03:27 +0100 | CHUD | (~CHUD@edu7B10.kent.ac.uk) (Remote host closed the connection) |
2022-01-28 18:03:45 +0100 | CHUD | (~CHUD@edu7B10.kent.ac.uk) |
2022-01-28 18:04:12 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) |
2022-01-28 18:04:12 +0100 | wroathe | (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host) |
2022-01-28 18:04:12 +0100 | wroathe | (~wroathe@user/wroathe) |
2022-01-28 18:05:49 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2022-01-28 18:06:25 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 250 seconds) |
2022-01-28 18:08:24 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
2022-01-28 18:08:49 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
2022-01-28 18:08:49 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41be:eda7:26bd:771e) |
2022-01-28 18:12:17 +0100 | <lep> | my google-fu is failing me: how can i set cpp-options for cabal programatically? |
2022-01-28 18:15:23 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
2022-01-28 18:18:01 +0100 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds) |
2022-01-28 18:18:36 +0100 | <geekosaur> | what do you mean by programmatically? |
2022-01-28 18:18:47 +0100 | m1dnight | (~christoph@christophe.dev) (Ping timeout: 256 seconds) |
2022-01-28 18:18:59 +0100 | <lep> | like from the command line |
2022-01-28 18:19:20 +0100 | awpr | (uid446117@id-446117.lymington.irccloud.com) |
2022-01-28 18:19:23 +0100 | <lep> | i have different patch targets |
2022-01-28 18:19:39 +0100 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-01-28 18:19:40 +0100 | <lep> | so i do -DPATCH_LVL=123 |
2022-01-28 18:19:50 +0100 | burnsidesLlama | (~burnsides@dhcp168-033.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-28 18:20:22 +0100 | burnsidesLlama | (~burnsides@dhcp168-033.wadham.ox.ac.uk) |
2022-01-28 18:20:35 +0100 | <geekosaur> | in general it looks like any option you can set in a file can also be done from the command line, but cpp-options needs to be in a section and I don't think there's a way to specify a section from the command line |
2022-01-28 18:20:51 +0100 | <geekosaur> | but you can try: --cpp-options=-DPATCH_LVL=123 |
2022-01-28 18:21:08 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-28 18:21:24 +0100 | <geekosaur> | may require you to run cabal configure explicitly |
2022-01-28 18:21:52 +0100 | madjestic | (~madjestic@77-63-68-224.mobile.kpn.net) |
2022-01-28 18:22:07 +0100 | <lep> | cabal configure --cppoptions=... says unrecognized configure option |
2022-01-28 18:23:20 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
2022-01-28 18:23:27 +0100 | <lep> | (also im not very good with cabal) |
2022-01-28 18:23:34 +0100 | <geekosaur> | did you actually leave the hyphen out there? |
2022-01-28 18:23:47 +0100 | Vajb | (~Vajb@2001:999:50:e6be:1e98:9376:d93e:4506) |
2022-01-28 18:23:52 +0100 | <lep> | no, i just didnt c'n'p |
2022-01-28 18:24:05 +0100 | yassernasc | (~yassernas@2804:29b8:505a:f33d:178:3bce:7e3c:a914) |
2022-01-28 18:24:48 +0100 | <geekosaur> | ok, looks like it goes to cabal build instead of cabal configure. (I'm surprised.) |
2022-01-28 18:24:52 +0100 | burnsidesLlama | (~burnsides@dhcp168-033.wadham.ox.ac.uk) (Ping timeout: 250 seconds) |
2022-01-28 18:25:30 +0100 | <lep> | i also tried build but same error |
2022-01-28 18:25:44 +0100 | Hanicef | (~gustaf@81-229-9-108-no92.tbcn.telia.com) |
2022-01-28 18:25:45 +0100 | olebra | (olebra@cassarossa.samfundet.no) (WeeChat 3.0) |
2022-01-28 18:28:55 +0100 | <geekosaur> | hm, --cpp-options is listed here as valid for build |
2022-01-28 18:30:42 +0100 | coot | (~coot@213.134.190.95) |
2022-01-28 18:30:43 +0100 | <geekosaur> | I should note that I'm running cabal 3.6. what version do you have? |
2022-01-28 18:31:46 +0100 | <lep> | 3.4 |
2022-01-28 18:31:48 +0100 | lionhairdino | (~jacoo@121.131.39.82) (Ping timeout: 250 seconds) |
2022-01-28 18:32:49 +0100 | jinsun | (~quassel@user/jinsun) (Ping timeout: 268 seconds) |
2022-01-28 18:33:07 +0100 | hgolden_ | hgolden |
2022-01-28 18:34:45 +0100 | MoC | (~moc@user/moc) (Quit: Konversation terminated!) |
2022-01-28 18:36:49 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) |
2022-01-28 18:37:06 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41be:eda7:26bd:771e) (Remote host closed the connection) |
2022-01-28 18:37:32 +0100 | econo | (uid147250@user/econo) |
2022-01-28 18:38:26 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds) |
2022-01-28 18:39:34 +0100 | jinsun | (~quassel@user/jinsun) |
2022-01-28 18:39:36 +0100 | xff0x | (~xff0x@2001:1a81:5277:3c00:f024:75d4:2bb:2631) (Ping timeout: 250 seconds) |
2022-01-28 18:39:46 +0100 | xff0x | (~xff0x@2001:1a81:529a:8d00:e291:e2f6:2259:ce5c) |
2022-01-28 18:40:24 +0100 | burnsidesLlama | (~burnsides@dhcp168-033.wadham.ox.ac.uk) |
2022-01-28 18:40:43 +0100 | <geekosaur> | checked the 3.4 manual, it shuld be supported |
2022-01-28 18:41:03 +0100 | yassernasc | (~yassernas@2804:29b8:505a:f33d:178:3bce:7e3c:a914) (Remote host closed the connection) |
2022-01-28 18:41:11 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) (Ping timeout: 245 seconds) |
2022-01-28 18:41:22 +0100 | jinsun | (~quassel@user/jinsun) (Client Quit) |
2022-01-28 18:41:36 +0100 | yassernasc | (~yassernas@ec2-54-87-145-249.compute-1.amazonaws.com) |
2022-01-28 18:41:43 +0100 | vicfred_ | (~vicfred@user/vicfred) (Quit: Leaving) |
2022-01-28 18:42:55 +0100 | <lep> | dunno, guess im inept then |
2022-01-28 18:44:16 +0100 | <geekosaur> | hm, where are you specifying it in the command line? some options are global and come before the subcommand, some subcommand-specific and come after |
2022-01-28 18:44:38 +0100 | <lep> | i think i tried all permutations |
2022-01-28 18:45:37 +0100 | CiaoSen | (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2022-01-28 18:46:08 +0100 | jinsun | (~quassel@user/jinsun) |
2022-01-28 18:47:11 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) |
2022-01-28 18:47:28 +0100 | <geekosaur> | hm, just tried it and 3.6 doesn't take it either despite it being documented. :( |
2022-01-28 18:47:48 +0100 | <janus> | must drama as to whether mtl should remove re-exports or not: https://github.com/haskell/mtl/pull/103#issuecomment-1024456019 |
2022-01-28 18:47:52 +0100 | <geekosaur> | sclv, around? |
2022-01-28 18:47:58 +0100 | <sclv> | yeah, sup |
2022-01-28 18:48:10 +0100 | <lep> | :D |
2022-01-28 18:48:20 +0100 | <lep> | at least im not as inept as i thought |
2022-01-28 18:48:28 +0100 | <sclv> | i mean i assume if you found a bug its a bug, idk what to tell you |
2022-01-28 18:50:07 +0100 | <sclv> | as a general rule, not all options listed in the help for v2-build actually do anything, because it was implemented sharing Too Much with v1-build's options |
2022-01-28 18:52:53 +0100 | <lep> | ok, but it doesnt make much of a difference. im *very* clueless about cabal in general |
2022-01-28 18:54:29 +0100 | <sclv> | lep: is this the issue? https://github.com/haskell/cabal/issues/7635 |
2022-01-28 18:54:47 +0100 | <geekosaur> | an alternative way to do this is to put it in the cabal file guarded by a flag, and use -fflag to enable it |
2022-01-28 18:55:01 +0100 | <sclv> | i.e. are the cpp opts for use in haskell code or c code |
2022-01-28 18:55:19 +0100 | <geekosaur> | although if you need to use different versions I guess that doesn't work |
2022-01-28 18:55:27 +0100 | <sclv> | and is it your package or someone else's |
2022-01-28 18:55:37 +0100 | CHUD | (~CHUD@edu7B10.kent.ac.uk) (Ping timeout: 256 seconds) |
2022-01-28 18:56:16 +0100 | <lep> | it's in my own code |
2022-01-28 18:56:32 +0100 | <sclv> | and is the cpp used in haskell code or c code |
2022-01-28 18:56:35 +0100 | <lep> | haskell |
2022-01-28 18:56:40 +0100 | <segfaultfizzbuzz> | https://twitter.com/conal/status/1454577565373394946?cxt=HHwWhMCrpdml2a8oAAAA "perfect binary leaf trees with their usual logarithm/index type" what is a "logarithm/index type" ? |
2022-01-28 18:56:52 +0100 | m1dnight | (~christoph@christophe.dev) |
2022-01-28 18:57:15 +0100 | <sclv> | lep: ok then I'd recommend you refactor your code -- flags set in cabal are turned into cpp variables iirc |
2022-01-28 18:57:50 +0100 | <lep> | yes, in this specific case it will probably work that way as there is only two cases depening on the patch lvl |
2022-01-28 18:57:52 +0100 | <sclv> | so instead of setting a single cpp variable with multiple potential values, the "usual" way is to have a test on individual cpp things being set |
2022-01-28 18:58:05 +0100 | <sclv> | and then you compile with -fSOMEFLAG |
2022-01-28 18:58:28 +0100 | <lep> | yeah, i just assumed it would be "easy" to set some compile time integer |
2022-01-28 18:59:08 +0100 | <sclv> | its not so much, because the semantics of where you set it and how much it gets set for get confusing fast |
2022-01-28 18:59:49 +0100 | <sclv> | so the pattern is to shield end users from knowing cpp is involved and instead giving them access thru the flags mechanism, which is more integrated with the solver, etc |
2022-01-28 19:00:01 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
2022-01-28 19:00:09 +0100 | <EvanR> | compile time integer, use type-level integer math perhaps? |
2022-01-28 19:00:22 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
2022-01-28 19:00:23 +0100 | <EvanR> | type checking = compile time integer checking |
2022-01-28 19:00:25 +0100 | <prasad> | Hi I need help with parsing a string here is the paste https://paste.debian.net/1228751/ input is "123,234 -> 234,345" the output [((123,234,234,3),"45"),((123,234,234,34),"5"),((123,234,234,345),"")] what I want is only the last value. Should I use filter to get the last value |
2022-01-28 19:00:42 +0100 | <dminuoso> | segfaultfizzbuzz: https://github.com/conal/talk-2021-can-tensor-programming-be-liberated |
2022-01-28 19:00:46 +0100 | <dminuoso> | segfaultfizzbuzz: https://www.youtube.com/watch?v=oaIMMclGuog |
2022-01-28 19:00:53 +0100 | <dminuoso> | Give that talk a view, at the end he explains it |
2022-01-28 19:01:03 +0100 | <dminuoso> | (Heh, "giving a talk a view") |
2022-01-28 19:01:17 +0100 | <EvanR> | give a picture a listen |
2022-01-28 19:01:29 +0100 | <EvanR> | synesthesia syle |
2022-01-28 19:01:33 +0100 | <geekosaur> | prasad, I'd strongly recommend you use megaparsec instead of ReadP. the multiple-parses behavior of ReadP is both slow and annoying to work with |
2022-01-28 19:02:10 +0100 | <prasad> | Is megaparsec part of haskell standard library |
2022-01-28 19:02:14 +0100 | <dminuoso> | No |
2022-01-28 19:02:36 +0100 | <geekosaur> | very little is part of the "standard library", just what's needed to build the compiler itself |
2022-01-28 19:02:46 +0100 | <dminuoso> | We dont really have a standard library, we have the `base` package and several boot libraries that come with ghc itself, that we could consider part of a "standard consortium" we ship. |
2022-01-28 19:02:50 +0100 | <geekosaur> | also I think while megaparsec isn't, its predecessor parsec is |
2022-01-28 19:03:05 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480::41) |
2022-01-28 19:03:10 +0100 | <geekosaur> | which is good enough for this although missing some performance improvements |
2022-01-28 19:03:25 +0100 | <dminuoso> | But megaparsec is a commonly package |
2022-01-28 19:03:26 +0100 | Major_Biscuit | (~MajorBisc@c-001-005-022.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.3) |
2022-01-28 19:03:35 +0100 | <dminuoso> | Certainly quite popular, alongside attoparsec |
2022-01-28 19:04:17 +0100 | Jing | (~hedgehog@240e:390:7c53:a7e1:f9c4:ec41:3bfb:d5c6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2022-01-28 19:05:23 +0100 | briandaed | (~root@185.234.208.208.r.toneticgroup.pl) |
2022-01-28 19:07:23 +0100 | EvanR | checks to see how far an attoparsec even is |
2022-01-28 19:07:32 +0100 | alp | (~alp@user/alp) |
2022-01-28 19:07:46 +0100 | madjestic | (~madjestic@77-63-68-224.mobile.kpn.net) (Read error: Connection reset by peer) |
2022-01-28 19:08:06 +0100 | <EvanR> | 30.8 cm |
2022-01-28 19:09:20 +0100 | <dminuoso> | Mmm? |
2022-01-28 19:09:22 +0100 | <dminuoso> | That seems wrong |
2022-01-28 19:09:31 +0100 | <dminuoso> | I come up with 149.598 nanometers |
2022-01-28 19:09:33 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2022-01-28 19:09:48 +0100 | <dminuoso> | atto SI prefix is a factor of 10−18 |
2022-01-28 19:10:08 +0100 | <EvanR> | that was totally google's answer |
2022-01-28 19:11:01 +0100 | <geekosaur> | * 3.0856776 |
2022-01-28 19:11:10 +0100 | <geekosaur> | from attoparsecs to cm |
2022-01-28 19:11:12 +0100 | <dminuoso> | 1 parsec = 3.085 7 * 1e16 m |
2022-01-28 19:11:22 +0100 | <geekosaur> | per units |
2022-01-28 19:11:30 +0100 | <[exa]> | wiki says 3.086 centimeters |
2022-01-28 19:11:36 +0100 | <dminuoso> | Mmm |
2022-01-28 19:11:46 +0100 | <dminuoso> | Oh I fail at doing math |
2022-01-28 19:11:53 +0100 | <dminuoso> | I mixed up parsec and AU |
2022-01-28 19:12:08 +0100 | <geekosaur> | quite the difference there |
2022-01-28 19:12:15 +0100 | <dminuoso> | An attoAU is 149.598 nanometers |
2022-01-28 19:12:35 +0100 | <dminuoso> | Useful to know that an attoparsec are three centimeters. |
2022-01-28 19:12:54 +0100 | <dminuoso> | Shall try and build this into my daily jargon now. |
2022-01-28 19:13:10 +0100 | <geekosaur> | so if a new package "threecm" appears we know what it is :) |
2022-01-28 19:15:14 +0100 | <EvanR> | I missed a zero trying to read decimals |
2022-01-28 19:15:46 +0100 | neceve | (~quassel@2.26.93.228) |
2022-01-28 19:16:22 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2022-01-28 19:17:39 +0100 | vglfr | (~vglfr@46.96.133.112) (Remote host closed the connection) |
2022-01-28 19:18:15 +0100 | <monochrom> | I thought parsec was an angle. |
2022-01-28 19:18:22 +0100 | vglfr | (~vglfr@46.96.133.112) |
2022-01-28 19:18:30 +0100 | <geekosaur> | technically yes |
2022-01-28 19:18:41 +0100 | <geekosaur> | parallax second |
2022-01-28 19:18:50 +0100 | vglfr | (~vglfr@46.96.133.112) (Remote host closed the connection) |
2022-01-28 19:18:50 +0100 | CHUD | (~CHUD@host-80-41-89-108.as13285.net) |
2022-01-28 19:19:37 +0100 | <monochrom> | Nice. |
2022-01-28 19:20:14 +0100 | <EvanR> | han solo is vindicated |
2022-01-28 19:20:38 +0100 | <dminuoso> | Well, parsec is as much an "angle" as speed is light. One can be defined in terms of the other, but it's not the same as equivalence, no? |
2022-01-28 19:21:01 +0100 | vglfr | (~vglfr@46.96.133.112) |
2022-01-28 19:22:04 +0100 | <geekosaur> | hm. actually only the parallax part is an angle |
2022-01-28 19:22:09 +0100 | xff0x | (~xff0x@2001:1a81:529a:8d00:e291:e2f6:2259:ce5c) (Ping timeout: 268 seconds) |
2022-01-28 19:22:30 +0100 | <EvanR> | parallax was such a cool effect on old computer games |
2022-01-28 19:23:11 +0100 | <geekosaur> | "the distance at which 1 au subtends an angle of one arcsecond" |
2022-01-28 19:23:23 +0100 | CHUD | (~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds) |
2022-01-28 19:23:57 +0100 | xff0x | (~xff0x@2001:1a81:529b:5400:ae89:612e:5a81:4cf8) |
2022-01-28 19:25:34 +0100 | <EvanR> | a picture would probably obviate needing to know what subtending is |
2022-01-28 19:25:36 +0100 | <monochrom> | OK sorry, parsec is a distance defined by an angle and the parallax effect (so linking back to 1 AU) |
2022-01-28 19:25:51 +0100 | <monochrom> | Heh, wikipedia has that picture |
2022-01-28 19:26:10 +0100 | <monochrom> | Yeah I stopped reading the text and just stared at the picture. https://en.wikipedia.org/wiki/Parsec |
2022-01-28 19:27:05 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2022-01-28 19:27:13 +0100 | <monochrom> | But I came from old style British education in Hong Kong so I saw subtending in high school. |
2022-01-28 19:27:33 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2022-01-28 19:28:04 +0100 | <monochrom> | (part of all the fun stuff from geometry) |
2022-01-28 19:29:14 +0100 | <monochrom> | Does anyone want to raise "wait, I thought second was a time interval"? >:) |
2022-01-28 19:29:34 +0100 | geekosaur | just blames the Babylonians |
2022-01-28 19:30:24 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 256 seconds) |
2022-01-28 19:30:36 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) (Remote host closed the connection) |
2022-01-28 19:30:55 +0100 | <EvanR> | oh that's where I was going with han solo |
2022-01-28 19:31:07 +0100 | <EvanR> | I didn't even realize we weren't talking about time at that point |
2022-01-28 19:32:31 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) |
2022-01-28 19:32:33 +0100 | <EvanR> | in the end it's all volts, on the cables connecting my monitor, on the neuron synapses, etc |
2022-01-28 19:33:15 +0100 | jgeerds_ | (~jgeerds@55d4a547.access.ecotel.net) |
2022-01-28 19:33:35 +0100 | vysn | (~vysn@user/vysn) |
2022-01-28 19:33:45 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
2022-01-28 19:34:05 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
2022-01-28 19:35:18 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) |
2022-01-28 19:36:36 +0100 | cheater | (~Username@user/cheater) |
2022-01-28 19:37:30 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41be:eda7:26bd:771e) |
2022-01-28 19:40:02 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) (Ping timeout: 268 seconds) |
2022-01-28 19:40:03 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-28 19:40:45 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
2022-01-28 19:40:58 +0100 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4) |
2022-01-28 19:41:05 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
2022-01-28 19:41:37 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41be:eda7:26bd:771e) (Ping timeout: 240 seconds) |
2022-01-28 19:44:07 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) |
2022-01-28 19:44:34 +0100 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 256 seconds) |
2022-01-28 19:47:30 +0100 | fef | (~thedawn@user/thedawn) (Ping timeout: 276 seconds) |
2022-01-28 19:50:14 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480::41) (Ping timeout: 250 seconds) |
2022-01-28 19:53:12 +0100 | nahcetan | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2022-01-28 19:53:32 +0100 | jstolarek | (~jstolarek@staticline-31-183-164-222.toya.net.pl) (Ping timeout: 240 seconds) |
2022-01-28 19:54:07 +0100 | epolanski | (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2022-01-28 19:54:13 +0100 | skewerr | (spoonm@inaba.spoonm.org) |
2022-01-28 19:54:19 +0100 | joona93 | (~joona@91-158-9-115.elisa-laajakaista.fi) |
2022-01-28 19:54:51 +0100 | joona93 | (~joona@91-158-9-115.elisa-laajakaista.fi) (Client Quit) |
2022-01-28 19:55:04 +0100 | Katarushisu7 | (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) |
2022-01-28 19:55:14 +0100 | dixie | (~dixie@real.wilbury.sk) |
2022-01-28 19:55:14 +0100 | spoonm | (spoonm@inaba.spoonm.org) (Ping timeout: 256 seconds) |
2022-01-28 19:55:14 +0100 | unmanbearpig | (~unmanbear@user/unmanbearpig) (Ping timeout: 256 seconds) |
2022-01-28 19:55:14 +0100 | n8chan | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds) |
2022-01-28 19:55:14 +0100 | Jonno_FTW | (~come@user/jonno-ftw/x-0835346) (Ping timeout: 256 seconds) |
2022-01-28 19:55:14 +0100 | dixie_ | (~dixie@real.wilbury.sk) (Ping timeout: 256 seconds) |
2022-01-28 19:55:14 +0100 | [exa] | (exa@user/exa/x-3587197) (Ping timeout: 256 seconds) |
2022-01-28 19:55:14 +0100 | cross | (~cross@spitfire.i.gajendra.net) (Ping timeout: 256 seconds) |
2022-01-28 19:55:14 +0100 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) (Ping timeout: 256 seconds) |
2022-01-28 19:55:15 +0100 | df | (~ben@justworks.xyz) (Ping timeout: 256 seconds) |
2022-01-28 19:55:15 +0100 | [exa]_ | (exa@srv3.blesmrt.net) |
2022-01-28 19:55:21 +0100 | df_ | (~ben@justworks.xyz) |
2022-01-28 19:55:34 +0100 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) |
2022-01-28 19:55:37 +0100 | cross_ | (~cross@spitfire.i.gajendra.net) |
2022-01-28 19:55:41 +0100 | ncopa3 | (~ncopa@gbr2-dev1.alpinelinux.org) (Ping timeout: 256 seconds) |
2022-01-28 19:55:41 +0100 | alphabeta | (~kilolympu@31.205.200.235) (Ping timeout: 256 seconds) |
2022-01-28 19:55:41 +0100 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) (Ping timeout: 256 seconds) |
2022-01-28 19:55:41 +0100 | cls | (~cls@chalk.lubutu.com) (Ping timeout: 256 seconds) |
2022-01-28 19:55:41 +0100 | APic | (apic@apic.name) (Ping timeout: 256 seconds) |
2022-01-28 19:55:41 +0100 | superbil | (~superbil@1-34-176-171.hinet-ip.hinet.net) (Ping timeout: 256 seconds) |
2022-01-28 19:55:41 +0100 | Ekho | (~Ekho@user/ekho) (Ping timeout: 256 seconds) |
2022-01-28 19:55:41 +0100 | Katarushisu | (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) (Ping timeout: 256 seconds) |
2022-01-28 19:55:41 +0100 | eagleflo | (~aku@163.172.137.34) (Ping timeout: 256 seconds) |
2022-01-28 19:55:41 +0100 | Maxdamantus | (~Maxdamant@user/maxdamantus) (Ping timeout: 256 seconds) |
2022-01-28 19:55:41 +0100 | cods | (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 256 seconds) |
2022-01-28 19:55:41 +0100 | exarkun | (~exarkun@user/exarkun) (Ping timeout: 256 seconds) |
2022-01-28 19:55:41 +0100 | maerwald | (~maerwald@user/maerwald) (Ping timeout: 256 seconds) |
2022-01-28 19:55:41 +0100 | Katarushisu7 | Katarushisu |
2022-01-28 19:55:52 +0100 | APic | (apic@apic.name) |
2022-01-28 19:55:54 +0100 | cls | (~cls@chalk.lubutu.com) |
2022-01-28 19:55:57 +0100 | eagleflo | (~aku@163.172.137.34) |
2022-01-28 19:55:58 +0100 | ncopa3 | (~ncopa@gbr2-dev1.alpinelinux.org) |
2022-01-28 19:56:03 +0100 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) |
2022-01-28 19:56:04 +0100 | maerwald | (~maerwald@mail.hasufell.de) |
2022-01-28 19:56:08 +0100 | superbil | (~superbil@1-34-176-171.hinet-ip.hinet.net) |
2022-01-28 19:56:26 +0100 | maerwald | (~maerwald@mail.hasufell.de) (Changing host) |
2022-01-28 19:56:26 +0100 | maerwald | (~maerwald@user/maerwald) |
2022-01-28 19:56:34 +0100 | exarkun | (~exarkun@user/exarkun) |
2022-01-28 19:56:56 +0100 | Jonno_FTW | (~come@api.carswap.me) |
2022-01-28 19:56:56 +0100 | Jonno_FTW | (~come@api.carswap.me) (Changing host) |
2022-01-28 19:56:56 +0100 | Jonno_FTW | (~come@user/jonno-ftw/x-0835346) |
2022-01-28 19:56:57 +0100 | unmanbearpig | (~unmanbear@user/unmanbearpig) |
2022-01-28 19:57:21 +0100 | cods | (~fred@82-65-232-44.subs.proxad.net) |
2022-01-28 19:57:28 +0100 | Maxdamantus | (~Maxdamant@user/maxdamantus) |
2022-01-28 19:57:30 +0100 | df_ | df |
2022-01-28 19:59:28 +0100 | kilolympus | (~kilolympu@31.205.200.235) |
2022-01-28 20:00:22 +0100 | [exa]_ | (exa@srv3.blesmrt.net) (Changing host) |
2022-01-28 20:00:22 +0100 | [exa]_ | (exa@user/exa/x-3587197) |
2022-01-28 20:00:29 +0100 | [exa]_ | [exa] |
2022-01-28 20:00:37 +0100 | mcglk | (~mcglk@131.191.49.120) |
2022-01-28 20:00:47 +0100 | Inoperable | (~PLAYER_1@fancydata.science) (Ping timeout: 256 seconds) |
2022-01-28 20:00:54 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) (Remote host closed the connection) |
2022-01-28 20:01:10 +0100 | mcglk_ | (~mcglk@131.191.49.120) (Read error: Connection reset by peer) |
2022-01-28 20:01:21 +0100 | stvc | (~stvc@192.241.166.39) (Ping timeout: 256 seconds) |
2022-01-28 20:01:55 +0100 | AWizzArd | (~code@user/awizzard) (Ping timeout: 256 seconds) |
2022-01-28 20:02:02 +0100 | AWizzArd | (~code@gehrels.uberspace.de) |
2022-01-28 20:02:56 +0100 | stvc | (~stvc@192.241.166.39) |
2022-01-28 20:03:05 +0100 | lep | (~lep@94.31.89.203) () |
2022-01-28 20:03:13 +0100 | n3rdy1 | (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) |
2022-01-28 20:05:49 +0100 | yauhsien | (~yauhsien@61-231-37-18.dynamic-ip.hinet.net) |
2022-01-28 20:07:04 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41be:eda7:26bd:771e) |
2022-01-28 20:09:18 +0100 | Inoperable | (~PLAYER_1@fancydata.science) |
2022-01-28 20:09:38 +0100 | Ekho | (~Ekho@user/ekho) |
2022-01-28 20:09:57 +0100 | yauhsien | (~yauhsien@61-231-37-18.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
2022-01-28 20:11:29 +0100 | vysn | (~vysn@user/vysn) (Ping timeout: 268 seconds) |
2022-01-28 20:12:57 +0100 | deadmarshal | (~deadmarsh@95.38.114.1) (Ping timeout: 240 seconds) |
2022-01-28 20:13:32 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 240 seconds) |
2022-01-28 20:13:59 +0100 | Hanicef | (~gustaf@81-229-9-108-no92.tbcn.telia.com) (Quit: leaving) |
2022-01-28 20:14:32 +0100 | jgeerds_ | (~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 240 seconds) |
2022-01-28 20:15:15 +0100 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-01-28 20:16:34 +0100 | <sm> | f $ x & g = f (g x), am I right ? |
2022-01-28 20:17:05 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-28 20:17:08 +0100 | <EvanR> | gross |
2022-01-28 20:17:29 +0100 | <geekosaur> | I believe so |
2022-01-28 20:17:41 +0100 | <geekosaur> | > f $ x & g :: Expr |
2022-01-28 20:17:42 +0100 | <lambdabot> | error: |
2022-01-28 20:17:42 +0100 | <lambdabot> | • Ambiguous type variable ‘t0’ arising from a use of ‘f’ |
2022-01-28 20:17:42 +0100 | <lambdabot> | prevents the constraint ‘(Show t0)’ from being solved. |
2022-01-28 20:17:54 +0100 | <geekosaur> | > f $ x & g |
2022-01-28 20:17:56 +0100 | <lambdabot> | error: |
2022-01-28 20:17:56 +0100 | <lambdabot> | • Could not deduce (Show t0) arising from a use of ‘f’ |
2022-01-28 20:17:56 +0100 | <lambdabot> | from the context: FromExpr t |
2022-01-28 20:18:11 +0100 | <EvanR> | % :i (&) |
2022-01-28 20:18:11 +0100 | <yahb> | EvanR: (&) :: a -> (a -> b) -> b -- Defined in `Data.Function'; infixl 1 & |
2022-01-28 20:18:28 +0100 | <geekosaur> | hm, no |
2022-01-28 20:19:09 +0100 | <monochrom> | Did you know: you can :i & $ on the same line :) |
2022-01-28 20:22:27 +0100 | <EvanR> | % :i (&) ($) |
2022-01-28 20:22:27 +0100 | <yahb> | EvanR: (&) :: a -> (a -> b) -> b -- Defined in `Data.Function'; infixl 1 &; ($) :: (a -> b) -> a -> b -- Defined in `GHC.Base'; infixr 0 $ |
2022-01-28 20:23:14 +0100 | <EvanR> | what happens when an unmovable infixr collides with an unresistable infixl |
2022-01-28 20:23:24 +0100 | <monochrom> | Here is a nice way to test: |
2022-01-28 20:23:33 +0100 | <monochrom> | > Just $ () & Left |
2022-01-28 20:23:34 +0100 | <lambdabot> | Just (Left ()) |
2022-01-28 20:24:17 +0100 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds) |
2022-01-28 20:24:22 +0100 | <monochrom> | EvanR, the compiler flags "syntax error I can't break the tie" |
2022-01-28 20:24:51 +0100 | <monochrom> | The compiler makes you an offer you can't resist :) |
2022-01-28 20:25:20 +0100 | <EvanR> | I can hear lisp people chuckling at the situation |
2022-01-28 20:25:49 +0100 | <EvanR> | silly infix operator fools |
2022-01-28 20:26:20 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2022-01-28 20:26:31 +0100 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-01-28 20:33:52 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
2022-01-28 20:35:28 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2022-01-28 20:41:06 +0100 | haskellberryfinn | (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Quit: WeeChat 3.3) |
2022-01-28 20:41:11 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2022-01-28 20:45:00 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
2022-01-28 20:45:13 +0100 | FirstTimeInHere | (~FirstTime@200.7.90.158) |
2022-01-28 20:45:20 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
2022-01-28 20:46:00 +0100 | jumper149 | (~jumper149@base.felixspringer.xyz) (Quit: WeeChat 3.3) |
2022-01-28 20:46:39 +0100 | alMalsamo | (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 276 seconds) |
2022-01-28 20:48:07 +0100 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
2022-01-28 20:48:12 +0100 | alMalsamo | (~alMalsamo@gateway/tor-sasl/almalsamo) |
2022-01-28 20:48:17 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-166.elisa-laajakaista.fi) |
2022-01-28 20:49:17 +0100 | perrierjouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4) |
2022-01-28 20:49:32 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds) |
2022-01-28 20:49:42 +0100 | little_mac | (~little_ma@2601:410:4300:3ce0:7040:d478:b206:6b72) |
2022-01-28 20:49:55 +0100 | <ephemient> | https://sourceforge.net/p/readable/wiki/Examples/ infix in lisp :) although it doesn't implement operator precedence |
2022-01-28 20:50:56 +0100 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
2022-01-28 20:51:06 +0100 | <prasad> | :q |
2022-01-28 20:51:11 +0100 | cheater1__ | (~Username@user/cheater) |
2022-01-28 20:51:37 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 240 seconds) |
2022-01-28 20:51:44 +0100 | pavonia | (~user@user/siracusa) |
2022-01-28 20:51:46 +0100 | cheater1__ | cheater |
2022-01-28 20:52:10 +0100 | dsrt^ | (~dsrt@75-147-197-198-Atlanta.hfc.comcastbusiness.net) |
2022-01-28 20:53:36 +0100 | <monochrom> | I used to have a "pythonic lisp" joke posted on lpaste.net. But lpaste.net is gone. |
2022-01-28 20:53:56 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
2022-01-28 20:54:20 +0100 | tommd | (~tommd@67-42-147-226.ptld.qwest.net) |
2022-01-28 20:55:05 +0100 | <monochrom> | If you understand "pythonic java" in https://twitter.com/HisCursedness/status/788690145822306304 , you can imagine what my joke looked like. :) |
2022-01-28 20:55:41 +0100 | prasad | (~user@c-73-170-49-136.hsd1.ca.comcast.net) (Quit: ERC (IRC client for Emacs 27.1)) |
2022-01-28 20:56:24 +0100 | <monochrom> | You probably have to click on the picture to see the full picture, especially what's on the right edge. |
2022-01-28 20:56:47 +0100 | <monochrom> | I gave an exam question on "input an AST, output this format" >:) |
2022-01-28 20:57:51 +0100 | mmalter | (~mmalter@88.126.10.237) (Quit: Lost terminal) |
2022-01-28 20:58:27 +0100 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-01-28 20:59:47 +0100 | <EvanR> | what haha |
2022-01-28 21:01:39 +0100 | <EvanR> | I sort of regret not having an entire chunk of brain warp by java |
2022-01-28 21:01:56 +0100 | <EvanR> | so many people to commiserate with |
2022-01-28 21:02:59 +0100 | <EvanR> | now I want to see pythonic lisp, sort of |
2022-01-28 21:03:11 +0100 | <EvanR> | or better, haskell warped into anything other than BASIC |
2022-01-28 21:06:25 +0100 | <monochrom> | For pythonic lisp, the trick is to also put ( at the far right edge. |
2022-01-28 21:08:04 +0100 | kjak | (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) |
2022-01-28 21:08:18 +0100 | juhp | (~juhp@128.106.188.82) |
2022-01-28 21:11:02 +0100 | <janus> | @hoogle (Monad m, Foldable t, Alternative f) => t (m (f a)) -> m (f a) |
2022-01-28 21:11:02 +0100 | <lambdabot> | No results found |
2022-01-28 21:11:22 +0100 | <janus> | i am looking for an effectful asum, does anybody know of a package? |
2022-01-28 21:13:41 +0100 | <EvanR> | :t sequence |
2022-01-28 21:13:42 +0100 | <lambdabot> | (Traversable t, Monad m) => t (m a) -> m (t a) |
2022-01-28 21:13:42 +0100 | <byorgey> | janus: asum already has that type, doesn't it? |
2022-01-28 21:13:43 +0100 | waleee | (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) |
2022-01-28 21:14:02 +0100 | <byorgey> | janus: I mean if you replace the 'a' in the type of asum with 'f a' |
2022-01-28 21:14:28 +0100 | <byorgey> | oh, never mind, Alternative f. |
2022-01-28 21:16:10 +0100 | <c_wraith> | janus: do you really need Monad there, or is Applicative sufficient? |
2022-01-28 21:16:53 +0100 | <janus> | well i have a monad, a monad provides more stuff than an applicative. if you have a solution with applicative, i'd like to see it, since it would also work in a monadic context |
2022-01-28 21:17:39 +0100 | <c_wraith> | the constraint says what is *required* for the function. Does that function do anything that requires a monad constraint? |
2022-01-28 21:18:18 +0100 | <monochrom> | Ugh please don't argue over this. |
2022-01-28 21:18:18 +0100 | <awpr> | :t fmap Data.Monoid.getAlt . Data.Monoid.getAp . foldMap (Data.Monoid.Ap . fmap Data.Monoid.Alt) |
2022-01-28 21:18:19 +0100 | <lambdabot> | forall k (f1 :: * -> *) (t :: * -> *) (f2 :: k -> *) (a :: k). (Foldable t, Applicative f1, Monoid (Alt f2 a)) => t (f1 (f2 a)) -> f1 (f2 a) |
2022-01-28 21:18:52 +0100 | <awpr> | ...that's not what my GHCi says |
2022-01-28 21:19:14 +0100 | <monochrom> | If I say "I'm looking for Int->Int for increasing an Int by 1" no one is going to chastise me on "you need to generalize to Num a => a -> a or else I won't answer". |
2022-01-28 21:19:33 +0100 | <c_wraith> | monochrom: it wasn't about that - it was about "I don't know what that function does if there's a Monad constraint" |
2022-01-28 21:19:55 +0100 | <c_wraith> | like, I was looking at the same wrappers awpr is using |
2022-01-28 21:20:20 +0100 | <c_wraith> | And I wasn't sure if they actually would do the job, because I didn't know if Applicative was sufficient for the job |
2022-01-28 21:20:55 +0100 | <awpr> | not sure why lambdabot doesn't know about the Monoid instance for Alt, but it should implement the intended "effectful asum", and it should say `Alternative f2` in place of that Monoid constraint |
2022-01-28 21:21:18 +0100 | <monochrom> | Hrm, would yahb do better? |
2022-01-28 21:21:32 +0100 | <monochrom> | % :type fmap Data.Monoid.getAlt . Data.Monoid.getAp . foldMap (Data.Monoid.Ap . fmap Data.Monoid.Alt) |
2022-01-28 21:21:33 +0100 | <yahb> | monochrom: forall {k} {f1 :: * -> *} {t :: * -> *} {f2 :: k -> *} {a :: k}. (Foldable t, Applicative f1, Monoid (Alt f2 a)) => t (f1 (f2 a)) -> f1 (f2 a) |
2022-01-28 21:21:52 +0100 | <monochrom> | yahb is 9.0.* IIRC |
2022-01-28 21:22:04 +0100 | <monochrom> | % !ghc --version |
2022-01-28 21:22:05 +0100 | <yahb> | monochrom: ; <interactive>:31:1: error:; Bang pattern in expression context: !ghc; Did you mean to add a space after the '!'? |
2022-01-28 21:22:11 +0100 | <monochrom> | % :!ghc --version |
2022-01-28 21:22:12 +0100 | <yahb> | monochrom: The Glorious Glasgow Haskell Compilation System, version 9.0.1 |
2022-01-28 21:22:26 +0100 | <janus> | if you defined it as 'pure empty' it wouldn't require Monad, but i was thinking it would also run on e.g. infinite lists as the t. with applicative, i thought you're supposed to know up-front how many steps 'computation' it would be? so then how could it work on infinite lists? not trying to argue btw :) just trying to understand |
2022-01-28 21:22:31 +0100 | <c_wraith> | the docs say the monoid instance has been there since base 4.8, which matches up with then Alt was added |
2022-01-28 21:22:42 +0100 | <c_wraith> | *when |
2022-01-28 21:22:55 +0100 | <janus> | thanks for the solution awpr, i am looking at it |
2022-01-28 21:23:51 +0100 | <janus> | oh but i guess since each element doesn't depend on the previous, it shouldn't need to be Monad |
2022-01-28 21:24:02 +0100 | <janus> | is that the intuition you had c_wraith? |
2022-01-28 21:24:06 +0100 | <c_wraith> | yes |
2022-01-28 21:24:07 +0100 | <awpr> | "up front" means "without depending on prior applicative results", not "in finite time" -- it knows up-front that there's an infinite sequence of effects to run |
2022-01-28 21:25:13 +0100 | <janus> | but in haskell, when given an infinite list, you can never actually verify that? that check would never terminate |
2022-01-28 21:25:49 +0100 | <awpr> | there is no check that happens temporally before execution can start. it's just that by nature Applicative computations' shapes don't depend on their intermediate values |
2022-01-28 21:25:58 +0100 | <c_wraith> | awpr: you know, this reminds me of something... There was a... reddit discussion? I think? a few months(?) back about how instance constraints shouldn't be automatically applied, because there isn't always a principle type in the present of FlexibleConstraints, or something? |
2022-01-28 21:26:02 +0100 | cods | (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 240 seconds) |
2022-01-28 21:26:24 +0100 | <awpr> | that shape can be infinite, as long as it's infinite independently of intermediate values |
2022-01-28 21:27:24 +0100 | cods | (~fred@82-65-232-44.subs.proxad.net) |
2022-01-28 21:27:33 +0100 | briandaed | (~root@185.234.208.208.r.toneticgroup.pl) (Quit: Lost terminal) |
2022-01-28 21:27:36 +0100 | <janus> | i'll have to ponder this :P |
2022-01-28 21:27:48 +0100 | CiaoSen | (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2022-01-28 21:28:04 +0100 | <awpr> | hmm, switching to ghci 9.0.1 it still reduces that, so it's probably not due to a change in instance resolution. maybe there's something weird about the import rules specifically in lambdabot and yahb that makes it not able to see the instance? |
2022-01-28 21:28:11 +0100 | <c_wraith> | or... huh. ghci on 9.2 will show a Monoid constraint unless Alternative is imported. Then it will show Alternative |
2022-01-28 21:28:49 +0100 | <hololeap> | % :t fmap getAlt . getAp . foldMap (Ap . fmap Alt) :: (Foldable t, Applicative m, Alternative f) => t (m (f a)) -> m (f a) -- I know awpr already beat me to it :) |
2022-01-28 21:28:50 +0100 | <yahb> | hololeap: (Foldable t, Alternative f, Applicative m) => t (m (f a)) -> m (f a) |
2022-01-28 21:29:13 +0100 | <awpr> | what? why did it give a different type that time? |
2022-01-28 21:29:31 +0100 | <c_wraith> | because hololeap told it what type to give |
2022-01-28 21:29:35 +0100 | <awpr> | oh |
2022-01-28 21:29:42 +0100 | <c_wraith> | so it only checked instead of inferring |
2022-01-28 21:29:47 +0100 | <EvanR> | isInfinite :: [a] -> Bool, is similar to limited principle of omniscience |
2022-01-28 21:30:18 +0100 | <EvanR> | asserting that a list is either finite or infinite, and it's valid to reason like that |
2022-01-28 21:30:34 +0100 | <hololeap> | I'm going to go with False |
2022-01-28 21:30:35 +0100 | <awpr> | janus: consider `traverse_ print [0..]` -- that only needs Applicative, but it's an infinitely long computation, whose shape is only determined by that infinite list |
2022-01-28 21:30:46 +0100 | <c_wraith> | though... all this use of fmap Alt and fmap getAlt is making me cringe, because... this is why coerce exists! |
2022-01-28 21:31:26 +0100 | <c_wraith> | ... If only coerce had a better inference story |
2022-01-28 21:31:26 +0100 | <awpr> | yeah, a real implementation should be more like `coerce (foldMap @(Ap ... Alt ...))` with appropriate ScopedTypeVariables |
2022-01-28 21:32:00 +0100 | <hololeap> | or just deriving (Semigroup, Monoid) via ... |
2022-01-28 21:32:11 +0100 | <c_wraith> | you wouldn't even need foldMap |
2022-01-28 21:32:17 +0100 | <c_wraith> | It'd just be coerce fold |
2022-01-28 21:32:22 +0100 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2022-01-28 21:32:24 +0100 | <awpr> | ah yeah, true |
2022-01-28 21:33:57 +0100 | <hololeap> | til all programs can be reduced down to coerce fold |
2022-01-28 21:34:48 +0100 | burnsidesLlama | (~burnsides@dhcp168-033.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-28 21:34:53 +0100 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:41be:eda7:26bd:771e) (Remote host closed the connection) |
2022-01-28 21:34:56 +0100 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 245 seconds) |
2022-01-28 21:35:15 +0100 | burnsidesLlama | (~burnsides@dhcp168-033.wadham.ox.ac.uk) |
2022-01-28 21:37:03 +0100 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-01-28 21:39:36 +0100 | burnsidesLlama | (~burnsides@dhcp168-033.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
2022-01-28 21:39:42 +0100 | neurocyte0917090 | (~neurocyte@IP-046243082200.dynamic.medianet-world.de) |
2022-01-28 21:39:42 +0100 | neurocyte0917090 | (~neurocyte@IP-046243082200.dynamic.medianet-world.de) (Changing host) |
2022-01-28 21:39:42 +0100 | neurocyte0917090 | (~neurocyte@user/neurocyte) |
2022-01-28 21:42:07 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) |
2022-01-28 21:42:24 +0100 | <janus> | I can't get it to work when I call it on (repeat (read <$> getLine)) and type it to 'IO (Maybe Int)' |
2022-01-28 21:42:45 +0100 | <janus> | i thought i would be able to write 'Just 5' and then it would terminate, but it keeps reading |
2022-01-28 21:43:03 +0100 | <EvanR> | you want unsafeInterleaveIO ? |
2022-01-28 21:43:06 +0100 | <EvanR> | of some sort |
2022-01-28 21:43:25 +0100 | <janus> | why would i need that? because it is calling the getLines concurrently? |
2022-01-28 21:43:26 +0100 | <EvanR> | if you see the Just 5 from an IO (Maybe Int) it means that action is over |
2022-01-28 21:43:28 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection) |
2022-01-28 21:43:48 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) |
2022-01-28 21:43:59 +0100 | <EvanR> | if the show must go on, you need threads |
2022-01-28 21:44:07 +0100 | <janus> | well i never see it played back to me, it keeps reading, never hands me back my repl |
2022-01-28 21:44:16 +0100 | <monochrom> | IO's <*> is stricter than most people's intuition. |
2022-01-28 21:44:29 +0100 | <monochrom> | or more eager |
2022-01-28 21:45:08 +0100 | <awpr> | an infinitely long computation doesn't stop being infinitely long just because the result would infinitely produce ignored values |
2022-01-28 21:45:12 +0100 | <monochrom> | unsafeInterleaveIO may be justified in some cases or under some models. |
2022-01-28 21:45:34 +0100 | <janus> | > asum (repeat $ Just 5) |
2022-01-28 21:45:35 +0100 | <lambdabot> | Just 5 |
2022-01-28 21:45:51 +0100 | <awpr> | that's a program that requests infinitely many lines and then returns the `asum` of them |
2022-01-28 21:46:01 +0100 | <janus> | but that terminates? it has just as much infiniteness as the effectful version |
2022-01-28 21:46:10 +0100 | <monochrom> | Likewise, when Maybe's <*> is too strict, there are times a "pledge ~(Just x) = Just x" is justified. You can call it unsafeInterleaveMaybe. |
2022-01-28 21:46:15 +0100 | <awpr> | even if that result would be the first Just, there are still infinitely many lines to read before you can try to compute it |
2022-01-28 21:46:17 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) (Ping timeout: 240 seconds) |
2022-01-28 21:46:37 +0100 | Inst | (~delicacie@2601:6c4:4080:3f80:3dfd:43d3:c415:2e6f) (Read error: Connection reset by peer) |
2022-01-28 21:46:38 +0100 | <EvanR> | oh pledge is interesting |
2022-01-28 21:46:51 +0100 | <EvanR> | sometimes haskell is like iron man, and sometimes it's like Dr Strange |
2022-01-28 21:47:00 +0100 | <monochrom> | For example "some (Just 0)" is bottom, but "some (pledge (Just 0))" is successfully Just [the infinite list you hope for]. |
2022-01-28 21:47:12 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) |
2022-01-28 21:48:14 +0100 | <dolio> | No, it isn't. |
2022-01-28 21:48:28 +0100 | ProfSimm | (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds) |
2022-01-28 21:49:09 +0100 | <EvanR> | and sometimes it's like the incredible hulk (unsafeCoerce) |
2022-01-28 21:49:55 +0100 | lavaman | (~lavaman@98.38.249.169) |
2022-01-28 21:50:41 +0100 | <janus> | but if written with monad, i wouldn't need any unsafe functions, i presume... hmmm |
2022-01-28 21:50:42 +0100 | alp | (~alp@user/alp) (Ping timeout: 250 seconds) |
2022-01-28 21:51:46 +0100 | <EvanR> | you want to interleave IO with applicativing stuff? Do you have an "exit strategy" in case an IO error happens in the middle |
2022-01-28 21:52:49 +0100 | <monochrom> | <|> is not very strict. <*> is stricter. |
2022-01-28 21:52:57 +0100 | jinsun__ | (~quassel@user/jinsun) |
2022-01-28 21:53:03 +0100 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.4) |
2022-01-28 21:53:33 +0100 | <monochrom> | and then IO's <|> and <*> are still different from other type's <|> and <*> |
2022-01-28 21:54:14 +0100 | <janus> | how can you determine the general strictness of <*> when it isn't mentioned in the laws how strict it should be? |
2022-01-28 21:54:41 +0100 | <monochrom> | Every type is different, so the laws cannot rule either way. |
2022-01-28 21:54:54 +0100 | jinsun | (~quassel@user/jinsun) (Ping timeout: 256 seconds) |
2022-01-28 21:54:54 +0100 | <monochrom> | But you can always test with foo <*> undefined |
2022-01-28 21:55:05 +0100 | <monochrom> | and also foo <*> pure undefined |
2022-01-28 21:55:33 +0100 | <monochrom> | or even undefined <*> foo but usually no one really needs that. |
2022-01-28 21:56:34 +0100 | <monochrom> | But oh actually Control.Monad.State.Lazy plays well with undefined <*> foo so left recursion is productive, for a change! |
2022-01-28 21:57:13 +0100 | <ephemient> | % (undefined <*> undefined :: Proxy ()) `seq` () |
2022-01-28 21:57:13 +0100 | <yahb> | ephemient: () |
2022-01-28 21:57:13 +0100 | <c_wraith> | argh, I was playing with this for a while, and.. you can't actually replace fmap Alt with coerce. The problem being that the type `f` might be a total lie with a completely bogus Functor instance. If you use fmap Alt, that's a bug with the Functor instance. If you use coerce, it's a hole in the type system. |
2022-01-28 21:57:22 +0100 | <c_wraith> | Type families claim another victim |
2022-01-28 21:58:01 +0100 | <monochrom> | I think we can assume that f is an honest functor for now? It's IO or Maybe or something. :) |
2022-01-28 21:58:28 +0100 | <c_wraith> | yeah, I was just thinking about getting rid of the "unnecessary" fmap with coerce. |
2022-01-28 21:58:34 +0100 | <c_wraith> | which turns out to not be possible |
2022-01-28 21:58:57 +0100 | vglfr | (~vglfr@46.96.133.112) (Ping timeout: 240 seconds) |
2022-01-28 21:59:12 +0100 | <awpr> | well you can add the appropriate representationality constraint on `f`, if you're willing to change the type signature |
2022-01-28 21:59:38 +0100 | <monochrom> | I became a bit sad the other day when a conversation revealed that dependent typing takes away parametricity, and it's a tautology. |
2022-01-28 21:59:54 +0100 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2022-01-28 22:00:02 +0100 | <dolio> | Huh? |
2022-01-28 22:00:08 +0100 | <awpr> | `forall a b. Coercible a b => Coercible (f a) (f b)` that is, which excludes any weird GADT and type family stuff |
2022-01-28 22:00:27 +0100 | <c_wraith> | yeah, I thought about that. But then the Coercible constraint propagates |
2022-01-28 22:00:33 +0100 | <c_wraith> | Which is a weird detail |
2022-01-28 22:01:01 +0100 | <EvanR> | forall t::Type . t -> t still only has 1 way |
2022-01-28 22:02:17 +0100 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2022-01-28 22:03:12 +0100 | <EvanR> | guess that's not really a dependent type |
2022-01-28 22:04:39 +0100 | <awpr> | I think the implication is that something like `foreach (t :: Type) -> t -> t` has more inhabitants, assuming you can type-case on such things. and if not, then you can construct other parametricity-defeating things for dependently-quantified things of types other than Type |
2022-01-28 22:04:52 +0100 | <dolio> | Dependent types don't let you type case. |
2022-01-28 22:06:14 +0100 | <awpr> | then the "if not" part kicks in. like, `forall n a. Vec n a -> Vec n a` has parametricity guarantees on `n` that it can't decide what to do based on the value of n, but `forall a. foreach n -> Vec n a -> Vec n a` can |
2022-01-28 22:06:15 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) |
2022-01-28 22:06:18 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 250 seconds) |
2022-01-28 22:06:34 +0100 | <c_wraith> | I wonder how much it would break if you could put representational requirements on a class |
2022-01-28 22:06:39 +0100 | neceve | (~quassel@2.26.93.228) (Read error: Connection reset by peer) |
2022-01-28 22:06:46 +0100 | ProfSimm | (~ProfSimm@87.227.196.109) |
2022-01-28 22:07:01 +0100 | <c_wraith> | like, just forbid Functor instances if that type argument has a Nominal role |
2022-01-28 22:07:15 +0100 | <awpr> | hmm, I'm wrong about Vec because you can recover the length from the structure of the Vec |
2022-01-28 22:07:27 +0100 | <dolio> | What parametricity in n are you actually making use of in Haskell? |
2022-01-28 22:08:03 +0100 | <awpr> | I'm not making use of it. just trying to make sense of "dependent typing takes away parametricity" |
2022-01-28 22:08:14 +0100 | <EvanR> | that's monochrom's job xD |
2022-01-28 22:09:23 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2022-01-28 22:10:12 +0100 | coot | (~coot@213.134.190.95) |
2022-01-28 22:11:29 +0100 | coot | (~coot@213.134.190.95) (Client Quit) |
2022-01-28 22:12:02 +0100 | coot | (~coot@213.134.190.95) |
2022-01-28 22:12:04 +0100 | burnsidesLlama | (~burnsides@dhcp168-033.wadham.ox.ac.uk) |
2022-01-28 22:12:08 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2022-01-28 22:15:05 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2022-01-28 22:17:50 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) |
2022-01-28 22:21:02 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Ping timeout: 260 seconds) |
2022-01-28 22:24:15 +0100 | burnsidesLlama | (~burnsides@dhcp168-033.wadham.ox.ac.uk) (Ping timeout: 250 seconds) |
2022-01-28 22:25:36 +0100 | kimjetwav | (~user@2607:fea8:2363:8f00:79e4:1253:5b58:4ecf) |
2022-01-28 22:26:11 +0100 | mikoto-chan | (~mikoto-ch@213.177.151.239) (Ping timeout: 245 seconds) |
2022-01-28 22:27:50 +0100 | Pickchea | (~private@user/pickchea) |
2022-01-28 22:31:03 +0100 | jinsun__ | (~quassel@user/jinsun) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2022-01-28 22:31:15 +0100 | jgeerds_ | (~jgeerds@55d4a547.access.ecotel.net) |
2022-01-28 22:33:52 +0100 | RMSBach | (~user@cpe-76-177-52-136.natcky.res.rr.com) |
2022-01-28 22:34:28 +0100 | jinsun | (~quassel@user/jinsun) |
2022-01-28 22:36:46 +0100 | madjestic | (~madjestic@88-159-247-120.fixed.kpn.net) |
2022-01-28 22:36:53 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2022-01-28 22:37:12 +0100 | polyphem | (~rod@2a02:810d:840:8754:2c8b:1f9:dc9a:b89b) (Remote host closed the connection) |
2022-01-28 22:37:30 +0100 | polyphem | (~rod@2a02:810d:840:8754:cd07:81a6:97c4:d71f) |
2022-01-28 22:38:32 +0100 | Topsi | (~Tobias@dyndsl-095-033-019-122.ewe-ip-backbone.de) (Ping timeout: 256 seconds) |
2022-01-28 22:39:08 +0100 | burnsidesLlama | (~burnsides@dhcp168-033.wadham.ox.ac.uk) |
2022-01-28 22:39:13 +0100 | <RMSBach> | /msg NickServ VERIFY REGISTER RMSBach b3sDLCtFAIw5uAit |
2022-01-28 22:39:34 +0100 | <geekosaur> | you just sent your password to the channel |
2022-01-28 22:40:01 +0100 | <RMSBach> | Yeah, that was a mistake. I am getting used to ERC and setting up an account with libera at the same time :/ |
2022-01-28 22:40:11 +0100 | <maerwald> | lol |
2022-01-28 22:40:37 +0100 | <RMSBach> | At least that was a one time generated password I think |
2022-01-28 22:40:51 +0100 | <maerwald> | lemme try that on your gmail account |
2022-01-28 22:41:16 +0100 | <RMSBach> | lol |
2022-01-28 22:43:38 +0100 | burnsidesLlama | (~burnsides@dhcp168-033.wadham.ox.ac.uk) (Ping timeout: 256 seconds) |
2022-01-28 22:44:25 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2022-01-28 22:45:18 +0100 | <EvanR> | it looks like a really strong password though, I might have to start using it |
2022-01-28 22:45:36 +0100 | <EvanR> | *yoink* |
2022-01-28 22:45:44 +0100 | gdd | (~gdd@129.199.146.230) (Ping timeout: 250 seconds) |
2022-01-28 22:45:45 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) |
2022-01-28 22:46:50 +0100 | <RMSBach> | Be my guest, @EvanR. ;) |
2022-01-28 22:47:48 +0100 | gdd | (~gdd@129.199.146.230) |
2022-01-28 22:48:17 +0100 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds) |
2022-01-28 22:48:39 +0100 | zincy | (~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) (Remote host closed the connection) |
2022-01-28 22:49:28 +0100 | mon_aaraj | (~MonAaraj@user/mon-aaraj/x-4416475) |
2022-01-28 22:52:42 +0100 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 256 seconds) |
2022-01-28 22:52:51 +0100 | segfaultfizzbuzz | (~rustisafu@2602:306:cd3c:9350:59e3:db49:aa0a:46e5) (Ping timeout: 245 seconds) |
2022-01-28 22:54:37 +0100 | jao | (~jao@static-68-235-44-25.cust.tzulo.com) |
2022-01-28 22:55:05 +0100 | wombat875 | (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Quit: WeeChat 2.2-dev) |
2022-01-28 22:57:37 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 250 seconds) |
2022-01-28 23:00:35 +0100 | Erutuon | (~Erutuon@user/erutuon) |
2022-01-28 23:10:10 +0100 | deadmarshal | (~deadmarsh@95.38.117.123) |
2022-01-28 23:11:25 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 240 seconds) |
2022-01-28 23:14:31 +0100 | deadmarshal | (~deadmarsh@95.38.117.123) (Ping timeout: 245 seconds) |
2022-01-28 23:14:48 +0100 | merijn | (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
2022-01-28 23:16:07 +0100 | jkaye | (~jkaye@2601:281:8300:7530:1596:ed69:814a:f0eb) |
2022-01-28 23:16:36 +0100 | vglfr | (~vglfr@46.96.133.112) |
2022-01-28 23:17:04 +0100 | burnsidesLlama | (~burnsides@dhcp168-033.wadham.ox.ac.uk) |
2022-01-28 23:17:13 +0100 | RMSBach | (~user@cpe-76-177-52-136.natcky.res.rr.com) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.0.90)) |
2022-01-28 23:18:43 +0100 | RMSBach | (~user@cpe-76-177-52-136.natcky.res.rr.com) |
2022-01-28 23:19:11 +0100 | yassernasc | (~yassernas@ec2-54-87-145-249.compute-1.amazonaws.com) (Remote host closed the connection) |
2022-01-28 23:21:10 +0100 | d34df00d | (~d34df00d@2600:1700:8c60:3a10::48) |
2022-01-28 23:21:21 +0100 | <d34df00d> | Hi! |
2022-01-28 23:21:25 +0100 | <d34df00d> | unoffsetBS (BSI.PS ptr offset len) = BSI.PS (ptr `plusForeignPtr` offset) 0 len |
2022-01-28 23:21:29 +0100 | <d34df00d> | Is this legit with bytestring-0.10? |
2022-01-28 23:22:11 +0100 | <d34df00d> | I don't know much about foreign ptrs, and I'm not sure I don't mess up any finalizers or what not attached to `ptr` if I only keep ``ptr `plusForeignPtr` offset`` and the `ptr` itself will be GC'ed away. |
2022-01-28 23:23:40 +0100 | toghat | (~toghat@96-19-96-19-190-222.cpe.sparklight.net) |
2022-01-28 23:23:40 +0100 | pavonia | (~user@user/siracusa) (Read error: Connection reset by peer) |
2022-01-28 23:23:52 +0100 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 256 seconds) |
2022-01-28 23:23:58 +0100 | qrpnxz | (~qrpnxz@user/qrpnxz) |
2022-01-28 23:24:09 +0100 | jkaye | (~jkaye@2601:281:8300:7530:1596:ed69:814a:f0eb) (Quit: Leaving) |
2022-01-28 23:26:50 +0100 | pavonia | (~user@user/siracusa) |
2022-01-28 23:27:00 +0100 | toghat | (~toghat@96-19-96-19-190-222.cpe.sparklight.net) (Client Quit) |
2022-01-28 23:27:48 +0100 | <ephemient> | the docs on https://hackage.haskell.org/package/base/docs/GHC-ForeignPtr.html#v:plusForeignPtr say that it keeps the finalizer |
2022-01-28 23:28:42 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2022-01-28 23:29:10 +0100 | <d34df00d> | Somehow I managed to miss that. Thanks! |
2022-01-28 23:31:32 +0100 | Vajb | (~Vajb@2001:999:50:e6be:1e98:9376:d93e:4506) (Read error: Connection reset by peer) |
2022-01-28 23:32:05 +0100 | burnsidesLlama | (~burnsides@dhcp168-033.wadham.ox.ac.uk) (Remote host closed the connection) |
2022-01-28 23:32:11 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
2022-01-28 23:32:12 +0100 | burnsidesLlama | (~burnsides@dhcp168-033.wadham.ox.ac.uk) |
2022-01-28 23:35:34 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2022-01-28 23:36:07 +0100 | qrpnxz | (~qrpnxz@user/qrpnxz) (Quit: Gateway shutdown) |
2022-01-28 23:40:36 +0100 | <hololeap> | is something like distcc/icecream a feasable concept for ghc? |
2022-01-28 23:40:47 +0100 | max22- | (~maxime@2a01cb08833598009858f30aea0eec11.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
2022-01-28 23:44:51 +0100 | FirstTimeInHere | (~FirstTime@200.7.90.158) (Read error: Connection reset by peer) |
2022-01-28 23:45:21 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection) |
2022-01-28 23:45:50 +0100 | zer0bitz_ | (~zer0bitz@2001:2003:f444:a000:4917:bc56:f54d:812b) (Ping timeout: 252 seconds) |
2022-01-28 23:45:58 +0100 | cosimone | (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) |
2022-01-28 23:48:31 +0100 | alp | (~alp@user/alp) |
2022-01-28 23:50:21 +0100 | coot | (~coot@213.134.190.95) (Quit: coot) |
2022-01-28 23:54:52 +0100 | Null_A | (~null_a@2601:645:8700:2290:8935:4edf:b32:6553) (Remote host closed the connection) |
2022-01-28 23:56:28 +0100 | mestre | (~mestre@191.177.181.194) |
2022-01-28 23:56:50 +0100 | <EvanR> | this is an embarrassing situation where I want to test some action that outputs file to a path I type in from cabal repl, but scared of overwriting the wrong file and going into a output subdir first means I can't seem to load the module in question |
2022-01-28 23:57:32 +0100 | <geekosaur> | can you :cd inside the repl? |
2022-01-28 23:58:05 +0100 | <monochrom> | Do you mind entering an absolute path? :) |
2022-01-28 23:58:36 +0100 | lbseale | (~ep1ctetus@user/ep1ctetus) (Quit: Leaving) |
2022-01-28 23:59:18 +0100 | <monochrom> | If you load the module and then :cd, it doesn't hurt. Later, if you stick to :reload, the previous :cd still doesn't hurt. |