http://qs321.pair.com?node_id=312580


in reply to Re: To Trinary or not to Ternary
in thread To Trinary or not to Ternary

What kind of programming structure would support trinary logic?

if (<<expr>>) { # true } else { # false } otherwise { # nuetral?? }

Sounds like fun to me :-)


___________
Eric Hodges

Replies are listed 'Best First'.
Re: Re: Re: To Trinary or not to Ternary
by l2kashe (Deacon) on Dec 05, 2003 at 19:46 UTC

    A friend and myself sat down and played with trying to create a trinary based system (hardware and software). On the hardware level it was nice, as it seemed to simplify a few things.

    We never did get to an actual OS implementation. I fought with the if/else structure, and still do. The simple if/else is a binary concept, and it was wrong to try and kludge it into a trinary system. We had to figure out a control structure that did the same thing, yet has 3 possible states. I just couldn't quite seem to get "out of the box" and figure out the right concept to implement. Consequently the project has been collecting dust for about a year now.

    The farthest I ever got was something along the lines of almost a multiple test structure, but its really just a renamed if/else, with a builtin elsif. Pseudocode below

    true( test_var for truth_value ) { } false ( test_var for not other_values ) { } neither { # something else }

    Maybe some other monks have insight into how to really leverage this at the software level, but at this point I don't. Maybe if I had a CS degree and knew more of the fundamentals of computing I might have gotten further along. The hardware side though was really impressive. Play with the numbers. Take the possible values for a single byte, and instead of it being base 2 take it to base 3.

    use perl;

      For ideas you might try researching SETUN, the ternary computer the Soviets built in the 1950's.
Re: Re: Re: To Trinary or not to Ternary
by Russ (Deacon) on Dec 05, 2003 at 18:27 UTC
    Check out the <=> and cmp operators... :-)

      Those are just functions that return -1,0 or 1. Thats easy enough. I'm talking about control statements that can respond to suck input. if,unless,while...etc all respond to only a true and false and have two actions accordingling (continue looping, execute statment, etc). What I'm wondering is what does a trinary language look like in control statments, and what use is it realy? Of course I never saw the use of LISP so perhaps I'm too short sighted :-)


      ___________
      Eric Hodges