It is indeed the case that the student languages in Racket use cons only for lists. Improper lists are an extra complexity that people just learning to program don't need.
This is not correct about the current state of the art in program synthesis, which is a field that's made a lot of progress recently. Unfortunately people coming from the AI world tend to ignore that work entirely and imagine they're the only people with new ideas since the 80s.
What I said was (in part) "I am sure there are ways we can improve to attract people inside of academia, outside of academia, in open source, in commercial development, and we want to improve in all of those ways".
It is certainly not new. There are some things that Racket doesn't allow, but they are very much not "compile new code". For example, you can't replace the meaning of existing modules at runtime, nor can you modify the implementation of functions that are on the stack already (both things that some runtime systems for some languages allow). But `eval` has been there since the beginning.
It means that Matthew Flatt will become a committer to Chez Scheme, and they plan to include Racket-driven changes. Of course, we plan to maintain Chez Scheme's high standards for quality and preserve all the things about it that are good outside Racket as well.
I don't have notes of what I said (recording will be up soon) but that isn't what I was trying to say at all. We value use in industry and have made significant effort to enable it (like relicensing everything). It is true, of course, that we're academics, and so we need to learn from others about how to better enable industrial use of Racket, but that is not because we don't care about it.
Every type is inhabited in most type systems for general-purpose programming languages. For example, to inhabit a type T in Haskell syntax (the same approach works in basically any language):
f :: () -> T
f x = f x
myT = f ()
What this shows is that Haskell types are not sound as a logic, but that doesn't mean they aren't a fine type system.
GPT-4 is clearly very impressive, they should show it off honestly and transparently. Instead OpenAI clearly treats these evaluations as a part of their sales and marketing, with inflated claims to match.
I think you are confused about who is advocating what here. Pointer provenance is a real thing that has already happened and that compiler developers want. Sewell's group has been working (eg in this thesis) to put that idea on a consistent foundation, and figure out how to make it compatible with the programs you care about.
I've been teaching intro CS for 20 years, but I totally disagree that this is the #1 pain point. The biggest paint point not discussed is that programming is challenging to learn and requires a lot of effort from students, but all the pain points in the article are real.
An important point to understand, though, is that taking a vacation for the entire summer is not really an option, no matter how few grants you have. You're expected to do more than that over the summer even though supposedly you aren't paid for it.
This is an excellent breakdown. The one thing I would quibble with is the characterization of summer salary. It's better to think of the 9-month pay idea as an accounting trick that has two purposes:
1. A benefit for faculty, since they get to be paid extra if they get grants.
2. An accounting approach for the NSF to limit how much any one faculty member can get in grant funding and account to Congress that the faculty are actually participating in the research.
It does, as the article says, create the possibility of significant swings in compensation, similar to a bonus scheme.
I've had a Bolt for more than a year (it's a great car) and I don't know what Electrify America is. (Looked it up, it's a network of charging stations)
They're similar in length, but the First Edition covers somewhat more material, in particular mutation, while the Second edition has more details and exercises, and covers the 2htdp/universe functional animations that are new for that edition.
Someone from GitHub reached out to me because of this comment and said they were fixing it. The problem is that Racket's license file isn't simple enough for their automated tools.