Sorting algorithms/Insertion sort: Difference between revisions

(Add Nimrod)
Line 1,594:
This implementation makes use of the pattern matching facilities in the Racket distribution.
 
<lang racket>(require racket/match)
#lang racket
 
(define (sort pred< l)
(define (insert x y)
(match* (list x y)
[(list x '()) (list x)]
[(list x (cons y ys)) (cond [(< x y) (list* x y ys)]
[else (ifcons y (predinsert x yys))])]))
[(consfoldl x xs) (insert x '(sort) pred xs))]l))</lang>
(cons x (cons y ys))
(cons y (insert x ys)))]))
(match l
['() '()]
[(cons x xs) (insert x (sort pred xs))]))</lang>
 
=={{header|Rascal}}==
Anonymous user