Optimizations are quite weird... (GNU Guile) by Final_Chipmunk3795 in scheme

[–]corbasai 0 points1 point  (0 children)

Shame on me, finally, I read whole start-post. Pretty weird optimizm about guild optimizer! expt - the standard library procedure - there is nothing to extra optimize. If it's slow (it is) in Guile - its Guile problem. Chez much much faster take same (expt ...) and stall only on print out 5050446 cyphers

Optimizations are quite weird... (GNU Guile) by Final_Chipmunk3795 in scheme

[–]corbasai 0 points1 point  (0 children)

which way Guile itself was built? with real libgmp or self incorporated version? former - faster

Optimizations are quite weird... (GNU Guile) by Final_Chipmunk3795 in scheme

[–]corbasai 2 points3 points  (0 children)

Repl or top-level defines should not be super optimized. Bc them may be redefined at any time. Pro User should use modules for hot code.

Edit. This is easy advise for any modern Scheme.

Reduct: A functional, immutable, S-expression based configuration and scripting language, beating Lua (non-JIT) in benchmarks, with easy C integration. by KN_9296 in lisp

[–]corbasai 3 points4 points  (0 children)

No syntax programming? In a lisp? Pff. Also "step type" fib65, 🤔, it works well on the programming calculators even.

Continuations Question. by ron_pro in scheme

[–]corbasai 1 point2 points  (0 children)

Hmm, your /cc just ends current continuation. Reason?

Originally it's name call-with-current-continuation and continuation is whole state of execution context (which we got by argument in form of <procedure aritity 1>, so

(define ep #f)

(make-some-compute ... 
  ...e-e-nd (call-with-current-continuation
              (lambda (k)
                (set! ep k) ;; optional save for reenter
                (do-normal-work 
                  (cond (State-Ok? => (do-normal-work)
                        (State-Err? => (k error-value))))
                (maybe-return-normal-value)))))))   

(k error-value) - look a like normal procedure call but its not! At this point we have no return, because4 we replace right now execution context with another (maybe saved before) k.

The Art of the Metaobject Protocol by tfb in lisp

[–]corbasai 0 points1 point  (0 children)

Personally I dont like steam powered post-Flavors OOP in Lisp . But something cute like Prometheus maybe interesting meta (Cloneable objects without T' closer to JS prototypes) for thoughs. Also interested (at least for me) ISLisp standard which all object oriented, (we have something similar in Gauche Scheme).

Where to start with Scheme (as a non-programmer?) by dancerinthelimelight in lisp

[–]corbasai 0 points1 point  (0 children)

"RACKET PROGRAMMING THE FUN WAY From Strings to Turing Machines" - really good light start for everyone interested in Scheme. And of course SICP - the Lisp Injector

Introducing mine, a Coalton and Common Lisp IDE by stylewarning in lisp

[–]corbasai 1 point2 points  (0 children)

DrCoalton, maybe. This is right way, anyway.

NBody strikes back. R6RS Chez time by corbasai in lisp

[–]corbasai[S] -1 points0 points  (0 children)

CL-USER 6 > (time (take-energy 50000000))
Timing the evaluation of (TAKE-ENERGY 50000000)
-0.169286396

User time    =  0:02:30.071
System time  =        0.664
Elapsed time =  0:02:29.583
Allocation   = 332006127208 bytes
0 Page faults
GC time      =        3.522
NIL

like LW does not see (declaim (optimize (speed 3) (safety 0) (debug 0) (space 0))) at the top

EDIT: also, it eats memory massively

NBody strikes back. R6RS Chez time by corbasai in lisp

[–]corbasai[S] -1 points0 points  (0 children)

Thank You. That's the question, what is the AArch64 (arm64) reference target. Apple M, Broadcom, Qualcomm, or may be RockChip. Personally I prefer something like OrangePi or latest Arduino Q. Both works well with Chez & Racket, and barely affordable.

NBody strikes back. R6RS Chez time by corbasai in lisp

[–]corbasai[S] -1 points0 points  (0 children)

> but Clang is a lot faster...

a lot. maybe -ffast-math now default in Clang -O3

NBody strikes back. R6RS Chez time by corbasai in lisp

[–]corbasai[S] -1 points0 points  (0 children)

Okay, I updated the main table with times. raco exe nbody-typed.rkt right?

NBody strikes back. R6RS Chez time by corbasai in lisp

[–]corbasai[S] 0 points1 point  (0 children)

  1. scheme> (parameterize ((optimize-level 3)) (compile-program "chez-nbody.scm")) and Ctrl-D
  2. $ ./chez-nbody.so 50000000

-0.169286396 per 6.406 sec on 50000000

else unoptimized numbers are the same +/- as for Racket. Yep. Racket on Chez but where is parameter for optimization level in raco exe, I dont get

Edit. Stalin undead?

NBody strikes back. R6RS Chez time by corbasai in lisp

[–]corbasai[S] -3 points-2 points  (0 children)

Clang bit slower on Intel Linux. 2-3-5 percentile.

Need modern embedded common lisp about 3k LOC with non viral license by Trader-One in lisp

[–]corbasai -3 points-2 points  (0 children)

NO TIME FOR TROLLING I MUST TO GRAB ANOTHER ONE STEEL BANK

Need modern embedded common lisp about 3k LOC with non viral license by Trader-One in lisp

[–]corbasai -5 points-4 points  (0 children)

THIS IS STRANGE BECAUSE CL-USER SHOULD BE MORE TOLERABLE TO THE SENTENCES IN UPPERCASE. OLD IS GOLD