dzaima

From APL Wiki
Jump to navigation Jump to search
dzaima's avatar

Dzaima is the username of an array language user and implementer from Riga, Latvia, known for creating dzaima/APL and the BQN implementations dzaima/BQN and CBQN. He is also the primary moderator of the APL Farm, and has built various tools for more easily using APL and BQN and connecting with the array language community.

Dzaima joined the Stack Exchange code golf community in 2016 and quickly created a stack-based golfing language SOGL and successor Canvas, both specializing in ASCII art output. He first encountered APL in 2017,[1] and in 2018 released dzaima/APL, a Java implementation with Android support and Processing integration for graphics. Although based on Dyalog APL, the dialect breaks backwards compatibility to address issues such as function-operator overloading. It makes various extensions, with some based on fellow APL Orchard user Adám Brudzewsky's suggestions such as array notation and Pair (), and other new designs such as Case (%). It was the first dialect beyond Brudzewsky's Extended Dyalog APL to support structural Under (), and extended the concept to non-structural functions such as absolute value. Dzaima has also placed well in the APL Problem Solving Competition, winning prizes in all years from 2019 to 2023 including first place in 2021.

Dzaima began working with BQN the day it was publicly announced by Marshall Lochbaum, in June 2020.[2] He adapted dzaima/APL to create dzaima/BQN. While this version never had full support for all BQN functionality, it was the most complete implementation during early development[3] and was used to bootstrap BQN-based sources; it remained the primary way to bootstrap the compiler until a CBQN-based chain was made in 2023.[4] Dzaima also contributed to ongoing BQN design, including BQN headers. He suggested the idea of special headers to specify the function inverse early on.[5]

In 2021, dzaima began CBQN, a C implementation of BQN. In addition to the language itself, CBQN integrates a REPL environment with syntax highlighting and name completion based on replxx, and has a custom multi-threaded build system written in BQN. As part of BQN development, dzaima collaborated on the initial design of Singeli, including making a Java prototype implementation. His Singeli playground is an environment for executing and inspecting it interactively.

Other array-related projects include:

  • paste: A tool for sharing and displaying code, with syntax support for APL, BQN, and Singeli.
  • chatlogs: An archive and search tool for array language chats.
  • Array Hacker's Keyboard: A fork of the Hacker's Keyboard app that allows typing APL and BQN.
  • LSP implementations for BQN and Singeli.
  • BQN386: An extension of the APL386 Unicode font that adds BQN glyphs and other characters.
  • BQNBot: A bot that runs BQN code in the APL Farm, originally based on dzaima/BQN and later a Wasm build of CBQN.
  • bqn-smt: An interface allowing SMT solvers to be called from BQN with BQN-like syntax.

External links

References

APL community [edit]
Activities ConferencesUser groups and meetupsIverson AwardExercises
Chat rooms and forums APL FarmAPL OrchardAPL Wiki
People Phil AbramsDan BaronetBrian BeckerBob BerneckyLarry BreedCharles BrennerJim BrownAdám BrudzewskyChris BurkeGitte ChristensenJohn DaintreePete DonnellydzaimaJohn EarnestAdin FalkoffJay FoadGarth FosterLib GibsonAaron HsuRoger HuiEric IversonKen IversonktyeMorten KrombergDick LathwellMarshall LochbaumEugene McDonnellRoger MooreTrenchard MoreAlan PerlisRay PolivkaRaghu RanganathanHenry RichAl RoseJohn ScholesIan SharpBob SmithGeoff StreeterJoey TuttlePhilip Van CleaveMadeline VerganiArthur Whitney
Other APL TrustAPL PressAPL Quote QuadBlogsBooksCase studiesFamous APL usersHumourJobsMerchandisePapersPodcastsTryAPLTry It OnlineVideo channels