summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Simplify: Reduce plus of literalsTom Smeding2024-12-06
|
* Simplify: Some forgotten 'acted'Tom Smeding2024-12-06
|
* WIP UnMonoid (to be used for compiling to C)Tom Smeding2024-12-06
|
* Fix indentationTom Smeding2024-12-06
|
* Working argument accum mode (...)Tom Smeding2024-11-26
| | | | | | | | | | | | | | | The derivative of 'neural' in full accum mode is pretty atrocious now; I think this is because when you have code like this: \(a :: Arr 1 R) -> let b = a in let c = b in sum d then because the argument, as well as both let bindings, bind a value of array type, each will introduce an accumulator, hence resulting in three (!) nested `with` clauses that each just contribute their result back to their parent. This is pointless, and we should fix this.
* WIP accum top-level argsTom Smeding2024-11-26
|
* Prepare for introducing top-level args in accum modTom Smeding2024-11-23
|
* Use accum storage for Case tooTom Smeding2024-11-23
|
* Benchmark with accum-mode bound variablesTom Smeding2024-11-23
|
* drevScoped returns a data type, not CPSTom Smeding2024-11-23
|
* Factor let storage-dependent scoping logic into separate functionTom Smeding2024-11-22
|
* Configuration for CHADTom Smeding2024-11-14
|
* Benchmark GMMTom Smeding2024-11-14
|
* Remove warningsTom Smeding2024-11-13
|
* Make EBuild derivative aware of zero cotangent arraysTom Smeding2024-11-11
|
* Test gmmTom Smeding2024-11-10
|
* Fix forward derivative of 'exp'Tom Smeding2024-11-10
|
* Test GMM; it failsTom Smeding2024-11-10
|
* Fix bug in simplifier (effects are hard)Tom Smeding2024-11-10
|
* Complete GMM implementationTom Smeding2024-11-10
|
* Most of GMMTom Smeding2024-11-09
|
* Cleanup, more Language operationsTom Smeding2024-11-09
|
* Add Custom to LanguageTom Smeding2024-11-09
|
* Some more primitive operatorsTom Smeding2024-11-09
|
* Maximum/minimumTom Smeding2024-11-09
|
* WIP maximum/minimumTom Smeding2024-11-08
|
* Custom derivativesTom Smeding2024-11-08
|
* WIP custom derivativesTom Smeding2024-11-08
|
* Remove build1Tom Smeding2024-11-07
|
* BenchmarkTom Smeding2024-11-07
|
* Some simplification rulesTom Smeding2024-11-06
|
* Generate EOneHot in D[EIdx]Tom Smeding2024-11-05
| | | | | | This generates a one-hot for the zero-dimensional inner array because indexing one level further to the actual element is too difficult. But this should simplify away fine.
* Support EOneHotTom Smeding2024-11-05
|
* WIP EOneHotTom Smeding2024-11-04
|
* simplifyFixTom Smeding2024-10-29
|
* Store only on tape what's used in the dualTom Smeding2024-10-29
|
* WIP preserve only subset of D0 bindings in dual (...)Tom Smeding2024-10-27
| | | | | | | | | | | | | | | The point of this is to ensure that when an expression occurs in a Build, then the parts of D0 that are only there to make sharing work out for D1 are not laboriously taped in an array and preserved for D2, only for D2 to ignore them. However, while the subtape machinery is a good first step, this is not everything: the current Build translation makes a Build for the (elementwise) tape and separately a build for the primal. Because the primal _does_ generally need the subtaped-away stuff, we can't just not tape those. TODO: figure out how to resolve this / what the next step is.
* Fix buildTom Smeding2024-10-27
|
* Better inline syntax for LanguageTom Smeding2024-10-27
|
* Can differentiate 'neural' nowTom Smeding2024-10-26
|
* Also test primal resultsTom Smeding2024-10-26
|
* Fix EIdx derivativeTom Smeding2024-10-26
|
* Show accumulator as dummy string, not errorTom Smeding2024-10-26
|
* Fix IIxNil warningTom Smeding2024-10-26
|
* Make interpreter debug printing conditionalTom Smeding2024-10-26
|
* Fix {} usage in pretty-printing of ELetTom Smeding2024-10-26
|
* DebuggingTom Smeding2024-10-26
|
* Make test suite a little friendlier to debuggingTom Smeding2024-10-22
|
* Fix interpreter bugTom Smeding2024-10-22
|
* Less warningsTom Smeding2024-10-22
|