Skip to content

shalvah/foister-spec

Repository files navigation

foister-spec

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].

Design Goals

  • 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

Examples

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 

About

[WIP] DSL for working with files on any filesystem

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published