Kaj de Vos Posted December 22, 2021 Author Share Posted December 22, 2021 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 1 Quote Link to comment Share on other sites More sharing options...
Kaj de Vos Posted December 27, 2021 Author Share Posted December 27, 2021 Some words from the Logo, Lisp and Scheme language families are now also detected, and alternative suggestions provided. In particular, I added words from Atari Logo and InterLisp/65. Quote Link to comment Share on other sites More sharing options...
ivop Posted December 27, 2021 Share Posted December 27, 2021 Serious question. Why? I know of no C compiler that is fed Pascal keywords and does suggestions about how to do it in C Quote Link to comment Share on other sites More sharing options...
Kaj de Vos Posted December 27, 2021 Author Share Posted December 27, 2021 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. 1 Quote Link to comment Share on other sites More sharing options...
Kaj de Vos Posted January 3, 2022 Author Share Posted January 3, 2022 Added even more comments to the Rainbow examples: https://language.metaproject.frl/#examples Quote Link to comment Share on other sites More sharing options...
Signum Temporis Posted January 8, 2022 Share Posted January 8, 2022 (edited) How does Meta compare to Red? Red has some "ambitious goals" and nice features. What the advantages of "Meta" over "Red" will be according to You? P.S. Happy New Year. Edited January 8, 2022 by Signum Temporis Quote Link to comment Share on other sites More sharing options...
Kaj de Vos Posted January 8, 2022 Author Share Posted January 8, 2022 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. Quote Link to comment Share on other sites More sharing options...
Kaj de Vos Posted January 25, 2022 Author Share Posted January 25, 2022 I released Meta for Windows, Apple Mac, Linux, FreeBSD, NetBSD & OpenBSD: https://language.metaproject.frl/#get Now you can develop algorithmic code on your PC before you run it on an Atari. Or you can write PC programs in Meta to preprocess data for Atari programs. Quote Link to comment Share on other sites More sharing options...
Kaj de Vos Posted February 14, 2022 Author Share Posted February 14, 2022 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. 1 Quote Link to comment Share on other sites More sharing options...
+MrFish Posted February 14, 2022 Share Posted February 14, 2022 1 hour ago, Kaj de Vos said: I published Mortal Coil, the first graphics & sound demo written in Meta: https://language.metaproject.frl/programs/ Is there a compiled version of it available? Quote Link to comment Share on other sites More sharing options...
Kaj de Vos Posted February 14, 2022 Author Share Posted February 14, 2022 Not yet, you can download a binary version with the compile.com program: https://language.metaproject.frl/#get Quote Link to comment Share on other sites More sharing options...
+MrFish Posted February 14, 2022 Share Posted February 14, 2022 23 minutes ago, Kaj de Vos said: Not yet, you can download a binary version with the compile.com program: https://language.metaproject.frl/#get I think you mean "compile" here. Here's the compiled version. Mortal Coil.xex Quote Link to comment Share on other sites More sharing options...
Kaj de Vos Posted February 14, 2022 Author Share Posted February 14, 2022 Thanks. The result was downloaded. Quote Link to comment Share on other sites More sharing options...
+MrFish Posted February 14, 2022 Share Posted February 14, 2022 2 hours ago, Kaj de Vos said: Thanks. The result was downloaded. Can you be a little more specific (and elaborate)? Quote Link to comment Share on other sites More sharing options...
Kaj de Vos Posted February 15, 2022 Author Share Posted February 15, 2022 compile.com presents as a compiler, but it's actually an up/downloader. See the source code. The actual compiler lives on the server. Quote Link to comment Share on other sites More sharing options...
+MrFish Posted February 18, 2022 Share Posted February 18, 2022 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? Quote Link to comment Share on other sites More sharing options...
Kaj de Vos Posted February 18, 2022 Author Share Posted February 18, 2022 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. Quote Link to comment Share on other sites More sharing options...
+MrFish Posted February 18, 2022 Share Posted February 18, 2022 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. 1 Quote Link to comment Share on other sites More sharing options...
zbyti Posted February 18, 2022 Share Posted February 18, 2022 6 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. Meta not work this way 1 1 Quote Link to comment Share on other sites More sharing options...
Kaj de Vos Posted February 18, 2022 Author Share Posted February 18, 2022 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. Quote Link to comment Share on other sites More sharing options...
Kaj de Vos Posted February 18, 2022 Author Share Posted February 18, 2022 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. 1 Quote Link to comment Share on other sites More sharing options...
ivop Posted February 18, 2022 Share Posted February 18, 2022 1 hour ago, Kaj de Vos said: 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. How about vim syntax highlighting then? Quote Link to comment Share on other sites More sharing options...
+MrFish Posted February 18, 2022 Share Posted February 18, 2022 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... Quote Link to comment Share on other sites More sharing options...
Kaj de Vos Posted February 18, 2022 Author Share Posted February 18, 2022 22 minutes ago, ivop said: How about vim syntax highlighting then? https://github.com/Prosumma/vim-rebol With a good motivation. Quote Link to comment Share on other sites More sharing options...
Kaj de Vos Posted February 18, 2022 Author Share Posted February 18, 2022 Here are more editor options: http://www.rebol.com/editors.html Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.