on 492ae2f help sign in
56 lines 1.4 kB history raw
1### `++fain`
3Restructure path
5Splits a concrete
7[`++spur`]() out of a full [`++path`](), producing a location [`++beam`]() and
8a remainder [`++path`]().
10Accepts
11-------
13`hom` is a `++path`
15Produces
16--------
18 ([pair]() beam path)
20Source
21------
23 ++ fain :: path restructure
24 |= [hom=path raw=path]
25 =+ bem=(need (tome raw))
26 =+ [mer=(flop s.bem) moh=(flop hom)]
27 |- ^- (pair beam path)
28 ?~ moh
29 [bem(s hom) (flop mer)]
30 ?> &(?=(^ mer) =(i.mer i.moh))
31 $(mer t.mer, moh t.moh)
32 ::
34Examples
35--------
37 ~zod/try=> (fain / %)
38 [p=[[p=~zod q=%try r=[%da p=~2014.11.1..00.07.17..c835]] s=/] q=/]
39 ~zod/try=> (fain /lok %)
40 ! exit
41 ~zod/try=> (fain / %/mer/lok/tem)
42 [ p=[[p=~zod q=%try r=[%da p=~2014.11.1..00.08.03..bfdf]] s=/]
43 q=/tem/lok/mer
44 ]
45 ~zod/try=> (fain /mer %/mer/lok/tem)
46 [p=[[p=~zod q=%try r=[%da p=~2014.11.1..00.08.15..4da0]] s=/mer] q=/tem/lok]
47 ~zod/try=> (fain /lok/mer %/mer/lok/tem)
48 [p=[[p=~zod q=%try r=[%da p=~2014.11.1..00.08.24..4d9e]] s=/lok/mer] q=/tem]
49 ~zod/try=> (fain /lok/mer %/mer)
50 ! exit
51 ~zod/try=> (fain /hook/hymn/tor %/tor/hymn/hook/'._req_1234__')
52 [ p=[[p=~zod q=%try r=[%da p=~2014.11.1..00.09.25..c321]] s=/hook/hymn/tor]
53 q=/._req_1234__
54 ]