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

Pages: 1-

Scheme is made by retards

Name: Anonymous 2017-12-06 17:34

(fold kons knil list1 list2...)
Nothing wrong with that, right? Yeah, except that for some insane reason kons has the form (kons e1 e2… accumulator). That's right, if you want to write fold-like functions with support for arbitrarily many lists, you have to do idiotic things like
(define (fold-my-anus rating list1 . lists)
(cdr (apply fold (λ FUCK
(let* ((acc (last FUCK))
(elems (drop-right FUCK 1))
(r (apply rating elems)))
(if acc
(if (> r (car acc))
(cons r elems)
acc)
(cons r elems))))
list1 lists)))

Instead of the infinitely more sensible
(define (fold-my-anus rating list1 . lists)
(car (apply fold (λ (acc . elems)
(let ((r (apply rating elems)))
(if acc
(if (> r (car acc))
(cons r elems)
acc)
(cons r elems))))
list1 lists)))

Who makes a variadic function and puts the optional parameters at the beginning, for fuck's sake? Half the examples on the SRFI-1 page implicitly work around this retardation and the other half are Perl-tier ``clever'' hacks, which makes me suspect that these were the reason they chose it that way. Code golfers belong into a lime pit, not a language design team.

This isn't the only issue of this kind either. Scheme's parameter order is ridiculously stupid and inconsistent to boot. Is the object you operate on first? Last? Somewhere in between? Fuck, I don't know because there is no system at all behind it. The dead dog got at least that right: Because of currying, parameters are ordered such that the parameters less likely to vary come first and the object to be operated on comes last. This is formulated nowhere as far as I know and yet even third party libraries adhere to it because it is sane, intuitive and makes higher-order functions a breeze.

Name: Anonymous 2017-12-06 17:36

Should be cdr in the second version, obviously, but editing >>1 doesn't work for some reason.

Name: Anonymous 2017-12-06 20:51

Name: Anonymous 2017-12-07 0:17

Scheme is a failure of a language, caught between defining too little to be considered a language or anywhere consistent between implementations, and too much to be anywhere near useful or make those implementations all that different from one another.
And the little it defines isn't even that good; the parameter order in the basic functions is all over the place, da standard only defines one syntax transformer function which doesn't even let you write the fun macros, and
call/cc
is a useless blight that should have been eradicated three revisions ago.

Name: Anonymous 2017-12-07 2:24

Mio is the best kon.

Name: Anonymous 2017-12-07 13:47

>>4
while I generally like Scheme, I don't get schemers' infatuation with call/cc. it allows you to write 'clever' code which doesn't look like regular Scheme by exposing a glorified compiler internal which you shouldn't need to know about it. and this is all so that you can write error-handling code, which would be better off standardized (like in Common Lisp)

Name: Anonymous 2017-12-07 14:22

monads > call/cc

Name: Anonymous 2017-12-07 14:41

>>8
yes

Name: Anonymous 2017-12-07 21:39

>>7
Scheme does standardize
error
and
guard
though (much to the displeasure of those who'd like to keep the base language small).
I'm fine with continuations being in the language, but I'd rather have proper delimited continuations instead of faking them badly with
call/cc
and
set!
.

Name: Anonymous 2017-12-07 23:56

Is scheme going the way of Haskell? I really hope not.

Name: Anonymous 2017-12-08 1:36

>>11
What would going the way of Haskell entail? I don't see much type theory wankery in Scheme and no overabstract bullshitte like lenses either.

Name: Anonymous 2017-12-09 14:18

>>13
So is LISP.

Name: Anonymous 2017-12-09 20:18

>>15
It is.

Name: Anonymous 2017-12-09 20:20

>>15
Why isn't it used in modern apps then?

Name: Anonymous 2017-12-09 20:56

>>17
Because ``modern'' is code for ``shit''. Not like the Clojure fucks aren't trying and not like Common Lisp isn't slowly getting infected as well.

Name: Anonymous 2017-12-10 11:42

BOOMPSY

Name: Anonymous 2017-12-10 11:44

>>18
Ah yes, I absolutely forgot about Clojure. I guess at least that one's still being used.

Name: Anonymous 2017-12-11 7:20

>>20
Hy is also pretty practical, it's a way to write FIOC without the FIOC, with sexprs like /prog/ intended

Name: Anonymous 2017-12-11 23:31

Actual programming bump.

Name: Anonymous 2017-12-13 3:52

>>21
I read about it. Didn't sound like a good idea, to be honest.

Name: Anonymous 2017-12-13 7:40

>>23
I enjoy it, but then again I didn't make anything bigger than toy programs and scripts in it. I kinda missed out on using Hy for my vidya project because I wanted other contributors (noobs) to be able to read my code, and I think it's hard to beat normal FIOC in this regard. of course it turned out to be a waste of time because other contributors flaked out before they had a chance to write anything, so I could've done it in Hy from the start.

Name: Anonymous 2017-12-13 15:12

(car "toast") fails to work because scheme is shit

Name: Anonymous 2017-12-14 1:01

>>25

Works in Symta (head 'toast') => 't'

Name: Anonymous 2017-12-14 1:09

>>26
That's a head, not a car.

Name: Anonymous 2017-12-14 2:28

>>27

Well, excuse me, Princess!

Name: Anonymous 2017-12-14 7:30

>>26
make your game Nikita

Name: Anonymous-hime 2017-12-14 11:19

>>28
You are excused.

Name: Anonymous 2017-12-16 12:43

>>27
bydlos can't read

Name: Anonymous 2017-12-19 7:38

>>18
Isn't Clojure the most common Lisp dialect now?

Name: Anonymous 2017-12-19 7:45

>>33
it is a dialect of lisp that is common but it isn't common lisp

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