diego
2018-12-10 08:17:50

Awesome! Mine are at https://github.com/zzamboni/adventofcode/tree/master/2018 (I’m running a bit behind, still on Day 7)


diego
2018-12-10 08:18:58

BTW thanks for your writing - I’ve been reading through https://beautifulracket.com/, it’s a great book.


leafac
2018-12-10 11:55:30

I don’t think we can stop anytime, but only when we have a term in normal form. At that point the nondeterminism kicks in and we can observe the difference between applicative order and call-by-value. For example, when we have ((Y (lambda (fact) ...)) 5) we have to reduce, regardless of whether we are in applicative order or call-by-value. But when we have just the Y-combinator ((λ (f) ___)), it is a normal form, so we have a choice. Call-by-value would stop here, but applicative order has the option to reduce inside the λ, spin around the loop once, land on another term in normal form, and face another nondeterministic decision of whether to stop or not.


sorawee
2018-12-10 15:50:45

You can use Pygments in LaTeX, and Pygments supports Racket.


mark.warren
2018-12-10 15:55:54

I got an Ada Lovelace splash screen on startup today, I thought Ada Lovelace day was in October. Anyone know why it was displayed today?


samth
2018-12-10 15:56:28

@mark.warren today’s her birthday


mark.warren
2018-12-10 15:56:48

Ah cool, should have checked for the obvious.


mark.warren
2018-12-10 15:57:55

@samth I should Google first, ask silly question second :grin:


david.alkire
2018-12-10 16:27:28

@alama, this is awesome. Thanks for putting it together. I thought you should know that the logo is pretty large and it took a while for the page to load because of it.


leif
2018-12-10 22:18:31

Does anyone know why I would get this error: no module instance found: #<resolved-module-path:"/home/leif/racket/racket/collects/racket/private/list.rkt"> 0 context...: namespace->module-instance70 copy-namespace-value temp250 for-loop [repeats 1 more time] perform-require!78 /home/leif/racket/racket/share/pkgs/compatibility-lib/mzscheme/private/old-procs.rkt:47:4: make-namespace .../racket/unit.rkt:998:20 "/home/leif/racket/racket/share/pkgs/pict-lib/pict/code.rkt": [running body] temp37_0 for-loop run-module-instance!125 for-loop [repeats 1 more time] run-module-instance!125 do-dynamic-require5 ...


leif
2018-12-10 22:18:44

leif
2018-12-10 22:19:02

When i run racket paper.scrbl. But not when I run it in DrRacket?


leif
2018-12-10 22:19:44

What’s more interesting is when I remove the pict/code line in lang.rkt (line 10), racket paper.scrbl runs fine.


leif
2018-12-10 22:20:40

This almost feels like a syntax-module system issue @mflatt, @ryanc, or @michael.ballantyne


leif
2018-12-10 22:21:00

(I also get the same error when I run raco make paper.scrbl.


samth
2018-12-10 22:23:57

usually that means you required something at compile time that isn’t required by the residual program but is needed


shu--hung
2018-12-10 22:35:07

My post on the users’ mailing list seemed to have been blocked by Google. It contains an external link to a screenshot. Anyway to get around that?


leif
2018-12-10 22:46:07

That’s odd.


leif
2018-12-10 22:46:18

I mean, I required the pict/code library at read time.


leif
2018-12-10 22:46:34

But it doesn’t show up in the expanded code.


leif
2018-12-10 22:46:40

(When expanded in DrRacket that is.)


samth
2018-12-10 23:26:28

@shu—hung I allowed it


shu--hung
2018-12-10 23:26:50

Thank you!


shu--hung
2018-12-10 23:27:50

(Sorry I just sent it without the link again a few seconds ago)


leif
2018-12-11 01:20:55

@mflatt It looks like this is an expandera bug, as it works as expected in Racket 6.12.


mflatt
2018-12-11 03:39:03

I’m testing a repair


mflatt
2018-12-11 03:46:50

In case anyone is interested: A #lang-triggered dynamic-require is correctly wrapped with a parameterize to change to a root namespace, if necessary. But the call to the read-syntax function is outside that parameterize, so there’s a mismatch between the namespace used to load and the namespace in place for read-syntax. That mismatch easily shows up when the read-syntax from the reader language loads another module to get its reader.