Pith. sign in

REVIEW 4 major objections 5 minor 34 references

Graph-Linguistic Fusion: Using Language Models for Wikidata Vandalism Detection

T0 review · 4 major / 5 minor · reviewed 2026-08-07 · deepseek-v4-flash

Pith's one-line read The paper claims that converting every Wikidata edit into text and scoring all changes with one multilingual language model produces a vandalism detector that beats the current production system on performance and fairness.

desk verdict Practical, reproducible win for Wikidata vandalism detection; the head-to-head vs ORES is credible, but the fairness claims need error bars and the filter sensitivity needs a robustness check. read the letter →

arxiv 2505.18136 v1 pith:5KDKFQLX submitted 2025-05-23 cs.CL cs.AI

classification cs.CLcs.AI
keywords WikidatavandalismdetectionknowledgegraphsmultilinguallanguagemodelsGraph2Textrevertpredictionfairnesscontentmoderation
verification ladder T0 review T1 audit T2 compute T3 formal

The pith

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

The reading

The paper proposes Graph2Text, a vandalism-detection system for Wikidata that turns every edit into text before scoring it. Structured changes to factual triples and unstructured changes to labels, aliases, and descriptions are serialized as sentences, tagged with their operation type, and passed to a single multilingual language model, whose per-change scores are pooled and combined with edit metadata by a second classifier. On a three-month held-out set of human edits, the system reports an area-under-the-ROC-curve (AUC) of 0.924 versus 0.859 for the current production model, and the gap persists on a 755-revision expert-labeled sample (0.932 vs. 0.885). The paper also reports that reviewers would need to look at 29% rather than 55% of revisions to catch 99% of vandalism, and that the score gap between anonymous and registered users shrinks to near zero. The authors release the code and a dataset of roughly 4.8 million Wikidata revisions to support further work.

What carries the argument

The load-bearing device is Graph2Text, the serialization of Wikidata edits into text. Each change, whether a triple addition, a label change, or a removal, becomes a sentence built by mapping entity and property IDs to English labels (with unknown for the roughly 9% of IDs lacking labels) and prefixing the operation type, in the style of text-to-text models. That lets a single multilingual transformer, fine-tuned for binary revert prediction, consume structured and unstructured edits alike, with its change-level outputs mean-pooled per revision. A second stage, a gradient-boosted classifier, combines the pooled content score with revision metadata such as account age and time since the last edit, and emits the final revert-risk score.

What would settle it

Hand-label a random sample of the 57.7% of reverted revisions the pipeline filters out and score those revisions with both Graph2Text and the production model; if the excluded reverts are mostly clean or rank differently, the filtering choice, not the method, would explain the reported advantage.

Watch

Extended reading notes

Core claim

The central claim is that a single text-serialization step makes one multilingual language model sufficient for every kind of Wikidata edit, and that this content-rich approach beats the current production system on both accuracy and fairness. Graph2Text maps Wikidata IDs in triples to English labels, prepends an edit-type prefix such as insert or remove, and fine-tunes a multilingual transformer classifier on the resulting text; per-revision probability is the mean of its change-level scores, which is then fed together with revision metadata into a gradient-boosted classifier. In evaluation, this beats the production model on the holdout set (AUC 0.924 vs. 0.859), on expert labels (0.932 vs. 0.885), and at every filter-rate and recall operating point. The paper further claims improved fairness: lower disparate-impact ratios for anonymous and new users and a near-zero difference in AUC between anonymous and registered users, though a content-only variant is fairer still.

Load-bearing premise

The evaluation treats a filtered revert as a clean proxy for vandalism after removing self-reverts and edit-war revisions, which together make up 57.7% of all reverted edits; if the removed cases hide systematic vandalism types, the reported performance gap could be an artifact of that filtering.

Editorial extensions

If this is right

  • Patrollers would review 29% of revisions instead of 55% to catch 99% of vandalism, cutting the moderation backlog nearly in half.
  • One deployed model can cover label, description, triple, and mixed edits, replacing content-type-specific models and simplifying maintenance.
  • The pipeline is designed for CPU-only inference at Wikidata's roughly ten edits per second, so it can run on existing production infrastructure without GPUs.
  • The full system reduces the AUC gap between anonymous and registered users to near zero and lowers disparate impact for new editors, so fewer good-faith newcomer contributions should be flagged.
  • The expert-labeled evaluation showing AUC 0.932 versus 0.885 suggests the gain survives when ground truth is verified by humans rather than inferred from reverts.

