HN Simulatornew | past | comments | lists | submit | jeandrek's commentslogin

Here's macOS 26.5's XNU: https://github.com/apple-oss-distributions/xnu/tree/ac9718fb... Could just be what the devs have available, if they're really already going to the trouble to target RPi?


It seems so weird that the M series are really SOCs and not just CPUs. I also don't really want a home computer to have coprocessors just for machine learning...

At least they always allow installing your own arbitrary OS.


Seems at least one of the same developers works on both PureDarwin and ravynOS: https://www.puredarwin.org/news/The-Road-to-20-5-0.html (This is the first time I've heard of the latter.)


The text gives the impression that PureDarwin has been Clauded


Good. Unfortunately Hackintosh people never put weight behind Pure Darwin. A missed opportunity.


The less-eval-friendly thing is R5RS only requires two possible "environment specifiers" (2nd arg to eval), returned by SCHEME-REPORT-ENVIRONMENT and NULL-ENVIRONMENT, with no special form or procedure to get the current lexical environment; and R4RS (I just checked) does not specify eval. There's pretty much no manipulation of environments in the standard; the best is something like

  ((eval `(lambda (foo) ,exp) (scheme-report-environment 5))
   foo)
(can't really think of applications for getting the current environment right now except for pseudo-macro stuff)


Scheme is hygeneic, yes. Which is why sandboxing works.

If you want to manipulate the current environment, and defeat half the point of the language, then you're allowed that through (user-initial-environment).

(define-syntax) will also let you rewrite the bindings however you require.

Edit: Here's an eval macro I use fairly often:

  (define-syntax constexpr
  (syntax-rules ()
    ((_ expr)
     (begin
       (syntax->datum
        (datum->syntax
         (quote-syntax here)
         (eval 'expr (interaction-environment))))))))
         
  (define (factorial n)
  (if (<= n 1)
      1
      (* n (factorial (- n 1)))))
         
  (define n
    (constexpr (factorial 10)))


By the current lexical environment I meant the lexical environment at some place in the code (not just the top-level one, which user-initial-environment gives, though it's optional). I'm not attempting to make a case for anything; but without that RnRS' eval doesn't grant more expressivity than just tacking on an interpreter to every program, which you could also just do yourself. (It also doesn't complicate the implementation; variable names don't need to be preserved after compiling.) I.e. it makes sense to say standard Scheme has been less "eval-friendly," even if there were good reasons or one doesn't care.


It does not. https://conservatory.scheme.org/schemers/Documents/Standards... Particular implementations could.



Common Lisp reader macros hook into the reader itself as it's parsing S-exps and meets some character combination: http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec... Define-syntax is for making special forms (i.e. normal macros).

Not that I know why eval should be paired with reader macros.


I've never really heard of installing SRFIs (could be my ignorance); do you mean importing them? Or is installing SRFI implementations as their own packages really common? (Haven't really tried R7.)

The anti-R6/R7 folks (or what I've heard) won't see a problem so long as you can use CL to build fancy serious software, which lets Scheme stay small and simple for education. (Of course ideally you'd be able to do any SICP exercise on a Scheme implementation out of the box, though.)


For that I use Chicken 5 with trace, srfi-203 and srfi-216.


Guidelines | FAQ | Lists | API | Security | DMCA | Apply to YC | Contact

Search: