Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

A FORMAL REBOL SPECIFICATION Re:

 [1/5] from: bobr:dprc at: 1-Oct-2000 15:39


I would prefer to see a specification of what is available now and also make sure it clearly covers what is in /core first. It is fine if the elements are hyperlinked (IE the document does not have to be linear - we are after all citizens of the web ;) Publishing it to this list is ok but putting it out as a true website that others can reference is better. It is also fine (AFIK) for the document to be in nearly constant flux and never quite complete. So long as people can use it as a reference for -WHAT IS-. Lets leave forward looking statements to carl and dan. where to start? here is a shopping list, some of it is more guidelines for what to pick from: - anything already available via 'help * is either copyright or a duplication of effort. - at the end of the formal specification for the language elements one should be able to write a parser (resist, if you can, writing it in rebol for as long as you can) which can at least tell the difference between a syntactically well formed script and a badly formed one. This will be based on a set of start-conditions since, with dialecting, you can define a whole new environment for performing a parse. - you will eventually [need to] settle on a terminology set to describe things. Draw from standard sources when you can (such as RFCs) and as a second use other on-web references. If you like I will explain why but I bet you can figure it out. - There will be multiple perspectives and meta perspectives where terms in one family can be matched up with terms from another. Things like "structure" and "field" vs "block" and "/word". In some cases RT will have coined a term that is more precise but less well known. Decide what your audience will be and stick with that target. Trying to explain terms using both families is analogous to translating a Russian dictionary to French and Japanese in the same document. It is very distracting to see the juxtaposition of terms from separate term-families. Consider that the document instead could have "modes" or "lingua" which will use terms all from the same family. Let others who are good at language translation provide the content for those other modes. - A formal specification usually starts with a few lowest level or foundation terms, ones that a parser would be most immediately checking for ... like comments in code vs code in comments. "not a ; half comment" ; but this is a comment "and this is not unclosed - You are not out to make another users guide. How to use something is not a goal of a formal specification. - After syntax is done, you can go on to semantics or the coupling and logistics of putting one thing before/after another and what behavior will be implied by the result. Fair warning: describing all possible behaviors is a infinite task. The only behaviors that must be covered are ones which as a result of their execution, modify future syntax [and semantics]. At 07:24 AM 9/30/00 +1200, [Al--Bri--xtra--co--nz] wrote:
>Mark Dickson wrote: > > For my own interests I require to write a formal specification for REBOL
<<quoted lines omitted: 7>>
>http://members.xoom.com/AndrewMartin/ >-><-
;# mailto: [bobr--dprc--net]

 [2/5] from: al:bri:xtra at: 1-Oct-2000 15:24


Bob R wrote:
> I would prefer to see a specification of what is available now and also
make sure it clearly covers what is in /core first. It should be possible using Rebol's reflection of words to be able to automatically scan all of system/words, and write a small HTML page for each word, that contains basically what 'help and 'source provide. Then, working from the inputs to each word/function link to a few pages describing each data-type then back (using reverse links) to other words that work with that data type. For example: clear.html - describes the 'clear function Inside %clear.html would be something like: USAGE: CLEAR series DESCRIPTION: Removes all values from the current index to the tail. Returns at tail. CLEAR is an action value. ARGUMENTS: series -- (Type: series port) Source: clear: native [ {Removes all values from the current index to the tail. Returns at tail.} series [series! port!] ] Clicking on the hyperlink on "series!" takes you to page: series!.html - which describes what a series is like:
>> help series!
No information on series! (word has no value) But a bit more informative. There would also be a series of back links on the _same_ html page that refer to all the words that take a series, like: clear head tail Clicking on any of these words takes you to the HTML page for that word. For example, clicking on "tail" takes you to: tail.html - which describes what 'tail does: USAGE: TAIL series DESCRIPTION: Returns the series at the position after the last value. TAIL is an action value. ARGUMENTS: series -- (Type: series port) Source: tail: native [ {Returns the series at the position after the last value.} series [series! port!] ] This way, a truly informative document of any Rebol version and loaded piece of rebol script that has words defined in system/words can be documented in one rebol object/component, fully automatically and including any additions that have been installed into %user.r. It's also fully updateable at any time. Andrew Martin ICQ: 26227169 http://members.nbci.com/AndrewMartin/ http://members.xoom.com/AndrewMartin/

 [3/5] from: news:ted:husted at: 27-Nov-2000 11:49


--=====_9753437746334=_ Content-Type: text/plain; charset="ISO-8859-1" On 10/1/2000 at 3:24 PM [Al--Bri--xtra--co--nz] wrote:
> It should be possible using Rebol's reflection of words to be able to
automatically scan all of system/words, and write a small HTML page for each word, that contains basically what 'help and 'source provide. Attached is a script Andrew Grossman used to build the Wiki Dictionary on REBOL.ORG. Like POST.R it seemed to break under later releases. -Ted. --=====_9753437746334=_ Content-Type: text/plain; name="qrd-index.r" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="qrd-index.r" IyEvaG9tZTIvaHVzdGVkL3d3dy9jZ2ktYmluL3JlYm9sIC1jcw0KUkVCT0wg Ww0KCXRpdGxlOgkiZGljdCBtYW55cGFnZSBnZW5lcmF0b3IiDQoJYXV0aG9y OgkiQW5kcmV3IEdyb3NzbWFuIg0KCWRhdGU6CTEyLVNlcHQtOTkNCl0NCnJl czogcmVhZCBodHRwOi8vd3d3LnJlYm9sLmNvbS9kaWN0aW9uYXJ5Lmh0bWwN CnJlczogZmluZC90YWlsIHJlcyB7PC9DRU5URVI+fQ0KcmVzOiBmaW5kL3Rh aWwgcmVzIHs8L0NFTlRFUj59DQp3b3JkczogbWFrZSBibG9jayEgW10NCm91 dHB1dDogbWFrZSBzdHJpbmchICIiDQp3aGlsZSBbdHJ1ZV0gWw0KCWVpdGhl ciBmb3VuZD8gcmVzOiBmaW5kL3RhaWwgcmVzIHs8Q0VOVEVSPn0gWw0KCQlw YXJzZSByZXMgW2NvcHkgd29yZHRhYmxlIHRvIHs8Q0VOVEVSPn0gc2tpcCB0 byBlbmRdDQoJCXBhcnNlIHdvcmR0YWJsZSBbc2tpcCB0aHJ1IHs8Qj48Rk9O VCBDT0xPUj0iYmxhY2siPn0gY29weSB3b3JkIHRvIHs8L0ZPTlQ+fSBza2lw IHRvIGVuZF0NCgkJcGFyc2Ugd29yZCBbCSIqKiIgCSh3b3JkOiBjb3B5ICJz dGFyc3RhciIpCXwNCgkJCQkJCSIqIiAJKHdvcmQ6IGNvcHkgInN0YXIiKQkJ fA0KCQkJCQkJIi8iCQkod29yZDogY29weSAic2xhc2giKQl8DQoJCQkJCQki KyIJCSh3b3JkOiBjb3B5ICJwbHVzIikJCXwNCgkJCQkJCSItIgkJKHdvcmQ6 IGNvcHkgIm1pbnVzIikJfA0KCQkJCQkJIiZsdDs9IiAod29yZDogY29weSAi bGVzc3RoYW5vcmVxIikgCXwNCgkJCQkJCSImbHQ7IiAJKHdvcmQ6IGNvcHkg Imxlc3N0aGFuIikJfA0KCQkJCQkJIiZndDs9IiAod29yZDogY29weSAiZ3Jl YXRlcnRoYW5vcmVxIikJfA0KCQkJCQkJIiZndDsiIAkod29yZDogY29weSAi Z3JlYXRlcnRoYW4iKQ0KCQkJCQldDQoJCW9wOiBtYWtlIHN0cmluZyEgY29w eSB3b3JkdGFibGUNCgkJb3AyOiBtYWtlIHN0cmluZyEgIiINCgkJcGFyc2Ug d29yZHRhYmxlIFtjb3B5IG9wIHRvIHs8UD48ST5SZWxhdGVkfSBza2lwIHRv IHs8L1REPn0gY29weSBvcDIgdG8gZW5kXQ0KCQl3cml0ZSB0by1maWxlIHdv cmQgam9pbiB7PENFTlRFUj5eL30gW29wIG9wMl0NCgkJYXBwZW5kIHdvcmRz IHdvcmQNCjsJCXByaW50IHdvcmQNCgldIFticmVha10NCl0NCmZvcmVhY2gg d3JkIHdvcmRzIFsNCglhcHBlbmQgb3V0cHV0IHJlam9pbiBbezxhIGhyZWY9 Indpa2ktcXJkLnI/d2lraT19IHdyZCB7Ij59IHdyZCB7PC9hPiA8Yj4tPC9i PiBeL31dDQpdDQo7Zm9yIG4gMSA3IDEgWw0KOyAgICByZW1vdmUgYXQgb3V0 cHV0IGxlbmd0aD8gb3V0cHV0DQo7XQ0KDQpvdXRwdXQ6IGpvaW4gezxjZW50 ZXI+PGZvbnQgZmFjZT0iQXJpYWwsIEhlbHZldGljYSIgc2l6ZT00PjxiPiBS RUJPTC5vcmcgV2lraSBhbmQgUXVpY2stUmVmZXJlbmNlIERpY3Rpb25hcnk8 L2I+PC9mb250PjwvY2VudGVyPl4vPGJyPjxicj48Zm9udCBmYWNlPSJBcmlh bCwgSGVsdmV0aWNhIiBzaXplPTM+fSBbb3V0cHV0IHs8L2ZvbnQ+fV0NCndy aXRlICVpbmRleCBvdXRwdXQNCg== --=====_9753437746334=_--

 [4/5] from: acme::wco::com at: 21-Feb-2001 18:25


Hi Mark, Just a newbie here going thru email archives... did you complete this, yet? If so, is it freely available? (I can't easily find any other references to it.) Thanks "in advance"! --Ken. At 04:33 PM 9/29/00 +0100, you wrote:
>For my own interests I require to write a formal >specification for REBOL as a language & technology.
<<quoted lines omitted: 17>>
>Your comments would be appreciated. >Mark Dickson
___________________________________ ___________________________________ Ah, you hate Microsoft too! So comrade, ven do vee plan to defect?

 [5/5] from: robbo1mark:aol at: 22-Feb-2001 3:00


Ken, no this isn't done yet, or started to be honest. I do have tons of source material for this though If you want to help speed this up, there is only finite time for me to this as well as learn all I can about REBOL internals and do coding too. let me know if you want to help. Mark

Notes
  • Quoted lines have been omitted from some messages.
    View the message alone to see the lines that have been omitted