# Caméléon

> visual programming language

**Wikidata**: [Q16632358](https://www.wikidata.org/wiki/Q16632358)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Cameleon_(programming_language))  
**Source**: https://4ort.xyz/entity/cameleon

## Summary
Caméléon is a visual programming language that allows users to create programs graphically. It is also classified as a functional programming language and a workflow language. First developed in 2009, Caméléon is influenced by YAWL and LabVIEW and is a manifestation of a Petri net.

## Key Facts
- **Inception:** 2009
- **Classifications:** Visual programming language, functional programming language, workflow language
- **Programming Paradigm:** Functional programming
- **Influenced By:** YAWL, LabVIEW
- **Typing Discipline:** Supports both static and dynamic typing
- **License:** MIT License
- **Platform:** Cross-platform
- **Latest Version (in source):** 2.0.13 (as of 2014)
- **Underlying Model:** Manifestation of a Petri net
- **File Extensions:** .cm, .pa

## FAQs
### Q: What type of programming language is Caméléon?
A: Caméléon is a multi-paradigm language. It is primarily a visual programming language, meaning programs are constructed graphically, but it also incorporates principles of functional programming and is classified as a workflow language.

### Q: Is Caméléon free to use?
A: Yes, Caméléon is distributed under the MIT License, which is a permissive free and open-source software license. Its source code is publicly available.

### Q: What programming languages or systems influenced Caméléon?
A: Caméléon was influenced by the workflow modeling language YAWL and the visual programming language LabVIEW. Its design is also a manifestation of the Petri net modeling language.

## Why It Matters
Caméléon's significance lies in its hybrid approach to programming, which combines visual, functional, and workflow paradigms. By representing programs graphically as a manifestation of Petri nets, it provides a formal and intuitive way to model complex workflows and concurrent systems. This makes it particularly relevant for tasks involving process modeling and automation.

Its dual support for both static and dynamic typing offers developers flexibility, catering to different project needs and development styles. Being cross-platform, open-source under the MIT license, and built with the Qt framework makes it an accessible tool for a wide range of users and operating systems. By drawing inspiration from both academic workflow models like YAWL and established industrial tools like LabVIEW, Caméléon bridges the gap between theoretical computer science and practical application in system design.

## Notable For
- **Multi-Paradigm Design:** It uniquely integrates three distinct programming paradigms: visual, functional, and workflow.
- **Petri Net Foundation:** The language is a direct manifestation of Petri nets, a mathematical modeling language used for describing distributed systems.
- **Hybrid Typing System:** Caméléon supports both static and dynamic typing, which is an uncommon feature that provides greater flexibility for developers.
- **Academic and Industrial Influences:** Its design is influenced by both the academic workflow language YAWL and the widely-used industrial visual language LabVIEW.

## Body
### Overview and Classification
Caméléon is a visual programming language first created in 2009. It allows users to write programs by manipulating graphical elements rather than text. It is also an instance of a functional programming language and a workflow language.

- **Aliases:** Cameleon
- **Inception:** 2009
- **Programming Paradigm:** Functional programming

### Technical Details
Caméléon is a cross-platform application built using the Qt GUI toolkit. Its design is a manifestation of Petri nets, a formal language for modeling concurrent processes. A notable feature is its support for both static and dynamic typing disciplines.

- **Operating System:** Cross-platform
- **GUI Toolkit:** Qt
- **Typing Discipline:** Static typing, Dynamic typing
- **Underlying Model:** Manifestation of a Petri net
- **File Extensions:** `.cm`, `.pa`

### Development and Distribution
Caméléon is copyrighted software released under the permissive MIT License. The source code is hosted on Framagit, which also serves as its issue tracker.

- **License:** MIT License
- **Latest Version (in source):** 2.0.13 (released in 2014)
- **Official Website:** `https://www.shinoe.org/cameleon/`
- **Source Code Repository:** `https://framagit.org/ocds/Cameleon`
- **Issue Tracker:** `https://framagit.org/ocds/Cameleon/-/issues`