rhombus-prototype
rhombus-prototype copied to clipboard
Brainstorming and draft proposals for Rhombus
Like string-constants-lib String constants support internationalisation via translation files so DrRacket UI can be used in a range of languages, but applied to the code. https://en.m.wikipedia.org/wiki/Non-English-based_programming_languages
There are multiple representations of source locations (e.g., list, vector, srcloc struct, syntax). Not all of them can be used in functions that expect "source location". For instance, datum->syntax doesn't...
In Racket, bindings are presumed to be mutable. (Within the binding's module, it is legal to `set!` the binding's value.) Since most bindings are not mutated (and mutation of bindings...
Data goes back and forth? Functions go back and forth? Macros go back and forth?
Originally from @jeapostrophe > Enable the racket/package define* form everywhere Personally, I use `define` in internal-definition context a lot. In most cases, however, I don't want `letrec`, but just want...
Do we need multiple values? If so, what's the best way to make it integrate well with the language? Right now, it's not. As an example, if I have a...
From a recent article, one side observation was that it is confusing that `set`s are not cross-phase persistent. Let's make all build-in object cross-phase persistent. (This could be implemented in...
One of my favorite features of modern Racket is `module+` where you an incrementally define the body of a module. I want something like that where I incrementally attach information...
Module top-levels can have arbitrary effects. This makes it so that tree-shakers that eliminate the number of `require`s and definitions in a program can be very ineffective. For example, mutation...
In the Racket1 ecosystem, there are multiple incompatible ways that people try to define datatypes with a fixed number of variants and get warnings in consuming code that does not...