language
zig
language | zig | |
---|---|---|
146 | 816 | |
2,560 | 30,773 | |
1.1% | 3.2% | |
8.9 | 10.0 | |
2 days ago | 4 days ago | |
TeX | 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.
language
- Why do we have to put the const keyword in Flutter?
-
Playing around with Extension Types
I noticed that I can enable inline-class as an experiment to play with Extension Types. You need to also add sdk: ^3.3.0-0 to your pubspec.yaml.
- Entendendo Algoritmos: Recursão
-
Dart 3.1 and a retrospective on functional style programming in Dart
Current syntax is not all that bad if you are going to do OO and add various helper methods on `Message` and its subclasses, but if you just want to define your data and no behavior / helpers - then it is exceedingly verbose.
[1]: https://github.com/dart-lang/language/issues/3021
-
Macro example for Flutter widgets
Reference
-
HTML template languages?
A future version of Dart will probably support macros which should make this all a bit easier to use, similar to how Swift 5.9 works which makes already fantastic use of its new macro capabilities by integrating mobx (or solidjs) like reactivity into SwiftUI by a harmlessly looking @Obervable annotation.
-
What’s New in Swift 5.9?
Coming from a Dart context here where that team is also looking at adding Macros to the language. It was really interesting to compare and contrast some of the approaches https://github.com/dart-lang/language/blob/main/working/macr...
-
Build clean & concise UI components with Flutter similar to styled-components in React Native
Yes, that needs a bit of boilerplate for the constructor declaration and the extra build method, but I personally don't mind and with implicit constructors this will become much easier. Also, you get a performant UI as Flutter knows to not redraw widgets that didn't change.
-
A Guide to State Management in Flutter | Mobile App Development
I know that it would be nice not to use the generator at all, but we have to wait until static metaprogramming is implemented in dart. https://github.com/dart-lang/language/issues/1482
-
Why is Swift so slow (timeout) in compiling this code?
I implemented a prototype version of the algorithm in that paper when exploring exhaustiveness checking for pattern matching in Dart.
I found it pretty easy to understand, but also really easy to get it to generate huge combinatorially large spaces. Some careful memoization and deduplication helped, but even so I never got the performance to a state I considered acceptable.
Instead, I went with Luc Maranget's classic approach and figured out a way to adapt it to a language with subtyping (with a ton of work from Johnni Winther to figure out all of the hard complex cases around generics):
https://github.com/dart-lang/language/blob/main/accepted/fut...
The performance (in the prototype!) was dramatically better. You can always make pattern matching go combinatorial, but I haven't seen any real-world switches get particularly slow with our approach yet, and we have some fairly large tests of matching on tuples of enums.
zig
-
Memory-mapped IO registers in Zig. (2021)
There is an issue proposing this approach: https://github.com/ziglang/zig/issues/4284
- Zig Programming Language
- Zig Language 0.12 Release
-
Zig 0.12.0 Release Notes
https://github.com/ziglang/zig/issues/224
e.g.:
> > When debugging/prototyping, it's useful to comment out a line without having to refactor, e.g.
-
How to Write a PHP Extension with Zig?
When writing code in a scripting language, sometimes you need that extra bit of performance (or maybe an async feature from Zig).
-
Bun - The One Tool for All Your JavaScript/Typescript Project's Needs?
NodeJS is by no means a slow runtime, it wouldn’t be so popular if it was. But compared to Bun, it’s slow. Bun was built from the ground up with speed in mind, using both JavascriptCore and Zig. The Bun team spent an enormous amount of time and energy trying to make Bun fast, including lots of profiling, benchmarking, and optimizations.
-
Bun 1.1
ntdll.dll!RtlUserThreadStart()
There are valid reasons to use APIs from NTDLL. Where I disagree with zig#1840 is the idea that it is always better to use NTDLL versions of API. Every other software ecosystem uses the standard Win32 APIs and diverging from that without a good reason seems like a good way to have unexpected behavior. One concrete example is most users and programmers expect Windows to redirect some file system paths when running on WOW64. But this is implemented in Kernel32, not ntdll.
https://github.com/ziglang/zig/issues/11894
- Zig, Rust, and Other Languages
-
Nanos – A Unikernel
Zig also has an IRC channel on libera (#zig) that is moderated by Andrew Kelley.[1]
[1] https://github.com/ziglang/zig/wiki/Community
- Ask HN: What Underrated Open Source Project Deserves More Recognition?
What are some alternatives?
sdk - The Dart SDK, including the VM, dart2js, core libraries, and more.
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).
freezed - Code generation for immutable classes that has a simple syntax/API without compromising on the features.
Odin - Odin Programming Language
quicktype - Generate types and converters from JSON, Schema, and GraphQL
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
Flutter - Flutter makes it easy and fast to build beautiful apps for mobile and beyond
rust - Empowering everyone to build reliable and efficient software.
gallery - Flutter Gallery was a resource to help developers evaluate and use Flutter
go - The Go programming language
conduit - Dart HTTP server framework for building REST APIs. Includes PostgreSQL ORM and OAuth2 provider.
ssr-proxy-js - A Server-Side Rendering Proxy focused on customization and flexibility!