aboutsummaryrefslogtreecommitdiff
path: root/impl.bqn
diff options
context:
space:
mode:
Diffstat (limited to 'impl.bqn')
-rw-r--r--impl.bqn7
1 files changed, 6 insertions, 1 deletions
diff --git a/impl.bqn b/impl.bqn
index 79c64fa3..6efef2c6 100644
--- a/impl.bqn
+++ b/impl.bqn
@@ -256,7 +256,12 @@ Replicate ← {0<=𝕨}◶(⥊˜⟜≠Rep⊢)‿{!𝕨=○≠𝕩⋄𝕨Rep𝕩}
#⌜
# LAYER 6: Everything else
-Join←{
+Join←(1≠=)◶⟨∨´1≠=¨,1⟩◶{
+ # List of lists
+ i←j←¯1⋄e←⟨⟩⋄a←𝕩
+ {{e↩a⊑˜i↩𝕩⋄j↩¯1}⍟(i⊸≠)𝕩⋄(j↩j+1)⊑e}¨/≠¨𝕩
+}‿{
+ # Multidimensional
C←(<⟨⟩)⥊⊸∾⌜´⊢ # Cartesian array product
! IsArray 𝕩
s←≢¨𝕩