annotate paste/paste.26426 @ 6941:261be2d51dea

<oerjan> learn Postorder is the same as Polish notation, since Post was Polish. Not to be confused with reverse Polish notation, which puts operations last.
author HackBot
date Wed, 24 Feb 2016 05:00:46 +0000
parents 76650e2fc100
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3095
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
1 2012-12-21.txt:21:17:04: <shachaf> zzo38: How about Profunctor?
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
2 2012-12-23.txt:22:46:51: <shachaf> p is usually a profunctor
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
3 2012-12-30.txt:07:11:01: <shachaf> monqy: are you an expert in corepresentable profunctors too
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
4 2012-12-31.txt:20:57:31: <shachaf> `quote profunctor
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
5 2013-01-02.txt:04:32:12: <shachaf> +findOf :: (RepresentableProfunctor p, Profunctor q, Comonad (Rep p)) => Overloading p q (Accessor (Endo (Maybe a))) s t a b -> p a Bool -> q s (Maybe a)
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
6 2013-01-02.txt:04:38:47: <shachaf> +imapMOf_ :: (Profunctor q, Monad m) => Overloading (Indexed i) q (Accessor (Sequenced m)) s t a b -> (i -> a -> m r) -> q s (m ())
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
7 2013-01-02.txt:04:38:50: <shachaf> +iconcatMapOf :: Profunctor q => Overloading (Indexed i) q (Accessor [r]) s t a b -> (i -> a -> [r]) -> q s [r]
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
8 2013-01-02.txt:04:38:54: <shachaf> +ifindOf :: Profunctor q => Overloading (Indexed i) q (Accessor (Endo (Maybe a))) s t a b -> (i -> a -> Bool) -> q s (Maybe a)
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
9 2013-01-02.txt:04:38:57: <shachaf> +itoListOf :: Profunctor q => Overloading (Indexed i) q (Accessor (Endo [(i,a)])) s t a b -> q s [(i,a)]
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
10 2013-01-02.txt:05:00:28: <shachaf> There's a class Profunctor p where lmap :: (a -> b) -> p b c -> p a c; rmap :: (b -> c) -> p a b -> p a c
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
11 2013-01-02.txt:05:02:59: <shachaf> zzo38: We have a lot of (co)representable profunctors.
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
12 2013-01-02.txt:05:05:41: <shachaf> Not all instances of Profunctor are categories.
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
13 2013-01-02.txt:05:08:20: <shachaf> So you can use profunctors to make this different representation of lenses.
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
14 2013-01-02.txt:05:09:09: <shachaf> If you pick Profunctor as your constraint, what you get is an isomorphism.
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
15 2013-01-02.txt:05:11:44: <shachaf> (forall f. Profunctor f => p a b -> p s t) ~~ (s -> a, b -> t)
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
16 2013-01-02.txt:05:12:10: <shachaf> It's a very polymorphic function, so it knows almost nothing about which profunctor you're using.
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
17 2013-01-02.txt:05:14:11: <shachaf> (This means that you have to pick some specific concrete profunctor to use.)
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
18 2013-01-02.txt:05:19:44: <shachaf> Try to make it a Profunctor instance. :-)
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
19 2013-01-02.txt:05:27:40: <shachaf> So pretty much the same trick works for profunctors.
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
20 2013-01-02.txt:05:34:58: <shachaf> So that's the basic idea of profunctor lenses.
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
21 2013-01-02.txt:05:38:22: <shachaf> +ifindOf :: Profunctor q => Overloading (Indexed i) q (Accessor (Endo (Maybe a))) s t a b -> (i -> a -> Bool) -> q s (Maybe a)
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
22 2013-01-02.txt:05:39:34: <elliott> shachaf: well, this isn't quite profunctor stuff directly
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
23 2013-01-02.txt:05:47:14: <shachaf> So we get (Profunctor p, Indexable i p, Coindexable j q, Applicative f) => p a (f b) -> q s (f t)
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
24 2013-01-02.txt:05:52:50: <shachaf> pins :: (Bizarre p q w, RepresentableProfunctor p) => q (w a b t) [Rep p a]
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
25 2013-01-02.txt:16:52:57: <shachaf> i love profunctors
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
26 2013-01-03.txt:23:35:38: <shachaf> profunctors
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
27 2013-01-04.txt:05:38:45: <shachaf> `echo symmetric lenses > profunctor lenses
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
28 2013-01-09.txt:16:12:51: <shachaf> A profunctor lens is representable as either (p a b -> p s t) or as (q t s -> q b a)
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
29 2013-01-10.txt:01:40:26: <shachaf> (Well, the last one is just the contravariant half of a profunctor, actually.)
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
30 2013-01-10.txt:02:01:47: <shachaf> I suppose that only comes about from categories. With profunctors you get sane (but weird) things.
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
31 2013-01-13.txt:22:56:40: <shachaf> monqy: btw did you hear about the "latest advances in profunctor lenses"
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
32 2013-01-13.txt:22:57:45: <shachaf> old profunctor lenses = worst thing ever
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
33 2013-01-13.txt:23:23:16: <shachaf> Lots of useful profunctors aren't categories.
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
34 2013-01-13.txt:23:32:38: <shachaf> monqy: btw edwardk shipped the new profunctors
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
35 2013-01-29.txt:10:39:22: <shachaf> coppro: So can you tell me about things that are corepresentable by a costrong copprofunctor?
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
36 2013-02-03.txt:08:33:50: <shachaf> and if you think about it profunctor-lenses and simple-lenses are related to "substitutatutatatututability"
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
37 2013-02-03.txt:09:18:55: <shachaf> i think these two have a "common superclass" (other than profunctor)
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
38 2013-02-03.txt:17:55:06: <shachaf> kmc: And I think functor/profunctor lenses correspond to Liskov substitutability.
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
39 2013-02-13.txt:22:15:41: <shachaf> profunctors are better
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
40 2013-02-25.txt:21:35:48: <shachaf> monqy: are profunctors dumb
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
41 2013-02-25.txt:21:36:08: <boily> shachaf: profunctors are time-traveling evil monstrosities.
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
42 2013-02-25.txt:21:36:15: <shachaf> monqy: what about profunctor + strong + choice + category
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
43 2013-02-25.txt:21:37:14: <shachaf> profunctor + strong + category
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
44 2013-04-02.txt:02:35:31: <oerjan> shachaf: eek it's spreading https://www.fpcomplete.com/user/liyang/profunctors
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
45 2013-04-02.txt:05:59:51: <shachaf> Bike: elliott thinks profunctors are too hard for you.
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
46 2013-04-08.txt:01:38:25: <shachaf> did you learn about profunctors yet ...............
76650e2fc100 <nooodl> pastelogs shachaf.*profunctor
HackBot
parents:
diff changeset
47 2013-06-12.txt:11:05:06: <shachaf> mnoqy: do you understand profunctor lenslikes