[HN Gopher] Symbolic Programming with Clojure [pdf] ___________________________________________________________________ Symbolic Programming with Clojure [pdf] Author : cpp_frog Score : 126 points Date : 2023-02-25 14:24 UTC (8 hours ago) (HTM) web link (www.cs.utexas.edu) (TXT) w3m dump (www.cs.utexas.edu) | gardenfelder wrote: | Links to a blog which links to a ClojureAtScale youtube: | | https://www.youtube.com/watch?v=av9Xi6CNqq4 | Conscat wrote: | _Problem: Given known variable values, find appropriate physics | equations and solve them to find a desired variable value. | | * Ordinary programming: 5 person-years by two PhD students; | 25,000 lines of C++. | | * Symbolic Programming: 200 lines, a few days._ | | Where do you even begin decompressing a claim like this? | eddsh1994 wrote: | Their PhD was in crappy programming, I assume | uonpopular_th wrote: | Yes, C++. | PaulHoule wrote: | Norvig's _Paradigms of Artificial Intelligence Programming_ has | a nice little Common Lisp program that parses word problems and | converts them to a system of equations which it proceeds to | solve. | | It's got numerous limitations but it is definitely a small | program. | jonahbenton wrote: | Needs a timeframe and context. Back in the, say, 1990s or maybe | even early 2000s, when the modern world was just forming and | the only languages students would work in were C and C++, maybe | with some Bash and Perl on the side, 25k lines is a reasonable | estimate for a brand new symbolic engine- a thing that in | imperative languages didn't exist- with some element of typical | PhD edge case over-engineering. | | 25k lines in fact could be considered small for that sort of | C++ engine. | | But it would have been reasonable at the time to explore the | type system around such a thing and produce a PhD (or a couple | of PhDs) from it over a period of a few years. | | Of course even at that time there was prior art in the Lisp | world, but after the AI winter 1980s no students were going to | work in Lisp. C++ was where the jobs were going to be. | uonpopular_th wrote: | >Needs a timeframe and context. Back in the, say, 1990s or | maybe even early 2000s, when the modern world was just | forming and the only languages students would work in were C | and C++, maybe with some Bash and Perl on the side, 25k lines | is a reasonable estimate for a brand new symbolic engine- a | thing that in imperative languages didn't exist- with some | element of typical PhD edge case over-engineering. | | The modern world was very much formed by the 90s. | Mathematica, Axiom, Maple, etc were all mature software | written a decade or more ago. What people were doing wasn't | writing a CAS from scratch but writing one that could slot | into whatever program they needed at the time, e.g. chaotic | simulation of the solar system: https://en.wikipedia.org/wiki | /Structure_and_Interpretation_o... | uonpopular_th wrote: | >Where do you even begin decompressing a claim like this? | | Start writing the code and see where it takes you. Having done | that type of work in grad school I moved from C++ to Guile for | exploratory work for that very reason. | | I then rewrote the slow bits in C as custom functions much like | how you would in Python. | ethanzh wrote: | I was never able to fit this class into my schedule at UT, thanks | for posting ___________________________________________________________________ (page generated 2023-02-25 23:00 UTC)