Releases: RubenVerg/TinyAPL
Releases · RubenVerg/TinyAPL
TinyAPL 0.11.1.0
TinyAPL 0.11.0.1
Bugs
- Fix bug where trying to
fromMajorCells
a list that contained a dictionary failed hard
TinyAPL 0.11.0.0
Language
- All scalar functions now support leading axis agreement
- Add dictionaries
Primitives
- Add Join
⍪
- Add Lowercase to Floor
⌊
, Uppercase to Ceiling⌈
, Case Fold to Absolute Value|
and Case to Sign×
- Add dictionary variants to Catenate
⍪
, Union∪
, Intersection∩
, Difference~
, Symmetric Difference§
, Index⌷
, From⊇
, Grade Up⍋
and Grade Down⍒
, Enlist∊
, Ravel,
, Where⍸
, Replicate⌿
, Element Of∊
, Count⋷
, Index Of⍳
- Add Key-Value Pair
߹
- Add From Pairs
߹
- Add From Keys and Values
‥
- Add From Inverted Table
‥
- Add Inverted Table
⍉
- Add Key-Value Pairs
↓
- Add Empty Dictionary
∻
- Add Deal
?
- Add Partition
⊆
- Add Group
⫇
- Add Partitioned Enclose
⊂
Quads
- Add
⎕Unicode
- Add
⎕file→Read
and⎕file→Write
JavaScript
- Add support for dictionaries with
type
"dictionary"
andentries
a list of pairs.
TinyAPL 0.10.0.1
Standard Library
- Fix missing glyphs in
std:sbcs
TinyAPL 0.10.0.0
Language
- [Very Breaking!] Change index origin to
0
, this impacts the following primitives: From, Index Generator, Index Of, Where, Index, Grade Up, Grade Down, (dyad) Transpose, Roll, Index Origin (the quad)
Primitives
- Add Arctangent
∡
- Add Round To Nearest
⸠
- Make
⌷
work with non-vector selections on each axis - Add Increment
⧺
- Add Decrement
ⵧ
- Add Span
ⵧ
- Add Range
…
- Add One Range
…
- Add Fork
«
and»
Web Editor
- Add support for multiline input (shift + enter)
- Fix some bugs in quad Fetch
Standard Library
Add std:sbcs
module for encoding and decoding TinyAPL code to a single byte character set (for code golf)
TinyAPL 0.9.0.0
Language
- [Breaking!] Change ordering of scalar wraps and arrays
Syntax
- Add infinities
∞
Primitives
- Add Laminate
,
- Add Mix
↑
- Add Major Cells
↓
- Add At Depth
⍥
and On Simple Scalars⌓
Supported features:
* dfns {code}, d-monadic-ops _{code}, d-dyadic-ops _{code}_
⍺ left argument, ⍵ right argument,
⍺⍺ left array operand, ⍶⍶ left function operand, ⍵⍵ right array operand, ⍹⍹ right function operand,
∇ recurse function, _∇ recurse monadic op, _∇_ recurse dyadic op
■ early exit, : guard
⋄ multiple statements
* numbers: . decimal separator, ¯ negative sign, ⏨ exponent notation, ᴊ complex separator
* character literals: 'abc'
* string literals: "abc" with escapes using ⍘
* names: abc array, Abc function, _Abc monadic op, _Abc_ dyadic op
* get ⎕ read evaluated input, get ⍞ read string input, set ⎕ print with newline, set ⍞ print without newline
* array notation: ⟨⋄⟩ vector, [⋄] higher rank array (combine major cells), ‿ tie (like vector notation)
* trains: ⦅⦆ deriving function, _⦅⦆ deriving adverb, _⦅⦆_ deriving conjunction
* structs: ⦃statements⦄, qualified access →
* assignment with ←, modify assignment with ↩, constant assignment with ⇇, private assignment with ↚
* array assignment with array notation of names
* comments: ⍝ until end of line, ⟃⟄ inline
TinyAPL 0.8.0.0
Syntax
- Add ternaries
⍰
/⍠
Primitives
- Add Decode
⊥
- Add Encode
⊤
- Add Lev
⫣
, Dex⊩
and Ident⫤
- Add Fold
⍆
and Fold Back⍅
- Add Element Of
∊
- Add Count
⋷
- Add Index Of
⍳
- Add Interval Index
⍸
Quads
- Add
⎕ts
- Add
⎕systemInfo
Supported primitives:
⍬
+ - × ÷ * ⍟ √ ⌊ ⌈ ⸠ < ≤ = ≥ > ≠ ∧ ∨ ⍲ ⍱ ⊕ ⊗ ≡ ≢ ⍴ , ⊖ ⍮ ⊂ ⊃ ⊇ ↑ ↓ ⊣ ⊢ ⍳ ⍸ ⌿ | ∡ ℜ ℑ ∪ ∩ ~ § ∊ ? ⌷ ϼ ⍪ ⍋ ⍒ ⊲ ⊴ ⊵ ⊳ ⇂ ↾ ⍉ ⌹ ! ↗ ⊥ ⊤ ⋷
⍨ ⍆ ⍅ ↟ ↡ ¨ ᐵ ᑈ ⌸ ◡ ◠ ᑣ ᑒ ⊞ ⫤
⍤ ⍥ ∘ ⍛ ⊸ ⟜ ⸚ ⇾ ⇽ ⍣ ⁖ ⍢ ∙ ⫣ ⊩
Supported quad names:
⎕io ⎕ct ⎕u ⎕l ⎕d ⎕seed ⎕unix ⎕ts ⎕math
⎕Exists ⎕Repr ⎕Delay ⎕Type
Supported features:
* dfns {code}, d-monadic-ops _{code}, d-dyadic-ops _{code}_
⍺ left argument, ⍵ right argument,
⍺⍺ left array operand, ⍶⍶ left function operand, ⍵⍵ right array operand, ⍹⍹ right function operand,
∇ recurse function, _∇ recurse monadic op, _∇_ recurse dyadic op
■ early exit, : guard
⋄ multiple statements
* numbers: . decimal separator, ¯ negative sign, ⏨ exponent notation, ᴊ complex separator
* character literals: 'abc'
* string literals: "abc" with escapes using ⍘
* names: abc array, Abc function, _Abc monadic op, _Abc_ dyadic op
* get ⎕ read evaluated input, get ⍞ read string input, set ⎕ print with newline, set ⍞ print without newline
* array notation: ⟨⋄⟩ vector, [⋄] higher rank array (combine major cells), ‿ tie (like vector notation)
* trains: ⦅⦆ deriving function, _⦅⦆ deriving adverb, _⦅⦆_ deriving conjunction
* structs: ⦃statements⦄, qualified access →
* assignment with ←, modify assignment with ↩, constant assignment with ⇇, private assignment with ↚
* array assignment with array notation of names
* comments: ⍝ until end of line, ⟃⟄ inline
TinyAPL 0.7.0.0
Syntax
- Add wraps
⊏
and unwraps⊐
_⊐
_⊐_
- Add structs
⦃
/⦄
and qualified access→
- Add assignment types:
↩
modify,⇇
constant,↚
private
Primitives
- Add Catenate
⍪
- Add Precedes
⊲
, Precedes or Identical⊴
, Succeeds or Identical⊵
and Succeeds⊳
- Add Minimal
⇂
and Maximal↾
- Add Grade Up and Sort By Up
⍋
and Grade Down and Sort By Down⍒
- Add Sort Up
⊴
and Sort Down⊵
- Add Transpose
⍉
- Add Matrix Inverse and Matrix Divide
⌹
- Add Factorial and Binomial
!
- Add Raise
↗
- Add Table
⊞
- Add On Cells
◡
and On Scalars◠
- Add Boxed
ᑣ
and On Contentsᑒ
- Add Inner Product
∙
- Add Valences
⁖
- Add Repeat and Until
⍣
- Add Under
⍢
Quads
- Add
⎕Type
- Add
⎕Import
Supported primitives:
⍬
+ - × ÷ * ⍟ √ ⌊ ⌈ ⸠ < ≤ = ≥ > ≠ ∧ ∨ ⍲ ⍱ ⊕ ⊗ ≡ ≢ ⍴ , ⊖ ⍮ ⊂ ⊃ ⊇ ↑ ↓ ⊣ ⊢ ⍳ ⍸ ⌿ | ∡ ℜ ℑ ∪ ∩ ~ § ∊ ? ⌷ ϼ ⍪ ⍋ ⍒ ⊲ ⊴ ⊵ ⊳ ⇂ ↾ ⍉ ⌹ ! ↗
⍨ ⍆ ⍅ ↟ ↡ ¨ ᐵ ᑈ ⌸ ◡ ◠ ᑣ ᑒ ⊞
⍤ ⍥ ∘ ⍛ ⊸ ⟜ ⸚ ⇾ ⇽ ⍣ ⁖ ⍢ ∙
Supported quad names:
⎕io ⎕ct ⎕u ⎕l ⎕d ⎕seed ⎕unix ⎕ts ⎕math
⎕Exists ⎕Repr ⎕Delay ⎕Type
Supported features:
* dfns {code}, d-monadic-ops _{code}, d-dyadic-ops _{code}_
⍺ left argument, ⍵ right argument,
⍺⍺ left array operand, ⍶⍶ left function operand, ⍵⍵ right array operand, ⍹⍹ right function operand,
∇ recurse function, _∇ recurse monadic op, _∇_ recurse dyadic op
■ early exit, : guard
⋄ multiple statements
* numbers: . decimal separator, ¯ negative sign, ⏨ exponent notation, ᴊ complex separator
* character literals: 'abc'
* string literals: "abc" with escapes using ⍘
* names: abc array, Abc function, _Abc monadic op, _Abc_ dyadic op
* get ⎕ read evaluated input, get ⍞ read string input, set ⎕ print with newline, set ⍞ print without newline
* array notation: ⟨⋄⟩ vector, [⋄] higher rank array (combine major cells), ‿ tie (like vector notation)
* trains: ⦅⦆ deriving function, _⦅⦆ deriving adverb, _⦅⦆_ deriving conjunction
* structs: ⦃statements⦄, qualified access →
* assignment with ←, modify assignment with ↩, constant assignment with ⇇, private assignment with ↚
* array assignment with array notation of names
* comments: ⍝ until end of line, ⟃⟄ inline
TinyAPL 0.6.0.0
- Add Depth
≡
- Rename
⎕ts
to⎕unix
- Add
⎕Delay
- Add ties between numbers
‿
- Add Mirror
⸚
- Add Left Fork
⇾
and Right Fork⇽
- Add trains
⦅⋄⦆
/_⦅⋄⦆
/_⦅⋄⦆_
Supported primitives:
⍬
+ - × ÷ * ⍟ ○ √ ⌊ ⌈ ⸠ < ≤ = ≥ > ≠ ∧ ∨ ⍲ ⍱ ⊕ ⊗ ≡ ≢ ⍴ , ⊖ ⍮ ⊂ ⊃ ⊇ ↑ ↓ ⊣ ⊢ ⍳ ⍸ ⌿ | ∡ ℜ ℑ ∪ ∩ ~ § ∊ ? ⌷ ϼ
⍨ ⍆ ⍅ ↟ ↡ ¨ ᐵ ᑈ ⌸
⍤ ⍥ ∘ ⍛ ⊸ ⟜ ⸚ ⇾ ⇽
Supported quad names:
⎕io ⎕ct ⎕u ⎕l ⎕d ⎕seed ⎕unix ⎕ts
⎕Exists ⎕Repr ⎕Delay
Supported features:
* dfns {code}, d-monadic-ops _{code}, d-dyadic-ops _{code}_
⍺ left argument, ⍵ right argument,
⍺⍺ left array operand, ⍶⍶ left function operand, ⍵⍵ right array operand, ⍹⍹ right function operand,
∇ recurse function, _∇ recurse monadic op, _∇_ recurse dyadic op
■ early exit, : guard
⋄ multiple statements
* numbers: . decimal separator, ¯ negative sign, ⏨ exponent notation, ᴊ complex separator
* character literals: 'abc'
* string literals: "abc" with escapes using ⍘
* names: abc array, Abc function, _Abc monadic op, _Abc_ dyadic op, assignment with ←
* get ⎕ read evaluated input, get ⍞ read string input, set ⎕ print with newline, set ⍞ print without newline
* array notation: ⟨⋄⟩ vector, [⋄] higher rank array (combine major cells)
* comments: ⟃⟄ inline
TinyAPL 0.5.1.0
- Fix a bug where the interpter always ran in the same initial scope in the self-contained binary
Run the JS interpreter: https://tinyapl.rubenverg.com/run/0.5.1
Supported primitives:
⍬
+ - × ÷ * ⍟ ○ √ ⌊ ⌈ ⸠ < ≤ = ≥ > ≠ ∧ ∨ ⍲ ⍱ ⊕ ⊗ ≡ ≢ ⍴ , ⊖ ⍮ ⊂ ⊃ ⊇ ↑ ↓ ⊣ ⊢ ⍳ ⍸ ⌿ | ∡ ℜ ℑ ∪ ∩ ~ § ∊ ? ⌷ ϼ
⍨ ⍆ ⍅ ↟ ↡ ¨ ᐵ ᑈ ⌸
⍤ ⍥ ∘ ⍛ ⊸ ⟜
Supported quad names:
⎕io ⎕ct ⎕u ⎕l ⎕d ⎕seed ⎕ts
⎕Exists ⎕Repr
Supported features:
* dfns {code}, d-monadic-ops _{code}, d-dyadic-ops _{code}_
⍺ left argument, ⍵ right argument,
⍺⍺ left array operand, ⍶⍶ left function operand, ⍵⍵ right array operand, ⍹⍹ right function operand,
∇ recurse function, _∇ recurse monadic op, _∇_ recurse dyadic op
■ early exit, : guard
⋄ multiple statements
* numbers: . decimal separator, ¯ negative sign, ⏨ exponent notation, ᴊ complex separator
* character literals: 'abc'
* string literals: "abc" with escapes using ⍘
* names: abc array, Abc function, _Abc monadic op, _Abc_ dyadic op, assignment with ←
* get ⎕ read evaluated input, get ⍞ read string input, set ⎕ print with newline, set ⍞ print without newline
* array notation: ⟨⋄⟩ vector, [⋄] higher rank array (combine major cells)
* comments: ⟃⟄ inline