Title

#thinking-together

h

hamish todd

08/30/2020, 6:07 PM

In the thing I am making, you can't have a variable without choosing a specific example value for that variable. This is surely something that's been discussed here before since Bret does it in Inventing On Principle. What do folks think of it?

6:08 PM

With the way things are going I **could** embrace a more abstract way of doing things and be like "yeah don't worry, you can program without example values". I am pretty sure this is the right way to go though. My favourite mathematician/mathematics teacher, Tadashi Tokieda, says you should have lots and lots of examples

6:09 PM

It's not necessarily Bret-Victor-ian to have things be this way either, in theory every time you use a debugger you are "programming by example"

6:10 PM

But I can certainly conceive of an experienced programmer/mathematician saying "no, the "abstract view"/"general case", wherein a variable can take on many values, is fundamental and should be tackled first because [something]

Mariano Guerra

08/30/2020, 6:47 PM

I came here to say programming by example, but I see you already mentioned it š as long as it works for your tool, I find it really nice, you can't build invalid things since you are always referencing a valid example

r

Robin

08/31/2020, 1:20 AM

This is such a complicated and cool question and I have so many thoughts I donāt even know where to begin. I remember watching your talk about the thing youāre making and I think you mentioned something along these lines being one of the big problems. I was surprised you wanted to be able to prove theorems in this system because of course a visual environment and proofs have this tension. Iām curious what kind of proofs you would have in this system. In the video you mentioned a theorem in quantum computing(?) but I couldnāt find it. As an elementary but nontrivial example how would you prove the Pythagorean theorem? I think you would have to do this abstractly, but as long as it is āconstructiveā you can unfold the abstract proof at various stages and apply it to specific vectors to visualize it. Also, if you are doing proofs I imagine these would be āformal proofsā and isnāt that a really tough problem? Or do I misunderstand or is there some way to get around it? eg just have a more expressive and dynamic means to write informal proofs. Anyway I certainly wouldnāt shy away from general variables as long as you have a means to move up and down the ladder of abstraction š.

w

wtaysom

08/31/2020, 5:21 AM

Starting from concrete values, you can approach abstraction by lifting from a single value to many at once. Remember Bret's Ladder of Abstraction. For extra fun, have interactions between the multiple values. For instance, instead of a solution set of values that would work in a given context, have a probability distribution. I was pretty into these propagation networks at once point https://dspace.mit.edu/handle/1721.1/49525. Don't know if more progress has been made.

t

Tudor Girba

08/31/2020, 7:07 AM

In Glamorous Toolkit, examples play a key role. We went so far as to replace classic tests with examples (a test that returns an object). This leads to a nicer way to compose examples, but most importantly, examples offer concrete objects you can program against. As in our environment every object can present itself through custom views and as these views can also be weaved into larger narratives, the examples also offer a nice infrastructure for documentation purposes. Here is a short article about them:https://medium.com/feenk/an-example-of-example-driven-development-4dea0d995920

h

hamish todd

09/01/2020, 9:12 PM

r

Robin

09/02/2020, 4:20 AM

g

Garth Goldwater

09/04/2020, 11:53 AM

incidentally, some kind of geometric algebra conference popped up on my subscribed youtube feed this morning: https://www.youtube.com/user/EnkiOrigami

h

hamish todd

09/04/2020, 10:27 PM

Yes, it is hoped that that conference will have a significant impact!

g

Garth Goldwater

09/05/2020, 1:23 AM

let me know when the āGA for absolute moronsā lecture comes out and i will become an enthusiastic proponent!

h

hamish todd

09/05/2020, 6:30 PM

View count: 1

Join thread in Slack