Git Product home page Git Product logo

Comments (4)

tgrapperon avatar tgrapperon commented on June 9, 2024 1

it's nowhere near as bad as you describe

I'm French, so I complain a lot, and loudly! To be honest, I don't know what's happening. I'm often using resources though (for example some CSV I need to parse), so it could be related to this.

I'm aware of Arena and used it in the past, but I assumed it was discontinued/rebranded into SPI-Playgrounds! It perfectly makes sense to perform the changes there. I'll check it out!

Thanks!

from spi-playgrounds-releases.

finestructure avatar finestructure commented on June 9, 2024

Hi Thomas, thanks for the report!

I've noticed that sometimes playgrounds can be a bit weird indeed. What typically works for me is to close and re-open the playground. That seems to shake things loose.

Creating an entire executable project is one way to work around it but I feel like the main selling point of our playgrounds integration is the fact that you're getting the live results.

I think the best fix for this would be if playgrounds were more reliable. Is there perhaps a reproducible case that we could take to the Xcode team? If you've got a FB number I suspect we could alert some folks to it :)

from spi-playgrounds-releases.

tgrapperon avatar tgrapperon commented on June 9, 2024

Thanks Sven.

I have the same issue with vanilla playgrounds on Mac, since the dawn of times. If automatic run is disabled, there is always a moment where they'll stop evaluating, but it's not always reproducible. I have absolutely no hope in old-style playgrounds getting better, they have the same kind of issue since Swift 1.0. For some reason, iOS playgrounds seem more reliable, and the new .swiftpm targets are quite good too (but they are SwiftPM executables under the hood).

Let say that I want to quickly check some async algorithm using swift-async-algorithm, it will not matter very much to me if I'm running a playground that will print in the console, or a single file Mac executable that will also print in the console. The Mac executable will simply execute faster than playgrounds because it doesn't need to display extended information, and it also works more reliably, be debuggable and have better contextual actions.

I get the selling point around Playgrounds. I was not suggesting to replace them, but to offer an option to generate a macOS executable package instead when possible. It is likely that this approach can be extended to .swiftpm packages and will allow to generate iPad compatible playgrounds.

from spi-playgrounds-releases.

finestructure avatar finestructure commented on June 9, 2024

That's odd though. While I do see issues around playgrounds occasionally it's nowhere near as bad as you describe! I do use them quite frequently and believe me it works quite well. I wonder what's going on here?

As to adding the feature you suggest: I can see it being useful. I'm not sure if you're aware, SPI Playgrounds is using https://github.com/finestructure/Arena under the hood to generate the playground.

Maybe a good intermediate step would be to add the functionality you seek there and then there'd be at least a command line option to quickly generate an executable?

from spi-playgrounds-releases.

Related Issues (3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.