Show HN: You can program without loop and recursion and×÷- is all you need
A language named "Ar" on GitHub, inspired by Blindfolded Arithmetic and Z3, is Turing complete with functions like inc, sub, mul, and div. It implements various operations and aims to compute the Ackermann function, sparking discussions.
Read original articleThe GitHub URL provided contains information about a language called "Ar," inspired by Blindfolded Arithmetic and Z3. This Turing complete language utilizes only four functions: inc, sub, mul, and div, as demonstrated through syntax and examples. Various functions like zero, one, two, add, subtract, and negate are implemented within the language. Discussions revolve around its Turing completeness, universal function, and the potential to compute the Ackermann function, despite some skepticism. The examples and explanations provided showcase the language's capabilities and its unique approach to computation.
Related
F (2006)
F is a functional concatenative language with K3 list operations and Joy's dip combinator. It enforces one-time assignment, supports floating-point and symbolic datatypes, and emphasizes function-valence and -charge theories. The language is purely functional, prohibiting side-effects and reassignment, with various primitives for arithmetic, logic, and list operations. F also provides interactive commands for debugging and manipulation, focusing on simplicity, efficiency, and functional programming paradigms.
As you learn Forth, it learns from you (1981)
The Forth programming language is highlighted for its unique features like extensibility, speed, and efficiency. Contrasted with Basic, Forth's threaded code system and data handling methods make it versatile.
APL Demonstration (1975) [video]
The YouTube video explores APL, a programming language by Kenneth Iverson in 1957. It simplifies algebraic operations for arrays, widely used for its versatility in various industries. Topics include logical propositions, arithmetic functions, variable naming, APL expressions, Iota function, vector operations, matrices, and arrays.
Show HN: Programming with Bird Emojis
The programming language Birb uses bird emojis to represent lambda calculus terms. Syntax involves bird emojis, and semantics reduce birds in associative order. Birb is Turing complete, with a transpiler converting to SKI combinators and Jot.
Toolbox Languages
Toolbox languages like AutoHotKey, J, Frink, Raku, and Picat excel in specific areas such as GUI automation, array manipulation, unit handling, flexibility with operators, and logic programming. They cater to niche needs, providing efficient solutions for various tasks.
In the words of it's inventor, John Conway:
Makes workday really easy! FRACTRAN needs no complicate programming manual. It's entire syntax can be learned in 10 seconds, and programs for quite complex and interesting functions can be written almost at once. The entire configuration of a FRACTRAN computer at any instant is a single integer - no messy "tapes" or other foreign concepts to be understood by the fledging programmer.
What's not to like? This is a good introduction for someone seriously considering doing their next project in FRACTRAN: https://raganwald.com/2020/05/03/fractran.html Epigram 54.
Beware of the Turing tar-pit
in which everything is possible
but nothing of interest is easy.
Related
F (2006)
F is a functional concatenative language with K3 list operations and Joy's dip combinator. It enforces one-time assignment, supports floating-point and symbolic datatypes, and emphasizes function-valence and -charge theories. The language is purely functional, prohibiting side-effects and reassignment, with various primitives for arithmetic, logic, and list operations. F also provides interactive commands for debugging and manipulation, focusing on simplicity, efficiency, and functional programming paradigms.
As you learn Forth, it learns from you (1981)
The Forth programming language is highlighted for its unique features like extensibility, speed, and efficiency. Contrasted with Basic, Forth's threaded code system and data handling methods make it versatile.
APL Demonstration (1975) [video]
The YouTube video explores APL, a programming language by Kenneth Iverson in 1957. It simplifies algebraic operations for arrays, widely used for its versatility in various industries. Topics include logical propositions, arithmetic functions, variable naming, APL expressions, Iota function, vector operations, matrices, and arrays.
Show HN: Programming with Bird Emojis
The programming language Birb uses bird emojis to represent lambda calculus terms. Syntax involves bird emojis, and semantics reduce birds in associative order. Birb is Turing complete, with a transpiler converting to SKI combinators and Jot.
Toolbox Languages
Toolbox languages like AutoHotKey, J, Frink, Raku, and Picat excel in specific areas such as GUI automation, array manipulation, unit handling, flexibility with operators, and logic programming. They cater to niche needs, providing efficient solutions for various tasks.