philip.mcgrath
2019-6-5 07:00:14

@greg @todo I think these posts may be from before AWS Lambda supported custom runtimes: https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html I haven’t tried yet, but it looks like it would be easy to implement a runtime in Racket.


arkaitzmugica
2019-6-5 17:00:30

@arkaitzmugica has joined the channel


joelmccracken
2019-6-5 17:03:07

I meant racket/draw


joelmccracken
2019-6-5 17:03:10

i forgot about pict


joelmccracken
2019-6-5 17:05:00

looking at that


arkaitzmugica
2019-6-5 17:05:31

Hi there… sorry for my stupid question, but I’ve google’d a lot and I can’t find a slack group on common lisp… can anyone of you help me and send me to the registration page (if it exists)? Thank you all in advance, and again, excuse me for the inconvinience of reading such a question in a place like this


soegaard2
2019-6-5 17:07:35

If no-one has an answer here, try asking the same question in the common lisp irc group.


soegaard2
2019-6-5 17:08:03

arkaitzmugica
2019-6-5 17:16:43

thank you!


samdphillips
2019-6-5 17:33:26

Is there a syntactic abstraction for this already? (lambda args (send/apply an-object a-message args))


pocmatos
2019-6-5 19:12:45

@greg i have started a new blog (not online yet) using frog and interestingly found that my post @\|content\| is replaced indented 6 spaces which messes up my code snippets generated using pygments. Do you know where these 6 spaces could come from?


notjack
2019-6-5 19:50:59

I think there’s a jpeg library made by Andy Wingo. He gave a talk about it at racketcon.


notjack
2019-6-5 19:51:32

There’s also the file/convertible system


pocmatos
2019-6-5 19:57:53

@greg just found out the problem…


samth
2019-6-5 20:33:02

@pocmatos it might be better to cover this here than over email


samth
2019-6-5 20:33:35

First, I would take a look at http://drdr.racket-lang.org/help


samth
2019-6-5 20:34:26

Unfortunately drdr is not easily replicable (a lot of the configuration is just on the machine), but many more tests could be run


pocmatos
2019-6-5 20:38:41

ok, let me take a look at drdr. I never really paid much attention as I thought it was something geared towards internal team use and not really for public consumption.


pocmatos
2019-6-5 20:43:05

wow: Each file is run with raco test ~s is used if the file's suffix is .rkt, .ss, .scm, .sls, or .scrbl. is this each file in the racket repository or each file in pkgs/racket-test, pkgs/racket-test-core, pkgs/racket-test-extra?


samth
2019-6-5 20:45:45

it’s basically the same as any of the other CI we use


samth
2019-6-5 20:46:04

that’s every file in every package that gets installed



pocmatos
2019-6-5 20:54:20

ah, yes. i think i understand. Thanks - on to do some experimentation.


samth
2019-6-5 20:55:00

one drawback of this is that there’s basically no list of tests to run more comprehensive than what’s on Travis


samth
2019-6-5 20:55:12

because nothing needs to be added to test things in DrDr


samth
2019-6-5 20:55:27

pocmatos
2019-6-5 21:10:59

excellent, was not aware of that the checklist either. It has quite a few more specific tests that might be good to test.


greg
2019-6-5 22:19:55

What was it?


notjack
2019-6-5 23:56:21

that reminds me, there’s also that repo with some work on dockerizing some of the release checklist tests


sorawee
2019-6-6 04:45:02

Is (car (generate-temporaries '(whatever))) the same as (datum->syntax #f (gensym 'whatever))?


sorawee
2019-6-6 04:46:46

(besides the fact that (gensym ...) generates a more ugly identifier name internally)


sorawee
2019-6-6 04:47:22

Also, which one is preferable, if they are functionally equivalent?


alexknauth
2019-6-6 04:55:12

generate-temporaries uses interned symbols, so if you guess right, you could actually end up with conflicting symbols if you replace the scopes. I’ve accidentally created situations where (generate-temporaries '(add)) produced add1 and I took away the scopes so that it actually conflicted with the add1 from Racket. However, the scopes being different on generated identifiers helps avoid conflicts if you just don’t remove them.


lexi.lambda
2019-6-6 05:44:01

@sorawee To add to what Alex said, gensym doesn’t guarantee produced symbols’ names will be unique, only that the symbols themselves will not be eq? to any other symbol. However, uninterned symbols get coerced to interned symbols during compilation, using the symbolic name, so gensym will not necessarily produce a unique identifier.


lexi.lambda
2019-6-6 05:45:44

The practical takeaway: gensym is never right for generating unique identifiers because the mechanism that it uses to ensure uniqueness can’t survive the roundtrip to and from bytecode. generate-temporaries uses a different strategy, namely adding a scope, which can survive that process.


sorawee
2019-6-6 05:47:04

Thanks! Is there a proper way to generate an identifier, then? Doing car on generate-temporaries just seems so ugly


lexi.lambda
2019-6-6 05:47:18

Use generate-temporary from racket/syntax.


sorawee
2019-6-6 05:47:28

Aha!


lexi.lambda
2019-6-6 05:48:18

One other thing: you can’t even use gensym at compile-time to produce symbols that are intended to be unique at runtime because the marshalling/unmarshalling process will still end up destroying the uniqueness guarantee. So you’d have to generate a gensym expression instead, since then the symbol itself will be generated in the phase that needs it to be unique.


lexi.lambda
2019-6-6 05:49:18

I.e. don’t do (quasisyntax (quote #,(gensym))), that won’t work; use #'(gensym), instead.


sorawee
2019-6-6 05:51:33

Thank you :slightly_smiling_face:


pocmatos
2019-6-6 06:23:00

which one? Not yours, I assume.