Jaskell Java8 is Java8 Edition of Jaskell Core library. It rewritten completed by Java 8. So easy to use in Java8 projects.
It includes a parsec combinators library , a SQL expressions library and a arithmetic expressions parser.
<dependency>
<groupId>io.github.marchliu</groupId>
<artifactId>jaskell-java8</artifactId>
<version>2.9.0</version>
</dependency>
implementation 'io.github.marchliu:jaskell-java8:2.9.0'
implementation("io.github.marchliu:jaskell-java8:2.9.0")
libraryDependencies += "io.github.marchliu" % "jaskell-java8" % "2.9.0"
<dependency org="io.github.marchliu" name="jaskell-java8" rev="2.9.0" />
@Grapes(
@Grab(group='io.github.marchliu', module='jaskell-java8', version='2.9.0')
)
[io.github.marchliu/jaskell-java8 "2.0.1"]
'io.github.marchliu:jaskell-java8:jar:2.9.0'
[![Maven Central](https://img.shields.io/maven-central/v/io.github.marchliu/jaskell-java8.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22io.github.marchliu%22%20AND%20a:%22jaskell-java8%22)
pkg:maven/io.github.marchliu/jaskell-java8@2.9.0
- SQL add sum function
- make sum and count functions as literal, so them could have alias
- add parsec common namespace for common jobs
- make parsec combinators easier to use
- make group/order by accept name list
- add choice(list of parsecs) function
- make name could escape
- make parameters of sql more clean
1.2 着重 SQL 组件重构
- add text state constructor
- add int tests
- bugs in int parser fixed
- all SQL statements generate upper case words
- add expression parser library
- bugs fixed
- parsec can parse a Seq or String once by shortcut method
- add scientific number parser
- add a test include scientific number new test
- bug fixed
- where could order and group
- add parameter expression
- make sql components easier to used.
- add distinct
- add select list
- add select function
- add order by and group by list
- add in predicate
- bug fixed, Select.From now is CouldFrom
- add more default methods sugar for parsec functions
- make binary public
- having now is a query
- add could having
- add weak expression sample mix boolean and arithmetic expression
- add could order, limit offset for having
- add could union for query
- add could returning
- add predicate parser
- formal sync as jaskell-dotty
- try now named attempt
- create a try type like scala try
- reflections of Try
- add map and recover for try
- add simple failure for try
- auto attempt in option
- add attempt method in parsec
- improve Try type
- code clean in Try
- use junit 5
- add croupier type for custom random select algo
- add lite scaled algo for croupier
- add binary scaled
- add binary rank
- fixed edge condition mistake in damping
- make invert smoothness. now it just be a negative damping
- add enumerate parser
- add enumerate utils methods in object Txt and Combinator
- add join map/flat map from 1 to 8 for Try type
- add tryIt methods for function types
- make Try Class final
- function types could throw when apply call
- replace throwable in method's signature to exception
- add confirm method to re triable function
- add BiConsumer
now we can set rest in retry‘s on error handler
- add triable interface
- now retriable type implement triable
- add all and any methods for try
- add async all and any methods, use completable future run on fork join tasks or custom executor
- add curry methods for functionX
- add tupleN (2~8)
- add liftA for tupleN
- add apply for functionX
- uncurry for tupleN
- cow methods for tuple
- add item methods for tuple
- add tuple interface
- head method
- tail method
- last method
- butLast method
- add static methods for tuple construct
- size method
- get by pos method
- toList method
- toMap method
- add methods for triable interface make it as lazy try
- joinMap
- joinFlatMap
- map
- flatMap accept argument typed Function<T, Try<U>>
- async methods
- triable collect method return try object
- rename tryIt of Functions to collect
- add stream method for try
- add try tests
- upgrade project settings