Thanks for those answers. Let me add something for helping the visually impaired who have troubles reading the Red blog. Here is a simple Red script to retrieve information from the Red blog, then calculate and display (with a color fade-in effect) the upper bound result of the RED tokens sales:
Red []
page: read https://www.red-lang.org/2018/01/red-here-we-go.html
parse page [
thru "Private investors" thru "(" copy angels to ")"
thru "open rounds" thru "(" copy public to ")"
thru "Private Investors" thru ">" copy angels-price to "RED"
thru "Open round" thru ">" copy public-price to "RED"
]
angels: to-integer trim/with angels ","
public: to-integer trim/with public ","
result: (angels / load angels-price) + (public / load public-price)
view [
title "Token Sales Result"
below
text 300 "And the (upper) bound sales result (in eth) is:"
h1 300 center bold beige beige rate 5 data result
on-time [
ff: face/font
repeat c 3 [ff/color/:c: ff/color/:c - pick 4.2.3 c]
if ff/color = black [face/rate: none]
]
]
This short example relies on two eDSL, one for parsing data, one for building a GUI. Such built-in features (not requiring any library) shouldn't be that bad for an "incomplete" language, right?