Forester for the Woodland Skeptic

LocalCharts Forest

Mon Feb 19 2024


This is a companion discussion topic for the original entry at https://forest.localcharts.org/lc-0002.xml

Owen Lynch

Mon Feb 19 2024

@mattecapu it’s what you asked for.

Matteo Capucci

Mon Feb 19 2024

Amazing!! Just when I wanted to start with it. Very timely.

(Just a note, my last name is spelled Capucci not Cappuci :P)

EDIT: I’ll log here my experience setting this up

  1. I have to install Nix, the README links to some non-official repo which asks me to run a curl from their private website. Sus. I go to the official one and luckily it works like a charm.
  2. Clone and cd, standard, done.
  3. nix develop “doesn’t exist” apparently, the correct way to invoke that is nix --extra-experimental-features nix-command --extra-experimental-features flakes develop (I’m really perplexed by whomever developing Nix thought this was acceptable UX, but anyway). Thanks to this likewise perplexed user on Nix’s Discourse.
  4. I was too hasty running the above, reading on it says it’s going to install the entirety of TeXLive anew, and I had to run another command to just use the one which is already there (I understand the idea of sandboxed envs but my guess is 99% of users like me don’t really need to sandbox their TexLive installations). I would make this clearer in the README.
    Perhaps I should make a shell script for installing Forest that solve (3) and asks the user explicitly whether they want to go on with the minimal install or not.
  5. Build, serve, done!

Now I’m trying to understand how to create a page… The post says:

Forester is written in .tree files in the trees/ directory. Trees are named namespace-XXXX, where XXXX is a number in base 36 (using digits 0-9 then A-Z), and namespace is typically something like the initials of the person writing.

But under thre trees/ directory in the repo I see folders and loose files alike, so it’s not clear to me where to create my file. I suspect the answer is it doesn’t matter, and I can create my own folder if I want to. So I’ll do that.

Actually, I’m egocentric so first thing I’ll do is create a webpage for myself under authors/. I clone Owen’s page. I edit my name, now under institution I see Owen used [[toposinstitute]] which I guess is a way to link the corresponding page in the institutions/ folder? I’m a bit confused.

Uhm maybe the problem is I didn’t read on in your post. It’s explained later:

Additionally, pages within the same forest can be referenced just by their tag, as in [Home page](lc-0001), or “wikilink style” with [[lc-0001]], which produces a link titled by the title of the referred page, like so: LocalCharts Forest. Note that internal links have a dotted underline. Moreover, on a given page X, one can see all of the other pages that point to X via internal links.

I’m left with some questions the answer to which you might want to add to the original post, Owen:

  1. What is a tag?
  2. What is a taxon?
  3. Am I supposed to generate base 36 numbers to name my pages? What’s the rationale I should be following?

I know the answer to these questions can be found in the original Forest repo, probably, or with enough googling, but I’d like to (help you) make this intro a pretty self-contained starter for LocalCharts Forest.

Anyway, I think now I have enough info to go and write something. See you soon in Berkeley!

Owen Lynch

Mon Feb 19 2024

I added your three things!

Matteo Capucci

Mon Feb 19 2024

So I spend the better part of my LHR-SFO flight writing in Forest… I’m very pleased. Once you get used to some quirks it’s pretty great, I like the transclusion system, and the compiling is so fast. I ended up writing like 10 new pages.

Owen Lynch

Tue Feb 20 2024

You should enable comments on lc-0001 with \meta{comments}{true} to cross-post it to localcharts! Even though it’s just a draft, might inspire others to do similar things!

Matteo Capucci

Tue Feb 20 2024

I didn’t crosspost because I see those more as ‘personal notes’ than a post, but then I might do it anyway if you think it’s a good idea

Owen Lynch

Tue Feb 20 2024

Go for it! I enjoyed reading the notes.

Eigil Rischel

Wed Mar 13 2024

I figure it makes sense to aggregate some meta-discussion of the forest here…

First, it’s a minor thing, but the font for the tags having such similar “O” and “0” symbols is a bit unfortunate:

image.

Second, is there a good convention for trees which are essentially transscripts of existing definitions/theorems/etc, which you want to attribute to the right author?

In a normal document, I would write something like Theorem (Mac Lane, [5]), followed by the theorem. If my theorem has a name, I can put such a reference in the title, something like

\taxon{theorem}
\title{Coherence theorem for monoidal categories ([[saunders-mac-lane]], [[cwt]])}

But this is not going to work very well if my theorem doesn’t have a name.

I can put such a citation in the body of the theorem, of course, but I feel this is going to be awkward if people transclude the theorem statement - they would have to include the bibliographical note as well, which seems clunky.

Of course, I can also write a bibliographical note in the context where I originally put the theorem:

\p{The following theorem is due to [[saunders-mac-lane]], see [[cwt]]}
\transclude{efr-WXYZ.tree}

But I do want the bibliographic information to be easy to find for anyone looking at just the tree efr-WXYZ.tree - in particular, I don’t want anyone to assume I am the original author just because I put \author{eigil-rischel} at the top!

Sophie

Mon Jul 08 2024

@owenlynch, Can you explain the scope of macros? I can probably have my own personal macro file that I include into things?

Owen Lynch

Mon Jul 08 2024

Macros are locally scoped. You only get macros by either defining them in the current tree, or by \import-ing another tree that contains then. So you can definitely have your own macro file; you can even have multiple!

barton ⊛

Wed Jul 31 2024

I am way out of my depth but bravely forging ahead with applying tree-diffusion, Mistral Large 2, mathstral and some other ways of xenoforesting https://tree-diffusion.github.io/

it has worked out to great advantage that now I can do whimsical stuff and imagine a self-growing forest

at the risk of sounding like one of those VHS infomercials, transclusion is a really powerful concept - it had literally fixed me - next adding church2tree and others

forestdb.org

thank you for coming to my TED talk :pray: