Agda
zig
Our great sponsors
- CodiumAI - TestGPT | Generating meaningful tests for busy devs
- SonarLint - Clean code begins in your IDE with SonarLint
- ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
- InfluxDB - Access the most powerful time series database as a service
Agda | zig | |
---|---|---|
24 | 703 | |
2,113 | 22,516 | |
2.1% | 6.7% | |
9.8 | 10.0 | |
about 16 hours ago | about 7 hours ago | |
Haskell | Zig | |
GNU General Public License v3.0 or later | 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.
Agda
-
What are the current hot topics in type theory and static analysis?
Most of the proof assistants out there: Lean, Coq, Dafny, Isabelle, F*, Idris 2, and Agda. And the main concepts are dependent types, Homotopy Type Theory AKA HoTT, and Category Theory. Warning: HoTT and Category Theory are really dense, you're going to really need to research them.
-
Amendmend proposal: Changed syntax for Or patterns
Does this come with plans to separately unify the body with each of the contexts induced by matching on each of the respective patterns (similar to what’s discussed here), or will it behave like the _ pattern and use only the most general context?
- Doom emacs and agda-mode
-
Best Programming Language for Computational Proof
Coq, Agda, Lean, Isabelle, and probably some others which are not coming to my mind at the moment, but those would be considered the major ones.
-
Do you use Idris or Coq, and why?
Funny that you say this, because there are some obvious long standing open feature requests with looking up the type of the term under cursor — № 4295 and № 516. I am not blaming anyone in particular — this is the way it is. I wish I could find time to rewrite the proof search engine (how hard can it be), but I am already buried under a pile of other commitments and a good chunk of overwhelming sadness.
-
Haskell is the greatest programming language of all time ... the rational adult in a room full of children ... When I program in Haskell, I am in utopia. I am in a different world than 99.9% of what I see posted on Reddit.
"Haskal is a mess, that's why I use a language that's written with Haskal."
-
The comment with the most upvotes decides what language I write my finals in this year will be.
Do it in Agda.
-
Wren is a small, fast, class-based concurrent scripting language
Agda is fun[1]. And there's also Idris[2] - more programming language, less proof assistant.
[1] https://wiki.portal.chalmers.se/agda/pmwiki.php https://github.com/agda/agda
-
Do you feel static types have "won the war", so to speak?
At the most extreme level, you disappear into a meditative solitary retreat for a couple of years to seek enlightenment, and when you emerge you're no longer a programmer who writes programs, you're a theorist who proves theorems in Agda, and you have transcended above things that are tainted by the inherent evil of the material plane like "side effects" and "business needs" and "delivery timelines" and "could you stop doing that fancy math crap and just change the button's color like I asked for".
-
Can I write Agda using only ASCII characters?
(For example, the standard dependent pair definition Σ, which is defined in Agda's core, does not have any).
zig
-
sample code failing
It looks like the example is using the new multi-object for loop syntax, which was introduced after 0.10.1 was released.
-
Why is Swift so slow (timeout) in compiling this code?
looks like the project's now abandonned :
This comment suggests otherwise:
https://github.com/ziglang/zig/issues/89#issuecomment-122118...
Although I'm not sure the "self hosted compiler" is the same as "llvm free backend".
-
Rzig: Zig reference-counted pointers inspired by Rust's Rc and Arc
#782 is the issue.
- LLVM bindings for zig
-
Ported some of raylib examples to Zig
There's also a bug in Zig's translate-c, making awkward workarounds necessary for examples 42, 43 and 44 (described in README and in comments).
- Zig now has built-in HTTP server and client in std
-
Bun v0.6.0 – Bun's new JavaScript bundler and minifier
At one point, the Rust team switched away from the performant Jemalloc allocator to something more widely compatible (the system default). They chose to sacrifice performance in the sake of compatibility/stability. It's still available, but optional.
https://internals.rust-lang.org/t/jemalloc-was-just-removed-...
Insane performance gains, like the ones we see early in Zig, is something that can be easily eaten away by the natural evolution and maturity of a programming language.
Btw, Zig is beating trees with a stick to see what may fall down in this area: https://github.com/ziglang/zig/issues/12484
Zig, unlike C++ and Rust, doesn't need an optimized general purpose allocator in order to be fast. Zig outperforms its peers despite currently having a slow GPA in the standard library because the language encourages programmers down a path that avoids boxing the shit out of everything, which is inherently slow even if you have a global allocator optimized for this use case.
Rust switched away from Jemalloc because it uses global allocation for everything. Zig's convention of explicit allocator argument passing means such a compromise will never be needed.
As for "beating trees with a stick", I'll probably end up doing what I did for WebAssembly, which is to ignore the preexisting work and make my own thing that is better. Here's my 160-line wasm-only allocator that achieves the trifecta: high performance, tiny machine code size, and fundamentally simple.
https://github.com/ziglang/zig/blob/c1add1e19ea35b4d96fbab31...
-
Linking with Windows resource(.res) file.
Looks like squeek502 is working on a ".rc" to ".res" compiler: https://github.com/squeek502/resinator (plan is to upstream it to the Zig compiler at some point: https://github.com/ziglang/zig/issues/3702)
What are some alternatives?
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
Odin - Odin Programming Language
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
rust - Empowering everyone to build reliable and efficient software.
lean - Lean Theorem Prover
go - The Go programming language
rust - Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
crystal - The Crystal Programming Language
ssr-proxy-js - A Server-Side Rendering Proxy focused on customization and flexibility!
regex - An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.
llvm-project - The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Note: the repository does not accept github pull requests at this moment. Please submit your patches at http://reviews.llvm.org.