Jump to content

Pragmatic directives: Difference between revisions

Rename Perl 6 -> Raku, alphabetize, minor clean-up
(Add Factor)
(Rename Perl 6 -> Raku, alphabetize, minor clean-up)
Line 22:
* [http://www.adaic.org/resources/add_content/standards/05rm/html/RM-L.html Annex L - Language-Defined Pragmas]
* [http://gcc.gnu.org/onlinedocs/gnat_rm/Implementation-Defined-Pragmas.html GNAT Implementation Defined Pragmas]
 
 
=={{header|ALGOL 68}}==
Line 352 ⟶ 351:
<lang perl>no warnings; # disable warnings pragma module
no strict; # disable strict pragma module</lang>
=={{header|Perl 6}}==
{{works with|rakudo|2015-10-20}}
The Perl 6 pragma mechanism is nearly identical to Perl 5's, piggybacking on the notation for importing modules (pragmas are distinguished by case from normal modules, which are generally of mixed case). By convention pragmas are lowercase, unless they are indicating the use of an unsafe feature, in which case they are in all caps.
<lang perl6>use MONKEY-TYPING;
augment class Int {
method times (&what) { what() xx self } # pretend like we're Ruby
}</lang>
Unlike Perl 5, there is no <tt>use strict;</tt> pragma, however, since Perl 6 is strict by default. Importation of a pragma is lexically scoped as in Perl 5, but note that unlike in Perl 5, <i>all</i> importation is lexical in Perl 6, so pragmas are not special that way.
 
=={{header|Phix}}==
Line 497 ⟶ 488:
 
Racket eschews pragmas that are specified outside of the language. However, one can view Racket's <tt>#lang</tt> mechanism as a much more powerful tool for achieving similar things. For example, normal code starts with <tt>#lang racket</tt> -- giving you a very Scheme-like language; change it to <tt>#lang typed/racket</tt> and you get a similar language that is statically typed; use <tt>#lang lazy</tt> and you get a Racket-like language that has lazy semantics; use <tt>#lang algol60</tt> and you get something that is very different than Racket. (And of course, you can implement your own language quite easily.)
 
=={{header|Perl 6Raku}}==
(formerly Perl 6)
{{works with|rakudo|2015-10-20}}
The Perl 6 pragma mechanism is nearly identical to Perl 5's, piggybacking on the notation for importing modules (pragmas are distinguished by case from normal modules, which are generally of mixed case). By convention pragmas are lowercase, unless they are indicating the use of an unsafe feature, in which case they are in all caps.
<lang perl6>use MONKEY-TYPING;
augment class Int {
method times (&what) { what() xx self } # pretend like we're Ruby
}</lang>
Unlike Perl 5, there is no <tt>use strict;</tt> pragma, however, since Perl 6 is strict by default. Importation of a pragma is lexically scoped as in Perl 5, but note that unlike in Perl 5, <i>all</i> importation is lexical in Perl 6, so pragmas are not special that way.
 
=={{header|REXX}}==
10,333

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.