Remix.run Logo
Lammy 6 hours ago

There's a language called SLang inside Goldman Sachs used for their SecuritiesDB, and that's how I read it at first glance even with the dollar sign lol https://en.wikipedia.org/wiki/Michael_Dubno#SecDB

snthpy an hour ago | parent | next [-]

That's what I thought too. The $ sign seemed quite appropriate given Goldman's line of business.

charleszw 13 minutes ago | parent | prev | next [-]

See also the Slang shader language, it's a pretty recent development! https://shader-slang.org

wahern 2 hours ago | parent | prev | next [-]

See also https://en.wikipedia.org/wiki/S-Lang (https://www.jedsoft.org/slang/index.html), a (stack-based) scripting language implementing a terminal UI toolkit. Mutt can use use S-Lang instead of ncurses.

dang 5 hours ago | parent | prev [-]

I wonder what a program written in that language looks like.

rayxi271828 4 hours ago | parent [-]

Slang? The IDE looked like Turbo C++ of old (blue, text based interface). Shortcuts are weird, so you need to remap keys to get sane defaults.

Probably the most unique feature is that the language supports spaces in identifiers. So you'd have variables like "Option Portfolio Risk" or functions like "Calculate Estimated PnL". Visually obviously different from Python, but it gave me Pythonic vibes.

It's also nice that it supports preconditions, so you can specify the valid range of arguments etc. It has some kind of OOP support but tbh it felt bolted on (understandably).

But the most value adding, IMHO, is the DevEx and deep integration with SecDb. Say what you want about the DOS-like IDE and the old (20+ years old for sure, maybe 30+) language, but you can deploy your code SO easily into production, with guardrails in place.

Out of curiosity, I implemented a toy language (thanks to Robert Nystrom's Crafting Interpreters) that supports spaces in identifiers (https://github.com/rayfdj/gaul-lang) as well. Makes for an interesting weekend coding project, and it helps me understand more the tradeoffs that Slang designers must have gone through.