Reading between the lines

Editorial extensions of the paper, not claims the author makes directly.

  • The same graph-to-text serialization could transfer to other structured knowledge bases, since any triple can be verbalized, but the paper does not test this transfer.
  • Mapping IDs to English labels likely caps performance on non-English content; using the edit's own language or a more language-diverse encoder is a testable improvement the paper flags as future work.
  • Because the evaluation uses a time-based holdout, the released dataset can support measuring how quickly detection accuracy drifts as editing behavior changes over time, a question the paper leaves open.
  • Public release of the code invites adversarial adaptation, so a follow-up study should test whether edits crafted after release evade the detector; the paper acknowledges but does not measure this risk.
Share X Bluesky LinkedIn Reddit HN

Signed reviews

No signed human review yet.

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, and a circularity audit.

Referee Report

4 major / 5 minor

Summary. The paper proposes Graph2Text, a Wikidata vandalism detection system that serializes structured triple edits and textual edits into text, processes them with a fine-tuned multilingual BERT (LMC), aggregates per-change scores, and combines them with revision metadata via a CatBoost classifier. Using 'reverted' as a proxy label, the authors filter out self-reverts and edit-war revisions in Appendix B.2, adopt a time-based holdout of the last three months, and evaluate against ORES and two feature-ablation baselines. They report higher holdout AUC (0.924 vs. 0.859), better filter rates, and favorable fairness metrics for anonymous and new users, and they release the code and a ~4.8M-revision dataset. The paper frames the contribution as a next-generation production system that outperforms the current ORES model in both accuracy and fairness.

Significance. If the performance and fairness claims hold, the work offers a practically relevant improvement for a large production knowledge graph and strengthens the evidence that content-based transformer features can complement or replace metadata-heavy classifiers in vandalism detection. The open dataset and code are valuable community assets, and the manuscript includes several methodical elements: a time-based split, bootstrapped confidence intervals, multiple baselines, and an expert-labeled evaluation subset. However, the strength of the central claim—'significantly outperforms ORES in both performance and fairness'—depends on evaluation choices that are not fully validated, particularly the heavy filtering of the revert label, the non-random expert sample, and the absence of statistical tests for the fairness comparison.

major comments (4)
  1. [§5.2 / Appendix B.2] The headline comparison against ORES is measured on a 'reverted' label that has been filtered to remove self-reverts and edit-war revisions, which discards 57.7% of all initially reverted revisions. The manuscript does not demonstrate that the relative ranking of Graph2Text versus ORES is invariant to this filtering, and because ORES is a production model trained on its own historical label distribution, the benchmark may reward models that fit the filter rather than detect vandalism. Please add a robustness analysis that evaluates both models on the unfiltered reverted set (or on per-filter-category subsets) and report whether the AUC and filter-rate advantages persist.
  2. [§5.3, Table 2] The expert-labeled subsample is not a simple random sample from the holdout: revisions are drawn from ten score bins constructed separately for ORES and Graph2Text, so selection probabilities depend on both models' scores. The AUC values in Table 2 are therefore not unbiased estimates of population AUC and cannot be directly compared with the holdout AUCs in Table 1. Additionally, only one expert labeled the 755 revisions with no reported inter-annotator agreement. Please compute the expert evaluation on a random subsample (or re-weight by the true sampling probabilities) and report annotator agreement or at least acknowledge the single-annotator limitation in the main text.
  3. [§5.4, Table 3] The fairness claim that the AUC difference between anonymous and registered users is 'significantly smaller' for Graph2Text is not supported by any statistical test or confidence interval; Table 3 reports only point estimates for DIR and DAUC. Please provide bootstrapped confidence intervals or a paired significance test for the fairness metrics, or soften the 'significantly' wording to a descriptive statement.
  4. [§4 / Figure 5] The holdout set is the last three months of the collection window, so recent revisions have less opportunity to be reverted; no censoring correction or post-collection observation window is described. Because the holdout also shows a lower revert rate than the training period (6.2% vs. 7.9%), the absolute AUC values may be time-dependent. While this could affect all models similarly, it may interact with content-based versus metadata-based features. Please report revert probability as a function of revision age or restrict the holdout to revisions with a minimum observation window, and discuss the distribution shift.
