Archived messages from: gitter.im/red/docs from year: 2019

toomasv
19:50In red-by-example parse chapter [2.5. Remove, Insert, Change](http://www.red-by-example.org/parse.html#16) examples include in: set-word, which will effectively kill the console. E.g. in: "XXX-------". I suggest changing in: there to e.g. inp: or some other (set-)word that is not disturbing the system.
greggirwin
20:24@toomasv +1
mikeparr
22:15@toomasv thanks re parse - I will update, but not immediately.
loziniak
22:28@Arie-vw @GiuseppeChillemi I've spotted a mistake in Red-By-Example site, I missed a lot a *pull request* possibility that https://github.com/red/docs repo gives to me. Trusted users can have a direct commit/push rights and all other people could still contribute by making a pull request.
22:29@GiuseppeChillemi if somebody wants features they have to pay in Professional version of red, they can always fork and implement them by themselves.

greggirwin
01:56@gltewalt would you look at §6.1, the first set of text alignment keywords, and think about how best to note that the textdoesn't support them all, per https://github.com/red/red/issues/2735. Thanks.
gltewalt
01:59Does text face only support left and right?
GiuseppeChillemi
02:10@loziniak Despite the fact I can afford a professional version of RED, I can tell you 1) my company in now investing only in open source software for hundred of reasons, so I prefer donating and funding only open features 2) I have always seen closed REBOL SDK/Command as an obstacle to wide adoption. People tend to give back in some way what they receive (if they have used it ).
02:10(Let's move to chit chat)
greggirwin
04:06@gltewalt I believe all horz alignments work, but not vertical. If someone can confirm on Mac, that would be great.
view [
	style text: text 100x100 black yellow
	text left "left"
	text center "center"
	text right "right"
	text top "top"
	text middle "middle"
	text bottom "bottom"
]

cookyzed
04:42There is a request-http method in runtime/simple-io, how can I use it in my code?
endo64
06:04@cookyzed Why do you need it? read and write should be enough for simple HTTP operations.
06:04Better to move /help room.
cookyzed
11:32@endo64 Thanks! I'm new to Red, wondering how to use it to make calls to HTTP APIs.
rebolek
11:35@cookyzed I guess you want to know how to do POST request, right?
cookyzed
11:36@rebolek yeah
rebolek
11:37@cookyzed write/info http://server [POST data-here]
11:38Or you can use my send-request function that tries to make this stuff easier https://github.com/rebolek/red-tools/blob/master/http-tools.red#L181
cookyzed
13:28@rebolek I'll try it. Thanks a lot!
rebolek
13:29@cookyzed You're welcome! There are some REST APIs in that repo that use this function, so you can take a look at them and if you have any questions, feel free to ask.
endo64
14:51@cookyzed Also look at https://github.com/red/red/wiki/%5BDOC%5D-Guru-Meditations#how-to-make-http-requests
Welcome to the Red community! Feel free to ask your questions! (but not in /docs room, /help or /welcome is better suilted :) )

meijeru
12:22Is the following difference between Red and R2 noted anywhere? NB R3 is like Red.
R2:
>> select/skip [a 1 2 b 3 4] 'b 3
== [3 4]
R3 & Red:
>> select/skip [a 1 2 b 3 4] 'b 3
== 3

endo64
12:57I remember that this has been discussed before, but it is not noted in the wiki.
meijeru
13:08Another tricky one (you can see that I am converting an old Rebol program -- it makes a very interesting experience)
R2:
>> - 5
== -5
R3 & Red:
>> - 5
*** Script Error: - operator is missing an argument
;; use negate for unary minus
rebolek
13:11I like R3/Red behaviour better.
endo64
13:39Yes it should be an error. Does it also work inside a script or just on console?
rebolek
13:47Inside a script also. If you mean R2.
13:48It's exception just for -, other op!s throw an error.
greggirwin
20:21For select, I remember chat, too, but not where it was. The new behavior is more consistent, and matches the doc string better, though I wouldn't say it's more useful. The catch, of course, is that I didn't use that behavior very often in R2. It's usefulness comes at a cost.
endo64
21:41I remember that Carl said that when using /part in select it switches to records mode so what you select is the record (a block of values) instead of a single value in the block.
>> select/skip [1 2 3 4 5 6] 1 3
== [2 3]

Here the block [1 2 3 4 5 6] treated as [1 [2 3] 4 [5 6]], so select can return only [2 3] or [5 6] by selecting 1 or 4 (others will return none)
And of course it returns a copy of the part of the block, not a position.
From that point of view it makes more sense.
22:43Also added to https://github.com/red/red/wiki/%5BDOC%5D-Differences-between-Red-and-Rebol#select-skip

GiuseppeChillemi
21:45Note: [Programming RED](http://programming.red) will be read only for some time. I am structuring it.

meijeru
13:18I am using the text-list face for displaying formatted source text, rather than using area. The precise reasons for this are immaterial, but I found out that the text-list face ignores tabs when displaying the items in the data facet. They are not even replaced by spaces, but simply suppressed. This is missing in the GUI documentation.
endo64
22:00@meijeru Could it be ignored by the OS? I saw some texts on internet that Windows listbox control doesn't keep and simply ignores tab character (or any other control chars).
meijeru
23:04@qtxie could probably inform us. If it is OS-related, it still could be mentioned in the docs.
endo64
23:07> it still could be mentioned in the docs.

Agreed.

qtxie
00:22It is ignored by Windows listbox control. I need to check how macOS and GTK handle it.

greggirwin
05:47That will be good to know, as using a text list for columnar data is a well known use case.

mikeparr
13:20Red-By-Example: I've taken it over from Arie, who is not well. We both think it would be worthwhile to convert it into a wiki, to make it more open. Any suggestions?

endo64
23:03@mikeparr I like it's current form, one page, easy to use, well categorized.
If we convert it to a wiki, I would like to keep those features.
What about adding it's whole content into one page under Red's wiki? https://github.com/red/red/wiki
23:08And I hope Arie will get better soon.

mikeparr
14:45@endo64 - yes, agreed abut the one-page thing. Would the use of the github/red site be allowed? (Because the RBE stuff is unofficial.)
endo64
15:01@mikeparr How currently RBE content organized? It looks like you are generating the whole content from something (Red/Rebol block?). In that case converting it to wiki is not difficult but editing wiki won't be as easy as its current form.

Red's wiki page can be edited by community, so no worries about being unofficial, we can also ask @greggirwin to add RBE in the right-side-bar, or we might replace the current Examples page (https://github.com/red/red/wiki/Examples) with RBE, as current one doesn't have much use.
mikeparr
16:28@endo64 Currently, there are a lot of text files, one per word. Arie's Red program generates an index and html. Ideally I would want 'proper' wiki - separate files - for ease of editing - as you say - but would also generate the big page as well.

greggirwin
23:32First, @mikeparr, thanks for taking it over. I also hope @Arie-vw gets better soon.

I'm not sure about adding it to the github wiki. A big issue there is that wikis are hard to organize and search, and github's wiki has caused us some pain the past. Wikis are good for getting contributions though.

Let me think on it.

dander
21:25An in-between option could be to expose the sources in a Git repo, so that people could make PRs to it. The page generation could be hooked up with CI stuff. Probably easier that migrating everything to a wiki format, but a little more friction to contributors. I've really appreciated having this great resource, and used it many times, so thanks for all your work @Arie-vw and @mikeparr, and I hope Arie feels better

topcheese
12:11What would be nice is getting access to some of the older Rebol books and documentation so they can be updated. That helps me to learn by troubleshooting old code. Are any of you aware of resources available, or should there be one set up?
9214
12:37@topcheese books and documentation are written by people, so you should at the very least gain their consent regarding modifications and updates, since it is their intellectual property. All official Rebol documentation belongs to Carl and RT, and I don't recall him endorsing its copying or even updating.

We have a [wiki page](https://github.com/red/red/wiki/[LINKS]-Learning-resources) with learning resources, all Rebol books there are freely available. If you want to help on docs side, read [REP-0003](https://github.com/red/REP/blob/master/REPs/rep-0003.adoc) and figure out which part of it matches your skills and interests, then cooperate with other contributors. But I'd suggest to learn the actual language first, before trying to educate others - happily, we have enough tutorials and active community members to help you with that.
mikeparr
14:59'There is also a published book on Red listed there, by Ivo Balbaert
topcheese
15:03@9214 I think I said educate myself, but I was just seeing if any those people were around. Thanks for the excellent resources. I have the Red book, and those links will make the perfect resource for me!
9214
15:31@topcheese sorry, I've got an impression that you want to port / update content of Rebol books and documentation to Red and learn something in the process. Nevermind.
burque505
16:48The link [Red/System Implementation Todo-list](https://github.com/dockimbel/Red/wiki) on [the Documentation page](https://www.red-lang.org/p/documentation.html) gets forwarded to [the wiki](https://github.com/red/red/wiki). Might it be worth renaming the link?
Regards, burque505
9214
16:51Red/System spec already has section with possible features. There's also a [wish list](https://github.com/red/red/wiki/%5BNOTES%5D-Red-System-v2-Wish-List) for R/S v2.
burque505
19:08@9214, actually I meant renaming Red/System Implementation Todo-list to Wiki, since that's where it points.
9214
20:11@burque505 I don't follow - this link is obsolete and should either be changed to point to a wish list or removed entirely. And there already exists a link to Red wiki on this page.
burque505
21:04@9214: agreed. Point it to a wish list (presumably that was the link that now gets forwarded) or remove it.
9214
21:50@greggirwin :point_up:

topcheese
06:05@9214 Well yes more or less, so thanks for correcting me. I was thinking of something informal on a wiki page, but you're right I would have to get in touch with the original authors. I also need to finish the book that I have, and worry about contributing later.
9214
10:16@topcheese something like [this](https://github.com/red/red/wiki/%5BDOC%5D-REBOL-Core-Users-Guide-__-A-walkthrough-with-Red)?
CoteGerard2_twitter
14:40Just a drop to pinpoint some minor change to do to the official Red-lang website Getting started page (https://www.red-lang.org/p/getting-started.html).

There is a broken link (marked as View "reference documentation") on the last line above the entitled paragraph "Compiling a Hello World" . It is now pointing to : https://doc.red-lang.org/gui/View.html but is supposed to point to the official View reference documentation, which seems having been reorganised since the original making of the post. The new link should be written as : https://doc.red-lang.org/en/view.html. Thanks for the follow-up.
greggirwin
16:19@x8x, can you look at the docs page on red-lang.org? Should be an easy fix.

x8x
20:11@CoteGerard2_twitter Thanks for the detailed description, link updated!

topcheese
19:37@9214 Yes exactly! That already looks nice, but I'm not quite there yet. I was also under the impression from reading articles that Rebol was dead, but it seems to still be alive and thriving. I still have a lot to learn, and you were right. Thanks for calling me out AND for pointing me in the right direction.
Respectech
19:50@topcheese Yes, Rebol in its many forms is still quite alive and well. I call it my "secret weapon." I own two successful businesses that greatly benefit from automation provided by Rebol2/3/Red and hopefully Ren-C soon.
19:50http://respectech.com and http://ameridroid.com
rebolek
20:24Ren-C's problem is that it's changing too much. You can't be sure if a feature introduced today won't be removed tomorrow.
Respectech
20:38@rebolek Yes, and by HostileFork's own admission, he doesn't create products and doesn't publish release schedules. I'm looking into Ren-C running locally within the browser with DOM control (like JS does currently), but I've been warned against it by the Ren-C folks until some later date. The progress so far is pretty cool, though. (I'd like to move this to red/chat, but I don't see a group for that.)
rebolek
20:40@Respectech there's chit-chat group

topcheese
11:28@Respectech That's good to hear, and thanks for sharing. I just watched a video on the Amiga OS a couple of weeks ago, so I was really excited when I ran into Rebol and found out Carl Sassenrath created it. Now it's kind of hard looking at other languages.
Respectech
17:04@topcheese My wife and I owned one of the largest Amiga mail order stores in the US from 1994-1997, and then I worked for Carl from 1998-2001 at Rebol Technologies in the Quality Assurance and Technical Support departments. All his children (3) worked for us at one point or another, and his wife worked as our Office Manager from 2010-2018. I still see Carl several times a year, but he now lives about 5 hours from us (by car) in the more free state of Nevada.
topcheese
21:40@Respectech That's awesome you got to work with him and his family. The Amiga was a winner, and it's too bad it wasn't more successful, but I did notice the OS still seems to be going strong. I can't help but feel honored being in the company of such great minds at work. I see that Red has a very interesting and solid history. Thanks for sharing!

nedzadarek
15:50If someone want to translate documentations (e.g. [this](https://doc.red-lang.org/en/datatypes/error.html)) how s/he should do it? Fork [the repository](https://github.com/red/docs/) and add a directory with [country code](https://abbreviations.yourdictionary.com/articles/country-abbreviations.html) (+ files from other language)?
I can see [gitbook](https://www.gitbook.com/). Should I use it (any information how it would work with the Red's documenations would be helpful).
Or is there an another way?
rebolek
15:57@nedzadarek @Tovim is the best person to ask, he did first translation to Czech.
nedzadarek
16:23@rebolek thank you - I have messaged him.
greggirwin
18:31:+1: Chatting here about it is great, too, and add notes to the wiki, for future reference.
nedzadarek
22:13@greggirwin I have messaged him to post answer here.
Sure, I will add the information to the wiki.
gltewalt
23:04Fork the repository.
Then clone to your computer.
Then make changes to your local copy.
When you’re ready git push to your fork then click to create a Pull Request.

Make sure your local docs are up to date first by pulling from the original repository.
23:06I use VSCode with asciidoc preview plugin
23:07I don’t use any of the VSCode git capabilities, though. I use command line.

greggirwin
06:01Thanks @gltewalt and @nedzadarek.
Tovim
14:10@nedzadarek , sorry for not being present here yesterday. @gltewalt has answered your question instead of me perfectly. Thank you, Greg T.
I would only add, that it could by useful to discuss the intention to translate the Red documentation with somebody at the head of the team in advance.
endo64
16:20Just note that fork/edit/push/pull request is useful for the first time, for subsequent (relatively smaller) edits use GitHub's online editor. Otherwise someone from the team should accept the pull request everytime, and if somebody else is already edited some of the pages you need to pull and merge locally before pushing.
16:22For short, for the first step fork is ok, next continue online.
gltewalt
19:33Gregg has been the one to watch it and accept pull requests
nedzadarek
20:45@gltewalt
> I use VSCode with asciidoc preview plugin

I'm using notepad++ (RedEditor-11) but I haven't found yet asciidoc preview plugin. I have Atom and it seems it have asciidoc preview. So I will find something.

@endo64 so, by using Github's online editor I don't have to be accepted (pull request accept) any more (assuming that I had been accepted once)?

So for each short page like [this](https://doc.red-lang.org/en/datatypes/binary.html) I should just edit -> commit -> push -> pull request.
What about some bigger one like [vid](https://doc.red-lang.org/en/vid.html)? Should/can I create bunch of commits/push and pull request after whole page is translated? Or should I translate some part -> commit -> push -> pull request?
What to do with partial translations -> so I copy English documentation -> rename folder to my country code -> translate some pages. Some pages are in the English & some pages would be in my language. Is this acceptable? Or should my country-directory contain only translated pages?

@gltewalt so I should ask @greggirwin for a permission to translate (to polish)?

ps. is there some list of translator/pages that are being translated to given language? I don't want to translate already-translated-texts.

gltewalt
21:00Country directory should only contain translations
21:01You don’t need permission, he merely oversees Pull Requests.
21:02When you clone the fork to your computer you will be able to see the way directories are laid out, and see the non English directories
21:04I would commit and push as you get each doc translated
21:06Or commit with a message each time you complete a section and then push when the doc is done
21:07Editing online is good for correcting minor mistakes without out going through the whole git process
21:20I’m not aware of any Polish translations
22:20You can message me if you have questions on any of the steps. The way I do it isn’t necessarily ‘the way’ to do it, but I’ve been adding docs for awhile

endo64
13:33> @endo64 so, by using Github's online editor I don't have to be accepted (pull request accept) any more (assuming that I had been accepted once)?

@nedzadarek , Sorry, I was wrong about that comment, I confused with the wiki pages. You can't edit the file directly on GitHub without fork/clone. (Well you can edit online your own fork, not the main red/doc repo as you don't have permission to do that)
You need to fork https://github.com/red/docs repo first, clone locally, copy the en folder to a new one and rename it to 2 letter language code, pl for Polish (http://www.lingoes.net/en/translator/langcode.htm),
Start translating, you can make any number commits locally, and push it to your fork, and make a PR to the main repo. You can make PR after finishing all the translations or for each section separately as Greg suggested.
13:38VS Code also has an extension for previewing Markdown.
greggirwin
16:34Thanks for stepping up @nedzadarek. Translations are always welcome.

gltewalt
02:06 Local gitbook server can come in handy for seeing how things will look online. Useful if you are doing a lot of document writing.

https://gchq.github.io/stroom-docs/dev-guide/gitbook.html
02:07Just make sure you don't accidentally git add the _book/ and node_modules files
toomasv
03:21Sorry if this was suggested already -- it would be good to have HOW-TO with these instructions.
endo64
05:54@toomasv Thanks for reminding, I'll check and add to the wiki.
dander
07:49@gltewalt would it help to add those to .gitignore?
nedzadarek
11:07@gltewalt I haven't used it for a long time so I'll stay away from the Node... I might destroy something by accident.
@endo64 @gltewalt @greggirwin @Tovim well, thank you for the informations!
@endo64 I was going to create a wiki with the instructions but I'm busy... so you might be faster.
13:54@endo64 I have created [the wiki](https://github.com/red/red/wiki/Translations-of-the-documentations)
9214
14:20@endo64 I think it makes more sense to:
* create a readme file in /docs repository
* move list of ongoing translation initiatives to /docs wiki, link to language-specific Gitter rooms that we have and/or active contributors
* additionally mention all resources related to [REP-0003](https://github.com/red/REP/blob/master/REPs/rep-0003.adoc)
14:35I also disagree with pitching of any specific workflow, because it entirely depends on number of translators, degree of their coordination and, well, writing / translating skills. If you are alone and are fluent in English like @gltewalt, it's easier to pull everything locally and work in cave mode; some people collaborate on organizational level (e.g. [red-china](https://github.com/red-china)), others might use draft PRs (Github new feature IIRC) and collect feedback in the process, some might be bi-lingual as well and translate from, say, French to Spanish.
14:42The common baseline is that first PR should cover all official documentation ATM, and all subsequent PRs should address newly added sections.
endo64
16:12Thanks for the inputs @9214
gltewalt
19:13@dander Yes, .gitignore can be used. I was keeping it as simple as possible - The minimum commands that a person will have to use with git command-line are git pull , git add , git commit -m , and git push .
19:24After git clone of course.
dander
19:59@gltewalt What I meant was - would it be beneficial to add it to the main repo, since that way you wouldn't need that caveat for newcomers?
nedzadarek
20:15@9214 @endo64
> The common baseline is that first PR should cover all official documentation ATM, and all subsequent PRs should address newly added sections.

and

> You can make PR after finishing all the translations or for each section separately as Greg suggested.

That confuses me. Would you clarify it?

> I also disagree with pitching of any specific workflow

Then what would you suggest?

endo64
21:23@nedzadarek Currently there are 58 files in the en folder of the main repo, so if you decide to translate into another language you should copy all those files.
Then, if you are alone you can translate them all and then make a PR, or coordinate with the others and make several PRs for each translation (hence there is no specific workflow).
It depends on how many people will work on the translation and how they are communicate.
21:24For example, there are 56 files in fr, 2 files are missing: datatype.adoc and typeset.adoc
21:36@dander Adding those files/folders into .gitignore would be good, but gitbook server is not required to work with, hence they are not added. If you add those files accidentally, PR won't be accepted by the owner.
VSCode's Asciidoc extension could be used as well.
greggirwin
21:56@9214's bullet points are good, especially having a readme there. Let's use the Docs repo for all things docs, but also make sure we have a clear pointer to it somewhere in the main repo, so people know to go there.

I also agree that we don't want to enforce workflow, but we can provide at least enough info, on one way to do it, so people can get started.
endo64
22:17Keeping the list of missing parts of the translations and informing the contributors is another issue. For example Japanese translation have 42 missing files, should we add the missing files from en or keep them missing? Is @koba-yu available to continue his contribution?
greggirwin
22:20It can be nice to have a baseline set of files, but as soon as we add a new one, it's out of date again. I think we can leave them out for now, and maintainers can choose how best to move forward with each language. I don't know if gitbook lets us set a custom 404 result for missing pages, which would be best for users, so they know what's going on.

nedzadarek
09:03@Tovim in the [binary! doc - section 6](https://github.com/red/docs/blob/master/cs/datatypes/binary.adoc#6-komparace) should it be operátory instead of oprátory? I'm not Chech but google translator fixes this for me that way.
rebolek
10:14yes, that is certainly typo

Tovim
12:31Thank you everybody. Has been corrected.

gltewalt
21:26Should readme addition in en be made into a separate top level readme in red/docs?
endo64
21:33I think it was supposed to be in top level readme file, not in en
gltewalt
21:34I can create a top level README, and remove the addition from en
21:35Or edit it and move it from en, as the other languages do not seem to have readme files
endo64
21:36Other langs also have readme files, but they all different, cs already translated your en/readme.adoc file.
21:37ja and fr have completely different readme.adoc files.
21:38I think best would be, remove the part afterHowto for documentation translators, put it into top-level readme in en and cs.
21:38Leave ja and fr as it is.

greggirwin
03:03Merged @gltewalt's changes. Let's see how it looks once it renders.
Tovim
09:55Hi, I´ve just made a pull request with your latest modifications translated. I have not translated the text in TRANSLATION. adoc and did not include it in the cs folder, because whoever wants to translate the english documentation into his own language, he must be comfortable with the english version of "how to".
gltewalt
15:28Yes. Thanks Tovim.
15:34Looks like it hasn’t updated yet @greggirwin
greggirwin
17:02Hmmm. We've had the CI fail before. @x8x, is the change github made to IP addresses possibly affecting this as well?

Intey
20:07Hi. I detect that docs site update recently, and now concrete datatype page inaccessible. Francais is only ok. Where to submit issue?
greggirwin
20:49I commented on your issue. It seems OK here. Can anyone else confirm?
21:26Ah, I see what you mean now, yes, same problem here. Datatype page is fine itself, but not links *from* it.
21:27Looks like we have an extra /datatypes/ segment in the link paths.
Intey
21:29yep, my English can be better =)
greggirwin
21:32Not your fault at all. Context switching too quickly on my part.
gltewalt
21:56I think it’s a bug. It prepends the directory with each click.
Investigating.
22:28Going to have to put all the links back in SUMMARY.
greggirwin
22:52So it's their rendering of the links that goes bad. Grrrrr.
gltewalt
23:33Apparently... any files not linked to from summary do not get rendered to html - which makes gitbook 'bug out' when sub-links are clicked on that are not in summary.
greggirwin
23:37Interesting (and frustrating) limitation. :^\
23:54@gltewalt jumped right on it, and his fix has been merged.

Tovim
14:05@greggirwin (may 07 23:26) ... datatypes page contains no links...
Me seems that this is OK because the selection of particular types can be made in the front page as well.
In conclusion to this fact it is possible to held the existence of the Datatypes page (as it is now) as obsolete -
**unless** the Datatypes page would again contain links to particular datatypes and the front page would contain no such ones.
gltewalt
21:33It will eventually contain an introduction before the list.
Might turn the list into links, but haven’t decided yet.

greggirwin
01:16What if we hack our way around it.Have Datatypes, the heading, as a link to the datatypes page, where it is now. But have a second one at the end of the nav bar, after Coding Style Guide, call it Datatype List or something, and have the individual datatypes there, so they still render, but the long list of them is now out of the way, and not obscuring the GUI and other content. Then the datatypes page has links to the individual pages as well.
gltewalt
04:07Done.
greggirwin
04:11Merged.
Tovim
09:37Great.
It´s nice to have the datatype listing permanently opened when browsing through various types.
It would still be nicer, were the Datatype listing header contractable and expandable in place. I do not know that this is possible in Asciidoc.
The Datatypes page may not need to contain another links to datatypes. Maybe, it would become to this page if it contained some clever introduction to the whole Red datatypes system.
greggirwin
15:29Collapsible sections would be great, but gitbook doesn't support it.

Tovim
15:16From another keg. In the help for as:
>> ? as
USAGE:  AS  type  spec
type       [datatype! block! ...]
...

the datatype! type should not be presented, as there existsts (haven´t found any) no value, which could be to this datatype converted.
greggirwin
19:34
>> as block! quote ()
== []
>> as integer! quote ()
*** Script Error: cannot coerce paren! to integer!
*** Where: as
*** Stack:

Tovim
09:46OK, integer! is not presented as a possible type for as, while datatype! is. Nevetheless:
>> as datatype! quote()
*** Script Error: cannot coerce paren! to datatype!

meijeru
13:13Aren't we confusing levels here? datatype! is a possible type of the first argument to as, which means that any _value_ of type datatype! is allowed, including but not limited to datatype! itself. However, the result may not be defined for every combination of first and second argument type. See the spec document [here](https://github.com/meijeru/red.specs-public/blob/master/specs.adoc#casting-of-values-as).
Tovim
15:03Exactly as it is written [here](https://github.com/meijeru/red.specs-public/blob/master/specs.adoc#casting-of-values-as ): "The type of the second argument should be in the same **group** as the (type of the) first argument."
Type datatype! refers to all existing types. "Not all possible related types have their component values stored in identical fashion."
Had all possible related types of datatype! have their component values stored in identical fashion, there would be enough to declare types of both arguments as datatype! or maybe more consistently as any-type - which is not our case.
greggirwin
17:26> Type datatype! refers to all existing types.

That is not correct. All existing types are *values*, but if you look at a type hierarchy, datatype! is not at the top. See https://github.com/toomasv/red-type-hierarchy/blob/master/Red%20datatypes%20hierarhy.pdf or https://github.com/toomasv/red-type-hierarchy/blob/master/Red%20type%20hierarchy2.pdf

That said, what is your concrete suggestion for improving the problem you see?
Tovim
18:40Just to omit the therm datatype! in the help for **as** (>> ? as).
greggirwin
19:09Can you show exactly what you mean?
19:10That is, mock up the help output with what you think would be better.

Tovim
07:26Well:
>> ? as

USAGE :  AS  type  spec

DESCRIPTION :  Coerce a series into a compatible datype without copying it. AS is a native! value.

TYPE :     [block! paren! any-path! any-string!] "The datatype or example value."
SPEC:      [block! paren! any-path! any-string!] "The series to coerce."

meijeru
15:32This will not work if the first argument is the literal block! for example, because the literal block! is a value of type datatype!. So the typespec of the first argument MUST contain datatype!.
greggirwin
17:50What @meijeru said.

Tovim
13:32When it is true that by literal block has been meant a block, created by using literal syntax then the outcome could by even more interesting:
>> dt: [one 2 "three"]
== [one 2 "three"]
>> type? dt
== block!

 >> as dt string!
*** Script Error: as does not allow datatype! for its spec argument

* dt is a block! in one situation and a datatype! in another
* the as procedure fails because its second argument (string!) is in the error message interpreted as datatype!
14:15As it shows, the target format of the as procedure is not the second but the first argument:
>> as string! dt
*** Script Error: cannot coerce block! to string!

Well, I am taking this into account. Will try to set up a relational table.
rebolek
14:29@Tovim as is for related types. It doesn't do conversion, it just changes representation. So you can change i.e. paren! to block! or string! to tag!, but not block to string!. See any- types.
Tovim
19:01I see, thank you. Nevertheless - back to my "another keg" at May the 10th: I guess that the word datatype! should not be listed as one of possible arguments in the help message for as.
Me seems that this word is often used as a "shebang" in situations, where there is no proper error message at hand as it is in this example:
>> as [any all first]  file!
*** Script Error: as does not allow datatype! for its spec argument

The simple truth is that the arguments are incompatible.
greggirwin
19:10> I guess that the word datatype! should not be listed as one of possible arguments in the help message for as.

But datatypes are allowed as the first argument. In your last example, Red sees that you passed an invalid type, per the function spec, so that's the error message you get. It hasn't gotten to the point of evaluating the function, to see that the types are incompatible, because the function call itself is invalid.
>> as [any all first]  file!
*** Script Error: as does not allow datatype! for its spec argument
*** Where: as
*** Stack:  

>> as block! file!
*** Script Error: as does not allow datatype! for its spec argument
*** Where: as
*** Stack:  

>> as integer! file!
*** Script Error: as does not allow datatype! for its spec argument
*** Where: as
*** Stack:  

>> as 1 ""
*** Script Error: as does not allow integer! for its type argument
*** Where: as
*** Stack:  

>> as integer! ""
*** Script Error: cannot coerce string! to integer!
*** Where: as
*** Stack:

Does that help?
Tovim
19:34Thank you too, your first paragraph is very instructive for me and at the same time it reasserts what I have said concerning the "shebang".
Your examples are illustrations of one comon reason: incompatible arguments.
This doesn´t work too:
>> as datatype! block!
>> as block! datatype!

*** Script Error: as does not allow datatype! for its spec argument
greggirwin
19:42There are cases where values rendered as text are visually indistinguishable (at least until we have mold/all). Datatypes are perhaps the most affected by this, and often trip people up when used with switch.

Tovim
14:42Hi, @gltewalt. I hope it´s you, who commited last changes of the map.adoc file. If that is not true, the following post is intended for somebody else engaged. Well:
* The example at the line 221 doesn´t work:
*** Script Error: remove has no refinement called key
 ```
* Examples in lines 240, 243, 246 produce wrong results:

== true ; not ´b, ´a or ´A
`
My applications are Windows 10 and Red-25may-19.


9214
17:00@Tovim might be a good idea to update your toolchain to the latest release first, and to follow the main branch of development more closely.
greggirwin
19:08@Tovim, @dockimbel updated the map docs, as he had the best knowledge of the new changes. The updates are based on commits in the past couple days. As @9214 said, you are probably just out of date a bit.
Tovim
19:55I am glad the things has been explained. Now I have the latest Red-27may-19 and the remove/key idiom works. Neverthless, differences still exists between the output of the interpreter and the text in the map.adoc file, which I am making the author of the original friendly aware of:
* The command in the line 221 (remove/key m 'b) returns
== #( a: 1   "c" 3   d: 99)

whereas in the text, there is written:
== #(   a: 1)

* Examples in lines 240, 243, 246 produce outputs b, a, A respectively, whereas in the text, there is written'b, 'a, 'A.
greggirwin
20:56Confirmed. The examples need to be corrected. @gltewalt would you take care of that?

20:56Thanks @Tovim! Will get your PR merged shortly as well.
gltewalt
22:40I’ll take a look
23:16@greggirwin PR with fixes sent

nedzadarek
15:54As I'm translating [email doc](https://doc.red-lang.org/en/datatypes/email.html) there is no mention about accessors:
>> system/catalog/accessors/email!
== [user host]

maybe we can add
== Field accessing / accessors (not sure how to name it)

Username:
`` `red
>> e: user1@domain1.com
== user1@domain1.com
>> e/user
== "user1"
`` `

Host value:
`` `red
>> e: user1@domain1.com
== user1@domain1.com
>> e/host
== "domain1.com"
`` `

before == Comparision?
15:55ps. I added space inside 3 backticks so gitter will parse it.
greggirwin
16:16Good catch @nedzadarek. We can model it on date and image, and also need to add a Path Accessors section to pair, time, and event. @gltewalt is quite busy at the moment, but we should probably do the English version first, then translate.
nedzadarek
16:20@greggirwin yes, I meant English version first but as I'm not native speaker I want somebody to check (and/or give opinions).
greggirwin
16:32:+1:

nedzadarek
14:50In the [float doc](https://doc.red-lang.org/en/datatypes/float.html#_conversion):
> to binary! interprets the first 8 bytes as a floating point number.

I'm confused. Why should to binary! return float! (interprets as floating point number). Even if it means "using first 8 bytes" why not just something like this:
> to binary! will use the first 8 bytes
greggirwin
17:51That section could use some cleanup. Converting to and from should be clearer.

The any-list part could remove some prose.

> An any-list! value must contain two numbers. The result will be the first number multiplied with the value of 10 to the power of the truncated second number. first-number * (power 10 second-number)

Could be

> An any-list! value must contain two numbers. The result will be first-number * (10 ** second-number)

The binary example is backwards from the text. It described to float!. And your new text seems better. Beyond that, an example of what happens with truncated data (less than 8 bytes) should either be included, or we should say that's not supported.

gltewalt
18:44Uhhh.... @greggirwin could you make those changes? (I know you’re already very busy)

I added the accessor part for email! but I can’t tend to float soon
greggirwin
18:48I'll make a ticket for it in the docs repo, so we don't forget. First one to get to it wins. :^)
gltewalt
20:06:+1:

mikeparr
08:56I've just updated Red-by-example, with around 200 new entries. Some of the new entries for functions are simply the docstrings (sorry), and the recent version of Red simplified the automation of this. The main index page is even more massive, and mostly I use the brower 'find' to search it. (Actually, I like the single page, but think that it could be split as well.) http://www.red-by-example.org/index.html
rebolek
08:58:+1:
toomasv
10:07:clap:
greggirwin
16:00Thanks @mikeparr !
16:01It's a long page, but loads instantly for me.
dander
17:19Thanks @mikeparr! I like the single page format, and it's a terrific resource for me.

nedzadarek
15:25In the red_docs\docs\en\datatypes\get-word.adoc there is missing *r* in the *retieves* (line 7 after *Abstract*).
ps. I would push that change myself but I've forked the repo and I've pushed some translations already... so it would be mess.

gltewalt
04:06Fixed
04:16@greggirwin The binary example is backward?
04:17
* `to binary!` interprets the first 8 bytes as a floating point number. If there are fewer than 8 bytes, #{00} bytes are prepended.
red
>> to binary! 42.3
== #{4045266666666666}

nedzadarek
17:43thank you
greggirwin
19:06@gltewalt backward meaning that floats should always contain 8 bytes? Or that zero bytes are not prepended?
19:09@dockimbel, should floats convert to char!? I know it's easy, but what is the use case?

nedzadarek
04:51@greggirwin I think he meant "as floating point number" part.

Phryxe
13:14The link from "The source code for the gpio:// scheme can be found there." in latest article shows a 404 error.
13:17There is another dead link to the same file in the end of the article.
endo64
13:19Thanks @Phryxe
Correct URL should be https://github.com/red/red/blob/master/environment/schemes/GPIO.red I'll inform the team.
9214
13:22@Phryxe thanks, fixed. Article was written prior to port-type branch being merged into master.

ralfwenske
03:56In https://doc.red-lang.org/en/preprocessor.html is this example
Red []
#macro pow2: func [n][to integer! n ** 2]
print pow2 10
print pow2 3 + pow2 4 = pow2 5

last line should be:
print [pow2 3 "+" pow2 4 "=" pow2 5]
greggirwin
05:49@gltewalt :point_up:
endo64
06:53@ralfwenske I think not, when you compile your script, the output is as below: (different from running the script in REPL)
D:\test.exe
100
true
06:55And you can see the details by using expand-directives:
Red []
#macro pow2: func [n][to integer! n ** 2]
print pow2 10
print pow2 3 + pow2 4 = pow2 5
probe expand-directives [pow2 3 + pow2 4 = pow2 5]

Output:
100
true
[9 + 16 = 25]
ralfwenske
07:01Thanks @endo64 I start to realise that preprocessing for interpreter doesn’t make that much sense.
(… would be nice though if we could say what runs interpreted runs compiled - and vice versa :) )
endo64
07:12Yes, that is a limitation, but may be change in the future.
2 other points:

You can also see the expanded version of your script by using --show-expanded argument during the compilation, for easier debugging:
Red []
#macro pow2: func [n][to integer! n ** 2]
print pow2 10

Output:
Compiling D:\Projects\Red\red\build\bin\test.red ...
...using libRedRT built on 30-Jul-2019/13:43:21
[
    print 100
]
...compilation time : 29 ms
07:19And you may examine system/lexer/pre-load, default value is none but if you put a function there it will be called during the scanning (on REPL only, no effect on compiled exe)
>> system/lexer/pre-load: func [s] [replace s "*" "+"]
== func [s][replace s "*" "+"]
>> 3 * 5
== 8

It can be used to extend to replace macros on REPL. There are better examples for use of pre-loader from @toomasv and others.
9214
09:05> would be nice though if we could say what runs interpreted runs compiled - and vice versa

Everything wrapped in do [...] is interpreted, the rest is statically compiled. With -e everything is interpreted.
09:09@endo64 I would argue against suggesting pre-load to newcomers (and pretty much everyone else), not until we get a decent reader macros support.

And you don't need compilation with -s, using expand from console is enough for quick experiments.
ralfwenske
09:18Thanks @endo64 @9214 It all is a great learning experience - and I enjoy very much the language (Rebol/Red) plus this great helpful community. Thank you all.

endo64
07:46@9214 You are right, promoting pre-load is not a good idea, I just mention it because @ralfwenske said that he wants to learn & play with different aspects.

meijeru
16:02An interesting feature emerged from discussion of issue #3359: it is allowed to make action and native values. This is basically because the toolchain itself uses make to pre-define all actions and natives, and it was not deemed necessary or useful to forbid this feature after the initialization phase. However, (1) only existing actions and natives can be (re)made, and (2) the function spec has to be suppplied and if you get that wrong, a crash may occur. In "my" spec document, I have added wording to the effect that this is not recommened. Apparently, R3 alllowed it, but R2 did not.
greggirwin
17:56The above link should be https://github.com/red/red/issues/3359
meijeru
20:17Correct. Any comments on the substance?
greggirwin
23:20Nenad's comment on the ticket itself seems sufficient.

meijeru
14:52Something to note somewhere: a comma , is allowed as replacement for the decimal point. Now because floating point numbers starting with a decimal point are allowed, and on the other hand a decimal point is also allowed in a word! value, one has the following possibilities:
>> b: load "a,1" print [mold b type? b]
[a 0.1] block
>> b: load "a.1" print [mold b type? b]
a.1 word

It appears that a number starting with a comma does not need to be separated from a preceding word by whitespace.
9214
15:41@meijeru https://github.com/red/red/issues/3569

meijeru
08:35My point is different from that in the issue quoted: it is about the need for separation...
08:35Also, it is not a bug/issue, just a note worth documenting.
11:12Another gotcha: in order to check if a function refinement has been specified in the call, the function body can do an if but when the refinement carries further arguments, one sometimes sees a check on those directly: if . I could cite various lines in the Red toolchain code. This works most of the time, since optional arguments which are not present in the call are initialized to none. However, when the type of the optional argument is logic! and it IS present in the call as false, this if breaks down.

9214
11:14Are there any functions in Red codebase that use more than single argument for their refinements?
meijeru
11:15Do you mean like func [... /a b c ...] ?
9214
11:16@meijeru yes.
meijeru
11:18That has no bearing on my above remarks. The problem starts when you do, inside the body of the function: if b [... use b ...] instead of if a [ ... use b ...] and a happens to be true i.e. specified, and b happens to be false. Then the first coding idiom is dangerous.
9214
11:26@meijeru my point was - why separation between refinements and their arguments exist in the first place, if, as far as I know, most refinements use only one argument? You can, in theory, just use refinement value itself as an argument.
func [/refinement argument][if refinement [use argument]] ; refinement is just a flag, argument bears the actual value

vs
func [/refinement][if refinement [use refinement]] ; refinement carries the value AND serves as a flag of its presence

Your example is a "desync" of refinement and its argument. In what I described above there's nothing to synchronize in the first place, but... cases where refinement is logic! or none! are still tricky.
11:31What your idiom states is "first check refinement, which is always logic!, then check and use its argument(s), which, by design, may or may not be an actual logic! or none! value(s)".
meijeru
11:33This is an interesting design point. But how would you do this lexically? In order to specify the expression which is the value of the refinement, before making the call, you would have to do something like /refinement: , introducing a "refinement set-word".
9214
11:34@meijeru uhm... there's no need for additional lexical forms. You just don't specify arguments and use refinement itself as a (typed) argument. Nevermind though, it's unrelated to our discussion. But it's worth checking R2, R3 and Red code for presence of more than single argument for refinements - that would actualize the language design point. Functions with more than 3 arguments (both mandatory and optional) is already a code smell, so, we need some baseline to argue when it comes to library implementations and coding style.
meijeru
12:05@dockimbel What do YOU think?
greggirwin
18:48I don't know of any standard funcs that take more than one refinement arg, but I have written funcs like that myself in the past. There is no problem, and nothing special about logic args. You have to code for them just as you would anywhere else, when a value can be none or false.

meijeru
09:17@9214 I find the discussion about refinement usage worth pursuing a bit more, but have addressed it in a private message.
19:58@gregg See layout in VID.red. It is the only example in the whole codebase with a refinement (/parent) that has 2 arguments... How I know? I did an exhaustive search by program, which is just a variation on the different programs like the concordance that I have previously written..

9214
14:09@meijeru it's interesting how this pattern parallels common Forth idiom - use no more than 3 cells on a stack; something to note on "Red for X" pages.
greggirwin
21:50Thanks for the research @meijeru !
dander
22:33should the properties with spaces such as line width [here](https://doc.red-lang.org/en/draw.html#_default_values) be hyphenated instead?

nedzadarek
15:12Is it worth linking to the [url wiki definition](https://en.wikipedia.org/wiki/URL) (or its translations) in the url documentations?
I mean this line:
> == Abstract
>
> An url! value represents a reference to a network resource and allows for directly expressing Uniform Resource Locators.
greggirwin
21:08I don't think so. Either we choose a single ref, or clutter with multiple links to wikipedia, IETF specs, etc.

9214
22:26[Culprit](https://github.com/red/docs/commit/df368110e1c459638669dc2d89b62b3cdc3dc892#diff-515f3e4ae2eee59d93282f995e795df3L447)
22:31@greggirwin https://github.com/red/docs/pull/190
greggirwin
23:48Thanks!

hiiamboris
17:54Regarding https://github.com/red/red/issues/3337#issuecomment-528502174 (the last @dockimbel's comment), I believe it should be noted in the [reactivity docs](https://doc.red-lang.org/en/reactivity.html) that deep-reactor! tracks changes not only in series but also in composite scalars (pairs, tuples, date, time). In contrast to reactor! that does not.
greggirwin
18:12@hiiamboris agreed. Would you please open a ticket in the red/docs repo for that?
hiiamboris
18:28mkay

TheHowdy_gitlab
08:40Just wanted to note that the "Getting Started" guide on the Red website (https://www.red-lang.org/p/getting-started.html) is out of date; the documentation says that the GUI -Systemis still Windows only, and the first "Going further..." link is dead (redprogramming.com does not seem to be online)
lucindamichele
22:36@TheHowdy_gitlab Thank you, and we know...there are a number of changes we are working on.

GiuseppeChillemi
20:32Hi, this link gives error: https://doc.red-lang.org/Map!.html . I took it from here: https://www.red-lang.org/2015/06/054-new-datatypes-exceptions-and-set.html
It should be changed to this: https://doc.red-lang.org/en/datatypes/map.html

greggirwin
18:14Thanks! @gltewalt, can you patch that at your convenience?

loziniak
14:36
>> a: object [b: "test"]
>> find a 'b
*** Script Error: find does not allow object! for its series argument
*** Where: find
*** Stack:  

>> ? find
USAGE:
     FIND series value

DESCRIPTION: 
     Returns the series where a value is found, or NONE. 
     FIND is an action! value.

ARGUMENTS:
     series       [series! bitset! typeset! any-object! map! none!] 
[...]

Should find accept objects or not?
9214
14:50@loziniak https://github.com/red/red/commit/7b1eeb76a6eb2c5c31e8407637fea5664ace61c2

loziniak
12:58@rebolek perhaps it would be nice to mention #get and #in directives in this document?: http://red.qyz.cz/red-system-from-red.html

mikeparr
20:24Future of http://www.red-by-example.org/
Over the past few years, Arie and myself (more recently) have operated and updated the pages. Currently Arie is quite ill, and I am not particularly inspired to do much updating. Also, Arie pays to host the site, and he wishes to stop paying.
So, we are looking for someone to:
- rehost the site
- maintain it (I can advise, initially)
Any offers?
GiuseppeChillemi
20:44Great project. It would be good to convert it to a wiki so the community can maintain it.
20:45My blessings go to Arie.

greggirwin
02:54My best to Arie as well. We all appreciate the effort both of you have put into it. Ping me in a week if I don't reach out before then.
mikeparr
09:18Thanks for the comments re Red BY Example. The initial crucial issue is hosting.
endo64
21:05@mikeparr & Arie, thanks for all your efforts. Hope Arie will get better.

loziniak
14:55What infrastructure does hosting require? What are the costs? Can it be moved to another place?
14:57@mikeparr ↑↑↑
15:01I could host it on my Linux VPS, if somebody provided a (sub?)domain.

mikeparr
19:07@loziniak Red-by-example. It is a relatively simple website - a few HTML pages and images. I'm not sure if anyone wants to do major updates to it, but new pages are generated by editing offline and running a Red program to generate new indexes etc.

loziniak
11:15That's fine for me. @mikeparr would you mind if a GitHub repo was created with all the sources and Red scripts, so anybody could fork it and make PRs? My plan is I would set-up a cron on my server to pull the sources from GitHub, and generate HTML to be served.

I can host it under subdomain of my personal domain, but probably it would be best of somebody in posession of a Red-related domain could make a sub-domain for RBE. Does anything comes to anyone's mind? @greggirwin ?
greggirwin
23:59@loziniak a github repo sounds fine, but it doesn't need to be under an official Red domain. We can sponsor the cost for domain registration of red-by-example.org though.

dander
00:22I wonder if something like GitHub pages could host it
loziniak
11:48@dander not bad idea, this could be red-by-example.github.io. This would require creating a GitHub organisation called *red-by-example*, and anybody could be a part of it if added to it's "people". The problem I see is that somebody could make PRs or issues in repo dedicated for rendering output, instead of source repo. But perhaps it's not a big problem, and these people could be redirected to the right place. Also there could be info in README.md, that it's not the right place for contributions.
11:50A solution that @greggirwin proposes has benefit of keeping the original site's address and domain. But perhaps it's not as transparent as GitHub pages?
11:52@greggirwin you mean year-by-year costs? I think Red Foundation would be best for the domain's owner.
greggirwin
22:32Yes on costs.

Github pages is fine, if it works. Then it's just a repo as well.

mikeparr
08:17Thanks @greggirwin @loziniak for red-by-example ideas. I don't understand most of it (not into GIT) . The official Red docs have improved over the years, I'm not sure if anyone would wish to continue updating RBE.
loziniak
09:25Official docs lack functions description and, mostly, examples! I had a couple updates in mind myself. Surely somebody else will also have.
09:31I'll go with GitHub pages, and we'll see how it works. Perhaps we'll have some time to change our minds and go with original domain + my hosting, until @mikeparr takes his site down :-)
greggirwin
17:07Thanks @loziniak. Let us know what help you need.

@mikeparr RBE is very different than reference docs right now, and I don't want to see it just vanish.
mikeparr
17:18Thanks @loziniak - I'm away for the weekend, back Mon.

loziniak
14:32Hello. I've got the RBE sources from @mikeparr . Unfortunately, red-by-example organization name is already taken. If anybody knows the owner, I'd like to contact him/her. Meanwhile, I create new one. redbyexample.
14:33https://github.com/red-by-example
14:36https://github.com/redbyexample
15:16@mikeparr it's important to decide on license. I suggest GNU GPL3: https://choosealicense.com/licenses/
15:37I added a simple *readme*, and the rest is uploaded in unchanged form:
https://github.com/redbyexample/red-by-example
dander
18:34Since the code snippets will tend to be copy-pasted by people, and could end up in users' applications, it seems like GPL might be too restrictive
mikeparr
20:44http://www.red-by-example.org/ is owned by Arie.
greggirwin
20:47Thanks for moving on this @loziniak. I agree with @dander that GPL may not be a good fit, for the reason he cites.
mikeparr
20:56Yes, thanks @loziniak - Arie wants to stop paying for hosting, I guess registration of rbe name can be transferred?
dander
22:29According to the [GitHub policies](https://help.github.com/en/github/site-policy/github-username-policy), usernames are expected to be actively used. I presume this would apply to organization names as well. To paraphrase, it says that you should first try to use the rename feature, then contact GitHub support to ask the name to be transferred.

Nomarian
19:58choose a copyfree license
19:58the entire library of rosettacode is completely useless for this very reason

loziniak
12:33@greggirwin [said](https://gitter.im/red/docs?at=5df182e2f1cc6c27ea330f23) they can pay for the domain, so domain can be transferred to Red Foundation (if I understand everything well). Hosting can be safely stopped by Arie, since we already have all the sources.

I think the last thing Arie and you have to do is decide on the license. @dander @greggirwin @khwerz maybe you could suggest something more permissive that could suit better? Another thing connected to this, that keeps me wondering – how important is that a commit that changes a license is made by @mikeparr ? I invited him to the GitHub organisation, but @mikeparr said he's not familiar with Git, so do you think that it's ok if I add the license with a link to the Gitter post, where @mikeparr will decide on license?

@dander thanks for suggestions, I'll try with rename and unsquat red-by-example account.
greggirwin
19:53The foundation will cover domain costs, and hosting if necessary. Just need registrar info to transfer I think.

License, yes, if @mikeparr chimes in here, we can point to this chat so people know we're abiding by his and Arie's wishes, and not trying to co-opt their efforts.

Is there a reason not to use BSD3, as we do with Red itself? It would eliminate confusion over docs vs code sample reuse.

Nomarian
17:31I know there was a reason for rms to make and use the GFDL, but all that's rusty info for me
17:36but red is a strange language, because the code is documented, you don't have a help file which could use another license, also BSD itself licenses the documentation using another license as you can see https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/legalnotice.html
17:37of course, I might be incredibly confused on the matter, also this is well above my pay grade
17:38you can tell the gpl is a problem, a good example is toybox, which was made as a relicensing of busybox
greggirwin
20:08We probably need to look at official doc licenses as well, but BSD should be applicable to any media. Should be less confusing than mixing special purpose licenses, if there's not a strong need for them.