HN Companion◀︎ back | HN Companion home | new | best | ask | show | jobs
Brunost: The Nynorsk Programming Language (lindbakk.com)
68 points by atomfinger 4 days ago | 25 comments


What the devil kind of "Nynorsk" allows "kalkuler" in place of "beregn"? And as the other poster pointed out, 'endre' does not actually take the '-leg' ending to make an adjective; not in the written language at least. Your dialect may allow it but that hardly matters. Try 'foranderlig', although I do like the idea of using articles. However, as we have three articles but variability is binary, I suggest we assign 'en' (masculine, firm, rigid) to constants, 'et' (neuter, indecisive, wibbly-wobbly) to variables, and of course 'ei' (feminine) as referring only to collections, into which things may be inserted. That does leave us with the difficulty of how to declare a collection as constant; I suggest

`ei fylke er alltid ["Vestland", "Rogaland", "Troms", "Finnmark"]`

which on second thought suggests that we can just have `alltid` as a const-modifier on `er`. Simpler.

Another point to note is that Norwegian does not allow the Oxford comma; correct grammar is "Johan, Fredrik og Martin". To follow this rule you should require the last separator of a list to be 'og':

`ei fylke er alltid ["Vestland", "Rogaland", "Troms" og "Finnmark"]`


This is the kind of quality response that makes HN great.

Funny :) but I think it would work better if the language not only required Nynorsk, but used Nynorsk and not Bokmål for all keywords:

https://ordbokene.no/nob/nn/ellers

I think I also saw "ikke" in there.

And https://ordbokene.no/nob/nn/endreleg isn't a word in any language? The Nynorsk word for it is sadly just "variabel". To make it more interesting, you could require agreement, and instead of "endreleg fart", how about just using the indefinite article for things that are changeable since things that are changeable seem kind of indefinite:

    ei fart = 70
    eit smell = "bang"
    eit fag = "naturfag"
    ein slutt = "."
And of course

    forKvar fart
    forKvar slutt
but

    forKvart smell
    forKvart fag
And if you mess up the agreement you get a red squiggly line, and for every such your grade goes down from 6 and if it's less than 2 your program fails.

One of these years I'm going to make a Finnish programming language that enforces the correct case in arguments. And I don't mean silly arguments like camelCase vs kebab-case, I mean grammar.

Some examples to illustrate:

  tiedosto on "foo.txt" avattuna
  tulostin on PRN1
  kirjoita(tiedostoon, "a")
  kirjoita(tulostimelle, "b")
Job security for DECADES.

Like a more devious Lingua::Romana::Perligata?

https://metacpan.org/dist/Lingua-Romana-Perligata/view/lib/L...


This is equal parts brilliant and demented. Thank you.

  syöte olkoon vakiosyöte

  yritä
    tee syötteen kullekin alkiolle:
      käsittele(alkio)
  paitsi poikkeustilanteessa liukulukuylivuoto:
    kirjoita(virhetulosteeseen, "liukulukuylivuoto")
  muutoin:
    kirjoita(virhetulosteeseen, "odottamaton poikkeus")

If you have not tasted brunost you should definitely try it https://en.wikipedia.org/wiki/Brunost

> One can make similar arguments about Bokmål and Sami, but people speak Sami. And I would argue that a lot more people speak "pure Bokmål" than Nynorsk.

Very, very few. I used to, as a side effect of being quite asocial and reading a lot as a child, and reinforced by my dads very conservative dialect for western Oslo despite where we were living (half an hour drive out the other side of Oslo; dialects in Norway are very local - in that span you pass through at least one other dialect area). The dialect differences were significant enough that an exchange student in high school who was speaking close to perfect Norwegian toward the end of the year still struggled to understand me.

But even then, I adopted more and more of the regional dialect over time. Unless you're a hermit it's hard not to. And there are basically no place in Norway where the local dialect is pure Bokmål.

