On Tue, Nov 27, 2012 at 9:04 AM, Mariano Martinez Peck < marianopeck@gmail.com> wrote:
On Tue, Nov 27, 2012 at 12:54 AM, Bob Hartwig <bobjectssmalltalk@gmail.com
wrote:
Hi all,
I'm investigating the feasibility of porting a large VAST application to Pharo, so I may have some questions in the coming days. Here's my first question:
VAST has the concept of compile-time constants, using the ##() syntax. Whatever is in the parentheses is evaluated at compile time, and the result is stored, so the evaluation does not need to happen again when the method is sent later. E.g., when this method is sent:
printTheNumberToTheTranscript
Transcript nextPutAll: ##( 10 factorial asString ) .
no calculation or string conversion is necessary, because 10 factorial asString was evaluated at compile time and the answer was stored. Please note that this is different from array literals, which is how Pharo seems to treat this syntax.
As far as I can tell, Pharo does not have this feature (certainly not with that syntax), but I would love to be proved wrong. Am I?
Yes, it has it also. The array is stored as a literal in the compiled method.....I think the sintax was with only one #, like: #(10 factorial asString)
can you try?
uffff I should not answer emails before waking up....what I say is only for some kind of objects, not expressions. So, no, you don't have it out of the box.
Does anyone else have words of wisdom regarding porting a VAST app to
Pharo? Any other language features that are missing? I'm not too concerned about Pragmas, and this app has no GUI, so I'm not concerned about UI framework differences.
Thanks, Bob Hartwig
-- Mariano http://marianopeck.wordpress.com
-- Mariano http://marianopeck.wordpress.com