jeffmkungusi
2020-4-20 17:02:21

@jeffmkungusi has joined the channel


samth
2020-4-20 18:45:27

A pict is a data type, which describes a shape in terms of a set of functional constructors. A dc<%> describes drawing using imperative, retained-mode drawing commands. You can translate a pict to a set of dc commands (or just perform those commands) but you can’t go backwards.


samth
2020-4-20 18:45:40

I’m not sure what it would mean for pict to implement dc&lt;%&gt;.


samth
2020-4-20 19:06:12

because then you can do pict-stuff with it, like above


soegaard2
2020-4-20 19:13:04

If you are interested, there is a pict paper. Somewhere. I forgot the authors, but it’s probably the usual suspects.


samth
2020-4-20 19:13:39

In JFP, focused on slideshow but with lots about picts


samth
2020-4-20 19:13:53

By Matthew and Robby


francois.lapeyrere
2020-4-20 20:45:44

@francois.lapeyrere has joined the channel


lexi.lambda
2020-4-21 00:07:41

@mbutterick Another POV: a pict is a thing you draw, but a dc&lt;%&gt; provides a canvas to draw into. The dc pict constructor defines a pict that accepts a dc&lt;%&gt; and draws into it arbitrarily, but you still can’t draw into that pict. It doesn’t have a dc&lt;%&gt; “inside” of it any more than map has a list inside of it.


lexi.lambda
2020-4-21 00:09:52

Having a separate value that represents “a thing you draw” means you can draw the same pict multiple times in different ways, and you can define functions that transform and composite picts arbitrarily.