There might well be more people who can switch to speak pure Bokmål than Nynorsk, though, because it is the primary written language of far more people, and so its the easiest to slip into if you want to speak "formal" Norwegian. This was more pronounced before, when there was a tendency to see the written languages, and especially Bokmål, as more prestigious, and so you might hold a speech in Bokmål instead of your own dialect, TV presenters favoured "pure" Bokmål or Nynorsk instead of their dielcts etc. That's thankfully changed


What do you know about Bokmål being more prestigious in the past? You don’t respect the other form enough to cognize that it exists.[1] I don’t think that lends itself to a well thought out comparison.

[1] https://news.ycombinator.com/item?id=47072436


> What do you know about Bokmål being more prestigious in the past?

Having grown up in Norway and seen first hand how it was treated that way.

> You don’t respect the other form enough to cognize that it exists.[1]

I don't like Nynorsk, sure, but that has zero relevance to the point I made, which was if anything a point of contention for those who do like Nynorsk for decades, and a subject of intense activism.

EDIT: You seem to think that I am suggesting that makes one better than the other, or that it should be that way. Neither is the case - there's a reason I wrote "That's thankfully changed". But it was very much the case up until at least the 1980's that Bokmål was treated more favourably than Nynorsk in all kinds of contexts. E.g. companies expecting communication with customers should be done in Bokmål, for example, was an actual thing.


After spending way too much time thinking about how I would program in a language I never heard about I realized that as a native Dutch speaker Nynorsk is fairly readable.

I'm sold.


As a Norwegian with passable German, written Dutch feels almost like just jumbling some letters around and adding unnecessary consonants... (Spoken Dutch, though, is entirely incomprehensible to me) The language continuum around the North Sea is fairly tight (more so if you consider Low German instead of standard German so you don't need to deal with the effects of the annoying High German consonant shift (think Dag -> Tag, Schip -> Schiff etc.))

The brunost programming language could be very useful for norwegian government agencies. It is common to use norwegian names for variables and functions at the Norwegian Labour and Welfare Administration (NAV in Norwegian). A subset of typescript where the reserved words are written in nynorsk, would help prevent misunderstanding.

Most of the source code for the Norwegian welfare system is published openly on https://github.com/navikt (4K repos)

I don’t understand how having 65–100 keywords localized makes any difference. People can use these kinds of mixed registers for specific niches and it seems seamless to everyone.

“Fast” means firm or constant. “Fart” means speed.

The examples have nothing to do with quick flatulence.


But it was an intended joke...

I was somewhat skeptical, but this got me:

``` fast fartsgrense er 80 fast minFart er 90

```


As a fellow Norwegian and nerd I have always wanted to be better at Nynorsk. Maybe this is what I need to get better at it!

Word Basic back in the Word 95 days translated keywords.

The source was saved tokenized, so the program would have different keywords when loaded in different version of Word. I don't know if there was a Nynorsk version, but I presume there must have been.

(I once had a contract where I spent the first week sorting out problems caused by someone managing to move Word Basic from a Danish version of Word to a Norwegian version untokenised; the problem being of course that the Danish and Norwegian keywords had a lot of overlap, read just fine to a Norwegian reader, but there were differences and so everything broken and the original Word Basic files were not available to me so I couldn't just load that into Norwegian Word... Fun times. This was also the first time I had ever seen Word Basic, after confidently telling the recruiter that of course I knew it, as I was desperate to land the contract - in the end I finished ahead of time, so it was all good)


This was the reason I installed only the English version of windows and office. I do not like Dutch, even though it's my native tongue. I grew up with os and programming languages in English because translation was too expensive and I got used to it

Yeah, same thing for me. The article is funny, but I'd hate to actually use a language using non-English keywords.

Spenstig!! Mangler bare "endeleg" i Exception handling :)

Slightly off topic.

"Now, the keyword fast here is saying that the variable fart cannot be changed - it is immutable"

So would this be the same 'fast' as you'd find in 'steadfast' or as in stuck?


Eg saknar kvisleis.