Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Z-Shang/LICPP
Lisp Flavoured C++
https://github.com/Z-Shang/LICPP
cplusplus cpp headers lisp
Last synced: 3 months ago
JSON representation
Lisp Flavoured C++
- Host: GitHub
- URL: https://github.com/Z-Shang/LICPP
- Owner: Z-Shang
- License: agpl-3.0
- Created: 2018-02-26T16:05:32.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2021-03-12T00:41:02.000Z (almost 4 years ago)
- Last Synced: 2024-08-02T01:25:36.863Z (6 months ago)
- Topics: cplusplus, cpp, headers, lisp
- Language: C++
- Size: 15.3 MB
- Stars: 29
- Watchers: 6
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
> # *C++! THIS IS THE LAST OF MY PARENTHESES! TAKE IT FROM MEEEEEEE!*
# LICPP
[![AGPLv3 license](https://img.shields.io/badge/License-AGPLv3-blue.svg)](http://perso.crans.org/besson/LICENSE.html)
[![Open Source Love svg2](https://badges.frapsoft.com/os/v2/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/)[![Made with Secret Alien Technology](https://img.shields.io/badge/Made%20with-Secret%20Alien%20Technology-green.svg?longCache=true&style=for-the-badge&colorB=82ce82)](https://common-lisp.net/)
[![Knights of the Lambda Calculus](https://img.shields.io/badge/Knights%20of-the%20lambda%20Calculus-brightgreen.svg?longCache=true&style=for-the-badge)](http://catb.org/jargon/html/K/Knights-of-the-Lambda-Calculus.html)
A Lisp Flavoured C++
An Visual Studio specified version is in the branch `ms`, licensed under MIT.
## About
A tiny library that implements some basic Lisp (mainly Common Lisp) utilities as a DSL, currently just a toy, beware of dirty hacks and low performance.This has been tested with Clang 9.0, GCC 7.1, and Visual Studio Community 2017.
## Usage
At least C++ 14 is required.You may expect everything to work similarly to what you know in Common Lisp (although there will be limitation because of the differences between C++ and Lisp).
For the details of symbols defined in LICPP, check out [SYMBOLS.md](SYMBOLS.md).
If you want some extra features, please use the latest version of GCC with the flags mentioned below:
- Type Constraints, enable with flag `-fconcepts` (GCC only)
## Note
`tlist` stands for the type `List` which does not have an equivalance in Common Lisp, you may think this is `(type t) => [t]` in Haskell.## Contributing
All functions should be (preferably) implemented in the same way as its corresponding definition in [CLHS](http://www.lispworks.com/documentation/lw70/CLHS/Front/X_AllSym.htm).## License
AGPLv3+