giogonzo / fp-ts-ramda

Ramda functions reimplemented in fp-ts
https://giogonzo.github.io/fp-ts-ramda/
MIT License
138 stars 9 forks source link

current status of porting #15

Open giogonzo opened 5 years ago

giogonzo commented 5 years ago

Here's a list of all the Ramda functions and their current status in this repo.

For each function, I added some notes on how they could be mapped in fp-ts terms taken from https://github.com/gcanti/fp-ts/blob/master/docs/recipes/ramda.md

We could use this issue to coordinate between multiple people on the ongoing effort in porting the entire API (or part of it)

Function Implemented Owners Notes, mapping in fp-ts
__ out of scope
add @kightlingerh see fp-ts's Field
addIndex
adjust @giogonzo
all @kightlingerh
allPass @kightlingerh
always @giogonzo
and @giogonzo
any @kightlingerh
anyPass @kightlingerh
ap At the core it's just fpTsInstance.ap
aperture
append @giogonzo
apply should map to apply from fp-ts/lib/function
applySpec
applyTo @giogonzo
ascend should map to Ord.contramap
assoc @kightlingerh
assocPath
binary
bind
both
call
chain At the core it's just fpTsInstance.chain
clamp @giogonzo
clone
comparator should map to Ord.fromCompare
complement
compose should map to function.compose
composeWith
concat see fp-ts's Semigroup
cond
construct
constructN
converge
countBy
curry should map to function.curry
curryN
dec should map to function.decrement
defaultTo @giogonzo
descend see Ord.contramap, Ord.getDualOrd
difference
differenceWith
dissoc see Record.remove
dissocPath
divide see fp-ts's Field
drop should map to Array.drop
dropLast should map to Array.dropEnd
dropLastWhile
dropRepeats
dropRepeatsWith
dropWhile should map to Array.dropWhile
either
empty
endsWith @mfirry Implemented for arrays only (not strings)
eqBy see Eq.contramap
eqProps
equals @kightlingerh see Eq
evolve
F should map to function.constFalse
filter see Filterable
find Array.find
findIndex Array.findIndex
findLast Array.findLast
findLastIndex Array.findLastIndex
flatten Array.flatten
flip function.flip
forEach
forEachObjIndexed
fromPairs @giogonzo
groupBy NonEmptyArray.groupBy
groupWith see NonEmptyArray.group, NonEmptyArray.groupSort
gt Ord.greaterThan
gte Ord.greaterThanOrEq
has Record.member
hasIn
hasPath
head Array.head
identical see Eq
identity function.identity
ifElse
inc function.increment
includes
indexBy see NonEmptyArray.groupBy
indexOf Array.findIndex
init Array.init
innerJoin
insert Array.insertAt
insertAll
intersection
intersperse
into
invert
invertObj
invoker
is
isEmpty
isNil
join
juxt
keys Record.keys
keysIn
last Array.last
lastIndexOf Array.findLastIndex
length
lens should use monocle-ts lib
lensIndex should use monocle-ts lib
lensPath should use monocle-ts lib
lensProp should use monocle-ts lib
lift
liftN
lt Ord.lessThan
lte Ord.lessThanOrEq
map At the core it's just fpTsInstance.map
mapAccum
mapAccumRight
mapObjIndexed
match
mathMod
max Ord.max
maxBy
mean
median
memoizeWith
mergeDeepLeft
mergeDeepRight
mergeDeepWith
mergeDeepWithKey
mergeLeft
mergeRight
mergeWith see Record.getMonoid
mergeWithKey
min Ord.min
minBy
modulo
move
multiply see Field
nAry
negate Ring.negate
none
not
nth Array.index
nthArg
o
objOf @kightlingerh Record.singleton
of array.of
omit
once
or see Semigroup.semigroupAny
otherwise
over should use monocle-ts lib
pair function.tuple
partial
partialRight
partition see Filterable
path should use monocle-ts lib
pathEq
pathOr
pathSatisfies
pick
pickAll
pickBy
pipe function.pipe
pipeWith
pluck
prepend Array.cons
product see Foldable.product
project
prop @kightlingerh uses monocle-ts
propEq
propIs
propOr
props
propSatisfies
range Array.range
reduce
reduceBy
reduced
reduceRight
reduceWhile
reject
remove
repeat Array.replicate
replace
reverse Array.reverse
scan Array.scanLeft
sequence see Traversable in fp-ts
set should use monocle-ts lib
slice
sort
sortBy
sortWith
split
splitAt Array.split
splitEvery @mfirry Array.chunksOf
splitWhen
startsWith
subtract see Ring
sum
symmetricDifference
symmetricDifferenceWith
T function.constTrue
tail Array.takeWhile
take Array.take
takeLast @mfirry, @gcanti Implemented for arrays only (not strings)
takeLastWhile
takeWhile Array.takeWhile
tap
test
then
thunkify
times Array.makeBy
toLower
toPairs @giogonzo
toPairsIn
toString
toUpper
transduce
transpose
traverse see Traversable
trim
tryCatch IOEither.tryCatch
type
unapply
unary
uncurryN
unfold
union
unionWith
uniq Array.uniq
uniqBy Array.uniq
uniqWith
unless
unnest see Chain.flatten
until
update Array.unsafeUpdateAt
useWith
values see Record.toArray
valuesIn
view should use monocle-ts lib
when
where
whereEq
without
xprod @giogonzo
zip Array.zip
zipObj
zipWith Array.zipWith
floydspace commented 1 year ago

Hi guys, is this page and library maintained?

I see there are some functions now natively supported:

Function Implemented Owners Notes, mapping in fp-ts
endsWith string.endsWith
includes string.includes
replace string.replace
slice string.slice
split string.split
startsWith string.startsWith
toLower string.toLowerCase
toUpper string.toUpperCase
trim string.trim

Was thinking to contribute, but not sure if you accept PRs?

giogonzo commented 1 year ago

Hi @floydspace! This library is quite stale and not maintained at the moment, honestly I didn't have enough time to dedicate to the project plus it lost interest over time.

floydspace commented 1 year ago

Got it, thanks