Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jeslie0/descartes
Haskell wrapper around Edinburgh University's descartes package.
https://github.com/jeslie0/descartes
descartes ffi haskell nix
Last synced: about 1 month ago
JSON representation
Haskell wrapper around Edinburgh University's descartes package.
- Host: GitHub
- URL: https://github.com/jeslie0/descartes
- Owner: jeslie0
- License: gpl-2.0
- Created: 2024-06-09T21:00:28.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-06-10T20:40:53.000Z (7 months ago)
- Last Synced: 2024-10-13T23:43:05.420Z (3 months ago)
- Topics: descartes, ffi, haskell, nix
- Language: C
- Homepage: https://github.com/jeslie0/descartes
- Size: 47.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
#+title: Descartes
#+author: James Leslie
[[https://img.shields.io/github/license/jeslie0/descartes.svg]] [[https://img.shields.io/github/v/release/jeslie0/descartes.svg]]
#+html:This is a Haskell wrapper around The University of Edinburgh, School of Informatics' [[https://www.inf.ed.ac.uk/teaching/courses/cp/descartes.html][Descartes Package]]. The Descartes Packages is a small C library that uses [[https://www.libsdl.org/][SDL]] to make a very simple graphics package. It provides a way to make and render points, lines and rectangles on a 500px by 500px grid. It is mainly useful for educational purposes (indeed, I used it in the introductory "Computer Programming" course, back in 2014).
The main reason I made this library was to get a better understanding of Haskell's Foreign Function Interface with C, which turns out to be quite nice and very useable. As such, this repository may be of more use for someone wanting to explore Haskell's FFI functionality, rather than as an actual library.
Note - I only wrote the Haskell code and C wrapper code. Everything in [[file:cbits/descartes/][descartes]] directory is from the Descartes library.
* Dependencies
The only dependency is SDL. This has been tested with SDL version 1.2.15.* Modifications
I made a few minor modifications to the Descartes C library. I changed the title of the graphics window to "Descartes".