cps   856

« earlier    

cloudbees/groovy-cps: Groovy execution in the continuation passing style
The insanity that is how you're supposed to write groovy in jenkins
jenkins  groovy  cps  CI  CD 
18 days ago by thcipriani
Application-level Stackless features — PyPy documentation
PyPy can expose to its user language features similar to the ones present in Stackless Python: the ability to write code in a massively concurrent style. (It does not (any more) offer the ability to run with no recursion depth limit, but the same effect can be achieved indirectly.)

This feature is based on a custom primitive called a continulet. Continulets can be directly used by application code, or it is possible to write (entirely at app-level) more user-friendly interfaces.

Currently PyPy implements greenlets on top of continulets. It also implements (an approximation of) tasklets and channels, emulating the model of Stackless Python.

Continulets are extremely light-weight, which means that PyPy should be able to handle programs containing large amounts of them. However, due to an implementation restriction, a PyPy compiled with --gcrootfinder=shadowstack consumes at least one page of physical memory (4KB) per live continulet, and half a megabyte of virtual memory on 32-bit or a complete megabyte on 64-bit. Moreover, the feature is only available (so far) on x86 and x86-64 CPUs; for other CPUs you need to add a short page of custom assembler to rpython/translator/c/src/stacklet/.

PyPy  stackless  CPS  continulets  greenlets 
march 2019 by snearch

« earlier    

related tags

__hot__  abstract  algebraic  async  best  binder  book  bookmak  borrow  c  call/cc  call  callback  callcc  cd  chicagoovereverything  chicken  ci  cl-cont  clisp  clojure  code  commonlisp  comparision  compiler  compilers  compiling  computerscience  computing  concurrency  construction  content  continuation  continuations  continued  continulets  control  cornell  cp  cpd  csp  d09  data  delicious  delimited  diplomacy  downloads  dsl  education  effects  eis  elisp  elouafi  emacs  emacslisp  emulator  españa  excellent  extradition  firmware  flow  fold  free-monad  functional  generator  great  greenlets  groovy  guile  haskell  helm  horario  horas  hotspot  hyperglot  impl-in-hs  implementation  java  javascript  jenkins  js  kawa  kids  lambda  lang  language  ldap  legislacion  lisp  list  lsip  m03  machine  magic  mail  modeldriven  monad  monads  mustsee  nominas  novichok  np  p  parallel  parenting  parsing  phd  pl  poisoning  policing  policy  print  privacy  programinglanguages  programming  prompt  psychology  pypy  python  quantum  qubit  qubits  racket  radio  radioddity  readlater  refcard  registro  repl  research  reset  russia  salisbury  sbcl  scheme  schools  scott-encoding  semantics  shift  side-by-side  skripalsergei  software  stackless  stackless_mode  stackless_python  students  support  teaching  thread  toprint  toread  trabajo  tsp  type  uk  y2019  yield 

Copy this bookmark: