https://github.com/oleks/funtask
FunTask — Functional Programming with Tasks
https://github.com/oleks/funtask
Last synced: about 2 months ago
JSON representation
FunTask — Functional Programming with Tasks
- Host: GitHub
- URL: https://github.com/oleks/funtask
- Owner: oleks
- License: bsd-3-clause
- Created: 2016-05-04T06:55:42.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2016-10-25T12:43:03.000Z (over 8 years ago)
- Last Synced: 2025-02-10T13:44:10.302Z (3 months ago)
- Language: Haskell
- Size: 41 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
#+TITLE: Functional Programming with Tasks
FunTask is a typed, functional command language, intended as an alternative to
contemporary, imperative shells.FunTask draws on ideas from functional programming, to provide a cleaner
programming experience, while retaining a natural command-line interface,
similar to established shells. Although "functional programming" may sound
esoteric, FunTask comes with few changes to fundamental command execution.
Changes are bound to control structures and interprocess communication.FunTask revolves around the notion of an operating system "task". Classically,
a task is either a thread or a process, depending on the extent to which the
task shares system resources with other tasks on the system. The Linux kernel
takes this a step further, and allows varying levels of system resource
sharing.Many kernel security features rely on the notion of a thread, process, or task.
For instance, a task may irrevocably decrease the resource limits for itself
and its children, irrevocably enter a so-called process control group,
temporarily gain capabilities without these capabilities being inheritable by
the task's children, etc.To make dealing with tasks easier, FunTask is not just an interpreter, but also
a compiler. FunTask compiles scripts to fit the operating system task model and
gain a range of execution environment features (e.g., wrt. security) by merely
leveraging the operating system.[[https://raw.githubusercontent.com/oleks/FunTask/master/LICENSE][https://img.shields.io/badge/license-BSD3-blue.svg]]
** Installation
#+BEGIN_SRC sh
stack setup
stack build
stack install
#+END_SRC** Running
If you've added =$HOME/.local/bin= to your =$PATH=, then you can just:
#+BEGIN_SRC sh
FunTask
#+END_SRC