Re: [Factor-talk] messaging between native vm threads

2009-10-24 Thread Slava Pestov
No native mutex is needed if you have a pair of pipes between every two VMs that need to communicate. Then, one VM thread writes to the pipe, another VM thread reads from it. Since a VM thread is so heavy-weight (it has its own data heap) opening a handful of pipes is nothing. What you do need

[Factor-talk] Remove [let, [let*, [wlet and leave : to simplify locals?

2009-10-24 Thread Joe Groff
There's a bit of redundancy in locals. You can bind a variable using :, [let, or [let*, and the two latter forms just get transformed into the former behind the scenes. The [let forms also seem unnecessarily bulky compared to : . What would you all say to phasing out the [let forms and

Re: [Factor-talk] Remove [let, [let*, [wlet and leave : to simplify locals?

2009-10-24 Thread Jon Harper
: et [let are different because : can't be used everywhere. From the docs: Notes This word ( : ) can only be used inside a lambda word, lambda quotation or let binding form. : toto ( a b -- c ) [let | b' [ 6 * ] | b' + ] ; ! works : toto ( a b -- c ) 6 * : b' b' + ; ! does not work I like the