last day (50 days later) » 

06:00
hello everyone
I would share my progress of making my new language Anaconda here
It it stack based and postfix
Yummy
The interpreter will be in Python (not implemented yet)
Draws inspiration from Vyxal, APL and 05AB1E
And consequently Jelly, Husk and to an extent, Ash
If you want to be an RO here ping me
@lyxal yeah i think so
@Wasif as in that's where I got my inspiration from
06:02
APL and Vyxal/05AB1E are... quite different
I will use APL like codepage
Its beautiful
I imagine you are taking the structure inspiration from previous stack-based languages and APL is for the vectorization/array mechanisms?
@hyper-neutrino yeah sorta
@Wasif It's also not exactly single width
06:04
I once had APL glyphs in Vyxal's codepage
They were annoying after a while
@lyxal you have chosen APLs multiplication and division operator in new codepage isn't it
I warn you, parsing will be a pain
thanks but you didn't really need to add me as an RO :P
06:05
room topic changed to Anaconda: For discussion about Wasif's new golfing language [anaconda] [language-design] [never-gonna-give-you-up] [new-language]
@Ausername I will change the codepage later if I have parsing problems
@Wasif Jelly and 05ab1e also have those
codepage is likely not gonna be the problem with your parser
^
Syntax is
make sure you plan it out beforehand
06:06
^
adding to a parser as you go is likely to go poorly
Pro tip: get a pen and a piece of paper and physically write out examples of how you would solve challenges using Anaconda
^ some simple challenges
not a bad idea to imagine how you'd solve them, build your language spec around that, and implement around that
Also, experiment with recent code golf challenges too
Is 0 positive?
06:09
no
positive is defined as >0
negative is defined as <0
0 is 0
ok
@lyxal I am doing that already
@Wasif good :)
@Ausername no its non-negative
Another protip: Have other golfing language's command lists open while deciding on built-ins
06:11
ok I have several open right now
Parsing well-defined, explicit and consistent syntax is easy. Parsing golfing-language syntax is not.
For example, if you're parsing JS, you can gurantee that everything will be completed.
ok
I wish we could redo CGCC Jeopardy.
0    Number literals
1
2
3
4
5
6
7
8
9
`   String delimiter
+   Addition (number)
    Concatenation (string)
-   Subtraction (Number)
    Replace (String)
×   Multiplication (Number)
÷   Division (Number)
*   Exponentiation (Number)
⌈     Maximum (list)
    Ceiling (number)
⌊     Minimum (list)
    Floor (number)
=   Equals
≠   Not equals
≤   Less than or equal
<   Less than
≥   Greater than or equal
>   Greater than
!   Factorial
∧    Bitwise AND
∨    Bitwise OR
~   Bitwise NOT
⍵   Context variable
Decided partial codepage
Structures are mostly from Vyxal and rest of are APLish
I will overload the functions later
06:24
100(⍵15%0=["FizzBuzz"|⍵5%0=["Fizz"|⍵3%0=["Buzz"|⍵]]],)
Me when first anaconda fizzbuzz
oh nice
When more builtins will be added it will be shorter
100(⍵15%0=[`FizzBuzz`|⍵5%0=[`Fizz`|⍵3%0=[`Buzz`|⍵]]],)
54 bytes
Let's how many can we do with the existing codepage
`Hello World Hello, World! (Strings would not require closing when at EOF)
:   Duplicate
$   Swap
^   Reverse stack
.   Decimal seperator
Basic stack shuffling
Any better suggestion for the characters in stack shuffling?
rotate stack, push 2nd-to-TOS, cycle top 3
ok
i believe vyxal has all of those
Is this becoming a Vyxal clon
06:34
⦼     Rotate stack left
∑   Sum list
idea: queue based language
@hyper-neutrino nice, but I will stick to stack
@hyper-neutrino tio.run/#res
Ɩ   Inclusive range a..b
06:39
Use a squack, which alternates between a queue and a stack whenever you pop off it
Or even better, a rack, a stack which shuffles after each operation.
:1-2$Ɩ$÷∑ number of proper divisors
Java is to Javascript as Pyth is to Python.
:1-2$Ɩ$÷∑0= prime check
with current commands
06:43
@Ausername very inaccurate
Java > Pyth!
noooo
And as Ruby is to Ruby, PHP is to PHP, HTML is to HTML, and CSS is to CSS.
@Ausername That would be really GREAT!! (But not for anaconda)
[{1,}|0, truth machine
please tell me if my implementations are ok
@Wasif [{1,
@lyxal very clever
forgot stack would initialize to 0
and implicit ToS output
‟ rotate stack right
_   pop/discard
0 1{:,:⦼+ fibonacci sequence
But there will be builtins for these soon
Can prime check and fibonacci be shorter with current commands?
06:54
@Wasif add a "divisors of" command, and the answer is yes
@lyxal I will add even a prime check soon
a_th prime, next prime everything will be added
@Wasif laughs in ⁽+dk≈Ḟ
@lyxal sneaky lets port it
@Wasif that is, ⁽+ (the function +) d (with arity two) k≈Ḟ (turned into a generator with initial list [0, 1])
oh yes
Vyxal has a fibonacci builtin
Anaconda will have one too
well bye everyone for now
will come back later
07:00
o/
 
5 hours later…
11:44
Should I use fractions module to avoid floating point errors and infinite precision arithmetic?
I am thinking if a flag is passed to the program, it will use Fractions instead of floats
11:57
pls give your opinion on ^
12:20
use sympy fractions

  last day (50 days later) »