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

Just finished SICP with Racket

Name: Anonymous 2011-01-24 14:42

And I'm not convinced about anything other than that Racket is slow as shit in a funnel. Explain this satori thing to me.

Name: Doctor Racket !RACKET/.HY 2011-01-24 14:43

>>1
You clearly don't understand Satori, Functional Programming and Lisp.

Name: Anonymous 2011-01-24 14:44

Read MORE SICP. Repeat. Then again.

Name: Anonymous 2011-01-24 14:45

>>2
I guess it's just "2deep4me".

Name: Anonymous 2011-01-24 14:46

liar liar liar

Name: Anonymous 2011-01-24 14:47

>>2
I bet that tripcode bruteforcer wasn't writtin in LISP.

Name: Anonymous 2011-01-24 14:48

SICP is just a very elaborate troll: MIT has replaced LISP with Python YEARS ago

Name: Anonymous 2011-01-24 14:51

>>7
Python is not a real language. It doesn't even have tail call optimization!!

Name: Anonymous 2011-01-24 14:54

>>7
Cause: the Anticudder

Name: Doctor Racket !RACKET/.HY 2011-01-24 14:55

>>6
Actually, yes. I wrote it in Racket and it's based on the tripcrunch's source code.

Name: Anonymous 2011-01-24 14:57

>>10
Post source code or you are a LIAR.

Name: Anonymous 2011-01-24 14:58

>>8
>Scheme
>Optimization

I guess it needs more optimization because its still slow.

Name: Anonymous 2011-01-24 15:01

>>1
You have finally reached satori.

Name: Anonymous 2011-01-24 15:09

>>10
If you didn't implement DES in Scheme it's cheating.

Name: Anonymous 2011-01-24 15:11

>>1
Congratulations! We applaud your completion of SICP. We are sorry to inform you that ``Scheme'' is really a Pyramid-Scheme and has no practical benefit at all. All that remains for you to do is troll at least 5 other people into reading SICP and our Scheme can live on!

Name: Doctor Racket !RACKET/.HY 2011-01-24 15:25

>>11
I'm not open sourcing it. Write your own.

>>14
Racket has a fairly good FFI, and libcrypto's DES implementation is surely better, faster and mature than any hypotetical implementation I could write, either if I code it in C or Scheme.

Name: Anonymous 2011-01-24 15:26

>>12
Well, Racket is utilizing a JIT compiler, of course it's slow.

IHBT?

Name: Anonymous 2011-01-24 15:31

>>16
But it's just a bruteforcer : (

Name: Anonymous 2011-01-24 15:31

>>15 said it all

Name: Doctor Racket !RACKET/.HY 2011-01-24 15:33

>>17
raco make file.rkt
or raco exe file.rkt for native compilation.

Name: Anonymous 2011-01-24 15:34

>>20
Oh, I didn't know that.
Which is kinda obvious as I don't code in Racket.

Name: Doctor Racket !RACKET/.HY 2011-01-24 15:43

>>21
Still, you don't get too much speed boost, bytecompiling first is some milliseconds slower than JIT compilation, native compilation is some milliseconds faster than JIT compilation, but it needs to embed the needed libraries in the executable.

I have to admit, Racket's JIT compiler (and compiler in general) could generate much more better code.

Name: Anonymous 2011-01-24 16:16

>>18
: (
Your lack of Shift JIS letters makes me sad :(

Name: Anonymous 2011-01-24 18:18

>>15
Oh the humanity! My world is collapsing, I think I'm going to be SICKP

Name: Anonymous 2011-01-24 18:35

Aye Tee Tee: /g/

Name: Anonymous 2011-01-24 18:46

>>22
Does Typed Racket actually help code generation these days? It didn't before, but I've been away from Racket for a while.

Name: Doctor Racket !RACKET/.HY 2011-01-24 18:53

>>26
Yes, Typed Racket generates faster code, when you properly set your types.

Name: Anonymous 2011-01-24 20:52

>>27
Why, is the JIT too dumb to infer types properly?

Name: Doctor Racket !RACKET/.HY 2011-01-24 21:06

>>28
Because of the dynamic nature of Lisp, a variable that initially holds an integer value may also be later changed to contain a string or types.
Typed Racket, instead, is statically typed. A variable declared as integer will hold only integer values.

Name: Anonymous 2011-01-24 21:09

>>29
s/or types/or other types/

Name: Anonymous 2011-01-24 21:13

>>29
So the JIT can't collect statistics about the most likely types (and the resulting correlations) and compile multiple paths? C'mon.

Name: Doctor Racket !RACKET/.HY 2011-01-24 21:28

>>31
I didn't do many tests on how good the JIT compiler is, but I'm sure that it can determine the type of a variable in certain situations, e.g. (cond ((number? x) ...) #|the compiler knows that x is a number|# ...)
However, it is far from being perfect and from the quality of CL compilers.

Name: Anonymous 2011-01-24 21:30

>>32
I wouldn't trust an AOT compiler for a dynamic language, no matter what. Hell, I don't even trust AOT compilers for static languages.

Name: Anonymous 2011-01-24 21:33

>>33
Hell, I don't even trust AOT compilers for static languages.
Settle down, nigger.

Name: >>33 2011-01-24 21:38

Doctor, the patient in cell number 34 is getting nervous! Do something!

Name: Doctor Racket !RACKET/.HY 2011-01-24 21:44

>>35
Take him back to the psychiatrical hospital at boards.4chan.org.

>>33
I wouldn't trust an AOT compiler for a dynamic language
Why not?

Name: Anonymous 2011-01-24 21:53

>>36,35
What are you two, fuckbuddies? Ugh.

Name: Anonymous 2011-01-24 22:53

>>36
Because despite all the type annotations you could possibly give to it, run-time profiling is necessary to determine which code paths are most often taken in order to restructure the program flow around them. And please don't tell me anyone is going to bother including that kind of information by hand. Lisp is about semantic purity, and annotations are just ugly.

Name: Anonymous 2011-01-24 23:02

>>38
Lisp is about semantic purity
What does that even mean?

Name: Anonymous 2011-01-25 0:04

>>8
It can be implemented using decorators

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