BQN: Difference between revisions

Jump to navigation Jump to search
m
→‎Functions: Link to Pair for Enlist
m (Text replacement - "KAP" to "Kap")
m (→‎Functions: Link to Pair for Enlist)
 
(5 intermediate revisions by 2 users not shown)
Line 22: Line 22:
}}
}}


'''BQN''' is an APL-family language designed primarily by [[Marshall Lochbaum]]. Although it maintains the concept of array-driven computing and much of APL's array functionality, BQN discards all [[backwards compatibility|compatibility]] with other array languages and changes many fundamental concepts. It uses the [[based array model]] with dedicated [[array notation]], distinguishes between data types and expression roles to give the language a [[wikipedia:context-free grammar|context-free grammar]] with [[wikipedia:first-class function|first-class function]]s, and uses a new set of [[glyph]]s with different primitive pairings. The language uses the [[leading axis model]] and [[tacit programming]] as core paradigms. Its implementation is largely self-hosted, with an array-based compiler like [[Co-dfns]].
'''BQN''' is an APL-family language designed primarily by [[Marshall Lochbaum]]. Although it maintains the concept of array-driven computing and much of APL's array functionality, BQN discards all [[backwards compatibility|compatibility]] with other array languages and changes many fundamental concepts. It uses the [[based array model]] with dedicated [[array notation]], distinguishes between data types and expression roles to give the language a [[wikipedia:context-free grammar|context-free grammar]] with [[wikipedia:first-class function|first-class function]]s, uses a new set of [[glyph]]s with different primitive pairings, and implements [[character arithmetic]]. The language uses the [[leading axis model]] and [[tacit programming]] as core paradigms. Its implementation is largely self-hosted, with an array-based compiler like [[Co-dfns]].


== Implementations ==
== Implementations ==
Line 57: Line 57:
| <code>⌈</code> || [[Ceiling]]              || [[Maximum]]
| <code>⌈</code> || [[Ceiling]]              || [[Maximum]]
|-
|-
| <code>∧</code> || Sort Up                   || [[And]]
| <code>∧</code> || [[Sort Up]]              || [[And]]
|-
|-
| <code>∨</code> || Sort Down                 || [[Or]]
| <code>∨</code> || [[Sort Down]]            || [[Or]]
|-
|-
| <code>¬</code> || [[Not]]                  || Span
| <code>¬</code> || [[Not]]                  || Span
Line 89: Line 89:
| <code>∾</code> || [[Raze|Join]]            || [[Catenate|Join to]]
| <code>∾</code> || [[Raze|Join]]            || [[Catenate|Join to]]
|-
|-
| <code>≍</code> || Solo                     || [[Couple]]
| <code>≍</code> || [[Solo]]                  || [[Couple]]
|-
|-
| <code>⋈</code> || Enlist                   || [[Pair]]
| <code>⋈</code> || [[Pair|Enlist]]          || [[Pair]]
|-
|-
| <code>↑</code> || Prefixes                  || [[Take]]
| <code>↑</code> || Prefixes                  || [[Take]]
Line 125: Line 125:
| <code>⍷</code> || [[Unique|Deduplicate]]    || [[Find]]
| <code>⍷</code> || [[Unique|Deduplicate]]    || [[Find]]
|-
|-
| <code>⊔</code> || Group Indices             || Group
| <code>⊔</code> || [[Group Indices]]        || [[Group (BQN)|Group]]
|-
|-
| <code>!</code> || Assert                    || Assert with Message
| <code>!</code> || Assert                    || Assert with Message
Line 149: Line 149:
| <code>⌜</code> || [[Outer Product|Table]]
| <code>⌜</code> || [[Outer Product|Table]]
|-
|-
| <code>⁼</code> || Undo
| <code>⁼</code> || [[Undo]]
|-
|-
| <code>´</code> || [[Reduce|Fold]]
| <code>´</code> || [[Reduce|Fold]]

Navigation menu