ːᴄᴘʟ - The ːᴄᴏɴꜱᴛʀᴜᴄᴛ Programming Language
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



           ~ puls:r presents ~
   _____  ________   ________   __
  /    / /       /| /       /| / /|
 /____/ /_______/ //_______/ |/_/ |
 \   /  |  _____|/ |  ___  | || | |
  \ / \ | | |_____ | |/__| | /| | |_____
   X   \| | /    /||  _____|/ | | /    /|
  / \  /| |/____/ /| | /      | |/____/ /
 /___\/ |_______|/ |_|/       |_______|/
 ~ The :construct Programming Language ~
         ~ Erlang / Python / C ~
  • A functional programming language based on Erlang
  • Compiler and reference implementation in Python
  • Optimized Virtual Machines for all Platforms in C (and ASM)


:cpl is a all-new project devoted to the Demoscene. It's goal is to provide a programming language and runtime system specifically designed for Demos, i.e. non-interactive multimedia presentations on computers. Furthermore, :cpl is compiled to byte-code which runs in its own virtual machine - this means that Demos written in :cpl can theoretically run on any platform for which the VM can be implemented. Needles to say, this is a completely new but yet promising approach; we will see how far it can get.

The Name

:cpl stands for :construct programming language. It is normally written using a triangular colon and small caps. In its ASCII representation, a regular colon and lower case letters are used instead, to maintain the type face. Whenever a colon cannot be used (folder names, URLs, etc.) the name is spelled in uppercase, as an exception.

:construct, on the other hand, is the brand of a (planned) Demotool which incorporates :cpl in a visual programming environment. All elements and building blocks seen in :construct ultimately render to :cpl code which is executed within the :cpl virtual machine. While :cpl is open source, :construct will be kept closed source, but will be released as freeware once the first version is completed.

Also other parts might get factored out as freeware later (e.g. the software synthesizer). Sharing functions and modules in either binary or source form for any platform is particularly easy with :cpl due to its design.

The "Team"

The demogroup puls:r is currently a one-man show or one-man army represented by its founder p2k. I consider it an open group for collaborative releases under one name.

If you're a highly motivated coder/musician/graphic designer who wants to go this long way from zero to the tops together with me, feel free to contact. If you can show some commitment, you're in. An amazing time might just lie ahead of us.

Of course, you can also fork the repository on GitHub and contribute openly at any time. Your name will be shown in the credits if you can add some valuable bits to this software.

For the reference, I also have created a group entry on pouet.net.


This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.


Created and copyright by p2k of puls:r in 2011.