{"id":15958580,"url":"https://github.com/jafagervik/gonflux","last_synced_at":"2026-01-20T11:32:26.113Z","repository":{"id":159874894,"uuid":"634884557","full_name":"Jafagervik/gonflux","owner":"Jafagervik","description":"Blazingly Concurrent","archived":false,"fork":false,"pushed_at":"2023-05-15T23:58:22.000Z","size":288,"stargazers_count":3,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T15:54:45.104Z","etag":null,"topics":["compiler","concurrent","concurrent-programming","cpp","cpp20","language","parallel-programming","programming"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jafagervik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","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":"2023-05-01T13:11:34.000Z","updated_at":"2023-05-11T15:02:34.000Z","dependencies_parsed_at":"2024-10-27T17:03:24.013Z","dependency_job_id":"62094855-a3fb-469f-a999-48385b1eb180","html_url":"https://github.com/Jafagervik/gonflux","commit_stats":{"total_commits":54,"total_committers":1,"mean_commits":54.0,"dds":0.0,"last_synced_commit":"81a429b8dff7ee92a2eac6b5ef99950d4a4745e1"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Jafagervik/gonflux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jafagervik%2Fgonflux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jafagervik%2Fgonflux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jafagervik%2Fgonflux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jafagervik%2Fgonflux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jafagervik","download_url":"https://codeload.github.com/Jafagervik/gonflux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jafagervik%2Fgonflux/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28602458,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T10:46:13.255Z","status":"ssl_error","status_checked_at":"2026-01-20T10:42:51.865Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["compiler","concurrent","concurrent-programming","cpp","cpp20","language","parallel-programming","programming"],"created_at":"2024-10-07T14:05:26.359Z","updated_at":"2026-01-20T11:32:26.097Z","avatar_url":"https://github.com/Jafagervik.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GonFLUX - A statically typed multi paradigm language\n\n## Current status \n\nRead wiki :D\nOther than that: Lexer parses ~4500 tokens in average 0.007 seconds\n\n\n## Why do we need another statically typed imperative language  \n\nWriting parallel, concurrent or HPC code in general is very hard at the moment,\ncompared to writing sequential code. Languages are great at standardizing certain keywords, \nfunctions or datatypes for working sequentially and homogenous, but when working outside\nthese areas, on standardized naming or conventions are used. Also, a lot of calls to \ne.g POSIX threads either have many weird conventions, or feels non-trivial to set up and \ncommunicate with. \n\nWe want to change this by 1. making sure working with threads and processes feels easier to\nget into for beginners, while giving flexibility to people with more experience. \n\nFor the case of graphics programming, or programming on GPGPU, the way most code is written\nfeels bloated. A lot of status wrappers around each single function call \n\nWe also believe that certain common operations as File and Network I/O, timing your code,\npackage managing and testing can all be improved, and there is a lot to be simplified in the syntax.\n\nThis language and toolchain will also be used for research on new methods to deal with race conditions,\ndeadlocks, livelocks, memory managment and compiler optimization.\n\nIntegrated support for vector processing is also something we may want to look into in the future\n\n\n\n## Why did we switch from Zig to C++ \n\nUnstability in compiler, unfamiliarity among people on this project and young ecosystem \n\nZIG is a great language, but if we want to reach interop with CUDA or do codegeneration into C or C++ \ncode, using C or C++ in the first place feels natural. \nThese languages are also known for performance, and this will show in the release of this toolchain.\n\n\n## Main aspects of this language\n\n- Multiparadigm\n- Statically typed \n- Easy-to-learn syntax\n- Built in support for concurrency and parallelism\n- Process and thread managment should be more standardized, and simpler to set up\n- A robust and easy to integrate standard library\n\n\n## Core philosofy\n\nThis language should be able to create robust applications, while\nalso being one to easily teach people about aspects such as atomics, processes,\nsemaphores, mutexes, threads, multicore programming, distributed- and parallel programming \n\n## Targets\n\n- RISC V\n- X86-64\n- ARM64 M2?\n- Raspbery PI\n- AMD graphic cards?\n\n## How to contribute\n\nRead `CONTRIBUTING.md`\n\n\n## Creation\n\nThis project is handled by Uedalab, a computer science lab at Waseda University in\nTokyo, Japan, under the guidance of prof. UEDA, Kazunori.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjafagervik%2Fgonflux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjafagervik%2Fgonflux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjafagervik%2Fgonflux/lists"}