Support for the Logic paradigm in C++ (with Castor)

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Roshan Naik

    Support for the Logic paradigm in C++ (with Castor)

    Castor is a pure C++ Library that introduces the Logic paradigm (LP) into
    C++. Although

    LP has been well explored in Computer science, it remains under utilized in
    main stream

    software development due to lack of support in popular programming
    languages. Among the

    few languages that do support it, Prolog is perhaps the most commonly known.

    Instead of attempting to embed a Logic interpreter or other heavy weight
    engine into C++,

    Castor integrates LP using a few simple library primitives. This unique
    approach

    allows a natural and deep integration of declarative code into the language,
    and

    also provides the flexibility of combining Logic with other paradigms
    natively supported

    by C++ such as OOP, generics etc. STL concepts like iterators ,containers
    and streams

    can also be used in declarative code.

    Castor is an open source library distributed under the MIT license

    (http://www.opensource.org/licenses/mit-license.php). It is relatively small
    (under 5k LOC)

    and can be downloaded for free from http://www.mpprogramming.com

    For an introductory tutorial on LP and understanding its use in C++ refer to



    Feedback, comments and contributions are welcome.


  • Carlo Capelli

    #2
    Re: Support for the Logic paradigm in C++ (with Castor)


    "Roshan Naik" <naikrosh@gmail .comha scritto nel messaggio
    news:fopbfg$8rl $1@usenet01.boi .hp.com...
    Castor is a pure C++ Library that introduces the Logic paradigm (LP) into
    C++. Although
    >
    LP has been well explored in Computer science, it remains under utilized
    in main stream
    >
    software development due to lack of support in popular programming
    languages. Among the
    >
    few languages that do support it, Prolog is perhaps the most commonly
    known.
    >
    Instead of attempting to embed a Logic interpreter or other heavy weight
    engine into C++,
    >
    Castor integrates LP using a few simple library primitives. This unique
    approach
    >
    allows a natural and deep integration of declarative code into the
    language, and
    >
    also provides the flexibility of combining Logic with other paradigms
    natively supported
    >
    by C++ such as OOP, generics etc. STL concepts like iterators ,containers
    and streams
    >
    can also be used in declarative code.
    >
    Castor is an open source library distributed under the MIT license
    >
    (http://www.opensource.org/licenses/mit-license.php). It is relatively
    small (under 5k LOC)
    >
    and can be downloaded for free from http://www.mpprogramming.com
    >
    For an introductory tutorial on LP and understanding its use in C++ refer
    to
    >

    >
    Feedback, comments and contributions are welcome.
    >
    >
    Hi Roshan.
    Your work is very interesting.
    Currently i'd like to approach the same problem from the easier C#.
    Do you benchmarked your system (something like tak, nrev or similar)?
    Bye Carlo


    Comment

    • Roshan Naik

      #3
      Re: Support for the Logic paradigm in C++ (with Castor)

      >
      Hi Roshan.
      Your work is very interesting.
      Currently i'd like to approach the same problem from the easier C#.
      My (not very dedicated) attempts have gone nowehere due to the simplistic
      generics and operator overloading support in C#.
      On the bright side, C# has direct support for coroutines... one of the two
      key
      techniques (the other being type erasure) that makes Castor possible.
      Do you benchmarked your system (something like tak, nrev or similar)?
      Limited resources have not allowed me to pursue benchmarking.

      -Roshan

      Comment

      Working...