> I don't understand why the following code returns 'false':
> [:aPerson |
> (aPerson description
> collect: [:desc | (desc toString: (aPerson readUsing: desc))])
> anySatisfy: [:value | value matches: 'France']] asCondition
> Is it because my code is not understood by the parser ?
>> If you don't want to store your descriptions externally
>> (ReferenceStreams, Magma, OmniBase, ...) you can also use plain
>> blocks, that is maybe easier most of the time.
> When does one would want to store his descriptions ?
If you let your end-users build their own forms.
We once wrote a workflow definition and runtime engine at nestyle.ch
using Magritte, where the users could build their own forms and
define validation conditions on the form elements, all from the web-
browser without programming knowledge. The meta-model is then stored
in OmniBase. That's way I payed so much attention to make everything
serialize-able. That being possible is one of the key advantages of
Magritte over other meta frameworks, e.g., Mewa expects a lot of
As I said previously, you are not forced to worry about theses
things, it is more of a technical than a design question: since I
this is Smalltalk you can exchange conditions and use block-closures
polymorphic. Each of the approaches has its own (dis-)advantages.
> Damien Cassou
> CSS3 : "On passe au HSL, plus intuitif et moins orienté CRT que le
> RGB. Il y a du HSLA". Et en plus, ça veut dire quelque chose (au moins
> pour l'auteur) !
> SmallWiki, Magritte, Pier and Related Tools ...