REBOL [
Title: "Melt"
Date: 3-Jul-2002/21:35
Name: Melt
Version: 1.0.1
File: %Melt.r
Author: "Andrew Martin"
Purpose: "Melts object ice into fluid Rebol script."
Email: Al.Bri@xtra.co.nz
Web: http://valley.150m.com
Category: [util script file db 5]
Acknowledgements: "Romano Paolo Tenca"
]
make object! [
Magic: '. ; This must be the same as the 'Freeze function!
Melt-Value: function [Ice [block!] Path] [Value] [
Value: :Path
if all [
path? :Path
Magic = first :Path
2 <= length? :Path
integer? second :Path
] [
Value: pick Ice second :Path
if all [
3 = length? :Path
integer? third :Path
] [
Value: at Value third :Path
]
]
Value
]
set 'Melt function ["Melts Object Ice" Ice [block!]] [Rule Value] [
parse Ice Rule: [
any [
Value: path! (
Value/1: Melt-Value Ice Value/1
)
| into Rule
| any-type!
]
end
]
Ice ; At this point, the 'Ice has become sea. :)
]
]