Skip to content

Commit badad04

Browse files
committed
kill primed adapter functions
kill `unsafeAdapt'`, `unsafeAdapt''`, `adaptAny'`, `adaptAny''`
1 parent 4f185bd commit badad04

File tree

1 file changed

+29
-53
lines changed

1 file changed

+29
-53
lines changed

src/Data/Array/NonEmpty.purs

Lines changed: 29 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -159,20 +159,6 @@ derive newtype instance altNonEmptyArray :: Alt NonEmptyArray
159159
unsafeAdapt :: forall a b. (Array a -> Array b) -> NonEmptyArray a -> NonEmptyArray b
160160
unsafeAdapt f = NonEmptyArray <<< adaptAny f
161161

162-
-- | Internal - adapt an Array transform with argument to NonEmptyArray
163-
--
164-
-- Note that this is unsafe: if the transform returns an empty array, this can
165-
-- explode at runtime.
166-
unsafeAdapt' :: forall a b c. (a -> Array b -> Array c) -> a -> NonEmptyArray b -> NonEmptyArray c
167-
unsafeAdapt' f = unsafeAdapt <<< f
168-
169-
-- | Internal - adapt an Array transform with two arguments to NonEmptyArray
170-
--
171-
-- Note that this is unsafe: if the transform returns an empty array, this can
172-
-- explode at runtime.
173-
unsafeAdapt'' :: forall a b c d. (a -> b -> Array c -> Array d) -> a -> b -> NonEmptyArray c -> NonEmptyArray d
174-
unsafeAdapt'' f = unsafeAdapt' <<< f
175-
176162
-- | Internal - adapt an Array transform to NonEmptyArray,
177163
-- with polymorphic result.
178164
--
@@ -181,16 +167,6 @@ unsafeAdapt'' f = unsafeAdapt' <<< f
181167
adaptAny :: forall a b. (Array a -> b) -> NonEmptyArray a -> b
182168
adaptAny f = f <<< toArray
183169

184-
-- | Internal - adapt an Array transform with argument to NonEmptyArray,
185-
-- with polymorphic result.
186-
adaptAny' :: forall a b c. (a -> Array b -> c) -> a -> NonEmptyArray b -> c
187-
adaptAny' f = adaptAny <<< f
188-
189-
-- | Internal - adapt an Array transform with two arguments to NonEmptyArray,
190-
-- with polymorphic result.
191-
adaptAny'' :: forall a b c d. (a -> b -> Array c -> d) -> a -> b -> NonEmptyArray c -> d
192-
adaptAny'' f = adaptAny' <<< f
193-
194170
-- | Internal - adapt Array functions returning Maybes to NonEmptyArray
195171
adaptMaybe :: forall a b. (Array a -> Maybe b) -> NonEmptyArray a -> b
196172
adaptMaybe f = unsafePartial $ fromJust <<< f <<< toArray
@@ -245,7 +221,7 @@ length :: forall a. NonEmptyArray a -> Int
245221
length = adaptAny A.length
246222

247223
cons :: forall a. a -> NonEmptyArray a -> NonEmptyArray a
248-
cons = unsafeAdapt' A.cons
224+
cons x = unsafeAdapt $ A.cons x
249225

250226
infixr 6 cons as :
251227

@@ -262,10 +238,10 @@ appendArray :: forall a. NonEmptyArray a -> Array a -> NonEmptyArray a
262238
appendArray xs ys = unsafeFromArray $ toArray xs <> ys
263239

264240
insert :: forall a. Ord a => a -> NonEmptyArray a -> NonEmptyArray a
265-
insert = unsafeAdapt' A.insert
241+
insert x = unsafeAdapt $ A.insert x
266242

267243
insertBy :: forall a. (a -> a -> Ordering) -> a -> NonEmptyArray a -> NonEmptyArray a
268-
insertBy = unsafeAdapt'' A.insertBy
244+
insertBy f x = unsafeAdapt $ A.insertBy f x
269245

270246
head :: forall a. NonEmptyArray a -> a
271247
head = adaptMaybe A.head
@@ -291,34 +267,34 @@ index = adaptAny A.index
291267
infixl 8 index as !!
292268

293269
elemIndex :: forall a. Eq a => a -> NonEmptyArray a -> Maybe Int
294-
elemIndex = adaptAny' A.elemIndex
270+
elemIndex x = adaptAny $ A.elemIndex x
295271

