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