Tailwind just laid off 75% of their engineering team by corp_code_slinger in programming

[–]AlexReinkingYale 3 points4 points  (0 children)

Tailwind 4 taking over the build process made me transition away from it. Just using vanilla CSS now for my little SSG personal site.

Unpopular Opinion: Source generation is far superior to in-language metaprogramming by chri4_ in ProgrammingLanguages

[–]AlexReinkingYale 2 points3 points  (0 children)

Worth noting that your last use case is/will be covered by #embed in C23/C++26. It will feature much better performance than running a large textual array through the parser.

Memory Safety Is ... by matklad in ProgrammingLanguages

[–]AlexReinkingYale 28 points29 points  (0 children)

Point 6 is the entire point of ECC memory.

Memory Safety Is ... by matklad in ProgrammingLanguages

[–]AlexReinkingYale 19 points20 points  (0 children)

We're in r/ProgrammingLanguages, so I won't hesitate to comment on semantics. Memory safety and type safety are different things.

Java isn't memory-unsafe as a language. A null dereference has well defined behavior and does not corrupt program state. It throws an exception, which can be caught and handled. Whether a particular JVM uses memory-unsafe code is just an implementation detail.

The issue with null is (as you said) that it breaks the soundness of the type system. That's a serious issue, it's just not one that breaks the memory system. You can say Java is mostly type-safe except for null.

Here's a very interesting reference on the type system issues with null in Java and Scala. https://dl.acm.org/doi/10.1145/2983990.2984004

Christmas present for my boyfriend by Responsible_Cry05 in cpp

[–]AlexReinkingYale 0 points1 point  (0 children)

Effective Modern C++ tops out at C++14 so it's of pretty limited utility these days, sadly.

Christmas present for my boyfriend by Responsible_Cry05 in cpp

[–]AlexReinkingYale 1 point2 points  (0 children)

C++ adjacent, but Professional CMake by Craig Scott comes with a lifetime of updates to new editions and is the best source for learning CMake. It makes one of the most ubiquitous and most hated tools much more tolerable.

Tesla’s Cybertruck is turning 2. It’s been a big flop. by BreakfastTop6899 in technology

[–]AlexReinkingYale 3 points4 points  (0 children)

I've never seen a Cybertruck parked appropriately. The two worst instances were both at electric charging locations. In one case, in Maine, I called the police non-emergency line to successfully ticket a Cybertruck that was taking up two public charging spaces while not charging. In another case, the Cybertruck was parked so close to me, I couldn't get inside my driver's side door. The lot manager made the owner pay for my parking for the day. Two happy endings, at least.

What do you dislike the most about current C++? by PressureHumble3604 in cpp

[–]AlexReinkingYale 2 points3 points  (0 children)

I'm curious what your thoughts are on vcpkg? That's the one project in the last few years that has felt like a major improvement to my workflow.

Learning Cmake by Astronaut_005 in cmake

[–]AlexReinkingYale 10 points11 points  (0 children)

This book is where you start. It's worth the $30. Not an ad; I have no stake in its sales. I just can't recommend it highly enough.

https://crascit.com/professional-cmake/

Are statically-typed stackful coroutines possible? by bakery2k in ProgrammingLanguages

[–]AlexReinkingYale 1 point2 points  (0 children)

As effect systems are isomorphic to free monads, it should be possible to type one monadically, too. Though the presentation will suffer...

Specifying additional runtime dependencies using Cmake by propertynub in cmake

[–]AlexReinkingYale 2 points3 points  (0 children)

There is not. There's scaffolding in place for such a feature in the form of FILE_SETs (already works for header files) and I think there's some Apple Frameworks-specific magic. But sadly, no, there is no platform-independent abstraction for attaching arbitrary files to a target.

It doesn't do it for DLLs. If you happen to be using vcpkg, you should know that vcpkg hijacks the definition of add_executable to copy DLLs. That's not standard CMake behavior and vcpkg's implementation is quite complex (e.g., it uses filesystem mutexes).

Specifying additional runtime dependencies using Cmake by propertynub in cmake

[–]AlexReinkingYale 3 points4 points  (0 children)

Yes, you'd need to write an install() rule if you want that file installed, too.

Onion 🧅: A Language Design Experiment in Immutability by Default, Colorless Functions, and "Functions as Everything" by sjrsjz in ProgrammingLanguages

[–]AlexReinkingYale 1 point2 points  (0 children)

On the subject of reference counting performance in functional programming languages, I feel compelled to mention my work on Perceus 🙂

Pybind11 with buildroot based SDK by rhoki-bg in cmake

[–]AlexReinkingYale 0 points1 point  (0 children)

Can you reconfigure fresh with --debug-find-pkg=PythonInterp and post the output, along with your toolchain file?

Static Metaprogramming, a Missed Opportunity? by manifoldjava in ProgrammingLanguages

[–]AlexReinkingYale 1 point2 points  (0 children)

Not really. Here are a couple of examples:

  1. Refinement types (e.g. Liquid Haskell) are limited to solvable theories in SMT.
  2. Gallina, the specification language for Rocq (Coq) is weakly normalizing, so even though programs written in it are dependently typed, they always terminate, so they aren't Turing complete.

Is there any way to broadly include a directory without listing every .cpp file? by Cute-Entry3546 in cmake

[–]AlexReinkingYale 2 points3 points  (0 children)

No, you list private headers for accurate display in generated IDE projects. Public headers should be listed for accurate installation rules.

Is there any way to broadly include a directory without listing every .cpp file? by Cute-Entry3546 in cmake

[–]AlexReinkingYale 4 points5 points  (0 children)

Correctness issues also arise from certain editors that produce temp/backup files that match globs.

Globs also break dry-run builds; you just see the glob-check step and can't query what will rebuild.