← Back to context

Comment by Lammy

1 day 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

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

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

  • 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.

    •    fn Calculate Portfolio Risk(Initial Investment, Risk Factor) {
            let My Very Special Adjustment = 0.95
            Initial Investment * Risk Factor * My Very   Special Adjustment
        }
      

      that is so cool; this is actually something i've been looking for a long time

      and jam karet looks interesting; `if input ~= "yes"` made me smile.

      i also liked the keyword replacement for multiple languages as well, that could be super usefull for children learning programming i'd think!