Co-dfns: Difference between revisions
Jump to navigation
Jump to search
m (Text replacement - "Category:APL dialects" to "Category:APL dialectsCategory:Tacit programming") |
m (Co-dfns supports full nesting now) |
||
(15 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Infobox array language | {{Infobox array language | ||
| | | logo = [[File:Co-dfns logo.png|none]] | ||
| array model = [[nested array model|nested]] | |||
| index origin = 0 | | index origin = 0 | ||
| function styles = [[dfn]], [[tacit]] | | function styles = [[dfn]], [[tacit]] | ||
Line 6: | Line 7: | ||
| released = 2014-10-07 | | released = 2014-10-07 | ||
| developer = [[Aaron Hsu]] | | developer = [[Aaron Hsu]] | ||
| latest release version = | | latest release version = 5.4.0 / 2023-12-11 | ||
| implementation | | implementation language = [[Dyalog APL]] | ||
| platforms = CPU (compiles to [[wikipedia:C (programming language)|C]]), GPU (via [[wikipedia:ArrayFire|ArrayFire]]) | | platforms = CPU (compiles to [[wikipedia:C (programming language)|C]]), GPU (via [[wikipedia:ArrayFire|ArrayFire]]) | ||
| operating systems = Windows, Linux, macOS | | operating systems = Windows, Linux, macOS | ||
| license = [[wikipedia:GNU Affero General Public License|AGPLv3]] | | license = [[wikipedia:GNU Affero General Public License|AGPLv3]] | ||
| | | source = [https://github.com/Co-dfns/Co-dfns Github] | ||
| download = [https://github.com/Co-dfns/Co-dfns/releases Releases] | | download = [https://github.com/Co-dfns/Co-dfns/releases Releases] | ||
| file ext = .cd | | file ext = .cd | ||
| documentation = [https://github.com/Co-dfns/Co-dfns/blob/master/docs/MANUAL.md Manual] | | documentation = [https://github.com/Co-dfns/Co-dfns/blob/master/docs/MANUAL.md Manual] | ||
| influenced by = [[Dyalog APL]] | | influenced by = [[Dyalog APL]] | ||
| influenced = [[BQN]]<ref>[[Marshall Lochbaum]]. [https://mlochbaum.github.io/BQN/implementation/codfns.html Co-dfns versus BQN's implementation]. Accessed 2021-04-12.</ref> | |||
}} | }} | ||
'''Co-dfns''' is a compiler for a subset of [[Dyalog APL]] developed by [[Aaron Hsu]], designed to target and run on GPUs. The implementation is notable for its use of [[vector]]s to represent [[tree]]s. While the implementation is extremely terse and largly uncommented, the code is described in detail in Hsu's doctors thesis, wherein he also claims that the performance and maintainability of the compiler could not be achieved with any language other than APL. | '''Co-dfns''' is a compiler for a subset of [[Dyalog APL]] developed by [[Aaron Hsu]], designed to target and run on GPUs. The implementation is notable for its use of [[vector]]s to represent [[tree]]s. While the implementation is extremely terse and largly uncommented, the code is described in detail in Hsu's doctors thesis, wherein he also claims that the performance and maintainability of the compiler could not be achieved with any language other than APL. | ||
{{APL dialects}}[[Category:APL dialects]][[Category: | == References == | ||
<references/> | |||
{{APL dialects}}[[Category:APL dialects]][[Category:Ahead-of-time compilers]][[Category:Nested array languages]][[Category:Leading axis languages]][[Category:Languages with tacit programming]] |
Latest revision as of 03:01, 21 February 2024
Co-dfns is a compiler for a subset of Dyalog APL developed by Aaron Hsu, designed to target and run on GPUs. The implementation is notable for its use of vectors to represent trees. While the implementation is extremely terse and largly uncommented, the code is described in detail in Hsu's doctors thesis, wherein he also claims that the performance and maintainability of the compiler could not be achieved with any language other than APL.
References
- ↑ Marshall Lochbaum. Co-dfns versus BQN's implementation. Accessed 2021-04-12.
APL dialects [edit] | |
---|---|
Maintained | APL+Win ∙ APL2 ∙ APL64 ∙ APL\iv ∙ Aplette ∙ April ∙ Co-dfns ∙ Dyalog APL ∙ Dyalog APL Vision ∙ dzaima/APL ∙ GNU APL ∙ Kap ∙ NARS2000 ∙ Pometo ∙ TinyAPL |
Historical | A Programming Language ∙ A+ (A) ∙ APL# ∙ APL2C ∙ APL\360 ∙ APL/700 ∙ APL\1130 ∙ APL\3000 ∙ APL.68000 ∙ APL*PLUS ∙ APL.jl ∙ APL.SV ∙ APLX ∙ Extended Dyalog APL ∙ Iverson notation ∙ IVSYS/7090 ∙ NARS ∙ ngn/apl ∙ openAPL ∙ Operators and Functions ∙ PAT ∙ Rowan ∙ SAX ∙ SHARP APL ∙ Rationalized APL ∙ VisualAPL (APLNext) ∙ VS APL ∙ York APL |
Derivatives | AHPL ∙ BQN ∙ CoSy ∙ ELI ∙ Glee ∙ I ∙ Ivy ∙ J ∙ Jelly ∙ K (Goal, Klong, Q) ∙ KamilaLisp ∙ Lang5 ∙ Lil ∙ Nial ∙ RAD ∙ Uiua |
Overviews | Comparison of APL dialects ∙ Timeline of array languages ∙ Timeline of influential array languages ∙ Family tree of array languages |