{"id":16808247,"url":"https://github.com/corporatepiyush/jhighfun","last_synced_at":"2025-03-17T09:41:50.448Z","repository":{"id":75320293,"uuid":"95218325","full_name":"corporatepiyush/jhighfun","owner":"corporatepiyush","description":null,"archived":false,"fork":false,"pushed_at":"2017-06-23T12:49:11.000Z","size":9981,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-23T19:16:44.266Z","etag":null,"topics":["concurrency","concurrency-patterns","functional-programming","java","streams-api"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/corporatepiyush.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-23T12:28:59.000Z","updated_at":"2017-06-23T13:29:24.000Z","dependencies_parsed_at":"2023-06-06T03:15:39.530Z","dependency_job_id":null,"html_url":"https://github.com/corporatepiyush/jhighfun","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corporatepiyush%2Fjhighfun","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corporatepiyush%2Fjhighfun/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corporatepiyush%2Fjhighfun/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/corporatepiyush%2Fjhighfun/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/corporatepiyush","download_url":"https://codeload.github.com/corporatepiyush/jhighfun/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244011082,"owners_count":20383357,"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":["concurrency","concurrency-patterns","functional-programming","java","streams-api"],"created_at":"2024-10-13T09:56:09.147Z","updated_at":"2025-03-17T09:41:50.426Z","avatar_url":"https://github.com/corporatepiyush.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"jHighFun\n========\n\n***Multithreaded Higher Order Function Library for Java***\n\n## Overview\nThis library is implememted to make concurrent programming as easy as possible by following best practices exists\nand abstracting out the finer interfaces to hide lots of boiler plate code needed in general.\n\nThe aim of this library is to help design any kind of business logic which is scalable on multiple CPU's.\n\n jHighFun =\u003e (Higher order functions, function chaining) + (concurrency patterns)\n\n ***Higher order functions***\n\n * map\n * filter\n * foldLeft\n * foldRight\n * reduce\n * sort\n * sortWith\n * sortBy\n * any\n * every\n * each\n * eachWithIndex\n * split\n * curry\n * chain\n * memoize\n\n\n***Concurrency patterns***\n\n * forkAndJoin\n * divideAndConquer\n * executeAsync\n * executeLater\n * executeWithGlobalLock\n * executeWithLock\n * executeWithPool\n\nJust do static import for FunctionUtil.* into your java file start using them, be careful while using the overloaded methods which accepts \"noOfThreads\" as last argument and tries to execute function concurrently.\n\nOR\n\nIf you are interested in chaining the functions use \"chain\" function.\n\n\nGradle\n=====\n\n```\n\nallprojects {\n    repositories {\n        ...\n        maven { url 'https://jitpack.io' }\n    }\n}\n\t\n\t\n\t\ndependencies {\n        compile 'com.github.corporatepiyush:jhighfun:1.4'\n}\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcorporatepiyush%2Fjhighfun","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcorporatepiyush%2Fjhighfun","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcorporatepiyush%2Fjhighfun/lists"}