lobster
Kind
Our great sponsors
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.
lobster
- The Lobster Programming Language
-
The Neat Programming Language
I think lobster does this.
"Compile time reference counting / lifetime analysis / borrow checker."[1]
"Reference Counting with cycle detection at exit, 95% of reference count ops removed at compile time thanks to lifetime analysis."[1]
[1] https://strlen.com/lobster/
-
Why does Rust need humans to tell it how long a variable’s lifetime is?
There is another language, Lobster, that uses lifetime analysis like Rust, but IIUC infers lifetimes completely automatically. It looks like the idea is still experimental - I'm interested to see how it goes.
-
What are some must have built-in modules in your opinion/experience?
I think the ability to open a window and do graphical stuff is actually pretty underrated in core language functionality. There's a few game-oriented programming languages like Lobster that put windowing and graphics in the core language functionality, and I think it's pretty neat. The biggest downside is that it's a lot to bite off, because you'll probably want to have standardized API functionality for a whole host of things like font rendering, image loading, etc.
-
Minetest: An open source voxel game engine
The actual game itself, yes. Based on this open source project though which provides the language its written in and core engine tech: https://github.com/aardappel/lobster
-
Plane - FOSS and self-hosted JIRA replacement. This new project has been useful for many folks, sharing it here too.
I'm keeping an eye on Lobster though. It fixes most of Python's problems. It's way faster, has proper static typing, the import system is sane, etc.
-
Using a borrow checker to track mutable refs in a GCed FP language?
Lobster (https://strlen.com/lobster/) appears to at least do lifetime analysis to reduce refcounting. I'm not sure about automatic interior mutability. I feel like there's a keyword here that can help find other compilers with similar features.
-
What would make you try a new language?
Also, can I introduce you to https://strlen.com/lobster/, a garbage collected language made for game development by (and primarily for) the one and only Wouter "aardappel" van Oortmerssen?
-
In a custom typed imperative programming language, what should the compiler do next, after resolving variable references?
I would like to make it work to some degree like Rust with a borrow checker, and have optional static typing (with type inference wherever it can). Other sources of inspiration, lobster lang, and dart. It is going to (eventually...) compile to several places like dart (browser, iOS, android, linux, etc.). After I've created the AST, I've gone straight to code generation, because that's the easy part IME. But now have to insert the "middle" and do typechecking/borrowchecking/inference/other checking. This is for an imperative-style language.
-
Features you've removed from your lang? Why did you put them in, why did you take them out?
Over the ~12 years of Lobster (https://strlen.com/lobster/) 's existence, features that were removed (in this order): * Lexical scoping. * Icon style backtracking. * Small-talk like syntax. * Dynamic Typing. * Multimethods. * Frame based state (like FRP). * Co-routines.
Kind
-
Eliezer Yudkowsky has great news: "Parents conceiving today may have a fair chance of their kids living to see kindergarten."
As a developer of a proof assistant (Kind) I'm highly interested in this line of work. Can you point me to some of these papers? And perhaps people involved in this line of work?
- Somos os devs da HVM, o compilador Brasileiro que rodou o mundo. Vamos colocar nosso logo no /r/place?
-
A list of new budding programming languages and their interesting features?
Kind: A modern proof language (though functional).
- Fornjot: A next-generation Code-CAD application
-
How to handle list / contiguous array definition and implementation in a type system?
I have seen in languages like KindLang the definition of Array be like a Binary tree, but there is some magic there in the definition of the Array type that I don't understand yet. Also, I don't want to define the contiguous array further., it should be a literal contiguous array. The Kind "Word" type definition (arbitrary number of bytes) is closer to my contiguous array, but it has a similarly complex definition which like I said I don't understand.
-
Type Checking as Calculation
Totally agree about the Blub Paradox, but there's definitely value in Self Types. See, for example, [Kind](https://github.com/Kindelia/Kind), which is able to type recursive data types by using Self Types.
-
Please, keep in mind there is ZERO FUNDING for my projects.
For these who don't know, I'm the author of Kind and HVM. I've recently seen a criticism from an influent person in the community, who I often took as an inspiration, that made me really sad. "the guy behind this has built some impressive-sounding stuff before... it looks like his projects tend to just... go nowhere and he just abandons them and does something else?"
-
Is it possible to make join work for arbitrary depths?
This is very easy with dependent types! For example, in Kind:
- A massively parallel, optimal functional runtime in Rust
- Eu acabei de lançar um dos "compiladores" mais rápidos do mundo. Apoiem o trabalho brasileiro!
What are some alternatives?
cakelisp - Metaprogrammable, hot-reloadable, no-GC language for high perf programs (especially games), with seamless C/C++ interop
HVM - A massively parallel, optimal functional runtime in Rust
treesheets - TreeSheets : Free Form Data Organizer (see strlen.com/treesheets)
opencascade.js - Port of the OpenCascade CAD library to JavaScript and WebAssembly via Emscripten.
language-ext - C# functional language extensions - a base class library for functional programming
CascadeStudio - A Full Live-Scripted CAD Kernel in the Browser
mun - Source code for the Mun language and runtime.
urweb - The Ur/Web programming language
swift - The Swift Programming Language
awesome-rust-formalized-reasoning - An exhaustive list of all Rust resources regarding automated or semi-automated formalization efforts in any area, constructive mathematics, formal algorithms, and program verification.
cligen - Nim library to infer/generate command-line-interfaces / option / argument parsing; Docs at
awesome-programming-languages - The list of an awesome programming languages that you might be interested in