Skip to content

Releases: ghul-lang/ghul-runtime

v21.14.0

Choose a tag to compare

@github-actions github-actions released this 21 Sep 22:56
83013a4

Take reduce's accumulator with the element spread out (#229)

Enhancements:

  • Both forms of reduce take an accumulator with one parameter per
    tuple element, pairs |> reduce(0, (total, a, b) => total + a * b)

Technical:

  • Built with ghul.compiler 62.6.0, the first to accept an argument pack
    after a formal's own parameters

Co-authored-by: ghul-coder[bot] <286450068+ghul-coder[bot]@users.noreply.github.com>
Co-authored-by: Claude Fable 5.1 noreply@anthropic.com

v21.13.0

Choose a tag to compare

@github-actions github-actions released this 21 Sep 08:11
02f8231

Add sum and product to Ghul.Pipes (#228)

Enhancements:

  • sum and product total a sequence with no seed argument, over int,
    long, double, decimal and bigint
  • The total of an empty source is zero or one rather than an absent
    value, so it needs no unwrapping

Co-authored-by: ghul-coder[bot] <286450068+ghul-coder[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 noreply@anthropic.com

v21.12.1

Choose a tag to compare

@github-actions github-actions released this 20 Sep 16:04
f343d70

Read a pipe through the non-generic IEnumerable and IEnumerator (#227)

Bugs fixed:

  • A consumer in another language reading a pipe through the non-generic
    IEnumerable or IEnumerator got null back, on every pipe class

Technical:

  • Cover a pipe declaring the trait, one inheriting it from a base, a
    reference element and a value element read through the non-generic
    Current

Co-authored-by: ghul-coder[bot] <286450068+ghul-coder[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 noreply@anthropic.com

v21.12.0

Choose a tag to compare

@github-actions github-actions released this 20 Sep 11:47
dc754aa

Take the remainder of any integer, and divide an unsigned one as unsigned (#226)

Enhancements:

  • Declare % for byte, ubyte, short, ushort, char, uint, ulong, word and
    uword, which had none

Bugs fixed:

  • Divide and take the remainder of an unsigned integer as unsigned, so a
    value above the signed maximum answers correctly (closes #2874, closes
    #2863)

Technical:

  • Build with ghul.compiler 62.0.2, which lowers the unsigned intrinsics

Co-authored-by: ghul-coder[bot] <286450068+ghul-coder[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 noreply@anthropic.com

v21.11.0

Choose a tag to compare

@github-actions github-actions released this 19 Sep 17:28
f2a1271

Add display and update_display to the runtime (#225)

Enhancements:

  • display(value) shows a value while code runs: through the sink a
    host installed, or with no host as a line of inspect text
  • display(value, id) and update_display(value, id) show a value
    under an id and replace it where the host can redraw
  • A host installs a DisplaySink, or two functions when its copy of the
    runtime is not the one the code it runs uses

Co-authored-by: ghul-coder[bot] <286450068+ghul-coder[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 noreply@anthropic.com

v21.10.0

Choose a tag to compare

@github-actions github-actions released this 19 Sep 17:23
8dd4fb8

Add Renderable, for a value a host can show as an image or other media (#224)

Enhancements:

  • New Renderable trait: a type offers its value as MIME-typed content,
    such as a PNG, best first, for a host to show in place of the text
  • The host chooses which MIME types it honours, and the text $ writes
    stays the fallback

Co-authored-by: ghul-coder[bot] <286450068+ghul-coder[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 noreply@anthropic.com

v21.9.1

Choose a tag to compare

@github-actions github-actions released this 19 Sep 17:08
21d5749

Quote a string a Displayable renders, in the detailed mode (#223)

Bugs fixed:

  • inspect quotes a string that a Displayable renders through
    state.render, as it does a string inside any other value

Co-authored-by: ghul-coder[bot] <286450068+ghul-coder[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 noreply@anthropic.com

v21.9.0

Choose a tag to compare

@github-actions github-actions released this 19 Sep 14:22
9e008c9

Add count with a predicate (#222)

Enhancements:

  • count(predicate) counts the elements that satisfy a predicate: xs |>
    count(n => n % 2 == 0)

Technical:

  • Raise VERSION to 21.9.0
  • Bump the local ghul.compiler pin to 60.2.4

Co-authored-by: ghul-coder[bot] <286450068+ghul-coder[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 noreply@anthropic.com

v21.8.1

Choose a tag to compare

@github-actions github-actions released this 19 Sep 14:03
3f43ac5

Render a type ghūl did not compile by its own to_string (#221)

Bugs fixed:

  • $ and inspect no longer read the properties of a type from another
    language, which could block on a task's result; such a value renders by
    its own to_string

Co-authored-by: ghul-coder[bot] <286450068+ghul-coder[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 noreply@anthropic.com

v21.8.0

Choose a tag to compare

@github-actions github-actions released this 19 Sep 13:48
d005f9e

Add collect_map over key and value pairs (#220)

Enhancements:

  • collect_map() with no selectors builds a MAP from a sequence of key
    and value pairs: [("a", 1), ("b", 2)] |> collect_map()

Technical:

  • Raise VERSION to 21.8.0
  • Bump the local ghul.compiler pin to 60.2.2

Co-authored-by: ghul-coder[bot] <286450068+ghul-coder[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 noreply@anthropic.com