Loading ...
Sorry, an error occurred while loading the content.

Adding another Stack to Cat

Expand Messages
  • Christopher Diggins
    I m planning on adding a second stack to the stack-based programming language Cat so that it can be more directly translated to other languages (like the
    Message 1 of 10 , Jul 4, 2006
    • 0 Attachment
      I'm planning on adding a second stack to the stack-based programming language Cat so that it can be more directly translated to other languages (like the MSIL). As a result I'm having to invent a syntax for type-annotation of a multi-stack language, because later versions of Cat will support type annotations. I've posted about it at http://www.artima.com/weblogs/viewpost.jsp?thread=167276 .
       
      I'd appreciate any comments or insights.
       
      Thanks,
      Christopher Diggins
       
    • Steven Shaw
      Just a probing question that comes from no experience whatsoever: why add a separate stack to support a particular target? Can t you see if you can optimise
      Message 2 of 10 , Jul 4, 2006
      • 0 Attachment
        Just a probing question that comes from no experience whatsoever: why
        add a separate stack to support a particular target? Can't you see if
        you can optimise multiple Cat statements allowing use of the IL
        evalution stack?

        Steve.
      • Christopher Diggins
        ... add a separate stack to support a particular target? Can t you see if you can optimise multiple Cat statements allowing use of the IL evalution stack I
        Message 3 of 10 , Jul 4, 2006
        • 0 Attachment
          > Just a probing question that comes from no experience whatsoever: why
          add a separate stack to support a particular target? Can't you see if
          you can optimise multiple Cat statements allowing use of the IL
          evalution stack
           
          I think you may be right. It doesn't feel right tweaking a language so much for a particular target. After having written the post I am now having serious doubts whether the two-stack approach is worth the additional complexity. I wonder if there are other advantages of a multi-stack language? The Cat language should probably let compiler implementors deal with the specific particularities of the platform.
           
          Thanks for your feedback,
          Christopher Diggins
           
           
        • Steven Shaw
          Forth is a multy stack language IIRC. I am not a fan but I am surprised at what it is reported it can do. I am surprised that it is not a language with GC. I
          Message 4 of 10 , Jul 4, 2006
          • 0 Attachment
            Forth is a multy stack language IIRC. I am not a fan but I am
            surprised at what it is reported it can do. I am surprised that it is
            not a language with GC. I understand that GC might not suit it's
            tradition target (bios? and embedded systems). What I mean is that you
            seem to be able to abstract with it anyway. However, I've seem enough
            funky looking Forth for me to turn away from it.

            I am a fan of Scheme which is also a inspiration for your language
            which is good to see. Scheme is kinda so basic that it almost has to
            be an inpiration for most languages. Except that it can abstract too
            which makes it amazing.

            You language has no side effects at all?

            Steve.
          • Chris Double
            ... There s a GC written in Forth: http://www.complang.tuwien.ac.at/forth/garbage-collection.zip I used it in a Forth project and it seemed to work well.
            Message 5 of 10 , Jul 4, 2006
            • 0 Attachment
              On 7/5/06, Steven Shaw <steshaw@...> wrote:
              > Forth is a multy stack language IIRC. I am not a fan but I am
              > surprised at what it is reported it can do. I am surprised that it is
              > not a language with GC.

              There's a GC written in Forth:

              http://www.complang.tuwien.ac.at/forth/garbage-collection.zip

              I used it in a Forth project and it seemed to work well.

              Chris.
              --
              http://www.bluishcoder.co.nz
            • Steven Shaw
              Hi Chris! ... I m not a bit surprised :) Steve.
              Message 6 of 10 , Jul 4, 2006
              • 0 Attachment
                Hi Chris!

                On 05/07/06, Chris Double <chris.double@...> wrote:
                > There's a GC written in Forth:

                I'm not a bit surprised :)

                Steve.
              • Christopher Diggins
                ... Actually it does now. I m working in a side-effect labelling system inspired by Haskell s arrows and Clean s uniqueness typing. I ve just updated my
                Message 7 of 10 , Jul 4, 2006
                • 0 Attachment
                  > Your language has no side effects at all?
                   
                  Actually it does now. I'm working in a side-effect labelling system inspired by Haskell's arrows and Clean's uniqueness typing.
                   
                  I've just updated my documentation.
                   
                   Christopher Diggins
                • Steven Shaw
                  ... Hi Chris, what s a labelling system? Is it for gotos (to go to)?
                  Message 8 of 10 , Jul 5, 2006
                  • 0 Attachment
                    On 05/07/06, Christopher Diggins <cdiggins@...> wrote:
                    > > Your language has no side effects at all?
                    >
                    > Actually it does now. I'm working in a side-effect labelling system inspired by Haskell's
                    > arrows and Clean's uniqueness typing.
                    >
                    > I've just updated my documentation.

                    Hi Chris, what's a labelling system? Is it for gotos (to go to)?
                  • Christopher Diggins
                    ... inspired by Haskell s ... Hi Steven, I might very well be using non-standard terminology, but I am attempting to refer to a system which resembles the way
                    Message 9 of 10 , Jul 6, 2006
                    • 0 Attachment
                      >>
                      >> Actually it does now. I'm working in a side-effect labelling system inspired by Haskell's
                      >> arrows and Clean's uniqueness typing.
                      >>
                      >> I've just updated my documentation.
                      >>
                      > Hi Chris, what's a labelling system? Is it for gotos (to go to)?

                      Hi Steven,
                       
                      I might very well be using non-standard terminology, but I am attempting to refer to a system which resembles the way const is managed in C++. You can label functions as having side-effects, and functions without side-effects can not call other functions with side-effects.
                       
                      - Christopher

                       
                      On 7/5/06, Steven Shaw <steshaw@...> wrote:

                      On 05/07/06, Christopher Diggins <cdiggins@...> wrote:
                      > > Your language has no side effects at all?
                      >
                      > Actually it does now. I'm working in a side-effect labelling system inspired by Haskell's
                      > arrows and Clean's uniqueness typing.
                      >
                      > I've just updated my documentation.

                      Hi Chris, what's a labelling system? Is it for gotos (to go to)?


                    • Steven Shaw
                      ... Ah, ok.
                      Message 10 of 10 , Jul 6, 2006
                      • 0 Attachment
                        On 06/07/06, Christopher Diggins <cdiggins@...> wrote:
                        > I might very well be using non-standard terminology, but I am attempting to refer to a
                        > system which resembles the way const is managed in C++. You can label functions as
                        > having side-effects, and functions without side-effects can not call other functions with
                        > side-effects.

                        Ah, ok.
                      Your message has been successfully submitted and would be delivered to recipients shortly.