Git Product home page Git Product logo

flax's Issues

Dyadic diagraph idea

Substitue / Replace insides ... whatever.

Takes y as an array and sandwiches x between y[0] and y[-1]

Example: [3, 4]<thing>[4, 5] -> [4, 3, 4, 5]

Extend `I`

Make I the index generator. Similar to Dyalog APL's iota.

{⊃∘.,/⍳¨⍵} in Dyalog APL.

Convert to int if it is int

If the number is int, convert it to int.
2.0->2

intify=lambda x:vectorised(lambda a:int(a)if a==int(a)else a)

Right to Left

Make flax right to left like most array languages.

Arguments

Nilads that refer to the chain's left or right argument.

Reverse format

Remove the diagraph of reversing the digits.

Now use for reverse / reversed range.
And use R for vectorise reverse / reversed digits.

Refactor the codepage.

The codepage should be rewritten: glyphs will be the same, only their positions will be changed.

Probably this:

x|0123456789ABCDEF
------------------
0|⁰¹²³⁴⁵⁶⁷⁸⁹¶₹«»≡≢
1|лнпя‘’¢£¥€⌿⍀≥≠≤±
2| !"#$%&'()*+,-./
3|0123456789:;<=>?
4|@ABCDEFGHIJKLMNO
5|PQRSTUVWXYZ[\]^_
6|`abcdefghijklmno
7|pqrstuvwxyz{|}~˙
8|ȦḂĊḊĖḞĠḢİĿṀṄȮṖṘṠ
9|ṪẆẊẎŻȧḃċḋėḟġḣŀṁṅ
A|ȯṗṙṡṫẇẋẏż→←↑↓∥∦¬
B|´˝˘¨˜¯¼½¾×⁼∞∝∀∃÷
C|∘○⟜⊸∊∴∵∂⊂⊃⊆⊇⊏⊐⊑⊒
D|αβγδεζηθικλμνξπρ
E|ςστυφχψωΩ⌈⌊⌉⌋ØÆŒ
F|√∑∏⊢⊣⊤⊥∧∨∪∩⍋⍒øæœ


NOTES:
- ¶ is a newline

Add unit tests

For each an every element, there should be a unit test.
Makes spotting bugs wayy easier.

Enchance some quicks

Using this decorator:

def fix_default_args(f):
    return lambda *args: f(args[0], args[1]) if len(args) == 2 else f(None, args[-1])

Since some lambdas use the ugly looking lambda w,x=None: which will confuse me in the future.

To add

N: Nilad, M: Monad, D: Dyad
SB: Single byte, DB: Diagraph
Q: Quick

ALL DONE!

Refactor

Refactor and clean some functions.

Better random

Better random. (vectorises)
Ŕ turns into ?, which functions similar to APL.
0? Gives a random floating number from 0 to 1.
s? Turns s into a range and selects one randomly from that.

Version 1.1.0 (or maybe 2.0.0) Roadmap.

  • Separate atoms and quicks from builtins.py.
  • Modify *_link( overload atoms.¹
  • Add strings.
  • Remove the c flag.
  • Add string specific overloads.
  • Add combinations with replacement.
  • Add more math related stuff. (maybe trigraphs?)
  • #68
  • #69
  • #64 ²

¹ Modify monadic_link and dyadic_link to accept overloads=fdict where fdict is like:

{
  "num-num": lambda w,x: w+x,
  "str-lst": ...,
  "str-any": ...,
  "num-any": ...,
  "any-any": ...,
}

² For this I will use my own implementation (which I might copy mostly from Vyxal).

Add more elements

  • Rotate, APL's dyadic
  • To base
  • From base
  • Change reshape to include negative numbers.
  • Boolean matrix to braille.
  • Range from 1...n

Website: Element search.

New idea, documentation will be in the repository.

The website will be like APLCart.

  • Import icfs regular.
  • Import defined.nvim colorscheme.
  • Get JS running.
  • elements.txt -> yaml
  • Load the elements.json
  • List and sort the element.
  • Make it searchable.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.