Edjoopate

Implementation

 

Steps / Miscellaneous

  1. Develop foundation of Joopathon code execution - done!
  2. Develop rest of Joopathon code execution: CNMIL
    1. Classes and objects
    2. Non-scalar data types
    3. Modules
    4. Inheritance + Interfaces (hedrons)
    5. Library
  3. Release Joopathon as console-based compiler on GitHub
  4. Begin recruiting contributors
  5. Write JPML design specs
  6. Develop JPML
  7. Integrate Joopathon with JPML
  8. JPRE: JooPathon Runtime Environment
  9. JPRE is open source
  10. Develop Joopathon code editor
  11. Expand code editor to Joopathon SDK
  12. Integrate JPRE with open source speech-to-text engine
  13. Implement Monoboard
  14. Develop monetizing functionality
  15. Perform beta testing using West Neighbourhood House
  16. Launch website
  17. Purchase Google AdWords advertising
  18. Optional features:
    1. Implement Keyboard Aid (bells and whistles of editor)
    2. Develop WYSIWYG JPML screen editor
    3. Develop Joopathon-to-Java converter
  19. Implement free-form mode
  20. Optional mobile development:
    1. Port JPRE to Android
    2. Convert JPRE to Swift
    3. Port JPRE to iOS

Speech-to-Text

Currently, the prime candidate for the Edjoopate open source speech-to-text engine is Julius, which is written in C. Using a paid API would mean less configuration hassles, but the free tier is inadequate, in terms of available hours per month of speech-to-text capacity. The format is a bit weird, a choice between typing (with or without automatic word prediction) and utilizing speech-to-text, and only text-based replies, without audio. The alternative is full audio, with or without video, which would mean much greater utilization of server resources.

Joopathon to Java

A conversion tool is used to convert Joopathon code to Java. Since Java is statically typed and Joopathon is dynamically typed, data types in Joopathon are understood to be denoted by the initial letter of the variable or function name. This only applies to Joopathon code which needs to be converted to Java. The initial letter prefix is lower case and is always followed by an upper case letter. Integers, longs, and booleans have a 'i', 'j' or 'b' prefix, respectively. Doubles, char, and strings have a 'd', 'c' or 's' prefix, respectively. Byte, short, and float types are not supported.

Keyboard Aid

This optional feature of the Joopathon code editor 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. The close delim switch automatically inserts a closing parenthesis/brace/double quote when the open delimiter is inserted.

[ Back to Top ]