Let’s say you wanted to use the mind as a calculator, and pen and paper as memory/registers/storage. Is there a programming language that works with pen and paper?

  • gezero@sopuli.xyz
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    4 hours ago

    Turing machine itself is a theoretical tool that was thought to me using pen and paper, or chalk and blackboard. I guess you are looking for higher level language.

    In such case i would allow multiple heads and more complex operations on the heads.

  • red_tomato@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    3 hours ago

    In theory, any programming language can be carried out on pen and paper. The problem is that it doesn’t take much for it to become far beyond impractical.

  • AntiOutsideAktion@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    3 hours ago

    A pen and paper is the original memory/storage/register and your brain is the original calculator so yes and no.

    You literally carried out the outcome of your question by asking it

  • zener_diode@feddit.org
    link
    fedilink
    arrow-up
    1
    ·
    4 hours ago

    This is actually something that a turing machine is suitable for.

    Get youself something to remember what state you’re in, write the rules on a sheet of paper and use a stack of paper as the tape, with each piece of paper being one cell.

    Turing’s idea was to build a mathematical model that mirrored how humans go about large, complex tasks.

    Honestly, all of these super basic mathematical models for calculation are fairly well suited to being “run” by hand.

    Random-access-machines can be done similarly to turing machines. Write the program down, keep the program counter on one piece of paper, and have a (numbered) stack of paper as memory.

    And lambda-calculus is probably the easiest. Just write out the expression, and then write out each reduction step. This is what functional programming languages build on, and with the additional effort of checking types, you could probabl evaluate something like Haskell by hand pretty well.

    All of those are turing complete (if you ignore infinite memory).

    EDIT: spelling