Jump to content

Recommended Posts

Here is an extra gift for the holidays. Error messages for undefined words and paths are now extended with suggestions for an alternative, when available. The compiler now detects words and paths from other REBOL-like languages: REBOL 3, REBOL 2, Red, Red/System and Boron. This makes it much easier to try out and convert REBOL code:

 

https://language.metaproject.frl/#documentation

  • Like 1
Link to comment
Share on other sites

Documentation is a priority now, and a popular request. In particular, the differences with REBOL have been requested here. This is built-in, interactive documentation of these differences. As I announced, this makes the REBOL documentation much more usable for Meta.

 

Meta is a new language that would benefit from existing programs in similar languages being ported to it. This is built-in, interactive help for that.

  • Like 1
Link to comment
Share on other sites

Thanks, happy new year to you, too!

 

Meta will eventually be superficially similar to Red (and REBOL), with similar goals, but internally, it's completely different.

 

Red's compiler is rather primitive: it basically doesn't do any optimisation. This has led to compiled Red code executing at about the same speed as interpreted REBOL code, and interpreted Red code being about eight times as slow as REBOL. Meta is much faster. One of the optimisations is that the language design is based on multi-methods, instead of functions.

 

To get speed and functionality in a similar ballpark in Red, you need to drop down to Red/System, which is a very different language comparable to C. This second, more primitive language, and the communication between the two, are not needed with Meta.

 

One of the results is that Meta can run on Atari and similarly constrained systems.

Link to comment
Share on other sites

  • 3 weeks later...
  • 3 weeks later...

I published Mortal Coil, the first graphics & sound demo written in Meta:

https://language.metaproject.frl/programs/

 

I ported it from the original in assembly by my old friend @F#READY. The original won first place in the 128 bytes compo at Outline 2017.

 

I used this example throughout the development of Meta to guide its design and implementation.

 

MortalCoil.thumb.png.4e437d77f26b34ad6735dd55a84d9503.png

  • Like 1
Link to comment
Share on other sites

On 2/15/2022 at 5:12 AM, Kaj de Vos said:

compile.com presents as a compiler, but it's actually an up/downloader. See the source code. The actual compiler lives on the server.

I figured it was something like that -- when I saw that cURL was a required component. I didn't want to check into the details myself (a little lazy at the time); so, I figured it was easy enough to hear it from the horses mouth.

 

So, getting back to your initial statement: yes, it's being downloaded, but obviously it's getting compiled too, first.

 

Anyway, I didn't really look too much at the code; but it seems to be running as fast as the assembler it was modeled after. So, at least it meets the requirement of performance here.

 

[Edit]

BTW, it would be a lot easier to examine the source code with an editor that has some recognition of the syntax. Are you using any such configuration now?

 

Link to comment
Share on other sites

Glad you like the speed!

 

The language design is not modeled after assembly, though. It is modeled after REBOL, which is actually a rather high-level language. What I'm doing is creating an extreme implementation of this type of language, without compromising on performance. When you write high-level code, usually only limited parts of it are high-level. I never understood why the medium-level parts can't be made efficient, and it turns out that they can be. When doing hardware programming for Atari, usually only the medium-level features of the language are needed, and they work quite nicely already.

 

Syntax-aware editors would be nice, and I'm certainly contemplating them, but I'm a fairly bare-bones person myself. I tend to use simple, generic tools, because complicated ones have a tendency to disappear over the years. There have been such tools for REBOL and Red, such as syntax colouring, plug-ins for popular editors, and a REBOL editor that has deeper knowledge of the language structure. Since Meta is a REBOL dialect, they could be useful for Meta.

 

This is typically a topic that community members could take on, because they know their favourite editor, and there are too many for me to support them all. I may do something in this direction, but it will be a considerable time before that becomes a priority, unless there would be funding.

Link to comment
Share on other sites

17 minutes ago, Kaj de Vos said:

The language design is not modeled after assembly, though.

You miss my meaning here. I was saying that you modeled this program after an assembly listing -- as you mentioned.

 

17 minutes ago, Kaj de Vos said:

Syntax-aware editors would be nice, and I'm certainly contemplating them, but I'm a fairly bare-bones person myself. I tend to use simple, generic tools, because complicated ones have a tendency to disappear over the years. There have been such tools for REBOL and Red, such as syntax colouring, plug-ins for popular editors, and a REBOL editor that has deeper knowledge of the language structure. Since Meta is a REBOL dialect, they could be useful for Meta.

If you can provide a semi-organized list of the language's keywords, etc., I'd probably put something together for Notepad++. I find that even a very basic highlighter for an editor makes a big difference.

 

  • Like 1
Link to comment
Share on other sites

24 minutes ago, MrFish said:
49 minutes ago, Kaj de Vos said:

The language design is not modeled after assembly, though.

You miss my meaning here. I was saying that you modeled this program after an assembly listing -- as you mentioned.

Ah, right.

 

25 minutes ago, MrFish said:

If you can provide a semi-organized list of the language's keywords, etc., I'd probably put something together for Notepad++. I find that even a very basic highlighter for an editor makes a big difference.

It's in the works. It's great if you could do that.

Link to comment
Share on other sites

4 minutes ago, Kaj de Vos said:

Notepad++ has REBOL highlighting. It looks like you can use it for Meta by adding the .meta extension:

https://github.com/notepad-plus-plus/notepad-plus-plus/issues/3650

 

Or as a workaround, you could rename your .meta files to .reb extensions.

I probably need to update -- as I looked for Rebol on the language list yesterday and didn't see it. I'm still running a version from 2016...

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...