question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Need another escape hatch for experimental

See original GitHub issue

@experimental definitions and experimental language imports can currently only be used on code that is itself @experimental or that is compiled with a nightly version of the compiler.

This effectively locks experimental away in the poison cabinet.

For instance, I see no practical scheme to use experimental features in the compiler itself. This is a shame. First, there is no issue in using experimental features in the compiler. If they change, we can change the compiler as well, it’s the same repo. So the stability argument does not apply. Second, we forgo the large benefits of dog-fooding, which means that experimental features are pushed out with much less testing and user experience than would have been the case otherwise.

To change that, I propose we create an setting -Yexperimental which would make the compiler pretend it is a nightly version. I am not sure what this should mean for the Tasty version, however.

Issue Analytics

  • State:open
  • Created a year ago
  • Comments:14 (10 by maintainers)

github_iconTop GitHub Comments

1reaction
tgodzikcommented, Nov 4, 2022

Have a special exclude that allows the compiler to access experimental features without itself being experimental. The idea is that if an experimental feature changes, the compiler will change as well.

How does it work with tasty? Wouldn’t it be a possibility that the tasty changes and breaks all the plugins downstream which compile with stable versions? We would need a tooling community build to test that out or Mima for Tasty?

Since everybody using the compiler needs to be prepared for any changes in the compiler, this is OK.

Including all the tooling authors? This works when we have a proper API to use, otherwise we should be careful about big changes that can impact tooling especially using experimental.

This effectively locks experimental away in the poison cabinet.

Isn’t it exactly what experimental is supposed to be? We don’t want to use experimental in a real live code since it’s something we are not yet sure about. And people might have less confidence in the compiler if it uses experimental features.

Overall, this change seems a bit hostile for tooling and I would try to keep in my mind that tooling authors can’t be taken for granted. Aside from Metals of course 😅

1reaction
soronpocommented, Oct 22, 2022

In any case, I think this should be brought up as a SIP for a committee vote.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Escape Hatches - React Docs Beta
In this chapter, you'll learn the escape hatches that let you “step ... For example, you don't need an Effect to adjust some...
Read more >
A Decentralized Escape Hatch for DAOs - Hacking, Distributed
We describe a general Decentralized Escape Hatch mechanism, suitable for DAOs and other smart contracts.
Read more >
The Researcher's Escape Hatch. Shedding light on synthetic ...
We're taught to conduct research in a vacuum by modeling or simulating a certain circumstance that appears in our physical world.
Read more >
Writers Need An Escape Hatch
I agree. In addition to hobbies, I think other forms of art can help our writing. There seems to be a fear that...
Read more >
Escape Hatch From Oracle - Early Adopter Research
This episode is about gaining power when using Oracle Applications. While companies don't have as many auditing vulnerabilities with ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found