[racket-users] Call for Tutorial Proposals: ICFP 2018

2018-03-17 Thread 'Lindsey Kuper' via users-redirect
  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

2018-03-17 Thread Kevin Forchione


> On Mar 17, 2018, at 9:24 AM, Eric Griffis  wrote:
> 
> 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!

2018-03-17 Thread morgan lemmer
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!

2018-03-17 Thread Robby Findler
Fantastic! Thanks for letting us know.

Robby


On Sat, Mar 17, 2018 at 8:43 PM, Christopher Lemmer Webber
 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" 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!

2018-03-17 Thread Sam Tobin-Hochstadt
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 Webber
 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" 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!

2018-03-17 Thread Christopher Lemmer Webber
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

2018-03-17 Thread David Storrs
Yep, that does it.  Apparently I was overcomplicating things.  Thanks!

On Fri, Mar 16, 2018 at 8:12 PM, Ryan Culpepper  wrote:

> 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

2018-03-17 Thread Eric Griffis
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 Forchione  wrote:

>
>
> > 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.