Skip to content

Commit

Permalink
Update ARCHITECTURE.md
Browse files Browse the repository at this point in the history
  • Loading branch information
tchoutri committed Jun 30, 2024
1 parent 03b8e51 commit e466e65
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions doc/ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,20 @@

The CLI is the main interaction point with *confer*.

The idea is to normalise a lot of arguments, and do a maximum of IO
that is not directly related to the business logic of dealing with
symbolic links.

### Symlink Effect

The Symlink effect is the abstraction layer that implements the business logic
and enforces its invariants at all time. It declares the operations that
are performed on symbolic links, and provides two interpreters for them:
* The `FileSystem` interpreter is the *effectful* interpreter that will modify
* The *“IO”* interpreter is the *effectful* interpreter that will modify
your file system.
* The `Pure` interpreter does not modify the file system. It is used when the
user calls the programw with `--dry-run` and will only perform sanity checks
* The *“Pure”* interpreter does not modify the file system.
It is used when the user uses `--dry-run` and will only display what
the program plans to do.

## Lua Runtime

Expand Down

0 comments on commit e466e65

Please sign in to comment.