https://futureofcoding.org/ logo
#thinking-together
Title
# thinking-together
a

Arcade Wise

11/09/2023, 1:31 AM
Does anyone know of any systems that let you take the output value on a repl, edit it, and then edit the code so that your edit is true?
p

Personal Dynamic Media

11/09/2023, 1:34 AM
Prolog can create data structures that will make an assertion you provide be true. Within a sufficiently limited world, it might be possible to make those data structures be code of some sort.
a

Arcade Wise

11/09/2023, 1:44 AM
oh interesting! I've played with prolog a little, maybe i'll look further down that data
j

Joshua Horowitz

11/09/2023, 1:53 AM
It’s not clear to me whether “edit the code so that your edit is true” refers to a human editing the code (like a programmer trying to make a unit test pass) or a computer system editing the code automatically. If you’re going for the latter, you might be interested in “output-directed programming” / “bidirectional programming”, as exemplified by https://ravichugh.github.io/sketch-n-sketch/.
a

Arcade Wise

11/09/2023, 2:02 AM
it's the latter, and thank you!
g

guitarvydas

11/09/2023, 2:25 AM
Not sure if this is what you’re asking for... Barliman (Byrd, Rosenblatt) inputs “test results” and tries to infer code that produces those same results. “miniKanren” is a newer Relational Language, kinda like Prolog in intent, except different. https://github.com/webyrd/Barliman . I find the youtube to be impressive (Clojure/conj). hth?
a

Arcade Wise

11/09/2023, 2:27 AM
Oo yeah, that does seem helpful.
i

Ivan Reese

11/09/2023, 3:11 AM
If you want something less text-centric, @Toby Schachman's Apparatus might be of interest. (I'm pretty wildly re-interpreting your inquiry, though, so it might not be of interest. Talking about the output of a REPL implies either a non-live or only slightly live programming environment. Apparatus is an extremely live environment.)
a

Arcade Wise

11/09/2023, 3:40 AM
Yeah, aparatus feels more like the code is the output in a sense?
i

Ivan Reese

11/09/2023, 3:55 AM
Yes, in a sense. Though there is still a distinction between the stuff on the canvas and the stuff in the sidebar. Sidebar stuff is abstracted away from canvas stuff in a similar way that source text is abstracted away from program output.
a

Arvind Thyagarajan

11/09/2023, 3:14 PM
sidebar sidebar: I keep forgetting this wonderfulness exists (apparatus) and I'm thankful every time it reemerges in my view!
e

Eli Mellen

11/10/2023, 4:07 PM
I am probably misunderstanding something, in which case, feel free to relegate me to the depths from whence I came, but, would an image based system support what you are after @Arcade Wise? Or maybe a simpler thing, like a block-based system, e.g. UF for uxn?
a

Arcade Wise

11/11/2023, 1:21 AM
Hm, what do you mean?
j

Jimmy Miller

11/11/2023, 3:49 AM
Not exactly what you are looking for. But you might enjoy

https://youtu.be/er_lLvkklsk?si=vixOP-zGSj-rbVLU

g

guitarvydas

11/11/2023, 11:14 AM
@Jimmy Miller FYI - the code for this is now apparently online.
a

Arcade Wise

11/11/2023, 10:31 PM
oh yeah! I found the barliman paper and code, it's marked as to-be-read in my zotero folder for this :>
s

shalabh

11/13/2023, 5:59 AM
This might be of interest: https://libfive.com/studio/
3 Views