apg
2017-11-16 08:05:58

so, i’ve got a little scribble helper that works like this: https://gist.github.com/apg/7d3eda32a2925d8270f2dabef2b968fd


apg
2017-11-16 08:07:11

basically, it allows me to inline a graphviz diagram (eventually I’d like to draw this with pict, but I digress) by passing it as an argument to @image, but I’m also trying to setup a @figure with a label.


apg
2017-11-16 08:08:20

I’ve figured out how to make little extensions for scribble, but what I don’t yet understand is how to actually combine them into a bigger thing. Maybe the answer is that I just need a macro here?


apg
2017-11-16 08:09:28

(see thing.scrbl … but, really I’d rather have something like @graphviz-figure[#:ref "foo-bar" #:label "Some Foo Bar"]{ ... }


apg
2017-11-16 08:36:49

oh wait. i guess a function will do!


apg
2017-11-16 09:11:34

(got it)


pocmatos
2017-11-16 10:00:07

Anyone here with experience in interfacing go and racket?


apg
2017-11-16 15:02:15

@pocmatos uf you find things, please let me know.


pocmatos
2017-11-16 16:47:45

apg sure will


pocmatos
2017-11-16 16:47:50

@apg ^^^


abmclin
2017-11-16 17:29:42

I just discovered that Racket commits to left-to-right evaluation order. I had been assuming that Racket was like Scheme in keeping evaluation order unspecified. I was wondering if there are any specific reasons for picking and sticking to left-to-right, other than simple convenience?


samth
2017-11-16 17:30:17

@abmclin making it easier to understand what your program will do


abmclin
2017-11-16 17:30:48

makes sense and good reason to have as many things specified as possible


abmclin
2017-11-16 17:31:37

I was reading the schemify.rkt file in racket7’s cs folder and saw the comment about transforming to enforce left-to-right which surprised me. Good to improve my understanding of Racket’s semantics nuances


leif
2017-11-16 18:51:54

leif
2017-11-16 18:52:02

Thank you to everyone who participated.


apg
2017-11-16 18:53:59

@leif thanks for your hard work to make that happen!


stamourv
2017-11-16 18:55:26

Thanks @leif!


stamourv
2017-11-16 18:55:57

And thanks to all our speakers! And sponsors! And helpers! :)


abmclin
2017-11-16 19:02:45

perhaps @samth can clarify for you


leafac
2017-11-16 19:11:05

This is a coincidence, I was watching the archived stream now :slightly_smiling_face:

It seems like there’s something wrong with this video: https://www.youtube.com/watch?v=1CORm7A8uWo


leafac
2017-11-16 19:11:26

leafac
2017-11-16 19:11:52

(Namely, they’re all black screen.)


drdeeglaze
2017-11-16 19:13:40

Ruh roh


samth
2017-11-16 19:14:16

not really, because parallel semantics is even weaker than what’s in the Scheme standard


samth
2017-11-16 19:14:17

but in general, implicit parallelism in that sort of thing has not been a big win anywhere


leif
2017-11-16 19:17:44

@leafac Eep. It looks like it was a problem with youtube’s conversion process. On it.


leif
2017-11-16 19:19:45

Actually no, I should have noticed that. This looks like it came from the videos that the recorder gave us.


leif
2017-11-16 19:21:46

I ‘may’ need to grab the videos from the live stream. This will probably take a day to fix. :disappointed:


leafac
2017-11-16 19:22:01

Uhh, I’m sorry about that.


apg
2017-11-16 22:38:23

does scribble provide a parameter that can tell me what the current file being processed is? or, actually, maybe that’s a more general parameter than something from scribble/base…


greg
2017-11-16 22:42:45

@apg If you mean at compile time, like a sort of __FILE__ for Racket, you can use (syntax-source #'here).


greg
2017-11-16 22:43:16

If you mean at run time I’m not sure.


greg
2017-11-16 22:46:32

p.s. Nothing special about #'here. Also (syntax-source #'42) or (syntax-source (syntax "whatever I am just some syntax")).


apg
2017-11-16 23:20:22

@greg yeah, Ideally runtime, but this is great, too.


apg
2017-11-16 23:21:15

the idea is that I can cache the output of my embedded graphviz documents iff i can compare mtimes between the scribble file it’s defined in and the mtime of the cached file on disk.


apg
2017-11-16 23:21:54

it’s not a huge deal, really, but if it’s simple to do, because there’s a parameter that gives me the info, then I’d do it.


apg
2017-11-16 23:39:50

@greg uhhh, duh. I can make my thing a macro, capture the syntax-source and then use it. At least in theory!


apg
2017-11-16 23:44:23

Actually, I don’t think that works. Not sure how to use a macro in a scribble doc…


notjack
2017-11-16 23:54:01

@apg caching the output of an embedded graph doc based on when the doc file changes sounds like something a compiler should be doing


notjack
2017-11-16 23:54:46

can you compute the output at compile time and tell raco make that the great source file is a compilation dependency?


apg
2017-11-17 02:34:45

@notjack it doesn’t really need to be done at all, and the way its done now involves creating a tmpfile to dump the contents into, run dot and copy the output file appropriately.


apg
2017-11-17 02:35:02

Also: I need to look at raco make.