Posts

This profile is from a federated server and may be incomplete. Browse more on the original instance.

foonathan, to random
@foonathan@fosstodon.org avatar

The control flow graph is an arbitrary graph with cycles, but if you create it from a source language with structured control flow, you can assign each basic block a lexical parent based on the lexical nesting in the source code. The result is a tree where parent blocks can contain variables the child blocks can access (assuming normal lookup rules) which can help with e.g. borrow checking (only borrows in the parent scope need to be considered).

Is this "control flow tree" a thing?

foonathan, to random
@foonathan@fosstodon.org avatar

I saw a @kevlin on the train today. Luckily, somebody had already solved the problem by putting a printed sign on top.

foonathan, to random
@foonathan@fosstodon.org avatar

I was talking with a friend who's a science advisor to a German MP. He was complaining about issues with old Soviet contracts that are still in effect with Russia that prevents them from doing stuff under international law.

I told him: "Oh, in the C++ committee we have a similar problem with old IBM computers".

deepbluev7,
@deepbluev7@nheko.io avatar

@foonathan Thanks! And that sounds dumb!

foonathan,
@foonathan@fosstodon.org avatar

@deepbluev7 Don't worry, they found some legal workaround.

foonathan, to random
@foonathan@fosstodon.org avatar

If you're in Berlin, I'll be giving my talk "A deep dive into dispatching techniques" as part of the Humboldt university's Programming in C lecture on Thursday 15:00!

The event is free to attend, but register here: https://forms.office.com/e/8Br6nV99TA

More info: https://www.linkedin.com/posts/think-cell_on-may-30-2024-we-are-thrilled-to-return-activity-7200786899190333440-tcYD?utm_source=share&utm_medium=member_android

jeslas,
@jeslas@mastodon.gamedev.place avatar

@foonathan what does dispatching techniques mean here? I also keep seeing dispatchable and non dispatchable handles everywhere but I keep assuming it is to help compiler differentiate pointer to data vs pointer to function, is my assumption correct?

foonathan,
@foonathan@fosstodon.org avatar

@jeslas It's about optimizing switch statements.

foonathan, to cpp
@foonathan@fosstodon.org avatar

I've written a trip report for C++Now 2024, one of the best conferences I've ever attended: https://www.think-cell.com/en/career/devblog/trip-report-cpp-now-2024

#cpp #cplusplus

foonathan, to random
@foonathan@fosstodon.org avatar
vitaut,
@vitaut@mastodon.social avatar

@foonathan No paper though?

foonathan,
@foonathan@fosstodon.org avatar

@vitaut Not yet, he'll also open source it soon.

But it's really really simple, I almost could re-derive it once after watching his talk.

foonathan, (edited ) to random
@foonathan@fosstodon.org avatar

Hypothetically, consider the following pattern matching syntax in C++:

expr match {
x => ...
}

What should this mean?
A - match expr against the existing constant x
B - match everything and introduce the name x for expr

thibault,

@foonathan Is there any reason why a C++ match expression could not be matched against types (maybe with a match_type keyword)? It would enable custom behaviour in library templates where the type is not always known, for example when using Eigen templates.

foonathan,
@foonathan@fosstodon.org avatar

@thibault There is going to be syntax to match against types, yes.

foonathan, to random
@foonathan@fosstodon.org avatar

Small tip for new speakers:

Don't end your talk with "are there any questions?" because then you get an awkward silence, then people realize it's over and start applauding, and then questions.

End it with "thank you for listening", wait for applause, then ask for questions.

artificialmind,
@artificialmind@fosstodon.org avatar

@foonathan ideally the last slide shows some summary of your talk, visual if applicable. You can add a "thank you" there if you really want but it's important that the "freeze frame" slide at the end makes it easy for people to remember your whole talk at a glance, not be a blank canvas.

foonathan, to random
@foonathan@fosstodon.org avatar

> This conversion initializes a temporary object of type T from the prvalue by evaluating the prvalue with the temporary object as its result object, and produces an xvalue denoting the temporary object.

The C++ standard is like me when I need to hit the word count requirements on an essay.

foonathan, to random
@foonathan@fosstodon.org avatar

> If you want to prompt for fingerprint and password input at the same time, you can use pam-fprint-grosshack.

Ah, Linux.

foonathan, to cpp
@foonathan@fosstodon.org avatar

I've written a trip report for the C++ standardization meeting in Tokyo: https://www.think-cell.com/en/career/devblog/trip-report-spring-iso-cpp-meeting-in-tokyo-japan

foonathan, to random
@foonathan@fosstodon.org avatar

Flight: 100€
Carry-on: +177€

Budget airlines are really something...

foonathan, to random
@foonathan@fosstodon.org avatar

I missed a train by 10 minutes, otherwise I could have made a new record: touchdown in FRA at 05:11, home in Aachen by 7:30.

Unfortunately, I now have to take the slower train 15 minutes later which translates to an arrival of 8:30 (provided the regional train isn't delayed, which is unlikely).

foonathan, to random
@foonathan@fosstodon.org avatar

Apparently I'm the only person that wants to fly today from Haneda. Took me 15 minutes to go from the taxi to the lounge including baggage drop-off problems because it couldn't scan my passport.

foonathan, to random
@foonathan@fosstodon.org avatar

A handy die, to help LEWG with picking the customization point mechanism for a C++ library proposal.

__h2__,

@foonathan Everything is fine as long as you don't use customisation point objects. Because those aren't actually used for customisation points most of the time 💡

foonathan,
@foonathan@fosstodon.org avatar

@__h2__ That's a problem LWG needs to solve though.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • mdbf
  • InstantRegret
  • ethstaker
  • magazineikmin
  • GTA5RPClips
  • rosin
  • modclub
  • Youngstown
  • ngwrru68w68
  • slotface
  • osvaldo12
  • kavyap
  • DreamBathrooms
  • JUstTest
  • thenastyranch
  • everett
  • cubers
  • cisconetworking
  • tester
  • Durango
  • Leos
  • khanakhh
  • tacticalgear
  • normalnudes
  • anitta
  • provamag3
  • lostlight
  • All magazines