Anyflo philosophy

Anyflo hilosophy

        Anyflo is a system that I have developed since 1985, I consider my artist's palette. Continually change it is neither stable nor free of bugs, but it includes the latest concepts of synthesis.
        I assume no responsibility for failure of the Software. It is protected by the A. P.P. (Agency for the protection programs) under the number:

APP IDDN.FR.001.090005.004.S.P.1986.000.10000

Downloading is free, its use is free, all source files are accessible. Applications built by the users sent to anyflo.mail @, verified and tested will be back online and available for free.

       The interpreter


       Anyflo is not a dedicated graphic system but a language for rapidly developing graphical applications.
       It consists of::
              An internal language interpreter (near C).
              A graphic module.
              Optionally applications developed by the user.
              As a former teacher in the Art and Technology Image department (ATI), University Paris 8, one of the basic principles is the dual competence (artistic and technical), I assume that users are clever and they themselves prefer to build their own applications (system anyflo moreover contributed to the formation of the first students of ATI in the years 1985-1990).
       A basic knowledge of programming, an understanding of key algorithms computer graphics and interactivity are desirable but not essential (the use of this system may even contribute to their acquisition).
       It is expected that during the evolution of software, more and more files. * C are available in the folder anyflo in order to make a product open source.


       The standard version in English and a French version are available.
       Specific versions of a particular language can be obtained by a semi-automatic translation of files env/*.h and helps env/*.htm with translate.func.
It will be necessary to translate the texts of the *.htm (the words of the language and all references with links are automatically translated).
       Version of "speaking" different languages simultaneously (excluding documentation) is obtained very simply by adding alias to names of some commands in files koma.h and komb.h.
       The only constraint is that all the words of the languages are different.
       The generate message("ttt") command translates ttt in a second language L2 defined by voc2=L2 in file enva.h..
       Once downloaded the latest version of anyflo is free and fully usable on several levels:

The interpreter

Compiling the source code language anyflo generates a pseudo assembler directly interpretable in C, and therefore independent of the system and the machine. This source code can be:
       typed directly after the prompt ? and followed by ENTER
       or be the invocation of a function f (p1, p2, ...). It just be:
              present in memory, by reading a file f.func containing the function (written in any editor not encoding the text), or by writing in the anyflo editor.
              or as the first function of a file with the same name f.func.



       Expressions composed of multiple commands and obeying the syntax of the language can be programs.
       At the most basic level such an expression typed after ? and followed by ENTER is directly interpreted and executed.
       At a more advanced level set of such expressions may constitute functions that will be executed by invoking their names, either directly in the interpreter or in other body functions.
       At a more advanced level functions can be combined in multiple files .func and thus constitute programs of arbitrary complexity (by using directives include).
       At an even more advanced level functions (anyflo written language) can be translated into C and introduced into the soft utilb.c interface.

The objects

       Anyflo objects can be dynamically constructed, altered or destroyed allowing for example evolutionary programming (with genetic algorithms) and / or adaptive (with adaptive neural networks) animations, which allows the realization of interactive installations with these properties.
       Creating an object of type obj and identifier id is written very simply:
       The definition of a property propr with parameters p on such object is written:
propr obj(id)=p;
propr obj(id);
retourne p.
       It can also be specified at the object creation:


Level 0

       Any user, regardless of their skills, can work seamlessly from one application xxx provided or developed by a programmer. He Simply launch the java script file xxx.js.

Level 1

       A user with only basic knowledge of C language can develop itself, in anyflo language, its own applications with the helps, the demos and exemples provided.
       A set of programs written in anyflo may be a system that is given a name, which will be launched by the mention of that name in a java script file.
       All demos were built on this model.

Level 2

       A user with good knowledge of C programming can translate its applications in C and link the software (by editing utilb.c and/or adding new files in the folder anyflo), and then recompiling the changed files and link all objects and libraries in VisualC++), which results in a performance gain of about 5.

Level 3

       To participate in the development of anyflo, the sources must be available, must follow standard protocols, document changes and submit them for validation tests. If successful these changes will be permanently incorporated into the downloadable version.