Sandbox restriction!

Greetings,

I am working on an educational project about Computational Semantics based on the book " Representation and Inference for Natural Language" by Patrick Blackburn & Johan Bos.
The goal is to implement a SWISH-Notebook that utilizes the lambda calculus and semantic/syntactic dummy grammar to interfere with logical consequences.

In my and most of the students local environments the code is working pretty good, but here in SWISH, I am running into some specific errors due to the restricted sandbox environment.

The two main queries that should work are lambdaTestSuite. and betaConvertTestSuite. which are now responding inhomogeneous and resulting in Sandbox restriction errors.

Thanks in advance!

Related SWISH-Notebook: https://swish.swi-prolog.org/p/CompSem_Petersen_Material_Kapitel_2.swinb
Full code source: http://www.let.rug.nl/bos/comsem/software1.html

Sorry I misunderstood the meaning of the tag Logtalk.
Thanks for the reply I’ve removed it.

What is the goal we need to run to see the problem? I definitely see load_shell/0, which is probably not going to be appreciated by the sandbox :slight_smile:

Thanks for the reply Jan.
Is there a documentation available where I can look up sandbox disallowed commands?

If you run lambdaTestSuite., you will end up with this sandbox error:

sandbox restriction!
Could not derive which predicate may be called from
np([coord:no,num:sg,gap:[],sem:A],B,C)
np([coord:A,num:B,gap:[],sem:C],D,E)
s([coord:no,sem:A],B,C)
t([sem:A],B,[])
setof(C,t([sem:C],D,[]),E)
lambda(A,B)
lambdaTestSuite

That is what bothers the sandbox. There is some meta call (call/N or something relying on that) where it cannot figure out what the goal is, so it doesn’t know what is called.

SWISH, as is, has limited support for higher order programming. It can typically do simple meta predicates where the predicate to be called appears in a argument. It does some search to figure out cases where the argument is a variable, but easily gives up. I don’t really see the meta-call, but I only has a quick look. You know the code better.