Skip to content

Instantly share code, notes, and snippets.

@okram
Last active November 28, 2019 19:55
Show Gist options
  • Save okram/b09cbf89003a1beaf1d8231744ddcfe4 to your computer and use it in GitHub Desktop.
Save okram/b09cbf89003a1beaf1d8231744ddcfe4 to your computer and use it in GitHub Desktop.
~/software/mm-adt/vm/java bin/mmadt.sh
_____ _______
/\ | __ |__ __|
_ __ ___ _ __ ___ _____ / \ | | | | | |
| '_ ` _ \| '_ ` _ |_____/ /\ \| | | | | |
| | | | | | | | | | | / ____ \ |__| | | |
|_| |_| |_|_| |_| |_| /_/ \_\____/ |_|
mm-adt.org
mmlang> 1 => 1
==>1
mmlang> 1 => 2
mmlang> 1 => int
==>1
mmlang> 1 => [plus,1]
==>2
mmlang> int => 1
==>1
mmlang> int => [plus,1]
==>int <= [plus,1]
mmlang> (int <= [plus,1]) => 1
mmlang> // should be 0
@okram
Copy link
Author

okram commented Nov 28, 2019

Lines 18 and 19 are interesting as our fix point yields an operation whose evaluation is itself.

mmlang> int => [plus,1]
==>int <= [plus,1]
mmlang> int <= [plus,1]
==>int <= [plus,1]

The way in which int is embedded in the set of objects added to 1 yields the way in which the set of objects added to 1 is in int. This is the "mm-ADT way" of expressing the function signature: [plus,1]: int -> int. However, in mm-ADT, we don't make distinctions between functions and types. Instructions as data and data as instructions...its all the same. "Things denoting other things" is the name of the game in mm-ADT.

On my way to a theory of reference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment