Hacker News new | comments | ask | show | jobs | submit login
Getting started with Readable Human Format (readable.red)
44 points by readabledotred 10 days ago | hide | past | web | favorite | 33 comments





  That's all you need to know as business user except one more 
  thing: if ever your text contains any word containing "Red" 
  (red is ok) you must replace this string by "Red" (in a 
  future evolution, we'll do it for you.)
..but why? I don't know anything about Red or this, but why on earth?

My guess is it's related to Step 2 on their page, "add inline code to generate output or create a build script." The markup for that seems to start with "Red []"

Red [] is the header, It shouldn't behave like this for just Red, I'll raise an issue, so for now you have to be carefull about that though if you don't write tutorials on Red the probability should be low. In the future, I'll make that replacement automatically as I doubt it will be fixed soon if ever the core team will do it.

Oh I forget to say, actually you don't need to replace if you won't run a Red on the html script which I do through what I call html proxy https://redlang.red/html-proxy

I'll update the documentation because it will confuse people.


This is project done in Red and it's a limitation of that project, not of Red language.

A recent HN discussion about the Red language that is helpful if you don't know much about it: https://news.ycombinator.com/item?id=18843544

This is not the same language.

Readable.red:

  “The ReAdABLE Human Format aims at Agile Documentation by
  making WRITING and READING document easier for End User 
  and Developer alike, while allowing a high degree of 
  flexibility.”
red-lang.org:

  “Red’s ambitious goal is to build the world’s first 
  full-stack language, a language you can use from system
  programming tasks, up to high-level scripting through DSL.
  You've probably heard of the term "Full-Stack Developer". 
  But what is a full-stack Language, exactly?”

> a language you can use from system programming tasks, up to high-level scripting through DSL

Swift has this same stated goal. I guess ambition is good, but I really don't understand why you would try to make one tool handle such wildly different use cases. It's like me saying "my handheld electric jigsaw can be used from ripping full plywood sheets, up to cabinetry through luthiery". Well, sure, it can...but it's not actually good at more than one or two of those things.


Why do you think they are different use cases?

The electric jigsaw example seems to illustrate the contrary of what you think it does because as technology advances it actually does make it possible for a tool to cover more use cases effectively. E.g. example an electric jigsaw covers more use cases than a manual hacksaw.

It’s possible to imagine a miniature drone with a high powered cutting laser that is controlled via an AR/VR interface that would be able to do anything from felling trees to cutting your fingernails. Obviously we’re some way off having that technology today.

But by analogy, it seems like we’re in a much better position to make programming languages that cover a broader and broader set of use cases, because we aren’t so constrained by materials science.

Why would you make one programming language to handle all of these cases? Surely there’s an incredibly strong case for that:

1. It makes more use cases accessible with less cognitive load. That’s pretty much the reason we have programming languages at all.

2. Investments in tooling etc. are magnified.


Rust has hygienic macros which one can use to build EDSL's. It's not that hard.

No matter how hygenic the macros are, you'll still end up with the problem of a million different DSLs, five for each codebase. With partial-stack languages, different projects can share the same language for each level of the stack.

Yes it is isn't a language it is a format which uses Red as natural processing engine, like json uses javascript language as its format.

The previous title was referring to Red, which is the same Red that I linked to.

The linked article has never had anything to do with the article you linked to.

The term ‘Red’ is used as a contraction by the ‘Readable Human Format’.

It’s not clear to my why you think the previous title would be referring to a project other than the one that it linked to.


Red is the programming language I linked to. This Readable Human Format is an example of something you can do using the Red language that I linked to. This article on Readable Human Format makes you install the Red language I referred to:

> Install only older version, for windows: https://static.red-lang.org/dl/win/red-063.exe


No. It’s not the same language.

This documentation processor is a different thing, even though it may be produced by the same people.


I think this is a different red language.

No, it is the same. This article says to install from red-lang.org (which is what my link discusses).

and I still don't get what's so special about it compared to the bunch of other embeddable languages (Lua, Tcl/Tk (which is 16MB in a batteries included package, mature, and shows why building a platform independent GUI into your language just doesn't age well)

I'm language agnostic, I don't care much about them, I just wants to get things done. Red have features that ease things like its unique parse engine https://redlang.red/parse-html which avoid regex headache (recently javascript recognized the problem and tried to add methods to ease parsing it's far from being as elegant as red. I don't remember the research paper from which Carl Sessenrath inspired fromn but it is clearly closer to natural language processing, though still not close enough in my opinion so I'm working on making a dialect that would almost feel the gap and allows anybody to create its own AI for example ;)

So at this stage for me, Red being in alpha stage (not even 1.0. yet and roadmap goes up to 2), you cannot use it like you would use nodejs. Tcp/ip has just being implemented, I hope to have something like async nodejs https server and an independant framework similar to express instead of full blown monolitic server but I don't know what the future will be.

But it is very usable for meta-programming stuff. readable.red is only one brick, I have other projects which will use red to generate code easily in other programming languages in much more friendly way that traditional DSL made for PHD people only ;)


And what I present today about readable.red is just the core, I have many ideas in the tube for it, like adding many other tags for mindmapping & timeline (because I just need them) and since I cannot do all, I'll intend to create a plugin architecture for others to implement more amazing stuffs than me.

Oh yeah, let's write a parser for html, because regex is too hard https://blog.codinghorror.com/parsing-html-the-cthulhu-way/

Red is not about writing a parser for html, it's about creating DSL. As Brian Kernighan: said "Domain Specific Languages are smaller and simpler than mainstream general purpose #programming languages. That's pretty raisonnable. Thinking of building the next version of C++ not so reasonnable." https://www.youtube.com/watch?v=Sg4U4r_AgJU

16MB is >10x more than Red (batteries included) and also Red takes different approach to GUI - it's platform independent but with OS widgets - so it ages with OS, unlike custom solution.

However, GUI is not the main point of Red, just a part of it. IMO the really special thing is it's ability to create and use dialects (DSLs) very easily, so the 1 MB package can handle tasks from device drivers, through GUI, to natural language processing, with specialized dialects (DSLs).


Unfortunately at the moment Red does not really include a lot of batteries (take a look at IO in their documentation)... Also what's the point of a platform-independent GUI-toolkit if you have to abstract a multitude of different OS-provided-libraries, when you could just use the library as is (which itself is an abstraction over the basic OS-rendering-primitives)?

Also could you elaborate what's so special about an DSL if all of these are locked into a specific syntax (or does the almighty red also include some super-easy grammar-description tools?)


I love the Red language. I think this is an interesting experiment – and I’m not trying to be mean here – I found the page difficult to read. But I hope the OT continues on this path.

Yeah same, I find `ReAdABLE` unpleasant to read.

I've been working on something loosely related as a side project. It's a turing-complete lisp DSL that's made for generating HTML and CSS. Kind of like a scripting language that was made for the sole purpose of CGI scripts.

I like the priddy colors on black background, it makes me feel hacky while I'm learning a new way to do hack stuff.

> What you can do with Red language

The actual title is "Getting started with ReAdable Human Format".


And apparently this is some kind of Red-based markup language. So it's technically something you can do with Red. Still not that exciting.

I didn't do it for being exciting, I did it for being usefull like for documentation which is a nightmare in big corps projects where they invest dozens of millions euros each which 50% are wasted to wander though code trying to trace back to business requirements ;)

Yeah? I'm just not quite sure how putting HTML-code into blocks is really disrupting this market. Tell me, what your thing can do, what you can't do with a run-of-the-mill templating library/processor and a json for input? It's just not clear, which usecase this solves – there's a ton of mature, stable and feature-ladden options if you want to document code and even more if you want to create human-readable documents with a logical structure (even without resorting to writing all the content in HTML). And most of this solutions even allow you to extend their domain-specific language with your own code, take a look at LuaTEX, pandoc, ...



Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: