StoneLang is a flexible and powerful dynamic typed programming language

Progress(60%) » Download 0.2.0 »

Flexible and simple

StoneLang dynamic typed language syntax draws Javascript, Python, Swift, C #, C ++ and GoLang languages ​​such excellent characteristics. Goal is to design based on C-based syntax and both Javascript flexibility and Python convenience of a new language, so you can convenient and efficient pleasant development.

Multinational up local programming

Most countries can support the language as mother tongue program development. Mother tongue is our most familiar and most popular language, through the use of native language development, so that more people have the ability to participate in the program this incredible art to realize their dreams.

Object-oriented and multi-class inheritance

Fully object-oriented design, support for multi-class methods are inherited. Draws more class inherits the design of C ++, multi-class and single-class inheritance is different, through multiple class inheritance can be more convenient integration of existing functionality. Supports the concept of interface-oriented programming, agreed greater than configuration.

Tuples and lists

Tuple defined data structure is very easy to make your development productivity more efficient.

Lambda expressions

StoneLang allows Lumbda into every corner of the program, which is designed to help you quickly batch processing of data, while reducing code redundancy.

Closures and anonymous functions

Closures very easy to use, get rid of the shackles of various functions defined standard, allows developers to become more flexible.


StoneLang download


Preview version

Download preview version 0.2.0 inside alpha 2016/05/22

This is a preview version, run in virtual machine. The code is automatically compiled into the virtual machine bytecode, the GC uses raw counters。 Support for basic StoneLang syntax features and base object type support(Number, String, List, Map and more), Contains part of the standard library functions(Stream, HTTP Client/Server, Compress, System and more). Source code extension is ".sl". The bytecode extension of VM is ".slc". This version is only a staged test version.

Verify version

Download verify Edition (informal) 0.1.0 verify Edition 2016/01/07

Currently only verify version download for verification language itself. Official version is running on a virtual machine, and verify the version here is based on the interpretation tree run of the early use of java development verification version, and later ported to C ++ (ps. Only spent two days), then this is the C ++ version of the transplant.

Official version

Are working in research and development (see the progress/some advice)

Completed virtual machine and the intermediate code compiler, standard library and extended library program, the GC and multi-threading technology, the UNICODE and local-language programs. The standard library currently has completed the date and time, file handling, HTTP client, Cookie management, stream processing (file stream, byte stream, compressed stream), multithreading support, is currently being further improve the standard library.


StoneLang Logs


2016-05-18 Join simple HTTP server support

2016-05-15 Added multi-threading support

2016-05-08 Reconstruction extension library program structure

2016-04-25 Import 'import' mechanism and to further enhance support UNICODE encoding

2016-04-23 Establishment StoneLang standard library

2016-04-12 Establishment language extension library program

2016-03-31 Added UNICODE and native language support

2016-03-29 Based method to establish internal mechanisms and object methods to complete all internal objects

2016-03-27 Virtual Machine bytecode compiler and import import mechanisms

2016-03-23 Realization exception catching, the local language and register-based switch realization

2016-03-16 Establishment of standard library instruction call mechanism

2016-03-15 Class structure and operating mechanism have been completed

2016-03-12 Virtual machine memory and memory layout structure reconstruction

2016-02-11 Added to a virtual machine function stack frame mechanism

Complete the loop variable scope and related definitions bytecode. Added to a virtual machine function stack frame mechanism, function, function scope, functions bytecode and run-time stack frames to complete the initial set of variable access bytecode generation, because it is pure dynamic language, so the variable portion of the access group in other types of environment-related need for access to optimize the dynamic mechanism, which is still part of the improvement, will continue to expand after the next class operation mechanism established completed.

[2/12]

2016-02-06 Virtual machine basic operating mechanism has been completed

Has been completed based memory pool, pooling, rapid stack (for object pooling and virtual machine stack operations) and virtual machines, GC (garbage collector) using markers and reference counting dual mechanism to ensure reliability and performance, establish a a better StoneLang bytecode definition is now complete variable definition, the definition of the cycle, arithmetic, logic operation portion bytecode interpreter through a lot of optimization work, the virtual machine's operating efficiency has gone beyond Python.

2016-01-28 Started virtual machine StoneLang Development

Because StoneLang language features more, for greater efficiency and improve the garbage collector (GC) mechanism, the virtual machine cycle development process may take longer.

2016-01-27 Completion of the new language validators

The new version is compatible parser and Inline caching techniques to build a new linguistic validation, validators provide the most basic language virtual operating environment, a virtual operating environment is only partially supported by the garbage collector (GC), the operating efficiency is relatively low, used to verify the operating logic of the language itself.

2016-01-25 Reconstructed parser Parser again

Parser second reconstructed, this reconstruction based LALR parser analysis, again raised to build the abstract syntax tree AST efficiency.

2016-01-23 Added Inline caching technology

Since the early StoneLang priority is defined as an interpreted language, so if the process by addressing the internal variable positioning hash would be more inefficient, in order to make the language more efficient, adding inline caching technology.

2016-01-18 Reconstruction of the word breaker Scan

The new word supports native multi-language code input, adding support for full-width symbols, resolve faster.

2016-01-07 StoneLang formal validator birth (C ++ version)

This version is the portable version of C ++, you can click here to download, Simple.txt (simple) run directory for the sample source code, you can enter the command line used to test a variety of expressions, the current version there are many problems, it is only for language tests and evidence.

2016-01-05 StoneLang validator birth (java版本)

StoneLangearly development using java language, Stone Language a lot of draws characteristic javascript, python, C #, C ++, swift and Go language, since the author personal preference js flexibility and convenience, so adding closures and dynamic type support.


About


Date of Birth

StoneLang was born on January 7, 2016.

Author

Dong Xie, English JimStone. Senior Architect, fanatical programming geeks who enjoy movies, novels, travel, violin music and games. Served in Shanghai and the British cultural competence CTO.

Contact

Email
boychong2@126.com
QQ
123581766Talk with author JimStone (Dong Xie)
Phone
+86 152 2186 9351