[racket-users] Call for Tutorial Proposals: ICFP 2018
CALL FOR TUTORIAL PROPOSALS ICFP 2018 23rd ACM SIGPLAN International Conference on Functional Programming September 23-29, 2018 St. Louis, Missouri, United States http://conf.researchr.org/home/icfp-2018 The 23rd ACM SIGPLAN International Conference on Functional Programming will be held in St. Louis, Missouri, United States on September 23-29, 2018. ICFP provides a forum for researchers and developers to hear about the latest work on the design, implementations, principles, and uses of functional programming. Proposals are invited for tutorials to be presented during ICFP and its co-located workshops and other events. These tutorials are the successor to the CUFP tutorials from previous years, but we also welcome tutorials whose primary audience is researchers rather than practitioners. Tutorials may focus either on a concrete technology or on a theoretical or mathematical tool. Ideally, tutorials will have a concrete result, such as "Learn to do X with Y" rather than "Learn language Y". Tutorials may occur in parallel to both ICFP and its co-located workshops, from September 23 through September 29. Additionally, ICFP is co-located with Strange Loop this year, and this will be taken into account when scheduling tutorials. -- Submission details Deadline for submission: April 9, 2018 Notification of acceptance: April 16, 2018 Prospective organizers of tutorials are invited to submit a completed tutorial proposal form in plain text format to the ICFP 2018 workshop co-chairs (Christophe Scholliers and David Christiansen), via email to icfp-workshops-2...@googlegroups.com by April 9, 2018. Please note that this is a firm deadline. Organizers will be notified if their event proposal is accepted by April 16, 2018. The proposal form is available at: http://www.icfpconference.org/icfp2018-files/icfp18-tutorials-form.txt -- Selection committee The proposals will be evaluated by a committee comprising the following members of the ICFP 2018 organizing committee. Workshop Co-Chair: Christophe Scholliers(University of Ghent) Workshop Co-Chair: David Christiansen (Galois, Inc.) General Chair: Robby Findler(Northwestern University) Program Chair: Matthew Flatt (University of Utah) -- Further information Any queries should be addressed to the workshop co-chairs (Christophe Scholliers and David Christiansen), via email to icfp-workshops-2...@googlegroups.com -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] struct-copy question
> On Mar 17, 2018, at 9:24 AM, Eric Griffiswrote: > > How about a list of identifiers bound to getters or setters? The > `extract-struct-info` procedure in Section 5.7 of the Racket Reference > appears to give you that. > > Eric Souned promising, but it sounds like you have to roll a struct-info first, unless I’ve missed something. I did have some fun exploring 5.2 Creating Structure Types (the link to Examples for make-struct-field-accessor & make-struct-field-mutaor appear to lead you back to the top of the page, but as far as I can tell there are no examples there for those functions…) No, what I was hoping for was something you could throw a structure instance at and obtains a list of its accessors/mutators so that I could then write a generalized version of struct-copy (which appears not to copy a struct that has #:auto fields. Placing a struct inside of a define though gives a pretty quick glimpse at the underlying code that the (struct ….) generates, and the mutator created by make-struct-type is simply thrown away (when not used by make-struct-mutator. I would think that between that (if it could be retained) and the struct->list function, which produces an index-ordered list of the struct’s values, that you could create a struct-copy that would populate all of the fields. Of course, you’d have a mutator out in the wild that could always modify the struct… no, you’d have to encapsulate all that into a special function foo-copy for struct foo, and pass that out with the mutator safely encapsulated in a lambda, I supposed Kevin -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[racket-users] Re: Racket/Scribble for Digital Humanities Publishing workshop: a huge success!
I initially hit single reply to Sam. In case anyone else is interested in the demographics: There were eight participants, five grad students and two undergrads. Most were from humanities departments and one from Electrical Engineering. We wanted to keep it at a manageable size for our first run. We hope It'll give us a good foundation for future workshops and courses. -Morgan Lemmer-Webber On Saturday, March 17, 2018, Christopher Lemmer Webber < cweb...@dustycloud.org> wrote: > Hello everyone! So Morgan and I ran a workshop together (though the > workshop was much more so Morgan's work than mine) on teaching > Racket/Scribble to non-programmer-academics, particularly in the > humanities. I'm happy to say that it was a huge success! All > participants said they'd like to have a second session. > > Materials from the class are here: > https://dustycloud.org/misc/digital-humanities/ > > Some highlights: > > - The workshop was split into three parts: install racket, make a >snowman in pict, and make a small document in Scribble. We got >through all three in 3 hours (though I took too long on the snowman >part) and participants are interested in a follow-up session on >advanced Scribble features. > > - Having tangible outputs is key! Pict helps and is nice, but Scribble >is even better and more critical, because it's something that >humanities folks can leave the event and actually use day to day. > > - The "Scribble HTML" button in DrRacket made it possible to do this >workshop without ever touching the command line. We'd like to do a >command line session in a future event but it's great that in this >particular session we didn't have to. > > - 87.5% of the non-volunteer participants were women, despite not >mentioning gender specifically on the flier. However we did say >"Want to learn computer programming, but don’t think you’re enough of >a math / computer science person? Have we got the workshop for you!": > https://dustycloud.org/tmp/uwmadison-digital-humanities-flier.pdf >This leads me to believe that there is a diverse body of people who >would like to program that we generally have not reached because they >don't feel like they pattern-match as a stereotypical programmer. >Explicitly asking for such people without saying what exact >categories those are seemed to have an effect nonetheless. > > - You may notice that in some ways the Snowman tutorial > https://dustycloud.org/misc/digital-humanities/Snowman.html >is very similar to the Quick tutorial (which is a stellar tutorial). >This is intentional, but there are some differences: the Quick >tutorial gives a taste of a lot of features and language aspects, >some very advanced. The Snowman tutorial instead introduces fewer >features and repeats them a few times. By the end of going through >the tutorial most of the participants seemed to get the core ideas >that we introduced. Anyway I think they have different goals but the >Snowman tutorial can lead to the Quick tutorial, so are >complimentary! > > - Racket's community tends to emphasize "#lang foo" a lot more than I >think is healthy. That's to say that actual language differences >like Scribble and Typed Racket are fantastic, but something we saw >in tests leading up to this workshop was that people would say "I'd >like to use this feature but that's only in X language and I'm using >Y", when the only difference was actually the default imported >libraries. For that reason we deviated from the "Quick" tutorial and >used "#lang racket" and imported pict instead. > > - That said, Morgan and I are talking about writing a >"#lang humanities-paper" (or maybe "#lang scribble-humanities"? I >dunno) that sets up all the styling defaults for Scribble for most >humanities-style papers, so I'm being a complete hypocrite there. > > - Morgan's "How To Use Scribble to Write your Academic Papers: A >Reference Tutorial" > https://dustycloud.org/misc/digital-humanities/HowTo.html >is mostly built from her own experience trying to >convert her dissertation (and other writings) over to Scribble. >I think she probably has a lot more interesting things to say about >that and her experiences writing that but I shouldn't speak for her. >Morgan had the participants go through a modified version of the >default Scribble introduction with changes built around what our >target audience may use most, and I think that went well. > > Okay, this email is already pretty long. But anyway, the key thing is > that the participants all seemed to *get it*, which I was very excited > about, even though many had never programmed before. And 100% of them > wanted to do a follow-up workshop or workshops... so, success! > -- You received this message because you are subscribed to the Google Groups "Racket Users"
Re: [racket-users] Racket/Scribble for Digital Humanities Publishing workshop: a huge success!
Fantastic! Thanks for letting us know. Robby On Sat, Mar 17, 2018 at 8:43 PM, Christopher Lemmer Webberwrote: > Hello everyone! So Morgan and I ran a workshop together (though the > workshop was much more so Morgan's work than mine) on teaching > Racket/Scribble to non-programmer-academics, particularly in the > humanities. I'm happy to say that it was a huge success! All > participants said they'd like to have a second session. > > Materials from the class are here: > https://dustycloud.org/misc/digital-humanities/ > > Some highlights: > > - The workshop was split into three parts: install racket, make a >snowman in pict, and make a small document in Scribble. We got >through all three in 3 hours (though I took too long on the snowman >part) and participants are interested in a follow-up session on >advanced Scribble features. > > - Having tangible outputs is key! Pict helps and is nice, but Scribble >is even better and more critical, because it's something that >humanities folks can leave the event and actually use day to day. > > - The "Scribble HTML" button in DrRacket made it possible to do this >workshop without ever touching the command line. We'd like to do a >command line session in a future event but it's great that in this >particular session we didn't have to. > > - 87.5% of the non-volunteer participants were women, despite not >mentioning gender specifically on the flier. However we did say >"Want to learn computer programming, but don’t think you’re enough of >a math / computer science person? Have we got the workshop for you!": > https://dustycloud.org/tmp/uwmadison-digital-humanities-flier.pdf >This leads me to believe that there is a diverse body of people who >would like to program that we generally have not reached because they >don't feel like they pattern-match as a stereotypical programmer. >Explicitly asking for such people without saying what exact >categories those are seemed to have an effect nonetheless. > > - You may notice that in some ways the Snowman tutorial > https://dustycloud.org/misc/digital-humanities/Snowman.html >is very similar to the Quick tutorial (which is a stellar tutorial). >This is intentional, but there are some differences: the Quick >tutorial gives a taste of a lot of features and language aspects, >some very advanced. The Snowman tutorial instead introduces fewer >features and repeats them a few times. By the end of going through >the tutorial most of the participants seemed to get the core ideas >that we introduced. Anyway I think they have different goals but the >Snowman tutorial can lead to the Quick tutorial, so are >complimentary! > > - Racket's community tends to emphasize "#lang foo" a lot more than I >think is healthy. That's to say that actual language differences >like Scribble and Typed Racket are fantastic, but something we saw >in tests leading up to this workshop was that people would say "I'd >like to use this feature but that's only in X language and I'm using >Y", when the only difference was actually the default imported >libraries. For that reason we deviated from the "Quick" tutorial and >used "#lang racket" and imported pict instead. > > - That said, Morgan and I are talking about writing a >"#lang humanities-paper" (or maybe "#lang scribble-humanities"? I >dunno) that sets up all the styling defaults for Scribble for most >humanities-style papers, so I'm being a complete hypocrite there. > > - Morgan's "How To Use Scribble to Write your Academic Papers: A >Reference Tutorial" > https://dustycloud.org/misc/digital-humanities/HowTo.html >is mostly built from her own experience trying to >convert her dissertation (and other writings) over to Scribble. >I think she probably has a lot more interesting things to say about >that and her experiences writing that but I shouldn't speak for her. >Morgan had the participants go through a modified version of the >default Scribble introduction with changes built around what our >target audience may use most, and I think that went well. > > Okay, this email is already pretty long. But anyway, the key thing is > that the participants all seemed to *get it*, which I was very excited > about, even though many had never programmed before. And 100% of them > wanted to do a follow-up workshop or workshops... so, success! > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop
Re: [racket-users] Racket/Scribble for Digital Humanities Publishing workshop: a huge success!
That looks like a great event. Congrats on your success. How many people came to the workshop, and were they mostly faculty, undergrads, grad students? Sam On Sat, Mar 17, 2018 at 9:43 PM, Christopher Lemmer Webberwrote: > Hello everyone! So Morgan and I ran a workshop together (though the > workshop was much more so Morgan's work than mine) on teaching > Racket/Scribble to non-programmer-academics, particularly in the > humanities. I'm happy to say that it was a huge success! All > participants said they'd like to have a second session. > > Materials from the class are here: > https://dustycloud.org/misc/digital-humanities/ > > Some highlights: > > - The workshop was split into three parts: install racket, make a >snowman in pict, and make a small document in Scribble. We got >through all three in 3 hours (though I took too long on the snowman >part) and participants are interested in a follow-up session on >advanced Scribble features. > > - Having tangible outputs is key! Pict helps and is nice, but Scribble >is even better and more critical, because it's something that >humanities folks can leave the event and actually use day to day. > > - The "Scribble HTML" button in DrRacket made it possible to do this >workshop without ever touching the command line. We'd like to do a >command line session in a future event but it's great that in this >particular session we didn't have to. > > - 87.5% of the non-volunteer participants were women, despite not >mentioning gender specifically on the flier. However we did say >"Want to learn computer programming, but don’t think you’re enough of >a math / computer science person? Have we got the workshop for you!": > https://dustycloud.org/tmp/uwmadison-digital-humanities-flier.pdf >This leads me to believe that there is a diverse body of people who >would like to program that we generally have not reached because they >don't feel like they pattern-match as a stereotypical programmer. >Explicitly asking for such people without saying what exact >categories those are seemed to have an effect nonetheless. > > - You may notice that in some ways the Snowman tutorial > https://dustycloud.org/misc/digital-humanities/Snowman.html >is very similar to the Quick tutorial (which is a stellar tutorial). >This is intentional, but there are some differences: the Quick >tutorial gives a taste of a lot of features and language aspects, >some very advanced. The Snowman tutorial instead introduces fewer >features and repeats them a few times. By the end of going through >the tutorial most of the participants seemed to get the core ideas >that we introduced. Anyway I think they have different goals but the >Snowman tutorial can lead to the Quick tutorial, so are >complimentary! > > - Racket's community tends to emphasize "#lang foo" a lot more than I >think is healthy. That's to say that actual language differences >like Scribble and Typed Racket are fantastic, but something we saw >in tests leading up to this workshop was that people would say "I'd >like to use this feature but that's only in X language and I'm using >Y", when the only difference was actually the default imported >libraries. For that reason we deviated from the "Quick" tutorial and >used "#lang racket" and imported pict instead. > > - That said, Morgan and I are talking about writing a >"#lang humanities-paper" (or maybe "#lang scribble-humanities"? I >dunno) that sets up all the styling defaults for Scribble for most >humanities-style papers, so I'm being a complete hypocrite there. > > - Morgan's "How To Use Scribble to Write your Academic Papers: A >Reference Tutorial" > https://dustycloud.org/misc/digital-humanities/HowTo.html >is mostly built from her own experience trying to >convert her dissertation (and other writings) over to Scribble. >I think she probably has a lot more interesting things to say about >that and her experiences writing that but I shouldn't speak for her. >Morgan had the participants go through a modified version of the >default Scribble introduction with changes built around what our >target audience may use most, and I think that went well. > > Okay, this email is already pretty long. But anyway, the key thing is > that the participants all seemed to *get it*, which I was very excited > about, even though many had never programmed before. And 100% of them > wanted to do a follow-up workshop or workshops... so, success! > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message
[racket-users] Racket/Scribble for Digital Humanities Publishing workshop: a huge success!
Hello everyone! So Morgan and I ran a workshop together (though the workshop was much more so Morgan's work than mine) on teaching Racket/Scribble to non-programmer-academics, particularly in the humanities. I'm happy to say that it was a huge success! All participants said they'd like to have a second session. Materials from the class are here: https://dustycloud.org/misc/digital-humanities/ Some highlights: - The workshop was split into three parts: install racket, make a snowman in pict, and make a small document in Scribble. We got through all three in 3 hours (though I took too long on the snowman part) and participants are interested in a follow-up session on advanced Scribble features. - Having tangible outputs is key! Pict helps and is nice, but Scribble is even better and more critical, because it's something that humanities folks can leave the event and actually use day to day. - The "Scribble HTML" button in DrRacket made it possible to do this workshop without ever touching the command line. We'd like to do a command line session in a future event but it's great that in this particular session we didn't have to. - 87.5% of the non-volunteer participants were women, despite not mentioning gender specifically on the flier. However we did say "Want to learn computer programming, but don’t think you’re enough of a math / computer science person? Have we got the workshop for you!": https://dustycloud.org/tmp/uwmadison-digital-humanities-flier.pdf This leads me to believe that there is a diverse body of people who would like to program that we generally have not reached because they don't feel like they pattern-match as a stereotypical programmer. Explicitly asking for such people without saying what exact categories those are seemed to have an effect nonetheless. - You may notice that in some ways the Snowman tutorial https://dustycloud.org/misc/digital-humanities/Snowman.html is very similar to the Quick tutorial (which is a stellar tutorial). This is intentional, but there are some differences: the Quick tutorial gives a taste of a lot of features and language aspects, some very advanced. The Snowman tutorial instead introduces fewer features and repeats them a few times. By the end of going through the tutorial most of the participants seemed to get the core ideas that we introduced. Anyway I think they have different goals but the Snowman tutorial can lead to the Quick tutorial, so are complimentary! - Racket's community tends to emphasize "#lang foo" a lot more than I think is healthy. That's to say that actual language differences like Scribble and Typed Racket are fantastic, but something we saw in tests leading up to this workshop was that people would say "I'd like to use this feature but that's only in X language and I'm using Y", when the only difference was actually the default imported libraries. For that reason we deviated from the "Quick" tutorial and used "#lang racket" and imported pict instead. - That said, Morgan and I are talking about writing a "#lang humanities-paper" (or maybe "#lang scribble-humanities"? I dunno) that sets up all the styling defaults for Scribble for most humanities-style papers, so I'm being a complete hypocrite there. - Morgan's "How To Use Scribble to Write your Academic Papers: A Reference Tutorial" https://dustycloud.org/misc/digital-humanities/HowTo.html is mostly built from her own experience trying to convert her dissertation (and other writings) over to Scribble. I think she probably has a lot more interesting things to say about that and her experiences writing that but I shouldn't speak for her. Morgan had the participants go through a modified version of the default Scribble introduction with changes built around what our target audience may use most, and I think that went well. Okay, this email is already pretty long. But anyway, the key thing is that the participants all seemed to *get it*, which I was very excited about, even though many had never programmed before. And 100% of them wanted to do a follow-up workshop or workshops... so, success! -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] Storing JSON into PostgreSQL 10
Yep, that does it. Apparently I was overcomplicating things. Thanks! On Fri, Mar 16, 2018 at 8:12 PM, Ryan Culpepperwrote: > On 03/16/2018 11:28 PM, David Storrs wrote: > >> I'm noticing that when I store jsexpr?s into PostgreSQL 10 I end up with >> them as strings, not as actual JSONB data. I've read the docs and tried >> every combination of typecasting / methods of writing that I can think of >> but nothing ends up working. Can anyone point me to the right way? >> > > Here's an example: > > (require db) > (define c (dsn-connect 'pg)) > (query c "create temporary table foo (i integer, j jsonb)") > (query-exec c "insert into foo (i,j) values ($1,$2)" > 1 "hello") > (query-exec c "insert into foo (i,j) values ($1,$2)" > 2 (hash 'a 1 'b 2)) > (query-rows c "select * from foo") > ;; => '(#(1 "hello") #(2 #hasheq((a . 1) (b . 2 > (query-rows c "select i, j->'b' from foo") > ;; => '(#(1 #) #(2 2)) > > It's a little trickier if you have json that's already in string form and > want it to be parsed on the PostgreSQL side: > > (query-value c "select cast($1 as jsonb)" "{\"a\":1}") ;; WRONG > ;; => "{\"a\":1}" > (query-value c "select cast($1::text as jsonb)" "{\"a\":1}") ;; RIGHT > ;; => '#hasheq((a . 1)) > (query-value c "select $1::text::json" "{\"a\":1}") ;; RIGHT > ;; => '#hasheq((a . 1)) > > The inner "cast" (::) actually gets interpreted as a type ascription for > the parameter. > > Finally, PostgreSQL treats (some?) type names as conversion functions, so > you can also do this: > > (query-value c "select json($1::text)" "{\"a\":1}") ;; RIGHT > ;; => '#hasheq((a . 1)) > > I hope that helps. Let me know if you have an example that isn't working > as you expect. > > Ryan > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [racket-users] struct-copy question
How about a list of identifiers bound to getters or setters? The `extract-struct-info` procedure in Section 5.7 of the Racket Reference appears to give you that. Eric On Fri, Mar 16, 2018 at 2:56 PM Kevin Forchionewrote: > > > > On Mar 16, 2018, at 2:38 PM, Kevin Forchione wrote: > > > > Hi guys, > > I’ve noticed that struct-copy doesn’t appear to work when fields are > defined with #:auto. So this leads to my question, which may not be > answerable since it would presumably be used to fix struct-copy, but is > there a way to retrieve a list of struct fields for a struct? I have a > feeling there is some macro work going on and that the struct isn’t really > “aware” of its field names. If that’s the case, wouldn’t it be interesting > if the macro included building a function that would return these names as > a symbols list? :) > > Actually, what wold be interesting would be a list of lists, containing > the getters and setters for the struct. :) > > Kevin > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.