Yes, the video is here: https://www.youtube.com/watch?v=8qwXgappTWQ
https://ucsd-cse131-fa25.github.io is the version for this course. My homepage has a number of flavors of that course (Rust, Ocaml, AOT, JIT, etc) https://jpolitz.github.io
> I assume this intended at a class which has already finished writing an AOT compiler and wants to build faster functions than you can derive at a compile time. Quick answer just to this part: So the design challenge I…
As far as I remember (maybe Arnar or Úlfar or another of the authors would have a different memory, though) we just wanted a “cool cookie” name. We knew about the -oon/-on distinction and liked the sound of -oon. I view…
Thanks for including this! Tweet thread explainer: https://twitter.com/ShriramKMurthi/status/142918126348784435...
If it helps to think about the issue, we have a (free, online) book that manages this transition, so we've thought about this quite a bit and one co-author has been teaching a Pyret -> Python flow for several years.…
The `where:` syntax ought to only be for test cases attached to functions. Maybe this comment is a useful answer: https://news.ycombinator.com/item?id=28265210
https://blog.brownplt.org/2014/04/01/var-vs-yar.html
This is a good question! We addressed this explicitly in our (new) book that starts in Pyret and transitions to Python: https://dcic-world.org/2021-08-21/part_appendix.html#%28part...
You might be interested in Rehearsal: https://people.cs.umass.edu/~arjun/main/papers/2016-rehearsa...
Various flavors of a course based on "An Incremental Approach to Compiler Construction" [1] have most or all materials free online, some with excellent notes. Taught at UCSD, Northeastern, Swarthmore College:…
It's worth noting that Stopify itself isn't an editor or IDE as the title suggests. Stopify is a JavaScript -> JavaScript compiler, implemented as a Babel transform, that enables pausing and restarting control operators…
Nice! Something like this is super-important for user experience. This is a problem we've thought a lot about with Pyret, and have different concrete solutions. Rather than use heuristics that turn long-running…
There is the Canine Good Citizen test (http://www.akc.org/dog-owners/training/canine-good-citizen/), and the more stringent Community Canine Good Citizen Test…
It's worth mentioning that Pyret followed this path. It was originally a Racket #lang. Once we got the design off the ground and decided to primarily target the browser, we wrote a new implementation in JavaScript and…
That paper is amazing. Plug for my course, which is built around the ideas in Ghuloum's paper, and I've talked about before on HN: https://news.ycombinator.com/item?id=13207695…
The Whalesong paper has a detailed comparison to Racket: https://cs.brown.edu/~sk/Publications/Papers/Published/yk-wh... Results range from 20x to 100x slowdown – just fine for the games and animations middle- and…
Cool to see Whalesong up here; it's worth pointing out the incredible effort put into making this really work for Racket, _including_ support for continuations. That is, you can compile a Racket program that uses…
Ben Lerner did a great job writing notes [0] for his version, which are super helpful if you prefer reading to videos. [0] https://course.ccs.neu.edu/cs4410/#%28part._lectures%29
My compilers course has all the lectures recorded, and has starter code for all the assignments provided. It provides all the parsers, and focuses on the backend, including memory management and various details of value…
I think this has lots of potential. I have thought before that if I could make two changes to Slack (which I already think is pretty great), they would be: 1. Hitting "Enter" doesn't send the message. This encourages…
Is there a particular piece of insight from that paper that indicates a mistake in the design of Viper? I love erights' work and don't doubt that there is a lot to be learned from it in this context, but some guidance…
I'm basing my course this quarter on one from Northeastern, where Ben Lerner has written a pretty impressive set of notes, the latter half of which are data structures content:…
Plug for my compilers course, which is incremental and uses some of the ideas from sibling comments re: emitting assembly and Ghuloum's great work. Last time I posted it on HN, someone got back to me in a few weeks that…
Consider Bootstrap: http://www.bootstrapworld.org/ Bootstrap 1 is computing tied to algebra concepts, targeted at the middle school age group (US grade 6-8). Students learn things like order of operations and what a…
Yes, the video is here: https://www.youtube.com/watch?v=8qwXgappTWQ
https://ucsd-cse131-fa25.github.io is the version for this course. My homepage has a number of flavors of that course (Rust, Ocaml, AOT, JIT, etc) https://jpolitz.github.io
> I assume this intended at a class which has already finished writing an AOT compiler and wants to build faster functions than you can derive at a compile time. Quick answer just to this part: So the design challenge I…
As far as I remember (maybe Arnar or Úlfar or another of the authors would have a different memory, though) we just wanted a “cool cookie” name. We knew about the -oon/-on distinction and liked the sound of -oon. I view…
Thanks for including this! Tweet thread explainer: https://twitter.com/ShriramKMurthi/status/142918126348784435...
If it helps to think about the issue, we have a (free, online) book that manages this transition, so we've thought about this quite a bit and one co-author has been teaching a Pyret -> Python flow for several years.…
The `where:` syntax ought to only be for test cases attached to functions. Maybe this comment is a useful answer: https://news.ycombinator.com/item?id=28265210
https://blog.brownplt.org/2014/04/01/var-vs-yar.html
This is a good question! We addressed this explicitly in our (new) book that starts in Pyret and transitions to Python: https://dcic-world.org/2021-08-21/part_appendix.html#%28part...
You might be interested in Rehearsal: https://people.cs.umass.edu/~arjun/main/papers/2016-rehearsa...
Various flavors of a course based on "An Incremental Approach to Compiler Construction" [1] have most or all materials free online, some with excellent notes. Taught at UCSD, Northeastern, Swarthmore College:…
It's worth noting that Stopify itself isn't an editor or IDE as the title suggests. Stopify is a JavaScript -> JavaScript compiler, implemented as a Babel transform, that enables pausing and restarting control operators…
Nice! Something like this is super-important for user experience. This is a problem we've thought a lot about with Pyret, and have different concrete solutions. Rather than use heuristics that turn long-running…
There is the Canine Good Citizen test (http://www.akc.org/dog-owners/training/canine-good-citizen/), and the more stringent Community Canine Good Citizen Test…
It's worth mentioning that Pyret followed this path. It was originally a Racket #lang. Once we got the design off the ground and decided to primarily target the browser, we wrote a new implementation in JavaScript and…
That paper is amazing. Plug for my course, which is built around the ideas in Ghuloum's paper, and I've talked about before on HN: https://news.ycombinator.com/item?id=13207695…
The Whalesong paper has a detailed comparison to Racket: https://cs.brown.edu/~sk/Publications/Papers/Published/yk-wh... Results range from 20x to 100x slowdown – just fine for the games and animations middle- and…
Cool to see Whalesong up here; it's worth pointing out the incredible effort put into making this really work for Racket, _including_ support for continuations. That is, you can compile a Racket program that uses…
Ben Lerner did a great job writing notes [0] for his version, which are super helpful if you prefer reading to videos. [0] https://course.ccs.neu.edu/cs4410/#%28part._lectures%29
My compilers course has all the lectures recorded, and has starter code for all the assignments provided. It provides all the parsers, and focuses on the backend, including memory management and various details of value…
I think this has lots of potential. I have thought before that if I could make two changes to Slack (which I already think is pretty great), they would be: 1. Hitting "Enter" doesn't send the message. This encourages…
Is there a particular piece of insight from that paper that indicates a mistake in the design of Viper? I love erights' work and don't doubt that there is a lot to be learned from it in this context, but some guidance…
I'm basing my course this quarter on one from Northeastern, where Ben Lerner has written a pretty impressive set of notes, the latter half of which are data structures content:…
Plug for my compilers course, which is incremental and uses some of the ideas from sibling comments re: emitting assembly and Ghuloum's great work. Last time I posted it on HN, someone got back to me in a few weeks that…
Consider Bootstrap: http://www.bootstrapworld.org/ Bootstrap 1 is computing tied to algebra concepts, targeted at the middle school age group (US grade 6-8). Students learn things like order of operations and what a…