#dev-general

1 messages ยท Page 371 of 1

prisma wave
#

So return []

ocean quartz
#

Nice I'll take a look in a sec

oblique heath
#

ahh

prisma wave
#

Also why are you taking a Float parameter?

#

why not an Int?

oblique heath
#

just for fun, i'm going to turn it into just the decimal portion

#

it may as well be an int here though

prisma wave
#

Probably better as an int

oblique heath
#

those last two lines are still made at me

#

now i feel like i'm not using sequence correctly

#

actually..

prisma wave
#

Yeah sequence operates on lists

#

Or Traversables if we're being specific

oblique heath
#

is there a replacement for sequence for single values

#

oh wait i guess not huh

#

wait... how do I call sequence on the list only one time

prisma wave
#

hmm

#

it might be easier to not do the recursion yourself in this case

oblique heath
#

;o

prisma wave
#

You could instead use something like replicateM

oblique heath
#

ah i saw that in the coc

#

is there really no way to use recursion for this though ๐Ÿ˜ฆ

#

what If i skip the sequence in here and actually return [IO Float]

#

and call sequence on that afterwards

#

or are there other issues with doing it recursively besides that

prisma wave
#

No you could do sequence later

#

That's fine

#

Or just do it in the inputs function

#
inputs n = sequence $ case n of 
    | Blah
oblique heath
#

o.O

onyx loom
oblique heath
#

wait can i do that with this function

static zealot
oblique heath
#
input :: Int -> [IO Int]
input amount = sequence $....???

like that?

onyx loom
#

i tried to get toolbox to install ultimate correctly so i uninstalled it

#

it annoys me the way it says "manually installed" programs in toolbox

#

its disgusting

#

and toolbox wasnt installing any IDEs at all so

prisma wave
#
import Control.Monad

inputs :: Int -> IO [Float]
inputs n
   | n < 0 = return []
   | otherwise = replicateM n (readLn >>= (return . read))
   
main = inputs 2 >>= print

The repl.it editor is horiffic on mobile but this is what I came up with

#

I think it works

prisma wave
oblique heath
#

ahh

lime ember
#

Is it possible to let HTML code run in a markdownfile (Github - README.md)?

jovial warren
#

no

#

that's parsed as Markdown, and the parser (in this case, GitHub's internal parser) only understands Markdown

ocean quartz
#

MD should only accept simple HTML, no Js

jovial warren
#

^

prisma wave
#

declarative only ๐Ÿ™‚

oblique heath
#

huh, i got

FirstHaskell-exe.EXE: user error (Prelude.readIO: no parse)
Received ExitFailure 1 when running
prisma wave
#

๐Ÿฅด

#

well that's new

#

Were you using readLn or readLine?

oblique heath
#
input_line <- getLine
  let num = read input_line :: Int
  inputs num >>= print
prisma wave
#

Idk what the difference is

oblique heath
#

is my main

prisma wave
#

what's inputs?

oblique heath
#

the function you gave

prisma wave
#

try using getLine instead of readLn

#

Forgot that existed lol

oblique heath
#

oki

#

that worked lol

prisma wave
#

Oh actually readLn might be better

#

But cool

oblique heath
#

what's the difference o.o

prisma wave
#

readLn is like getLine + read

#

It does the parsing for yoyn

jovial warren
oblique heath
#

oooo

onyx loom
oblique heath
#

that sounds like exactly what i'd want to use for the recursive version

half harness
#

lmaoo

ocean quartz
#

Does spark create detailed report like aikar's timings?

prisma wave
#

Indeed

jovial warren
prisma wave
#

So it could just be replicateM n readLn or do it recursively if you'd prefer

half harness
#

IDK

onyx loom
#

that whole package is just cursed

half harness
#

๐Ÿคฃ

jovial warren
#

ik your name has numbers in it, but numbers in packages ๐Ÿคฎ

onyx loom
#

like why

half harness
#

i didn't know what to name it

prisma wave
#

Shoulda used Haskell

jovial warren
#

also, HexaConsumer lol

ocean quartz
#

When in the world would you ever need a hexa consumer?

jovial warren
#

(T, U, V, W, X) -> Unit ez

oblique heath
#

wait how would I use readLn normally

#

like if i just wanted to get an input in main

half harness
eternal compass
#

How can I get an account on the Ecloud site? I am creating an expansion

ocean quartz
oblique heath
#

i'm trying stuff like let num <- readLn input_line but with no luck

half harness
#

๐Ÿคท

prisma wave
#
input <- readLn :: Int
oblique heath
#

o

#

that simple huh

onyx loom
#

matt, look at the other classes in the package

prisma wave
#

should be

half harness
#

lol

ocean quartz
#

Dkim, you make me question my sanity

onyx loom
#

it makes no sense

prisma wave
#

Reads a line from stdin + parses

#

Ez

oblique heath
#

wait what's input

prisma wave
#

just the name

#

It can be anything

oblique heath
#
input <- readLn :: Int

this actually didnt work, it wants to be an IO Int

steel heart
#

bruh allman is so unreadable

onyx loom
#

?

#

how so

steel heart
#

it just is

prisma wave
#

oh yeah it does need to be IO Int

#

even though input will be of type Int ๐Ÿฅฒ

oblique heath
#

weird

prisma wave
#

makes sense when you think about it

onyx loom
prisma wave
#

the <- operator effectively pulls the value out of the monad

steel heart
#

ma'am sure

oblique heath
#

oh true

prisma wave
#

(even though that's not what's actually happening)

oblique heath
#

i forgot that existed there

steel heart
#

E V I D E N C E -> ||allman sucks||

sinful parcel
#

Hey guys is it possible I can have a server record in game gameplay as a match replay?

#

(I wanna see the world burn)

oblique heath
#

so for the function i could do

inputs :: Int -> IO [Float]
inputs n
   | n < 0 = return []
   | otherwise = replicateM n (readLn)

for the replicate version

onyx loom
#

thats crazy

half harness
#

woah

half harness
steel heart
#

its objective evidence

half harness
#

bold

onyx loom
#

damn ur right

half harness
#

๐Ÿ˜ฎ

onyx loom
#

gonna have to start using haskell style in kotlin now

prisma wave
#

You don't even need the parens ๐Ÿ™‚

oblique heath
#

๐Ÿ˜ฎ

onyx loom
#

semi colons in kotlin ๐Ÿ™‚

half harness
#

hi

oblique heath
#

now for the recursive version

#
input :: Int -> [IO String]
input amount
  | amount < 0 = return []
  | otherwise = (readLn) : input (amount-1)

this almost works

#

but the empty list is giving issues again

eternal compass
oblique heath
#

do i just give a normal list this time, without the return?

#

ah indeed i do

prisma wave
#

yeah you would

#

Again you don't need parens around readLn I don't think

#

That's pretty hot tho

oblique heath
#

xd

#

now i'm stuck with an Int -> [IO Float] function though

prisma wave
#

that's where sequence comes in

oblique heath
#

gotcha

#

wait how do i fit that in here

#

this

input amount $ serialize $ case n of 
  | amount < 0 = []
  | otherwise = (readLn :: IO Float) : input (amount-1)

is not happy

prisma wave
#

input amount =

#

not $

oblique heath
#

ah right xd

prisma wave
#

You shouldn't need the type hint either

oblique heath
#

still mad though, at the guards now

prisma wave
#

Yeah they're not quite as nice

oblique heath
#

the IO Float hint?

prisma wave
#

yeah

oblique heath
#

oh yeah look at that

#

fancy

prisma wave
#

the haskell type inference algorithm is insane, I don't think you need the hint

#

sick

oblique heath
#

but yeah the guards are mad now

prisma wave
#

oh

#

ohh

#

You use -> for a case syntax

#

Not =

oblique heath
#

oo

prisma wave
#

I did the opposite earlier and got confused lol

oblique heath
#

input amount -> serialize $ case n of gives me an error on the ->

#

๐Ÿ˜ฆ

#

so this is where i stand now

input :: Int -> [IO Float]
input amount -> serialize $ case n of 
  | amount < 0 = []
  | otherwise = readLn : input (amount-1)
#

wait

prisma wave
#

No no

oblique heath
#

i need to return IO [ Float]

prisma wave
#

= for the function

oblique heath
#

o

prisma wave
#

and then like amount < 0 -> []

prisma wave
oblique heath
#

so like

input :: Int -> IO [Float]
input amount = serialize $ case n of 
  | amount < 0 -> []
  | otherwise -> readLn : input (amount-1)

this is still mad

prisma wave
#

case n?

#

with amount

#

actually I'm confused now

oblique heath
#

i dont even know what the case n of is really doing here

#

is it making a list?

prisma wave
#

I think you just want case of

#

It's pattern matching

oblique heath
#

oh yep

prisma wave
#

Just like you did with the guards before

#

Just a different syntax

oblique heath
#

that fixed it

oblique heath
#

oh

#

what is it replacing?

oblique heath
#

it's now giving a parse error on case of

prisma wave
#

Pretty much does the same thing

oblique heath
#

wait so i should remove my guards now?

prisma wave
#

uh

#

Can you send what you have ATM

oblique heath
#

ye

prisma wave
#

You're confusing me here lol

oblique heath
#
input :: Int -> IO [Float]
input amount = serialize $ case of 
  | amount < 0 -> []
  | otherwise -> readLn : input (amount-1)
#

what exactly do the -> in my cases do by the way

#

are they making an IO for serialize to use

#

or something else

lunar cypress
#

they are just part of the case expression

#

I think

#

the same as in java or kotlin

oblique heath
#

how come they changed from =

lunar cypress
#

oh is it = usually

prisma wave
#

because = is for the function definition

#

whereas -> is part of the case expression

lunar cypress
#

ah yeah

oblique heath
#

we were using = for the case expressions before though weren't we

prisma wave
#

that's a guard

#

not a case

oblique heath
#

ahhh

prisma wave
#

similar thing, slightly different

oblique heath
#

gotcha

#

so case of uses ->

prisma wave
#

yeah

oblique heath
#

and both case of's and guards use pipes

#

i see

prisma wave
#

correct

#

i think in cases you need _ instead of otherwise

oblique heath
#

i changed it but the same error as before is showing up, the parser error on case of

#
input :: Int -> IO [Float]
input amount = serialize $ case of 
  | amount < 0 -> []
  | _ -> readLn : input (amount-1)
prisma wave
#

oh

#

hmm

#

case might need a value

#

maybe case () of

#

or just use if/else

#

idk

#

not familiar enough with the nuances of haskell

oblique heath
#

;-;

#

case () of brings back the parser error on the first pipe

lunar cypress
#

yeah honestly this seems like an if else situation

prisma wave
#

