File: split

package info (click to toggle)
scheme9 2025.08.12-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,080 kB
  • sloc: lisp: 16,752; ansic: 11,869; sh: 806; makefile: 237; sed: 6
file content (12 lines) | stat: -rw-r--r-- 439 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
S9 LIB  (split list)  ==>  list

Split a list into two, where the first one contains the leftmost
members of the list and the second one its rightmost members. When
the list has an odd number of members, the first list will hold
the extra member. Return a list of two lists:

      (leftmost-members rightmost-members)

(split '(1 2 3 4))    ==>  ((1 2) (3 4))
(split '(1 2 3 4 5))  ==>  ((1 2 3) (4 5))
(split '())           ==>  (() ())