Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

If a language lacks the following, it is shit

Name: Anonymous 2018-09-05 17:36

- Typeclasses
- Parametric polymorphism (* -> t)
- Dependent types (t -> *)
- Higher kinds (* -> *)
- Purity

Name: Anonymous 2018-09-05 17:46

brb learning Idris so I can become even more unemployable

Name: Anonymous 2018-09-05 17:49

>>2
Haskell, ATS, Agda, and F* also have these.

Name: Anonymous 2018-09-06 3:42

>>3
Haskell has no native dependent types
https://wiki.haskell.org/Dependent_type

Name: Anonymous 2018-09-06 6:43

>>3
if wikipedia is to be believe, ATS doesn't enforce purity:

https://en.wikipedia.org/wiki/ATS_(programming_language)
val n0 = g0string2int (argv[1])
val n0 = g1ofg0 (n0)


This seems to mutate n0.

Name: Anonymous 2018-09-06 6:44

>>1
I am a Java Developer, could you please tell me if Java has those? Thankx!

Name: Anonymous 2018-09-06 7:28

>>4
It can currently emulate them and it will have full dependent types soon enough.

>>5
This is not mutation, it simply redefines the variable. It is the same as ((lambda (n0) ...) (g1ofg0 n0))

Name: Anonymous 2018-09-06 9:15

>>5
g0string2int
g1ofg0
what the fuck

Name: Anonymous 2018-09-06 9:16

>>8
Functional programmer: (noun) One who names variables "x", names functions "f", and names code patterns "zygohistomorphic prepromorphism"
- James Iry

Name: Anonymous 2018-09-06 9:39

The "zygohistomorphic prepromorphism on lazy monad transformers" design pattern.

Name: Anonymous 2018-09-06 9:55

the "dubs" design pattern

Name: Anonymous 2018-09-06 13:36

>>11

most excellent

the gang of 44 approve

Name: Anonymous 2018-09-06 14:03

type checking
dubs checking
float? double? I think you mean dubs
singleton design pattern? hell no

Name: Anonymous 2018-09-07 3:47

๐Ÿ™‹โ€โ™€๏ธ

Whatโ€™s the point of dependent types when you can already write automated tests, contracts, etc. in any language?

Name: Anonymous 2018-09-07 10:23

>>14
Tests make you waste your time and force you in the hell of eternal boredom.
Contracts only detect issues only when the contract is broken - it forces you to waste time writing tests if you do not want your users to get contract errors (and you still can't guarantee that).
Contracts slow down the program.
Contracts are optional so if you forget any of them you are in for a world of pain.

Name: Anonymous 2018-09-08 1:29

>>15
Dependent types slow down the program more.

You'll still have to write tests anyway with dependent types. You can have perfect dependent types while the program doesn't do the intended behavior.

Name: Anonymous 2018-09-08 12:55

>>16
Dependent types slow down the program more.
Dependent types do not slow down the program as they are erased during the compilation process.

You'll still have to write tests anyway with dependent types
If you properly use them, you do not. But if you ever do you will need to write much less tests.

Don't change these.
Name: Email:
Entire Thread Thread List