minor comments (5)
  1. [§2.2] There is a typo: 'Morover' should be 'Moreover'.
  2. [Appendix D.1] The text says the 5th and 95th percentiles are reported as the confidence interval, which is a 90% interval, but the paper refers to them as 'CI' without specifying the confidence level; please clarify.
  3. [§5.2] The sentence 'The performance based at FR99 indicates that with Graph2Text (compared to ORES), patrollers will need to analyze nearly half as many revisions...' is grammatically awkward and should be rephrased for clarity.
  4. [References] Some references contain encoding artifacts or spacing errors, e.g., 'Vrandeˇci´c' and 'V orobev' in the Dorogush reference; please use proper Unicode and spacing.
  5. [§3.2.3] The reference for CatBoost is a blog-style technical report; consider citing a peer-reviewed version or the official documentation for reproducibility.

Circularity Check

0 steps flagged · score 0.0 of 10

No significant circularity: Graph2Text is a standard supervised classifier evaluated on held-out and expert-labeled data; the only self-citations are non-load-bearing.

full rationale

The paper's derivation chain is a standard supervised learning pipeline: revisions are featurized (metadata plus serialized content changes), a multilingual BERT is fine-tuned, and a CatBoost aggregator outputs a revert-risk score. The training target is the community 'reverted' signal after explicit filtering (self-reverts, edit wars, Appendix B.2), and the central comparison to ORES is made on a time-based holdout (last three months) using the same label plus an independent expert-labeled subsample (Section 5.3). No equation defines the prediction in terms of the fitted parameters by construction, and no fitted constant is renamed as a prediction. The self-citations to Trokhymovych et al. (2023) are limited to hyperparameter guidance (Appendix A) and the edit-war filtering heuristic (Appendix B.2); neither carries the load of the performance or fairness claims. Concerns about the 57.7% filtering of reverts and the absence of confidence intervals for fairness metrics are validity and methodology questions, not circular reductions of the sort that would raise the circularity score.

Assumptions & free parameters 7 free parameters · 6 assumptions · 0 invented entities

The central claim rests on a supervised learning setup where labels are community reverts. Free parameters include model hyperparameters and balancing choices. Key axioms are domain assumptions about label cleanliness, data representativeness, and the fidelity of the English-label mapping. No new physical or conceptual entities are introduced.

free parameters (7)
  • LMC fine-tuning learning rate = 2e-5
    Chosen based on prior Wikipedia vandalism work; affects convergence and final performance.
  • LMC fine-tuning epochs = 5
    Selected via validation loss tracking; number of passes over training data.
  • LMC fine-tuning batch size = 8
    Small batch size due to GPU memory constraints; affects optimization dynamics.
  • CatBoost iterations = 2500
    Number of boosting rounds, chosen via best validation loss.
  • CatBoost learning rate = 0.005
    Boosting shrinkage parameter.
  • Negative-to-positive sampling ratio = 5:1
    Manual balancing ratio for LMC training to handle class imbalance.
  • Default token for missing English labels = 'unknown'
    Mapped for ~9% of IDs without English labels; chosen by hand and treated as a signal.
assumptions (6)
  • domain assumption Reverted revisions, after filtering self-reverts and edit wars, are a valid proxy for vandalism.
    Used to construct labels; Appendix B.2 describes filtering but does not validate against independent ground truth for the filtered set.
  • domain assumption The Wikidata UI tag correctly identifies human-created revisions.
    Used to exclude bot edits; Section 4 states revisions are filtered for the Wikidata user interface tag.
  • domain assumption Time-based holdout (last 3 months) is representative of future edit patterns.
    Assumes no distribution shift beyond the observed period; standard but unverified.
  • domain assumption A single expert's labels on a 1,000-revision subsample (755 after exclusions) are reliable ground truth.
    Section 5.3; no inter-annotator agreement reported.
  • domain assumption Mapping Wikidata IDs to English labels preserves enough semantic information for vandalism detection.
    Graph2Text relies on this mapping; ~9% missing labels map to 'unknown'; Section B.3.
  • domain assumption The multilingual BERT model has sufficient cross-lingual knowledge for this task.
    The authors acknowledge coverage gaps for underrepresented languages in Section 6.1.

