The Function Chaining Language

Fcl Project

The Fcl Project have a serious motive to make a scripting and simple "programming" available to everyone. To do this we created Fcl, or Function Chaining Language. Fcl is fully library based, and do not alter the core scripting or programming language it is compiled into. Instead Fcl itself is an High Level Abstraction that remove heavy logic, by replacing it with cleverly designed Higer Order Function calls, that create the Function Chain.

Project Structure

The Fcl Project is seperated into diffirent categories. Specified by a uniqe peice that makes Fcl work. This order is important, because we defined the Standard that Fcl works upon.

Category Type Description
fcl-c Interpetor and Compiler fcl-c is the core that makes fcl able to be compiled and interpetated into serval languages.
fcl-i/e Interpetor Should be identical, or evolution of the interpeter in fcl-c.
fcl-pde Development Envoriment FCL-PDE is the Official Development Envoriment for FCL. This is not needed for individuals who wish to use FCL as a CLI tool only.
fcl.std.py FCL Python Standard Library FCL Libraries are located, hidden in user home directory as ".fcl/"
fcl-mir Mirror Contains Mirror Source code, and scheduler.
fclang.org Website This website and available content, written or other formats.

Contributers

While Fcl can be an advanced project, alot of things in Fcl is widely available. This makes Fcl a viable project regardless of knowledge. We therefore encourage newer developers to join our project if they so desire.

Developer Standards

To make Fcl it's important with standard. We set this standard for ourself and for our project to stand the test of time. By enforcing standard on ourself, we develop, we get better at our craft. We find better ways to do things. And this in return allows Fcl to stand against the test of time.

When speaking about developer standards. We do not attempt to enforce them at the higest levels. As ideas might be valuable. We do however ask that our contributors hold themself, as much as possible within these rules:

  1. Each line is at maximume 80 character long.
  2. Library Functions are made as small as possible.
  3. Avoid the use of Regex as much as possible.
  4. Call existing functions inside your own instead of writing it again.

While writing in libraries, we use special comment delimitors to parse out Library Manuals. We therefore require that comments are properly used. However, every human does mistakes and that is what we are.

Python:

#hfc asc
### description text.
### Supports HTML and serval lines.
### 
##fc##
def asc(i):
    return "Asc"
##!fc##

C, Js, PHP Example:

//hfc asc
/// description text.
/// Supports HTML and serval lines.
/// 
//fc//
function asc(i){
    return "Asc"
}
//!fc//

Maintainer Account

What exactly is a maintainer? Maintainer's at fclang often have deeper knowledge, their role is to aid contributers. Update and rigriously test the downstream libraries. Maintainers also have deeper access into the fclang systems. In other words, a maintainer is heavily invested into the Fcl Project.

Contributer Account

What exactly is a contributer? Contributers are individuals or groups that tinker with fclang, they often contribute code and ideas. These contributions are highly valueable for a project such as fclang, even if ideas or code doesen't always get included in the libraries, they provide perspective and things to strive towards.