296272
elemLastIndex :: forall a. Eq a => a -> NonEmptyArray a -> Maybe Int
297-
elemLastIndex = adaptAny' A.elemLastIndex
273+
elemLastIndex x = adaptAny $ A.elemLastIndex x
298274

299275
findIndex :: forall a. (a -> Boolean) -> NonEmptyArray a -> Maybe Int
300-
findIndex = adaptAny' A.findIndex
276+
findIndex x = adaptAny $ A.findIndex x
301277

302278
findLastIndex :: forall a. (a -> Boolean) -> NonEmptyArray a -> Maybe Int
303-
findLastIndex = adaptAny' A.findLastIndex
279+
findLastIndex x = adaptAny $ A.findLastIndex x
304280

305281
insertAt :: forall a. Int -> a -> NonEmptyArray a -> Maybe (NonEmptyArray a)
306282
insertAt i x = map NonEmptyArray <<< A.insertAt i x <<< toArray
307283

308284
deleteAt :: forall a. Int -> NonEmptyArray a -> Maybe (Array a)
309-
deleteAt = adaptAny' A.deleteAt
285+
deleteAt i = adaptAny $ A.deleteAt i
310286

311287
updateAt :: forall a. Int -> a -> NonEmptyArray a -> Maybe (NonEmptyArray a)
312288
updateAt i x = map NonEmptyArray <<< A.updateAt i x <<< toArray
313289

314290
updateAtIndices :: forall t a. Foldable t => t (Tuple Int a) -> NonEmptyArray a -> NonEmptyArray a
315-
updateAtIndices = unsafeAdapt' A.updateAtIndices
291+
updateAtIndices pairs = unsafeAdapt $ A.updateAtIndices pairs
316292

317293
modifyAt :: forall a. Int -> (a -> a) -> NonEmptyArray a -> Maybe (NonEmptyArray a)
318294
modifyAt i f = map NonEmptyArray <<< A.modifyAt i f <<< toArray
319295

320296
modifyAtIndices :: forall t a. Foldable t => t Int -> (a -> a) -> NonEmptyArray a -> NonEmptyArray a
321-
modifyAtIndices = unsafeAdapt'' A.modifyAtIndices
297+
modifyAtIndices is f = unsafeAdapt $ A.modifyAtIndices is f
322298

323299
alterAt :: forall a. Int -> (a -> Maybe a) -> NonEmptyArray a -> Maybe (Array a)
324300
alterAt i f = A.alterAt i f <<< toArray
@@ -333,25 +309,25 @@ concatMap :: forall a b. (a -> NonEmptyArray b) -> NonEmptyArray a -> NonEmptyAr
333309
concatMap = flip bind
334310

335311
filter :: forall a. (a -> Boolean) -> NonEmptyArray a -> Array a
336-
filter = adaptAny' A.filter
312+
filter f = adaptAny $ A.filter f
337313

338314
partition
339315
:: forall a
340316
. (a -> Boolean)
341317
-> NonEmptyArray a
342318
-> { yes :: Array a, no :: Array a}
343-
partition = adaptAny' A.partition
319+
partition f = adaptAny $ A.partition f
344320

345321
filterA
346322
:: forall a f
347323
. Applicative f
348324
=> (a -> f Boolean)
349325
-> NonEmptyArray a
350326
-> f (Array a)
351-
filterA = adaptAny' A.filterA
327+
filterA f = adaptAny $ A.filterA f
352328

353329
mapMaybe :: forall a b. (a -> Maybe b) -> NonEmptyArray a -> Array b
354-
mapMaybe = adaptAny' A.mapMaybe
330+
mapMaybe f = adaptAny $ A.mapMaybe f
355331

356332
catMaybes :: forall a. NonEmptyArray (Maybe a) -> Array a
357333
catMaybes = adaptAny A.catMaybes
@@ -360,44 +336,44 @@ sort :: forall a. Ord a => NonEmptyArray a -> NonEmptyArray a
360336
sort = unsafeAdapt A.sort
361337

362338
sortBy :: forall a. (a -> a -> Ordering) -> NonEmptyArray a -> NonEmptyArray a
363-
sortBy = unsafeAdapt' A.sortBy
339+
sortBy f = unsafeAdapt $ A.sortBy f
364340

