@mlinksva maybe there's some worth to implementing the "boring" parts (parts specific to resource management, or are most critical to write in a "safe" language) in FastSafeLang, and then embedding lua (or some other embedding-friendly smol squishy language) to implement the parts that are more interesting for customization
@mlinksva@aeva@mpweiher I would say that FastSafeLang is a subset of SquishyLang. It's faster and safer because of the things you are no longer allowed to do.
That's if SquishyLang has optional/gradual static typing. Otherwise there's a bridging language of which both languages are a subset.
@clacke@aeva I'm unfamiliar w/those but C web server exposing low level scripting interface semi-popular forever eg Navi/Tcl, Netscape/js, Apache/mod_*, I guess ngnix/Lua now. Definitely thinking of pushing FastSafeLang impl up to ~framework level, with scripting for only application-specific code. Figure it's a naive thought though considering unpopularity to say the least.
@aeva right! Nevermind fediverse servers, it's always been amazing to me that web apps in general haven't taken this path. But, has to be designed for, evidently a huge barrier.
@clacke do you have an existence proof of FastSafeLang ⊆ SquishyLang?
I don't see how that works.
Seems to me that types and eg more control over memory requires more not less of a language, so (after seeing Mojo and reeading @mpweiher's blog) FastSafeLang ⊇ SquishyLang is possible, and seems natural.
@mlinksva@mpweiher Various subsets of Python can compile to native. There is one in particular that requires everything to have type annotations and has some other restrictions like no imperative code in the module top level.
All of the compiled language is valid Python, but not all Python is valid to this compiler. I'll find the name for it, I think it might have been Dropbox that are using it.
@mlinksva@mpweiher Still can't find the one I'm looking for, but #codon is another recent "slight superset to a subset" of Python approach as opposed to Mojo's "add new stuff" approach to modifying Python.
It looks to me, just at a quick glance, that Mojo syntax additions to Python could have been Python-compatible additions in the form of decorators that are noop or validating at runtime on CPython, perhaps validating on mypy, and allowing tight compilation on mojo.