F.E.L.T.

Functionally Equivalent Language Translation

Installing FELT on your platform.

Whilst the information contained herein aims to be as up to date and as accurate as possible it cannot possibly cover all of the different variations in OS and hardware that people use. FELT was developed on Linux with Emacs and a host of very very useful open source tools for code preparation, documentation etc. Whilst every endeavour has been made to take into account cross platform differences here and there, you will appreciate that, for now at least, FELT is the work of one person in his own time and therefore you may find what you consider to be "holes" in the documentation set. If that is that case then please do not hesitate to contact me via the site, stating your issues, and I will attempt to address them in a way that benefits as many other people at the same time.

This means that I may not answer your question personally but may produce some new feature / option / documentation etc. and then make it available on the site. I will however always respond to your email personally.

As I have now mentioned, I am a Linux addict however I am also fortunate to own a Mac which means that I am aware of what is required to get it working on that platform as well. It is Unix but there are differences. As for Windows... I don't use it professionally or personally but I will cover that as well as it seems only fair to include it as well for completeness but I will only be able to give you a high level guide and how to get it up and running, for which I recommend that you either install:

I can personally recommend that latter; I have implemented many Drupal sites on Windows solutions using it and I can think of no better way to get FELT up and running on a Windows box.

PHP Version Requirements

I have aimed the minimum level of PHP required to run felt as 5.2. This means that older hosting accounts that have not yet upgraded to 5.3 shouldn't be a problem. The current site is hosted on a PHP 5.2 server, specifically:

PHP 5.2.17 (cli) (built: Aug 13 2012 21:45:44)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
    with the ionCube PHP Loader v4.2.2, Copyright (c) 2002-2012, by ionCube Ltd., and
    with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies

I deliberately chose it to be this way so that the barrier to uptake was as low as possible. I had originally used PHP 5.3 anonymous functions and the ability to use func_get_args() as a parameter to other functions but I then reworked it so that using the (DEFUN*) instruction now generates a unique function name; all such functions are eventually appended to the current translation session in the post-render phase of the coder back end.

There are also some other differences that caught me out between 5.2 and 5.3, for instance the fact that the strstr() function in 5.3 has the "before needle" option but not in 5.2. I had originally used that when slicing up the phpinfo() output. Fortunately for me I am Zend certified so these things are never far from my mind and it was only a matter of time before FELT was sailing on an even keel on the chosen deployment version of 5.2!

CLI or Web ?

Initially you need to follow the instructions for CLI usage as they are core to getting FELT working in the first place. Once you have a working command line installation then you know that FELT is alive and well. From there you just need to visit the instructions for Web development if you plan to use FELT to deploy a PHP server project.

This site is powered by FELT/PHP which I chose to do as a proof of concept. I was initially going to use Drupal but figured creating my own site with FELT would be good for the soul as well as making FELT actually good enough to do the business as they say.