Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.

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.

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!


Thank you for the kind words! I had great fun implementing it. Robert Nystrom is such a hero for writing Crafting Interpreters.

its a big inspiration for me because thats on my list of things to do

i tried your repo and it works just as you say; so cool

i may introduce it to some acquaintances who have trouble learning programming caused by reading english characters/grammar troubles


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

Want to submit to HN and email us (hn@ycombinator.com) so we can put it in the SCP? (https://news.ycombinator.com/item?id=26998308)



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: