// Abstract ------------------------------------------------------------------------------------------------------------------------------

fizz is an experimental language and runtime environment for the exploration of cognitive architectures and combined Machine Learning (ML) and Machine Reasoning (MR) solutions. It is based primarily on symbolic programming and fuzzy formal logic and it features a distributed (eventually), concurrent, asynchronous and responsive inference engine.

// Samples -------------------------------------------------------------------------------------------------------------------------------

calc.fizz A simple 4 operations calculator (which can deal with a single variable)
chicken.fizz A chicken farmer also has some cows for a total of 30 animals, and the animals have 74 legs in all. How many chickens does the farmer have?
coloring.fizz Solves the classic coloring adjacent planar regions problem
english.fizz Tests or makes simple English sentences
factorial.fizz Calculates the factorial of a number
fibonacci.fizz Compute the Fibonacci series with a memoization twist
fixer.fizz Process data from api.fixer.io (as JSON) and import it as knowledge
fixer-pull.fizz Fetchs data from api.fixer.io (as JSON) and import it as knowledge
hanoi.fizz Solves the classic 'Tower of Hanoi'
iris.fizz Shows how a 'feed-forward neural network' can be used within fizz
irl2asm.fizz Compile and execute an imaginary IRL code into an imaginary Assembly langauge and execute it
knight.fizz Solves the 3x3 "knight" puzzle
leibniz.fizz Solves some mathematical problems (derivative, expression simplifying)
linkg.fizz Parse sentence using the builtin link-grammar parser
linneus.fizz Shows how a "conversation" around simple inferences on relational data can be created/managed
lists.fizz Collection of knowledges manipulating lists
lung_diagnosis.fizz Simple lung diagnosis expert system
manual.fizz Shows all examples used in the manual
motel.fizz Where should the doors and the windows be?
sensors.fizz Shows how a simple devices monitoring system could be written
shrink.fizz Simulates a 'Rogerian psychiatrist' (ELIZA)
sudoku.fizz Solves sudoku 2x2 puzzles
weather.fizz Fetchs data from openweathermap.org (as JSON) and import it as knowledge
zebra.fizz Solves the classic Houses logical puzzle: "who owns the zebra and who drinks water?"

// Articles ------------------------------------------------------------------------------------------------------------------------------

Building a simple stock market monitor with fizz pdf html (05/24/2018)
Importing and managing a large data set in fizz pdf html (09/01/2018)

// Documentation -------------------------------------------------------------------------------------------------------------------------

user manual pdf html (09/01/2018)

// Downloads -----------------------------------------------------------------------------------------------------------------------------

0.4.1-X fizz.0.4.1-X-LNX.tgz (09/08/2018) Linux (Intel and arm)
0.4.1-X fizz.0.4.1-X-OSX.tgz (09/08/2018) macOS 10.11+ (Intel)
0.4.0-X fizz.0.4.0-X-LNX.tgz (09/01/2018) Linux (Intel and arm)
0.4.0-X fizz.0.4.0-X-OSX.tgz (09/01/2018) macOS 10.11+ (Intel)
0.3.0-X fizz.0.3.0-X-LNX.tgz (05/24/2018) Linux (Intel and arm)
0.3.0-X fizz.0.3.0-X-OSX.tgz (05/29/2018) macOS 10.11+ (Intel)
0.2.0-X fizz.0.2.0-X.tgz (02/25/2018) Linux (Intel and arm)
0.1.4-X fizz.0.1.4-X.tgz (12/03/2017) Linux (Intel and arm)

// Last changes ---------------------------------------------------------------------------------------------------------------------------

- new primitives: str.trim.head, str.trim.tail, str.tail, str.head, lst.incl, lst.excl
lst.join, lst.init, sym.cmp, sim, is.even, is.odd, gid.make
- new samples: fibonacci.fizz irl2asm.fizz linkg.fizz
- new terms: guid
- new classes: MRKCSBFStore, MRKCCSVStore, FZZCLGRProcessor
- new constraints: lst.incl, lst.excl, is.guid, is.even, is.odd
Changes: - modified primitives: lst.remove, str.trim, lst.length, fzz.lst, guid.str
- modified commands: /peek, /poke, /tells, /knows
- modified terms: binary, symbol
Bug fixes: - console command load was crashing
- constraint is.string was testing for a variable to be bound to a symbol
- primitive str.swap in some condition was repeating part of the tail of the string where the replacement was made
- primitive add was returning 0 when used with an unsigned number as the first term and a negative number as the second term (e.g. add(23u,-18,:v))
- string terms with control characters were not rendered properly when they are embedded in other terms

// Future work ---------------------------------------------------------------------------------------------------------------------------

- More ML constructs (e.g. k-means clustering) - Completed distributed infering
- Depth-first solver - Some examples of cognitive architectures implementation
- More support for NLP/NLU - More tutorials/examples
- Performance improvement - Public SDK (for primitives, elementals developments)

// Other similar projects you should most definitely check out ---------------------------------------------------------------------------

OpenCog Soar ACT-R NARS Premise

// ---------------------------------------------------------------------------------------------------------------------------------------

[Credits] [Email] [Twitter] [LinkedIn]