-

Thun 0.1.1 Documentation

+

Thun 0.2.0 Documentation

Thun is dialect of Joy written in Python 2.

Joy is a programming language created by Manfred von Thun that is easy to use and understand and has many other nice properties. This Python @@ -133,7 +133,8 @@ interesting aspects. It’s quite a treasure trove.

  • Essays about Programming in Joy
    • Developing a Program in Joy
    • Replacing Functions in the Dictionary
    • -
    • Treating Trees
    • +
    • Treating Trees I: Ordered Binary Trees
    • +
    • Treating Trees II: treestep
    • Newton’s method
    • Quadratic formula
    • No Updates
    • @@ -161,7 +162,7 @@ interesting aspects. It’s quite a treasure trove.

      Table Of Contents

        -
      • Thun 0.1.1 Documentation
          +
        • Thun 0.2.0 Documentation
          • Quick Start
          • Project Hosted on OSDN
          • Information on the Joy language
          • diff --git a/docs/sphinx_docs/_build/html/joy.html b/docs/sphinx_docs/_build/html/joy.html index 5c31265..d5d82a1 100644 --- a/docs/sphinx_docs/_build/html/joy.html +++ b/docs/sphinx_docs/_build/html/joy.html @@ -6,7 +6,7 @@ - Joy Interpreter — Thun 0.1.1 documentation + Joy Interpreter — Thun 0.2.0 documentation diff --git a/docs/sphinx_docs/_build/html/lib.html b/docs/sphinx_docs/_build/html/lib.html index cb9e41b..4e964fd 100644 --- a/docs/sphinx_docs/_build/html/lib.html +++ b/docs/sphinx_docs/_build/html/lib.html @@ -6,7 +6,7 @@ - Functions Grouped by, er, Function with Examples — Thun 0.1.1 documentation + Functions Grouped by, er, Function with Examples — Thun 0.2.0 documentation diff --git a/docs/sphinx_docs/_build/html/library.html b/docs/sphinx_docs/_build/html/library.html index 9af4bec..304a854 100644 --- a/docs/sphinx_docs/_build/html/library.html +++ b/docs/sphinx_docs/_build/html/library.html @@ -6,7 +6,7 @@ - Function Reference — Thun 0.1.1 documentation + Function Reference — Thun 0.2.0 documentation @@ -193,12 +193,48 @@ Boolean value (so empty string, zero, etc. are counted as false, etc.)

      +
      +
      +joy.library.cmp_(stack, expression, dictionary)[source]
      +

      cmp takes two values and three quoted programs on the stack and runs +one of the three depending on the results of comparing the two values:

      +
      +
      +
      a b [G] [E] [L] cmp
      +
      +
      ————————- a > b
      +
      +
      G
      +

      a b [G] [E] [L] cmp

      +
      +
      ————————- a = b
      +
      +
      E
      +

      a b [G] [E] [L] cmp

      +
      +
      ————————- a < b
      +
      L
      +
      +
      +
      +
      joy.library.concat(stack, expression, dictionary)[source]

      Concatinate the two lists on the top of the stack.

      +
      +
      +joy.library.cond(stack, expression, dictionary)[source]
      +

      like a case statement; works by rewriting into a chain of ifte.

      +

      [..[[Bi] Ti]..[D]] -> …

      +
      +
      [[[B0] T0] [[B1] T1] [D]] cond
      +
      +
      [B0] [T0] [[B1] [T1] [D] ifte] ifte
      +
      +
      joy.library.cons(stack, expression, dictionary)[source]
      diff --git a/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 1st.html b/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 1st.html index 41c2741..065e727 100644 --- a/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 1st.html +++ b/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 1st.html @@ -6,7 +6,7 @@ - Advent of Code 2017 — Thun 0.1.1 documentation + Advent of Code 2017 — Thun 0.2.0 documentation diff --git a/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 2nd.html b/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 2nd.html index 832f11d..f6c201d 100644 --- a/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 2nd.html +++ b/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 2nd.html @@ -6,7 +6,7 @@ - Advent of Code 2017 — Thun 0.1.1 documentation + Advent of Code 2017 — Thun 0.2.0 documentation diff --git a/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 3rd.html b/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 3rd.html index dd5edcd..3cf675b 100644 --- a/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 3rd.html +++ b/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 3rd.html @@ -6,7 +6,7 @@ - Advent of Code 2017 — Thun 0.1.1 documentation + Advent of Code 2017 — Thun 0.2.0 documentation diff --git a/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 4th.html b/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 4th.html index 2ff6dc6..cbc30b7 100644 --- a/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 4th.html +++ b/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 4th.html @@ -6,7 +6,7 @@ - Advent of Code 2017 — Thun 0.1.1 documentation + Advent of Code 2017 — Thun 0.2.0 documentation diff --git a/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 5th.html b/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 5th.html index 23cd285..b43719e 100644 --- a/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 5th.html +++ b/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 5th.html @@ -6,7 +6,7 @@ - Advent of Code 2017 — Thun 0.1.1 documentation + Advent of Code 2017 — Thun 0.2.0 documentation diff --git a/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 6th.html b/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 6th.html index c06b4dd..2de39c8 100644 --- a/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 6th.html +++ b/docs/sphinx_docs/_build/html/notebooks/Advent of Code 2017 December 6th.html @@ -6,7 +6,7 @@ - Advent of Code 2017 — Thun 0.1.1 documentation + Advent of Code 2017 — Thun 0.2.0 documentation diff --git a/docs/sphinx_docs/_build/html/notebooks/Categorical.html b/docs/sphinx_docs/_build/html/notebooks/Categorical.html index b407c35..bd7eba0 100644 --- a/docs/sphinx_docs/_build/html/notebooks/Categorical.html +++ b/docs/sphinx_docs/_build/html/notebooks/Categorical.html @@ -6,7 +6,7 @@ - Categorical Programming — Thun 0.1.1 documentation + Categorical Programming — Thun 0.2.0 documentation @@ -39,7 +39,7 @@

      In Compiling to categories Conal Elliott give a taste of what this might mean.

      It is well-known that the simply typed lambda-calculus is modeled by any cartesian closed category (CCC). This correspondence suggests giving typed functional programs a variety of interpretations, each corresponding to a different category. A convenient way to realize this idea is as a collection of meaning-preserving transformations added to an existing compiler, such as GHC for Haskell. This paper describes such an implementation and demonstrates its use for a variety of interpretations including hardware circuits, automatic differentiation, incremental computation, and interval analysis. Each such interpretation is a category easily defined in Haskell (outside of the compiler). The general technique appears to provide a compelling alternative to deeply embedded domain-specific languages.
      -

      What he’s doing is translating labda forms into a kind of “point-free” style that is very close to Joy code (although more verbose) and then showing how to instantiate that code over different categories to get several different kinds of program out of the same code.

      +

      What he’s doing is translating lambda forms into a kind of “point-free” style that is very close to Joy code (although more verbose) and then showing how to instantiate that code over different categories to get several different kinds of program out of the same code.

  • diff --git a/docs/sphinx_docs/_build/html/notebooks/Developing.html b/docs/sphinx_docs/_build/html/notebooks/Developing.html index c6cd960..c3a6c34 100644 --- a/docs/sphinx_docs/_build/html/notebooks/Developing.html +++ b/docs/sphinx_docs/_build/html/notebooks/Developing.html @@ -6,7 +6,7 @@ - Developing a Program in Joy — Thun 0.1.1 documentation + Developing a Program in Joy — Thun 0.2.0 documentation diff --git a/docs/sphinx_docs/_build/html/notebooks/Generator Programs.html b/docs/sphinx_docs/_build/html/notebooks/Generator Programs.html index d20d464..4c3cc83 100644 --- a/docs/sphinx_docs/_build/html/notebooks/Generator Programs.html +++ b/docs/sphinx_docs/_build/html/notebooks/Generator Programs.html @@ -6,7 +6,7 @@ - Using x to Generate Values — Thun 0.1.1 documentation + Using x to Generate Values — Thun 0.2.0 documentation diff --git a/docs/sphinx_docs/_build/html/notebooks/Hylo-, Ana-, Cata-, and Para-morphisms - Recursion Combinators.html b/docs/sphinx_docs/_build/html/notebooks/Hylo-, Ana-, Cata-, and Para-morphisms - Recursion Combinators.html index b0b7fd0..b82e285 100644 --- a/docs/sphinx_docs/_build/html/notebooks/Hylo-, Ana-, Cata-, and Para-morphisms - Recursion Combinators.html +++ b/docs/sphinx_docs/_build/html/notebooks/Hylo-, Ana-, Cata-, and Para-morphisms - Recursion Combinators.html @@ -6,7 +6,7 @@ - Hylomorphism — Thun 0.1.1 documentation + Hylomorphism — Thun 0.2.0 documentation diff --git a/docs/sphinx_docs/_build/html/notebooks/Intro.html b/docs/sphinx_docs/_build/html/notebooks/Intro.html index 4fde6b0..61c82d1 100644 --- a/docs/sphinx_docs/_build/html/notebooks/Intro.html +++ b/docs/sphinx_docs/_build/html/notebooks/Intro.html @@ -6,7 +6,7 @@ - Thun: Joy in Python — Thun 0.1.1 documentation + Thun: Joy in Python — Thun 0.2.0 documentation @@ -17,7 +17,7 @@ - + @@ -326,7 +326,7 @@ developing structured processes.

    Related Topics

    diff --git a/docs/sphinx_docs/_build/html/notebooks/Newton-Raphson.html b/docs/sphinx_docs/_build/html/notebooks/Newton-Raphson.html index 6688bee..55d71e6 100644 --- a/docs/sphinx_docs/_build/html/notebooks/Newton-Raphson.html +++ b/docs/sphinx_docs/_build/html/notebooks/Newton-Raphson.html @@ -6,7 +6,7 @@ - Newton’s method — Thun 0.1.1 documentation + Newton’s method — Thun 0.2.0 documentation diff --git a/docs/sphinx_docs/_build/html/notebooks/NoUpdates.html b/docs/sphinx_docs/_build/html/notebooks/NoUpdates.html index 6e7234d..dddc748 100644 --- a/docs/sphinx_docs/_build/html/notebooks/NoUpdates.html +++ b/docs/sphinx_docs/_build/html/notebooks/NoUpdates.html @@ -6,7 +6,7 @@ - No Updates — Thun 0.1.1 documentation + No Updates — Thun 0.2.0 documentation diff --git a/docs/sphinx_docs/_build/html/notebooks/Quadratic.html b/docs/sphinx_docs/_build/html/notebooks/Quadratic.html index 101a626..cc8aaf7 100644 --- a/docs/sphinx_docs/_build/html/notebooks/Quadratic.html +++ b/docs/sphinx_docs/_build/html/notebooks/Quadratic.html @@ -6,7 +6,7 @@ - Quadratic formula — Thun 0.1.1 documentation + Quadratic formula — Thun 0.2.0 documentation diff --git a/docs/sphinx_docs/_build/html/notebooks/Trees.html b/docs/sphinx_docs/_build/html/notebooks/Trees.html index d420f7a..c56bb80 100644 --- a/docs/sphinx_docs/_build/html/notebooks/Trees.html +++ b/docs/sphinx_docs/_build/html/notebooks/Trees.html @@ -6,7 +6,7 @@ - Treating Trees — Thun 0.1.1 documentation + Treating Trees — Thun 0.2.0 documentation diff --git a/docs/sphinx_docs/_build/html/notebooks/Zipper.html b/docs/sphinx_docs/_build/html/notebooks/Zipper.html index 8e70d42..775b613 100644 --- a/docs/sphinx_docs/_build/html/notebooks/Zipper.html +++ b/docs/sphinx_docs/_build/html/notebooks/Zipper.html @@ -6,7 +6,7 @@ - Preamble — Thun 0.1.1 documentation + Preamble — Thun 0.2.0 documentation diff --git a/docs/sphinx_docs/_build/html/notebooks/index.html b/docs/sphinx_docs/_build/html/notebooks/index.html index a75d684..84ee6af 100644 --- a/docs/sphinx_docs/_build/html/notebooks/index.html +++ b/docs/sphinx_docs/_build/html/notebooks/index.html @@ -6,7 +6,7 @@ - Essays about Programming in Joy — Thun 0.1.1 documentation + Essays about Programming in Joy — Thun 0.2.0 documentation @@ -50,18 +50,27 @@
  • A shorter trace