Git Product home page Git Product logo

flax's Introduction

Hi, I’m @zoomlogo

Pronouns

he, him

Stuff I like / use

  • APL
  • C/C++
  • Iosevka (favourite font)
  • Jelly
  • Mathematics (who doesn't like maths)
  • ngn/k (favourite language)
  • Physics :p
  • Python
  • Rust
  • Vim (daily driver)
  • Vyxal (favorite esolang :P)

Anything low level also seems to catch my attention.

One day I shall complete flax.

  • zoomlogo, 2024.

Potato Stats

flax's People

Contributors

chunkybanana avatar lyxal avatar pxeger avatar steffan153 avatar zoomlogo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

flax's Issues

Arguments

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

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.

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.

Reverse format

Remove the diagraph of reversing the digits.

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

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.

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.

Version 1.1.0 Roadmap.

  • Separate atoms and quicks from builtins.py.
  • Modify *_link( overload atoms.¹
  • Add strings.
  • Remove the c flag.
  • Add string specific overloads.
  • #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).

Extend `I`

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

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

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

To add

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

ALL DONE!

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]

Refactor

Refactor and clean some functions.

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

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.