# \#ssu

**URL:** https://swi-prolog.discourse.group/tag/ssu/110.md

[Latest](https://swi-prolog.discourse.group/latest.md) · [Categories](https://swi-prolog.discourse.group/categories.md) · [Tags](https://swi-prolog.discourse.group/tags.md)

---

## [Picat style matching](https://swi-prolog.discourse.group/t/picat-style-matching/3560)

<div class="topic-metadata">

**Author:** [@jan](https://swi-prolog.discourse.group/u/jan)\
**Replies:** 64\
**Last updated:** [November 4, 2023, 2:38am UTC](https://swi-prolog.discourse.group/t/picat-style-matching/3560 "2023-11-04T02:38:06Z")

</div>

Writing code that does rewrites of terms that may contain variables, I recall the pain doing such. One always has to be careful not to instantiate the input data. Thus, rule(Var, Out) :- var(Var), !, Ou…

---

## [Idea for SSU debugging feature - skip the guard statements at the start](https://swi-prolog.discourse.group/t/idea-for-ssu-debugging-feature-skip-the-guard-statements-at-the-start/6170)

<div class="topic-metadata">

**Author:** [@mgondan1](https://swi-prolog.discourse.group/u/mgondan1)\
**Replies:** 8\
**Last updated:** [February 3, 2023, 8:24am UTC](https://swi-prolog.discourse.group/t/idea-for-ssu-debugging-feature-skip-the-guard-statements-at-the-start/6170 "2023-02-03T08:24:50Z")

</div>

Speaking of =\>/2, may I suggest a debugging feature? Consider this, well, pseudocode: a(X), X \> 1, X \> 2, X \> 3 =\> writeln(first). a(X), X \< -1, X \< -2, X \< -3 =\> writeln(second). a(\_) =\> wr…

---

## [Generating ASTs with SSU, not working as expected](https://swi-prolog.discourse.group/t/generating-asts-with-ssu-not-working-as-expected/4922)

<div class="topic-metadata">

**Author:** [@EricGT](https://swi-prolog.discourse.group/u/EricGT)\
**Replies:** 4\
**Last updated:** [January 21, 2022, 3:04am UTC](https://swi-prolog.discourse.group/t/generating-asts-with-ssu-not-working-as-expected/4922 "2022-01-21T03:04:00Z")

</div>

Some recent topics are noting the use of SSU as generators. Since I use generators often wanted to give generating with SSU a try. When I converted some normal code that generates ASTs to SSU (no DCGs) only one result w…

---

## [DCGs with single-sided unification?](https://swi-prolog.discourse.group/t/dcgs-with-single-sided-unification/3768)

<div class="topic-metadata">

**Author:** [@peter.ludemann](https://swi-prolog.discourse.group/u/peter.ludemann)\
**Replies:** 16\
**Last updated:** [January 19, 2022, 3:38pm UTC](https://swi-prolog.discourse.group/t/dcgs-with-single-sided-unification/3768 "2022-01-19T15:38:10Z")

</div>

I’ve made an experimental implementation of extended DCGs (edcg pack) that generates clauses with single-sided unification (=\>) instead of full unification (:-). (You can see the changes here). I propose using the oper…

---

## [Example of refactoring code to SSU](https://swi-prolog.discourse.group/t/example-of-refactoring-code-to-ssu/4713)

<div class="topic-metadata">

**Author:** [@EricGT](https://swi-prolog.discourse.group/u/EricGT)\
**Replies:** 2\
**Last updated:** [December 6, 2021, 7:52am UTC](https://swi-prolog.discourse.group/t/example-of-refactoring-code-to-ssu/4713 "2021-12-06T07:52:06Z")

</div>

Prolog has Single Sided Unification (SSU). If the code is determinate then one should consider refactoring the code to SSU. When refactoring code to SSU not all changes are straightforward. Here is an patch showing part…

---

## [Ann: SWI-Prolog 8.4.0](https://swi-prolog.discourse.group/t/ann-swi-prolog-8-4-0/4505)

<div class="topic-metadata">

**Author:** [@jan](https://swi-prolog.discourse.group/u/jan)\
**Replies:** 2\
**Last updated:** [October 10, 2021, 12:26am UTC](https://swi-prolog.discourse.group/t/ann-swi-prolog-8-4-0/4505 "2021-10-10T00:26:59Z")

</div>

Dear SWI-Prolog user, A new stable version of SWI-Prolog is ready. 8.2.0 saw daylight on May 27 2020. Since then, almost 1,400 changes have been committed. The ChangeLog is very long. There are no changes that are lik…

---

## [=\>, is this "forward chaining"](https://swi-prolog.discourse.group/t/is-this-forward-chaining/3593)

<div class="topic-metadata">

**Author:** [@grossdan](https://swi-prolog.discourse.group/u/grossdan)\
**Replies:** 8\
**Last updated:** [October 6, 2021, 5:42am UTC](https://swi-prolog.discourse.group/t/is-this-forward-chaining/3593 "2021-10-06T05:42:10Z")

</div>

Hello, I am still trying to understand the new =\>/2 operator. Is this essentially, a simple forward chaining mechanism – how does backtracking intended to work with this. Dan

---

## [Single Sided Unification rules manual entry -- I am reading it but don't graps it ...why?](https://swi-prolog.discourse.group/t/single-sided-unification-rules-manual-entry-i-am-reading-it-but-dont-graps-it-why/3762)

<div class="topic-metadata">

**Author:** [@grossdan](https://swi-prolog.discourse.group/u/grossdan)\
**Replies:** 6\
**Last updated:** [March 25, 2021, 8:09am UTC](https://swi-prolog.discourse.group/t/single-sided-unification-rules-manual-entry-i-am-reading-it-but-dont-graps-it-why/3762 "2021-03-25T08:09:37Z")

</div>

Hello, I am reading the Single Sided Unification rule manual entry, but don’t manage to grasp from it, what SSU is. To help me out i started to read the Picat users guide \[1\], section “1.2 Defining Predicates” where th…
