Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modeling Reality and Foundations #6

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
.calva/output-window/
.classpath
.clj-kondo/.cache
.clj-kondo/.lock
.clj-kondo/inline-configs
.cpcache
.eastwood
.factorypath
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# Change Log

Follow along here for any changes or updates to the essays.

## [unreleased]

- #5 adds the introduction essay and follows up with edits to the tools, FAQ,
index and project README pages.
19 changes: 12 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,22 @@ Welcome to the Road to Reality!

The Road to Reality is an essay series by me, [Sam
Ritchie](https://samritchie.io). Starting with the basics of Lisp (the
[Clojure](https://clojure.org) programming language, specifically), I'll attempt
to build up all of the tools required to explore and play with gems of modern
physics like variational mechanics and general relativity, taking the time for
interesting side-quests the whole way through.
[Clojure](https://clojure.org) programming language, specifically), we'll build
a modern computer algebra system and use that system to explore and simulate
gems of modern physics like variational mechanics and general relativity.

The essays live at https://reality.mentat.org.
The only way to really learn how a machine works is to build one yourself. By
the time we're through, you'll understand modern physics with the intuitive ease
of a mechanic debugging the drivetrain of a familiar car. You will have _built
the car_, and will be able to drive the car with confidence into the strange
country of quantum mechanics, general relativity, chaos theory and phase space.

The essays live at https://reality.mentat.org. Get started reading at the
[Introduction](https://reality.mentat.org/essays/reality/introduction).

I publish updates on the essays in the ["Road to Reality" Substack
newsletter][substack-url]. Please subscribe at
https://roadtoreality.substack.com!
https://roadtoreality.substack.com.

## How can I help?

Expand Down Expand Up @@ -65,7 +71,6 @@ These essays are successful only to the extent that you feel empowered to edit
and fiddle with them, and maybe even use the tools to explore and learn on your
own.


## Why are you writing these?

My work on this project stemmed from my own frustration at the one-way nature of
Expand Down
2 changes: 1 addition & 1 deletion deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
{:git/sha "4329fa31b75bf26c04bdcc803a52fe642baec56e"}

io.github.mentat-collective/emmy-viewers
{:git/sha "3297ff0dae061d6b16a75a50eea48e69bc4750f7"
{:git/sha "0ae1d00133cc49fcd6a32363abaf3cf0c7a71f06"
;; This is required because Clerk specifies SCI using a
;; git dependency and `clojure` can't resolve the
;; conflict.
Expand Down
32 changes: 32 additions & 0 deletions essays/reality/foundations.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
^{:nextjournal.clerk/visibility {:code :hide}}
(ns reality.foundations
{:nextjournal.clerk/toc true})

;; ## Foundations, Lisp, Clojure

;; I want to talk about starting at the floor for a system like this. There are
;; various floors you can start at. These are called __axioms__ in formal
;; systems.

;; We're going to use Clojure, a Lisp, since it gives us a partner that can
;; execute statements that we write down. Unlike other books or series, we are
;; going to build... well, not quite everything, but we are going to start with
;; Lisp and go up from there. I'll try and call out places where we cheat.

;; You can start from different axioms! You can start from boolean algebra, and
;; work your way up from there.

;; You can start with sets, and the axioms behind set theory, and build your way up
;; from there.

;; But this is going to get us where we need to go. We are going to take this
;; language as our "raw ingredients" and do a plausible take on a system that can
;; pretend to be various classical bodies; then pretend to be an evolving wave
;; function, and finally the evolution of the spacetime fabric of the universe.

;; If we do this well, the thing we build along the way will be a tool that you
;; can use to think through your own questions computationally.

;; Clojure overview, how evaluation works, plus the basic data structures and
;; some of the core library. NOTE ON THIS from Jack: probably don't do this,
;; point people but note that we are going to build as we go.
39 changes: 28 additions & 11 deletions essays/reality/index.clj
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,42 @@
{:code :hide}}
(ns reality.index
{:nextjournal.clerk/toc true}
(:refer-clojure :exclude [+])
(:require [emmy.env :refer :all]))
(:require [reality.viewer :as rv]
[nextjournal.clerk :as clerk]))

;; # Road to Reality Essays

;; Welcome to the Road to Reality!

;; The Road to Reality is an essay series by me, [Sam
;; Ritchie](https://samritchie.io). Starting with the basics of Lisp (the
;; [Clojure](https://clojure.org) programming language, specifically), I'll attempt
;; to build up all of the tools required to explore and play with gems of modern
;; physics like variational mechanics and general relativity, taking the time for
;; interesting side-quests the whole way through.
;; Ritchie](https://samritchie.io). The essays live at
;; [reality.mentat.org](https://reality.mentat.org).

;; The essays live at https://reality.mentat.org.
;; Get started at the [Introduction](essays/reality/introduction).

;; I publish updates on the essays in the ["Road to Reality" Substack
;; newsletter](https://roadtoreality.substack.com). Please subscribe at
;; https://roadtoreality.substack.com!
;; Over the course of the series, you are going to build a workshop full of the
;; tools required to create and explore simulated worlds that behave like our
;; most advanced models of reality.

;; Each tool in the workshop will take the form of a program written in the Lisp
;; programming language[^clojure].

;; [^clojure]: More precisely, in a dialect of Lisp called
;; [Clojure](https://clojure.org/).

;; The only way to really learn how a machine works is to build one yourself. By
;; the time we're through, you'll understand modern physics with the intuitive ease
;; of a mechanic debugging the drivetrain of a familiar car. You will have _built
;; the car_, and will be able to drive the car with confidence into the strange
;; country of quantum mechanics, general relativity, chaos theory and phase space.
;;


;; I publish updates on the essays at the ["Road to Reality" Substack
;; newsletter](https://roadtoreality.substack.com). Please subscribe:

^{::clerk/visibility {:code :hide}}
(rv/substack)
;;
;; ## Essay Index
;;
Expand Down
8 changes: 0 additions & 8 deletions essays/reality/introduction.clj

This file was deleted.

Loading