I think a while back TSMC finally understood that building a factory in the US is just not feasible, so their backup is to just transition to Japan long term if Taiwan's situation doesn't pan out. During the Pandemic for example, when Japan noticed that their supply chain is too dependent on China, and that during an emergency they too are subject to export controls, even for their own factories, they immediately acted to bring manufacturing of giants such as Iris Ohyama back to Japan. Contrast that to the US and Europe who keep talking about these things, but don't actually execute(although the US at least tries to throw money at the problem).
TSMC lost the Chinese market, because their government went along headfirst with US trade war policy(similar to what Japan did in 1986, but worse in fact). South Korean officials on the other hand lobbied heavily to get long term exemptions, which allowed them to turn around their profit situation.
Even if a fail-safe version of destructuring-bind is used to validate and get the basic shape, it's still tedious:
(destructuring-case expr
...
((a (b c))
(if (and (eq a 'and)
(eq b 'not))
... now check that c is a list of nothing but (not x) forms
)))
I don't have a pattern matcher in TXR Lisp. That is such a problem that it's holding up compiler work! Because having to write grotty code just to recognize patterns and pull out pieces is demotivating. It's not just demotivating as in "I don't feel like doing the gruntwork", but demotivating as in, "I don't want to saddle my project with the technical debt caused by cranking out that kind of code", which will have to be rewritten into pattern matching later.
Not that I can see. The NFC chip in the iPhone 6S is the NXP 66V10, and in the iPhone 6 it's the 65V10. These appear to just be different packages of the underlying PN544 part from NXP.
It supports reading NDEF tags (as I imagine every commercially-sold NFC chipset does - they're called "NFC Forum tags" in the datasheet [1].) There was also no hardware reason to limit Suica support to the iPhone 7; this NFC controller supported FeliCa too.
There has been a steady industry of people retyping the manuals of all the major architectures for use in formal verification. At PLDI last year, there was even a paper where a team used synthesis techniques to automatically generate an instruction spec for x86 by generating tests for processors and using the answers to refine their current guess.
And within ARM, there were lots of people transcribing bits of the ARM manual into various forms: C/C++, LLVM .td files, Verilog, spreadsheets, etc. Apart from all the wasted effort, this also created a verification problem: each transcription had its own set of bugs that now had to be fixed. And it missed a verification opportunity: if everyone used the same master copy then each time one group spots a bug and reports it, the spec gets better for everybody.
I talked about this virtuous cycle at S-REPLS last year: https://alastairreid.github.io/papers/srepls4-trustworthy.pd... (S-REPLS is a programming language seminar in SE England.)
TSMC lost the Chinese market, because their government went along headfirst with US trade war policy(similar to what Japan did in 1986, but worse in fact). South Korean officials on the other hand lobbied heavily to get long term exemptions, which allowed them to turn around their profit situation.