Skip to content

Implementation of higher-order functional programming concepts in C, featuring generic data structures, variadic functions, and memory-safe abstractions

Notifications You must be signed in to change notification settings

marinaa13/functional-programming-c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Functional Programming in C

Implementation of functional programming primitives (map, filter, reduce, etc.) in pure C, using generic lists and variadic functions — without loops in task files.

Overview

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


Features

  • 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

Usage

make               # build project
./install.sh       # optional checker setup
hw_checker --legacy

Learning Outcomes

Implemented higher-order programming patterns in C

Used variadic functions and function pointers

Practiced modular memory management and abstraction

About

Implementation of higher-order functional programming concepts in C, featuring generic data structures, variadic functions, and memory-safe abstractions

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published