Skip to content

Commit

Permalink
README: adding 'meaning' section to suggest definitions for 'Foi'
Browse files Browse the repository at this point in the history
  • Loading branch information
getify committed Nov 17, 2023
1 parent 4fa1063 commit 693c50b
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ defn getFavoriteMovies(userID) ^(IO ~<< {
getFavoriteMovies(123).run(document)
```

### TL;DR
## TL;DR

If you're already convinced and ready to jump in, you may want to check these out next:

Expand All @@ -65,6 +65,18 @@ The *right*&trade; things should be intuitive, the *risky* things should be appa

**Foi** is a language you write for other humans to read first. It's only a secondary benefit that the computer can understand the code and execute the desired operations.

## Meaning

What does the name **Foi** mean?

First of all, [take your pick of meanings](https://en.wiktionary.org/wiki/foi) from various human languages. I personally like "faith" / "belief" (French).

It also might be an acronym: *F*unctional *O*n *I*mperative.

If you're more poetic, it could mean: *F*reedom *O*f... *I*dentity (or: *I*magination, *I*mpact, *I*nspiration, *I*nterest, *I*ntent, *I*llustration, etc etc). Or, maybe *F*uture *O*f ...

Ultimately, **Foi** means whatever you need it to mean.

## Design Philosophy

**Foi** aims to be a novel mix of a variety of syntactic styles and ideas from various languages. One primary goal is for **Foi** features to have internal consistency with each other, built on self-evident (as much as possible!) semantics and mental models. As such, there will be parts of **Foi** that should look familiar and other parts that may feel quite unfamiliar at first.
Expand Down

0 comments on commit 693c50b

Please sign in to comment.