hi everyone, im Gonzalo from Venezuela, im a hobbist/programmer i like old fashion c and lisp stuff, i hope to learn interesting topics fron you guys
Hey Gonzalo, welcome! Fellow (hobbyist) Lisper here
hi Alesio, i like to make a bunch of weird/silly question
im a little curious about something: the meaning of “goal” in a program, is something you can see directly, in the args perhaps? or is something you can construct after yo see the code o its behavior.
i have an idea of a kind of interpreter coded in ansi c and i want to explore this concept of goal. in lisp we abstract everything to the minimum and there are certain aspects that desappear in the process, there are some people that uses tau calculus in formalization to retain aspects in time, but to me that implies to use always a kind of database, well i you have a point of view over this let me know, cheers
Hi Gonzalo, sorry, I missed your reply. It’s not clear to me what kind of “goal” you’re talking about, is this about conveying information to the (human) reader of the code so that the intent of the programmer is communicated with sufficient accuracy?
yes, is exactly my point, knowledge representation and language processing, you can express what the function does, but you can tell why unless you can make natural language processing,
william bird did a very interesting work with barliman and minikanren and i think its very important
Well in my experience a great tool in making the goal of code more apparent to humans and more processable by machine is to move the code to an increasingly high level of abstraction so that it’s as close as possible to the application domain. In Lisp you use macros for this, in MPS for example you define high-level, domain-specific concepts that you then transform into lower-level code, and editors for those concepts that replicate as much as possible the (formal or informal) notation used by domain experts. However, this is no simple task, as you can write macros, or concepts, that only add complexity without stating the problem in a more declarative fashion, rather than procedural or functional or logical.
so true, its not a simple task at all, but i think that will be necessary
to describe processes with certain levels of details
in order to fill contexts for programmers and later achieve true artificial intelligence, not only machine learning like todays apps.