jeapostrophe
2019-7-8 17:22:05

@jeapostrophe set the channel topic: 2019 is here! https://school.racket-lang.org/


mwblakley
2019-7-8 17:25:47

@mwblakley has joined the channel


zafar.huma
2019-7-8 17:26:07

@zafar.huma has joined the channel


mccoybecker
2019-7-8 17:27:04

@mccoybecker has joined the channel


badkins
2019-7-8 17:27:36

@badkins has joined the channel


shaobo
2019-7-8 17:28:32

@shaobo has joined the channel


dyllongagnier
2019-7-8 17:28:35

@dyllongagnier has joined the channel


badkins
2019-7-8 17:29:14

I presume #racket-school is deprecated in favor of this channel?


willbanders
2019-7-8 17:29:15

@willbanders has joined the channel


slade
2019-7-8 17:29:16

@slade has joined the channel


guy.w
2019-7-8 17:30:04

@guy.w has joined the channel


ryanxh
2019-7-8 17:30:05

@ryanxh has joined the channel


jaz
2019-7-8 17:30:06

@jaz has joined the channel


alexknauth
2019-7-8 17:30:08

@alexknauth has joined the channel


dyllongagnier
2019-7-8 17:30:25

Looks like it


pierce.darragh
2019-7-8 17:30:26

@pierce.darragh has joined the channel


markus.pfeiffer
2019-7-8 17:30:32

@markus.pfeiffer has joined the channel


qbradley
2019-7-8 17:30:39

@qbradley has joined the channel


me1150
2019-7-8 17:30:54

@me1150 has joined the channel


kristianalnaes
2019-7-8 17:30:55

@kristianalnaes has joined the channel


stephen
2019-7-8 17:31:11

@stephen has joined the channel


beyer.andrew
2019-7-8 17:32:00

@beyer.andrew has joined the channel


liamschumm
2019-7-8 17:32:39

@liamschumm has joined the channel


gknauth
2019-7-8 17:33:00

@gknauth has joined the channel


keenencates
2019-7-8 17:37:51

@keenencates has joined the channel


tchajed
2019-7-8 17:38:17

@tchajed has joined the channel


kl13
2019-7-8 17:38:43

@kl13 has joined the channel


jordan
2019-7-8 17:42:27

@jordan has joined the channel


aaronstgeorge
2019-7-8 17:44:05

@aaronstgeorge has joined the channel


philip.mcgrath
2019-7-8 17:44:33

@philip.mcgrath has joined the channel


pocmatos
2019-7-8 18:30:33

@pocmatos has joined the channel


michaelmmacleod
2019-7-8 19:04:42

@michaelmmacleod has joined the channel


thilking
2019-7-8 19:10:09

@thilking has joined the channel


gfb
2019-7-8 19:20:47

@gfb has joined the channel


mccoybecker
2019-7-8 19:34:43

In Matthias’ presentation, his walkthrough of macro expansion required macro.rkt and table.rkt, are there standard repositories for these files?


caleb.e.allen
2019-7-8 19:39:06

@caleb.e.allen has joined the channel


awz.ang
2019-7-8 21:52:43

@awz.ang has joined the channel


kristianalnaes
2019-7-8 22:56:39

right, where are we eating?



sean
2019-7-8 23:00:43

the survey for today



willbanders
2019-7-8 23:01:04

If anyone’s interested in talking about API design, enforcement, and/or dependency versioning please come find me - I’m in the front of the room in purple.


ashton.wiersdorf
2019-7-8 23:01:28

@ashton.wiersdorf has joined the channel


lihebi.com
2019-7-8 23:01:37

@lihebi.com has joined the channel


kristianalnaes
2019-7-8 23:01:55

we got some interested in VR/visualization


prithamm
2019-7-8 23:02:04

@prithamm has joined the channel


kristianalnaes
2019-7-8 23:02:10

maybe we can be with the gamedevs?


jordan
2019-7-8 23:02:38

Here’s the Monday survey URL: https://forms.gle/y6QPgnwsXiJv1reJA


me1150
2019-7-8 23:04:48

Has anyone here used Rosette for any research or personal projects?


kl13
2019-7-8 23:25:04

Is there any spot Schemers gather?


zenspider
2019-7-8 23:39:45

I have to work out some thoughts on problem 7 (¿syntax-foldr?) so I’m probably just going to eat at the heritage center… but I might go for a drink later if anyone is interested.


