claro-lang
AECforWebAssembly
claro-lang | AECforWebAssembly | |
---|---|---|
9 | 51 | |
139 | 31 | |
- | - | |
9.5 | 8.0 | |
28 days ago | 7 days ago | |
Java | C++ | |
- | MIT License |
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.
claro-lang
-
The Claro Programming Language
Interesting, although it seems to currently be missing a license. While Bazel and I are for sure not friends, I found this funny https://github.com/JasonSteving99/claro-lang/blob/v0.1.495/W... I guess it's similar to having a maven build under Nix but my relationship to Bazel is why I got a chuckle out of the russian doll setup
-
Charm 0.3.9 --- now with "Hello world!"
Oh wow, it looks like we've stumbled upon the same construct! In my language, Claro, what you call "interfaces" are called "contracts". I've found it to be a very powerful abstraction!
-
Keyword Generics Progress Report: February 2023 | Inside Rust Blog
In fact, you've actually been a huge source of inspiration for building keyword-generics into the programming language I've been working on in private for the past 2 years! The language is called "Claro" and if you're interested, please take a look at the blocking-generics syntax that your initiative has inspired.
-
What are you doing about async programming models? Best? Worst? Strengths? Weaknesses?
I've tried to do something unique in my lang, Claro. To avoid spamming my same comment again, check out my answer to a very similar thread yesterday
-
Claro's Structured Async+Concurrency Provides Static Non-Blocking Validation and Implements Rust's Keyword Generics Initiative
Didn't see the Github link (but having all the info here is certainly appreciated)
-
What modules should implicitly be imported in a language?
Hmm, so I still feel that C3's imports actually are binding to a specific implementation like other imports (Java/C/python/etc). I think a language would need to embed dependency injection concepts deep into its veins to avoid this. You'd need a way for implementation files to specify that they depend on something with a certain name and a certain interface but not to name the specific implementation. Then a separate parallel module system (more like a Guice (dep injection framework) module than the modules in C3) would indicate the specific implementation that happens to be desired this run of the program. This is the inherent modularity that I'm looking to implement in Claro. There's some prototyping of this idea in the example programs at https://github.com/JasonSteving99/claro-lang/blob/main/src/java/com/claro/claro_programs/modules.claro
-
Let's talk function declarations!
In Claro I'm trying the following distinct types of procedures:
AECforWebAssembly
-
Gren 0.3: Source maps
Great! I have not yet made source maps for my programming language that compiles to WebAssembly, and I probably never will.
- Mislite li da okolina ima potpuno pogrešno mišljenje o ljudima koji rade u IT-u?
- Koja je najapsurdnija poruka o pogrešci koju je neki vaš program ispisivao?
-
What is the most absurd error message your compiler/interpreter was once outputting?
Up until today, my AEC-to-WebAssembly was, if somebody tried to use two structures of different types as the second and the third operand to the ?: (ternary conditional) operator, as in this example: ``` Structure First Consists Of Nothing; EndStructure
- Poteškoće s pronalaskom posla
-
Good languages for writing compilers in?
Well, I have written the first compiler for my programming language, targetting x86, in IE6-compatible JavaScript, and the second compiler, targetting WebAssembly, has been written in C++11. I think that, to choose a language to write a compiler in, you need to look at at least two things:
-
Why does GCC run in Docker produce around 30% smaller statically linked C++ executables than GCC run on Linux? AECforWebAssembly is 1.08 MB large if compiled using GCC 13.1 in Docker, but it is 1.59 MB if compiled using GCC 13.1 on Debian.
You can see the releases v2.5.3 and v2.5.2 of AECforWebAssembly on GitHub. They are produced with the same version of GCC, the only difference (as far as I know) is that v2.5.2 was produced directly on Debian, whereas v2.5.3 was cross-compiled from Windows to Linux using Docker.
-
Let's Make Sure Github Doesn't Become the only Option
That could be true. I host my AEC-to-WebAssembly compiler on GitHub, GitLab and SourceForge, and it's only on GitHub that it has 21 stars and 2 forks. On GitLab and SourceForge, it has zero of both.
- koliko vam je bilo tesko nac posao u programiranju?
-
Does the JVM / CLR even make sense nowadays?
Well, the main compiler for my programming language is targetting the JavaScript Virtual Machine by outputting WebAssembly. I think it's even better than targetting Java Virtual Machine, because, for one thing, your executables can run in any modern browser if you output WebAssembly. If you target Java Virtual Machine, the users need to actually download your app. Furthermore, there is an official assembler for WebAssembly called WebAssembly Binary Toolkit (WABT), so your compiler can output assembly and not have to deal with binary files. There is nothing equivalent to that for Java Virtual Machine.
What are some alternatives?
xvm - Ecstasy and XVM
Lark - Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.
Hungaro - A syntax based programming language
wasm-fizzbuzz - WebAssembly from Scratch: From FizzBuzz to DooM.
keyword-generics-initiative - Public repository for the Rust keyword generics initiative
mal - mal - Make a Lisp
Drogon-torch-serve - Serve pytorch / torch models using Drogon
libCat - 🐈⬛ A runtime for C++26 w/out libC or POSIX. Smaller binaries, only arena allocators, SIMD, stronger type safety than STL, and value-based errors!
gdal-js - This is an Emscripten port of GDAL, an open source X/MIT licensed translator library for raster and vector geospatial data formats.
expected - C++11/14/17 std::expected with functional-style extensions
asyncio - asyncio is a c++20 library to write concurrent code using the async/await syntax.
EmGlue - 🕸️ Glue C++ to your browser! Universal bindings for JavaScript/Wasm using Glue and Embind.