# An Array Language

**URL:** <https://racket.discourse.group/t/an-array-language/3980>\
**Category:** Show & Tell\
**Created:** [October 21, 2025, 8:50pm UTC](https://racket.discourse.group/t/an-array-language/3980 "2025-10-21T20:50:25Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ulambda](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/ulambda/32/1495_2.png) [@ulambda](https://racket.discourse.group/u/ulambda)\
**Post date:** [October 21, 2025, 8:50pm UTC](https://racket.discourse.group/t/an-array-language/3980/1 "2025-10-21T20:50:25Z")

</div>

[miscellaneous/array0.rkt at main · alpha-beta-eta/miscellaneous](https://github.com/alpha-beta-eta/miscellaneous/blob/main/array0.rkt)  
Basically, I follow the idea in the link below:  
[Image Processing Playground with Array Languages](https://okmij.org/ftp/image/ArrayL/)  
(faithfully) translate the OCaml code into Racket and make a few modications of the original code.

An Example:

```scheme
(emitPPM
 cmap1
 (<< (array '(2 2) (const 4))
     ((repeated 8)
      (expander scale-twice 1.3)))
 "0.ppm")

```

 ![0](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/2/28155d64334caf101c7071d80f12d8498e4b1bb3.jpeg)

I hope you can have fun with it.
