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. :) ] ]