- windows lol
- serialize (save on disk) REPL states
- documentation generated from types
- idioms... deforestation
- mapMaybe hm
- numpy einstein summation
- documentation from types
- quickcheck!
- automatic differentiation (pytorch eh)
- https://hackage.haskell.org/package/containers-0.7/docs/Data-Sequence.html#v:cycleTaking (cycle til')
- Use
arc4random_buf
and alsoarc4random_uniform
,random
,drand48
- special case for
𝔯 0 1 :: float
etc. -
𝔯 0 1 :: Arr sh int
special case, apply bitmask over array? - folds/scans shouldn't take seeds
- allow type signatures in lambdas?
- mko executable - compile expression into .o file, with some name
- random number generation
- lift constants out of loops (precompute)
- tuples idk.
- float tuple return
- reshape arrays
- clz? (count leading zeroes = floor(log) -> digits)
- flatness check (arrays)
- generalize "diagonal"?
- fold-along-diagonal for poly mult. https://code.jsoftware.com/wiki/Vocabulary/slashdot
- ℘
- span/break?
- [½] ⊲ ⊳ ⪫ ⪪
- [ ]〔〖【
- ⫛ for J's oblique
- ‰
- https://en.wikipedia.org/wiki/Guillemet#Encoding
- https://en.wikipedia.org/wiki/Prime_(symbol)#Computer_encodings
- script f https://en.wikipedia.org/wiki/Mathematical_Alphanumeric_Symbols#Latin_letters
- https://www.compart.com/en/unicode/block/U+2A00
- https://www.compart.com/en/unicode/block/U+2440
- dfns like k, APL (J)
- https://en.wikipedia.org/wiki/Hwair
- https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode
- https://en.wikipedia.org/wiki/Arabic_script_in_Unicode#Punctuation_and_ornaments
- https://commons.wikimedia.org/wiki/Unicode_circle_shaped_symbols
- ☉
- https://www.compart.com/en/unicode/U+1D66
- Ϟ (koppa), Ϡ (sampi)
- arrays in assembler: register indirection?
T13 = A_0
T16 = T13.dim[0]
- Break dependency chains: use e.g. four accumulators per loop cycle when summing float array (see agner fog)
- consolidate move-zero for floats and ints
eor x5, x5, x5 a5 00 05 ca fmov d2, x5 a2 00 67 9e eor x5, x5, x5 a5 00 05 ca
- think of a better way to handle functions of tuples (internally)
-
πe
which places in registers?
-
- map-of-gen. idiom
- bitmask immediates for
and
on aarch64 - Use
Word64
for sets of registers - Modify state (+1) instead of using lazy list to supply e.g. temps
λa.λn. {log ← (%)⑂(_.∴ℝ); N ⟜ ⌊(log a n)+1; ~(ug. (λs. (s/.n, s|n)) a N)}
has universally quantified return type, should be existential!
> enc'irange 0 10
Vec 11 [ 87960950128712
, 131941424177260
> (#f⊳)'⟨⟨#f,#f⟩,⟨#t,#f⟩,⟨#t,#t⟩,⟨#f,#t⟩⟩
Arr (4×3) [ [#f, #f, #f]
, [#t, #f, #f]
, [#t, #t, #f]
, [#f, #t, #f] ]
> (#f⊲)'⟨⟨#f,#f⟩,⟨#t,#f⟩,⟨#t,#t⟩,⟨#f,#t⟩⟩
Arr arepl: src/Hs/A.hs:35:15-34: Non-exhaustive patterns in \case
HasCallStack backtrace:
bracket, called at libraries/haskeline/System/Console/Haskeline/InputT.hs:157:33 in haskeline-0.8.2.1-c961:System.Console.Haskeline.InputT
> \xs.\rs. [(-y)'x]`{1∘[2],0} xs (rs::Vec 2 float)
λxs. (λrs. ((λx. (λy. (λx. x - y) ' x)) `{1∘[2],0} xs) rs)
: Arr (2 × j) float → Vec 2 float → Arr (sh ⧺ j) float
> \xs.\rs. [(-x)'y]`{0,1∘[2]} (rs::Vec 2 float) xs
λxs. (λrs. ((λx. (λy. (λx. x - x) ' y)) `{0,1∘[2]} rs) xs)
: Arr (2 × j) float → Vec 2 float → Arr (2 × j) float
- [ ]
> :yank ix test/data/ixGen.🍏
> :ix ⟨1.0,3,4⟩
zsh: illegal hardware instruction cabal run arepl
- :cmm \xs. [⟨x->1,x->2⟩]'(xs::Vec n (float, float))
- segfault when
aso
is called pre-register allocation (arm) - Should display constraints
> :ty (+)
a → a → a
> :ty (⋉)
o → o → o
-
:asm [x(%.)(y::Arr(i
Consj
ConsNil)float)]
type inference?? -
xmm0
andxmm1
incorrectly marked as clobbered when return value is not actually inxmm0
/xmm1
or whatever -
fsin
instruction requires reduction module 2pi or w/e - beta-reduction with 'rand' or w/e (needs to be llet ... in)
- Pass over to ensure everything is monomorphized
-
itof (:xs)
- would prefer w/o parens? - it would be nice to write
_x%y
instead of(_x)%y
(parse precedence) - match doesn't check constraints on annotations
- diagonal on higher-rank?
- Check that bindings are not too polymorphic
- after inlining
- add a pass to prevent arrays of tuples of arrays
- indexing with tuples (3-tuple for rank 3 array...)
- Warn if irange or frange will exceed?
- color!
- https://optimized-einsum.readthedocs.io/en/stable/
- polynomial evaluation
- https://mathworld.wolfram.com/MotzkinNumber.html
- perceptual hash
- median lol (indexing?)
- FFT
- generating functions
-
+//. y
in J... maybe/.
takes∀n. (Arr (n
ConsNil)) -> ...
- https://www.labri.fr/perso/nrougier/from-python-to-numpy/
- neural net!
- think: inner/outer product, wedge products (?)
- permutations/indices (determinant...)
- discrete cosine transformation (gen2.)
- outer-ix idiom?
- https://en.wikipedia.org/wiki/Arithmetic–geometric_mean#Complete_elliptic_integral_K(sinα)
- https://github.com/justin2004/image-processing#image-processing-with-apl
- http://shvbsle.in/computers-are-fast-but-you-dont-know-it-p1/
- SciPy t-test
- full hypergeometric (analytically extended?)
- https://www.shamusyoung.com/twentysidedtale/?p=11874
- ANOVA
- F-distribution CDF
- http://www.paulbourke.net/fractals/burnship/
- kaplan-meier, clopper-pearson?
- https://forem.julialang.org/inphyt/ann-juliaepi-collaborative-computational-epidemiology-in-julia-19ng
- https://michaelmoroz.github.io/TracingGeodesics/
- https://palaiologos.rocks/posts/linalg-apl/
- FFI https://code.jsoftware.com/wiki/Guides/DLLs/Calling_DLLs
- https://code.jsoftware.com/wiki/Essays
- J integration:
-
viewmat 100 100 $ 1 2 1
viewmat */~i:5
viewmat +/~i.10
-
- https://www.cygnus-software.com/downloads/downloads.htm
- https://laustep.github.io/stlahblog/posts/OnAMobiusTransformation.html
- https://laustep.github.io/stlahblog/posts/beautifulComplexFunctions.html
- https://hackage.haskell.org/package/weierstrass-functions-0.1.0.0
- n-body (benchmarks)
- https://rhodesmill.org/skyfield/
- https://aakinshin.net/posts/r-hodges-lehmann-problems/
- orbital densities!
- http://psa.es/sdg/sunpos.htm
- https://stat.ethz.ch/R-manual/R-devel/library/stats/html/00Index.html
- https://github.com/profConradi/Python_Simulations/blob/599e7c66903166c1e5997318878a6db6f1aaa3d8/Nice_orbits.ipynb
- http://falstad.com/mathphysics.html
- https://mathstodon.xyz/@[email protected]/111992137516554370
- https://math.ucr.edu/home/baez/roots/
- http://xahlee.info/math/algorithmic_math_art.html
- https://rosalind.info/problems/locations/
- https://en.wikipedia.org/wiki/Newton_fractal
- https://en.wikipedia.org/wiki/Table_of_spherical_harmonics
- https://prng.di.unimi.it/splitmix64.c
- https://github.com/tonio-m/python_neural_network/blob/main/main.py
- https://github.com/profConradi?tab=repositories
- factors : int -> [(int, int)]
- https://www.infinitepartitions.com/art001.html
- https://en.wikipedia.org/wiki/Bhattacharyya_distance
- better mnist
- https://github.com/eliot-tron/curvcomputenn/blob/89410f64030e8b07434c30f7752b163df6e97f28/mnist_networks.py#L5
- torch's Linear, Conv2d, Affine, ReLU, MaxPool2d
- https://github.com/eliot-tron/curvcomputenn/blob/89410f64030e8b07434c30f7752b163df6e97f28/mnist_networks.py#L5
- multivariate adaptive regression spline
- https://www.2dcurves.com/derived/caustic.html
- https://en.wikipedia.org/wiki/Mahalanobis_distance
- https://cran.r-project.org/web/packages/indicspecies/vignettes/IndicatorSpeciesAnalysis.html
- cellular automata
- https://www.bathsheba.com/math/gyroid/
- https://www2.cs.arizona.edu/patterns/weaving/webdocs/wa_sbks.pdf
- https://www2.cs.arizona.edu/patterns/weaving/webdocs/gre_frnd.pdf
- https://oeis.org/A000081
- https://oeis.org/A227503
- https://oeis.org/A099174
- https://en.wikipedia.org/wiki/Chebyshev_polynomials
- https://cran.r-project.org/web/packages/glmm/index.html
- https://www.jsoftware.com/papers/50/
- APL "index-of" dyad: array of indices where item in right appears in left
- https://2π.com/22/approximation/index.html
- https://www.skybluetrades.net/blog/category/data-analysis.html
- https://code.jsoftware.com/wiki/User:John_Randall/FourierTransformAndPolynomialMultiplication
- cute. https://en.wikipedia.org/wiki/Stirling_number#As_inverse_matrices
- https://rosettacode.org/wiki/Cyclotomic_polynomial#Haskell
- synthetic division alone would be good...
shortDiv :: [Integer] -> [Integer] -> [Integer]
shortDiv p1 (_:p2) = unfoldr go (length p1 - length p2, p1)
where
go (0, _) = Nothing
go (i, h:t) = Just (h, (i-1, zipWith (+) (map (h *) ker) t))
ker = negate <$> p2 ++ repeat 0
- https://github.com/rougier/scientific-visualization-book
- https://lodev.org/cgtutor/xortexture.html
- https://x.com/yuruyurau/status/1873400073255800891
- sanity check negative dims