aboutsummaryrefslogtreecommitdiff
path: root/spec/reference.bqn
diff options
context:
space:
mode:
Diffstat (limited to 'spec/reference.bqn')
-rw-r--r--spec/reference.bqn17
1 files changed, 9 insertions, 8 deletions
diff --git a/spec/reference.bqn b/spec/reference.bqn
index 56ee7318..8d872dad 100644
--- a/spec/reference.bqn
+++ b/spec/reference.bqn
@@ -378,16 +378,17 @@ Replicate ← {0<=𝕨}◶(⥊˜⟜≠Rep⊢)‿{!𝕨=○≠𝕩⋄𝕨Rep𝕩}
{ Identity ↩ 𝕨˙⊸=◶Identity‿𝕩 }´¨ ⟨ ∨‿0 , ∧‿1 ⟩
Join←(0<=)◶{!IsArray𝕩⋄>𝕩}‿{
- C←(<⟨⟩)⥊⊸∾⌜´⊢ # Cartesian array product
! IsArray 𝕩
s←≢¨𝕩
- d←≠⊑s
- ! ∧´⥊d=≠¨s
- ! d≥=𝕩
- l←(≢𝕩){(𝕩⊑⟜≢a⊑˜(j=𝕩)⊸×)¨↕𝕨}¨j←↕r←=a←𝕩
- ! (r↑¨s)≡C l
- i←C{p←+´¨↑𝕩⋄(↕⊑⌽p)-𝕩/¯1↓p}¨l
- >i<¨⊸⊏¨l/𝕩
+ a←(≢𝕩){(s⊑˜(j=𝕩)⊸×)¨↕𝕨}¨j←↕r←=𝕩
+ h←(¬⟜(⌈´)≠¨)¨a
+ ! ∧´∧´¨0≤h
+ o←+`⊑¨h
+ t←(¯1⊑o)↓⊑s
+ l←h{𝕎𝕩}¨˜(»o){⊣◶⟨1,𝕨⊸⊑⟩¨⟜𝕩}¨a
+ ! s≡(<t)∾⌜´h⥊¨¨l
+ i←(<⟨⟩)∾⌜´h{((↕¯1⊸⊑)-𝕩/𝕨⥊¨»)+`𝕩}¨l
+ >i<¨⊸⊏⍟(0<≠∘⊣)¨l/𝕩
}⍟(0<≠∘⥊)
Group←{