Cympagroup

Cympathon

 

Cympathon (implemented in Java) is an open source Python dialect in which all operators precede their operands, and parentheses are used for all grouping (except string literals, which are delimited with double quotes, also statements are separated by semicolons). Cympathon source files have a .CYMP extension. Cympatags is a text markup language, with a .CYMT extension. Cympathon boasts an ultra-simple Lisp-like syntax unlike all other languages.

Special Characters

  • Core:
    • ()  grouping
    • -  word separator
    • ;  end of stmt.
    • :  dot operator
    • "  string delimiter
    • \  escape char.
  • Operators:
    • + - * / %
    • = < >
    • & | ^ ~ ! ?
  • Other:
    • #  comment
    • {}  block comment
    • _  used in identifiers
    • $  string prefix char.

Differences from Python

  • Parentheses, not whitespace
  • Operators come before their operands
  • Integration with Cympatags
  • Information hiding: public/private
  • Single, not multiple inheritance
  • Adds interfaces: "hedron" defs.
  • Drops iterators and generators
  • Adds lambdas
  • Adds quote and list-compile functions, treating code as data
  • Adds cons, car and cdr functionality

Cympatags

Cympatags is a simplified markup language used to replace HTML. Mock JSON files using Cympatags syntax have a .CYMJ extension, and include no commas. Instead of myid: val, use [myid: val]. Instead of [1, 2, 3], use [arr: [: 1][: 2][: 3]]. Arbitrary Cympatags code can be embedded in the Cympathon echo statement. Cympatags syntax, where asterisk (*) means occurs zero or more times, is defined as follows:

  • Tags:
    • [tag]
    • [tag (fld val)*: body]
    • [tag (fld val)*| body |tag]
  • Body:
    • text
    • [(fld val)*: text]*
  • Cympathon call:
    • [expr: <expr>]
    • [exec: <stmt>... ]
    • [cymp: <path>]
  • Note:
    • for fld = style, corresponding val = (fld val)*

Keyboard Aid

The close delim switch of the Cympathon code editor enables the automatic insertion of a closing parenthesis, brace, or double quote whenever the open delimiter is inserted. The optional keyboard-aid feature enables hyphens, open parentheses, and close parentheses to be entered by typing semicolons, commas, and periods, respectively. When enabled, keyboard-aid can be temporarily suppressed by using the Ctrl key in conjunction with typing semicolons, commas, and periods (no character substitution takes place).

By convention, hyphens are used to separate words in multi-word identifiers, but semicolons are easier to type than hyphens. Similarly, commas and periods are easier to type than parentheses. Typing semicolon converts previous hyphen to a semicolon, and previous semicolon to a hyphen (use the Ctrl key to override this behaviour). Typing semicolon after close parenthesis simply inserts semicolon. Typing space after hyphen at end of identifier converts hyphen to underscore.

Benefits of Cympathon

Cympathon is simpler than any other object-oriented programming language, and integrates nicely with Cympatags, which is simpler than HTML. Operators come before their operands, also statements are semicolon-separated, so they never start with a parenthesis. Cympathon is written in Java, so apps can be written in one or both of the Java and Cympathon programming languages.

More...

Please click on More to access miscellaneous Cympathon documentation. Only the first 2 paragraphs of the More web page contain up-to-date info, the rest of that web page is obsolete.

[ Back to Top ]