Dan Rose

Results 238 issues of Dan Rose

When loading code from a file, it is compiled by default and thus unavailable for runtime inspection. In SICStus, this can be specifically avoided by instead using `consult/1`: > By...

Right now, there is no way in Scryer to declare a static, public procedure. This would be a welcome addition, e.g. with a `public/1` directive. It might be quite useful...

According to [Coding Guidelines for Prolog](https://arxiv.org/pdf/0911.2899): > Any decent predicate must be “steadfast,” i.e., must work correctly if its output variable already happens to be instantiated to the output value...

The `path_segments/2` predicate only recognizes the backslash `\` in Windows. The forward slash `/` is also a legal delimiter in Windows. ``` ?- use_module(library(files)). true. ?- path_segments("D:\\hello\\there",E). E = ["D:","hello","there"]....

``` ?- current_predicate(X:X). thread 'main' panicked at src/machine/system_calls.rs:3932:17: internal error: entered unreachable code ```

```console > scryer-prolog ?- current_prolog_flag(X,X). thread 'main' panicked at src\machine\machine_state_impl.rs:213:21: internal error: entered unreachable code ```

The following are exported by `builtins.pl` but are not built-in predicates found in ISO/IEC 13211-1: - `call/9` (note `call/2..8` were added in corrigendum 2) - `error/2` - `findall/4` They should...

On Windows, it's surprising that `directory_exists/2` doesn't seem to normalize away the path delimiter tokens `..` and `.`. It also does not coalesce redundant `/`. This also happens for `path_canonical/2`....

According to ISO/IEC 13211-1, every procedure is either `public` or `private`. Also according to spec, every procedure is either `static` or `dynamic`. These are not reported by `predicate_property/2`. e.g.: Should...

It seems like `clause/2` gets confused when given a module-qualified head term and crashes with an unexpected error: ``` ?- assertz(foo(42)). true. ?- clause(foo(A),B). A = 42, B = true....