Settings

Theme

The Om Programming Language

om-language.com

230 points by tosh 8 hours ago · 56 comments

Reader

pgt 6 hours ago

Would recommend placing example language syntax above the fold. Was tough to have to scroll halfway down the entire site to see any syntax. Nobody cares about the EBNF syntax until they have a feel for the language.

dirk94018 2 hours ago

Aren't LLMs supposed to write machine code directly, no more programming languages at all, any day now? Joking aside, programming languages are a good mental exercise. Forth was my first language after assembly. Didn't like the stack juggling and ended up using its macro assembler more and more, it became something else, conventions over code I suppose, like what to keep in registers. Forth (and Unix) got the composability requirement right, the testing of individual units.

willquack 7 hours ago

I worked with Jason (creator of Om) at my last job. He's awesome!

irickt 7 hours ago

A more explanatory article mentioned in the post: https://evincarofautumn.blogspot.com/2012/02/why-concatenati...

  • mosburger 6 hours ago

    ah, thanks, that's why my first thought was that "hey, this feels very FORTH like"

omoikane 6 hours ago

> any UTF-8 text (without byte-order marker) defines a valid Om program.

What is the behavior of a program with unmatched braces? I am not sure a stray `}` would fit any of the defined syntax.

https://www.om-language.com/index.html#language__syntax__

  • itishappy 6 hours ago

    That would be parsed as a single operator and evaluated using the following rule:

    > Evaluates to the operation defined for the operator in the environment. If none, evaluates to a constant function that pushes the operator, followed by all input terms, onto the output program.

    I believe it would simply output itself.

sriku 2 hours ago

Another concatenative-ish one embedded in js .. just for fun - https://github.com/srikumarks/pjs

You may find the "genailang" module fun to play with.

shevy-java 2 hours ago

Missing a 'g'!

Omg would have a ring to it.

bittermandel 7 hours ago

I confused this with https://github.com/omcljs/om

  • jb1991 7 hours ago

    Yeah Om was an extremely widely used Clojurescript library many years ago (maybe still is), and to me that's what this word will always refer to.

jwilber 7 hours ago

Will never not complain about languages not giving code examples. It’s like writing a charting/UI/style library and showing no examples. Just what?

  • robotresearcher 7 hours ago

    You overlooked the examples. They might not satisfy you, but there are examples.

    • dented42 3 hours ago

      To be fair, the examples are extremely easy to overlook. They are also, to put it delicately, not the most helpful.

      • robotresearcher 2 hours ago

        Absolutely agree. But fairness precludes denying the existence of examples.

        They are not prominent, but they are in a section with the heading 'Examples'.

      • dstanko 2 hours ago

        apparently fold example is very helpful to some.

  • keeganpoppen 6 hours ago

    if it's something you do 100% of the time, is it really adding any information to the world?

    • dstanko 2 hours ago

      absolutely does! for a new language that no one has heard of, it is essential that examples make at least a parallel with other languages. providing examples for mundane things is very useful to build the understanding with the reader who hasn't been writing a paper on OM language.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection