Comments (10)
I’m fairly sure I remember that page not going wrong. I’ll poke at the code and see if there’s an obvious reason that that should happen, and if I can fix it.
from lpn.
It is still empty.
from lpn.
Alas, it is still blank. No LPN with SWISH?
from lpn.
Well, it is there mostly. LPN on swish is implemented as a proxy service. Analyzing and properly rewriting the rather dirty HTML that comes from the LPN pipeline is a bit of a challenge though. One day someone should reconsider the whole pipeline and -for example- move it to the pipeline used by Simply Logical
from lpn.
@JanWielemaker Is that the issue, though? I believe I remember the SWISH version of Learn Prolog Now! working beautifully last time I tried to work with it, around 2015. I thought I'd give it another try, and unfortunately the wonderful interactive textbook that I remember seems to be no more—even though there are links to it all over the SWISH website. (It is in fact blank, not "there mostly".)
If I hadn't had the experience in 2015, and were coming to it now as my first impression of Prolog, I might well give up before I'd even started, because the major tutorial (showcasing both Prolog and SWISH) doesn't even work.
Can I help fix this somehow?
from lpn.
...or could the enhancements from the Chrome extension be incorporated into whatever builds the site?
from lpn.
After opening some pages I think the site still works as it always has. This issue points a a specific page that goes wrong and probably always has gone wrong. I suspect the proxy goes wrong on this page. You find the proxy code in https://github.com/LearnPrologNow/lpn-swish-proxy. You can run it locally and figure out what goes wrong on this page. I'm happy to handle PRs on the proxy and update the server.
To get a really good interactive LPN you have to start with the LPN source material and add annotations that gives the proxy more information about how the SWISH instances should be created from the code and query snippets. All the material is on this github organization.
from lpn.
Unfortunately the conversion code is in Prolog, which I don’t know very well yet, which is why I wanted to work through LPN…but I’ll see if I can make sense of it.
But I had a general thought: perhaps if the converter can’t make sense of the HTML, it should return it unchanged instead of deleting it? The original would be better than nothing.
from lpn.
Of course the conversion is in Prolog. What else? 😄 Actually it makes more sense than you may think because we have to figure out what is in the code boxes: a valid Prolog program? Queries? Snippets that are themselves not valid Prolog code? Could one code block define the predicates used in another, etc. Prolog's reflexive features come handy here.
But I had a general thought: perhaps if the converter can’t make sense of the HTML, it should return it unchanged instead of deleting it? The original would be better than nothing.
The HTML parser is pretty flexible in tolerating invalid HTML. I have no clue what happens, only a bit of debugging will tell. That is indeed a bit challenging for a beginner. You'll learn a lot though 😄
from lpn.
I’m not saying that the conversion shouldn’t be in Prolog, but rather that since I need the introductory textbook, there may be a circular dependency. :) Maybe I’ll try Simply Logical and come back.
from lpn.
Related Issues (10)
- "List as terms" section no longer applicable to SWI Prolog 7
- "Learn Prolog Now" in header is linked to non-existing page
- Exercise 2.2 doesn't work
- Embedded examples get wrong quotes in swish
- Search tree rendered pictures are cut around the edges HOT 2
- Correction in the occurs check explanation
- Chapter 6.2 add a reverse/4 solution and compare it to reverse/3 that we have till now in the lpn examples
- Problem magic square
- _run script fails
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lpn.