language

some fools attempt at an interpreted language
Log | Files | Refs | README

OVERVIEW (3501B)


      1                          Interpreted Language Proposal
      2                        by Paul Longtine (paul@nanner.co)
      3 
      4 
      5 INTRODUCTION
      6 
      7     During my time in Computer Programming and Web Development I learned to use
      8 Python  and  along  with  that,  I learned a lot about software development and
      9 programming  concepts.  Python  built  a  bridge between ideas and reality when
     10 learning  programming  concepts  because  of  the ease of prototyping ideas and
     11 architectures. Going  from  python to a language where implementing ideas takes
     12 much more time and effort is a big wall in my growth as a  programmer. The main
     13 issue with this wall is that most ideas I came up with needed much more thought
     14 if the idea was even worth the effort. Why not take the knowledge I learned in
     15 and re-create my own version of a Python-like interpreted language? And because
     16 of that thought I wrote this paragraph explaining my reasoning.
     17 
     18 GOALS
     19 
     20     The goal of this project will be to not make the best, fastest, most awesome
     21 interpreted  language that has ever graced planet Earth,  but to provide a great
     22 project to learn more about taking a decently complex design, and bring it into
     23 reality using tools and languages I have yet to initiate a complex project with.
     24 To be more detailed,  I  plan  to  implement this project using the programming
     25 language C, using a fluent and comprehensive use of a canonical Git workflow and
     26 implementing Continuous Integration keep track of stable branches.
     27 
     28 IMPLEMENTATION
     29 
     30     This project will have several components that will work together to provide
     31 the working product. These components are as follows:
     32 
     33     * Interpreter
     34       - The interpreter will parse and convert code into bytecode to be executed
     35         by the VM runtime
     36 
     37     * Virtual Machine Runtime
     38       - This will be a stack-based VM providing the runtime for working code
     39 
     40     * Standard Library
     41       - Provide a library of tools to make the language somewhat usable
     42 
     43 SPECIFICATION
     44 
     45     Put in fancy words, this will be an imperative type-sensitive language that
     46 will provide the basic functions of programming languages.
     47 
     48     Look into the SPECIFICATION file for more detail.
     49 
     50 PLAN
     51 
     52     When do I expect this to be done? What parts will be done when?
     53 
     54     I plan on 'finishing' this project at the end of the year (by May 2016)
     55 
     56     +-----------------+-----------------------------------+------+
     57     |SHOP WEEK        | DESCRIPTION                       | Done |
     58     +-----------------+-----------------------------------+------+
     59     |1st week:        | Finish this document.             |(*)   |
     60     +-----------------+-----------------------------------+------+
     61     |2nd-3rd week:    | Outline SPECIFICATION document    |(*)   |
     62     +-----------------+-----------------------------------+------+
     63     |4rd-6th week:    | Finish VM                         |( )   |
     64     +-----------------+-----------------------------------+------+
     65     |7th-13th week:   | Finish interpreter                |( )   |
     66     +-----------------+-----------------------------------+------+
     67     |13th-17th week:  | Start work on stdlib/other libs   |( )   |
     68     +-----------------+-----------------------------------+------+
     69 
     70 CONCLUSION
     71 
     72     In conclusion, this project will be for self-growth and strictly selifsh
     73 reasoning only. Any delusions of this ever being useful will be expunged with
     74 out hesitation.
     75 
     76     Comedy aside this project will try to be a functioning programming language
     77 with what anyone would expect out of a language.
     78