Foister is a DSL for working with files. Foister aims to provide a friendly, consistent interface for querying and performing ooerations on files.
This repository contains the language specification for Foister [WIP].
- A single language that should work across platforms and programming languages
- Readable code over terse syntax: A Foister program should be easy to understand with minimal help
- Domain-friendliness: Foister is not a scripting language; rather, it aims to represent the filesystem as its own domain and provide the user with tools for easy manipulation
- Painless file manipulation
Here are a few common file operations, written in Foister:
// Create a file called help.txt
$file = file 'help.txt';
create $file;
move $file to '/tmp';
delete $file;
$tinyDownloads = find files in directory '~/Downloads` where .size < 1000
and .createdAt isBefore TODAY;
$textFile = filter $tinyDownloads where