APL\iv is an APL implementation written in Go and based primarily on Dyalog APL documentation. It is intended to be small in implementation size and to share Go's cross-platform and interoperability capabilities. APL\iv does not include a full nested array model, instead using flat arrays but allowing nested lists when nesting is required. It also simplifies parsing by omitting user-defined operators while requiring user-defined functions to use lowercase names and arrays to use uppercase names. Despite these simplifications APL\iv provides many powerful features from Dyalog APL, such as selective and modified assignment, from K, such as dictionaries and tables, and from Go, such as structs and channels.
|APL dialects |
|Maintained||APL+Win (APL*PLUS) ∙ APL2 ∙ APL64 ∙ APL\iv ∙ April ∙ Co-dfns ∙ Dyalog APL ∙ dzaima/APL ∙ Extended Dyalog APL ∙ GNU APL ∙ NARS2000 ∙ ngn/apl|
|Historical||Iverson notation ∙ A Programming Language ∙ A+ (A) ∙ APL# ∙ APL.68000 ∙ APL.SV ∙ APLX ∙ APL\1130 ∙ APL\3000 ∙ APL\360 ∙ APL/700 ∙ NARS ∙ openAPL ∙ Rowan ∙ SAX ∙ SHARP APL∙ VisualAPL (APLNext) ∙ VS APL ∙ York APL|
|Derivatives||AHPL ∙ APL\iv ∙ BQN ∙ ELI ∙ I ∙ Ivy ∙ J ∙ Jelly ∙ K (Q, KDB+) ∙ Nial ∙ RAD|