3 ms·
Its beauty (and power) comes with the consistency of the syntax ala Smalltalk / Lisp. PS. Here's an example of creating something similar with Perl: sub I
by draegtun 14y ago
Its beauty (and power) comes with the consistency of the syntax ala Smalltalk / Lisp.
PS. Here's an example of creating something similar with Perl:
sub IF (&@) {
my ($block, $flow) = @_;
[ map { $flow->{$_} || sub {} } qw/else then/ ]->[ $block->() ]->();
}
sub THEN (&@) {
my $block = shift;
my $flow = shift || {};
$flow->{then} = $block;
$flow;
}
sub ELSE (&) {
my $block = shift;
+{ else => $block };
}
IF { 1 == 0 } THEN { say "True" } ELSE { say "False" };
And with these being functions and not statements we can also do:
my $result = IF { 1 == 1 } THEN { "True" } ELSE { "False" };