About
The Mynx programming language "Mynx" is an object-oriented programming language I've designed and created.
Note: My reasons and intentions are outlined in the Mynx book.
- “Writing a book is a little more difficult than writing a technical paper, but writing software is a lot more difficult than writing a book.”
- Donald Knuth in “All Questions Answered.” Notices of the AMS, Volume 49, Number 3, March 2002. pp. 318-324.
For Mynx, I have been writing all three:
- software - implement the compiler with a new parsing algorithm
- book - written a book (the language manual) about the Mynx programming language
- paper - writing a paper about the nature of the parse algorithm
Status
Currently, I am implementing the semantic checks phase of the compiler, but the process is slow and tedious, comments and discussion would help --hence the Mynx blog.
Update: October 2007 - The Mynx Book has been updated with some tweaks and clarifications, and the grammar changes.
Update: September 2007 - I've been making changes of clarification to the Mynx book (some in July 2007, but not enough for a new version of the Mynx book. Some changes to the grammar to facilitate referencing and definition of constructors and destructors). The semantic checks are more context checks, first the basic of uniqueness (no duplication of declarations) and existence (a declaration is given for an identifier). The classic symbol table related compiler checks.
Update: May 2007 - I've updated the Mynx book, no major changes, but some editorial changes--spit and polish. Also the EBNF has changed to tweak the rules. I've finished the sentence semantic checks, and have implemented many of the semantic checks (there are approximately 110-tests and 220-test case files so far).
Update: February 2007 - I've updated the Mynx book "The Mynx Programming Language." Some elements of the language were removed, in implementing semantic checks, the features seemed to be "over-building" the language.
Update: December 2006 - I've been updating the Mynx grammar to reflect some simplifications to the programming language, and have designed the initial XSchema for external semantic check files (MOXI files -- see a post in my blog.)
Name/Project
Mynx is not a word in the dictionary, except in the "minx" word form. The programming language "Mynx" is an anagram from the names of two species of cats:
1. The manx cat is a cat without a tail.
2. The lynx is an aggresive wild cat.
MYNX = MaNX + lYNX
The Mynx programming language represents the elements of both cats: the unusual Manx cat, and the aggressive Lynx cat.
Want to Get Involved/Help?
Open Invitation: My desire and hope is to build a cadre of developers and participants interested in contributing to the programming language. E-mail me if interested in participating. I warmly welcome the assistance, input, and cooperation for the Mynx programming language.
If you simply want to comment on a blog post, please do, I welcome outside comments about my ramblings about Mynx.
50 Questions for a Prospective Programming Language Designer, with Mynx answers.
There was an interesting discussion and commentary from a variety of sources online entitled "50 Questions for a Perspective Programming Language Designer." Originally it was a newsgroup discussion thread from yet-another discussion thread.
The 50-questions presented did provide an objective metric to evaluate Mynx as the programming language designer. From the questions, it seems the commentators were functional and declarative paradigm oriented, so not all questions were applicable to Mynx.
I've answered all the questions in a PDF (79K) article "Questions for a Language Designer with Answers for Mynx." I welcome intelligent commentary from interested readers and programming language connoisseurs and linguaphiles.