Execute HQ9+/Ursala: Difference between revisions

added Ursala
(created)
 
(added Ursala)
Line 1:
{{collection|RCHQ9+}}{{implementation|HQ9+}}[[Category:Python]]
 
Unrecognized operators or a missing input file cause diagnostic messages.
Since the accumulator is unreadable and has no operational consequences,
its value isn't stored. A line break at the end of the file, if any, is ignored.
 
=={{header|Ursala}}==
 
<lang Ursala>
#import std
#import nat
quantity = ~&iNC+ --' of beer'+ ~&?(
1?=/'1 bottle'! --' bottles'+ ~&h+ %nP,
'no more bottles'!)
 
verse =
 
^(successor,~&); ("s","n"). -[
-[quantity "s"]- on the wall, -[quantity "s"]-,
Take one down and pass it around, -[quantity "n"]- on the wall.]-
 
refrain "n" =
 
-[
No more bottles of beer on the wall, -[quantity 0]-.
Go to the store and buy some more, -[quantity "n"]- on the wall.]-
 
whole_song "n" = ~&ittt2BSSL (verse*x iota "n")--<refrain "n">
 
#executable ('parameterized','')
 
rchq =
 
<.file$[contents: --<''>]>+ -+
*= case~&r (
{`h: -[Hello, World!]-!,`9: whole_song99!,`+: <>!,`q: ~&l},
% <.'unrecognized operator: '--+ ~&rNC>),
~command.files; ~&itZB?/~&h.contents.&ziyQLD <'usage: rchq [file]'>!%+-
</lang>
Anonymous user