REBOL Technologies

What's an extension?

Carl Sassenrath, CTO
REBOL Technologies
12-Aug-2009 0:57 GMT

Article #0418
Main page || Index || Prior Article [0417] || Next Article [0419] || 5 Comments || Send feedback

There's been some discussion and perhaps a bit of confusion about REBOL extensions (previously called plugins.)

Well, first let me mention that the official definition of REBOL Extensions is now published. (And, if you think you can help improve it, go ahead, it's a wiki, or at least relay your ideas on R3 Chat group #5045).

Here's a clarification that should help:

 a moduleis written in REBOL only and defines code and data (any data, including images, sounds, tables, mini-databases, etc.) Its functions and other values can be exported to your programs or kept isolated within the module context itself. Complete details are published in the REBOL Modules section of the new R3 documentation.
 an extensionis a module that also allows native code and data. So, it includes a module definition, just like that above, but it can also create commands that are similar in performance to REBOL native functions. It can also store data, export values, keep isolated values, etc.

A user asks, "Can I package all my special data into a module or extension? I don't want to scatter it around in separate files." The answer is yes, you can. Just include it in your module or extension as you would any other data.

If that question was meant to be: "Is there a tool for making that inclusion automatic?" My answer would be that such a "helper" script is quite useful, and I'm sure that one or more persons in the R3 community can provide it quite soon.


Updated 15-Feb-2018   -   Copyright Carl Sassenrath   -   WWW.REBOL.COM   -   Edit   -   Blogger Source Code