Skip to content

Not broken array semigroup - #3

Closed
UnrelatedString wants to merge 49 commits into
purescript-lua:masterfrom
UnrelatedString:not-broken-array-semigroup
Closed

Not broken array semigroup#3
UnrelatedString wants to merge 49 commits into
purescript-lua:masterfrom
UnrelatedString:not-broken-array-semigroup

Conversation

@UnrelatedString

Copy link
Copy Markdown

Description of the change

The current implementation of Semigroup (Array a) mistakenly uses table.concat, which expects a string separator for its second parameter and errors at runtime when called with two tables. This PR replaces that implementation with one which manually builds the concatenated array element by element.

This also subsumes #2.


Checklist:

  • Added the change to the changelog's "Unreleased" section with a reference to this PR (e.g. "- Made a change (#0000)")
  • Linked any existing issues or proposals that this pull request should close
  • Updated or added relevant documentation
  • Added a test for the contribution (if applicable)

UnrelatedStringand others added 30 commits March 25, 2025 15:12
…of scope for what I’m doing at the moment :P
… backend's Generic implementation so I'll just go sweep that under the rug for now aaand the tests pass :D
…f exit code even is 143 and pleaseeeee tell me the cache will be able to speed this up some once it actually does work
…ly special cased by the compiler to emit native comparisons directly and completely ignore Version: ImageMagick 6.9.10-23 Q16 x86_64 20190101 https://imagemagick.org
Copyright: © 1999-2019 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC Modules OpenMP
Delegates (built-in): bzlib djvu fftw fontconfig freetype heic jbig jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png tiff webp wmf x xml zlib
Usage: compare-im6.q16 [options ...] image reconstruct difference
Image Settings:
-alpha option on, activate, off, deactivate, set, opaque, copy
transparent, extract, background, or shape
-authenticate password
decipher image with this password
-background color background color
-channel type apply option to select image channels
-colorspace type alternate image colorspace
-compose operator set image composite operator
-compress type type of pixel compression when writing the image
-decipher filename convert cipher pixels to plain pixels
-define format:option
define one or more image format options
-density geometry horizontal and vertical density of the image
-depth value image depth
-dissimilarity-threshold value
maximum distortion for (sub)image match
-encipher filename convert plain pixels to cipher pixels
-extract geometry extract area from image
-format "string" output formatted image characteristics
-fuzz distance colors within this distance are considered equal
-gravity type horizontal and vertical text placement
-highlight-color color
empasize pixel differences with this color
-identify identify the format and characteristics of the image
-interlace type type of image interlacing scheme
-limit type value pixel cache resource limit
-lowlight-color color
de-emphasize pixel differences with this color
-mask filename associate a mask with the image
-metric type measure differences between images with this metric
-monitor monitor progress
-passphrase filename get the passphrase from this file
-profile filename add, delete, or apply an image profile
-quality value JPEG/MIFF/PNG compression level
-quiet suppress all warning messages
-quantize colorspace reduce colors in this colorspace
-regard-warnings pay attention to warning messages
-repage geometry size and location of an image canvas
-respect-parentheses settings remain in effect until parenthesis boundary
-sampling-factor geometry
horizontal and vertical sampling factor
-seed value seed a new sequence of pseudo-random numbers
-set attribute value set an image attribute
-quality value JPEG/MIFF/PNG compression level
-similarity-threshold value
minimum distortion for (sub)image match
-size geometry width and height of image
-subimage-search search for subimage
-synchronize synchronize image to storage device
-taint declare the image as modified
-transparent-color color
transparent color
-type type image type
-verbose print detailed information about the image
-version print version information
-virtual-pixel method
virtual pixel access method
Image Operators:
-brightness-contrast geometry
improve brightness / contrast of the image
-distort method args
distort images according to given method and args
-level value adjust the level of image contrast
-resize geometry resize the image
-rotate degrees apply Paeth rotation to the image
-sigmoidal-contrast geometry
increase the contrast without saturating highlights or
-trim trim image edges
Image Sequence Operators:
-crop geometry cut out a rectangular region of the image
-separate separate an image channel into a grayscale image
-write filename write images to this file
Image Stack Operators:
-delete indexes delete the image from the image sequence
Miscellaneous Options:
-debug events display copious debugging information
-help print program options
-list type print a list of supported option arguments
-log format format of debugging information
By default, the image format of `file' is determined by its magic
number. To specify a particular image format, precede the filename
with an image format name and a colon (i.e. ps:image) or specify the
image type as the filename suffix (i.e. image.ps). Specify 'file' as
'-' for standard input or output. lmaoooo
…at the whole reason I came back to this was the table.concat issue :/
@Unisay

Copy link
Copy Markdown
Collaborator

Thanks for this, @UnrelatedString, and sorry it sat so long. I'm closing it as superseded, but two of the fixes are real and will land with credit to you. Here's where each change goes:

Nothing here is lost: the two FFI fixes move to dedicated issues where they ship with regression tests, and the rest is covered by work already in flight. Closing with thanks.

@UnisayUnisay closed this Jun 14, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@UnrelatedString@Unisay