circle
sokol
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
circle
- Rusty.hpp: A Borrow Checker and Memory Ownership System for C++20
-
How difficult would it be to make a c++ compiler
Sean Baxter created a front end c++ compiler by himself, using llvm for the back end and the gcc or clang stl. I think it took him a couple of years. https://www.circle-lang.org/. Before this happened I heard a couple of different people claiming that there would never be a totally new compiler as it was too much work.
-
Toward a TypeScript for C++"
The real Typescript for C++ is Circle.
https://www.circle-lang.org/
Just like Typescript to JavaScript, the syntax is an evolution of what already exists, not a completely different syntax.
-
A Metaobject Protocol for C++ [pdf]
Sean Baxter's Circle [1] is arguably the spiritual successor to MOP.
[1] https://www.circle-lang.org/
-
Circle Evolves C++ [video]
Context: https://github.com/seanbaxter/circle/blob/master/new-circle/...
Note that Circle is not an F/OSS compiler as someone pointed out before. This however doesn't make Circle less relevant, because it is actually a testament to show that C++ could have been much better without the claimed breakage. If Circle does provide a number of desirable features and its compiler can be built by a single person, then why shouldn't the committee do the same?
-
My (Herb Sutter's) C++ Now 2023 talk is online: “A TypeScript for C++”
From all wannabe C++ replacements candidates, the only language that is really a TypeScript for C++, is Circle.
For whatever reason, Herb Sutter decided to ignore this language on the presentation.
https://www.circle-lang.org/
This is the only one with the syntax based on C++, incrementally changing the features via #pragma settings.
"Circle Fixes Defects, Makes C++ Language Safer & More Productive"
https://www.youtube.com/watch?v=x7fxeNqSK2k
"Circle Evolves C++"
https://www.youtube.com/watch?v=P1ZDOGDMNLM
- File for Divorce from LLVM
-
Making C++ Safe Without Borrow Checking, Reference Counting, or Tracing GC
The second someone makes a successor language that seamlessly/directly interops with C++ _AND_ has the level of build/IDE tooling that C++/Rust have, I'm on board.
The closest thing right now is Sean Baxter's "Circle" compiler in "Carbon" mode IMO:
https://github.com/seanbaxter/circle/blob/master/new-circle/...
Unfortunately, Circle is closed-source and there's no LSP or other tooling to make the authoring experience nice.
- Circle-lang: A feasible, simple, and immediate way for C++ to break out of the rut it's been in. Surprised more people aren't talking about it.
-
Recurrence-expression is a programmable superset of fold-expression
I read through the whole of https://github.com/seanbaxter/circle/blob/master/new-circle/README.md and man, I'm drooling. Awesome work, kudos.
sokol
- STB: Single-file public domain libraries for C/C++
-
Container2wasm: Convert Containers to WASM Blobs
I'm using Dear ImGui for my cross-platform code (which includes running in browsers):
- https://floooh.github.io/visual6502remix/
- https://floooh.github.io/tiny8bit/c64-ui.html
- (start these samples by clicking on the little "UI" icon) https://floooh.github.io/sokol-html5/
Platform abstraction is handled through the sokol headers: https://github.com/floooh/sokol
-
New Vulkan Documentation Website
I wonder if using your library (https://github.com/floooh/sokol) instead of OpenGL will alleviate some of these issues for newcomers! There's already a sokol port of the learnopengl.com code (https://github.com/GeertArien/learnopengl-examples), so it shouldn't be too hard to match between the tutorial articles and these.
-
Meta Releases Intermediate Graphics Library
If you're looking for something like this, Sokol is a much simpler alternative:
https://github.com/floooh/sokol
It doesn't support vulkan though, but if that's important to you you're probably much better off just using vulkan directly since it's supported on all the major platforms.
-
Why glibc 2.34 removed libpthread
All I can do is give you a couple of Github ticket links where users of my libraries stumbled over the issue (and with different symptoms):
- https://github.com/floooh/sokol/issues/376
- https://github.com/floooh/sokol/issues/404
- https://github.com/floooh/cimgui-sokol-starterkit/issues/6
We then added a dummy call to a no-op pthread function, so that users can better figure out that they need to use -pthread because now they get a linker error instead of a runtime crash or hang. This has since reduced the 'support overhead' quite a bit:
- https://github.com/floooh/sokol/pull/456
-
File for Divorce from LLVM
My stuff for instance:
https://github.com/floooh/sokol
...inspired by:
https://github.com/nothings/stb
But it's not so much about the build system, but requiring a separate C/C++ compiler toolchain (Rust needs this, Zig currently does not - unless the proposal is implemented).
- Minimal cross-platform standalone C headers
-
How can i play .wav file with C ?
I have never personally used it but I'm pretty sure sokol has an audio library that might be what you are after.
-
Website with Godot?
And I asked floooh for similar thoughts on making a website with sokol here: https://github.com/floooh/sokol/issues/825
-
I want to talk about WebGPU
It's not Rust and TS, instead C and JS, but Emscripten has a very nice way of integrating C/C++ and JS (you can just embed snippets of Javascript inside C/C++ source files), e.g. starting at this line, there's a couple of embedded Javascript functions which can be called like C functions directly from the "C side":
https://github.com/floooh/sokol/blob/4535a3b4be59eb912e77e04...
What are some alternatives?
raspberry-pi-os - Learning operating system development using Linux kernel and Raspberry Pi
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
dts2hx - Converts TypeScript definition files (d.ts) to haxe externs (.hx) via the TypeScript compiler API
raylib - A simple and easy-to-use library to enjoy videogames programming
mdspan - Reference implementation of mdspan targeting C++23
tinyrenderer - A brief computer graphics / rendering course
papers - ISO/IEC JTC1 SC22 WG21 paper scheduling and management
LearnOpenGL - Code repository of all OpenGL chapters from the book and its accompanying website https://learnopengl.com
CppCoreGuidelines - The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++
v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io
meta
nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.