Ring (language) with Syntax Flexibility

A place to discuss any and all xTalk implementations, not just LC LCC Forks, but HyperCard, SuperCard, MetaCard, Gain Momentum, Oracle MediaTalk, OpenXION, etc.
Forum rules
Please limit any bashing/harping on any commercial interests to a minimum, thanks!
Post Reply
User avatar
OpenXTalkPaul
Posts: 2633
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Ring (language) with Syntax Flexibility

Post by OpenXTalkPaul »

https://ring-lang.github.io/doc1.17/rin ... about-ring

https://ring-lang.github.io/doc1.3/synt ... e-and-give

The Ring language is very interesting to me, it's syntax flexibility means you can modify the keywords and operators of it's syntax before the rest of the code / compilation takes place which allows for the rest of the code that follows to be made to look a lot more like various other programming languages. If you look at the examples on that page I linked to above you will see why I posted about it in the xTalk Implementations section.
User avatar
OpenXTalkPaul
Posts: 2633
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Ring (language) with Syntax Flexibility

Post by OpenXTalkPaul »

Try RING online:
https://ring-lang.github.io/web/tryring ... oject.html

Paste this in to that page and click run to see how the syntax flexibility can modify the language so that it behaves like xTalk for string concatenation:

Code: Select all

ChangeRingKeyword print put
ChangeRingOperator + &
ChangeRingOperator nl cr

PUT "HELLO" & cr & "TEST"
FourthWorld
Posts: 442
Joined: Sat Sep 11, 2021 4:37 pm
Contact:

Re: Ring (language) with Syntax Flexibility

Post by FourthWorld »

Did you ever go through a Rebol phase? So many great ideas in Sassenrath's tookit.

http://www.rebol.com/r3/docs/concepts/p ... lects.html
User avatar
OpenXTalkPaul
Posts: 2633
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Ring (language) with Syntax Flexibility

Post by OpenXTalkPaul »

FourthWorld wrote: Fri Jul 26, 2024 5:46 am Did you ever go through a Rebol phase? So many great ideas in Sassenrath's tookit.

http://www.rebol.com/r3/docs/concepts/p ... lects.html
I have stumbled across it a few times. It looks like it hasn't been updated since 2011, with only an unofficial release in 2014.

The syntax defining bits of syntax are always difficult for my brain to wrap around, not just in Rebol.

Here is the Extension Builder source code for the XB Language Module that contains it's Canvas Drawing syntax:
https://github.com/livecode/livecode/bl ... canvas.lcb
Which is binds LCB syntax to things in the C++ files named: module-canvas.cpp, module-canvas.h, module-canvas-internal.h which are in the same directory.

There's no documentation that I can find on using their syntax defining structure.
But it's still easier to understand than others, at least to me but I already understand the way the FFI bindings work and LCB specific stuff like that so that probably helps.

Ring (one ring to rule them all) makes it super easy to redefine its parser/interpreter for keywords and operators, but not, as far as I can tell, the token ordering.
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest