Skip to content

Latest commit

 

History

History
19 lines (8 loc) · 1.43 KB

proposal_005.md

File metadata and controls

19 lines (8 loc) · 1.43 KB

Motivation

I want to be able to experiment with different computer architectures. Any changes I make between architectures should be clear and succinct.

Assumptions

  • I will be able to get most of the way when describing memory and logic gate layouts and manipulations with APL's notation, especially the later formalizations — More's Axioms and Theorems for a Theory of Arrays and its realization into APL2.

  • I should take advantage of APL's boxed display of an array to understand manipulations.

  • Hill and Peterson's Digital Systems: Hardware Organiztion and Design is a great way to understand how to formally description the architecture of computers with APL, specifically AHPL.

  • I can learn APL by implmenting it in terms of other languages. Python is good because I know it best and itertools is awesome and Javascript is good because I can use it on a no-install simulator. Javascript's typed arrays are of particular interest to me for learning how to represent the arrays as a stream of bits.

  • Eli Bendersky's Memory layout of multi-dimensional arrays is a good start for my lower level implementations.