Data update
This commit is contained in:
parent
81fd053722
commit
52a6ef48dd
10248 changed files with 63654 additions and 6775 deletions
8
Task/FizzBuzz/ALGOL-68/fizzbuzz-3.alg
Normal file
8
Task/FizzBuzz/ALGOL-68/fizzbuzz-3.alg
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
FOR i TO 100 DO
|
||||
IF IF i MOD 3 = 0 THEN print( "Fizz" ); FALSE ELSE TRUE FI
|
||||
AND IF i MOD 5 = 0 THEN print( "Buzz" ); FALSE ELSE TRUE FI
|
||||
THEN
|
||||
print( ( whole( i, 0 ) ) )
|
||||
FI;
|
||||
print( ( newline ) )
|
||||
OD
|
||||
121
Task/FizzBuzz/Ed/fizzbuzz.ed
Normal file
121
Task/FizzBuzz/Ed/fizzbuzz.ed
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
H
|
||||
a
|
||||
100
|
||||
.
|
||||
# iota.ed
|
||||
g/[^0-9]{1,}/s///g
|
||||
,p
|
||||
# decimal -> unary
|
||||
g/^0+([0-9])/s//\1/
|
||||
g/^9([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiiiiii/
|
||||
g/^8([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiiiii/
|
||||
g/^7([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiiii/
|
||||
g/^6([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiii/
|
||||
g/^5([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiii/
|
||||
g/^4([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiii/
|
||||
g/^3([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iii/
|
||||
g/^2([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2ii/
|
||||
g/^1([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2i/
|
||||
g/^0([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2/
|
||||
g/^9([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiiiiii/
|
||||
g/^8([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiiiii/
|
||||
g/^7([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiiii/
|
||||
g/^6([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiii/
|
||||
g/^5([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiii/
|
||||
g/^4([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiii/
|
||||
g/^3([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iii/
|
||||
g/^2([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2ii/
|
||||
g/^1([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2i/
|
||||
g/^0([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2/
|
||||
g/^9([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiiiiii/
|
||||
g/^8([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiiiii/
|
||||
g/^7([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiiii/
|
||||
g/^6([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiii/
|
||||
g/^5([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiii/
|
||||
g/^4([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiii/
|
||||
g/^3([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iii/
|
||||
g/^2([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2ii/
|
||||
g/^1([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2i/
|
||||
g/^0([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2/
|
||||
g/^9([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiiiiii/
|
||||
g/^8([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiiiii/
|
||||
g/^7([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiiii/
|
||||
g/^6([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiii/
|
||||
g/^5([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiii/
|
||||
g/^4([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiii/
|
||||
g/^3([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iii/
|
||||
g/^2([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2ii/
|
||||
g/^1([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2i/
|
||||
g/^0([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2/
|
||||
g/^9([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiiiiii/
|
||||
g/^8([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiiiii/
|
||||
g/^7([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiiii/
|
||||
g/^6([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiiii/
|
||||
g/^5([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiiii/
|
||||
g/^4([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iiii/
|
||||
g/^3([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2iii/
|
||||
g/^2([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2ii/
|
||||
g/^1([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2i/
|
||||
g/^0([0-9]*)(i*)/s//\1\2\2\2\2\2\2\2\2\2\2/
|
||||
# iota logic
|
||||
s/\B/\
|
||||
/g
|
||||
a
|
||||
|
||||
.
|
||||
y
|
||||
d
|
||||
g/i/x\
|
||||
s/.*/&i/\
|
||||
-1d\
|
||||
y
|
||||
# fizzbuzz
|
||||
g/^(i{15})+$/s//FizzBuzz/
|
||||
g/^(i{5})+$/s//Buzz/
|
||||
g/^(i{3})+$/s//Fizz/
|
||||
# unary -> decimal (for 0-10000 range)
|
||||
g/i{9000}(i{0,999})/s//9\1/
|
||||
g/i{8000}(i{0,999})/s//8\1/
|
||||
g/i{7000}(i{0,999})/s//7\1/
|
||||
g/i{6000}(i{0,999})/s//6\1/
|
||||
g/i{5000}(i{0,999})/s//5\1/
|
||||
g/i{4000}(i{0,999})/s//4\1/
|
||||
g/i{3000}(i{0,999})/s//3\1/
|
||||
g/i{2000}(i{0,999})/s//2\1/
|
||||
g/i{1000}(i{0,999})/s//1\1/
|
||||
v/^[0-9]i*$/s/.*/0&/
|
||||
g/i{900}(i{0,99})/s//9\1/
|
||||
g/i{800}(i{0,99})/s//8\1/
|
||||
g/i{700}(i{0,99})/s//7\1/
|
||||
g/i{600}(i{0,99})/s//6\1/
|
||||
g/i{500}(i{0,99})/s//5\1/
|
||||
g/i{400}(i{0,99})/s//4\1/
|
||||
g/i{300}(i{0,99})/s//3\1/
|
||||
g/i{200}(i{0,99})/s//2\1/
|
||||
g/i{100}(i{0,99})/s//1\1/
|
||||
v/^[0-9]{2}i*$/s/^([0-9])(i*)$/\10\2/
|
||||
g/i{90}(i{0,9})/s//9\1/
|
||||
g/i{80}(i{0,9})/s//8\1/
|
||||
g/i{70}(i{0,9})/s//7\1/
|
||||
g/i{60}(i{0,9})/s//6\1/
|
||||
g/i{50}(i{0,9})/s//5\1/
|
||||
g/i{40}(i{0,9})/s//4\1/
|
||||
g/i{30}(i{0,9})/s//3\1/
|
||||
g/i{20}(i{0,9})/s//2\1/
|
||||
g/i{10}(i{0,9})/s//1\1/
|
||||
v/^[0-9]{3}i*$/s/^([0-9]{2})(i*)$/\10\2/
|
||||
g/i{9}/s//9/
|
||||
g/i{8}/s//8/
|
||||
g/i{7}/s//7/
|
||||
g/i{6}/s//6/
|
||||
g/i{5}/s//5/
|
||||
g/i{4}/s//4/
|
||||
g/i{3}/s//3/
|
||||
g/i{2}/s//2/
|
||||
g/i{1}/s//1/
|
||||
v/^[0-9]{4}i*$/s/^([0-9]{3})(i*)$/\10\2/
|
||||
g/^0+([0-9])/s//\1/
|
||||
g/0F1zz/s//Fizz/
|
||||
g/0Buzz/s//Buzz/
|
||||
,p
|
||||
Q
|
||||
8
Task/FizzBuzz/Komodo/fizzbuzz.komodo
Normal file
8
Task/FizzBuzz/Komodo/fizzbuzz.komodo
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
let fizzBuzz(n) :=
|
||||
let fb(0, 0) := "fizzbuzz"
|
||||
let fb(0, _) := "fizz"
|
||||
let fb(_, 0) := "buzz"
|
||||
let fb(_, _) := n
|
||||
fb(n % 3, n % 5)
|
||||
|
||||
for i in 1..101 do println(fizzBuzz(i))
|
||||
39
Task/FizzBuzz/NewLISP/fizzbuzz-2.l
Normal file
39
Task/FizzBuzz/NewLISP/fizzbuzz-2.l
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
(define (try-all) ;; The arguments are in (args) or $args.
|
||||
(let (cnt (length (filter true? $args)))
|
||||
(if (zero? cnt) nil cnt)))
|
||||
|
||||
(define (fizz)
|
||||
(define (say? n s) (if (= 0 (% i n)) (print s))) ;; Dynamic scoping.
|
||||
(for (i 1 21)
|
||||
(unless
|
||||
(try-all
|
||||
(say? 3 'fizz)
|
||||
(say? 5 'buzz)
|
||||
(say? 7 'boom)
|
||||
(say? 11 'crux))
|
||||
(print i))
|
||||
(println)))
|
||||
|
||||
(fizz)
|
||||
|
||||
1
|
||||
2
|
||||
fizz
|
||||
4
|
||||
buzz
|
||||
fizz
|
||||
boom
|
||||
8
|
||||
fizz
|
||||
buzz
|
||||
crux
|
||||
fizz
|
||||
13
|
||||
boom
|
||||
fizzbuzz
|
||||
16
|
||||
17
|
||||
fizz
|
||||
19
|
||||
buzz
|
||||
fizzboom
|
||||
47
Task/FizzBuzz/NewLISP/fizzbuzz-3.l
Normal file
47
Task/FizzBuzz/NewLISP/fizzbuzz-3.l
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
(define (m-prime-gen)
|
||||
(fn ( , n) ;; Unused parameter n is our local variable.
|
||||
;; Self-modifying code.
|
||||
(until (= 1 (length (factor (setf n (++ 2))))))
|
||||
n))
|
||||
|
||||
(define (try-all) ;; The arguments are in (args) or $args.
|
||||
(let (cnt (length (filter true? $args)))
|
||||
(if (zero? cnt) nil cnt)))
|
||||
|
||||
(define (fizz)
|
||||
(define (say? n s) (if (= 0 (% i n)) (print s))) ;; Dynamic scoping.
|
||||
(for (i 1 21)
|
||||
(let (p (m-prime-gen))
|
||||
(unless
|
||||
(try-all
|
||||
(say? (p) 'fizz)
|
||||
(say? (p) 'buzz)
|
||||
(say? (p) 'boom)
|
||||
(say? (p) 'crux)
|
||||
(say? (p) 'ZAP))
|
||||
(print i))
|
||||
(println))))
|
||||
|
||||
(fizz)
|
||||
|
||||
1
|
||||
2
|
||||
fizz
|
||||
4
|
||||
buzz
|
||||
fizz
|
||||
boom
|
||||
8
|
||||
fizz
|
||||
buzz
|
||||
crux
|
||||
fizz
|
||||
ZAP
|
||||
boom
|
||||
fizzbuzz
|
||||
16
|
||||
17
|
||||
fizz
|
||||
19
|
||||
buzz
|
||||
fizzboom
|
||||
15
Task/FizzBuzz/Tailspin/fizzbuzz-2.tailspin
Normal file
15
Task/FizzBuzz/Tailspin/fizzbuzz-2.tailspin
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
fizz templates
|
||||
$ mod 3 -> # !
|
||||
when <|=0> do 'Fizz' !
|
||||
end fizz
|
||||
|
||||
buzz templates
|
||||
$ mod 5 -> # !
|
||||
when <|=0> do 'Buzz' !
|
||||
end buzz
|
||||
|
||||
[ 1..100 -> '$->fizz;$->buzz;' ] -> $(.. as i; -> templates
|
||||
when <|=''> do $i !
|
||||
otherwise $ !
|
||||
end)... -> '$;
|
||||
' !
|
||||
9
Task/FizzBuzz/Ursalang/fizzbuzz.ursa
Normal file
9
Task/FizzBuzz/Ursalang/fizzbuzz.ursa
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
let write = process.stdout.write
|
||||
|
||||
for i in range(100) {
|
||||
let n = i + 1
|
||||
if (n % 3 == 0) {write("Fizz")}
|
||||
if (n % 5 == 0) {write("Buzz")}
|
||||
if (n % 3 != 0 and n % 5 != 0) {write(n.toString())}
|
||||
write("\n")
|
||||
}
|
||||
|
|
@ -1,55 +1,39 @@
|
|||
#!/usr/bin/env ys-0
|
||||
|
||||
# This program has multiple implementations of "fizzbuzz".
|
||||
|
||||
# usage: yamlscript fizzbuzz.ys [<count>] [<fizzbuzz-fn-#>]
|
||||
|
||||
# The main function runs a certain requested fizzbuzz implementation function
|
||||
# for a certain requested number (default is 100).
|
||||
!yamlscript/v0
|
||||
|
||||
defn main(count=100 impl=1):
|
||||
:: |
|
||||
Invoke one of the FizzBuzz implementations below.
|
||||
|
||||
usage: ys fizzbuzz.ys [<count> [<implementation-number>]]
|
||||
|
||||
fizzbuzz =: "fizzbuzz-$impl"
|
||||
|
||||
when-not ENV.'YS_TEST':
|
||||
say: "Running function '$fizzbuzz' with count=$count"
|
||||
|
||||
function =: resolve(fizzbuzz.symbol())
|
||||
result =: function(count)
|
||||
|
||||
mapv say: result
|
||||
|
||||
|
||||
# These implementation functions were adapted from
|
||||
# https://rosettacode.org/wiki/FizzBuzz#Clojure
|
||||
say: "Running function '$fizzbuzz' with count=$count"
|
||||
mapv say:
|
||||
call fizzbuzz: count
|
||||
|
||||
defn fizzbuzz-1(n):
|
||||
map:
|
||||
:: Implementation 1 - with 'map'
|
||||
map _ (1 .. n):
|
||||
fn(x):
|
||||
cond:
|
||||
zero?(x % 15): 'FizzBuzz'
|
||||
zero?(x % 5): 'Buzz'
|
||||
zero?(x % 3): 'Fizz'
|
||||
=>: x
|
||||
=>: 1 .. n
|
||||
zero?(x % 15) : 'FizzBuzz'
|
||||
zero?(x % 5) : 'Buzz'
|
||||
zero?(x % 3) : 'Fizz'
|
||||
else : x
|
||||
|
||||
defn fizzbuzz-2(n):
|
||||
loop [i 1, l []]:
|
||||
if (i > n):
|
||||
=>: l
|
||||
recur inc(i):
|
||||
:: Implementation 2 - with 'loop'
|
||||
loop i 1, l []:
|
||||
if i <= n:
|
||||
recur i.++:
|
||||
conj l:
|
||||
cond:
|
||||
zero?(i % 15): 'FizzBuzz'
|
||||
zero?(i % 5): 'Buzz'
|
||||
zero?(i % 3): 'Fizz'
|
||||
=>: i
|
||||
condp eq 0:
|
||||
i % 15 :: FizzBuzz
|
||||
i % 5 :: Buzz
|
||||
i % 3 :: Fizz
|
||||
else : i
|
||||
else: l
|
||||
|
||||
defn fizzbuzz-3(n):
|
||||
map:
|
||||
fn(x):
|
||||
s =:
|
||||
str:
|
||||
when zero?(x % 3): 'Fizz'
|
||||
=>: (zero?(x % 5) && 'Buzz') || nil
|
||||
if empty?(s): x s
|
||||
rng: 1 n
|
||||
:: Implementation 3 - with 'for'
|
||||
for x (1 .. n): str(((x % 3).! &&& 'Fizz') ((x % 5).! &&& 'Buzz')) ||| x
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue