kibi-swipl-linux-x64-gnu 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -0
- package/bin/swipl +0 -0
- package/bin/swipl-win +0 -0
- package/build-manifest.json +70 -0
- package/lib/cmake/swipl/SWIPLConfig.cmake +21 -0
- package/lib/cmake/swipl/SWIPLConfigVersion.cmake +65 -0
- package/lib/cmake/swipl/SWIPLTargets-release.cmake +28 -0
- package/lib/cmake/swipl/SWIPLTargets.cmake +109 -0
- package/lib/swipl/ABI +1 -0
- package/lib/swipl/LICENSE +41 -0
- package/lib/swipl/README.md +116 -0
- package/lib/swipl/app/README.md +25 -0
- package/lib/swipl/app/app.pl +87 -0
- package/lib/swipl/app/pack.pl +350 -0
- package/lib/swipl/app/qlf.pl +521 -0
- package/lib/swipl/app/splfr.pl +177 -0
- package/lib/swipl/app/sys.pl +310 -0
- package/lib/swipl/bin/swipl.home +1 -0
- package/lib/swipl/boot/apply.pl +73 -0
- package/lib/swipl/boot/attvar.pl +344 -0
- package/lib/swipl/boot/autoload.pl +1226 -0
- package/lib/swipl/boot/bags.pl +283 -0
- package/lib/swipl/boot/dcg.pl +388 -0
- package/lib/swipl/boot/dicts.pl +193 -0
- package/lib/swipl/boot/dwim.pl +485 -0
- package/lib/swipl/boot/engines.pl +152 -0
- package/lib/swipl/boot/expand.pl +1628 -0
- package/lib/swipl/boot/gc.pl +65 -0
- package/lib/swipl/boot/history.pl +304 -0
- package/lib/swipl/boot/init.pl +4682 -0
- package/lib/swipl/boot/iri.pl +64 -0
- package/lib/swipl/boot/license.pl +390 -0
- package/lib/swipl/boot/load.pl +81 -0
- package/lib/swipl/boot/messages.pl +2521 -0
- package/lib/swipl/boot/packs.pl +306 -0
- package/lib/swipl/boot/predopts.pl +154 -0
- package/lib/swipl/boot/qlf.pl +141 -0
- package/lib/swipl/boot/rc.pl +263 -0
- package/lib/swipl/boot/syspred.pl +1634 -0
- package/lib/swipl/boot/tabling.pl +2321 -0
- package/lib/swipl/boot/threads.pl +42 -0
- package/lib/swipl/boot/toplevel.pl +2248 -0
- package/lib/swipl/boot/topvars.pl +261 -0
- package/lib/swipl/boot.prc +0 -0
- package/lib/swipl/cmake/swipl.cmake +131 -0
- package/lib/swipl/customize/README.md +23 -0
- package/lib/swipl/customize/edit +101 -0
- package/lib/swipl/customize/init.pl +164 -0
- package/lib/swipl/demo/README.md +33 -0
- package/lib/swipl/demo/likes.pl +44 -0
- package/lib/swipl/doc/packages/examples/chr/bool.chr +281 -0
- package/lib/swipl/doc/packages/examples/chr/chrdif.chr +87 -0
- package/lib/swipl/doc/packages/examples/chr/chrfreeze.chr +6 -0
- package/lib/swipl/doc/packages/examples/chr/family.chr +116 -0
- package/lib/swipl/doc/packages/examples/chr/fib.chr +24 -0
- package/lib/swipl/doc/packages/examples/chr/fibonacci.chr +31 -0
- package/lib/swipl/doc/packages/examples/chr/gcd.chr +28 -0
- package/lib/swipl/doc/packages/examples/chr/leq.chr +34 -0
- package/lib/swipl/doc/packages/examples/chr/listdom.chr +138 -0
- package/lib/swipl/doc/packages/examples/chr/primes.chr +29 -0
- package/lib/swipl/doc/packages/examples/http/README.md +98 -0
- package/lib/swipl/doc/packages/examples/http/calc.pl +92 -0
- package/lib/swipl/doc/packages/examples/http/demo_body.pl +232 -0
- package/lib/swipl/doc/packages/examples/http/demo_client.pl +165 -0
- package/lib/swipl/doc/packages/examples/http/demo_daemon.pl +38 -0
- package/lib/swipl/doc/packages/examples/http/demo_files.pl +50 -0
- package/lib/swipl/doc/packages/examples/http/demo_hello.pl +15 -0
- package/lib/swipl/doc/packages/examples/http/demo_login.pl +280 -0
- package/lib/swipl/doc/packages/examples/http/demo_openid.pl +177 -0
- package/lib/swipl/doc/packages/examples/http/demo_pwp.pl +20 -0
- package/lib/swipl/doc/packages/examples/http/demo_rest.pl +56 -0
- package/lib/swipl/doc/packages/examples/http/demo_threads.pl +52 -0
- package/lib/swipl/doc/packages/examples/http/linux-init-script +126 -0
- package/lib/swipl/doc/packages/examples/http/pwp/context.pwp +23 -0
- package/lib/swipl/doc/packages/examples/http/pwp/index.pwp +25 -0
- package/lib/swipl/doc/packages/examples/http/pwp/pwp1.pwp +12 -0
- package/lib/swipl/doc/packages/examples/http/pwp/pwp2.pwp +10 -0
- package/lib/swipl/doc/packages/examples/http/pwp/pwp3.pwp +25 -0
- package/lib/swipl/doc/packages/examples/http/pwp/pwp4.pwp +23 -0
- package/lib/swipl/doc/packages/examples/http/pwp/pwp5.pwp +11 -0
- package/lib/swipl/doc/packages/examples/http/pwp/pwp6.pwp +3 -0
- package/lib/swipl/doc/packages/examples/http/pwp/pwp7.pwp +3 -0
- package/lib/swipl/doc/packages/examples/http/pwp/pwp8.pwp +3 -0
- package/lib/swipl/doc/packages/examples/http/pwp/pwpdb.pl +12 -0
- package/lib/swipl/doc/packages/examples/http/systemd-script.service +18 -0
- package/lib/swipl/doc/packages/examples/http/upstart-script.conf +20 -0
- package/lib/swipl/doc/packages/examples/plunit/read.pl +17 -0
- package/lib/swipl/doc/packages/examples/plunit/simple.pl +33 -0
- package/lib/swipl/doc/packages/examples/ssl/client.pl +83 -0
- package/lib/swipl/doc/packages/examples/ssl/etc/README +52 -0
- package/lib/swipl/doc/packages/examples/ssl/etc/client/client-cert.p12 +0 -0
- package/lib/swipl/doc/packages/examples/ssl/etc/client/client-cert.pem +85 -0
- package/lib/swipl/doc/packages/examples/ssl/etc/client/client-key.pem +30 -0
- package/lib/swipl/doc/packages/examples/ssl/etc/demoCA/cacert.pem +82 -0
- package/lib/swipl/doc/packages/examples/ssl/etc/demoCA/careq.pem +18 -0
- package/lib/swipl/doc/packages/examples/ssl/etc/demoCA/crlnumber +1 -0
- package/lib/swipl/doc/packages/examples/ssl/etc/demoCA/index.txt +3 -0
- package/lib/swipl/doc/packages/examples/ssl/etc/demoCA/index.txt.attr +1 -0
- package/lib/swipl/doc/packages/examples/ssl/etc/demoCA/newcerts/9DC08797A0F63F7C.pem +85 -0
- package/lib/swipl/doc/packages/examples/ssl/etc/demoCA/newcerts/9DC08797A0F63F7D.pem +85 -0
- package/lib/swipl/doc/packages/examples/ssl/etc/demoCA/private/cakey.pem +30 -0
- package/lib/swipl/doc/packages/examples/ssl/etc/demoCA/serial +1 -0
- package/lib/swipl/doc/packages/examples/ssl/etc/server/server-cert.pem +85 -0
- package/lib/swipl/doc/packages/examples/ssl/etc/server/server-key.pem +30 -0
- package/lib/swipl/doc/packages/examples/ssl/https.pl +267 -0
- package/lib/swipl/doc/packages/examples/ssl/server.pl +106 -0
- package/lib/swipl/include/SWI-Prolog.h +1544 -0
- package/lib/swipl/include/SWI-Stream.h +537 -0
- package/lib/swipl/include/Yap/YapInterface.h +283 -0
- package/lib/swipl/include/sicstus/sicstus.h +452 -0
- package/lib/swipl/lib/x86_64-linux/cgi.so +0 -0
- package/lib/swipl/lib/x86_64-linux/crypt.so +0 -0
- package/lib/swipl/lib/x86_64-linux/crypto4pl.so +0 -0
- package/lib/swipl/lib/x86_64-linux/double_metaphone.so +0 -0
- package/lib/swipl/lib/x86_64-linux/files.so +0 -0
- package/lib/swipl/lib/x86_64-linux/hashstream.so +0 -0
- package/lib/swipl/lib/x86_64-linux/http_stream.so +0 -0
- package/lib/swipl/lib/x86_64-linux/isub.so +0 -0
- package/lib/swipl/lib/x86_64-linux/json.so +0 -0
- package/lib/swipl/lib/x86_64-linux/libswipl.so.10 +0 -0
- package/lib/swipl/lib/x86_64-linux/mallocinfo.so +0 -0
- package/lib/swipl/lib/x86_64-linux/md54pl.so +0 -0
- package/lib/swipl/lib/x86_64-linux/memfile.so +0 -0
- package/lib/swipl/lib/x86_64-linux/ntriples.so +0 -0
- package/lib/swipl/lib/x86_64-linux/pcre4pl.so +0 -0
- package/lib/swipl/lib/x86_64-linux/porter_stem.so +0 -0
- package/lib/swipl/lib/x86_64-linux/process.so +0 -0
- package/lib/swipl/lib/x86_64-linux/prolog_stream.so +0 -0
- package/lib/swipl/lib/x86_64-linux/rdf_db.so +0 -0
- package/lib/swipl/lib/x86_64-linux/readutil.so +0 -0
- package/lib/swipl/lib/x86_64-linux/rlimit.so +0 -0
- package/lib/swipl/lib/x86_64-linux/sched.so +0 -0
- package/lib/swipl/lib/x86_64-linux/sgml2pl.so +0 -0
- package/lib/swipl/lib/x86_64-linux/sha4pl.so +0 -0
- package/lib/swipl/lib/x86_64-linux/snowball.so +0 -0
- package/lib/swipl/lib/x86_64-linux/socket.so +0 -0
- package/lib/swipl/lib/x86_64-linux/ssl4pl.so +0 -0
- package/lib/swipl/lib/x86_64-linux/streaminfo.so +0 -0
- package/lib/swipl/lib/x86_64-linux/syslog.so +0 -0
- package/lib/swipl/lib/x86_64-linux/time.so +0 -0
- package/lib/swipl/lib/x86_64-linux/turtle.so +0 -0
- package/lib/swipl/lib/x86_64-linux/uid.so +0 -0
- package/lib/swipl/lib/x86_64-linux/unix.so +0 -0
- package/lib/swipl/lib/x86_64-linux/uri.so +0 -0
- package/lib/swipl/lib/x86_64-linux/websocket.so +0 -0
- package/lib/swipl/lib/x86_64-linux/zlib4pl.so +0 -0
- package/lib/swipl/library/INDEX.pl +1020 -0
- package/lib/swipl/library/aggregate.pl +755 -0
- package/lib/swipl/library/ansi_term.pl +653 -0
- package/lib/swipl/library/apply.pl +426 -0
- package/lib/swipl/library/apply_macros.pl +497 -0
- package/lib/swipl/library/arithmetic.pl +320 -0
- package/lib/swipl/library/assoc.pl +522 -0
- package/lib/swipl/library/atom.pl +169 -0
- package/lib/swipl/library/backcomp.pl +688 -0
- package/lib/swipl/library/base32.pl +291 -0
- package/lib/swipl/library/base64.pl +441 -0
- package/lib/swipl/library/broadcast.pl +161 -0
- package/lib/swipl/library/build/cmake.pl +137 -0
- package/lib/swipl/library/build/conan.pl +232 -0
- package/lib/swipl/library/build/make.pl +168 -0
- package/lib/swipl/library/build/tools.pl +825 -0
- package/lib/swipl/library/charsio.pl +195 -0
- package/lib/swipl/library/check.pl +1097 -0
- package/lib/swipl/library/check_installation.pl +912 -0
- package/lib/swipl/library/clp/INDEX.pl +157 -0
- package/lib/swipl/library/clp/bounds.pl +2036 -0
- package/lib/swipl/library/clp/clp_distinct.pl +263 -0
- package/lib/swipl/library/clp/clp_events.pl +92 -0
- package/lib/swipl/library/clp/clpb.pl +1896 -0
- package/lib/swipl/library/clp/clpfd.pl +7906 -0
- package/lib/swipl/library/clp/simplex.pl +1580 -0
- package/lib/swipl/library/codesio.pl +182 -0
- package/lib/swipl/library/coinduction.pl +183 -0
- package/lib/swipl/library/console_input.pl +289 -0
- package/lib/swipl/library/csv.pl +611 -0
- package/lib/swipl/library/ctypes.pl +161 -0
- package/lib/swipl/library/date.pl +370 -0
- package/lib/swipl/library/dcg/INDEX.pl +35 -0
- package/lib/swipl/library/dcg/basics.pl +514 -0
- package/lib/swipl/library/dcg/high_order.pl +227 -0
- package/lib/swipl/library/debug.pl +499 -0
- package/lib/swipl/library/dialect/bim.pl +186 -0
- package/lib/swipl/library/dialect/commons.pl +77 -0
- package/lib/swipl/library/dialect/eclipse/test_util_iso.pl +355 -0
- package/lib/swipl/library/dialect/hprolog/format.pl +44 -0
- package/lib/swipl/library/dialect/hprolog.pl +314 -0
- package/lib/swipl/library/dialect/ifprolog.pl +1317 -0
- package/lib/swipl/library/dialect/iso/iso_predicates.pl +277 -0
- package/lib/swipl/library/dialect/sicstus/README.TXT +1 -0
- package/lib/swipl/library/dialect/sicstus/arrays.pl +121 -0
- package/lib/swipl/library/dialect/sicstus/block.pl +278 -0
- package/lib/swipl/library/dialect/sicstus/lists.pl +167 -0
- package/lib/swipl/library/dialect/sicstus/ordsets.pl +52 -0
- package/lib/swipl/library/dialect/sicstus/sockets.pl +174 -0
- package/lib/swipl/library/dialect/sicstus/system.pl +262 -0
- package/lib/swipl/library/dialect/sicstus/terms.pl +57 -0
- package/lib/swipl/library/dialect/sicstus/timeout.pl +92 -0
- package/lib/swipl/library/dialect/sicstus.pl +582 -0
- package/lib/swipl/library/dialect/sicstus4/aggregate.pl +60 -0
- package/lib/swipl/library/dialect/sicstus4/between.pl +62 -0
- package/lib/swipl/library/dialect/sicstus4/clpfd.pl +75 -0
- package/lib/swipl/library/dialect/sicstus4/file_systems.pl +413 -0
- package/lib/swipl/library/dialect/sicstus4/lists.pl +274 -0
- package/lib/swipl/library/dialect/sicstus4/ordsets.pl +54 -0
- package/lib/swipl/library/dialect/sicstus4/samsort.pl +86 -0
- package/lib/swipl/library/dialect/sicstus4/sets.pl +124 -0
- package/lib/swipl/library/dialect/sicstus4/sockets.pl +164 -0
- package/lib/swipl/library/dialect/sicstus4/system.pl +80 -0
- package/lib/swipl/library/dialect/sicstus4/terms.pl +89 -0
- package/lib/swipl/library/dialect/sicstus4/timeout.pl +43 -0
- package/lib/swipl/library/dialect/sicstus4/types.pl +103 -0
- package/lib/swipl/library/dialect/sicstus4.pl +200 -0
- package/lib/swipl/library/dialect/swi/syspred_options.pl +250 -0
- package/lib/swipl/library/dialect/xsb/README.md +20 -0
- package/lib/swipl/library/dialect/xsb/basics.pl +318 -0
- package/lib/swipl/library/dialect/xsb/consult.pl +87 -0
- package/lib/swipl/library/dialect/xsb/curr_sym.pl +57 -0
- package/lib/swipl/library/dialect/xsb/error_handler.pl +111 -0
- package/lib/swipl/library/dialect/xsb/gensym.pl +53 -0
- package/lib/swipl/library/dialect/xsb/gpp.pl +138 -0
- package/lib/swipl/library/dialect/xsb/intern.pl +48 -0
- package/lib/swipl/library/dialect/xsb/lists.pl +47 -0
- package/lib/swipl/library/dialect/xsb/machine.pl +295 -0
- package/lib/swipl/library/dialect/xsb/ordsets.pl +53 -0
- package/lib/swipl/library/dialect/xsb/setof.pl +54 -0
- package/lib/swipl/library/dialect/xsb/source.pl +308 -0
- package/lib/swipl/library/dialect/xsb/standard.pl +169 -0
- package/lib/swipl/library/dialect/xsb/storage.pl +70 -0
- package/lib/swipl/library/dialect/xsb/string.pl +76 -0
- package/lib/swipl/library/dialect/xsb/thread.pl +62 -0
- package/lib/swipl/library/dialect/xsb/timed_call.pl +158 -0
- package/lib/swipl/library/dialect/xsb.pl +688 -0
- package/lib/swipl/library/dialect/yap/README.TXT +8 -0
- package/lib/swipl/library/dialect/yap.pl +283 -0
- package/lib/swipl/library/dialect.pl +123 -0
- package/lib/swipl/library/dicts.pl +399 -0
- package/lib/swipl/library/dif.pl +426 -0
- package/lib/swipl/library/edinburgh.pl +138 -0
- package/lib/swipl/library/edit.pl +783 -0
- package/lib/swipl/library/error.pl +495 -0
- package/lib/swipl/library/exceptions.pl +231 -0
- package/lib/swipl/library/explain.pl +543 -0
- package/lib/swipl/library/ext/RDF/INDEX.pl +25 -0
- package/lib/swipl/library/ext/RDF/rdf.pl +450 -0
- package/lib/swipl/library/ext/RDF/rdf_parser.pl +649 -0
- package/lib/swipl/library/ext/RDF/rdf_triple.pl +448 -0
- package/lib/swipl/library/ext/RDF/rdf_write.pl +701 -0
- package/lib/swipl/library/ext/RDF/rewrite_term.pl +177 -0
- package/lib/swipl/library/ext/chr/chr/a_star.pl +80 -0
- package/lib/swipl/library/ext/chr/chr/binomialheap.pl +142 -0
- package/lib/swipl/library/ext/chr/chr/builtins.pl +629 -0
- package/lib/swipl/library/ext/chr/chr/chr_compiler_errors.pl +179 -0
- package/lib/swipl/library/ext/chr/chr/chr_compiler_options.pl +382 -0
- package/lib/swipl/library/ext/chr/chr/chr_compiler_utility.pl +338 -0
- package/lib/swipl/library/ext/chr/chr/chr_debug.pl +59 -0
- package/lib/swipl/library/ext/chr/chr/chr_hashtable_store.pl +425 -0
- package/lib/swipl/library/ext/chr/chr/chr_integertable_store.pl +139 -0
- package/lib/swipl/library/ext/chr/chr/chr_messages.pl +176 -0
- package/lib/swipl/library/ext/chr/chr/chr_op.pl +53 -0
- package/lib/swipl/library/ext/chr/chr/chr_runtime.pl +1016 -0
- package/lib/swipl/library/ext/chr/chr/chr_translate.pl +25424 -0
- package/lib/swipl/library/ext/chr/chr/clean_code.pl +252 -0
- package/lib/swipl/library/ext/chr/chr/find.pl +78 -0
- package/lib/swipl/library/ext/chr/chr/guard_entailment.pl +19432 -0
- package/lib/swipl/library/ext/chr/chr/listmap.pl +108 -0
- package/lib/swipl/library/ext/chr/chr/pairlist.pl +78 -0
- package/lib/swipl/library/ext/chr/chr.pl +686 -0
- package/lib/swipl/library/ext/clib/INDEX.pl +158 -0
- package/lib/swipl/library/ext/clib/cgi.pl +86 -0
- package/lib/swipl/library/ext/clib/crypt.pl +44 -0
- package/lib/swipl/library/ext/clib/filesex.pl +644 -0
- package/lib/swipl/library/ext/clib/hash_stream.pl +119 -0
- package/lib/swipl/library/ext/clib/mallocinfo.pl +138 -0
- package/lib/swipl/library/ext/clib/md5.pl +68 -0
- package/lib/swipl/library/ext/clib/memfile.pl +61 -0
- package/lib/swipl/library/ext/clib/process.pl +573 -0
- package/lib/swipl/library/ext/clib/prolog_server.pl +157 -0
- package/lib/swipl/library/ext/clib/prolog_stream.pl +80 -0
- package/lib/swipl/library/ext/clib/rlimit.pl +54 -0
- package/lib/swipl/library/ext/clib/sched.pl +85 -0
- package/lib/swipl/library/ext/clib/sha.pl +162 -0
- package/lib/swipl/library/ext/clib/socket.pl +1102 -0
- package/lib/swipl/library/ext/clib/streaminfo.pl +103 -0
- package/lib/swipl/library/ext/clib/streampool.pl +136 -0
- package/lib/swipl/library/ext/clib/syslog.pl +180 -0
- package/lib/swipl/library/ext/clib/time.pl +194 -0
- package/lib/swipl/library/ext/clib/udp_broadcast.pl +975 -0
- package/lib/swipl/library/ext/clib/uid.pl +220 -0
- package/lib/swipl/library/ext/clib/unix.pl +317 -0
- package/lib/swipl/library/ext/clib/uri.pl +530 -0
- package/lib/swipl/library/ext/clib/uuid.pl +207 -0
- package/lib/swipl/library/ext/http/http/INDEX.pl +266 -0
- package/lib/swipl/library/ext/http/http/README.md +34 -0
- package/lib/swipl/library/ext/http/http/ax.pl +189 -0
- package/lib/swipl/library/ext/http/http/dcg_basics.pl +49 -0
- package/lib/swipl/library/ext/http/http/graphql.pl +1367 -0
- package/lib/swipl/library/ext/http/http/html_decl.pl +416 -0
- package/lib/swipl/library/ext/http/http/html_head.pl +654 -0
- package/lib/swipl/library/ext/http/http/html_quasiquotations.pl +120 -0
- package/lib/swipl/library/ext/http/http/html_write.pl +1425 -0
- package/lib/swipl/library/ext/http/http/htmx.pl +139 -0
- package/lib/swipl/library/ext/http/http/http_authenticate.pl +364 -0
- package/lib/swipl/library/ext/http/http/http_client.pl +412 -0
- package/lib/swipl/library/ext/http/http/http_cookie.pl +245 -0
- package/lib/swipl/library/ext/http/http/http_cors.pl +176 -0
- package/lib/swipl/library/ext/http/http/http_digest.pl +820 -0
- package/lib/swipl/library/ext/http/http/http_dirindex.pl +296 -0
- package/lib/swipl/library/ext/http/http/http_dispatch.pl +1552 -0
- package/lib/swipl/library/ext/http/http/http_dyn_workers.pl +214 -0
- package/lib/swipl/library/ext/http/http/http_error.pl +126 -0
- package/lib/swipl/library/ext/http/http/http_exception.pl +225 -0
- package/lib/swipl/library/ext/http/http/http_files.pl +163 -0
- package/lib/swipl/library/ext/http/http/http_header.pl +2820 -0
- package/lib/swipl/library/ext/http/http/http_hook.pl +106 -0
- package/lib/swipl/library/ext/http/http/http_host.pl +204 -0
- package/lib/swipl/library/ext/http/http/http_load.pl +113 -0
- package/lib/swipl/library/ext/http/http/http_log.pl +738 -0
- package/lib/swipl/library/ext/http/http/http_multipart_plugin.pl +232 -0
- package/lib/swipl/library/ext/http/http/http_open.pl +1821 -0
- package/lib/swipl/library/ext/http/http/http_openid.pl +1561 -0
- package/lib/swipl/library/ext/http/http/http_parameters.pl +504 -0
- package/lib/swipl/library/ext/http/http/http_path.pl +380 -0
- package/lib/swipl/library/ext/http/http/http_proxy.pl +80 -0
- package/lib/swipl/library/ext/http/http/http_pwp.pl +351 -0
- package/lib/swipl/library/ext/http/http/http_redis_plugin.pl +332 -0
- package/lib/swipl/library/ext/http/http/http_server.pl +105 -0
- package/lib/swipl/library/ext/http/http/http_server_files.pl +126 -0
- package/lib/swipl/library/ext/http/http/http_server_health.pl +186 -0
- package/lib/swipl/library/ext/http/http/http_session.pl +1040 -0
- package/lib/swipl/library/ext/http/http/http_sgml_plugin.pl +137 -0
- package/lib/swipl/library/ext/http/http/http_stream.pl +376 -0
- package/lib/swipl/library/ext/http/http/http_unix_daemon.pl +989 -0
- package/lib/swipl/library/ext/http/http/http_wrapper.pl +559 -0
- package/lib/swipl/library/ext/http/http/hub.pl +600 -0
- package/lib/swipl/library/ext/http/http/js_write.pl +461 -0
- package/lib/swipl/library/ext/http/http/mimepack.pl +224 -0
- package/lib/swipl/library/ext/http/http/mimetype.pl +276 -0
- package/lib/swipl/library/ext/http/http/term_html.pl +797 -0
- package/lib/swipl/library/ext/http/http/thread_httpd.pl +1181 -0
- package/lib/swipl/library/ext/http/http/web/css/dirindex.css +24 -0
- package/lib/swipl/library/ext/http/http/web/css/openid.css +57 -0
- package/lib/swipl/library/ext/http/http/web/icons/back.png +0 -0
- package/lib/swipl/library/ext/http/http/web/icons/c.png +0 -0
- package/lib/swipl/library/ext/http/http/web/icons/compressed.png +0 -0
- package/lib/swipl/library/ext/http/http/web/icons/folder.png +0 -0
- package/lib/swipl/library/ext/http/http/web/icons/generic.png +0 -0
- package/lib/swipl/library/ext/http/http/web/icons/layout.png +0 -0
- package/lib/swipl/library/ext/http/http/web/icons/openid-logo-square.png +0 -0
- package/lib/swipl/library/ext/http/http/web/icons/openid-logo-tiny.png +0 -0
- package/lib/swipl/library/ext/http/http/websocket.pl +729 -0
- package/lib/swipl/library/ext/http/http/yadis.pl +205 -0
- package/lib/swipl/library/ext/json/INDEX.pl +36 -0
- package/lib/swipl/library/ext/json/http/INDEX.pl +16 -0
- package/lib/swipl/library/ext/json/http/http_json.pl +490 -0
- package/lib/swipl/library/ext/json/http/js_grammar.pl +53 -0
- package/lib/swipl/library/ext/json/http/json.pl +48 -0
- package/lib/swipl/library/ext/json/http/json_convert.pl +48 -0
- package/lib/swipl/library/ext/json/json.pl +1215 -0
- package/lib/swipl/library/ext/json/json_convert.pl +681 -0
- package/lib/swipl/library/ext/json/json_grammar.pl +349 -0
- package/lib/swipl/library/ext/json/json_rpc_client.pl +423 -0
- package/lib/swipl/library/ext/json/json_rpc_common.pl +104 -0
- package/lib/swipl/library/ext/json/json_rpc_server.pl +489 -0
- package/lib/swipl/library/ext/json/json_schema.pl +2111 -0
- package/lib/swipl/library/ext/nlp/INDEX.pl +15 -0
- package/lib/swipl/library/ext/nlp/double_metaphone.pl +86 -0
- package/lib/swipl/library/ext/nlp/isub.pl +162 -0
- package/lib/swipl/library/ext/nlp/porter_stem.pl +50 -0
- package/lib/swipl/library/ext/nlp/snowball.pl +97 -0
- package/lib/swipl/library/ext/pcre/INDEX.pl +17 -0
- package/lib/swipl/library/ext/pcre/pcre.pl +974 -0
- package/lib/swipl/library/ext/plunit/INDEX.pl +20 -0
- package/lib/swipl/library/ext/plunit/plunit.pl +2631 -0
- package/lib/swipl/library/ext/plunit/test_wizard.pl +249 -0
- package/lib/swipl/library/ext/semweb/semweb/INDEX.pl +288 -0
- package/lib/swipl/library/ext/semweb/semweb/rdf11.pl +2106 -0
- package/lib/swipl/library/ext/semweb/semweb/rdf11_containers.pl +299 -0
- package/lib/swipl/library/ext/semweb/semweb/rdf_cache.pl +278 -0
- package/lib/swipl/library/ext/semweb/semweb/rdf_compare.pl +132 -0
- package/lib/swipl/library/ext/semweb/semweb/rdf_db.pl +3468 -0
- package/lib/swipl/library/ext/semweb/semweb/rdf_edit.pl +1145 -0
- package/lib/swipl/library/ext/semweb/semweb/rdf_http_plugin.pl +274 -0
- package/lib/swipl/library/ext/semweb/semweb/rdf_library.pl +1021 -0
- package/lib/swipl/library/ext/semweb/semweb/rdf_litindex.pl +1035 -0
- package/lib/swipl/library/ext/semweb/semweb/rdf_ntriples.pl +422 -0
- package/lib/swipl/library/ext/semweb/semweb/rdf_persistency.pl +1576 -0
- package/lib/swipl/library/ext/semweb/semweb/rdf_portray.pl +182 -0
- package/lib/swipl/library/ext/semweb/semweb/rdf_prefixes.pl +681 -0
- package/lib/swipl/library/ext/semweb/semweb/rdf_sandbox.pl +153 -0
- package/lib/swipl/library/ext/semweb/semweb/rdf_turtle.pl +54 -0
- package/lib/swipl/library/ext/semweb/semweb/rdf_turtle_write.pl +1587 -0
- package/lib/swipl/library/ext/semweb/semweb/rdf_zlib_plugin.pl +52 -0
- package/lib/swipl/library/ext/semweb/semweb/rdfa.pl +1510 -0
- package/lib/swipl/library/ext/semweb/semweb/rdfs.pl +475 -0
- package/lib/swipl/library/ext/semweb/semweb/sparql_client.pl +643 -0
- package/lib/swipl/library/ext/semweb/semweb/turtle.pl +455 -0
- package/lib/swipl/library/ext/sgml/DTD/HTML4.dcl +88 -0
- package/lib/swipl/library/ext/sgml/DTD/HTML4.dtd +1092 -0
- package/lib/swipl/library/ext/sgml/DTD/HTML4.soc +6 -0
- package/lib/swipl/library/ext/sgml/DTD/HTML5.dtd +906 -0
- package/lib/swipl/library/ext/sgml/DTD/HTMLlat1.ent +195 -0
- package/lib/swipl/library/ext/sgml/DTD/HTMLspec.ent +77 -0
- package/lib/swipl/library/ext/sgml/DTD/HTMLsym.ent +241 -0
- package/lib/swipl/library/ext/sgml/INDEX.pl +64 -0
- package/lib/swipl/library/ext/sgml/c14n2.pl +203 -0
- package/lib/swipl/library/ext/sgml/iso_639.pl +631 -0
- package/lib/swipl/library/ext/sgml/pwp.pl +705 -0
- package/lib/swipl/library/ext/sgml/sgml.pl +815 -0
- package/lib/swipl/library/ext/sgml/sgml_write.pl +1003 -0
- package/lib/swipl/library/ext/sgml/xpath.pl +620 -0
- package/lib/swipl/library/ext/sgml/xsdp_types.pl +232 -0
- package/lib/swipl/library/ext/ssl/INDEX.pl +60 -0
- package/lib/swipl/library/ext/ssl/crypto.pl +1015 -0
- package/lib/swipl/library/ext/ssl/http/INDEX.pl +5 -0
- package/lib/swipl/library/ext/ssl/http/http_ssl_plugin.pl +296 -0
- package/lib/swipl/library/ext/ssl/saml.pl +609 -0
- package/lib/swipl/library/ext/ssl/ssl.pl +647 -0
- package/lib/swipl/library/ext/ssl/xmldsig.pl +391 -0
- package/lib/swipl/library/ext/ssl/xmlenc.pl +354 -0
- package/lib/swipl/library/ext/zlib/INDEX.pl +8 -0
- package/lib/swipl/library/ext/zlib/zlib.pl +112 -0
- package/lib/swipl/library/fastrw.pl +105 -0
- package/lib/swipl/library/files.pl +80 -0
- package/lib/swipl/library/gensym.pl +111 -0
- package/lib/swipl/library/git.pl +1027 -0
- package/lib/swipl/library/hashtable.pl +365 -0
- package/lib/swipl/library/heaps.pl +252 -0
- package/lib/swipl/library/hotfix.pl +239 -0
- package/lib/swipl/library/http/jquery.pl +103 -0
- package/lib/swipl/library/http/web/js/jquery-3.6.0.min.js +2 -0
- package/lib/swipl/library/increval.pl +217 -0
- package/lib/swipl/library/intercept.pl +263 -0
- package/lib/swipl/library/iostream.pl +237 -0
- package/lib/swipl/library/iri_scheme/file.pl +70 -0
- package/lib/swipl/library/lazy_lists.pl +481 -0
- package/lib/swipl/library/listing.pl +1362 -0
- package/lib/swipl/library/lists.pl +860 -0
- package/lib/swipl/library/lynx/INDEX.pl +14 -0
- package/lib/swipl/library/lynx/format.pl +380 -0
- package/lib/swipl/library/lynx/html_style.pl +129 -0
- package/lib/swipl/library/lynx/html_text.pl +865 -0
- package/lib/swipl/library/lynx/pldoc_style.pl +87 -0
- package/lib/swipl/library/macros.pl +451 -0
- package/lib/swipl/library/main.pl +1200 -0
- package/lib/swipl/library/make.pl +197 -0
- package/lib/swipl/library/modules.pl +129 -0
- package/lib/swipl/library/nb_rbtrees.pl +267 -0
- package/lib/swipl/library/nb_set.pl +203 -0
- package/lib/swipl/library/obfuscate.pl +115 -0
- package/lib/swipl/library/occurs.pl +241 -0
- package/lib/swipl/library/operators.pl +182 -0
- package/lib/swipl/library/option.pl +388 -0
- package/lib/swipl/library/optparse.pl +966 -0
- package/lib/swipl/library/ordsets.pl +518 -0
- package/lib/swipl/library/oset.pl +160 -0
- package/lib/swipl/library/pairs.pl +187 -0
- package/lib/swipl/library/persistency.pl +713 -0
- package/lib/swipl/library/pio.pl +47 -0
- package/lib/swipl/library/portray_text.pl +277 -0
- package/lib/swipl/library/pprint.pl +940 -0
- package/lib/swipl/library/predicate_options.pl +975 -0
- package/lib/swipl/library/prolog_autoload.pl +233 -0
- package/lib/swipl/library/prolog_breakpoints.pl +396 -0
- package/lib/swipl/library/prolog_clause.pl +1104 -0
- package/lib/swipl/library/prolog_code.pl +416 -0
- package/lib/swipl/library/prolog_codewalk.pl +1248 -0
- package/lib/swipl/library/prolog_colour.pl +3301 -0
- package/lib/swipl/library/prolog_colour.qlf +0 -0
- package/lib/swipl/library/prolog_config.pl +154 -0
- package/lib/swipl/library/prolog_coverage.pl +1333 -0
- package/lib/swipl/library/prolog_debug.pl +404 -0
- package/lib/swipl/library/prolog_deps.pl +675 -0
- package/lib/swipl/library/prolog_evaluable.pl +234 -0
- package/lib/swipl/library/prolog_format.pl +219 -0
- package/lib/swipl/library/prolog_history.pl +161 -0
- package/lib/swipl/library/prolog_jiti.pl +333 -0
- package/lib/swipl/library/prolog_locale.pl +61 -0
- package/lib/swipl/library/prolog_metainference.pl +307 -0
- package/lib/swipl/library/prolog_pack.pl +3906 -0
- package/lib/swipl/library/prolog_profile.pl +346 -0
- package/lib/swipl/library/prolog_qlfmake.pl +533 -0
- package/lib/swipl/library/prolog_source.pl +1188 -0
- package/lib/swipl/library/prolog_stack.pl +794 -0
- package/lib/swipl/library/prolog_trace.pl +365 -0
- package/lib/swipl/library/prolog_versions.pl +347 -0
- package/lib/swipl/library/prolog_wrap.pl +164 -0
- package/lib/swipl/library/prolog_xref.pl +3090 -0
- package/lib/swipl/library/prolog_xref.qlf +0 -0
- package/lib/swipl/library/pure_input.pl +266 -0
- package/lib/swipl/library/qpforeign.pl +695 -0
- package/lib/swipl/library/qsave.pl +1516 -0
- package/lib/swipl/library/quasi_quotations.pl +300 -0
- package/lib/swipl/library/quintus.pl +437 -0
- package/lib/swipl/library/random.pl +459 -0
- package/lib/swipl/library/rbtrees.pl +1153 -0
- package/lib/swipl/library/readln.pl +256 -0
- package/lib/swipl/library/readutil.pl +304 -0
- package/lib/swipl/library/record.pl +544 -0
- package/lib/swipl/library/rwlocks.pl +172 -0
- package/lib/swipl/library/sandbox.pl +1384 -0
- package/lib/swipl/library/semweb/dc.rdfs +198 -0
- package/lib/swipl/library/semweb/eor.rdfs +95 -0
- package/lib/swipl/library/semweb/owl.owl +287 -0
- package/lib/swipl/library/semweb/rdf_library.ttl +90 -0
- package/lib/swipl/library/semweb/rdfs.rdfs +251 -0
- package/lib/swipl/library/settings.pl +755 -0
- package/lib/swipl/library/shell.pl +462 -0
- package/lib/swipl/library/shlib.pl +670 -0
- package/lib/swipl/library/solution_sequences.pl +439 -0
- package/lib/swipl/library/sort.pl +119 -0
- package/lib/swipl/library/statistics.pl +541 -0
- package/lib/swipl/library/streams.pl +118 -0
- package/lib/swipl/library/strings.pl +469 -0
- package/lib/swipl/library/system.pl +95 -0
- package/lib/swipl/library/tables.pl +381 -0
- package/lib/swipl/library/tableutil.pl +771 -0
- package/lib/swipl/library/tabling.pl +42 -0
- package/lib/swipl/library/terms.pl +457 -0
- package/lib/swipl/library/theme/auto.pl +61 -0
- package/lib/swipl/library/theme/dark.pl +455 -0
- package/lib/swipl/library/theme/light.pl +45 -0
- package/lib/swipl/library/thread.pl +810 -0
- package/lib/swipl/library/thread_pool.pl +508 -0
- package/lib/swipl/library/threadutil.pl +574 -0
- package/lib/swipl/library/tty.pl +316 -0
- package/lib/swipl/library/ugraphs.pl +644 -0
- package/lib/swipl/library/unicode/INDEX.pl +6 -0
- package/lib/swipl/library/unicode/blocks.pl +414 -0
- package/lib/swipl/library/url.pl +1129 -0
- package/lib/swipl/library/utf8.pl +145 -0
- package/lib/swipl/library/varnumbers.pl +221 -0
- package/lib/swipl/library/vm.pl +251 -0
- package/lib/swipl/library/wfs.pl +205 -0
- package/lib/swipl/library/when.pl +263 -0
- package/lib/swipl/library/writef.pl +278 -0
- package/lib/swipl/library/www_browser.pl +251 -0
- package/lib/swipl/library/yall.pl +574 -0
- package/lib/swipl/library/zip.pl +211 -0
- package/lib/swipl/swipl.home +1 -0
- package/lib/vendor/libcrypto.so.3 +0 -0
- package/lib/vendor/libpcre2-8.so.0 +0 -0
- package/lib/vendor/libssl.so.3 +0 -0
- package/lib/vendor/libz.so.1 +0 -0
- package/licenses/OpenSSL-LICENSE.txt +177 -0
- package/licenses/PCRE2-COPYING +5 -0
- package/licenses/README.md +12 -0
- package/licenses/SWI-Prolog-LICENSE +41 -0
- package/licenses/zlib-LICENSE +22 -0
- package/package.json +27 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/* Part of SWI-Prolog
|
|
2
|
+
|
|
3
|
+
Author: Jan Wielemaker
|
|
4
|
+
E-mail: J.Wielemaker@vu.nl
|
|
5
|
+
WWW: http://www.swi-prolog.org
|
|
6
|
+
Copyright (c) 2009-2013, University of Amsterdam
|
|
7
|
+
VU University Amsterdam
|
|
8
|
+
All rights reserved.
|
|
9
|
+
|
|
10
|
+
Redistribution and use in source and binary forms, with or without
|
|
11
|
+
modification, are permitted provided that the following conditions
|
|
12
|
+
are met:
|
|
13
|
+
|
|
14
|
+
1. Redistributions of source code must retain the above copyright
|
|
15
|
+
notice, this list of conditions and the following disclaimer.
|
|
16
|
+
|
|
17
|
+
2. Redistributions in binary form must reproduce the above copyright
|
|
18
|
+
notice, this list of conditions and the following disclaimer in
|
|
19
|
+
the documentation and/or other materials provided with the
|
|
20
|
+
distribution.
|
|
21
|
+
|
|
22
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
23
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
24
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
25
|
+
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
26
|
+
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
27
|
+
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
28
|
+
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
29
|
+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
30
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
31
|
+
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
32
|
+
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
33
|
+
POSSIBILITY OF SUCH DAMAGE.
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
:- module(commons,
|
|
37
|
+
[ feature/1 % +Feature
|
|
38
|
+
]).
|
|
39
|
+
:- use_module(library(error)).
|
|
40
|
+
|
|
41
|
+
/** <module> Implement Prolog Commons infrastructure
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
:- multifile
|
|
45
|
+
feature/1.
|
|
46
|
+
|
|
47
|
+
%% new_declaration(+PredicateIndicator)
|
|
48
|
+
%
|
|
49
|
+
% Directive that tells the system that PredicateIndicator can be
|
|
50
|
+
% used as a directive.
|
|
51
|
+
|
|
52
|
+
user:term_expansion(new_declaration(Name/Arity),
|
|
53
|
+
'$directive'(Head)) :-
|
|
54
|
+
functor(Head, Name, Arity).
|
|
55
|
+
user:term_expansion((:- Directive), []) :-
|
|
56
|
+
current_predicate('$directive'/1),
|
|
57
|
+
'$directive'(Directive).
|
|
58
|
+
user:term_expansion((:- module(Name, Public, Import)),
|
|
59
|
+
[ (:- module(Name, Public))
|
|
60
|
+
| ImportsDecls
|
|
61
|
+
]) :-
|
|
62
|
+
maplist(import_decl, Import, ImportsDecls).
|
|
63
|
+
|
|
64
|
+
import_decl(Name,
|
|
65
|
+
use_module(library(dialect/Name))).
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
%% feature(+Feature) is semidet.
|
|
69
|
+
%
|
|
70
|
+
% Provide the condition for :- if(feature(...)).
|
|
71
|
+
|
|
72
|
+
feature(Var) :-
|
|
73
|
+
var(Var), !,
|
|
74
|
+
instantiation_error(Var).
|
|
75
|
+
feature(implementation_defined(PI)) :-
|
|
76
|
+
current_predicate(PI).
|
|
77
|
+
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
/* Author: Joachim Schimpf
|
|
2
|
+
Year: 2013
|
|
3
|
+
|
|
4
|
+
This code is given to the public domain "as is". Use at your own risk.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
:- module(test_util_iso,
|
|
8
|
+
[ test/1, % +File
|
|
9
|
+
test/2 % +File, +ReportFile
|
|
10
|
+
]).
|
|
11
|
+
:- use_module(library(apply)).
|
|
12
|
+
:- use_module(library(ansi_term)).
|
|
13
|
+
|
|
14
|
+
/** <module> ECLiPSe test automation
|
|
15
|
+
|
|
16
|
+
Use this library as follows: Write a file with test patterns, using the
|
|
17
|
+
primitives should_fail/1, should_give/2, and should_throw/2, e.g.
|
|
18
|
+
|
|
19
|
+
==
|
|
20
|
+
3.0 > 3 should_fail.
|
|
21
|
+
X is 3.0+4 should_give X==7.0.
|
|
22
|
+
throw(ball) should_throw ball.
|
|
23
|
+
arg(0,atom,A) should_throw error(type_error(compound,atom),_).
|
|
24
|
+
==
|
|
25
|
+
|
|
26
|
+
The file name should have a .tst extension, e.g. mytests.tst. Then run
|
|
27
|
+
all the test in that file by loading this library and calling
|
|
28
|
+
test('mytests.tst'). This will print a message for every test, and a
|
|
29
|
+
summary at the end. To write the results to a file, use test/2 (see
|
|
30
|
+
below).
|
|
31
|
+
|
|
32
|
+
To temporarily disable a test in a test file, use the fixme prefix, e.g.
|
|
33
|
+
|
|
34
|
+
==
|
|
35
|
+
fixme X is 0/0 should_throw error(evaluation_error(undefined),_).
|
|
36
|
+
==
|
|
37
|
+
|
|
38
|
+
The test procedure will skip those and print a count a the end.
|
|
39
|
+
|
|
40
|
+
The primitives should_fail/1, should_give/2, should_throw/2 and fixme/1
|
|
41
|
+
are also predicates that can be called directly.
|
|
42
|
+
|
|
43
|
+
$ Goal should_fail :
|
|
44
|
+
Run the goal Goal and print a message if it doesn't fail.
|
|
45
|
+
|
|
46
|
+
$ Goal should_give +CheckGoal :
|
|
47
|
+
Run the goal Goal and print a message if Goal does not succeed, or
|
|
48
|
+
if the result doesn't satisfy CheckGoal.
|
|
49
|
+
|
|
50
|
+
CheckGoal can be an arbitrary user-defined goal. In this case, the
|
|
51
|
+
first solution of Goal is committed to, and CheckGoal executed with
|
|
52
|
+
the variable instantiations of this solution.
|
|
53
|
+
|
|
54
|
+
To allow verification of goals with multiple solutions, one special
|
|
55
|
+
form of CheckGoal is recognised:
|
|
56
|
+
|
|
57
|
+
==
|
|
58
|
+
multiple_solutions(SolCountVar, FinalCheck, SolutionCheck)
|
|
59
|
+
==
|
|
60
|
+
|
|
61
|
+
where SolCountVar should be a fresh variable. With such a
|
|
62
|
+
CheckGoal, ALL solutions to Goal will be generated. For each
|
|
63
|
+
solution, SolutionCheck will be executed with the variable
|
|
64
|
+
instantiations of this solution, and with SolCountVar
|
|
65
|
+
instantiated to the number of this solution (starting from 1).
|
|
66
|
+
After all solutions have been found, FinalCheck will be executed,
|
|
67
|
+
with SolCountVar instantiated to the total number of solutions.
|
|
68
|
+
|
|
69
|
+
==
|
|
70
|
+
member(X,[a,b,c]) should_give
|
|
71
|
+
multiple_solutions(K, K==3,
|
|
72
|
+
( K==1 -> X==a
|
|
73
|
+
; K==2 -> X==b
|
|
74
|
+
; K==3 -> X==c
|
|
75
|
+
)).
|
|
76
|
+
==
|
|
77
|
+
|
|
78
|
+
$ Goal should_throw +Exception :
|
|
79
|
+
Run the goal Goal and print a message if it doesn't throw Exception.
|
|
80
|
+
The exception term thrown must be an instance (see subsumes_term/2)
|
|
81
|
+
of Exception>
|
|
82
|
+
|
|
83
|
+
$ fixme +SkippedTest :
|
|
84
|
+
Skip a test that is known to fail.
|
|
85
|
+
fixme/1 is a low-precedence prefix operator, and can thus be
|
|
86
|
+
textually prefixed to any other test. Its effect is that the test
|
|
87
|
+
is skipped (not executed). When multiple tests are done, the number
|
|
88
|
+
of skipped tests gets reported at the end. Skipped tests count as
|
|
89
|
+
neither succeeded or failed.",
|
|
90
|
+
*/
|
|
91
|
+
|
|
92
|
+
report(brief).
|
|
93
|
+
|
|
94
|
+
:- op(1200, fy, fixme).
|
|
95
|
+
:- op(1110, xf, should_fail).
|
|
96
|
+
:- op(1110, xfx, should_give).
|
|
97
|
+
:- op(1110, xfx, should_output).
|
|
98
|
+
:- op(1110, xfx, should_throw).
|
|
99
|
+
:- op(1110, xfx, should_raise).
|
|
100
|
+
:- op(1110, xfx, output).
|
|
101
|
+
|
|
102
|
+
%% test(+TestFile) is det.
|
|
103
|
+
%
|
|
104
|
+
% Runs all the test patterns in TestFile.
|
|
105
|
+
|
|
106
|
+
test(FileIn) :-
|
|
107
|
+
setup_call_cleanup(
|
|
108
|
+
open(FileIn, read, In),
|
|
109
|
+
test_stream(In, user_error),
|
|
110
|
+
close(In)).
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
%% test(+TestFile, +ResultFile) is det.
|
|
114
|
+
%
|
|
115
|
+
% Runs all the test patterns in TestFile, and logs results in
|
|
116
|
+
% ResultFile.
|
|
117
|
+
|
|
118
|
+
test(FileIn, FileOut) :-
|
|
119
|
+
setup_call_cleanup(
|
|
120
|
+
open(FileIn, read, In),
|
|
121
|
+
setup_call_cleanup(
|
|
122
|
+
open(FileOut, write, Out),
|
|
123
|
+
test_stream(In, Out),
|
|
124
|
+
close(Out)),
|
|
125
|
+
close(In)).
|
|
126
|
+
|
|
127
|
+
test_stream(In, Out) :-
|
|
128
|
+
stream_property(In, file_name(File)),
|
|
129
|
+
format(Out, '~N% Running ECLiPSe tests from file ~w~n', [File]),
|
|
130
|
+
counter_set(test_count, 0),
|
|
131
|
+
counter_set(non_test_count, 0),
|
|
132
|
+
counter_set(succeeded_test_count, 0),
|
|
133
|
+
counter_set(failed_test_count, 0),
|
|
134
|
+
counter_set(skipped_test_count, 0),
|
|
135
|
+
repeat,
|
|
136
|
+
catch(catch(read_term(In, Test,
|
|
137
|
+
[ module(test_util_iso)
|
|
138
|
+
]), SyntaxError,
|
|
139
|
+
unexpected(Out, 0, valid_syntax, throw(SyntaxError))),
|
|
140
|
+
continue, fail),
|
|
141
|
+
source_location(_File, Line),
|
|
142
|
+
( Test \== end_of_file ->
|
|
143
|
+
counter_inc(test_count),
|
|
144
|
+
counter_get(test_count, N),
|
|
145
|
+
catch(interpret_test(Test, t(File,Line,N), Out), continue, true),
|
|
146
|
+
fail
|
|
147
|
+
;
|
|
148
|
+
counter_get(test_count, N),
|
|
149
|
+
counter_get(succeeded_test_count, TN),
|
|
150
|
+
counter_get(failed_test_count, FN),
|
|
151
|
+
counter_get(skipped_test_count, SN),
|
|
152
|
+
counter_get(non_test_count, NN),
|
|
153
|
+
format(Out, '~N% Finished tests from file ~w~n', [File]),
|
|
154
|
+
format(Out, '% ~D tests found.~n', [N]),
|
|
155
|
+
( NN==0 -> true ; format(Out, '% ~D ignored as malformed.~n', [NN]) ),
|
|
156
|
+
format(Out, '% ~D tests succeeded.~n', [TN]),
|
|
157
|
+
( FN==0 -> true ; format(Out, '% ~D tests failed.~n', [FN]) ),
|
|
158
|
+
( SN==0 -> true ; format(Out, '% ~D tests skipped.~n', [SN]) )
|
|
159
|
+
),
|
|
160
|
+
!,
|
|
161
|
+
FN =:= 0.
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
interpret_test((fixme Test), Name, Stream) :- !,
|
|
165
|
+
fixme(Test, Name, Stream).
|
|
166
|
+
interpret_test((Goal should_fail), Name, Stream) :- !,
|
|
167
|
+
should_fail(Goal, Name, Stream).
|
|
168
|
+
interpret_test((Goal should_give Check), Name, Stream) :- !,
|
|
169
|
+
should_give(Goal, Check, Name, Stream).
|
|
170
|
+
interpret_test((Goal should_output Check), Name, Stream) :- !,
|
|
171
|
+
should_output(Goal, Check, Name, Stream).
|
|
172
|
+
interpret_test((Goal should_throw Ball), Name, Stream) :- !,
|
|
173
|
+
should_throw(Goal, Ball, Name, Stream).
|
|
174
|
+
interpret_test((Goal should_raise Exception), Name, Stream) :- !,
|
|
175
|
+
( Exception==4 -> Ball = error(instantiation_error,_)
|
|
176
|
+
; Exception==5 -> Ball = error(type_error(_,_),_)
|
|
177
|
+
; Exception==24 -> Ball = error(type_error(_,_),_)
|
|
178
|
+
; Exception==6 -> Ball = error(domain_error(_,_),_)
|
|
179
|
+
; Ball = error(_,_)
|
|
180
|
+
),
|
|
181
|
+
should_throw(Goal, Ball, Name, Stream).
|
|
182
|
+
interpret_test(_Goal, Name, Stream) :-
|
|
183
|
+
write(Stream, 'Non-test goal '), write(Stream, Name),
|
|
184
|
+
write(Stream, ': ignored'), nl(Stream),
|
|
185
|
+
counter_inc(non_test_count).
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
fixme(Test) :-
|
|
190
|
+
current_output(Stream),
|
|
191
|
+
catch(fixme(Test, Test, Stream), continue, true).
|
|
192
|
+
|
|
193
|
+
fixme(_Test, Name, Stream) :-
|
|
194
|
+
write(Stream, 'Test '), write(Stream, Name),
|
|
195
|
+
write(Stream, ': skipped'), nl(Stream),
|
|
196
|
+
counter_inc(skipped_test_count),
|
|
197
|
+
throw(continue).
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
Goal should_fail :-
|
|
202
|
+
current_output(Stream),
|
|
203
|
+
catch(should_fail(Goal, Goal, Stream), continue, true).
|
|
204
|
+
|
|
205
|
+
should_fail(Goal, Name, Stream) :-
|
|
206
|
+
( catch(Goal, Ball, unexpected(Stream,Name,failure,throw(Ball))) ->
|
|
207
|
+
unexpected(Stream, Name, failure, success)
|
|
208
|
+
;
|
|
209
|
+
expected_outcome(Stream, Name)
|
|
210
|
+
).
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
Goal should_give Check :-
|
|
215
|
+
current_output(Stream),
|
|
216
|
+
catch(should_give(Goal, Check, Goal, Stream), continue, true).
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
should_give(_Goal, Check, Name, Stream) :- \+ callable(Check), !,
|
|
220
|
+
unexpected(Stream, Name, success, illegal_check(Check)).
|
|
221
|
+
|
|
222
|
+
should_give(Goal, multiple_solutions(K,TotalCheck,SolutionCheck), Name, Stream) :- !,
|
|
223
|
+
counter_set(solutions, 0),
|
|
224
|
+
(
|
|
225
|
+
catch(Goal, Ball, unexpected(Stream,Name,'success or failure',throw(Ball))),
|
|
226
|
+
counter_inc(solutions),
|
|
227
|
+
( counter_get(solutions, K), catch(SolutionCheck, _, fail) ->
|
|
228
|
+
fail % next solution
|
|
229
|
+
;
|
|
230
|
+
unexpected(Stream, Name, success, failed_check(SolutionCheck))
|
|
231
|
+
)
|
|
232
|
+
;
|
|
233
|
+
( counter_get(solutions, K), catch(TotalCheck, _, fail) ->
|
|
234
|
+
expected_outcome(Stream, Name)
|
|
235
|
+
;
|
|
236
|
+
unexpected(Stream,Name,success,failed_check(TotalCheck))
|
|
237
|
+
)
|
|
238
|
+
).
|
|
239
|
+
|
|
240
|
+
should_give(Goal, Check, Name, Stream) :-
|
|
241
|
+
( catch(Goal, Ball, unexpected(Stream,Name,success,throw(Ball))) ->
|
|
242
|
+
( catch(Check, _, fail) ->
|
|
243
|
+
expected_outcome(Stream, Name)
|
|
244
|
+
;
|
|
245
|
+
unexpected(Stream, Name, success, failed_check(Check))
|
|
246
|
+
)
|
|
247
|
+
;
|
|
248
|
+
unexpected(Stream, Name, success, failure)
|
|
249
|
+
).
|
|
250
|
+
|
|
251
|
+
Goal should_output ExpectedText :-
|
|
252
|
+
current_output(Stream),
|
|
253
|
+
catch(should_output(Goal, ExpectedText, Goal, Stream), continue, true).
|
|
254
|
+
|
|
255
|
+
should_output(Goal, ExpectedText, Name, Stream) :-
|
|
256
|
+
( catch(with_output_to(atom(OutputAtom), Goal), Ball,
|
|
257
|
+
unexpected(Stream,Name,Goal,success,throw(Ball))) ->
|
|
258
|
+
atom_chars(OutputAtom, OutputChars),
|
|
259
|
+
( output_matches_expected(ExpectedText, OutputChars, OutputAtom) ->
|
|
260
|
+
expected_outcome(Stream, Name)
|
|
261
|
+
;
|
|
262
|
+
most_readable_text(ExpectedText, MessageText),
|
|
263
|
+
unexpected(Stream, Name, Goal, output(MessageText), actual_output(OutputAtom))
|
|
264
|
+
)
|
|
265
|
+
; unexpected(Stream, Name, Goal, success, failure)
|
|
266
|
+
).
|
|
267
|
+
|
|
268
|
+
output_matches_expected(ExpectedText, OutputChars, OutputAtom) :-
|
|
269
|
+
( var(ExpectedText)
|
|
270
|
+
; ExpectedText == [], OutputChars == []
|
|
271
|
+
; atom(ExpectedText), OutputAtom == ExpectedText
|
|
272
|
+
; catch(atom_string(OutputAtom, ExpectedText), _, fail)
|
|
273
|
+
; ExpectedText = [_|_],
|
|
274
|
+
( subsumes_term(ExpectedText, OutputChars)
|
|
275
|
+
; chars_codes(OutputChars, OutputCodes),
|
|
276
|
+
subsumes_term(ExpectedText, OutputCodes)
|
|
277
|
+
)
|
|
278
|
+
), !.
|
|
279
|
+
|
|
280
|
+
most_readable_text(T, R) :- atom(T), !, R = T.
|
|
281
|
+
most_readable_text(T, R) :- catch(string(T),_,fail), !, R = T.
|
|
282
|
+
most_readable_text(T, R) :-
|
|
283
|
+
catch(atom_codes(A, T), _, fail),
|
|
284
|
+
!, R = A.
|
|
285
|
+
most_readable_text(T, R) :-
|
|
286
|
+
catch(atom_chars(A, T), _, fail),
|
|
287
|
+
!, R = A.
|
|
288
|
+
most_readable_text(T, T).
|
|
289
|
+
|
|
290
|
+
chars_codes([], []).
|
|
291
|
+
chars_codes([Char|Chars], [Code|Codes]) :-
|
|
292
|
+
char_code(Char, Code),
|
|
293
|
+
chars_codes(Chars, Codes).
|
|
294
|
+
|
|
295
|
+
Goal should_throw Ball :-
|
|
296
|
+
current_output(Stream),
|
|
297
|
+
catch(should_throw(Goal, Ball, Goal, Stream), continue, true).
|
|
298
|
+
|
|
299
|
+
should_throw(Goal, Expected, Name, Stream) :-
|
|
300
|
+
( catch(with_output_to(string(_), Goal), Ball,
|
|
301
|
+
( subsumes_term(Expected,Ball) ->
|
|
302
|
+
expected_outcome(Stream, Name)
|
|
303
|
+
;
|
|
304
|
+
unexpected(Stream, Name, throw(Expected), throw(Ball))
|
|
305
|
+
)
|
|
306
|
+
)
|
|
307
|
+
->
|
|
308
|
+
unexpected(Stream, Name, throw(Expected), success)
|
|
309
|
+
;
|
|
310
|
+
unexpected(Stream, Name, throw(Expected), failure)
|
|
311
|
+
).
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
expected_outcome(Stream, t(_File,Line,TestNo)) =>
|
|
316
|
+
( report(brief)
|
|
317
|
+
-> put_char(Stream, '.'),
|
|
318
|
+
flush_output(Stream)
|
|
319
|
+
; format(Stream, '~NTest ~w at line ~d: OK~n', [TestNo, Line])
|
|
320
|
+
),
|
|
321
|
+
counter_inc(succeeded_test_count),
|
|
322
|
+
throw(continue).
|
|
323
|
+
|
|
324
|
+
unexpected(Stream, t(File,Line,TestNo), Expected, Outcome) =>
|
|
325
|
+
ansi_format(Stream, error,
|
|
326
|
+
'~NTest ~w at ~w:~w: ~n~texpected ~12|~q,~n~tgot ~12|~q~n',
|
|
327
|
+
[TestNo, File, Line, Expected, Outcome]),
|
|
328
|
+
counter_inc(failed_test_count),
|
|
329
|
+
throw(continue).
|
|
330
|
+
|
|
331
|
+
unexpected(Stream, t(File,Line,TestNo), Goal, Expected, Outcome) =>
|
|
332
|
+
ansi_format(Stream, error, 'Test ~w at ~w:~w:~n', [TestNo,File,Line]),
|
|
333
|
+
ansi_format(Stream, error, ' Expected ~p~n', [Expected]),
|
|
334
|
+
ansi_format(Stream, error, ' Got ~p~n', [Outcome]),
|
|
335
|
+
ansi_format(Stream, error, ' Goal ~p~n', [Goal]),
|
|
336
|
+
counter_inc(failed_test_count),
|
|
337
|
+
throw(continue).
|
|
338
|
+
|
|
339
|
+
%
|
|
340
|
+
% ISO implementation of non-backtrackable counters
|
|
341
|
+
%
|
|
342
|
+
|
|
343
|
+
:- dynamic(counter/2).
|
|
344
|
+
|
|
345
|
+
counter_set(Name, Value) :-
|
|
346
|
+
retractall(counter(Name,_)),
|
|
347
|
+
asserta(counter(Name,Value)).
|
|
348
|
+
|
|
349
|
+
counter_inc(Name) :-
|
|
350
|
+
( retract(counter(Name,N0)) -> N1 is N0+1 ; N1 = 1 ),
|
|
351
|
+
asserta(counter(Name,N1)).
|
|
352
|
+
|
|
353
|
+
counter_get(Name, Value) :-
|
|
354
|
+
counter(Name, Value).
|
|
355
|
+
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/* Part of SWI-Prolog
|
|
2
|
+
|
|
3
|
+
Author: Jan Wielemaker
|
|
4
|
+
E-mail: J.Wielemaker@vu.nl
|
|
5
|
+
WWW: http://www.swi-prolog.org
|
|
6
|
+
Copyright (c) 2013, VU University Amsterdam
|
|
7
|
+
All rights reserved.
|
|
8
|
+
|
|
9
|
+
Redistribution and use in source and binary forms, with or without
|
|
10
|
+
modification, are permitted provided that the following conditions
|
|
11
|
+
are met:
|
|
12
|
+
|
|
13
|
+
1. Redistributions of source code must retain the above copyright
|
|
14
|
+
notice, this list of conditions and the following disclaimer.
|
|
15
|
+
|
|
16
|
+
2. Redistributions in binary form must reproduce the above copyright
|
|
17
|
+
notice, this list of conditions and the following disclaimer in
|
|
18
|
+
the documentation and/or other materials provided with the
|
|
19
|
+
distribution.
|
|
20
|
+
|
|
21
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
22
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
23
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
24
|
+
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
25
|
+
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
26
|
+
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
27
|
+
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
28
|
+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
29
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
30
|
+
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
31
|
+
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
32
|
+
POSSIBILITY OF SUCH DAMAGE.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
:- module(format,
|
|
36
|
+
[ format/2, % +Format, +Args
|
|
37
|
+
format/3 % +Stream, +Format, +Args
|
|
38
|
+
]).
|
|
39
|
+
|
|
40
|
+
/** <module> hProlog compatible format library
|
|
41
|
+
|
|
42
|
+
This library is a dummy library for format/2 and format/3. The actual
|
|
43
|
+
implementation is left to SWI-Prolog's built in predicates.
|
|
44
|
+
*/
|