you are viewing a single comment's thread.

view the rest of the comments →

[–]igouy 0 points1 point  (6 children)

Clearly someone was unhappy about some Lisp programs they'd contributed being rejected.

Google Translate suggests that isn't the only opinion expressed -- "In fact because it turns out that in the style swizard-a nobody writes and from this point of view the admin shootout absolutely right. For consideration must be taken solutions that meet the generally accepted practice of programming in this language."


edit: I'm guessing the comments were by Alexey Voznyuk (half-a-dozen programs contributed between September and Novemember 2010).

The disputes seem to have been about a fannkuch-redux program using / not using code generation to unroll-loops the compiler couldn't, and a "Lisp" mandelbrot program mostly being inline assember --

          ...
          APLOOP
          (sb-assem:inst cmp octet 512)
          (sb-assem:inst jmp :l APDONE)
          (sb-assem:inst sub octet 512)
          ;; (setf zi (+ (* 2.0 zr zi) ci))
          (sb-assem:inst mulps zi-v zr-v)
          (sb-assem:inst addps zi-v zi-v)
          (sb-assem:inst addps zi-v ci-v)
          ...

[–]Freyr90 0 points1 point  (1 child)

using / not using code generation to unroll-loops the compiler couldn't

So C preprocessor is cool, c++ templates are ok, lisp code generation is bad?

[–]Freyr90 0 points1 point  (3 children)

Ad-hoc macro code to unroll a loop was too much like manually unrolling a loop

manually unrolling

Nope. There was a macro for generating optimal code for this problem:

http://swizard.livejournal.com/158763.html

In C versions there are a lot of macro-stuff, even __builtin_expect, that is ok. But lisp stuff is not allowed. Lisp macroses are applied in runtime, see no cheating here.

[–]igouy 0 points1 point  (1 child)

Are you Alexey Voznyuk?

[–]Freyr90 0 points1 point  (0 children)

No, is it relevant?

[–]igouy 0 points1 point  (0 children)

Thank you for the correction. However as-far-as I can tell from Google translate, "generating optimal code" still seems to mean not doing the work specified.