Evergreen is a cross-platform development environment that tries to be lightweight and language-agnostic yet functional. It started as a project to reimplement Rob Pike's Acme editor for Plan 9 in Java, but has since evolved in directions that help it deal with large codebases and multiple projects/branches at once. Remaining similarities include the tiled windows and the Unix-like reliance on external programs rather than reinventing every wheel. The major philosophical differences include strong support for keyboard-based editing, language-specific functionality, and native platform UI conventions. There are also two new guiding principles: accepting regular expressions and output diffs.