Skip to content
0:00 / 0:00

#literateprogramming#axiom#commonlisp

Literate Programming in the Large

Next Day Video

68K subscribers • 15 videos on Hallway

YouTube
  • Recommended by 3 people: 3 on Hacker News.
  • A classic. People kept recommending it from 2014 to 2017.
  • Presented by Timothy Daly, co-author of Axiom
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

17K views13 years ago3 recommendations

Programming languagesTools and practiceLisp and ClojureFunctional programmingRefactoring and legacy code

Timothy Daly discusses converting the Axiom computer algebra system into a literate program, arguing that code should be written as readable manuals.

Timothy Daly Axiom is an open source computer algebra system written mostly in Common Lisp. As one of the original authors at IBM Research I wrote a fair amount of code. Later Axiom was sold commercially as a competitor to Mathematica and Maple. When

Why it's here

3 people recommend this

What people say. Recommended for its unique perspective on using literate programming to make large, complex codebases maintainable and understandable.

sparkieon Hacker News • Recommends

On “You Don't Read Code, You Explore It”

I like Tim Daly's viewpoint that we shouldn't just be writing code , but we should write manuals - giving high level overviews of our problems and specifying their implementation details inside the manuals. His talk "Literate Programming in the Large"1 covers why. The example he gives in his talk is the Axiom algebra system2, which was revised to use literate programming style - the source code, with usage examples, is contained entirely within the books. 1: link to this video , sldes: link 2: link

e12eon Hacker News • Recommends

On “Final “STEPS Toward the Reinvention of Programming” Paper [pdf]”

…ng complex systems between humans (which is the main goal here, a computer might be a bit slow compiling 200M LOC - but the real problem is that no human can read that much code, let alone understand it): 1) Write documentation that is also code. That is the idea of literate programming. I recently came across: "Literate Programming in the Large": link to this video which is a bit of a wandering talk, but well worth watching: it talks about real, huge comolex systems, and how lp can help bring them back under control. 2) The other approach is to shift your perspective, so you don't have a complex solution to a compkex problem; but rather a few small and lightly connected straight forward solutions to s…

e12eon Hacker News • Recommends

On “Literate programming: Two beefs with the classic version (2014)”

I found this talk about re-structuring and bringing back to life a 1.2 MLOC lisp codebase with classical LP interesting (it's a bit meandering, but INHO well worth a watch): "Literate Programming in the Large": link to this video The reorganization is still ongoing, as can been seen at: link

e12eon Hacker News • Recommends

On “Literate programming: presenting code in human order”

There's a (somewhat rambling, but interesting) talk on the effort to rewrite the lisp symbolic math system Axioma as a literate program (spanning several books) - precisely in order to make it possible to refactor and maintain the code: "Literate Programming in the Large": link to this video a link

elviejoon Hacker News • Recommends

On “Show HN: Legion, an as-simple-as-possible blockchain server written in Haskell”

"Programs should be written for people to read, and only incidentally for machines to execute." (Structure and Interpretation of Computer Programs" by Abelson and Sussman) The idea is that you write a "Book" and the program is extracted, from the book. Literate Programming Wikipedia: link A nice talk about it: link to this video

dalyon Hacker News • Mentions

On “Ask HN: Why did literate programming not catch on?”

…t visible one is Axiom ( link ) which currently has many thousands of pages with embedded code. I've talked to Knuth. He claims he could not have implemented MMIX without literate programming. Literate programming is really valuable but you only understand that once you really try it. I gave a talk on this subject at the WriteTheDocs conference: link to this video You can write a literate program in any language, for instance, in HTML: link There are some "gold standard" literate programs: "Physically Based Rendering" by Pharr and Humphreys won an academy award. "Lisp in Small Pieces" contains a complete lisp implementation including the interpreter and compiler. The book "Implementing Elliptic Cur…

dalyon Hacker News • Mentions

On “Literate programming: Knuth is doing it wrong (2014)”

…d re-makes the PDF. If you have the PDF open next to your editor it is likely that the PDF viewer will reload the changes immediately. This ensures that (a) your program compiles, (b) your program passes tests, and (c) the PDF builds correctly. I've been working on literate programs for years. See link . I've even given a talk on the subject See link to this video ). I find literate programming to be the MOST important change in programming since I started in 1970.…

dalyon Hacker News • Mentions

On “Axiom – A scientific computation system”

Thanks for the "all the work" complement. Despite all, it is more fun than work. Computer algebra algorithms are basically functions. Axiom is unique in that it organizes the functions based on a group theory scaffold. Thus you can know that certain matrices commute but rectangular ones don't. Algorithms that know how to commute live in the commutative "category" in Axiom. So the game is to distribute LEAN's commutative axioms in their proper place in the group theory inheritance scaffold so they are available when they apply. Axiom arranges the world into "categories" (not category theory stuff) and "domains". The LEAN structure is a third structure (actually fourth but...) built in paralle…