HackerTrans
TopNewTrendsCommentsPastAskShowJobs

mistivia

no profile record

Submissions

Lisp-style C++ template meta programming

github.com
70 points·by mistivia·4 months ago·14 comments

[untitled]

1 points·by mistivia·4 months ago·0 comments

Show HN: Mvvmm – Firecracker-like mini virtual machine monitor in ~2000 LoC

github.com
2 points·by mistivia·5 months ago·0 comments

Write a Virtual Machine Monitor and Boot Linux

blog.mistivia.com
1 points·by mistivia·5 months ago·0 comments

Show HN: A small embeddable and hackable Lisp-2 interpreter in C

github.com
2 points·by mistivia·7 months ago·0 comments

Show HN: EZLive – lightweight serverless self-hosted livestream

github.com
2 points·by mistivia·10 months ago·0 comments

comments

mistivia
·4 months ago·discuss
> we are performing an rather imprecise and expensive acos() call

No, the acos() call is not expensive at all. There is hardware acceleration.We can calculate acos() with in 12 CPU instructions.

https://git.musl-libc.org/cgit/musl/tree/src/math/i386/acos....
mistivia
·4 months ago·discuss
> The deepest truths fit on a napkin.

If you have really done physics or engineering, you would never believe this. Simple and elegant formulas usually can only solve the "spherical chicken in a perfect vacuum" kind of problems. The real world is incredibly messy. Beneath those clean and beautiful-looking partial differential equations lies a mathematical nightmare. And these equations often only hold at certain scales or rely on extremely strict boundary conditions.
mistivia
·4 months ago·discuss
I've add exmaples of a toy EDSL and compile-time reflex in C++17 in GitHub readme, which wouldn't work with constexpr only.
mistivia
·4 months ago·discuss
Template metaprogramming isn't really suited for this task, the prime sieve here serves only as a proof of concept, meant to show the capabilities of this style. But there are cases where `constexpr` is not applicable, especially when involving type manipulations.

On the other hand, C++ template metaprogramming, as an esolang, is fun to tame and experiment with.
mistivia
·6 months ago·discuss
We have seen similar situations countless times before. Just as the Internet allowed people to bypass publishers to release text, and YouTube allowed creators to bypass TV stations and cinemas to release video, AI now allows people to bypass lawyers to read legal texts, which are often deliberately written to be indecipherable to an average person. AI will not destroy institutions, but it will pose challenges and lead to restructuring.
mistivia
·6 months ago·discuss
I don't want a Rust language without a borrow checker. I want a C language with a Borrow Checker. Rust's complexity is already approaching C++, and removing the Borrow Checker would turn it into a similar disaster. Austral looks like a good option to me, but it's not mature enough yet, and the Pascal-like syntax is also difficult to get used to.
mistivia
·8 months ago·discuss
I used similar method to craft my own type-safe algorithm and data structure library in C: https://github.com/mistivia/algds

Although it's a toy not for production, it's very interesting that the idea of traits/concept/typeclass just "emerge" out of the code, which made me suddenly understand why STL come into being.
mistivia
·9 months ago·discuss
It's very dangerous to write a http parser from scratch in C. This can be very vulnerable without rigorous testing. To get a useful web framework for production in C, I think it's a better idea to start from libmicrohttpd, libevent_http, or even fastcgi, which are battle-tested.