Programming

Simulating Possible Worlds in Flora-2

Written by on November 12, 2018 in Flora-2, Knowledge Representation, Programming with 0 Comments
Simulating Possible Worlds in Flora-2

The idea of encountering different worlds with varying truths is an interesting one. It has deep connections to philosophy and logic. For a nice discussion, see this article. Today, we are going to take advantage of Flora-2‘s module system to simulate possible worlds. Flora-2 allows us to dynamically associate any knowledge base (KB) with any […]

Continue Reading

Modeling Homeopathic Remedy Keynotes in Flora-2

Modeling Homeopathic Remedy Keynotes in Flora-2

In my last post, I got started with Flora-2 and showed how we can model homeopathic remedies from a therapeutics perspective. Although such a limited view of remedies can be helpful in treating acute ailments, for treating chronic diseases, a comprehensive understanding of the various remedies from the perspective of keynotes, kingdom classification and miasms […]

Continue Reading

Flora-2: An Expressive Knowledge Representation System

Written by on October 28, 2018 in Flora-2, Homeopathy, Knowledge Representation, Programming with 0 Comments
Flora-2: An Expressive Knowledge Representation System

I am always on the lookout for a good Knowledge Representation (KR) system that facilitates modeling and reasoning about real-world knowledge. I have experience with KnowledgeWorks available in LispWorks since I have used it in a few projects. I have also taken a cursory look at PowerLoom and Racer. Last week, I came across Flora-2 and its commercial counterpart ErgoAI from […]

Continue Reading

C++17 – std::apply() and std::invoke()

Written by on October 14, 2018 in C++, Programming with 0 Comments
C++17 – std::apply() and std::invoke()

Calling a function (or function object) dynamically, through a pointer known at runtime, is a common programming scenario. Almost all languages support this use case. Lisp, for example, has apply and funcall. When using apply, you can see that the arguments are passed via a separate list object. With funcall, however, the arguments are passed […]

Continue Reading

Dependency Graph to RDF – Part 2

Written by on September 30, 2018 in LISP, Natural Language Processing, Programming with 0 Comments
Dependency Graph to RDF – Part 2

In the last post, I outlined an approach to convert a dependency graph (the result of dependency parsing) to RDF. The particular RDF format I used is Turtle, which is widely supported. Today, I would like to show how to load this RDF data in a Semantic  Graph database and make queries on it. There […]

Continue Reading

Dependency Graph to RDF

Written by on September 16, 2018 in Natural Language Processing, Programming, Python with 0 Comments
Dependency Graph to RDF

Dependency parsing is widely used these days, and many NLP tools give a dependency graph as the parsed representation of the input text. See for example, SpacY and TextRazor.  The following is the dependency tree corresponding to the sentence Mary is drinking cold water: The above tree was generated using SpacY. You can see that […]

Continue Reading

Experimenting with A Lisp-based Monadic Parser Combinator

Written by on September 2, 2018 in LISP, Programming with 0 Comments
Experimenting with A Lisp-based Monadic Parser Combinator

Recently I came across a nice Lisp-based Monadic Parser Combinator library written by Massung. Unlike the traditional parser generators such as ANTLR, this library allows us to embed the parser in Lisp. Similar libraries are available for other languages too (see, for example ParsecJ for Java). The original idea of Monadic parser is from Haskell’s Parsec […]

Continue Reading

Sicstus Prolog – Building a Windows Executable

Written by on August 19, 2018 in Natural Language Processing, Programming, Prolog with 0 Comments
Sicstus Prolog – Building a Windows Executable

In my previous post, I showed how to build a C-based Windows DLL to execute Prolog predicates in the Sicstus Prolog engine. Today, I want to show how to build an executable (on Windows) from a C/C++ program that uses Sicstus prolog engine. The process is quite simple. In order to make things interesting, I am […]

Continue Reading

Sicstus Prolog – Building a Windows DLL

Written by on August 5, 2018 in C++, Programming, Prolog with 0 Comments
Sicstus Prolog – Building a Windows DLL

Last week I upgraded to the latest version (4.4.1) of Sicstus Prolog for Windows. Since the Prolog engine can be embedded (royalty free) in other applications, it is useful to understand how to create a DLL (on Windows) for this purpose. In today’s article, I would like to outline this process in sufficient detail because I found […]

Continue Reading

Book Review – The Modern C++ Challenge

Written by on July 8, 2018 in Book Review, C++, Programming with 0 Comments

Title: The Modern C++ Challenge Author: Marius Bancilla Publisher: Packt Publishing Year: May 2018  This week I have been going through a new book titled The Modern C++ Challenge written by Marius Bancilla. The book is a collection of programming problems (along with suggested solutions) targeting C++ . The title of the book is a […]

Continue Reading

Top