• Places
    • Home
    • Graphs
    • Prefixes
  • Admin
    • Users
    • Settings
    • Plugins
    • Statistics
  • CPACK
    • Home
    • List packs
    • Submit pack
  • Repository
    • Load local file
    • Load from HTTP
    • Load from library
    • Remove triples
    • Clear repository
  • Query
    • YASGUI SPARQL Editor
    • Simple Form
    • SWISH Prolog shell
  • Help
    • Documentation
    • Tutorial
    • Roadmap
    • HTTP Services
  • Login

/usr/lib/swipl/library/check.pl
All Application Manual Name SummaryHelp

  • swipl
    • library
      • error.pl
      • debug.pl -- Print debug messages and test assertions
      • apply.pl -- Apply predicates on a list
      • lists.pl
      • broadcast.pl -- Event service
      • shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects)
      • option.pl
      • thread_pool.pl -- Resource bounded thread management
      • gensym.pl -- Generate unique symbols
      • settings.pl -- Setting management
      • arithmetic.pl
      • main.pl
      • readutil.pl -- Read utilities
      • operators.pl
      • pairs.pl -- Operations on key-value lists
      • prolog_source.pl -- Examine Prolog source-files
      • quasi_quotations.pl
      • url.pl -- Analysing and constructing URL
      • www_browser.pl
      • prolog_colour.pl
      • record.pl -- Access compound arguments by name
      • prolog_xref.pl -- Prolog cross-referencer data collection
      • occurs.pl -- Finding and counting sub-terms
      • ordsets.pl -- Ordered set manipulation
      • assoc.pl -- Binary associations
      • ugraphs.pl -- Graph manipulation library
      • solution_sequences.pl -- Modify solution sequences
      • atom.pl
      • prolog_pack.pl -- A package manager for Prolog
      • git.pl -- Run GIT commands
      • ctypes.pl -- Character code classification
      • utf8.pl
      • base64.pl
      • persistency.pl
      • pure_input.pl
      • nb_set.pl -- Non-backtrackable sets
      • aggregate.pl
      • csv.pl -- Process CSV (Comma-Separated Values) data
      • iostream.pl -- Utilities to deal with streams
      • dialect.pl
      • apply_macros.pl -- Goal expansion rules to avoid meta-calling
      • yall.pl -- Lambda expressions
      • prolog_code.pl -- Utilities for reasoning about code
      • dif.pl -- The dif/2 constraint
      • thread.pl -- High level thread primitives
      • predicate_options.pl -- Access and analyse predicate options
      • rbtrees.pl
      • nb_rbtrees.pl
      • sandbox.pl
      • prolog_format.pl -- Analyse format specifications
      • random.pl -- Random numbers
      • pprint.pl -- Pretty Print Prolog terms
      • modules.pl -- Module utility predicates
      • lazy_lists.pl
      • edinburgh.pl
      • prolog_clause.pl
      • prolog_breakpoints.pl -- Manage Prolog break-points
      • dicts.pl
      • heaps.pl
      • backcomp.pl -- Backward compatibility
      • date.pl
      • prolog_profile.pl -- Execution profiler
      • listing.pl -- List programs and pretty print clauses
      • quintus.pl -- Quintus compatibility
      • oset.pl
      • varnumbers.pl
      • tables.pl -- XSB interface to tables
      • charsio.pl
      • terms.pl -- Term manipulation
      • make.pl -- Reload modified source files
      • streams.pl -- Manage Prolog streams
      • rwlocks.pl -- Read/write locks
      • threadutil.pl -- Interactive thread utilities
      • wfs.pl
      • prolog_stack.pl -- Examine the Prolog stack
      • check.pl -- Consistency checking
        • check/0
        • list_undefined/0
        • list_undefined/1
        • list_autoload/0
        • list_redefined/0
        • list_cross_module_calls/0
        • list_void_declarations/0
        • list_trivial_fails/0
        • list_trivial_fails/1
        • trivial_fail_goal/1
        • list_strings/0
        • list_strings/1
        • list_rationals/0
        • list_rationals/1
        • list_format_errors/0
        • list_format_errors/1
        • string_predicate/1
        • valid_string_goal/1
        • checker/2
        • list_confusable_identifiers/0
        • list_confusable_identifiers/1
      • intercept.pl -- Intercept and signal interface
      • prolog_coverage.pl
      • prolog_debug.pl -- User level debugging tools
      • increval.pl -- Incremental dynamic predicate modification
      • help.pl -- Text based manual
      • portray_text.pl
      • statistics.pl -- Get information about resource usage
      • optparse.pl
      • ansi_term.pl
      • hashtable.pl
      • coinduction.pl
      • qsave.pl
      • zip.pl
      • prolog_history.pl
      • codesio.pl -- I/O on Lists of Character Codes
      • shell.pl -- Elementary shell commands
      • when.pl -- Conditional coroutining
      • system.pl -- System utilities
      • prolog_jiti.pl
      • prolog_codewalk.pl -- Prolog code walker
      • exceptions.pl -- Exception classification
      • base32.pl
      • sort.pl
      • prolog_versions.pl
      • edit.pl
      • macros.pl -- Macro expansion
      • prolog_autoload.pl -- Autoload all dependencies
      • writef.pl -- Old-style formatted write
      • strings.pl -- String utilities
      • tableutil.pl
      • tty.pl
      • prolog_config.pl
      • explain.pl
      • fastrw.pl
      • prolog_trace.pl
      • files.pl
      • prolog_wrap.pl -- Wrapping predicates
      • prolog_metainference.pl
 list_confusable_identifiers is det
 list_confusable_identifiers(+Options) is det
Walk every clause in the modules selected by module_class (default [user]) and warn on atoms whose written form is a possible UTS #39 spoof. Two issues are reported:
  • an atom whose unicode_restriction_level/2 is not safe (worse than single_script), reported at the first source location where it occurs;
  • groups of distinct atoms with equal unicode_skeleton/2 — two identifiers in the same program that look the same.

    Only atoms whose written form does not require quotes are considered (see '$needs_quotes'/1). Loaded via the multifile check:checker/2 hook, so a plain check/0 runs this check too.

ClioPatria (version V3.1.1-59-g7b9a7a3)