admin

rss feed

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 – Design Patterns in Modern C++

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

Title: Design Patterns in Modern C++ – Reusable Approaches for Object-Oriented Software Design Author: Dmitri Nesteruk Publisher: Apress Year: 2018 Luck has been on my side for the past few weeks; I have been getting access to nice books to read. I wrote about The Modern C++ Challenge in my last post. Today, I am going […]

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

Calling Go Functions from Lisp – Part 2

Written by on June 24, 2018 in Golang, LISP, Programming with 0 Comments
Calling Go Functions from Lisp – Part 2

In my earlier article Calling Go Functions from Lisp, I explained the steps for making calls to Go functions from another language, specifically LispWorks Lisp. Today, I want to give a slightly more  interesting example showing the use of Go channels through exported functions. Go is widely admired for its native support for concurrency via Goroutines. […]

Continue Reading

Calling Lisp Functions from Go Language

Written by on June 10, 2018 in Golang, LISP, Programming with 0 Comments
Calling Lisp Functions from Go Language

In the previous post, we saw how to invoke a Go function from Lisp. In today’s post, I would like to explain how to go in the other direction, namely, how to call Lisp functins from Go. There are two ways to do this. The first approach is to load the Lisp DLL (like any […]

Continue Reading

Top