Leonardo numbers: Difference between revisions

m
m (added a colon to a comment.)
Line 172:
 
Drawing N items from a non-finite generator:
<lang applescript>-- leo :: Int -> Int -> Int ->------------------- GeneratorGENERATOR [Int]-------------------------
 
-- leo :: Int -> Int -> Int -> Generator [Int]
on leo(L0, L1, delta)
script
Line 186 ⟶ 188:
 
 
-- TEST ------------------------- TEST ---------------------------
on run
set leonardo to leo(1, 1, 1)
Line 198 ⟶ 200:
 
 
-- FORMATTING ---------------------- FORMATTING ------------------------
 
-- twoLines :: [Int] -> String
Line 204 ⟶ 206:
script row
on |λ|(ns)
tab & showListintercalate(", ", ns)
end |λ|
end script
Line 211 ⟶ 213:
 
 
-- GENERIC ----------------------- GENERIC --------------------------
 
 
-- chunksOf :: Int -> [a] -> [[a]]
Line 229 ⟶ 230:
foldl(go, {}, enumFromThenTo(1, n, lng))
end chunksOf
 
 
-- enumFromThenTo :: Int -> Int -> Int -> [Int]
Line 239 ⟶ 241:
return xs
end enumFromThenTo
 
 
-- foldl :: (a -> b -> a) -> a -> [b] -> a
Line 251 ⟶ 254:
end tell
end foldl
 
 
-- intercalate :: String -> [String] -> String
Line 260 ⟶ 264:
return s
end intercalate
 
 
-- Lift 2nd class handler function into 1st class script wrapper
Line 272 ⟶ 277:
end if
end mReturn
 
 
-- map :: (a -> b) -> [a] -> [b]
Line 284 ⟶ 290:
end tell
end map
 
 
-- max :: Ord a => a -> a -> a
Line 294 ⟶ 301:
end max
 
-- showList :: [a] -> String
on showList(xs)
"[" & intercalate(", ", xs) & "]"
end showList
 
-- take :: Int -> [a] -> [a]
Line 330 ⟶ 333:
end if
end take
 
 
-- unlines :: [String] -> String
Line 341 ⟶ 345:
{{Out}}
<pre>First 25 Leonardo numbers:
[1, 1, 3, 5, 9, 15, 25, 41, 67, 109, 177, 287, 465, 753, 1219, 1973]
[1973, 3193, 5167, 8361, 13529, 21891, 35421, 57313, 92735, 150049]
 
First 25 Fibonacci numbers:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610]
[610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368]</pre>
 
=={{header|AWK}}==
9,655

edits