Can we use GitHub CodeSpaces for SWI-Prolog?

I have just been looking at GitHub CodeSpaces, and am interested to know if we can use it for SWI-Prolog in the same way we can use Visual Studio Code.

In VSC, I installed the SWI-Prolog extension, and made sure my PATH included the SWI-Prolog install folder, then I can code in Prolog in VSC.

However, I can’t see how to get GitHub CodeSpaces to know about SWI-Prolog. There seem to be options to configure the code space, but I can’t see how to install SWI-Prolog .

Anyone able to help? Thanks.

Thanks for bringing this to the attention. A quick read suggests that CodeSpaces are basically Docker containers. That suggests it might be possible to combine the Docker build (GitHub - SWI-Prolog/docker-swipl: Docker images for SWI-Prolog) to create a CodeSpace docker.

That said, it is not really clear why you’d want that. If I read the story correctly it gets you a completely isolated Docker image with a running SWI-Prolog instance. What are you going to do with that? It doesn’t run graphics, so you loose most of the development tools.

Thanks for the reply.

The reason I want to do it is that I use Visual Studio Code to run SWI-Prolog, as it is an excellent editor / dev environment. It has a built-in terminal where I can run my Prolog code.

CodeSpaces are like VSC in the browser, so if I can set it up, I would have the same experience, but have the advantage of having my files stored in GitHub, so I can access them from wherever I am. At the moment, my files are on my lap top, and I have to use remote access to the lap top to get at my files.

Does that make sense? Thanks again.

1 Like

Possibly. Considering the design it seems unlikely that this setup can support the development tools such as the graphical debugger, profiler, etc. I think that makes it rather unpractical as a development platform. Possibly these can be replaced by web enabled tools, but that is not going to happen soon.

As is, I’d use local development tools and git for managing your files such that you can easily share them through e.g., GitHub.

But of course, it is always nice to have another alternative :slight_smile: