Comments on: List of R3 datatypes and their definitions
Here is a list of current REBOL 3.0 datatypes and their definitions.
This list was generated by REBOL itself.
How? In REBOL 3, datatype values include a "spec" that is useful for
functions like help and REBOL documentation generating scripts. The
spec object is returned by calling the new spec-of function on the
datatype. (I should note that the datatype spec objects are created
dynamically, so they do not waste memory during normal operation.)
So now, when you type:
help datatype!
you get:
action! datatype-relative native function (standardized polymorphic function)
binary! string series of bytes
bitset! set of bit flags
block! series of values
char! 8bit and 16bit character
closure! function with persistent local values (indefinite extent)
datatype! datatype value
date! day, month, year, time of day, and timezone
decimal! 64bit floating point number (IEEE standard)
dictionary! hashed name-value pairs
email! email address
end! internal marker for end of block
error! error value
event! user interface event (efficiently sized)
file! file name or path
frame! internal context frame
function! interpreted function (user-defined or mezzanine)
get-path! the value of a path
get-word! the value of a word (variable)
gob! graphical object
handle! arbitrary internal object or value
image! RGB image with alpha channel
integer! 64 bit integer
issue! identifying string or script marker
library! external library reference
lit-path! literal path value
lit-word! literal word value
logic! boolean true or false
module! loadable context of code and data
money! arbitrary precision decimal numbers with optional denomination
native! direct CPU evaluated function
none! no value represented
object! context of names with values
op! infix operator (special evaluation exception)
pair! two dimensional point or size
paren! automatically evaluating block
path! refinement path for functions, objects, files, etc.
percent! special form of decimals (used mainly for layout)
port! external series, an I/O channel
rebcode! virtual machine function
refinement! variation of meaning or location
routine! external library function
set-path! definition of a path's value
set-word! definition of a word's value
string! string series of characters
struct! native structure definition
tag! markup string (HTML or XML)
task! evaluation environment
time! time of day or duration
tuple! sequence of small integers (used for colors, versions, IP addresses)
typeset! set of datatypes
unicode! string of unicoded characters
unset! no value returned or set
url! uniform resource locater or identifier
utype! user defined datatype
vector! multidimensional directly mapped arrays (of same datatype)
word! word (symbol or variable)
That list is a lot more useful than what you get in REBOL 2!
Notes:
- This is not the final list of datatypes.
- Not the final comment text for datatypes. Feel free to suggest improvements.
- The pseudo-datatypes are no longer listed. That's because they are no
longer datatypes. They are defined now as typesets -- collections of datatypes.
16 Comments Comments:
Peter Wood 3-Apr-2007 2:21:10 |
This is another good improvement over Rebol 2.
Are the datatype names cast in stone? I ask because "gob" has a number of meanings in everyday English. One, from the Oxford Dictionary, being "a clot of slimy matter" | Peter Wood 3-Apr-2007 2:23:14 |
Is arbitrary precision decimal numbers the same as binary-coded decimal numbers? | Gregg Irwin 3-Apr-2007 3:08:12 |
I was thinking the same thing about gob and wondering the same about BCD. :-) But, WOW! It's going to be like a whole new REBOL. | Volker 3-Apr-2007 5:32:34 |
closure! frame! percent! unicode! make my day, and utype! Gabrieles :) | rebolek 3-Apr-2007 7:07:54 |
where is sound! ? ;-) | Edoc 3-Apr-2007 7:44:58 |
Thanks for these recent blog updates. It's great to see all the work on R3 coming together. | John Niclasen 3-Apr-2007 8:56:35 |
64-bit, graphical objects, modules, rebcode, tasks, unicode, user defined datatypes and vectors!
This looks promising. REBOL's gettin' mature! :-) | Henrik 3-Apr-2007 9:43:23 |
object! context of names with values
Were you not getting rid of CONTEXT?
http://www.rebol.net/r3blogs/0059.html
| Brian Tiffin 3-Apr-2007 11:55:36 |
Hi,
Is the R3 interpreter still going to have "syntax" errors? It would be handy to have "$12$23" parsed as
junk! or unknown! or somesuch data garbage! type.
Thanks for listening. | Brian Tiffin 3-Apr-2007 12:36:42 |
Hi,
If gob! is what I think it is, being more than an image! but perhaps less than a face, but still a reactive type, how about tactile!
Giddy (and avoiding the tasks at hand).
| Carl Sassenrath 3-Apr-2007 12:44:29 |
Peter: on gob - they are low level. I like the name. Short and to-the-point - clots of slimy matter.
On BCD... similar result, but I believe it has a higher bit density. Ladislav is the expert.
Rebolek: about sound: it should not require its own datatype. Vectors should do, along with ports. But, that is not final.
Henrik: I moved away from the word context... due to "theory" concerns. Precisely, a context is not just a frame, but a collection of frames. This is a blog for another day, and by no means final.
Brian: we can make that possible as an option. We need to define the point at which normal lexical scan resumes. | Brian Tiffin 3-Apr-2007 13:17:21 |
Carl;
Just so ya know what I do to work around things today. I code an error handler that pulls out errorobject/arg2, adds quotes and REPLACEs it in the stream. This allows clients to add there own entries to data blocks that I can highlight as erroneous without the script breaking on load (when I learn to write scripts that don't break).
Thanks for listening. | Maxim Olivier-Adlhoch 3-Apr-2007 17:19:18 |
about gobs... hehe I have my own graphic element engine and they are called glob. seems REBOLers think alike. | Brian Tiffin 13-Apr-2007 22:16:40 |
SNMP related (and perhaps Relaxed evaluation)
How do you envision handling MIBs.
Expanded tuple!, utype!, vector!? tuple pairs?
It is going to be hard not to want to support MIBs as tuples, but it means supporting more than 10 sections and they can't be limited to small. What kind of chaos does this throw into the lexical scanner?
Just askin' | Gregg Irwin 2-May-2007 11:37:02 |
Comment text suggestions:
binary! series of bytes
bitset! set of bits
char! 8bit or 16bit character
date! calendar date, incl. time and timezone
end! internal end of block marker
event! user interface event
file! file name or path
function! user-defined (mezzanine) function
string! series of characters
unicode! series of unicode characters
| andrew 24-Apr-2008 21:09:14 |
To attract m or mumps programmers or to help rebol programmers break into the medical archive/records industry, should we have a type call mump! ?
|
Post a Comment:
You can post a comment here. Keep it on-topic.
|