yeah if else is probably the best thing here

oblique heath
#

what if i had like 4 cases here

#

would i be forced to use an if else arrow

prisma wave
#

probably not

#

you could probably match it based on something

#

it's situational

oblique heath
#

well i can probably just leave the function as Int -> [IO Float] for now

#

and maybe just make a second function that combines it with sequence?

#

not that that's ideal either

prisma wave
#

no pls dont

#

that's even more ew

oblique heath
#

i just did

(sequence $ input num)
#

in main

#

with input returning [IO Float]

#

xd

prisma wave
#

๐Ÿคข

oblique heath
#

i'd still like to figure out how to return IO[Float] without using ifelse though ๐Ÿฅฒ

heady birch
#

fn main() {
}

lunar cypress
#

(repeatedly n read) ๐Ÿ™‚

eternal compass
#

https://discord.com||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||https://skype.com

Stay in touch! Free online calls, messaging, affordable international calling to mobiles or landlines and instant online meetings on Skype.

#

ah yes...

static zealot
#

what the hell? xD

eternal compass
static zealot
#

omg haxar. oh no

#

please don't hax me

eternal compass
#

I have too much power now...
https://www.youtube.com/watch?v=dQw4w9WgXcQ||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||https://www.youtube.com/

#

(click the link)

static zealot
#

thing?

#

or does that only work in embeds?

eternal compass
#

that doesn't work in discord

#

try it

#

yeah, just in embeds

static zealot
#

it does work in embeds

#

but its something similar

#

isn't it?

lunar cypress
#

and on android, but it's a bug. lol

eternal compass
#

it works on android?

lunar cypress
#

yeah

#

at least it did 1 or 2 months ago

eternal compass
half harness
#

:c

#

ok

static zealot
#

โ€ซhow are you? โ€ซhehe

eternal compass
#

one annoying thing about my links is they look like
fakeurl realurl on android, but it doesn't matter

static zealot
#

I can hax too

eternal compass
static zealot
#

you see

eternal compass
#

โ€ซWaffle? โ€ซTest

static zealot
#

โ€ซtestโ€ซ

#

๐Ÿ˜ฆ

#

โ€ซOr does it? โ€ซTest doesn't work

#

โ€ซ<>

half harness
#

โ€ซhow are you? โ€ซhehe

#

oh

#

๐Ÿ˜ฆ

eternal compass
#

:p

half harness
#

โ€ซhow are you? โ€ซhehe

#

โ€ซhow are you? โ€ซhehes

dawn hinge
#

Bad dlim

static zealot
#

lmao dkim

half harness
#

oh wait

eternal compass
#

lol

half harness
#

โ€ซhow are you? โ€ซhehe

dawn hinge
#

Noo

eternal compass
#

I still have the ultimate power though

#

https://discord.com||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||https://skype.com

Stay in touch! Free online calls, messaging, affordable international calling to mobiles or landlines and instant online meetings on Skype.

hot hull
half harness
#

wheres the embed

#

;-;

eternal compass
#

it looks wierd

eternal compass
half harness
#

oh i have idea

half harness
eternal compass
#

then idk

hot hull
#

Sadge

eternal compass
#

wait it doesn't work on mobile either

#

I was lied to

hot hull
#

Yea it used to work

eternal compass
#

https://skype.com||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||||โ€‹||https://discord.com

Discord

Discord is the easiest way to talk over voice, video, and text. Talk, chat, hang out, and stay close with your friends and communities.

half harness
#

lol whatโ€ซidk โ€ซโ€ซ test

#

LMAO

#

woah

#

this is weird

#
old wyvern
prisma wave
#

@oblique heath spent some time trying to figure it out and i can conclude that it's probably not possible or very inconvenient at least to do in your way

#
input :: Int -> IO [Float]
input amount
    | amount < 0 = return []
    | otherwise = readLn >>= (\x -> (input $ amount - 1) >>= (\y -> return (x : y)))
