0xRobert / standardlib

A complete standardlib for c for once

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

standardlib

Finally, an actually usable and maximally efficient C standard library to make C as easy (or easier) than other languages

Documentation link

Alt text

C Standardlib (Github link) docs: (Docs here)

Features:

  • →Zero Overhead
  • →Static Inline Functions
  • →No macros or #defines
  • →No namespace pollution - you can generate your own version with any prefix you like! (and you will own the copyrights for this version)
  • →Relies minimally on C libraries
  • Very small - 5K Lines of Code
  • →No Linkage Issues or dependency hell
  • →Thoroughly Tested - 0 warnings or errors or memory leaks in Valgrind
  • →Good documentation
  • → Free and open source - no licensing restrictions whatsoever
  • →Makes C like Python or Perl or Ruby - or more easy

What is this? Let me elaborate:

Functional Programming Features - map, reduce, filter, List Comprehensions in C and much more!

Expands C's Primitives for easy manipulation of types such as FrozenDict, Set, FrozenSet, FrozenDict, Arrays, and Strings, and provides easy manipulation, modification, alteration and duplication of these at a very comfortable level - something very, very rare in C or C++, all without any overhead.

More comfortable IO - read and write entire files with ease, and convert complex types into strings or print them on the screen with ease.

Powerful array operations like transform() help to deal with complex problems and programming challenges like dealing with matrices.

A powerful general purpose standard library has anything and everything you need - from find_last_of() to count_vowels() to list_comprehension() to shellescape() to read_file() to string_to_json() to string_to_uppercase() to to_title_case() to map() to reduce() to filter() to list_comprehension() to frozen_dict_new_instance() - everything you would want to make quick and optimally efficient C programs, this has it. And all without the overhead of external linkage - the code will be inlined and will be quicker than anything else.

Helps to make programs hundreds of times faster than other languages with similar ease of creation

You don't want to be waiting a day for an operation to complete when it could take less than an hour.

Copyright (c) 2023, Gregory Cohen <gregorycohen2@gmail.com>


DONATION REQUEST: If this free software has helped you and you find
it valuable, please consider making a donation to support the ongoing
development and maintenance of this project. Your contribution helps
ensure the availability of this library to the community and encourages
further improvements.


                      Donations can be made at:
             https://www.paypal.com/paypalme/cstandardlib


                           All rights reserved.



While the standardlib software library and this "generate custom standardlib"
file are licensed under the BSD-3 license, the resultant code generated
from this "generate custom standardlib" script is EXPRESSLY public domain,
and you are the legal owner if you use it, and can choose any license
you wish for the resultant code, even if the resultant code is exactly the
same as the original standardlib library. In this way, this library does
not limit or restrict the user with licensing complications.



Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice,
   this list of conditions, and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions, and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
3. Neither the name of the [organization] nor the names of its contributors
   may be used to endorse or promote products derived from this software
   without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

About

A complete standardlib for c for once

License:Other


Languages

Language:C 62.6%Language:C++ 22.1%Language:HTML 12.3%Language:Shell 2.5%Language:Ruby 0.5%