From 3c91f7c4fd075570bae4b0241baef24c5c18bb03 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Tue, 17 Dec 2024 12:38:18 -0500 Subject: [PATCH] Add notes about modularity --- README.md | 5 +++++ STYLE.md | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/README.md b/README.md index 51158c5..317e5d0 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,11 @@ comparison to other modern programming languages. This is a collection of common computer science data structures and algorithms which may be used in C projects. +The project is structured in a modular way, such that it is possible to +trivially copy any module (pair of `.c` and `.h` files) into a project without +dealing with the usual hassle of library dependencies. However, the project +does also build as a library named `libcalg` if that's what you want. + The code is licensed under the [ISC license](COPYING.md), a permissive license that is functionally identical to the MIT or BSD licenses. As such, it may legitimately be reused in any project, whether proprietary or open source. diff --git a/STYLE.md b/STYLE.md index 56a1793..524aa6e 100644 --- a/STYLE.md +++ b/STYLE.md @@ -72,3 +72,10 @@ All public interfaces must be documented using */ unsigned int hash_table_num_entries(HashTable *hash_table); ``` + +## Modularity + +The project is structured in a modular way, such that each module (`.c` and +`.h` file) is independent of the others. The idea is that anyone should be able +to use any file in an "off the shelf" way by trivially copying those two files +into their project.