Concoct is an imperative, dynamically-typed, interpreted, general-purpose programming language written in C.
🚧 Note: This project is very much a work in progress. The interpreter is not yet functional. Have a look at the roadmap.
For more information about Concoct, please see the wiki.
- A C compiler that supports the C99 standard (Clang, GCC, MinGW, MSVC >=2015)
 - CMake (>=3.1.0)
 - make/gmake (if using Linux/Unix, Cygwin, or MinGW)
 
- 
Install prerequisites: Debian/Ubuntu:
apt-get install cmake gcc git makeCentOS/Fedora/RHEL:
yum install cmake gcc git makeFreeBSD:
pkg install clang cmake git make - 
Obtain the source code via
gitor download a zip archive:git clone https://github.com/Concoctist/concoct.gitOr:
wget https://github.com/Concoctist/concoct/archive/master.zip && unzip master.zip - 
In the top-level directory where
CMakeLists.txtexists, create a build directory:mkdir bld && cd bld - 
Generate the
Makefile(you can alternatively useccmakehere if you prefer):cmake .. - 
Build Concoct:
make - 
There should now be a
concoctexecutable under thebindirectory if the build was successful:$ ./concoct -v Concoct v0.1.0 rev 148 (d976be2) (64-bit Linux) (Debug) built at 00:46 on 01-02-2022 
- 
Install the prerequisite software. This includes Visual Studio >=2015 with the "Desktop development with C++" workload as shown below. The aforementioned workload should include CMake. You can also optionally install Git and add the executable to your path:
 - 
Clone the Concoct source code. This can be done via Visual Studio or by using a git client of your choice:
Or:
 - 
Generate the CMake cache:
 - 
Build Concoct:
 - 
If the build was successful,
concoct.exeshould now exist in your output directory: 
- 
Build image:
podman build -t concoct -f Containerfile - 
Run container:
podman run -it localhost/concoct 
Feel free to submit an issue if you require assistance or would like to make a feature request. You are also welcome to join us on Matrix at https://matrix.concoct.ist/. Any contributions such as build testing, creating bug reports or feature requests, and submitting pull requests are appreciated. Our code style guidelines can be found in the "Coding Convention" section of CONTRIBUTING.md. Please see the fork and pull guide for direction if you are not certain how to submit a pull request.






