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

Pages: 1-

Functional programming considered useless.

Name: Anonymous 2007-08-24 20:15 ID:UdJRrUI8

Seriously, besides XMonad, has Functional Programming (FP) produced anything useful?
GOTO or GTFO.

Name: Anonymous 2007-08-24 20:28 ID:Heaven

>>1
GOTO or GTFO
If you structured your programs properly you wouldn't even need to use a GOTO statement.

Name: Anonymous 2007-08-24 20:42 ID:UdJRrUI8

>>2
The GOTO thing was just my way of supporting procedural over functional paradigm.
PROTIP: If, While, For, and other type of conditional operation are essentially gotos.

Name: Anonymous 2007-08-24 21:12 ID:cMLfGxkz

>>3
PROTIP: Any kind of control is "essentialy goto", so what?

Also, lambda is the ultimate goto, so by supporting goto you support functional programming too.

Name: Anonymous 2007-08-24 21:14 ID:0tk6oe76

wtf

Name: Anonymous 2007-08-24 21:16 ID:OAQVmzUX

Functional languages are awesome, not so much for use (fuck, who does?), but for ideas. If it wasn't for functional languages we'd probably be writing in BASIC.

Also, it'll be interesting to see how many procedural languages survive the transition to highly-concurrent systems. There's a reason why Erlang is functional/has a GC/uses a VM. <- zOMG EVIL!!1!

Name: Anonymous 2007-08-24 21:16 ID:h0r0NAaL

>>4
no it isn't, this is how learning to code in BASIC ruins your life.

Name: Anonymous 2007-08-24 21:20 ID:Heaven

s/procedural/imperative/

Name: sageru 2007-08-24 21:20 ID:Heaven

BRAINFUCK JUST KICKED IN YO

Name: Anonymous 2007-08-24 22:20 ID:8XGx4ueZ

>>1
Isn't Wings3d written in something functional?

Name: Anonymous 2007-08-24 22:29 ID:8XGx4ueZ

>>10
Yeah, Erlang (same fag).

Name: Anonymous 2007-08-24 23:08 ID:U8EGROyz

actually those kind of controls are built with conditional gotos, or at least a goto where you can manipulate the address of the jump

Name: Anonymous 2007-08-24 23:11 ID:UdJRrUI8

>>12
A conditional goto is a goto nonetheless. GOTO || GTFO.

Name: Anonymous 2007-08-24 23:20 ID:U8EGROyz

>>13
yes but many languages with goto do not have conditional goto, so you have to build them with if + goto.

Name: Anonymous 2007-08-24 23:27 ID:UdJRrUI8

>>14
Ah, I'm talking about the assembly generated for such control structures (jmp, jne, je, jg, jl and the the other jxx sisters)

Name: Anonymous 2007-08-25 1:51 ID:LPFARUx2

>>6

HiPE = High Performance Erlang = compiled to native code.  Bundled in the official Erlang releases.

Name: Anonymous 2007-08-25 2:51 ID:mdKOx/4S

>>16
Interesting. That must have been a challenge.

Name: Anonymous 2007-08-25 3:02 ID:LPFARUx2

>>17

Yes, interesting.  The various papers describing work on HiPE are a really good read.

Name: Anonymous 2007-08-25 11:37 ID:LQoAtWqG

Most functional programming won't perform well until GCs and OSes work together properly.

Name: Anonymous 2007-08-25 13:13 ID:5dKGp3lP

>>19
Uh, maybe you're a little out of the loop, but GCs have been working just fine for many years.

Name: Anonymous 2007-08-25 15:30 ID:LQoAtWqG

>>20
If you say something this fucking stupid then you're out of the loop. GCs get RUINED by the OS. A GC that attempts to be OS aware and try to map better to in memory pages will do way better than an unaware GC.

Grow up, you're outclassed, get out of prog

Name: Anonymous 2007-08-25 15:54 ID:5dKGp3lP

>>21
Is this why all languages with a GC are pig slow?

Name: Anonymous 2007-08-25 16:01 ID:uCNcRmpB

>>21
you are wrong

Name: Anonymous 2007-08-25 16:42 ID:9Y7YaB7d

functional programming is for wussies

Name: Anonymous 2007-08-25 19:36 ID:jLVwFKIi

XMonad is awesome enough to justify the 15 years of Haskell development.

Name: Anonymous 2007-08-25 19:50 ID:Heaven

>>25
WELL, LET'S SEE WHAT THIS XMONAD THING CAN DO. Too bad darcs is slow as fuck.

Name: Anonymous 2007-08-25 21:27 ID:jLVwFKIi

>>26
But it is simple as fuck easy to set up as fuck and distributed as fuck to save all project files and all history of changes even if main server and all but one developers were hit with a 5-Mt N² bomb.

But, yes, it is slow under heavy loads.  Also, locks.  If you have a team of 1800 developers you would probably prefer GIT or SVN.

Name: Anonymous 2007-08-26 4:09 ID:WV3GzenN

>>27
If you have that many developers you'd probably want a development model like Linux or Wine -- where developers send in patches which are then applied.

And for such a large project -- Darcs would perform horribly, because it doesn't really handle too many and too large patches very well.

Use GIT ;)  Sure, it's confusing and has way too many oddly named commands and concepts, and it doesn't have the nice CLI of Darcs, but it works well.

Name: Haha 2007-08-26 9:40 ID:K9dci/QF

Ocaml, as a partially functional programming language, can outdo C in performance and Haskell just takes programming toa whole 'nother level.

Name: Anonymous 2007-08-26 10:21 ID:5oZWyF7X

>>29
Only in rare cases can OCaml beat C. OCaml boxes all their floats, can't do concurrency well, plus doesn't do a heck of a lot of optimization to begin with! Even worse if you want to interact with other libraries not written in OCaml you have to marshal ocaml types

Name: Anonymous 2007-08-26 10:24 ID:5oZWyF7X

I looked at the XMonad source code. It isn't monadic. It isn't true functional programming. LOL

Name: Anonymous 2007-08-26 11:35 ID:YeZgR5lr

"I looked at the XMonad source code. It isn't monadic. It isn't true functional programming. LOL"

Yeah, because monads and zipper data structures aren't functional at all.

But, y'know, don't let the facts get in the way of your playa-hatin'.

Name: Anonymous 2007-08-26 17:48 ID:5oZWyF7X

If it doesn't do I/O functionally (monads) then it isn't functional.

Name: Anonymous 2007-08-26 18:07 ID:0L7pXACz

>>33
Monads aren't the only way to do functional IO.

Name: Anonymous 2007-08-26 20:19 ID:5oZWyF7X

>>34
XMonad doesn't do functional I/O

Name: Anonymous 2007-08-26 21:24 ID:ndi6FMDW

>>35
It doesn't do any Stacked layout like Wmii does.  Can you fix it plocks?  огz

Name: Anonymous 2007-08-26 22:26 ID:bhbpOK4q

spoiler

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