Implementation of functional programming primitives (map
, filter
, reduce
, etc.) in pure C, using generic lists and variadic functions — without loops in task files.
This project re-creates higher-order functions like those in JS or Haskell using:
- Function pointers and generic data structures
- Variadic argument handling (
stdarg.h
) - Memory-safe operations via destructors
Language: C | Environment: Linux / GCC
for_each
,map
,filter
,reduce
- Variadic:
map_multiple
,reduce_multiple
,for_each_multiple
- Tasks using these functionals:
- Reverse integer list
- Filter students by grade
- Compare list sums
- Generate square matrix
make # build project
./install.sh # optional checker setup
hw_checker --legacy
Implemented higher-order programming patterns in C
Used variadic functions and function pointers
Practiced modular memory management and abstraction