WEREWOLF UNRELATED THREAD

  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
Again, the garbage collection problems that functional seems to have seriously makes me doubt that. Also everyone has unity on their side.
It doesn't have to many garbage collection problems. Also,
Not like yall wouldn't :p
Barely, with a different language, it would make it much possible to prevent so many goddamn performance issues. As for memory management, I would trust the equivalent of forge that comes out to handle it well.
Forge couldn't handle that. Every time I made an int I would have to unallocate it
 

Someone Else 37

Forum Addict
Feb 10, 2013
1,876
1,440
168
I've actually come to like Haskell. While it's probably useless for modding Minecraft without some serious hackery (and maybe not even with some serious hackery- I don't really know), it has a lot of abstract, polymorphic functions that can be used to do many things that most other languages have to use layers upon layers of nested if statements and such. It's actually quite handy to have data types that can represent a value or a failed computation (and carry a record of such failures through any further computations- no need to mess with throwing and catching exceptions outside of IO code), or any number of values produced by a function that can return more than one thing ([4] >>= mSqrt = [2, -2]). Currying and lazy evaluation, too, yeah. Strikingwolf knows what the latter is.

*finally dives into Forum Games forum after lurking since Amnesiacs, at least... and gets ninja'd a bunch*

...
This is definitely not werewolf related.
*vampire bat awayyyyyyy*
This is the werewolf unrelated thread...
 

Eruantien

New Member
Jul 29, 2019
1,181
0
0
Since when were you a vampire?
Now.
I've actually come to like Haskell. While it's probably useless for modding Minecraft without some serious hackery (and maybe not even with some serious hackery- I don't really know), it has a lot of abstract, polymorphic functions that can be used to do many things that most other languages have to use layers upon layers of nested if statements and such. It's actually quite handy to have data types that can represent a value or a failed computation (and carry a record of such failures through any further computations- no need to mess with throwing and catching exceptions outside of IO code), or any number of values produced by a function that can return more than one thing ([4] >>= mSqrt = [2, -2]). Currying and lazy evaluation, too, yeah. Strikingwolf knows what the latter is.

*finally dives into Forum Games forum after lurking since Amnesiacs, at least... and gets ninja'd a bunch*


This is the werewolf unrelated thread...
Yeah. Just unhelpfully pointing that out. One would think that there would still be some semblance of similarities, somewhat...
 

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
I've actually come to like Haskell. While it's probably useless for modding Minecraft without some serious hackery (and maybe not even with some serious hackery- I don't really know), it has a lot of abstract, polymorphic functions that can be used to do many things that most other languages have to use layers upon layers of nested if statements and such. It's actually quite handy to have data types that can represent a value or a failed computation (and carry a record of such failures through any further computations- no need to mess with throwing and catching exceptions outside of IO code), or any number of values produced by a function that can return more than one thing ([4] >>= mSqrt = [2, -2]). Currying and lazy evaluation, too, yeah. Strikingwolf knows what the latter is.
I know what both are :p Also, I like functional Lisp-dialects that aren't super strict like Haskell, so it is Clojure and Lisp for me ;)
 

Someone Else 37

Forum Addict
Feb 10, 2013
1,876
1,440
168
Yeah. Just unhelpfully pointing that out. One would think that there would still be some semblance of similarities, somewhat...
I forgot to throw in that Clojure can do some, if not all, of that. Monads (responsible for the error-handling and indeterminate output things) and lazy evaluation, certainly; it looks like at least one person has implemented a way of currying things, too. However, Haskell seems to handle it a bit more cleanly.

I know what both are :p Also, I like functional Lisp-dialects that aren't super strict like Haskell, so it is Clojure and Lisp for me ;)
Glad to know I'm not the only person here who likes functional programming. ;)

I guess the strictness of the type system is a tradeoff- in Haskell, you have to define the type signature of every single function you write, but the type signature itself helps guide your writing the function, and it lets you have polymorphic things like minBound (which is -9223372036854775808 on my machine if Haskell thinks it's an Int (looks like a 64-bit integer), or '\NUL' if Haskell can determine it to be a Char, and so on for any other Bounded type) and >>= (the monadic "bind" function).

In the Clojure monad tutorial I looked at, at least, you had to tell Clojure what type to use for the monad. Haskell figures that out all by itself. Also, Clojure doesn't seem to have an actual polymorphic bind function, although it's possible that I misread the tutorial and/or didn't do my homework enough.

I guess the main difference is "spam of parentheses and compiles to JVM" vs "very few parentheses and compiles to machine code".
 

LivingAngryCheese

Over-Achiever
Aug 22, 2014
676
1,580
228
A place
This was a triumph!
I'm making a note here:
Huge success!

It's hard to overstate
my satisfaction.

Aperture Science:
We do what we must
because we can
For the good of all of us.
Except the ones who are dead.

But there's no sense crying
over every mistake.
You just keep on trying
'til you run out of cake.
And the science gets done.
And you make a neat gun
for the people who are
still alive.

I'm not even angry...
I'm being so sincere right now.
Even though you broke my heart,
and killed me.

And tore me to pieces.
And threw every piece into a fire.
As they burned it hurt because
I was so happy for you!

Now, these points of data
make a beautiful line.
And we're out of beta.
We're releasing on time!
So I'm GLaD I got burned!
Think of all the things we learned!
for the people who are
still alive.

Go ahead and leave me...
I think I'd prefer to stay inside...
Maybe you'll find someone else
to help you.
Maybe Black Mesa?
That was a joke. Ha Ha. Fat Chance!

Anyway this cake is great!
It's so delicious and moist!

Look at me: still talking
when there's science to do!
When I look out there,
it makes me glad I'm not you.

I've experiments to run.
There is research to be done.
On the people who are
still alive.
And believe me I am
still alive.
I'm doing science and I'm
still alive.
I feel fantastic and I'm
still alive.
While you're dying I'll be
still alive.
And when you're dead I will be
still alive

Still alive.

Still alive.
 

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
I forgot to throw in that Clojure can do some, if not all, of that. Monads (responsible for the error-handling and indeterminate output things) and lazy evaluation, certainly; it looks like at least one person has implemented a way of currying things, too. However, Haskell seems to handle it a bit more cleanly.
There is a reason for currying not being available (variable #s of arguments), but someone did make one for fixed-arity functions https://groups.google.com/forum/#!topic/clojure/cE2FUrkPW8I.
I guess the strictness of the type system is a tradeoff- in Haskell, you have to define the type signature of every single function you write, but the type signature itself helps guide your writing the function, and it lets you have polymorphic things like minBound (which is -9223372036854775808 on my machine if Haskell thinks it's an Int (looks like a 64-bit integer), or '\NUL' if Haskell can determine it to be a Char, and so on for any other Bounded type) and >>= (the monadic "bind" function).
Polymorphism is a trade-off in itself. As if you don't fail fast on getting a char into your function for numbers you might not know why it is returning \NUL ;) Clojure handles it well by having functions like seq which convert a collection to a sequence. Then most list, vector, hashmap, and set functions work on all of them.
In the Clojure monad tutorial I looked at, at least, you had to tell Clojure what type to use for the monad. Haskell figures that out all by itself. Also, Clojure doesn't seem to have an actual polymorphic bind function, although it's possible that I misread the tutorial and/or didn't do my homework enough.
I'm not sure of that either...
I guess the main difference is "spam of parentheses and compiles to JVM" vs "very few parentheses and compiles to machine code".
Spam of parentheses? But it is so beautiful! The same form everywhere! (func arg1 arg2...argn)

Also, you can do both in Clojure (typed and untyped) https://github.com/clojure/core.typed/wiki/User-Guide
 

pc_assassin

New Member
Jul 29, 2019
1,809
-2
1
New topic! Matressi!

Any suggestions? Mine's falling apart and I need to buy a new one

-----------------------------------------------
Sent From Something That You Won't Care About Using Tapatalk 2
 
  • Like
Reactions: xTordX