star
firefly-boot
star | firefly-boot | |
---|---|---|
24 | 12 | |
116 | 48 | |
- | - | |
5.1 | 9.8 | |
6 months ago | 5 days ago | |
Haxe | JavaScript | |
Apache License 2.0 | MIT License |
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.
firefly-boot
-
What's the syntax of lambda expressions in your language?
Firefly, curly braces:
-
January 2022 monthly "What are you working on?" thread
I'm still working on Firefly, a language with first class capabilities.
-
Ask HN: Who Wants to Collaborate?
Since there's no other way for `deleteDirectory` to obtain capabilities than to recieve them as arguments, `deleteDirectory` only has access to the file system.
[1] https://github.com/Ahnfelt/firefly-boot/tree/master/compiler
-
Preventing Log4j with Capabilities
> Do you have more to share, like resources about capability-safe languages, or your ongoing work?
I can share an example from the main function of the [self hosting Firefly compiler](https://github.com/Ahnfelt/firefly-boot/tree/master/compiler):
main(system: System): Unit {
-
What are some simple but powerful compile-to-JS languages I might not know about, or that you are working on (not Elm, Reason, PureScript, or ClojureScript)?
I'm working on Firefly, which will compile to JS once bootstrapping is complete (almost there).
-
June 2021 monthly "What are you working on?" thread
Still working on typechecking Firefly with the help of a friend.
-
March 2021 monthly "What are you working on?" thread
Working on the type inference for Firefly. I don't have a lot of free time at the moment, so it's coming along slowly.
-
Alternative to monads for enforcing purity?
Firefly uses object capabilities for enforcing purity:
-
Generalizing Ruby block syntax in static languages with currying
In Firefly, this is done without macros:
-
February 2021 Monthly What Are You Working On
Firefly - self hosting, working on the type inference.
What are some alternatives?
gaiman - Gaiman: Text based game engine and programming language
xvm - Ecstasy and XVM
starlight - JS engine in Rust
konna - A fast functional language based on two level type theory
cubiml-demo - A simple ML-like programming language with subtyping and full type inference.
Yoakke - A collection of libraries for implementing compilers in .NET.
IntercalScript - The IntercalScript programming language
aulang - simple and fast scripting language
Matrix - Easy-to-use Scientific Computing library in/for C++ available for Linux and Windows.