I’m aware that during the time Yud was writing XML was frequently
abused in similar ways, but just thinking about trying to represent
programming logic with XML makes me nauseous. Why?
At least he recognized how clunky it would be to type it all out, but
his solution is to bolt Python-but-worse onto the language and then
translate that into XML? This is genuinely amazing, I can’t believe I
haven’t seen it before. The docs have bizarre ideas like allowing mp3 files
and HTML in comments???
Well, we’re going to be up-front about this: Flare is really good.
There are concepts in Flare that have never been seen before. We expect
to be able to solve problems in Flare that cannot realistically be
solved in any other language. We expect that people who learn to read
Flare will think about programming differently and solve problems in new
ways, even if they never write a single line of Flare.
>Pepsi's infamous [redesign doc](https://www.goldennumber.net/wp-content/uploads/pepsi-arnell-021109.pdf)
This is amazing. How had I never seen this before?
> We expect to be able to solve problems in Flare that cannot realistically be solved in any other language.
I mean "realistically" is doing a hell of a lot of heavy lifting here, or Yud is just casually rejecting the Church Turing thesis.
Remember, he’s basically untrained and rejects the idea of using prior techniques and knowledge. There’s a damn good chance that he has no idea what that means.
looking at that doc + the Idioms of Flare page, this language has truly fascinating semantics.
- dynamic multiple prototypal inheritance
- atomic reference counting for all objects (but also there's a linked list of referees attached to every object??)
- structured and unstructured concurrency
- setjmp/longjmp (not clear how this interacts with structured concurrency)
- implicit construction of a dynamic context data structure that's threaded through all function calls via thread-locals. (again, not clear how this interacts with structured concurrency)
- Cobol-style PROCEDURE DIVISION declarations, but for every function
it reminds me a lot of modern Javascript or PHP. Lots of poorly-justified features that interact in strange ways. I think it would be a nightmare to program in because other functions could do so much wacky stuff to the implicit context. (Ironic, since the language is supposedly supposed to promote "innocence", which as far as I care to try and understand just means "modularity".)
Honestly of all the implementation choices here I think XML for representing compiler-internal data is one of the more reasonable ones. The user's never supposed to read it, they see python syntax. And XML is actually not a bad choice for an IR serialization format. (Idk why you'd tell your users about it, but then again, it *was* 2001.)
Classic case of a language designed by someone who’s never actually done any serious coding.
Amateurs think that the real thing holding coders back is language features. Pros know that the real issue is opening up a project and saying “Christ, what the fuck is all of this stuff here?” This is why the really powerful languages regularly lose out to like Java and Python.
I'm thinking this doc was something one of cultists came up with at a much later date, just to make it look like there was something to it. There's no way Yudkowsky even knew what atomic operations were in 2001 or even cared.
I distinctly remember older docs being just absolute BS without even the right buzzwords.
Right... so by 2001 he already had SIAI and had someone else involved, some Dmitriy Myshkin. Plus the doc (the goals of flare page) talks in first person about some experience that doesn't seem to match his bio. (Apple 2 programming edit: mac plus apparently). I didn't realize the expansion to have other people involved happened quite that early.
There was a doc before SIAI was a thing, I think on his old website where he also had the premature autobiography.
edit: ahh, hypertalk he mentions wasn't actually anything smalltalk related but a short lived scripting language. Okay, could be him to some extent; still the lack of run on multi paragraph parables (as e.g. in TDT paper) is very unlike him.
I once worked with a guy who wrote the whole frontend of an asset management system in XSLT 1.0. I forget exactly which common operation I had to write a recursive function in XSLT to accomplish. I think it was string concatenation or something stupid like that.
> bizarre ideas like allowing mp3 files and HTML in comments???
This was clearly added to compete with [HolyC](https://en.wikipedia.org/wiki/TempleOS)!
As soon as I saw this I hit google groups search for the terms “Erik Naggum Flare” (he was a fairly well-regarded and feared flamer on both sgml and lisp Usenet back in the day, known for his takedowns of trolls and xml-based mental masturbation) and unfortunately, no direct takedowns. But! [This post](https://groups.google.com/g/comp.ai.philosophy/c/nh-ZgI6xyZ8/m/Cki5VbycnFQJ), with this great paragraph:
> From the Latin word "imponere", base of the obsolete English "impone" and
translated as "impress" in modern English, Nordic hackers have coined the
terms "imponator" (a device that does nothing but impress bystanders,
referred to as the "imponator effect") and "imponade" (that "goo" that
fills you as you get impressed with something -- from "marmelade", often
referred as "full of imponade", always ironic).
It says a lot about Yuds life trajectory, first wanting innocence, then being afraid of malicious AI, and then trying to teach people how to think, and ... well not sure what he is doing now, apart from denying he ever was an ai researcher.
The trajectory started with being paid to make some sort of a trading bot (without delivering), then the programming language, then AI singularity, then being the AI safety guy.
So basically you start with a way over ambitious project (a trading bot that actually outperforms index funds), which isn't bad per se. But when it fails instead of doing something more attainable, hop onto something that he would be even less equipped to do. Again and again until he reached the point where it is not possible to be confronted by reality.
The thing about programming, particularly something as large and complex as a compiler particularly with a lot of silly features, is that it's like cleaning a toilet with a toothpick, with a microscope glued to your face (so you can't even see the whole toilet at once) - it is an extreme amount of man hours to accomplish seemingly very little.
> just thinking about trying to represent programming logic with XML makes me nauseous
I have actually done this, when I had to write actual code in ant.
the curse of accidental Turing completeness.
Flare will be the first annotative programming language. Annotative
programming, if done properly, has the potential to be the successor to
object-oriented programming, in the same way that object-oriented
programming succeeded procedural programming, procedural programming
succeeded assembly language, and assembly language succeeded raw
hexadecimal numbers. (This is a big claim, but it may sound more
plausible after reading Idioms of
Flare.)
Creating the successor de facto programming paradigm that will become
the standard for developing software around the world does sound like a
very lofty goal, that is until you compare it to designing a Friendly AI
system that will save the world and everything in its future light
cone!
EDIT: TBH, I don’t really mind this outside of his hubris (he was
young at that age too so that can get excused as well). At least he’s
trying to actually make something there and failing at it is no reason
to fault him, I applaud it. It’s just, you don’t have to aim for “saving
the world” with every project you attempt brother.
Doesn’t sound that different from declarative programming, instantiated by something like Angular, which has superseded object oriented programming in certain places, and has a similar xml-like syntax. That being said, Angular sucks lol
Cats are hardmode, start with something easer, try ~~toddlers~~ (no wait really bad idea) tech enthusiasts.
E: also don't worry about turning people off, you only need to worry about converting people, if only 1 in 10k people follows you and the others all hate your guts you have a country of potential followers.
My first impression wasn’t that bad – I mean using XML is dumb, but
adding metadata to all objects isn’t a bad idea for 2001 (some form of
annotation is pretty common these days), but reading around the rest of
that site is hilarious. I’m not sure anyone had the faintest inkling of
how to implement half of the features they describe, or even how they
would really work, let alone be efficient enough to be usable.
We’re working on the design and language specification. We hope to
write our first line of code in late August.
…
It would be really hard to code an AI in a non-object-oriented
language and it probably won’t be easy to build AI in a non-annotative
language either. Flare, an extensible language easily modifiable by
Flare programs, will let us write more powerful tools, and will let the
AI introspect and tinker with its own source code, without our needing
to become compiler and interpreter specialists.
If there’s no production-quality Flare language by the time the
Singularity Institute begins writing code on the AI project, as seems
likely, then we’ll probably be forced to write pseudo-Flare programs in
Python, at least for the prototype. But we won’t have to like it, and
we’ll still want to switch to Flare as soon as possible.
The Singularity Institute has embarked on a long-term quest to
develop real AI. They don’t want to stop there, either; they want to
develop recursively self-improving AI, Friendly AI, and transhuman AI.
The Singularity - the technological creation of greater-than-human
intelligence - is a quest of such mind-boggling importance and
earthshaking impact that our words cannot even begin to describe it.
(You should go read their website.) Even if you’ve never heard of the
Singularity Institute and you’re getting involved in Flare solely
because you love annotative programming, we still hope that you get a
warm fuzzy feeling from helping to bring about a swifter and safer
Singularity.
Soooo... write something which achieves incredible feats of computation in the slowest major language around, and plan to replace it with a language guaranteed to be even slower?
Hmm.
I’d have to check dates, but PG floated this ridiculous idea that “hackers” subconsciously evaluate languages based on how many letters they have to type, so if you want to make a successful language, things in it have to be short. Maybe that’s where this comes from?
I don’t think the linked document was substantially written by
Yudkowsky. If you go back to the homepage a lot of other people are
listed, plus the “goals of flare” talks in first person about
programming on apple 2 (edit: mac plus) and such which doesn’t seem to
match the ‘autobiography’. As silly as it is I don’t think its him.
Edit: or if it is him, unedited, then what the hell happened?
Choosing the life of grift rots the mind, apparently.
His original TDT “paper” or the sequences are a good example of his
style; he writes with parables and analogies.
Yudkowsky had some other writings about flare at some earlier point,
which did read like him.
Flare was intended as the foundation of a new, AI sector of the IT
industry, where AI would not mean (as it does today) machine learning,
but rather programs more akin to Mitchell and Hofstadter’s Copycat,
intended to engage in creativity and analogy-making, and which would
apply those capabilities to their own re-design. One attraction of using
XML to represent program elements and objects, as I understand it, is
that it would facilitate this last process.
>One attraction of using XML to represent program elements and objects, as I understand it, is that it would facilitate this last process.
yeah but how tho
[http://flarelang.sourceforge.net/goals.html#introspection\_self](http://flarelang.sourceforge.net/goals.html#introspection_self) gives a few reasons - a tree is more robust against modification than a list (the comparison being with LISP); more facts about the code are stored explicitly; and it's easy to add new ones as they are discovered.
Virtually every compiler builds an AST, or at least traverses one as it goes (if we are talking of very old one pass compilers).
Keeping one in XML, well that's a low level implementation choice; this kind of confusion between a high level concept (AST) and a low level representation (XML) is what you get when you learn the high level concept by the way of exposure to one specific instance of such.
Generally if you need to store an AST you would choose a more optimized representation because you don't want longer compilation times for large codebases.
I’m aware that during the time Yud was writing XML was frequently abused in similar ways, but just thinking about trying to represent programming logic with XML makes me nauseous. Why?
At least he recognized how clunky it would be to type it all out, but his solution is to bolt Python-but-worse onto the language and then translate that into XML? This is genuinely amazing, I can’t believe I haven’t seen it before. The docs have bizarre ideas like allowing mp3 files and HTML in comments???
EDIT: Goals of Flare probably displays peak Yud best. It reminds me of Pepsi’s infamous redesign doc.
Creating the successor de facto programming paradigm that will become the standard for developing software around the world does sound like a very lofty goal, that is until you compare it to designing a Friendly AI system that will save the world and everything in its future light cone!
EDIT: TBH, I don’t really mind this outside of his hubris (he was young at that age too so that can get excused as well). At least he’s trying to actually make something there and failing at it is no reason to fault him, I applaud it. It’s just, you don’t have to aim for “saving the world” with every project you attempt brother.
lol OF COURSE he likes xml
presumably xslt was involved too
Good to know that he’s deeply incompetent in every way and not just philosophy.
I would at least have the self reflection to take that shit down when I realized how idiotic it was
My first impression wasn’t that bad – I mean using XML is dumb, but adding metadata to all objects isn’t a bad idea for 2001 (some form of annotation is pretty common these days), but reading around the rest of that site is hilarious. I’m not sure anyone had the faintest inkling of how to implement half of the features they describe, or even how they would really work, let alone be efficient enough to be usable.
social status = 19
Please post this to r/programmingcirclejerk.
…
cool
The big question is: has anybody used it for blockchains/cryptocurrency/smart contracts yet?
[deleted]
I don’t think the linked document was substantially written by Yudkowsky. If you go back to the homepage a lot of other people are listed, plus the “goals of flare” talks in first person about programming on apple 2 (edit: mac plus) and such which doesn’t seem to match the ‘autobiography’. As silly as it is I don’t think its him.
Edit: or if it is him, unedited, then what the hell happened? Choosing the life of grift rots the mind, apparently.
His original TDT “paper” or the sequences are a good example of his style; he writes with parables and analogies.
Yudkowsky had some other writings about flare at some earlier point, which did read like him.
Ah the 2001s. I remember people being all hype about XML and then finally learning what it was and going ‘wait this is it?’.
This looks fine to me. People in 2040 will hopefully make fun of us for using YAML.
Representing an AST in a tree-based language like XML is fine. It wasn’t meant for humans to write anyway.
Flare was intended as the foundation of a new, AI sector of the IT industry, where AI would not mean (as it does today) machine learning, but rather programs more akin to Mitchell and Hofstadter’s Copycat, intended to engage in creativity and analogy-making, and which would apply those capabilities to their own re-design. One attraction of using XML to represent program elements and objects, as I understand it, is that it would facilitate this last process.