Live data from Hacker News

Rapira (Рапира) – Soviet programming language interpreter

github.com

1–10 of 71 posts

Re: Rapira (Рапира) – Soviet programming language interpreter

#2
It feels like Pascal in Cyrillic. Autotranslation, with a little manual correction, but I can't fix КНЦ (autotranlated to KNC):

  FUNC FACT (N);
     NAME: R;
     1 -> P;
     FOR I FROM 1 TO N ::
        R * I -> R
     ALL
  RES: R
  KNC;

  FOR N FROM 0 TO 6 ::
     ? "FACT(", N, ") = ", FACT(N)
  ALL;

Re: Rapira (Рапира) – Soviet programming language interpreter

#3

It feels like Pascal in Cyrillic. Autotranslation, with a little manual correction, but I can't fix КНЦ (autotranlated to KNC): FUNC FACT (N); NAME: R; 1 -> P; FOR I FROM 1 TO N :: R * I -> R ALL RES: R KNC; FOR N FROM 0 TO 6 :: ? "FACT(", N, ") = ", FACT(N) ALL;

[flagged]

Re: Rapira (Рапира) – Soviet programming language interpreter

#4

It feels like Pascal in Cyrillic. Autotranslation, with a little manual correction, but I can't fix КНЦ (autotranlated to KNC): FUNC FACT (N); NAME: R; 1 -> P; FOR I FROM 1 TO N :: R * I -> R ALL RES: R KNC; FOR N FROM 0 TO 6 :: ? "FACT(", N, ") = ", FACT(N) ALL;

I would read «КНЦ» as «КОНЕЦ», literally “an end” or “the end” (Russian does not have anything resembling articles). Who needs vowels, anyway.

Also, «ВСЕ» feels like «ВСЁ» in this context, I’d translate that as “that’s all”.

Re: Rapira (Рапира) – Soviet programming language interpreter

#6

It feels like Pascal in Cyrillic. Autotranslation, with a little manual correction, but I can't fix КНЦ (autotranlated to KNC): FUNC FACT (N); NAME: R; 1 -> P; FOR I FROM 1 TO N :: R * I -> R ALL RES: R KNC; FOR N FROM 0 TO 6 :: ? "FACT(", N, ") = ", FACT(N) ALL;

Few fixes:

1. "ИМЕНА" is plural, so instead of "NAME:" it's a bit more appropriate to use "NAMES:". Probably should be "VARIABLES" or "VARS" in modern context.

2. You've got few typos mixing "R" and "P". Should be "R" everywhere.

3. Instead of "ALL" you should use "DONE".

4. Instead of "KNC" you should use "END".

So it would look like this:

    FUNC FACT (N);
      NAMES: R;
      1 -> R;
      FOR I FROM 1 TO N ::
        R * I -> R
      DONE
    RES: R
    END;

    FOR N FROM 0 TO 6 ::
      ? "FACT(", N, ") = ", FACT(N)
    DONE;

Re: Rapira (Рапира) – Soviet programming language interpreter

#7

It feels like Pascal in Cyrillic. Autotranslation, with a little manual correction, but I can't fix КНЦ (autotranlated to KNC): FUNC FACT (N); NAME: R; 1 -> P; FOR I FROM 1 TO N :: R * I -> R ALL RES: R KNC; FOR N FROM 0 TO 6 :: ? "FACT(", N, ") = ", FACT(N) ALL;

[flagged]

https://news.ycombinator.com/newsguidelines.html

> Don't post generated comments or AI-edited comments. HN is for conversation between humans.

Re: Rapira (Рапира) – Soviet programming language interpreter

#9
There is also an independent open-source interpreter for 1C language (which is to this day reported to be extensively used in Russian enterprise) implemented in C#. I haven't tried it myself, but just though that it's also worth mentioning here as the project seems to be actively worked on: https://github.com/evilbeaver/onescript

Re: Rapira (Рапира) – Soviet programming language interpreter

#10

It feels like Pascal in Cyrillic. Autotranslation, with a little manual correction, but I can't fix КНЦ (autotranlated to KNC): FUNC FACT (N); NAME: R; 1 -> P; FOR I FROM 1 TO N :: R * I -> R ALL RES: R KNC; FOR N FROM 0 TO 6 :: ? "FACT(", N, ") = ", FACT(N) ALL;

>It feels like Pascal in Cyrillic

replace cyrillic w/ russian and it'd be ok.

КНЦ = end (конец in russian is end). However, in bulgarian in means 'thread' (as in sewing thread) and it has lots its meaning of end, aside from 'from needle to thread' expression where it means from the tip of the needle to the end of the thread.

Also 'ALL' (и все = it's over/that's all), which should be 'end' as in begin/end in pascal.

The main point still stands - it's Pascal.

Post reply on HN