« first day (665 days earlier)      last day (1108 days later) » 

02:05
cgccuser closed issue #655 (`j` flag (and in general all output joining flags), Vyxal/Vyxal)
also a lot better
02:20
True dat
Readability? Check
Conciseness? Check
General-purpose-ness? Check (a la exec as Python)
Useful builtins? Check
 
3 hours later…
05:19
@user I think that's mostly sympy
 
5 hours later…
09:54
@Seggan 👏👏
Excellent work!
I appreciate that you're putting time and effort into making a java version of Vyxal.
It means a lot to me 😀
10:06
@emanresuA oic
Also ^^ good work
^
@Seggan I warn you though, element implementation will take a while. It took us ~2 months to implement all the elements, and that was >5 of us.
There are still >5 of us
We can all help Seggan, no reason to make them do it alone
*those of us that are willing to write Java
(aka not me)
Lol
I might be able to help with other stuff related to that though
10:12
Java really isn’t that bad if you get used to it
In any case, I at least can help
 
3 hours later…
12:53
@lyxal noice, thanks
 
1 hour later…
13:59
Is there a function in vyxal that returns the first item of something without popping the item?
h?
!!/run 10rh
@PyGamer0 0
but doesn't 10r get popped too?
!!/run 10rh,,
[@mathcat: 60401434]
0
0
!!/run 10r:h,,
14:05
[@PyGamer0: 60401439]
0
⟨ 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ⟩
i mean use ^
:face palm
thanks
well i didnt find any element that does that
14:18
Do functions operate on the global stack?
!!/info
Can somebody tell me how functions work again?
I can't seem to figure it out
14:45
@emanresuA @user feel free to PR at github.com/Seggan/Jyxal If you have questions about java bytecode or how the Elements enum works, just ask :)
@mathcat no
they have their own stack
damb
@user Vyxal is probably just on the edge of being a not-esolang. It is quite readable
3
15:27
!!/hug
bot?
!!/status
@VyxalBot
???
NO
!!/status
@VyxalBot status
VyxalBot is d..own
!!/help
oof
!!/hug
oof
15:45
!!/status
@hyper-neutrino I am doing well.
entire server crashed
uf
!!/you good?
@mathcat I am doing poggers.
!!/status
15:46
@BgilMidol I am doing spectacularly.
!!/status
@BgilMidol I am doing you.
16:11
!!/status
@Seggan I am doing spectacularly.
Interesting... playing with Jyxal, 1 2+1 2++ takes less time to execute than 1 2+
The former taking ~190 ms, the latter ~220 ms
@Seggan because you have few commands implemented
the generated bytecode for the former is longer, therefore it should take longer, no?
@Seggan o.0
16:15
and What about 179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216 1+
+ all the arbitrary-perscision complex number calculations
@Fmbalbuena ~260 ms
@Seggan Java does support infinite integer?
averaged over ~15 runs
@Fmbalbuena yes, BigDecimal/BigInteger
in my case it's a BigComplex
which is backed by 2 BigDecimals
@Fmbalbuena Interesting, running it a few more times... seems the JVM has "warmed up" and is now running it at an average of 180 ms
What about 10 3008e?
I don't have e implemented yet
just +, _, and n
16:18
@Seggan Oh, Can I help you (I don't know java, Can you help me to help you?)
sure
Can you link to Jyxal's repo?
lemme push my latest code first tho
thanks
@Seggan I don't know how to PR
You can edit
or Press Ctrl+Enter to insert \r
@user I don't know PR, Can you reopen, edit and merge?
16:22
@Fmbalbuena just vvvvv
First fork the Jyxal repo, then
```
git clone github.com/<your Github username>/Jyxal.git
<do your editing>
git commit -m "A message with what you did"
git push origin master
```
Then open a pull request
oof no multiline code blocks?
@Seggan because
chat doesnt support multiline markdown
oof
Ctrl-K works
16:24
75
Q: Markdown in chat fails for multi-line messages

sbiWe've come to rename Markdown to Letdown in the C++ chat room because it lets you down so often. I've now just found a pattern. It seems markdown fails for multi-line messages. That is, this Letdown can't cope with multi-line comments. Let's see code? fails to display code marked as code, while...

@Seggan How to execute Java
Do you have java installed
Jyxal requires Java 17
no
python wont work
nonono
@Seggan Then what now?
I think you need JDK first
Get yourself the java installer from the site i linked
no, Java Development Kit
16:30
@mathcat *Just Kidding
@Fmbalbuena just... double click it?
@Seggan which?
sigh
What OS u have?
JK, Now I'm really installing
@Seggan Done, What to do?
I was so mad at you for knowing pip but not knowing even how to install Java smh
16:34
@Seggan No, Python
@Fmbalbuena make sure its installed by running java --version
@Fmbalbuena ik. pip is python package manager
@Seggan openjdk 17.0.2
k its installed
And what now?
@Seggan will do!
16:35
i suggest you take a basic java tutorial
@Seggan I learned a bit
pop quiz: gimme a public static method that prints Jyxal
@Fmbalbuena No offence but you will likely not be much help until you learn Java
without looking it up
16:37
@Seggan off
It's years since a last looked at Java
can I guess?
@Seggan very happy about this, do you plan on using the new features (instanceof, record, etc
@mathcat sure, but i wont say yes or no until @Fmbalbuena answers
public class main{public static void main(){System.out.print("Jyxal");}}
@user instanceof has been in java since like 1.5 or smth lol
Close enough
16:38
I forgot the semicolon
@Seggan bruh
The patern match one
but yeah, im using LTS releases for now, so its Java 17 untiil next LTS
Or is that not yet stable
@user yep, already using :) (it came in java 16)
Cool cool
16:39
@Seggan Which mistake of my Print Jyxal code?
I’m stuck on java 11 for a club I’m in :(
@Fmbalbuena main(dtring[]argh)
@Fmbalbuena A few things: classes generally start with capital letters, and the main function takes a String[] argument
and i told you to write a function, not a program
public class Func{public static void Main(dtring[]argh){System.out.print("Jyxal");}}
ok, you definitely need to take a Java course
16:42
public class Func{public static void Main(dtring[]argh){System.out.print("Jyxal");}}
public class Main{public static void Main(dtring[]argh){Func();}}
i think @user threw you off on purpose
@Fmbalbuena no and no
Main.java:1: error: class Func is public, should be declared in a file named Func.java
public class Func{public static void Main(dtring[]argh){System.out.print("Jyxal");}}
       ^
Main.java:1: error: cannot find symbol
public class Func{public static void Main(dtring[]argh){System.out.print("Jyxal");}}
                                          ^
  symbol:   class dtring
  location: class Func
Main.java:2: error: cannot find symbol
public class Main{public static void Main(dtring[]argh){Func();}}
that wont even compile
@user great test
@Seggan i didn’t lol, just typod
16:43
cannot find symbol: it does not know what dtring[] is
But honestly I don’t care
Oh wait I remember something
honestly, i cant trust you to handle Jyxal code until you up your act
Now this works
public class Main{
public static void Func(){System.out.print("Jyxal");}
public static void main(String[] args){Func();}
}
@Seggan Ok, I will learn a bit of Java
ok, but functions dont start with capital letters. its just classes
16:45
Done, I learned a bit of Java: Means 1 or 0.
heres a sample of Jyxal code for you to dissasemble

public static void add(ProgramStack stack) {
Object b = stack.pop();
Object a = stack.pop();
if (a instanceof BigComplex ca && b instanceof BigComplex cb) {
stack.push(ca.add(cb));
} else {
stack.push(a + b.toString());
}
}
no, its compiled to the Java Virtual Machine
@Seggan Sorry, You can't, use //
you can't mix normal and monospace text within one multiline message
argh, ill just keep it at that
why? because SE chat is stupid. no way around it
16:47
^
!!/run `^^
@Fmbalbuena ^^
anyway, ill just get back to implementing for loops
@Seggan Can you give some code and I will transpile
java to python?
@Seggan Yes
16:49
public static void addBigDecimal(String number, MethodVisitor mv) {
    mv.visitTypeInsn(NEW, "java/math/BigDecimal");
    mv.visitInsn(DUP);
    mv.visitLdcInsn(number);
    mv.visitMethodInsn(
        INVOKESPECIAL,
        "java/math/BigDecimal",
        "<init>",
        "(Ljava/lang/String;)V",
        false
    );
}
gets compiled to

new java/math/BigDecimal
dup
ldc number
invokespecial java/math/BigDecimal <init> (Ljava/lang/String;)V
@Seggan Obviously, Add integers because The function name and this is addBigDecimal = lambda x, y: x + y
nope ;)
wrong
@Seggan Please, easy function
that was a function that adds a new BigDecimal to the generated bytecode
@Override
public String toString() {
	if (im.signum() == 0) {
		return re.toPlainString();
	} else if (re.signum() == 0) {
		return im.toPlainString() + "i";
	} else {
		if (im.signum() == -1) {
			return re.toPlainString() + " - " + im.abs().toPlainString() + "i";
		} else {
			return re.toPlainString() + " + " + im.toPlainString() + "i";
		}
	}
}
@Seggan I'm writing
def toString():
	global re, im
	if im == 0:return str(re)
	elif re == 0:return str(im) + "i"
	else:return str(im * 1j + re)[1:-1]
@Seggan ^ Too easy
but Hard to understand
16:59
Anyway, this is a Vyxal chat, if you want to learn Java, I suggest Pluralsight
(btw ure right)
@Seggan Room?
idk if theres a java one
you can ask around in there, tbh I dont have time rn
@Seggan ow that site
17:08
then if you want to contribute to parts other than element implementations, you'd need to learn about Java bytecode
@mathcat I myself learned Java through books and SO, I just heard others recommending it
 
2 hours later…
19:21
14 messages moved to ­Trash
 
4 hours later…
23:19
Just to confirm: there are no elements that take 3 args, right?
nvm found ¢
There's a few of them
Like V, ŀ and Ŀ
@Seggan damn, you have to hardcode method signatures?
@lyxal are you thinking of adding fourarg ones too?
@user no, I don't think there's much use for those
@user nah, I just pass a ProgramStack around 🤣
though I do have a bytecode optimization that makes the program use the JVM operand stack whenever possible
23:45
oh no 3 argument vectorisation is gonna be a pain
Luckily I have Copilot writing it all for me
@Seggan i know right.
It took a while to get it figured out for the python version
2 arg vectorisation is already 66 lines oof

« first day (665 days earlier)      last day (1108 days later) »