``` this is the closest i got and it doesn't even work lol
#

replicateM is probably the best option

ocean quartz
#

Was thinking about adding support to same command but different implementation:

@SubCommand("foo")
fun first(player: Player, string: String)

@SubCommand("foo")
fun second(player: Player, int: Int)

But sounds so complicated to implement correct ๐Ÿ˜ฉ
Specially for tab completion

obtuse gale
#

ah yes, because we all want suggestion completions for numbers

oblique heath
obtuse gale
#

oh boy I can't wait to see

1
2
3
4
5
6
7
static zealot
#

that was an example fefo... smh

#

also I did that once

#

lmao

#

:)))

obtuse gale
#

LMAO

static zealot
ocean quartz
#

I might, sounds too complicated for something that'll hardly ever be used

#

It's cool but

static zealot
#

true

jovial warren
#

hey does anyone here want a fun challenge?

#

I kinda want a lag simulator plugin for Krypton, so I can see if TPS measuring and watchdog is working properly lol

#

I mean, delay would probably do what I want tbh

prisma wave
#

while true

#

delay doesnt block

jovial warren
#

/lag tps lol

prisma wave
#

thats the point

jovial warren
#

apparently, delaying for 100ms brings the TPS down to ~10 lol

#

oh spark is so amazingly good lol

#

2021-03-25 20:36:07 [main] WARN KryptonServer - Woah there! Can't keep up! Running 30441022900ms (608820458 ticks) behind!

#

I can only laugh at that

oblique heath
#

how

jovial warren
#

I'm purposely making ticks take an extra 100ms to monitor the effects

#

I wanted to see if spark would be able to monitor TPS properly on Krypton

oblique heath
#

right but this 608820458

#

this is a lot of ticks

jovial warren
#

yeah ik

oblique heath
#

that's about 8455 hours

#

just under a year

jovial warren
#

wanna see code?

oblique heath
#

sure

jovial warren
#
while (isRunning) {
    val nextTickTime = System.nanoTime() - lastTickTime
    if (nextTickTime > 2000L && lastTickTime - lastOverloadWarning >= 15000L) {
        KryptonServer.LOGGER.warn("Woah there! Can't keep up! Running ${nextTickTime}ms (${nextTickTime / 50} ticks) behind!")
        lastTickTime += nextTickTime
        lastOverloadWarning = lastTickTime
    }
    lastTickTime += 50L
    eventBus.call(TickStartEvent(tickCount))
    val tickTime = measureTimeMillis(::tick)
    eventBus.call(TickEndEvent(tickCount, tickTime, System.nanoTime()))

    if (tickTime < TICK_INTERVAL) delay(TICK_INTERVAL - tickTime)
}
oblique heath
#

System.nanoTime()

#

wouldn't that give nanoseconds?

jovial warren
#

okay maybe I'm stupid

#

yes, it would

oblique heath
#

ye xd

jovial warren
#

yeah idk why I thought using nano time was a good idea

#

I guess precision

#

I literally only just switched that to nano time lol

#

that's why I only just got that warning

stuck harbor
#

use unix clocc

#

u nerd

#

just one number

jovial warren
#

oh yeah, because unix clock is available on Windows

stuck harbor
#

unix clocc is one number that represents the amount of milliseconds since the start of 1980

jovial warren
#

OMFG

stuck harbor
#

just one number needed to show the exact time

prisma wave
#

1970*

stuck harbor
#

shut

#

thats what i said

prisma wave
#

๐Ÿ™‚

oblique heath
#

isn't that already what currentTimeMilis returns?

jovial warren
#
  1. 1980
  2. you know that's what nanoTime and currentTimeMillis give you right?
stuck harbor
#

hehe

#

uh

#

k

#

then keep using that

#

gg

jovial warren
#

please tell me you knew System.currentTimeMillis() returns a unix timestamp

oblique heath
#

no uses windows time

half harness
#

whats a unix timestamp

stuck harbor
#

i defo don't just use LocalDateTime objects

#

nope

#

not at all

jovial warren
#

omfg I was literally just about to say even dkim isn't that stupid

oblique heath
#

xd

jovial warren
#

and then I find out he actually is

jovial warren
oblique heath
#

anyways back to nano vs miliseconds

stuck harbor
#

i use localdatetime objects everywhere

#

wheee

jovial warren
#

not even gonna bother to explain this, just gonna link you to Wikipedia

oblique heath
#

no real reason to use nanoseconds

half harness
#

wait

jovial warren
half harness
#

system.currenttimemillis uses

jovial warren
#

Unix time (also known as Epoch time, POSIX time, seconds since the Epoch, or UNIX Epoch time) is a system for describing a point in time. It is the number of seconds that have elapsed since the Unix epoch, minus leap seconds; the Unix epoch is 00:00:00 UTC on 1 January 1970 (an arbitrary date); leap seconds are ignored, with a leap second having...

half harness
#

unix timestamp?!

jovial warren
#

omfg dkim

half harness
#

i thought it had to do something with system

jovial warren
half harness
#

like from system startup

#

or something

#

yk

oblique heath
dawn hinge
#

Lol

oblique heath
#

that's the unix timestamp

half harness
#

because like System.currentTimeMillis

#

System

#

๐Ÿคท

jovial warren
#

currentTimeMillis

half harness
#

yes

#

oh

#

๐Ÿคฆ

jovial warren
#

omfg

half harness
#

the past minute

jovial warren
#

because I'm just sitting here laughing

stuck harbor
#

shitting here laughing**

jovial warren
#

currentTimeMillis
system startup

#

one of these things is not like the other

half harness
#

is listening for packets without protocollib a good idea

#

so that i dont have dependency

stuck harbor
#

no

oblique heath
#

are you concerned about your jar size to that extent

half harness
#

wot

#

protocollib = plugin

stuck harbor
#

dkim u have more things to be concerned aboot

#

what

half harness
#

aboot

stuck harbor
#

what

half harness
#

what?

#

=plugin 1997

stuck harbor
compact perchBOT
#

v4.6.0 by dmulloy2
Provides read/write access to the Minecraft protocol

Downloads:

1,075,374

Likes:

415

Reviews:

271

stuck harbor
#

ye but

#

but

half harness
#

butt

#

but wut

stuck harbor
#

muh clock cycle

half harness
#

โ“

oblique heath
#

you know what you could do.... is clone the ProtocolLib repo

#

and slap your own plugin into that ๐Ÿ˜Ž

half harness
#

tinyprotocol ๐Ÿ‘€

prisma wave
#

@oblique heath NEVERMIND

#

GOT IT

#
import Data.List

readFloat :: IO Float
readFloat = readLn

input :: Int -> IO [Float]
input amount
    | amount <= 0 = return []
    | otherwise = readFloat >>= (\head -> (\tail -> head : tail) <$> input (amount - 1))
   
main = input 2 >>= print
#

beautiful

#
import Data.List

readFloat :: IO Float
readFloat = readLn

input :: Int -> IO [Float]
input amount
    | amount <= 0 = return []
    | otherwise = readFloat >>= (\head -> (cons head) <$> input (amount - 1))
    where cons a l = a : l
   
main = input 2 >>= print
``` even better ๐Ÿคค
#

