An open API service indexing awesome lists of open source software.

https://github.com/broxus/fift

Rust implementation of the Fift esoteric language
https://github.com/broxus/fift

blockchain everscale fift rust venom-blockchain venom-developer-program venom-tools

Last synced: 6 months ago
JSON representation

Rust implementation of the Fift esoteric language

Awesome Lists containing this project

README

        

# fift   [![crates-io-batch]][crates-io-link] [![docs-badge]][docs-url] [![rust-version-badge]][rust-version-link] [![workflow-badge]][workflow-link]

[crates-io-batch]: https://img.shields.io/crates/v/fift.svg

[crates-io-link]: https://crates.io/crates/fift

[docs-badge]: https://docs.rs/fift/badge.svg

[docs-url]: https://docs.rs/fift

[rust-version-badge]: https://img.shields.io/badge/rustc-1.70+-lightgray.svg

[rust-version-link]: https://blog.rust-lang.org/2023/06/01/Rust-1.70.0.html

[workflow-badge]: https://img.shields.io/github/actions/workflow/status/broxus/fift/master.yml?branch=master

[workflow-link]: https://github.com/broxus/fift/actions?query=workflow%3Amaster

> Status: WIP

## About

Rust implementation of the Fift esoteric language.

## Installation

Compile from source:
```bash
curl https://sh.rustup.rs -sSf | sh
cargo install --locked fift-cli
```

Or install as a binary:
```bash
curl -fsSL https://fift.rs/install | bash
```

## Usage

```
Usage: fift [] [-n] [-i] [-I ] [-L ]

A simple Fift interpreter. Type `bye` to quie, or `words` to get a list of all commands

Positional Arguments:
source_files a list of source files to execute (stdin will be used if
empty)

Options:
-n, --bare do not preload standard preamble file `Fift.fif`
-i, --interactive force interactive mode even if explicit source file names
are indicated
-I, --include sets color-separated library source include path. If not
indicated, $FIFTPATH is used instead
-L, --lib sets an explicit path to the library source file. If not
indicated, a default one will be used
--help display usage information
-v, --version print version information and exit
-s script mode: use first argument as a fift source file and
import remaining arguments as $n
```

## Contributing

We welcome contributions to the project! If you notice any issues or errors, feel free to open an issue or submit a pull request.

## License

* The `fift` and `fift-proc` library crates are licensed under either of
* Apache License, Version 2.0 ([/LICENSE-APACHE](LICENSE-APACHE) or )
* MIT license ([/LICENSE-MIT](LICENSE-MIT) or )

at your option.

* The `fift-cli` and `fift-libs` crates are licensed under
* GNU Lesser General Public License v2.1 ([/cli/LICENSE](./cli/LICENSE) or )