Wow that webpage is painful: a single super wide column with giant meme images that take up more than a screen. And it's so important to define the Atari 2600 that they give it room on the...
Wow that webpage is painful: a single super wide column with giant meme images that take up more than a screen. And it's so important to define the Atari 2600 that they give it room on the homepage. Meanwhile examples of the actual language are buried two clicks deep.
Something can't be an improvement or innovative without being different. On the other hand, if you are curious and of good will and make an effort to understand what we are saying, you will find a lot to enjoy and use. You must be willing to have your thinking changed by Meta.
Ya... I have a very different understanding of "human-friendly" than the author.
From here: This seems odd - is this a pattern seen elsewhere/in other projects? I haven't dug very deep, but I have yet to find details around what exactly are the tools involved in compilation.
Your program text is sent to our free Meta build service over an encrypted connection, where it is compiled to an executable program. The Meta compiler is a combination of toolchains that is complex to install and maintain. This way, you don't have to do that on your systems.
This seems odd - is this a pattern seen elsewhere/in other projects? I haven't dug very deep, but I have yet to find details around what exactly are the tools involved in compilation.
I missed the bit in my brief read through about off-machine compilation. That’s a full nonstarter for me. I was already wibbly wobbly at “we need a language in common for AI and humans” and that...
I missed the bit in my brief read through about off-machine compilation. That’s a full nonstarter for me. I was already wibbly wobbly at “we need a language in common for AI and humans” and that their answer seems to be for humans to once again learn to speak some kind of computerese.
Edit to add: HyperTalk was the best “my mind to your interpreter, my thoughts to your source code” implementation I’ve used to date.
It seems like making a Docker file would be a more reasonable workaround for a complex toolchain that’s hard to install, at least until the installation process is sorted out better.
It seems like making a Docker file would be a more reasonable workaround for a complex toolchain that’s hard to install, at least until the installation process is sorted out better.
I like the concept, but this is surprisingly one of the harder simple languages I have ever read the source of. Some good ideas in there, but some choices that are rough....
I like the concept, but this is surprisingly one of the harder simple languages I have ever read the source of. Some good ideas in there, but some choices that are rough.
I feel like the concept seems a bit misguided. The main selling point and “goal” is to be more “human oriented”, but all the things that it does to do that would make it harder for beginners to...
I feel like the concept seems a bit misguided. The main selling point and “goal” is to be more “human oriented”, but all the things that it does to do that would make it harder for beginners to learn, not easier.
Having a limited amount of keywords is helpful to beginners. Letting everything be redefinable is interesting in an academic sense à la “lisp: everything is data”, but just makes code more confusing and harder to read as a human, because now the context of the rest of the codebase is required to make sense of any syntax. Print could send something to stdout, or the author redefined it to access the printer API somewhere earlier. Great.
I wanted to share this because I found it incredibly strange and interesting. I actually found it while looking into something I hadn't seen in forever, a defunct open source operating system...
I wanted to share this because I found it incredibly strange and interesting. I actually found it while looking into something I hadn't seen in forever, a defunct open source operating system called Syllable Desktop which was based on the earlier, also-defunct AtheOS. It looks like development has spun up again, for some reason. But the person behind it also is making this rather unusual programming language.
Meta is still in early stages and probably isn't terribly useful to most people, but it's built upon some very interesting opinions. One of the things they did to jump-start interest was to target the Atari 8-bit computer systems as well as the 2600, and apperantly many of the people working on it are from those communities. But the thing I find much more interesting is that it considers itself to be a successor to Rebol, in which it is written. And Rebol itself is kind of crazy.
Yeah, I had never heard of Rebol, but reading through the description is like finding yourself in an anarchist utopia, where there are no explicit rules, but rather unspoken ones that, when broken...
Yeah, I had never heard of Rebol, but reading through the description is like finding yourself in an anarchist utopia, where there are no explicit rules, but rather unspoken ones that, when broken lead to terrible consequences.
"What reserved words do you have here? Who's in charge?"
"REBOL has no keywords; there are no restrictions on what words are used or how they are used. For instance, you can define your own function called print and use it instead of the predefined function for printing values."
"Wait, what? Then how do you control flow?"
We have conditional evaluation. "The if function takes two arguments. … The either function extends if to include a third argument. … The most commonly made mistake in REBOL is to forget the second block on either or add a second block to if. These both create hard-to-find errors."
"That's crazy! Why would anyone choose to live like this?"
"Here is a single-line program that opens a graphical user interface for sending an email written in 130 characters.
Some interesting things there but it lost me here: Also, today I learned about the "daytime" protocol
Some interesting things there but it lost me here:
In REBOL there are no special operator precedence rules for evaluating blocks. The values and words of a block are always evaluated from first to last, as shown in the following example:
Like 15 years ago I was working on a low-powered embedded Linux system, we thought we wanted to add support for date and time synchronization but the processes for adding packages to the system...
Like 15 years ago I was working on a low-powered embedded Linux system, we thought we wanted to add support for date and time synchronization but the processes for adding packages to the system were byzantine, so rather than go through that to get an ntp client I mooted writing a little shell script to get time sync using daylight protocol. We didn't go that route but I still think it would have been fun and worked pretty well.
To be fair, that's just a matter of having an extensive standard library, not really much to do with the language itself. Wolfram Mathematica lets you publicly host a website for running quantum...
Here is a single-line program that opens a graphical user interface for sending an email written in 130 characters
To be fair, that's just a matter of having an extensive standard library, not really much to do with the language itself.
Wolfram Mathematica lets you publicly host a website for running quantum computer simulations on temperatures in different countries and plotting them on a map, all in like one or two lines of code. It's impressive, but also, doesn't mean that much when it's stdlib is 10 GiB.
Rebol reminds me a lot of Forth. I doubt many people remember Forth much nowadays? It’s sort of like if you wanted an interpreted language that’s as flexible as Lisp, but you need it to run fast...
Rebol reminds me a lot of Forth. I doubt many people remember Forth much nowadays? It’s sort of like if you wanted an interpreted language that’s as flexible as Lisp, but you need it to run fast (for an interpreter) on an embedded system with very little memory, and you’re willing to put up with weird syntax and no memory protection to get it.
It’s generally considered a write-only language in that these systems tend to make a lot of sense to the author, but not so much to anyone else. Forth programmers would often learn the basic concepts and then write everything themselves, sometimes including their own Forth interpreters.
Nowadays it’s more important that other people (and LLM’s) can read your code and that there are plenty of libraries to reuse, which tends to discourage going down the hermit path.
I think it’s interesting that they think a language built with Rebol style dialects as a first class feature will be friendly to AI coding agents. That sounds like a total nightmare scenario for...
I think it’s interesting that they think a language built with Rebol style dialects as a first class feature will be friendly to AI coding agents.
An example of Rebol's dialecting abilities can be seen with the word return. In the data exchange dialect return is just a word not having any specific meaning. In the do dialect, return is a global variable referring to a native function passing back a function result value. In the visual interface dialect (VID), return is a keyword causing the layout engine to simulate a carriage return, moving the "rendering pen" down to the beginning of the next line.
That sounds like a total nightmare scenario for an LLM. The token overloading will be enormous, and then any user can redefine a builtin keyword to mean something else, and they encourage doing this?
Wow that webpage is painful: a single super wide column with giant meme images that take up more than a screen. And it's so important to define the Atari 2600 that they give it room on the homepage. Meanwhile examples of the actual language are buried two clicks deep.
Ya... I have a very different understanding of "human-friendly" than the author.
From here:
This seems odd - is this a pattern seen elsewhere/in other projects? I haven't dug very deep, but I have yet to find details around what exactly are the tools involved in compilation.
I missed the bit in my brief read through about off-machine compilation. That’s a full nonstarter for me. I was already wibbly wobbly at “we need a language in common for AI and humans” and that their answer seems to be for humans to once again learn to speak some kind of computerese.
Edit to add: HyperTalk was the best “my mind to your interpreter, my thoughts to your source code” implementation I’ve used to date.
It seems like making a Docker file would be a more reasonable workaround for a complex toolchain that’s hard to install, at least until the installation process is sorted out better.
I like the concept, but this is surprisingly one of the harder simple languages I have ever read the source of. Some good ideas in there, but some choices that are rough.
https://language.metaproject.frl/examples/
I feel like the concept seems a bit misguided. The main selling point and “goal” is to be more “human oriented”, but all the things that it does to do that would make it harder for beginners to learn, not easier.
Having a limited amount of keywords is helpful to beginners. Letting everything be redefinable is interesting in an academic sense à la “lisp: everything is data”, but just makes code more confusing and harder to read as a human, because now the context of the rest of the codebase is required to make sense of any syntax. Print could send something to stdout, or the author redefined it to access the printer API somewhere earlier. Great.
I wanted to share this because I found it incredibly strange and interesting. I actually found it while looking into something I hadn't seen in forever, a defunct open source operating system called Syllable Desktop which was based on the earlier, also-defunct AtheOS. It looks like development has spun up again, for some reason. But the person behind it also is making this rather unusual programming language.
Meta is still in early stages and probably isn't terribly useful to most people, but it's built upon some very interesting opinions. One of the things they did to jump-start interest was to target the Atari 8-bit computer systems as well as the 2600, and apperantly many of the people working on it are from those communities. But the thing I find much more interesting is that it considers itself to be a successor to Rebol, in which it is written. And Rebol itself is kind of crazy.
Yeah, I had never heard of Rebol, but reading through the description is like finding yourself in an anarchist utopia, where there are no explicit rules, but rather unspoken ones that, when broken lead to terrible consequences.
"What reserved words do you have here? Who's in charge?"
"Wait, what? Then how do you control flow?"
"That's crazy! Why would anyone choose to live like this?"
"How can I join?"
Some interesting things there but it lost me here:
Also, today I learned about the "daytime" protocol
Like 15 years ago I was working on a low-powered embedded Linux system, we thought we wanted to add support for date and time synchronization but the processes for adding packages to the system were byzantine, so rather than go through that to get an ntp client I mooted writing a little shell script to get time sync using daylight protocol. We didn't go that route but I still think it would have been fun and worked pretty well.
To be fair, that's just a matter of having an extensive standard library, not really much to do with the language itself.
Wolfram Mathematica lets you publicly host a website for running quantum computer simulations on temperatures in different countries and plotting them on a map, all in like one or two lines of code. It's impressive, but also, doesn't mean that much when it's stdlib is 10 GiB.
Rebol reminds me a lot of Forth. I doubt many people remember Forth much nowadays? It’s sort of like if you wanted an interpreted language that’s as flexible as Lisp, but you need it to run fast (for an interpreter) on an embedded system with very little memory, and you’re willing to put up with weird syntax and no memory protection to get it.
It’s generally considered a write-only language in that these systems tend to make a lot of sense to the author, but not so much to anyone else. Forth programmers would often learn the basic concepts and then write everything themselves, sometimes including their own Forth interpreters.
Nowadays it’s more important that other people (and LLM’s) can read your code and that there are plenty of libraries to reuse, which tends to discourage going down the hermit path.
I think it’s interesting that they think a language built with Rebol style dialects as a first class feature will be friendly to AI coding agents.
That sounds like a total nightmare scenario for an LLM. The token overloading will be enormous, and then any user can redefine a builtin keyword to mean something else, and they encourage doing this?
Hate the name.
Sounds very interesting, but I don't recommend they call it that!
To be fair, they started this project with this name a few years before Facebook decided to rebrand.