Edjoopate

Joopathon

 

Joopathon (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). Joopathon source files have a .JP extension. JPML files (JooPathon Markup Language) have a .JPML extension. Joopathon boasts an ultra-simple Lisp-like syntax unlike all other languages. JOOPATHON: Java, Object Oriented Programming, And pyTHON.

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 JPML
  • 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

JPML

JPML is a simplified markup language used to replace HTML. Mock JSON files using JPML syntax have a .JPJS extension, and include no commas. Instead of myid: val, use [myid: val]. Instead of [1, 2, 3], use [arr: [: 1][: 2][: 3]]. Arbitrary JPML code can be embedded in the Joopathon echo statement. JPML 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]*
  • Joopathon call:
    • [expr: <expr>]
    • [exec: <stmt>... ]
    • [joop: <path>]
  • Note:
    • for fld = style, corresponding val = (fld val)*
[ Back to Top ]