You are viewing archived messages.
Go here to search the history.

Nilesh Trivedi 2023-09-04 08:56:36

Is there a visual programming environment that implements lambda calculus (either untyped or simply typed)?

William Taysom 2023-09-04 16:21:00

Not specifically, but in my experience a natural way to introduce the lambda calculus visually is via templating. Starting with some diagram (essentially equivalent to an expression tree), let the person pull out some part of it leaving a whole. So from

here we go round the mulberry bush

we can go to:

(here we go round _) (the mulberry bush)

As soon as you try to pull something else out, you see the ambiguity:

(here _ go round _) (the mulberry bush) (we)

In text we use lambdas and variables to order how the blanks get filled in

(\ _what_ _who_ . here _who_ go round _what_ _what_ _what_) (the mulberry bush) (we)

and so on.

Immediately, I think of three things that are — um, off — about conventional notation:

  • (\ variable . expression) value quickly puts a lot of space between variable and value .
  • Being able to repeat a variable is so easy to do with text, that you can easily fail to realize how significant an operation it is.
  • Likewise, the between f (g h) and (f g) h much bigger than the notation suggests.

So it certainly would be neat to see a spacial lambda calculus that specifically addresses these problems.

Kartik Agaram 2023-09-04 16:35:51

Would either lamdu.org or hazel.org qualify?

(I think this question would be fine to post on #thinking-together.)

Jimmy Miller 2023-09-04 19:00:48

Here's a paper on a lambda calculus based formalism for visual programs. (Haven't read it)

citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=ca25ecf69726cde7e4e735fbc9a6805daa4ca9df

Jimmy Miller 2023-09-04 19:07:25

Also, not what you are looking for, but if you want to do some proofs in the simply typed lambda calculus, there is incredible.pm

(A super fun way of doing proofs)

Nilesh Trivedi 2023-09-07 14:25:14

Came across inet.run today on HN.

Had never heard of Interaction nets before: en.wikipedia.org/wiki/Interaction_nets

Nilesh Trivedi 2023-09-07 14:25:14

Came across inet.run today on HN.

Had never heard of Interaction nets before: en.wikipedia.org/wiki/Interaction_nets

Yair Chuchem 2023-09-07 08:11:49

Before coming back to working on Lamdu after a few months break, I had to first start making this game:

soul-arithmetic.pages.dev

Took the opportunity to use modern tools like Svelte, GitHub Copilot and Stable Diffusion for the first time which makes for a good reference for what FoC will need to improve on 🙂

Feedback most welcome..

Gabriel Grinberg 2023-09-07 12:15:34

awesome! trying it now 🙂

small UX improvement suggestion: move the score hints away from the submit button, took me a few seconds to understand it's the button itself

smt 2023-09-08 00:25:16

Hey, I just got rejected from the Recurse Center for the second time, after really hoping I would get to attend. Does anyone have any suggestions for other programs or anything else I might be interested in? Ideally it's something about doing computer stuff with computer people, I don't need to get paid, and I would pay. If anyone knows of any programs or projects looking for free help from someone experienced, please let me know.

Kartik Agaram 2023-09-08 01:09:45

TrainJam feels like it could be in this vein!

Yair Chuchem 2023-09-08 07:17:25

Regarding projects looking for free help: Lamdu!

Feel free to contact me :)

Jack Rusher 2023-09-08 13:47:30

Any sub-topic of FoC interesting for you in particular?

smt 2023-09-08 14:26:42

These days i’m interested in lower level things like compilers, loaders, linkers, operating systems, programming languages, assembly code. Machine learning and neural networks are another interest. Anything related to digital audio is interesting for me but I have very little experience

Ideally I’d like to meet with people in person, Im working for myself since 2018 and just super lonely, I was really hoping for the come into Recurse Center every day for 3 months aspect and I am willing to travel to other people. I am located in the Bay Area though so maybe I’m already close to many of you

Eli Mellen 2023-09-09 22:53:28

What thinkers or groups not related to mathematics or computer science most influence your thinking about programming and computers?

Eli Mellen 2023-09-09 22:57:04

Foucault’s thinking on power and politics manifest in a lot of how I approach designing systems, and programming.

Different, I also find that descriptions of surface area, and edges from permaculture design show up in my head a lot.

I always imagine functions in pipelines like characters in a book by Djuna Barnes or Virginia Woolf.

Eli Mellen 2023-09-09 23:00:52

Also, whenever I post stuff like this I can’t decide if it’s a better fit for #thinking-together, here, or just shutting up 😂

Feel free to let me know which among those is the correct choice.

Kartik Agaram 2023-09-09 23:18:28

Getting in Christopher Alexander before anyone else.

(I think this would be a fine topic for #thinking-together!)

Paul Tarvydas 2023-09-10 01:08:29

The Sleepwalkers - Arthur Koestler (esp. the word “epicycles”)

The Design of Everyday Things - Norman (UX, horribly ignored in today’s software)

Consciousness Explained, & Darwin’s Dangerous Idea - Daniel Dennett

Marcelle Rusu (they/them) 2023-09-10 04:09:32

My partner is fairly involved in city planning via cycling advocacy, city planning’s recent history is very interesting in how specifically large parts of our society took a turn for the worst with car centric design.

But what’s interesting to me is:

They are in a similar position of trying to propose advancements to a very stubborn social group. Notably, while you can make endless factual moral claims about how cycling & walking can help prevent climate change, the effective strategy is to factually point out that walkable, bikable & transit friendly cities are just a much better way to live - see “not just bikes” on YouTube. — easy sells better than simple.

Being stuck in 1 paradigm (driving is the best mode of transportation for all tasks) is ~really~ harmful & generally makes things worse for everyone. You need a bunch of good ideas (walking, biking, driving, bus, train, etc) that have their optimized spots in the city & sane ways to work within & between each mode.

Konrad Hinsen 2023-09-10 06:18:52

Following up on @Eli Mellen's reference to Foucault: anarchism. I don't consider myself an anarchist because I don't believe in anarchism as a universally valid/possible/desirable approach to governance. But looking at today's world, I believe we need more anarchism (for various reasons I won't go into here and now).

Konrad Hinsen 2023-09-10 06:21:37

Another one: the citizen science movement. I think we also need a "citizen computing" movement, with the long-term goal of replacing the current two strata (tech experts and "mere" users) by a continuum in which many different levels of expertise co-exist and where there are clear paths for everyone to increase their level of expertise if they are motivated to do so.

Jack Rusher 2023-09-10 14:23:05

Things that teach “what it is to be a human being” also teach us useful things about constructing software (or any other tool/affordance, especially when building in collaboration with others): history, philosophy, anthropology, ethnomethodology, &c. Note that some lessons in this category are best transmitted by literature, theatre, poetry.

A parallel: in medical literature one eventually notices that almost every ailment or complaint is improved by making the organism more healthy (diet, exercise, sleep, &c). In the same sense, everything one does to become a more compete person improves outcomes over a wide field of potential activities.