CoPaR merge requestshttps://git8.cs.fau.de/software/copar/-/merge_requests2018-07-18T07:41:04Zhttps://git8.cs.fau.de/software/copar/-/merge_requests/1Polynomial functor2018-07-18T07:41:04ZThorsten WißmannPolynomial functorhttps://git8.cs.fau.de/software/copar/-/merge_requests/2Exponentials2018-07-19T13:09:03ZThorsten WißmannExponentialshttps://git8.cs.fau.de/software/copar/-/merge_requests/3Add build script that wraps stack2018-07-29T08:29:43ZThorsten WißmannAdd build script that wraps stack@thorsten ist das skript halbwegs sinnvolles bash?@thorsten ist das skript halbwegs sinnvolles bash?Thorsten WißmannThorsten Wißmannhttps://git8.cs.fau.de/software/copar/-/merge_requests/5Features/true monoids2018-10-25T12:45:18ZThorsten WißmannFeatures/true monoidsImplements the following new functor:
```
(ℤ, max)^X
x: {x: 1, y: 3}
y: {x: 2, y: 2}
z: {x: -5, y: 3, z: 1}
```Implements the following new functor:
```
(ℤ, max)^X
x: {x: 1, y: 3}
y: {x: 2, y: 2}
z: {x: -5, y: 3, z: 1}
```https://git8.cs.fau.de/software/copar/-/merge_requests/6Functor subexpression absorbing2018-11-02T08:12:24ZThorsten WißmannFunctor subexpression absorbingDas ist noch ziemlich "Work in Progress", aber der aktuelle Status lässt sich schon testen:
```shell
ma refine --apply-ast-transforms FILE
```
sollte das richtige ausgeben und
```shell
ma graph --apply-ast-transforms FILE
``...Das ist noch ziemlich "Work in Progress", aber der aktuelle Status lässt sich schon testen:
```shell
ma refine --apply-ast-transforms FILE
```
sollte das richtige ausgeben und
```shell
ma graph --apply-ast-transforms FILE
```
zeigt gut, wie sich die Graphstruktur im Gegensatz zu ohne `--apply-ast-transforms` verändert.Thorsten WißmannThorsten Wißmannhttps://git8.cs.fau.de/software/copar/-/merge_requests/7Rename the functor H to F2018-11-09T12:53:01ZThorsten WißmannRename the functor H to FF seems to be the canonical name for the functor of an F-coalgebra.F seems to be the canonical name for the functor of an F-coalgebra.https://git8.cs.fau.de/software/copar/-/merge_requests/8Use exact comparision for doubles2018-11-16T15:00:00ZThorsten WißmannUse exact comparision for doublesComparision with `(a-b < ɛ)` is not transitive and thus doesn't induce
an equality relation. Since the whole job of the algorithm is to
partition according to an equality relation, this may be problematic.
Instead, to compare doubles a ...Comparision with `(a-b < ɛ)` is not transitive and thus doesn't induce
an equality relation. Since the whole job of the algorithm is to
partition according to an equality relation, this may be problematic.
Instead, to compare doubles a and b, we now round both values to
floats and compare those exactly. This means that we get a proper
equality relation, even if it fails to distinguish some states and
wrongly distinguishes others when compared to operations on true real
numbers.Thorsten WißmannThorsten Wißmannhttps://git8.cs.fau.de/software/copar/-/merge_requests/9Rationals2018-11-16T15:00:09ZThorsten WißmannRationalshttps://git8.cs.fau.de/software/copar/-/merge_requests/10Linux bin artifacts2018-11-30T12:46:24ZThorsten WißmannLinux bin artifactsPublish the most recently built linux binaries as artifacts. This makes the wait shorter for users who just want to try copar quickly.Publish the most recently built linux binaries as artifacts. This makes the wait shorter for users who just want to try copar quickly.https://git8.cs.fau.de/software/copar/-/merge_requests/11WIP: WEB!2018-12-13T14:29:07ZThorsten WißmannWIP: WEB!https://git8.cs.fau.de/software/copar/-/merge_requests/13Fixes2019-03-22T09:05:51ZThorsten WißmannFixeshttps://git8.cs.fau.de/software/copar/-/merge_requests/12WIP: Random WTA generator2019-04-12T10:34:36ZThorsten WißmannWIP: Random WTA generatorSiehe:
``` shell
stack build
stack exec -- random-wta --help
```
Zum Beispiel:
``` shell
stack exec -- random-wta --monoid N,or --states 2 --symbols 1,0,10
```Siehe:
``` shell
stack build
stack exec -- random-wta --help
```
Zum Beispiel:
``` shell
stack exec -- random-wta --monoid N,or --states 2 --symbols 1,0,10
```Thorsten WißmannThorsten Wißmannhttps://git8.cs.fau.de/software/copar/-/merge_requests/14Implement true rationals2019-05-29T13:03:22ZHans-Peter DeifelImplement true rationalsRationals were already supported, but their input syntax was the same as for
reals: Decimal fixed point notation. This is now fixed and the functor X^-
allows weights to be written as either integers or ratios of integers, separated
by a...Rationals were already supported, but their input syntax was the same as for
reals: Decimal fixed point notation. This is now fixed and the functor X^-
allows weights to be written as either integers or ratios of integers, separated
by a slash.https://git8.cs.fau.de/software/copar/-/merge_requests/15WIP: Specialize2020-02-24T16:10:57ZHans-Peter DeifelWIP: SpecializeSee what happens if we let GHC specialize the algorithm for specific functorsSee what happens if we let GHC specialize the algorithm for specific functorsThorsten WißmannThorsten Wißmannhttps://git8.cs.fau.de/software/copar/-/merge_requests/16fix typo2020-04-03T13:42:29ZBastian Kauschkefix typohttps://git8.cs.fau.de/software/copar/-/merge_requests/18add missing space to "defined twice" error2020-04-17T15:23:40ZBastian Kauschkeadd missing space to "defined twice" errorHans-Peter DeifelHans-Peter Deifelhttps://git8.cs.fau.de/software/copar/-/merge_requests/17[WIP]: remove Polynomial::Product, add Pair functor2020-04-19T16:02:05ZBastian Kauschke[WIP]: remove Polynomial::Product, add Pair functorAn exercise. `pairp` is probably still faulty, as `examples/dfa` fails with
```
examples/dfa:16:6:
|
16 | {f,n}xX^{a,b}
| ^
unexpected 'x'
expecting '#', '+', newline, or space
```An exercise. `pairp` is probably still faulty, as `examples/dfa` fails with
```
examples/dfa:16:6:
|
16 | {f,n}xX^{a,b}
| ^
unexpected 'x'
expecting '#', '+', newline, or space
```Hans-Peter DeifelHans-Peter Deifelhttps://git8.cs.fau.de/software/copar/-/merge_requests/19Add functor implementation example2020-04-20T12:06:53ZBastian KauschkeAdd functor implementation exampleAdds an implementation of the cross product `(AxB)` as an example.Adds an implementation of the cross product `(AxB)` as an example.Hans-Peter DeifelHans-Peter Deifelhttps://git8.cs.fau.de/software/copar/-/merge_requests/20custom impl for `debug print-functor`2020-05-06T16:38:01ZBastian Kauschkecustom impl for `debug print-functor`implements #7
This still does not support all functors, so this is mostly for early feedback.
Currently supported examples:
```
copar debug print-functor "D({f,n}xPX)" --no-functor-transforms
Distribution D'0
└ '0: Polynomi...implements #7
This still does not support all functors, so this is mostly for early feedback.
Currently supported examples:
```
copar debug print-functor "D({f,n}xPX)" --no-functor-transforms
Distribution D'0
└ '0: Polynomial {f, n}x'1
└ '1: Powerset P'2
└ '2: Variable X
copar debug print-functor "D({f,n}xPX^{a, b, c}+({f, n}xX))" --no-functor-transforms
Distribution D'0
└ '0: Polynomial {f, n}x'1^{a, b, c} + '2
├ '1: Powerset P'3
│ └ '3: Variable X
└ '2: Polynomial {f, n}x'4
└ '4: Variable X
copar debug print-functor "{f,n}xP(D({f,n}xPX^{a, b, c}+({f, n}xX)))+X" --no-functor-transforms
Polynomial {f, n}x'0 + '1
├ '0: Powerset P'2
│ └ '2: Distribution D'3
│ └ '3: Polynomial {f, n}x'4^{a, b, c} + '5
│ ├ '4: Powerset P'6
│ │ └ '6: Variable X
│ └ '5: Polynomial {f, n}x'7
│ └ '7: Variable X
└ '1: Variable X
```Hans-Peter DeifelHans-Peter Deifelhttps://git8.cs.fau.de/software/copar/-/merge_requests/21Allow names starting with digits2020-05-13T07:49:38ZBastian KauschkeAllow names starting with digitscloses #5closes #5Hans-Peter DeifelHans-Peter Deifel