A multi-paradigm programming language with gradual and duck typing that compiles to PHP, Python, and JavaScript.
Quack is a multi-paradigm programming language that uses gradual and duck typing to provide optional type safety while targeting PHP, Python, and JavaScript. It solves the problem of writing consistent, legible code that can run across different platforms without being locked into a single backend language. The language emphasizes flexibility through its support for functional, imperative, and tacit programming paradigms.
Developers and teams who need to write code that compiles to multiple backend languages (PHP, Python, JavaScript) while maintaining type safety and code clarity. It's particularly useful for those building cross-platform applications or libraries.
Developers choose Quack for its unique combination of gradual typing, duck typing, and multi-paradigm support, which allows for expressive and safe code across different platforms. Its extensibility and metaprogramming features enable creating custom operators and DSLs, offering more control than traditional transpiled languages.
:baby_chick: A multi-paradigm programming language with gradual and duck typing that targets PHP and JS
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Combines gradual and duck typing with strong inference, allowing optional type annotations while maintaining safety, as emphasized in the README's focus on developer flexibility.
Supports functional, imperative, and tacit programming with immutability, enabling developers to mix paradigms for expressive code, as shown in the factorial example using different styles.
Allows creating custom operators, overriding operators, and building DSLs via compiler extensions, making it highly adaptable for domain-specific needs, per the README's metaprogrammable features.
Targets PHP, Python, and JavaScript backends, facilitating code reuse across platforms, with tools like TypeScript .d.ts conversion to ease integration.
The README explicitly states Quack is in early stage, with unstable features like the Python backend and many promised improvements, making it risky for critical projects.
REPL is only compatible with POSIX systems, and Windows support is not yet implemented, hindering adoption in diverse development environments.
Installation requires cloning the repository and manual steps without a packaged installer, as admitted in the 'Get Quack' section with promises for better methods later.
Only Vim syntax support is mentioned, lacking integrations for popular IDEs like VS Code or IntelliJ, which could slow down development and onboarding.