thats actually the hottest thing ive ever written

lunar cypress
#

spending hours on implementing a function that reads 3 floats

#

just haskell things

prisma wave
#

๐Ÿฅฒ

#

but muh purity!!

lunar cypress
#

(cons head) <$> input (amount - 1) wtf is this abomination

prisma wave
#

best thing ive ever written

#
input(amount - 1).let { cons(head, it) }
lunar cypress
#

I mean I get what it does but why'd you do this so weirdly

prisma wave
#

weirdly?

#

like the whole thing?

#

or just that

lunar cypress
#

just that

prisma wave
#

oh wait

#

lmao

#

yeah

lunar cypress
#

why use $ there
and why define cons at all

#

I'm just confused

prisma wave
#

oh no there is a reason

#

i can't just do head : input (amount - 1)

#

because input returns IO [Float]

#

<$> is to cons to the [Float]

#

why define cons at all
lambdas are gross

lunar cypress
#

guess I just don't get <$> then

prisma wave
#

it's just an infix for fmap

#

which just maps across a Functor

#

this is gonna sound pretentious but its so cool to finally know what that means

lunar cypress
#

left is the function, right is the functor?

prisma wave
#

yup

#

there's apparently <&> which is the other way around but i couldnt get that working

lunar cypress
#

foo >>= (return . bar)
bar <$> foo
would those be equivalent then?

prisma wave
#

i believe so

lunar cypress
#

I wonder where those symbols come from

prisma wave
#

idk

#

>>= kinda makes sense

#

<$> is just random symbols as far as im concerned

lunar cypress
#

yeah I mean >>= at least makes aesthetic sense

old wyvern
#

Whats <$>?

prisma wave
#

infix fmap

old wyvern
#

tf xD

prisma wave
#

fmap f a == f <$> a

old wyvern
#

Wait so its equivalent to bind?

prisma wave
#

kinda

old wyvern
#

Whats the diff?

prisma wave
#

fmap works on functors

stuck harbor
#

pure functions must be

  1. unintelligible by OOP dweebs
  2. taking hours to design
prisma wave
#

bind is only for monads

old wyvern
#

ah

prisma wave
#

btw is pure just the same as return?

#

looks like it is

old wyvern
#

Well kinda

#

There was a difference

#

You can check the Hasklash thing

#

I had to use it there for the Rest calls

prisma wave
old wyvern
#

Also the demon that is "liftIO"

lunar cypress
old wyvern
#

ah

prisma wave
#

seems like it is, but pure is for functors

old wyvern
#

functors as in functions?

lunar cypress
#

no

half harness
#

@prisma wave best game ever

prisma wave
#

ikr

#

i keep disabling it

#

and it still comes up

half harness
#

lol

old wyvern
#

a functor is a mapping between categories

prisma wave
#

welp gone now

prisma wave
# old wyvern functors as in functions?

A type f is a Functor if it provides a function fmap which, given any types a and b, lets you apply any function of type (a -> b) to turn an f a into an f b, preserving the structure of f.

old wyvern
#

Is that not what a function is?

lunar cypress
#

yeah that's the category theory thing

#

no

#

functions map between sets

old wyvern
#

They explains functors* as functions in one category theory course on yt

#

welp]

#

The one linked you bm

prisma wave
#

i think functions might be functors actually

#

o

lunar cypress
#

Well I guess technically they are functions

#

but they have a few more things going on

#

not every function is a functor

lime ember
#

^^what would you do now?
I waited 5 days now, and he didnt answer...

old wyvern
#

ah

prisma wave
#

oh yeah lol

#
instance Functor ((->) r) where
    fmap = (.)
lunar cypress
#

you remember linear transformations/homomorphisms between vector spaces from LA yugi?

#

I think functors are similar but for categories

#

at least that's what my prof said when he mentioned it once

prisma wave
#

o

#

scary

lunar cypress
prisma wave
#

๐Ÿ˜Ÿ

lunar cypress
#

ah yeah, they're just the equivalent of group, ring, field, vector space, you-name-it-homomorphisms

old wyvern
#

hmm

stuck harbor
#

functional programming is good

#

makes it more like maths

#

incredibly difficult to understand

#

caps

prisma wave
#

actually beautiful

oblique heath
#

what does the <$> represent there

prisma wave
#

that is an infix version of fmap

#

which is basically like Optional#map but for any functor / monad

oblique heath
#

huh

lunar cypress
#

I feel like using fmap directly would make this cleaner

prisma wave
#

possibly

#

(\head -> fmap (cons head) $ input (amount - 1)) is this nicer?

#

maybe

lunar cypress
#

fmap (head :) $ (input (amount - 1)) shouldn't this work, in theory?

prisma wave
#

oh can you curry the cons operator?

#

let's see

lunar cypress
#

I think so?

old wyvern
prisma wave
#

yup you can

#

:)

old wyvern
#

Haskell OP

#

๐Ÿฅฒ

prisma wave
#

