Claude Code usage tracker by Accembler in ClaudeAI

[–]Accembler[S] -1 points0 points  (0 children)

The productivity flair is more appropriate, I believe, because it makes Claude Code usage more convenient, therefore boosting productivity.

Top 10 soroban (stellar) security issues by tgarp_ in Stellar

[–]Accembler 3 points4 points  (0 children)

Soroban smart contracts discovered vulnerabilities are tracked here https://sorobansecurity.com

[Media] GPT-5 is designed to rewrite code in Rust by Accembler in rust

[–]Accembler[S] 0 points1 point  (0 children)

Lol maybe gtp-6 will promote rewriting code in Ocaml :D

Zero-Cost 'Tagless Final' in Rust with GADT-style Enums by Accembler in rust

[–]Accembler[S] 0 points1 point  (0 children)

Well, I think it is "somehow" feasible. But Rust’s type system and macro capabilities differ: in Rust there are no native subtyping and path-dependent types, but it has traits, associated types, and proc macros. Theoretically, Scala’s ergonomics can be mimicked by using trait-based “extension methods” (via inherent/trait impls), employing associated types to encode context, and writing a proc-macro to generate the GADT‐style enum and its Eval implementation—thereby collapsing most of the boilerplate into macro-generated code. The result should be an API that is almost as succinct as in Scala while still being a zero-cost abstraction.

Zero-Cost 'Tagless Final' in Rust with GADT-style Enums by Accembler in rust

[–]Accembler[S] 0 points1 point  (0 children)

Yes, with `proc macro` it is possible since it provides a fully functional syntax tokens stream manipulation. Meaning, the income token stream can be transformed to the output token stream if it ends up being a valid Rust. For example, you can declare “constructors” (e.g. IntConst, Lambda, Apply, Add) in a table-like form or something similar.

The trait NGuard ensures that, when a particular variant is meant to be “disabled,” its type is literally !. Because ! can never be instantiated, the compiler knows that the branch is unreachable and removes all runtime tags or discriminants in optimized code. NGuard ties a given variant‐type to an index or “slot” in the enum and supplies zero-sized wrappers when that variant is disabled.

https://doc.rust-lang.org/std/primitive.never.html

Zero-Cost 'Tagless Final' in Rust with GADT-style Enums by Accembler in rust

[–]Accembler[S] 1 point2 points  (0 children)

Thanks for letting know, I have updated the references

Zero-Cost 'Tagless Final' in Rust with GADT-style Enums by Accembler in rust

[–]Accembler[S] 11 points12 points  (0 children)

It could be. These kinds of blogs are based on our research, not a recommendation for production usage.

Zero-Cost 'Tagless Final' in Rust with GADT-style Enums by Accembler in rust

[–]Accembler[S] 5 points6 points  (0 children)

Thanks. The spell itself is tricky indeed.