Weird to see huggingface in the news like this. I remember contributing some fix to it back in summer 2019 when it had 4k stars or something, and I thought it was a really popular project even then :)
> Let me introduce you to wild idea that language is just tool and has nothing to do really with the country/culture
This is a wild idea because it's false. It's hard to be a part of any culture if you don't speak the language. All you've said is that knowing a language doesn't make you part of a culture, which nobody would disagree with in the first place
We are talking here about country and country's culture. What you say works for homogenous societies, but there are plenty of countries with multiple official languages where none of the citizens would be part of their country culture then, look at Switzerland, Belgium, US, etc., these countries don't really have single country culture defined by one common language, but at same time I'm sure all these people living there share similar country culture despite some of them being able to talk to each other.
If you say "any culture" then sure you can be always part of some (sub)culture if you narrow it down, it just matter how much you are going to narrow it, in the end you can be part of culture of foreigners living in specific country.
Have you ever lived in Switzerland? Because I grew up there and if there's ever a group of people who don't accept you if you don't speak their dialect it's the Swiss Germans.
Swiss languages are regionally segregated, meaning that if you want to settle in to Zurich, you'll need to speak German (and at least understand Swiss German), if you want to live in Geneva you'll have to know French and you won't get anywhere in Lugano without knowing Italian.
Some sort of governing entity. The ANSI standard has left the language totally dead in the water, and is the single biggest thing holding back this really quite beautiful language
Package local nicknames. The situation that libraries like Alexandria are in is really sad.
Nested namespacing/packages.
The ability to alias imports, like in Python.
In the same vein, most symbols in the spec should be moved into a standard library.
A general equality predicate which can be specialized by the user.
Just replace multiple-value-returns with structs, they don't add anything useful.
Standardize some variant of arrow macros.
Every form which introduces a binding should be able to take a (optional) type specifier. It'd be great if compilers could use this option to remove generic dispatch in certain compilation modes.
Algol based languages -> 1st order logic (implicit 'single' return)
algol languages array/stack with 'struct' abstract ('struc' abstract converted by compiler to ether parallel array(s) and/or array byte grouping per array ordinal index offset)
Lisp languages -> 2nd order logic (implicit nil/1 or many returns)
lisp is a tree / heap language where tree node is the 'implied' struct.
tree/heap much more flexible than fixed size array of strucs.
lisp -> 1-n; s-expression 1st element ins () is the "memory index"
structs -> n * M; "m-expression" 1st element outside of () is the "memory index".
cons struc vs. cons lisp () is apples/oranages comparison.
if convert both the 'cons struc' and the cons lisp () to same byte vector/stack or equivalent byte tree/heap, then yes, both 'cons' functions are equivalent.
higher order equivalent of mealy state machine vs. moore state machine. [1]
side note:
( 1 - n ) vs (n * m) is context reference to ploting base 2 log(x).
Another take is that a bunch of clever people not only got the job done, but recognized that their role is done and went their separate ways.
A similar thing happened in hardware with the HDMI spec.
The worst thing in programming languages is these insipid language committees that refuse to disband. If you look at C and C++, it's obvious the main thing they care about above all is their self-preservation: the ability to continue meeting and tinkering with languages that everyone else critically depends on being stable.
The goal of no technical committee should be its own self-preservation.
This is so true. Once it's done: stop working on it. All this instability serves nobody in the longer term. At the same time: lots of stuff is released half baked or worse and as a result you get a decade of goal post moving and backwards incompatibility for free.
Great little refresher on how hymenopteran genetics advantages eusociality! I do wish that it made an effort to address why bees are different in this regard from other eusocial hymenopterans such as wasps though (ie, why do bees die when they string you?). But at least it's a neat little mystery to appreciate:)
One area I have found where TRAMP really suffers is when you have a relatively high-latency connection. I'm living on the east coast right now and connect to a dev box in Washington to work, and tramp is basically unusable. Every time you enter a folder in a project, emacs will stall for 1-2 seconds (unless the folder has been entered and cached before: unfortunately every time you restart emacs you'll have to go through it all again). If you've forgotten to disable autocomplete in a remote shell buffer, the first character you type will cause emacs itself to hang forever. There's unacceptable lag when opening and even navigating files. Good luck ever running grep or magit.
With VSCode on the other hand, I have no issues at all: couldn't even tell the project was remote.
I still use emacs (emacs -nw via ssh), but it's nowhere near VSCode's responsiveness and now I cant use GUI emacs. It's definitely a source of frustration :/