RosettaCodeData/Task/Ordered-words/Lambdatalk/ordered-words.lambdatalk
2023-07-01 13:44:08 -04:00

44 lines
795 B
Text

{def maxOrderedWords
{def isOrdered
{lambda {:w}
{W.equal? :w {W.sort before :w}}}}
{def getOrdered
{lambda {:w}
{if {isOrdered :w} then :w else}}}
{def pushOrdered
{lambda {:m :w}
{if {= {W.length :w} :m} then {br}:w else}}}
{def maxOrderedWords.i
{lambda {:sortedWords}
{let { {:orderedWords {S.map getOrdered :sortedWords}} }
{S.map {{lambda {:m :w} {pushOrdered :m :w}}
{max {S.map {lambda {:w} {W.length :w}}
:orderedWords}}}
:orderedWords}}}}
{lambda {:s}
{maxOrderedWords.i {S.replace else by el_se in :s}}}}
-> maxOrderedWords
{maxOrderedWords UNIX.DICT}
->
abbott
accent
accept
access
accost
almost
bellow
billow
biopsy
chilly
choosy
choppy
effort
floppy
glossy
knotty