365341
sortWith :: forall a b. Ord b => (a -> b) -> NonEmptyArray a -> NonEmptyArray a
366-
sortWith = unsafeAdapt' A.sortWith
342+
sortWith f = unsafeAdapt $ A.sortWith f
367343

368344
slice :: forall a. Int -> Int -> NonEmptyArray a -> Array a
369-
slice = adaptAny'' A.slice
345+
slice start end = adaptAny $ A.slice start end
370346

371347
take :: forall a. Int -> NonEmptyArray a -> Array a
372-
take = adaptAny' A.take
348+
take i = adaptAny $ A.take i
373349

374350
takeEnd :: forall a. Int -> NonEmptyArray a -> Array a
375-
takeEnd = adaptAny' A.takeEnd
351+
takeEnd i = adaptAny $ A.takeEnd i
376352

377353
takeWhile :: forall a. (a -> Boolean) -> NonEmptyArray a -> Array a
378-
takeWhile = adaptAny' A.takeWhile
354+
takeWhile f = adaptAny $ A.takeWhile f
379355

380356
drop :: forall a. Int -> NonEmptyArray a -> Array a
381-
drop = adaptAny' A.drop
357+
drop i = adaptAny $ A.drop i
382358

383359
dropEnd :: forall a. Int -> NonEmptyArray a -> Array a
384-
dropEnd = adaptAny' A.dropEnd
360+
dropEnd i = adaptAny $ A.dropEnd i
385361

386362
dropWhile :: forall a. (a -> Boolean) -> NonEmptyArray a -> Array a
387-
dropWhile = adaptAny' A.dropWhile
363+
dropWhile f = adaptAny $ A.dropWhile f
388364

389365
span
390366
:: forall a
391367
. (a -> Boolean)
392368
-> NonEmptyArray a
393369
-> { init :: Array a, rest :: Array a }
394-
span = adaptAny' A.span
370+
span f = adaptAny $ A.span f
395371

396372
nub :: forall a. Eq a => NonEmptyArray a -> NonEmptyArray a
397373
nub = unsafeAdapt A.nub
398374

399375
nubBy :: forall a. (a -> a -> Boolean) -> NonEmptyArray a -> NonEmptyArray a
400-
nubBy = unsafeAdapt' A.nubBy
376+
nubBy f = unsafeAdapt $ A.nubBy f
401377

402378
union :: forall a. Eq a => NonEmptyArray a -> NonEmptyArray a -> NonEmptyArray a
403379
union = unionBy (==)
@@ -422,10 +398,10 @@ unionBy'
422398
unionBy' eq xs = unsafeFromArray <<< A.unionBy eq (toArray xs)
423399

424400
delete :: forall a. Eq a => a -> NonEmptyArray a -> Array a
425-
delete = adaptAny' A.delete
401+
delete x = adaptAny $ A.delete x
426402

427403
deleteBy :: forall a. (a -> a -> Boolean) -> a -> NonEmptyArray a -> Array a
428-
deleteBy = adaptAny'' A.deleteBy
404+
deleteBy f x = adaptAny $ A.deleteBy f x
429405

430406
difference :: forall a. Eq a => NonEmptyArray a -> NonEmptyArray a -> Array a
431407
difference xs = adaptAny $ difference' xs
@@ -482,10 +458,10 @@ unzip :: forall a b. NonEmptyArray (Tuple a b) -> Tuple (NonEmptyArray a) (NonEm
482458
unzip = bimap NonEmptyArray NonEmptyArray <<< A.unzip <<< toArray
483459

484460
foldM :: forall m a b. Monad m => (a -> b -> m a) -> a -> NonEmptyArray b -> m a
485-
foldM = adaptAny'' A.foldM
461+
foldM f acc = adaptAny $ A.foldM f acc
486462

487463
foldRecM :: forall m a b. MonadRec m => (a -> b -> m a) -> a -> NonEmptyArray b -> m a
488-
foldRecM = adaptAny'' A.foldRecM
464+
foldRecM f acc = adaptAny $ A.foldRecM f acc
489465

490466
unsafeIndex :: forall a. Partial => NonEmptyArray a -> Int -> a
491467
unsafeIndex = adaptAny A.unsafeIndex

0 commit comments

Comments
 (0)