sorawee
2019-7-8 23:43:44

@me1150 I’m not at the summer school, but I use Rosette for my research (Emina is my advisor).


sorawee
2019-7-8 23:59:36

what’s syntax-foldr?


zenspider
2019-7-9 00:00:24

I don’t know yet! But probably a horrible thing to write to solve this problem (essentially monad threading)


sorawee
2019-7-9 00:04:40

zenspider
2019-7-9 00:04:59

aye


mccoybecker
2019-7-9 00:06:27

Rosette is super cool, maybe we can put together a dinner group tomorrow on SAT/SMT solvers


mccoybecker
2019-7-9 00:07:56

@zenspider Are you in Heritage + want to work on #7? How far are you?


zenspider
2019-7-9 00:08:50

I’m just flailing right now. I’m in my living room (220). Happy to have you here or to meet you in the cafeteria or one of those study areas on 1 of heritage


zenspider
2019-7-9 00:10:01

wait. not 220… 213?


mccoybecker
2019-7-9 00:10:35

Down in a sec


zenspider
2019-7-9 00:13:05

Heading over


mccoybecker
2019-7-9 00:13:50

where is cafe?


zenspider
2019-7-9 00:16:34

Heritage. Second floor. Follow the noise


mccoybecker
2019-7-9 01:57:26

@sorawee We figured it out, can post some code if you’re interested :slightly_smiling_face:


sorawee
2019-7-9 01:58:18

Nice! :slightly_smiling_face:


mccoybecker
2019-7-9 01:59:21

@sorawee How the heck does Rosette do combinatorial problems (like SAT or synthesis) quickly?


mccoybecker
2019-7-9 01:59:39

If it’s black magic you can be honest


sorawee
2019-7-9 02:01:17

So, Rosette itself doesn’t “solve” anything. It simply (efficiently) generates constraints and sends queries to off-the-shelf SMT solver.


mccoybecker
2019-7-9 02:03:28

Ah gotcha! I’ll have to play around more. I’m an ML person so that recent paper from Emina et al on synthesis CUDA kernels is super interesting.


thilking
2019-7-9 02:04:40

Will solutions to the lab exercises be posted somewhere?


sorawee
2019-7-9 02:07:16

Here’s my solution to Exercise 7

(define-syntax-parser monad-do
  [(_ return bind [x #:<- e] . rst)
   #'(bind e (λ (x) (monad-do return bind . rst)))]
  [(_ return bind [#:ret e]) #'(return e)])

(not optimized for error messages)


markus.pfeiffer
2019-7-9 02:17:44

I wish i’d have known about Rosette last year; I’d be very interested in trying a few things out in it. There are quite a few problems in computer algebra where a nicely interfaced constraint solver would go a long way


mccoybecker
2019-7-9 03:03:30

Same :slightly_smiling_face:


mccoybecker
2019-7-9 03:03:51

Ugh, sorry wrong format:


mccoybecker
2019-7-9 03:04:47

(define-syntax (monad-do stx) (syntax-parse stx [(_ return bind [#:ret ret-form] rest ...) #'(return ret-form)] [(_ return bind [x #:<- mx] rest ...) #'(bind mx (λ (x) (monad-do return bind rest ...)))] ) )


mccoybecker
2019-7-9 03:06:23

So define-syntax-parser is syntactic sugar for the nested define form: (define-syntax...(syntax parse...))


me1531
2019-7-9 03:12:53

https://github.com/disconcision/racketskool/tree/master/lab1 no claims are made of either correctness or elegance. please do not use as a basis for medical software


sorawee
2019-7-9 03:18:06

Right


sorawee
2019-7-9 03:20:19

define-syntax-parser is usually enough if you want to define a macro (as oppose to doing something weird with syntax object). The only thing that seems to be losing is the whole syntax object itself, but that is recoverable using this-syntax.


jordan
2019-7-9 03:39:11

alexknauth
2019-7-9 03:46:03

I’m not sure what you mean by dispatch on an or* pattern. You can tell which variant was matched if an attribute is bound differently, by looking at that attribute. But that only works if you define an attribute for that.

For instance you could have the a-clauses class define the attribute accepting? = #true and the r-clauses class define the attribute accepting? = #false, and then dispatch on the value of (attribute clauses.accepting?). Does that cover what you meant?


bmitchell33
2019-7-9 05:54:54

@bmitchell33 has joined the channel