star
starlight
star | starlight | |
---|---|---|
24 | 7 | |
116 | 500 | |
- | 1.8% | |
5.1 | 1.8 | |
6 months ago | over 2 years ago | |
Haxe | Rust | |
Apache License 2.0 | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
star
-
The 3 languages question
my own language Star! enjoyability is one of my main goals with the language, along with the "powerful, productive, and predictable" line
-
Language Design: Against Mixed-cased Type Names
This is actually done by several bootstrapped languages, such as Crystal, Nim, Raku, and even my own language Star
-
Your language's favorite MINOR feature?
In Star, commas and newlines are analogous everywhere, even inside array literals. This actually solves the issue of trailing commas by not needing commas at all
-
Building a new .NET language, doing to C# what Kotlin did to Java
I really like Nemerle's OOP+FP hybrid model, and I've taken a lot of it to heart while designing my language Star, which is similar in spirit.
-
extending enums
Most languages are afraid to for some reason, most likely because it "breaks tradition" or whatever. The only languages I'm aware of that allow this are Hack (for C-like enums) and my language Star (for both C-like and OCaml-like enums)
-
Is there a language with structural type constraints for variants and records?
It's currently a work-in-progress, mainly due to subtyping issues with generics (which I'm honestly too lazy to fix rn, focusing on other stuff first). the code is located here, although be aware that it's a bit messy lol
-
November 2021 monthly "What are you working on?" thread
Making lots of progress on Star's typechecker, which has been very difficult due to its expansive type system. Although still not completely finished or useable, it does at least work a bit. Currently need to implement type variable expansion/substitution, "lazy" type refinement (because I have no clue what else to call it), and some basic support for existentials
-
Initially-nullable types
I think this is referred to as partial or lazy initialization. I have this feature in my own language Star (which us null-safe), but I don't have an actual null literal for this purpose
-
Programming Language Checklist
Sure I guess, here's one for Star: ``` You appear to be advocating a new: [X] functional [X] imperative [X] object-oriented [ ] procedural [ ] stack-based [X] "multi-paradigm" [ ] lazy [ ] eager [X] statically-typed [ ] dynamically-typed [ ] pure [X] impure [ ] non-hygienic [ ] visual [X] beginner-friendly [ ] non-programmer-friendly [ ] completely incomprehensible programming language. Your language will not work. Here is why it will not work.
-
Typechecking new type system features
Hello, I'm the developer of the Star programming language, and I have some questions about how to typecheck several new/uncommon features that it has, and looking for feedback on it in general.
starlight
-
Really it have to be some kind of virus that spreads sneakly
I have great news
-
gc-shadowstack: Implementation of shadow stack algorithm to track GC rooted objects.
Hello to all! This crate implements Shadow Stack algorithm which allows to track GC objects on stack with almost zero overhead! This algorithm is used inside Restricted Python and seems to work very well. This crate soon will replace DIY shadow stack implementation in starlight(JS engine in Rust) too.
-
March 2021 monthly "What are you working on?" thread
Working on startup snapshots in starlight. I already have very basic implementation which allows to initialize runtime in just 17 microseconds from snapshot vs 23 microseconds without snapshot when every builtin is created from scratch. Future work is aimed mostly on making deserialization faster
-
Reference counting GC vs tracing GC and JITs
Hi to all! I'm working on starlight (JS engine in Rust) and I can't choose memory management technique: Right now I have conservative on stack precise on heap GC which somehow manages to work but still has segfaults and I'm also working on rcgc feature which will use RC as GC algorithm but my main question: is it worth using RC over tracing cycle and how hard it will be to implement JIT when RC is used? I've never seen any runtimes that use RC and implement JIT.
-
Starlight: JS engine focused on performance in Rust.
There's test262_passed file in repo, you can take a look at what tests pass :)
What are some alternatives?
gaiman - Gaiman: Text based game engine and programming language
boa - Boa is an embeddable and experimental Javascript engine written in Rust. Currently, it has support for some of the language.
xvm - Ecstasy and XVM
Matrix - Easy-to-use Scientific Computing library in/for C++ available for Linux and Windows.
Yoakke - A collection of libraries for implementing compilers in .NET.
bluebird - A work-in-progess programming language modeled after Ada and C++
konna - A fast functional language based on two level type theory
fastcode - A unique blend of C, Java, and Python tailored for those who desire a simple yet powerful programming language.
aulang - simple and fast scripting language
firefly-boot - Bootstrap compiler for Firefly
smalltalk - GNU Smalltalk is an implementation of the Smalltalk language