(\head -> fmap (head :slight_smile: $ input (amount - 1))

#

lmao

#

whoops

lunar cypress
#

Gotta love discord inline code

prisma wave
#
(\head -> fmap (head :) $ input (amount - 1))
old wyvern
#

xD

lunar cypress
#

but see that's why I was wondering about your custom cons earlier

old wyvern
prisma wave
#

wait can you curry any infix operator?

lunar cypress
#

yeah you should be able to

oblique heath
#

hmm when i try to run what you made, BM, i get

    * Couldn't match expected type `[IO Float]'
                  with actual type `IO [Float]'
prisma wave
#

huh

oblique heath
#

wait

#

nvm

prisma wave
#
import Data.List

readFloat :: IO Float
readFloat = readLn


input :: Int -> IO [Float]
input amount
    | amount <= 0 = return []
    | otherwise = readFloat >>= (\head -> fmap (head :) $ input (amount - 1))
oblique heath
#

my main is

num <- readLn :: IO Int
  input num >>= print
prisma wave
#

ah

heady birch
#

so i built a todo list in spring + hibernate, just to access it through elinks browser...

prisma wave
#

yeah lol

#

(readLn :: IO Int) >>= (print . input)

oblique heath
#

o.o

prisma wave
#

wait

oblique heath
#

i put that in my main but i'm still getting the error

prisma wave
#

huh

oblique heath
#

function


readFloat :: IO Float
readFloat = readLn

input :: Int -> IO [Float]
input amount
    | amount <= 0 = return []
    | otherwise = readFloat >>= (\head -> fmap (head :) $ input (amount - 1))
#

main

hSetBuffering stdout NoBuffering

  putStrLn "Enter a number: "
  --input_line <- getLine
  (readLn :: IO Int) >>= (print . input)
prisma wave
#

what line does the error?

oblique heath
#

....

#

it's a different function

prisma wave
#

lolwut

#

lmao

oblique heath
#

๐Ÿฅฒ

#

oop now i have an error on

#
(readLn :: IO Int) >>= (print . input)
prisma wave
#

whoops

#

input . print

oblique heath
#
Couldn't match type `IO ()' with `Int'
#

;-;

lunar cypress
prisma wave
#

yeah i thought it is

#

input . print works though

#

strangely

static zealot
#

this chat is such a mess ๐Ÿ˜ฆ

oblique heath
#

that main line again

static zealot
#

that's because I can't read it :)(

onyx loom
static zealot
#

I can't like something that I don't know and understand

#

well maybe I can

prisma wave
oblique heath
#
main = do
  hSetBuffering stdout NoBuffering

  putStrLn "Enter a number: "
  (readLn :: IO Int) >>= (print . input)

  --putStrLn $ "list: " ++ (show $ input num)
  return ()
  
readFloat :: IO Float
readFloat = readLn
  
input :: Int -> IO [Float]
input amount
  | amount <= 0 = return []
  | otherwise = readFloat >>= (\head -> fmap (head :) $ input (amount - 1))
static zealot
#

but yeah you can say I don't like it

onyx loom
#

neither do i tbh ๐Ÿ‘€

static zealot
#

ah ok

prisma wave
#

ivan can u send imports

oblique heath
#

sure

prisma wave
#

i wanna test

#

ty

oblique heath
#

wait

#

do i need to import list..?

#
import System.IO
import Data.List

import Control.Monad

i only have these

#

wait im blind

#

i am importing it

prisma wave
#

lol

#

i dont think u need data.list anyway

#

or control.monad for that matter

oblique heath
#

huh

#

well here's my code exactly as i have it

#
module Main where

import System.IO
import Data.List
import Control.Monad

main :: IO ()
main = do
  hSetBuffering stdout NoBuffering

  putStrLn "Enter a number: "
  (readLn :: IO Int) >>= (print . input)

  --putStrLn $ "list: " ++ (show $ input num)
  return ()
  
readFloat :: IO Float
readFloat = readLn
  
input :: Int -> IO [Float]
input amount
  | amount <= 0 = return []
  | otherwise = readFloat >>= (\head -> fmap (head :) $ input (amount - 1))
prisma wave
#
(readLn :: IO Int) >>= input >>= print
#

this worked

#

pretty sure it didn't like the composition operator combined with the IO

lunar cypress
#

the composition probably doesn't work because print returns IO

prisma wave
#

yeah

oblique heath
#

ayy it works for me too xd

prisma wave
#

or because input returns IO and print just expects a Show

#

pretty sure thats the reason

lunar cypress
#

yeah, that way around

oblique heath
#

what does this part mean (head :)

prisma wave
#

๐Ÿ™‚

oblique heath
#

๐Ÿ™‚

#

happy code

prisma wave
#

it's just a curried version of the : operator

#

with some unfortunate parentheses

oblique heath
#

ah

prisma wave
#
\x -> head : x
oblique heath
#

that makes sense

#

at least the operator part

#

i cant understand why it has to be in those parenteses

prisma wave
#

cuz otherwise it would try and do head : $

oblique heath
#

๐Ÿ˜ฎ

#

would it be valid to take it outside the parentheses, but also swap the $ for it's own set of parentheses

prisma wave
#

nope

old wyvern
#

You dont need the $ if you already have a parenthesis on the left expression I think

prisma wave
#

because then it's head : (blah)

oblique heath
#

what is it right now

prisma wave
oblique heath
#

is what we have now (fmap head) : (blah)

old wyvern
#

Which expression?

prisma wave
#
fmap (head :) $ input (amount - 1)
lunar cypress
prisma wave
#

yeah

old wyvern
#

ah the left expression isnt fully wrapped

prisma wave
#

it's gonna be fmap (head :) input (amount - 1)

lunar cypress
#

it would become ((head ๐Ÿ™‚ input) (amount - 1)

old wyvern
#

mhm

prisma wave
#

lmao

#

that god damn operator

oblique heath
#

๐Ÿ™‚

old wyvern
#

head :slight_smile: indeed

prisma wave
#

Man haskell is cool

oblique heath
#

well at least now i can rest easy knowing it's possible to get a list input in one line

prisma wave
#

For a language so focused on purity it's very flexible

oblique heath
#

yep ๐Ÿฅฒ

prisma wave
#

Yeah I suggested that the other day

old wyvern
#

ah

oblique heath
#

sorry, one line recursive*

prisma wave
#

Just doing it recursively for learning experience

old wyvern
#

It can be done in done line

oblique heath
#

with no where block*

old wyvern
#

ah

old wyvern
oblique heath
#

not block but

#

no where

old wyvern
#

Why would you need a where?

static zealot
old wyvern
#

replicateM already returns a list tho

#

Or did you mean the same without that?

oblique heath
#

but it's not recursive ๐Ÿคฉ๐Ÿคฉ

old wyvern
#

๐Ÿฅฒ

oblique heath
#

so it's cheating

#

in my book

static zealot
#

recursivity can suck a dick

oblique heath
#

how dare you

#

don't make me invert a binary tree on you

old wyvern
lunar cypress
#

"recursivity"

static zealot
#

"ITS JUST A PRANK BRO!! JUST A PRANK!!

prisma wave
prisma wave
static zealot
oblique heath
#

for replicateM?

prisma wave
#

Almost

prisma wave
unkempt tangle
#

Senpai

oblique heath
#

well maybe it is but then it'll just go back and inline it, if i understand right

#

so it goes full circle

prisma wave
#

I had a look at the source earlier and it's kinda complicated but it's probably recursive

static zealot
#

Time to mass PING

prisma wave
half harness
#

uh

#

oh

oblique heath
#

time to put my newfound haskell skills to the test

half harness
#

lol

static zealot
#

@onyx loom @prisma wave @oblique heath @unkempt tangle @old wyvern @lunar cypress @forest pecan @half harness @ocean quartz @hot hull @stuck harbor @obtuse gale @heady birch wanna join?

prisma wave
#

Lol

stuck harbor
#

no

prisma wave
#

Can't rn

half harness
#

lol

oblique heath
#

if i can get over 0% in 15 minutes i'll consider it a win for me

static zealot
#

I missed some

obtuse gale
#

no

prisma wave
#

In a bit

obtuse gale
#

busyyyy

static zealot
#

oh yes @steel heart

#

idk who else I missed

quiet depot
#

bm

prisma wave
#

yea?

forest pecan
#

Piggy can we get a clash role?

quiet depot
#

arthur is ur friend right

static zealot
#

yes

#

"friend"

forest pecan
#

Piggy clash role pls ๐Ÿ˜„

prisma wave
#

yep lol

static zealot
#

yes Piggy. Clash Channel please

half harness
#

Piggy clash role pls ๐Ÿ˜„

quiet depot
#

he just appealed on the basis he converted to buddhism

static zealot
#

COC channel

onyx loom
#

no coc role

prisma wave
#

Lmfao

onyx loom
#

pingable role ๐Ÿ˜„

static zealot
#

no role. just channel

#

bcz role is pingable

#

yeah

half harness
#

and @everyone perms in that channel

quiet depot
#

boosters get the big coc so if u want coc boost me

static zealot
#

and I'll just ping everyone in there

onyx loom
#

@quiet depot its funny u say that... mans reformed now hes a buddhist ๐Ÿคฃ

static zealot
forest pecan
#

:(( i dont got money

static zealot
#

yes

forest pecan
#

you want coc k?

onyx loom
#

lmao pulse

old wyvern
#

Um later bro

forest pecan
#

i gotchu

#

.|.

#

I gotchu homie

#

.l.

old wyvern
#

I have to finish some work

static zealot
#

I can't later.

#

its 00:04

onyx loom
#

nice barry bypass ๐Ÿ™‚

static zealot
#

I have to go at 00:00

old wyvern
#

welp tmr ig

quiet depot
old wyvern
#

Have project review tmr morning

#

Piggy

#

Is the clash lib going to be added? xD

quiet depot
#

idk

#

lol

prisma wave
#

๐Ÿฅฒ

old wyvern
#

=clash

half harness
old wyvern
#

when?

forest pecan
#

who was the one that did ?main

static zealot
#

welp starting

half harness
quiet depot
#

cube probs forgot

old wyvern
#

๐Ÿฅฒ

prisma wave
#

Haskell to js interop

old wyvern
#

Please remind

half harness
forest pecan
#

who was the one that did ?main tho ๐Ÿ˜ฆ

#

๐Ÿฅฒ

old wyvern
half harness
prisma wave
#

?main

compact perchBOT
forest pecan
#

๐Ÿฅฒ

prisma wave
#

Oh yeah that one

quiet depot
#

yes?

static zealot
#

yeah role should be to react to a hidden message in this channel. or pinned

#

but in this channel

half harness
old wyvern
#

this one

half harness
#

noo

#

NOT FAststet

prisma wave
#

arthur would like me to say that he is a changed man and would like to be unbanned

half harness
#

ok im not doing this @static zealot @oblique heath @lunar cypress

old wyvern
#

That sentence doesnt sound like he changed

#

xD

quiet depot
#

=remindme in 8 days "clash yugi ting"

compact perchBOT
#
New Reminder Set!
In 7 days, 23 hours, 59 minutes:

clash yugi ting

half harness
#

ting

#

=remindme in 8 days Piggy can't spell

compact perchBOT
#
New Reminder Set!
In 7 days, 23 hours, 59 minutes:

'

old wyvern
half harness
#

._.

prisma wave
#

lol

half harness
#

=remindme list

compact perchBOT
#
Reminders | List

Your current active reminders are:

[126] In 7 days, 23 hours, 59 minutes:

'

half harness
#

=remindme delete 126

old wyvern
#

=remindme

compact perchBOT
#
Reminders | Invalid Tier

You need to be at least Tier V in order to set reminders!

#
Reminders | Deleted

Reminder Deleted!

old wyvern
#

๐Ÿฅฒ

half harness
#

=remindme in 8 days "Piggy can't spell"

compact perchBOT
#
New Reminder Set!
In 8 days, 0 hours, 0 minutes:

Piggy can't spell

old wyvern
#

10kish exp to go

prisma wave
#

๐Ÿฅฒ

half harness
#

๐Ÿฅฒ

forest pecan
#

omg

#

a clojure dev beated me

#

in coc

prisma wave
#

clojure good

lunar cypress
#

there's more where that came from

old wyvern
#

xD

static zealot
#

oh hell. I've been appending the ascii code

#

to the string

#

and didn't know why the hell I was getting a long number

#

lmaoo

forest pecan
#

you can just cast it into a char

#

lol

static zealot
#

yeah well I didn't lmao

forest pecan
#

xD

static zealot
#

I didn't realise

#

I didn't

static zealot
#

also all this could have been just 1 line smh

#

oh

#

spoilers don't work on multiple lines

#

nvm then ain't showing it

forest pecan
#

i just did (char) (Integer.parseInt(str, 16) for each line

#

lol

static zealot
#

I was like: "I won't spoil it" and here you come lmao

forest pecan
#

oy

#

oh

static zealot
#

yeah I made a new variable for the integer (ascii value) and then I did appeneded the int.toChar()

forest pecan
#

o

#

yo my teacher is afk for 20 minutes

#

poggers

#

i can code my task chain

#

๐Ÿ˜„

static zealot
#

or you can play some more coc

#

@half harness @stuck harbor are you both afk?

forest pecan
#

nah i want to get my command chain finished ๐Ÿ˜ญ

half harness
#

:c

static zealot
#

I mean pulse

#

gave you the whole thing

oblique heath
#

i give up

half harness
#

oh

oblique heath
#

i am nowhere near big brain enough for hex -> asccii with haskell

stuck harbor
#

wdym am I afk

forest pecan
#

yea integer.parseint is nice with radix

#

lol

half harness
#

oh that was hex?

static zealot
forest pecan
#

Yeah

stuck harbor
#

haha

half harness
#

oops

oblique heath
#

xd

half harness
#

i thought it was ascii code -> text

forest pecan
#

yes there are letters in numbers

#

lol

half harness
#

thats why i was so confused

prisma wave
half harness
#

oof

prisma wave
#

Pretty sure there's something in standard library for it

oblique heath
#

i couldn't find anything in ~5 mins of googling

#

the closest thing was a stackoverflow function

#

that didnt work for me ๐Ÿ˜‚

prisma wave
#

Hex -> Base 10 -> Char

oblique heath
#

๐Ÿ˜ฎ

half harness
oblique heath
#

shh

half harness
oblique heath
#

forget i ever used python

half harness
#

wot

stuck harbor
#

py... thon?

oblique heath
#

dont mind that

stuck harbor
#

I use python apps all the time, actually

static zealot
#

new game if anyone else wants to join

forest pecan
#

when you code on your other computer but realize that you haven't ran buildtools on it

half harness
#

oooooooooooooooooooooooooooooooooooooooooooof

static zealot
#

smh

half harness
#

just copy and paste the folder in .m2

stuck harbor
#

1.13?

#

tf

half harness
static zealot
#

also yeah

#

1.13?

forest pecan
#

yea lol

static zealot
half harness
static zealot
#

well there's a command

forest pecan
#

look at all the versions

static zealot
#

you have to use

forest pecan
#

look at the errors

static zealot
#

not true dkim

forest pecan
#

not just 1.13

#

look at the errors

#

lol

static zealot
#

I did it like last week

stuck harbor
#

1.8?

#

oh no

forest pecan
#

it's everything

#

lmfao

half harness
#

paper jar doesn't have mc code in it though

stuck harbor
#

including 1.8

forest pecan
#

yep

stuck harbor
#

ffs

#

remove your system immediately

static zealot
#

it does tho. afaik. I used NMS by running just the jar

#

last call ^

#

starting it

half harness
#

distributing mc server jar

forest pecan
#

paper installs it for you

#

i think

static zealot
#

well I might be wrong but I remember I only had to run the jar

#

yeah it installs it from the internet

#

or whatever

half harness
#

but the jar itself doesn't have the code

forest pecan
#

yea

#

it just builds it for you

static zealot
#

but you just need to run one command

half harness
#

run?

forest pecan
#

you didn't know?

#

lol

half harness
#

as in public static void main?

static zealot
#

to get everything

forest pecan
#

no smh