Home

Awesome

<div align="center"> <img src="Resources/Branding/logo.png" /> <br/> <b>An experimental programming language</b> <br/> <br/> <a href="https://github.com/FreakC-Foundation/FreakC/blob/master/LICENSE.md"><img src="https://img.shields.io/badge/license-GPLv3-blue.svg"/></a> <a href="https://github.com/FreakC-Foundation/FreakC/search?l=batchfile"><img alt="language" src="https://img.shields.io/badge/language-Batchfile-purple.svg"></a> <a href="https://github.com/FreakC-Foundation/FreakC/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/FreakC-Foundation/FreakC?color=gold"></a> <a href="https://github.com/FreakC-Foundation/FreakC/blob/master/.github/CONTRIBUTING.md"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg"></a> <a href="https://discord.gg/eNwqK4APsD"><img src="https://img.shields.io/discord/845855288245878784.svg"/></a> <img alt="Windows" src="https://img.shields.io/static/v1?label=&message=Windows&color=0078D6&logo=Windows"> </div>

Note

I have taken a little break from FreakC and Batch coding as a whole, I might do a rewrite for FreakC in the future when I'm free.

Other than that, I'm working on JeChain, check it out if you are interested!

<br/>

<a href="https://github.com/nguyenphuminh/JeChain"><img src="https://github-readme-stats.vercel.app/api/pin/?username=nguyenphuminh&repo=JeChain"/></a>

<br/>

What is FreakC ?

print[] Hello, World.

FreakC is a nice, little, multi-paradigm programming language, which looks like Batch, compiles to Batch and is written in Batch as well. It is mainly built to be an experimental project with the idea of creating a programming language in such a limited language like Batch, but then it turns out that FreakC has added a little bit of features to Batch that might come in handy for some Batch developers. Batch's commands should work with FreakC most of the time, however, there are some quirks you should consider checking out which I have mentioned in the next part of this document.

And yes, this is not a C dialect, it's more like C in ArnoldC.

Language preview

Hello World:

print[] Hello, World!

Function definition:

function[] SayHello
    print[] Hello
endfunc[]

:: Calling "SayHello" function, printing out "Hello"
SayHello[..]

:: This will also work, because Batch's commands work in FreakC:
call SayHello

Class-based object-oriented programming:

:: Create a class called "Dog"
class[] Dog
    :: Init method
    method[] init
        var[] $this.age=%~2
        var[] $this.weight=%~3
    endmethod[]
	
    method[] BeingCute
        print[] *Being cute*
    endmethod[]
endclass[]

FreakC's commands end with [] or a special operator to indicate that it's FreakC code, so it doesn't cause confusion with Batch codes in your code.

More samples Join the small community on Discord!!!

Switching from Batch to FreakC

While FreakC is compatible with Batch, but it's not 100% compatible, you just need to replace all ! with ^!, ^^! with ^^^^^! (the second one is only required in enabled delayed expansion). If you use codes that depends on blank lines, then just change them to the ! character to create a blank line entirely, or just use Batch's ^.

FreakC's added features compared to Batch

There are still more! Get started now!

Stuffs you would expect from a scripting language

Should you use FreakC?

Todos

What comes with the devkit ?

Language resources

Frameworks and libraries

Official FreakC's frameworks

Cool Batch frameworks/libraries

Batch game frameworks

There are many existing game engines for Batch/FreakC:

Contribute

We would love to have you as a contributor! Please consider checking out contribution guidelines first!

Support the project!

If you like FreakC, it would be great if you leave a star here ❤️. I'd love if you follow me as well 😘.

To push the project's development faster, I'd love if you buy me a coffee by sending me some cryptos into my BEP-20 wallet: 0x1848Ba922d6eD66D4910176998fF4fa77AEb82D5

Sponsors

Resources

Languages based on FreakC

I've created this tiny language for Vietnamese using the FreakC's codebase:

Contributors

Repo's contributors

<a href="https://github.com/FreakC-Foundation/FreakC/graphs/contributors"> <img src="https://contrib.rocks/image?repo=FreakC-Foundation/FreakC" /> </a>

Copyrights and License

Copyright © 2020-2021 Nguyen Phu Minh published under the GPLv3 License