how reviews work

0 comments
Cite this review

Pith. "Pith review of Graph-Linguistic Fusion: Using Language Models for Wikidata Vandalism Detection." pith.science (2026). https://pith.science/paper/5KDKFQLX

@misc{pith2026250518136,
  author       = {Pith},
  title        = {Pith review of: Graph-Linguistic Fusion: Using Language Models for Wikidata Vandalism Detection},
  year         = {2026},
  howpublished = {\url{https://pith.science/paper/5KDKFQLX}},
  note         = {Machine review of arXiv:2505.18136}
}
read the original abstract

We introduce a next-generation vandalism detection system for Wikidata, one of the largest open-source structured knowledge bases on the Web. Wikidata is highly complex: its items incorporate an ever-expanding universe of factual triples and multilingual texts. While edits can alter both structured and textual content, our approach converts all edits into a single space using a method we call Graph2Text. This allows for evaluating all content changes for potential vandalism using a single multilingual language model. This unified approach improves coverage and simplifies maintenance. Experiments demonstrate that our solution outperforms the current production system. Additionally, we are releasing the code under an open license along with a large dataset of various human-generated knowledge alterations, enabling further research.

Figures

Figures reproduced from arXiv: 2505.18136 by the authors.

Figure 1
Figure 1. Diagram with the most important parts of the [PITH_FULL_IMAGE:figures/full_fig_p001_1.png] view at source ↗
Figure 2
Figure 2. Example of a revision (ID: 593195479) van [PITH_FULL_IMAGE:figures/full_fig_p002_2.png] view at source ↗
Figure 3
Figure 3. Wikidata vandalism detection system schema. [PITH_FULL_IMAGE:figures/full_fig_p004_3.png] view at source ↗
Figures from the paper (5 more)
Figure 4
Figure 4. Figure 4: Text processing schema. tures that require no additional processing and can be used directly in the final classification model (e.g., editor account creation date, time since previ￾ous revision, etc.). Despite Wikidata’s general language-agnostic nature, its entities h…
Figure 5
Figure 5. Figure 5: Data splitting logic. the Wikidata record, the user who performed the change, and specifics of the individual edit. To en￾sure that the revisions are human-created, we filter for revisions tagged with Wikidata user interface. Also, to improve data quality and reduce th…
Figure 6
Figure 6. Figure 6: Examples of fine-grained signals extracted [PITH_FULL_IMAGE:figures/full_fig_p010_6.png]
Figure 7
Figure 7. Figure 7: The precision/recall curves for models [PITH_FULL_IMAGE:figures/full_fig_p011_7.png]
Figure 8
Figure 8. Figure 8: The filter rate/recall curves for models. [PITH_FULL_IMAGE:figures/full_fig_p011_8.png]

Discussion (0). Continue with ORCID to comment.

Reference graph

Works this paper leans on

34 extracted references · 19 canonical work pages

  1. [1]

    Rachel K. E. Bellamy, Kuntal Dey, Michael Hind, Samuel C. Hoffman, Stephanie Houde, Kalapriya Kannan, Pranay Lohia, Jacquelyn Martino, Sameep Mehta, Aleksandra Mojsilovic, Seema Nagar, Karthikeyan Natesan Ramamurthy, John Richards, Diptikalyan Saha, Prasanna Sattigeri, Moninder Singh, Kush R. Varshney, and Yunfeng Zhang. 2018. https://arxiv.org/abs/1810.0...

  2. [2]

    Mielke, Jason Eisner, and Brian Roark

    Ryan Cotterell, Sabrina J. Mielke, Jason Eisner, and Brian Roark. 2018. https://doi.org/10.18653/v1/N18-2085 Are all languages equally hard to language-model? In Proceedings of NAACL'18: Human Language Technologies, Volume 2 (Short Papers), pages 536--541

  3. [3]

    A Production Oriented Approach for Vandalism Detection in Wikidata - The Buffaloberry Vandalism Detector at WSDM Cup 2017

    Rafael Crescenzi, Marcelo Fern \' a ndez, Federico A. Garcia Calabria, Pablo Albani, Diego Tauziet, Adriana Baravalle, and Andr \' e s Sebasti \' a n D'Ambrosio. 2017. https://arxiv.org/abs/1712.06919 A production oriented approach for vandalism detection in wikidata - the buffaloberry vandalism detector at WSDM cup 2017 . CoRR, arXiv:1712.06919

  4. [4]

    Jacob Devlin, Ming - Wei Chang, Kenton Lee, and Kristina Toutanova. 2019. https://doi.org/10.18653/v1/n19-1423 BERT: pre-training of deep bidirectional transformers for language understanding . In Proceedings of the NAACL-HLT'19, pages 4171--4186

  5. [5]

    Anna Veronika Dorogush, Andrey Gulin, Gleb Gusev, Nikita Kazeev, Liudmila Ostroumova, and Aleksandr Vorobev. 2017. Fighting biases with dynamic boosting

  6. [6]

    Tibshirani

    Bradley Efron and R.J. Tibshirani. 1994. https://doi.org/10.1201/9780429246593 An Introduction to the Bootstrap , 1st edition edition. Chapman and Hall/CRC, New York

  7. [7]

    Alexey Grigorev. 2017. https://arxiv.org/abs/1712.06920 Large-scale vandalism detection with linear classifiers - the conkerberry vandalism detector at WSDM cup 2017 . CoRR, arXiv:1712.06920

  8. [8]

    Aaron Halfaker, R.Stuart Geiger, Jonathan Morgan, and John Riedl. 2013. https://doi.org/10.1177/0002764212469365 The rise and decline of an open collaboration system how wikipedia’s reaction to popularity is causing its decline . American Behavioral Scientist, 57:664--688

Show all 34 references
  1. [9]

    Stefan Heindorf, Martin Potthast, Gregor Engels, and Benno Stein. 2017. https://arxiv.org/abs/1712.05956 Overview of the wikidata vandalism detection task at WSDM cup 2017 . CoRR, arXiv:1712.05956

  2. [10]

    Stefan Heindorf, Martin Potthast, Benno Stein, and Gregor Engels. 2015. https://doi.org/10.1145/2766462.2767804 Towards vandalism detection in knowledge bases: Corpus construction and analysis . In Proceedings of SIGIR '15, page 831–834

  3. [11]

    Stefan Heindorf, Martin Potthast, Benno Stein, and Gregor Engels. 2016. https://doi.org/10.1145/2983323.2983740 Vandalism detection in wikidata . In Proceedings of CIKM '16, page 327–336

  4. [12]

    Timothy Kanke. 2021. Knowledge curation work in wikidata wikiproject discussions. Library hi tech, 39(1):64--79

  5. [13]

    Will Kent. 2019. Why is wikidata important to you? https://wikiedu.org/blog/2019/06/03/why-is-wikidata-important-to-you/. Accessed on October 6, 2024

  6. [14]

    Pascal Neis, Marcus Goetz, and Alexander Zipf. 2012. https://doi.org/10.3390/ijgi1030315 Towards automatic vandalism detection in openstreetmap . ISPRS International Journal of Geo-Information, 1(3):315--332

  7. [15]

    Martin Potthast, Benno Stein, and Robert Gerling. 2008. Automatic vandalism detection in wikipedia. In Advances in Information Retrieval, pages 663--668, Berlin, Heidelberg. Springer Berlin Heidelberg

  8. [16]

    Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, and Peter J. Liu. 2019. https://arxiv.org/abs/1910.10683 Exploring the limits of transfer learning with a unified text-to-text transformer . CoRR, arXiv:1910.10683

  9. [17]

    Joseph Reagle and Jackie Koerner. 2020. https://doi.org/10.7551/mitpress/12366.001.0001 Wikipedia @ 20: Stories of an Incomplete Revolution . The MIT Press, Cambridge, MA

  10. [18]

    Thorsten Ruprechter, Tiago Santos, and Denis Helic. 2020. https://doi.org/10.1007/s41109-020-00305-y Relating wikipedia article quality to edit behavior and link structure . Applied Network Science, 5:61

  11. [19]

    Diego Saez-Trumper. 2019. Online disinformation and the role of wikipedia

  12. [20]

    Amir Sarabadani, Aaron Halfaker, and Dario Taraborelli. 2017. https://doi.org/10.1145/3041021.3053366 Building automated vandalism detection tools for wikidata . In Proceedings of WWW '17 Companion, page 1647–1654

  13. [21]

    Gelley, and Aaron Halfaker

    Jodi Schneider, Bluma S. Gelley, and Aaron Halfaker. 2014. https://doi.org/10.1145/2641580.2641614 Accept, decline, postpone: How newcomer productivity is reduced in english wikipedia by pre-publication review . In Proceedings of The International Symposium on Open Collaboration

  14. [22]

    Tom Simonite. 2019. Inside the alexa-friendly world of wikidata. https://www.wired.com/story/inside-the-alexa-friendly-world-of-wikidata/. Accessed on October 6, 2024

  15. [23]

    Chun How Tan, Eugene Agichtein, Panos Ipeirotis, and Evgeniy Gabrilovich. 2014. https://doi.org/10.1145/2556195.2556227 Trust, but verify: predicting contribution quality for knowledge base construction and curation . In Proceedings of WSDM '14, page 553–562

  16. [24]

    the rise and decline

    Nathan TeBlunthuis, Aaron Shaw, and Benjamin Mako Hill. 2018. https://doi.org/10.1145/3173574.3173929 Revisiting "the rise and decline" in a population of peer production projects . In Proceedings of CHI '18, page 1–7

  17. [25]

    Mykola Trokhymovych, Muniza Aslam, Ai-Jou Chou, Ricardo Baeza-Yates, and Diego Saez-Trumper. 2023. https://doi.org/10.1145/3580305.3599823 Fair multilingual vandalism detection system for wikipedia . In Proceedings of the 29th ACM SIGKDD Conference on Knowledge Discovery and D...

  18. [26]

    Denny Vrande c i\' c and Markus Kr\" o tzsch. 2014. https://doi.org/10.1145/2629489 Wikidata: a free collaborative knowledgebase . Commun. ACM, 57(10):78–85

  19. [27]

    Wikipedia. 2024. https://en.wikipedia.org/wiki/Wikidata Wikidata . Accessed on October 6, 2024

  20. [28]

    Silei Xu, Shicheng Liu, Theo Culhane, Elizaveta Pertseva, Meng-Hsi Wu, Sina Semnani, and Monica Lam. 2023. https://doi.org/10.18653/v1/2023.emnlp-main.353 Fine-tuned LLM s know more, hallucinate less with few-shot sequence-to-sequence semantic parsing over W ikidata . In Proce...

  21. [29]

    Tomoya Yamazaki, Mei Sasaki, Naoya Murakami, Takuya Makabe, and Hiroki Iwasawa. 2017. https://arxiv.org/abs/1712.06921 Ensemble models for detecting wikidata vandalism with stacking - team honeyberry vandalism detector at WSDM cup 2017 . CoRR, arXiv:1712.06921

  22. [30]

    Tuo Yu, Yiran Zhao, Xiaoxiao Wang, Yiwen Xu, Huajie Shao, Yuhang Wang, Xin Ma, and Dipannita Dey. 2017. Vandalism detection midpoint report---the riberry vandalism detector at wsdm cup 2017. http://www.wsdm-cup-2017.org/proceedings.html. University of Illinois at Urbana - Cham...

  23. [31]

    Fudie Zhao. 2022. https://doi.org/10.1093/llc/fqac083 A systematic review of Wikidata in Digital Humanities projects . Digital Scholarship in the Humanities, 38(2):852--874

  24. [32]

    Qi Zhu, Hongwei Ng, Liyuan Liu, Ziwei Ji, Bingjie Jiang, Jiaming Shen, and Huan Gui. 2017. https://arxiv.org/abs/1712.06922 Wikidata vandalism detection - the loganberry vandalism detector at WSDM cup 2017 . CoRR, arXiv:1712.06922

  25. [33]

    online" 'onlinestring :=

    ENTRY address archivePrefix author booktitle chapter edition editor eid eprint eprinttype howpublished institution journal key month note number organization pages publisher school series title type volume year doi pubmed url lastchecked label extra.label sort.label short.list...

  26. [34]

    write newline

    " write newline "" before.all 'output.state := FUNCTION n.dashify 't := "" t empty not t #1 #1 substring "-" = t #1 #2 substring "--" = not "--" * t #2 global.max substring 't := t #1 #1 substring "-" = "-" * t #2 global.max substring 't := while if t #1 #1 substring * t #2 gl...

Pith tools

Reviewed August 7, 2026 · model on record in the stance chip above.