Since the concept of fuzziness gained relative recognition in the world of information technology and its applications, there have been many attempts of creating environments that would accommodate fuzzy concepts and – in the case of control systems – also standardization actions. One way to do that is creating fuzzy oriented languages. The majority of the fuzzy oriented programming languages available are domain-specific, so they strongly relate to the purpose for which they have been created. This is why there is a large number of fuzzy programming languages available. This is a synthesis of the fuzzy languages based on their purpose:
FCL (Fuzzy Control Language)
FCL is a simple domain-specific programming language to define a fuzzy inference system created for Fuzzy Control Programming. It is standardized by IEC 61131 part 7 in 2001 (International Electrotechnical Commission).
FPL (Fuzzy Programming Language)
FPL is a programming language developed by Togai InfraLogic (TIL). It is used specifically to implement fuzzy logic systems. FPL has defined fifteen different objects, with rules attached to objects in a hierarchical object structure.
FTL (Fuzzy Technology Language)
FTL is an ASCII description language developed by Intel Corp. and Inform Software Corp. It is also a file format for fuzzy logic systems.
FUZZY is a LISP-embedded programming language developed by LeFaivre (1977) used for the manipulation of fuzzy knowledge.
LPL (Linguistic oriented Programming Language)
LPL is a fuzzified version of PL/I (Programming Language One) developed by Adamo (1978) for combinatorial and syntactic pattern recognition problems.
FSTDS (fuzzy STDS)
It is the fuzzy version of the set-theoretic data structure from Childs (1968). It consists of a simple interpreter, a collection of fuzzy-set operations and a data structure. FSTDS is embedded in FORTRAN so it uses FORTAN control structures.
FSML (Fuzzy System Modeling Language)
FSML is a language defined by Fellinger (1974) for the specification of non-fuzzy objects that may have fuzzy attributes.
FLISP is an extension of LISP for efficient representation and manipulation of fuzzy knowledge, developed using fuzzy sets and fuzzy logic concepts. The next article will cover fuzzy systems and tools to create fuzzy systems.