Clone wiki

neurocogling / Home

Neurocognitive Linguistics Lab

Welcome to the web site of the Neurocognitive Linguistics Lab software.

Neurocognitive Linguistics is an approach to linguistics developed by Sydney Lamb which uses relational networks to model what the brain actually does when it handles language. You can read more about it at the LangBrain site and Glottopedia.


Neurocognitive Linguistics Lab ("NeuroLab" for short) is a program for Windows, Mac OS X and Linux that allows you to experiment with relational networks using a convenient GUI, and record the results of your experiments in tabular form.

Neurocognitive Linguistics Lab is Copyright (C) 2010-2012 Gordon Tisher, and available under the terms of the BSD License.

Table of Contents


NeuroLab is developed by Gordon Tisher.

Thanks to Sydney Lamb for generous support and much useful feedback.


The latest stable version of NeuroLab is version 1.2.3 (released on January 17, 2012; see the Changelog):


The user manual for NeuroLab is available for download as a PDF.


  • January 17, 2012: NeuroLab version 1.2.3 released. This release is a bugfix release. See the Changelog for details.
  • July 17, 2011: NeuroLab version 1.2.2 released. This release is a bugfix release. See the Changelog for details.
  • July 8, 2011: NeuroLab version 1.2.1 released. New features include node persistence and a grid viewer window. Several bug fixes. See the Changelog for details.
  • April 7, 2011: NeuroLab version 1.2.0 released. This release provides a way to create huge networks using the Grid item. See the Changelog for details.
  • November 5, 2010: NeuroLab version 1.1.0 released. This release provides the Compact/Abstract notation, among other new functionality. See the Changelog for details.
  • August 8, 2010: NeuroLab version 1.0.3 released. This update contains a few bug fixes and some internal improvements. See the Changelog for details.
  • July 22, 2010: NeuroLab version 1.0.2 released. This update contains mostly user interface improvements. Please see the Changelog for details.


  • Create relational network diagrams using Sydney Lamb's Abstract Notation, using AND and OR nodes with bidirectional links; or the low-level Narrow Notation using nodes, oscillators, and excitory and inhibitory links.
  • Simulate spreading activation in the network.
  • Collect and save data from your simulations in CSV format.
  • Written in C++ using the cross-platform Qt Framework, and the Qt Creator IDE.
  • Network simulation is implemented using a parallel asynchronous network automaton, which uses all available processor cores for maximum speed.
  • Implement new types of relational network entities using the convenient plugin system.

Support and Communication

Bug Reports

You can report bugs via the Issues page on this site. Please search the existing bugs before you create a new issue to make sure you are not entering a duplicate issue.

If you create an account with BitBucket before entering bug reports, you will receive email updates when the status of your issue changes.

Proposals for New Features

You can also propose new features via the Issues page. Please make sure that you set the Type of the new issue you create to "proposal".

Mailing List

There is a Google Groups mailing list dedicated to discussion of the program. Please do not report bugs only on the list; please use the Issues page to submit bug reports.


You can find a list of issues to work on at the Issues page.

If you wish to contribute to development of the program, you can clone the Mercurial repository from the following url:

or the Git repository from:


Due to the limitations of Qt Creator, you should clone the source to a directory that has no spaces in its path.

NOTE: If you want to use the automated build tools, set your shadow directories to be "build-debug" and "build-release" instead of the defaults provided by Qt Creator. You might want to do this anyway on Windows, because the default paths are likely to lead to path names that are too long for windows to handle during the build, and you will get strange errors.

The program is developed using the Qt Creator IDE, available for download as part of the Qt SDK from Digia. The project file src/ contains all the source code projects used to build the program.

Some code documentation is available here.

You can submit patches via a pull request, either from a repository fork you created on BitBucket, or by sending a pull request to the mailing list, or alternatively via GitHub.



If you find NeuroLab useful, entertaining or educational, you can donate via PayPal to the author, to provide an incentive for further development of the program.