Hacker News new | past | comments | ask | show | jobs | submit
DetachHead (maintainer of basedpyright) has criticized the TSP before:

- https://docs.basedpyright.com/v1.40.2/type-server/

- https://github.com/microsoft/pylance-release/discussions/718...

Ty (the type checker maintained by astral) however will apparently support the TSP: https://github.com/astral-sh/ruff/discussions/23432

I think the only way MS knows how to make money is lock someone into an ecosystem. I think their next attempt should be a closed source lean checker that has will have proprietary code for NL -> lean formalization checker.
Applies to all big tech contributing to FOSS, they don't do it out of charity.
Definitely not true. Historically, it's been one of the ways they attract (and scout) top talent.
I don't think that's true. Many big companies contribute to FOSS in ways that aren't just to attempt to lock people in. Often it's because they use the software and don't want to maintain patches forever - everyone wins if things actually get fixed. Or even because they just want to be known as a good place to work.
That describes how hands off MS was with Postgres committers ime a few years ago. Useful to house them to for helpful office hours too. We'll see how that holds up post HorizonDB
So… not out of charity then?
You're mixing motivation and end goal. Just because their motivations aren't purely charitable doesn't mean the end goal must be nefarious.
No, mostly not, but that does not mean they engage with locking customers in.
Not purely, but "charity" and "only doing it to lock people in" are not the only options.
Of course not? I don't think anyone claimed it was out of charity.
Name one big tech company in the same monetary level, that doesn't contribute to FOSS without second intentions.
They definitely have other intentions, but it's often the same as people contributing in their free time: they use the software, want to make it better for their purposes, but don't want to be the ones to maintain it.
Don't we all have "second intentions"?

Altruism happens usually among members of a tightly knit group, like family members or soldiers of a given unit. Teachers sacrificinng their life to save children. FOSS-developers, are they really producing software out of altruism? Maybe some of them are but it is hard for us to know whether that is so or not.

If a FAANG releases Kafka, REACT, Kubernetes, or any number of projects that they found helpful, and released into open source - there will always be a claim that they do it with some second intention, such as "be seen to be a positive contributor to the community"

But the truth is - so do I - as a humble contributor to a document, test, bug fix, or feature add to a FOSS project - where's the beef?

No. Microsoft and facebook are the try-hardest by far.
Yes, Microsoft fired the Faster CPython team and Facebook/Instagram tries to buy its way into Python core in order to get their buggy free threading in.

Totally altruistic!

NVIDIA, AWS, Google, Intel, AMD,...
This should be called Python Type Server Protocol, no? Seems weird to mine the generic protocol namespace for a protocol that only supports Python. Especially coming from the company behind LSP, which actually is generic.
Type Server Subsystem for Python
Copilot+ Type Server Subsystem for Python Series S
Copilot+ Type Server Subsystem for Python Series S .NET
{"deleted":true,"id":50250628,"parent":50250411,"time":1793047318,"type":"comment"}
Language Server Protocol Server Subsystem for Type Server Protocol Servers for Python
Python Server Subsytem Typing - PSST
It is namespaced under the pylance project. I also don't see any announcement here, just a markdown file.

Perhaps the post title could use a tweak

This is the company that named its web framework "MVC". At least this time they're not eternally polluting search results for an industry standard term.
I've usually heard it called "ASP.NET MVC" except when the former part was clear from context.
100% - it would make more sense if they also supported elixir or other dynamic languages
I do wonder if it generalizes outside of python similar to how LSPs do.
{"deleted":true,"id":50251103,"parent":50249007,"time":1793049412,"type":"comment"}
So now I need a TSP AND an LSP eating loads of memory?
It’s really good that folks over at Astral decided to implement it. It was difficult for me to understand what does this protocol provide that couldn’t be implemented with a new LSP capability, the linked document doesn’t really explain that, but what did become clear to me is that seemingly Microsoft are trying to invent new features for their proprietary LSP server that only works in VS Code so people will have harder times switching to other editors. This way, no matter what Microsoft comes up with, will be matched with very high quality open source tools.
loading story #50255491
As someone with minimal knowledge of LSP specifics, I'm a bit confused about why this exists. Is it the case that LSP alone does not provide adequate functionality for Python type queries?
loading story #50252580
loading story #50250368
So basically adding machine readable type-at-point queries as an lsp extension so Pylance and Pywright can be separated?

The 'result types'format is super python specific, like not having a for all binder. I don't think this specific schema will be used for any non-python languages.

Can someone explain what this is to someone like me that doesn't know python very well, but programs a lot in c#?
loading story #50250453
I just use the Pyrefly extension in VSCode/Zed, run Pyrefly in the CI, and everything works well. The fragmentation around pyright/pylance/basedpyright/cursor-pyright etc. makes it pretty much unusable, you can't get consistent results across IDEs.
loading story #50253686
It kept with UTF-16. New protocol is a chance to correct that poor decision.
loading story #50251942
loading story #50252868
When I wrote the initial version of the neovim LSP client, I got intimately familiar with LSP, and how much I hate it. Microsoft protocols have a habit of being extremely specialized to their application despite being recommended for broader use. I will never, ever, ever adapt another microsoft language protocol.
Reading the main README, I'm not sure why I'd reach for this over ant other typed JSON RPC, tRPC or similar. What are the benefits I'm missing here?
Is there any application for that, except python?
loading story #50250755
The primary reason i guess is standardizing the type checking, so you can bring your own (3rd party).
{"deleted":true,"id":50249057,"parent":50248371,"time":1793040789,"type":"comment"}
It's such a shame python got such mindshare. It's a disaster of a language and ecosystem that people keep bolting and hacking things that much better thought out languages have had for decades.
loading story #50250020
loading story #50249938
loading story #50249819
loading story #50250274
loading story #50249833
loading story #50249679
loading story #50250554
loading story #50250256
loading story #50250416
I will take Python over typescript every second of every day. TypeScript is just so unreadable compared to Python.
loading story #50249663
loading story #50249838
loading story #50249767
loading story #50250459
loading story #50250093
loading story #50249640
loading story #50249786
loading story #50249832
loading story #50249796
loading story #50249863
Interesting, LSP, DAP, MCP, and TSP now...
loading story #50249392
loading story #50255623
Is it Python specific only?
i primarily work in python and from a language-design standpoint, sure, there are generally better options out there. but all the people convincing themselves that a language with this much of a user base and this large of an ecosystem will fade away because of ai or some other reason are deluding themselves. i'm sure the death of python will be imminent for the next several decades, just as it has been for java
Blog posts:

Pylance + Pyrefly: bring your preferred type checker to Visual Studio Code

https://devblogs.microsoft.com/python/announcing-tsp/

Pyrefly + Pylance Integration in VS Code

https://pyrefly.org/blog/pyrefly-pylance/

Type-shed, type-server. When can this Python madness stop? How about using CORBA to make it even more enterprisey?

Why don't you spend your resources on F# instead of this nonsense?

loading story #50250082
[flagged]
loading story #50255330
The cottage industry around fixing gaps in Python is sometimes awe-inspiring and most times just downright awful.

Maybe just make a Python 4 with better types built in at this point...

languages with dynamic types will be obsolete thanks to AI, you heard it here first. It is just introduces more errors, with AI you want formal checking, sure static types are not that, but it is a small piece of it. If 10 percent of errors are types, with a typed language keeping everything the same you have 10 percent less errors, simple as that.
loading story #50251275