Releases: ghost-language/ghost
Releases · ghost-language/ghost
v0.18.0
v0.17.0
v1.0.0-beta.2
v1.0.0-beta.1
Changelog
- f89a83b Add
break
andcontinue
statements (#98) - 2daf7e0 Ternary expressions (#99)
- 398f886 add else if support (#97)
- bab9a10 add switch and case AST nodes
- c6ec58a add switch and case tokens
- bee2e6b bump version
- 01b7333 change assign operator from ":=" to simply "="
- 7befed6 first pass of switch evaluator
- 8947686 fix returning inside while loops
- 3c1f216 implement basics of raylib module
- 404f8d9 parse switch statements
- 9b2431b remove debug log
- 2521ee3 remove raylib dependencies; moved to experimental branch
- 8c69aaa update class instantiation to method
- 13ebc4e update docs
- 9d4ad1d update examples
- 06c41e6 work on snake example
- 5aebb64 work on snake example and fix import * bug
- a32bdf1 work on statements
v1.0.0-beta.0
Changelog
- 06928cd "import * from" support
- a671e51 Add MapKey type and methods
- 80f0d2e Add ability to evaluate file
- 1c48b46 Add class AST
- d55c693 Add class object
- b42a193 Add class token
- 1f93cd6 Add list parser test
- d55524a Add logging
- e556f05 Add map object
- 53c20d4 Add readLine function
- 38ec821 Add right and left bracket tokens
- d2c2fb4 Add simple benchmark command
- 7bfb028 Add sleep and type library functions
- 64ef3cc Add while expressions
- a0a1cec Evaluate super methods
- 1a073a6 Exit in style...
- 792ee70 Start on standard library functions
- 61380e4 Update repl with environment
- bf36aa6 Use correct value for string
- b4b7348 Visitor pattern (#89)
- 2961606 Work on api
- 566d062 add "from" token
- a17a646 add "this" ast node
- 2caa152 add -trimpath flag to build
- 0ea17bb add DOTDOT token (range)
- 7b6a441 add File property to Token struct
- d63d56d add additional error evaluation tests
- c8f4e28 add assign parse test
- 329a7a6 add column information to tokens
- d58a51c add compound operator tokens
- 9aa85fa add console module
- add4fe2 add defualt return value of null
- 054cc93 add docs outline
- 503ee26 add format() string method
- 474cd0f add ghost module
- 321874b add ghost.identifiers()
- a5e082d add ghost.version property
- e793293 add import token
- fdd91ba add index AST
- ee65a2a add io module
- bb00820 add list object
- b9f49d4 add log.Warn()
- 27ba3a1 add logical operators (and, or)
- ec8f873 add map ast
- b18f61c add map index support
- fbd132d add os module
- 1720946 add os.name property
- 52069bd add parser tests
- 14c8a3a add properties
- a92172f add random module and math.epsilon
- 356413c add reflection to ada
- 65ee77b add time module
- aad7d1d add token debug flag
- 590e2ad add value package
- 04d0dd7 add wasm build support
- 12e78e6 basics of assign, identifier, and number parsers
- caab523 basics of interpreter
- 64638ff bump version
- 7fcf044 call class constructor
- 484f58b call functions
- 70fdecb call instance constructor properly
- 1bdc111 clean logs
- 192e9c4 clean some things up; evaluate strings
- cce61eb clean up class method and property calls
- 37adf27 clean up comments
- 8d4962e clean up implementation
- 087e88d clean up method registration
- bbaa08a comments and add string methods
- db97c6f create function object and move environment
- f5524e9 display column in errors
- 738a7a5 display object result in repl
- 2051e88 display runtime errors
- 0cc3283 dont return null value on library function calls
- ceb16b7 evaluate "this"
- 97076aa evaluate booleans
- 6958d62 evaluate class methods
- 2f337b1 evaluate compound operators
- 50370b8 evaluate errors in return statements
- dc62fa9 evaluate for in
- 2cfd838 evaluate imports
- cea5754 evaluate lists
- 8295cd9 evaluate maps
- e67766c evaluate null
- eedf727 evaluate range operator
- 4ccc9ee evaluate return statements
- 2817212 evaluate simple import from statements
- f8414d7 evaluate super class
- 0275c41 evaluate to root program ast
- b451d89 expose register methods through API
- 7445593 fibonacci examples
- e13db7c first pass of ghost.extend()
- 45b4612 first pass of http module
- b9607dc fix assign and for expressions
- 3189cd5 fix block evaluation not bubbling up errors
- 3139353 fix function parameter parsing
- f41126a fix function parser
- fd186ab fix goreleaser
- 7816e26 fix group expression
- c2863ad fix infix number evaluation; add prefix evaluation
- 29af039 fix main reference
- 8ebe364 fix main reference
- 627b007 fix map and list index calls
- 26d6cdb fix parser string test
- d30eb47 flesh out math module
- b6a7f28 if expressions
- cacbfd6 implement environment and variable assignment
- 7698952 implement environment writer
- 7e56cf0 implement remaining prefix parsers
- 8c9d036 implement scope
- fb23dab import from as support
- d74cd57 import multiple from modules
- 5b9cbf0 improve error messages; added line number
- d8d0730 improve syntax error
- 4e21201 interpret functions
- 986a8c6 interpret index expressions
- 90d5c19 io module error reporting
- b3c50b6 list methods
- 2033d5d move register function and module methods out
- 9c1b732 organize tests
- 57f3af8 parse "extends" keyword
- de3fe25 parse and evaluate call expressions; evaluate library functions; add print function
- c1a3f7a parse compound expressions
- e559f21 parse dot expressions - methods & properties
- 8255d05 parse for in
- 3a7db22 parse group expressions
- f40aa6f parse import statements
- 2ce12ca parse index expressions
- 331c427 parse infix operators
- 7e732f8 parse infix precedence correctly
- 237e649 parse list literals
- 6387a32 parse maps
- a043ab7 parse prefix operators ! and -
- b03d3ab parse range operator
- a19a3f6 parse return statements
- e01a392 parse simple import from statements
- 511b888 parser works again
- e369674 pass token along to standard library - work on error reporting
- 257e832 properly set environment writer
- ea43c43 refactor error reporting in interpreter
- bffd003 refactor scanner to support unicode and not buffer tokens
- 5c10310 register evaluator in ghost package
- ea1a28c reimplement infix parsers and fix function parsing names
- 785bf4a remove ast visitors - not used
- 650b769 remove block example, not feasible
- 992ad2b remove object visitors - not used
- a8f1e76 remove print keyword
- d88db60 remove sleep() function - replaced with os.sleep()
- ae1b4f0 remove test function, add ghost.abort
- 2e2071b rename ghost file
- a641c07 rename ghost runtime
- c0c7f20 rename interpreter package to evaluator
- eb9cdec rename parser helper method
- 386e69f rename parser helper methods
- a03483f reorganize files
- 2d04c0c repl
- 90cc4a2 return current token if calling next at end of file
- 4d963f9 scanner
- 86b5e1b short-circuit on cyclic imports
- 6027f75 simple test() function
- 090330d small parser improvements
- 978fff3 start evaluating classes
- 725f427 start evaluating infix number operations; added modulo (%) operator
- 6dddb9f start of built-in modules
- ed88991 start on parser
- 256cca1 start parsing functions
- c36676f store/cache imported module scopes
- 681730b support utf-8 string index operations
- b037785 tokens
- 49ee6cc track column position while scanning
- 00b003d track current file with token and report in runtime errors
- 09c1591 typo
- 69cb059 typo
- f1f7eba update ada example
- 46faa17 update benchmark
- 8d02529 update class example
- 8f0c6b8 update class example
- b020507 update docs
- 5ca0041 update docs
- eb219d8 update docs
- 77b48d6 update docs
- babd24c update github test workflow
- 77d4418 update goreleaser main reference
- 253f02a update if expression test
- 54ab155 update logger
- 614660e update module example to showcase shared imports and loading
- a90687a update parser test
- 31b5ea7 update scanner implementation
- 59a2de1 update scanner test
- d1ba63e update server example
- a2635ef update test workflow
- 0ee0677 use toBooleanValue helper
- 09a23d4 whitespace
- 3005be6 work
- 0efda05 work
- dd15ae8 work
- 12e2d0c work
- feb3fe4 work on broken example
- 773f5c3 work on class instances
- ffb1bf9 work on console.read() and add ada example program
- 70dc8e3 work on error reporting
- 740887f work on for expression
- d78fcdf work on http and ghost modules
- 1161bf3 work on if expression parsing
- 09c3d99 work on if expressions
- 2dcc07a work on if expressions
- 8d506d7 work on index and property assignment
- 030ec5b work on instances
- 6d18e81 work on more robust example, add additional methods to strings
- f920b87 work on object methods
- 1b147d0 work on os.clock() and server example
- 2cbc150 work on plugin system
- 4707d37 working module system, start of math