Bracmat

Bracmat is software for analysis and transformation of uncharted and complex data.

Pattern matching as a programming language construct is strangely absent or incomplete in popular programming languages. Functional languages (Haskell, Scala, F#, etc.) have tree patterns but lack associative patterns, Perl has associative patterns, but lacks tree patterns, Tom has associative tree patterns, but does not let you embed expressions in patterns. Java and C++ have no language construct for pattern matching, but can be fortified with some library that implements a pattern language (XPath, SQL, regex,…). However, an embedded pattern language does not, in turn, allow embedded Java or C++ statements inside a pattern, so patterns get only as expressive and powerful as the pattern language allows.

Bracmat has tree patterns that can be associative and that can contain embedded expressions, so Bracmat is a programming language and at the same time a pattern language.

Of course, Bracmat also has string patterns. The same syntax is used for tree patterns and string patterns.

Ease of use, clarity and expressive power of Bracmat’s patterns can compete with RE, SQL, XQuery and Prolog. Modelling data in Bracmat is a small step away from understanding and controlling it.

There is  documentation and there are over 300 examples on Rosettacode.org that can be compared with implementations in other programming languages.

You can download Bracmat from GitHub.

If you want to try Bracmat right now, run Bracmat in your own browser.

From A Journey to the World Under-Ground

From this Land of Atheists, I travell'd 
on over a steep Mountain to the City of 
Bracmat, which was situated in the Plain at 
the Foot of the Mountain. The Inhabi- 
tants are Junipers. The first Person I met, 
came directly rushing at me, and threw me 
backwards. I did not well understand this, 
and asking the Reason of it, the Juniper 
begg'd my Pardon a thousand Times. Pre- 
sently after, another with a Staff he had in 
his Hand, gave me a Blow upon the Reins 
that almost took away my Senses : But in 
the same Moment he made a long Harangue 
to me in Excuse of his Imprudence. Sus- 
pecting, therefore, this People to be either 
totally blind, or very weak-sighted, I took 
Care to avoid every one I met. In fact, all 
this arose from the exquisite Sense of Sight 
which some are here endued with. They 
can clearly discern remote Objects, which 
are impenetrable to vulgar Eyes; but then 
they do not see what is nearer and almost at 
hand. These are call'd Makatti ; and they 
devote themselves principally to the Studies 
of Metaphysicks and Astronomy. They 
are of very little Service in the World, by 
reason of their too delicate Vision. They 
make very pretty minute Philosophers ; but in 
solid Matters and Things of daily Use, they 
commit innumerable Blunders. However, 
the Government makes some Use of them, 
and sends them to the Mines for the Disco- 
very of Metals. For tho' they see scarce 
any Thing upon the Surface of the Earth, 
their Sight exerts itself upon any Thing be- 
neath it. I concluded from hence, that 
there are some who are blind from too great 
a Delicacy in the Organs of Vision, and 
that they would see better if their Eyes 
were worse.