Live data from Hacker News

The Rune Programming Language

github.com

71–80 of 203 posts

Re: The Rune Programming Language

#71
I'll be interested to see how this compares to Nim (the other python-similar systems programming language).

Very interested in trying seeing how it's 'SOA memory management' turns out in practice.

Re: The Rune Programming Language

#72
post #56

This is an interesting idea for language design: > Users of Rune are protected, because the compiler sees that macSecret is secret, and thus the result of hmacSha256 is secret. The string comparison operator, when either operand is secret, will run in constant time, revealing no timing information to the attacker. Care must still be taken in Rune, but many common mistakes like this are detected by the compiler, and e…

I mean, this would be relatively easy to implement in any language that have operator overloading.

Re: The Rune Programming Language

#75

First example seems weak. Any language can use separate data type for secrets and corresponding operator for constant-time comparison. Second example is very neat. Actually I thought about using sqlite with tmpfs database for application state. That could be useful for some kinds of applications. That said, using functional API over traditional data structures seems like a traditional and widely accepted approach. In…

But it's not just operator overloading, there seems to be a monad-like "secret" that makes calls to func(a, ...) -> b with secret(a) return secret(b).

The example doesn't spell this out explicitly, but I think those are the semantics of secret.

Re: The Rune Programming Language

#76
post #9

There already exists Rune programming language and that one was earlier: https://rune-rs.github.io/ They should be more careful picking the name.

There already was a GO programming language before Google decided to use the name, too.

As some other comments have pointed out, this seems to be a one-person project. FWIW, Go also started as a project by 3 people who happened to be working for Google (Robert Griesemer, Rob Pike and Ken Thompson), so it wasn't Google consciously choosing the name.

Perhaps Google as an employer shouldn't allow employees to choose any name they like, and do some diligence to avoid name clashes. This may sound quite reasonable for outsiders, but internally this will be another step that requires manual review in the process of publishing open source code, and employees will see this as red tape and get discouraged from open sourcing their code in the first place.

The benefit of requiring every project to go through a name clash review is also questionable: there are 2.5k repos under https://github.com/google, and most of the them will never become popular enough for name clashes to be a problem anyway. This repo only has 177 stars despite hitting HN homepage.

IMO Google should instead make it easy for people to publish their open source code wherever they like, but I suppose there are some messy legal reasons why they prefer employees to put their repos under https://github.com/google. (It's not a hard requirement, but they do make you jump through extra hoops to open source your code elsewhere.)

(I'm a Google employee, but I didn't know this project and don't work for the department responsible for the process of open sourcing code.)

Re: The Rune Programming Language

#79
post #56

This is an interesting idea for language design: > Users of Rune are protected, because the compiler sees that macSecret is secret, and thus the result of hmacSha256 is secret. The string comparison operator, when either operand is secret, will run in constant time, revealing no timing information to the attacker. Care must still be taken in Rune, but many common mistakes like this are detected by the compiler, and e…

I mean, this would be relatively easy to implement in any language that have operator overloading.

How do you operator overload in C++ so that calling computeHmac(secret(string)) returns secret(string)?

Re: The Rune Programming Language

#80
post #9

There already exists Rune programming language and that one was earlier: https://rune-rs.github.io/ They should be more careful picking the name.

There already was a GO programming language before Google decided to use the name, too.

Correction, there was a "Go!" programming language.
Post reply on HN