[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)