{"id":17403127,"url":"https://github.com/thlorenz/func","last_synced_at":"2025-03-29T20:13:34.180Z","repository":{"id":65995358,"uuid":"2655901","full_name":"thlorenz/func","owner":"thlorenz","description":"Functional JavaScript programming","archived":false,"fork":false,"pushed_at":"2011-11-02T02:48:14.000Z","size":117,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-04T20:43:12.450Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"CoffeeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thlorenz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-10-27T04:47:15.000Z","updated_at":"2013-09-01T00:43:46.000Z","dependencies_parsed_at":"2023-02-19T21:00:52.384Z","dependency_job_id":null,"html_url":"https://github.com/thlorenz/func","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thlorenz%2Ffunc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thlorenz%2Ffunc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thlorenz%2Ffunc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thlorenz%2Ffunc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thlorenz","download_url":"https://codeload.github.com/thlorenz/func/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246237436,"owners_count":20745348,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-16T18:54:45.548Z","updated_at":"2025-03-29T20:13:34.146Z","avatar_url":"https://github.com/thlorenz.png","language":"CoffeeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Experiments in writing functional JavaScript\n\n## Installation\n\n    $ npm install func\n\n## The Library func\n\n  This library is only there to enable the below experiments.\n\n## The Examples\n\n  These should be of higher interest than the func library itself.\n \n  So far the following examples have been implemented\n\n### Chess Game\n\n  This is an attempt to teach all chess pieces how to move around the chess board without \n  breaking the rules.\n\n  Only the simplest move functions form the basis and are composed in order to express all\n  possible move in a very declarative manner. \n\n  The idea is that the correctness of the implementation can be reasoned about, \n  assuming the very simple basis functions are correct.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthlorenz%2Ffunc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthlorenz%2Ffunc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthlorenz%2Ffunc/lists"}