[racket-users] Call for Sponsorships: ICFP 2018

2017-10-30 Thread 'Lindsey Kuper' via users-redirect
  ICFP 2018
The 23rd ACM SIGPLAN International Conference on Functional Programming
  https://icfp18.sigplan.org
Call for Sponsorships

Web version of this call for sponsorships:
https://icfp18.sigplan.org/attending/supporting-icfp

## Why Sponsor ICFP 2018?

ICFP is the premier conference on functional programming languages, covering 
all aspects of theory, implementation, and application. Every year, we bring 
together over 500 world-leading researchers, practitioners, and students to 
discuss the latest findings, collaborate on new ideas, and meet new people. By 
sponsoring ICFP, your organization can demonstrate its commitment to supporting 
high quality research and to developing the next generation of functional 
programming experts. Most of our sponsorship funds are used to help students 
from around the world afford to attend the conference and get the most out of 
their experience. We believe that this commitment will pay dividends for our 
students, our sponsors, and the public for years to come. If you're interested 
in becoming a sponsor, we'd love to hear from you: get in touch with our 
sponsorship team at 

  sponsorship-2...@icfpconference.org

## Sponsorship Opportunities and Benefits

### Bronze - $750

* Your logo on the ICFP 2018 website
* Your name listed in the proceedings

### Silver - $3,000

* All of the benefits of Bronze sponsorship
* One complimentary 3-day ICFP registration
* A table at the industrial reception
* Your logo in the proceedings
* Your logo on publicity materials such as banners and posters

### Gold - $6,000

* All of the benefits of Silver sponsorship
* One additional complimentary 3-day ICFP registration (2 in total)
* A named supporter of the industrial reception
* An opportunity to include branded merchandise in participants' swag bag

### Platinum - $10,000

* All the benefits of Gold sponsorship
* One additional complimentary 3-day ICFP registration (3 in total)
* A named supporter of ICFP 2018
* An opportunity to speak to the audience at the industrial reception
* A table/booth-like space in the coffee break areas

## Additional Sponsorship Opportunities

We offer some additional sponsorship options to sponsors at the silver level or 
above.

### Lanyard Sponsor - $4,000

You provide the lanyards that every attendee will wear around their neck.

### Video Sponsor - $4,000

ICFP makes videos available for free to non-attendees following the conference. 
As a video sponsor, you support the recording and release of these videos. In 
exchange, your logo will be displayed as part of every ICFP video.

### Banner - $1,000

Post a free-standing banner (up to 2m high and 1m wide, provided by you) on the 
ICFP main stage throughout the conference.

-- 
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] New wiki page ‘friends of Racket’

2017-10-30 Thread Stephen De Gabrielle
it was nice to see Alex and Philip contribute too!

Stephen


On Mon, Oct 30, 2017 at 4:20 PM, Vincent St-Amour <
stamo...@eecs.northwestern.edu> wrote:

> Thanks Stephen for giving our wiki some much-needed love!
>
> Vincent
>
>
> On Sat, 28 Oct 2017 04:56:37 -0500,
> Stephen De Gabrielle wrote:
> >
> > I created a new wiki page
> > https://github.com/racket/racket/wiki/Friends-of-Racket
> > (yes, I got the idea from rust-lang)
> >
> > I did it because it is a question that keeps turning up.
> >
> > Racket-devs: If it is not appropriate for the wiki please delete it.
> >
> > Kind regards,
> > Stephen
> >
> > ―
> >
> > Organizations using Racket or a language built on Racket
> >
> > * Web-based books Practical Typography, Typography for Lawyers, are
> build with Pollen
> > * YouPatch
> > * Hacker News runs on Arc, which is developed in Racket
> > * Naughty Dog
> >
> > --
> > Kind regards,
> > Stephen
> > --
> > Ealing (London), UK
> >
> > --
> > 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.


[racket-users] Racket v6.11

2017-10-30 Thread Vincent St-Amour
Racket version 6.11 is now available from

http://racket-lang.org/

* Typed Racket supports refinement types and dependent function types.
  Previously an experimental feature, refinement types allow types to
  describe more interesting properties of values, especially integers.
  For example, this type shows that the `max` function always produces a
  number at least as big as its inputs:
  `(-> [x : Integer] [y : Integer]
   (Refine [z : Integer] (and (>= z x) (>= z y`

* DrRacket's Program Contour is significantly more efficient; using it
  no longer hurts DrRacket's interactivity.

* The `web-server/formlets` library produces formlets that are
  serializable, facilitating dynamic uses of formlets in stateless #lang
  web-server servlets. The new `web-server/formlets/stateless` and
  `web-server/formlets/unsafe` libraries provide additional support with
  the same API.

* The `db` library supports the Cassandra database.

The following people contributed to this release:
Alex Knauth, Andrew Gwozdziewycz, Andrew Kent, Asumu Takikawa, Ben
Greenman, Ben Noordhuis, Carlo Dapor, Daniel Feltey, David Christiansen,
David Van Horn, Eric Dobson, Gustavo Massaccesi, Harold Carr, Jack
Firth, Jay McCarthy, Jeannie Tran, Jens Axel Søgaard, jgreco, John
Clements, Jordan Johnson, Justin Slepak, Leandro Facchinetti, Leif
Andersen, Matthew Butterick, Matthew Flatt, Matthias Felleisen, Michael
Ballantyne, Milo Turner, Nadeem Abdul Hamid, Philip McGrath, rain, Robby
Findler, Royall Spence, Ryan Culpepper, Ryan Davis, Sam Tobin-Hochstadt,
Shu-Hung You, Spencer Florence, Stephen Chang, Vincent St-Amour, WarGrey
Gyoudmon Ju, and Weng Shiwei.

Feedback Welcome

-- 
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] Multiple namespaces in Racket

2017-10-30 Thread Anthony Carrico
> https://lexi-lambda.github.io/blog/2017/10/27/a-space-of-their-own-adding-a-type-namespace-to-hackett/

Nice summary. Whoever writes the great macro programming book in the sky
would do well to review this post. Good work as usual Alexis.

-- 
Anthony Carrico

-- 
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] namespace-variable-value thinks functions are bound to syntax

2017-10-30 Thread Shu-Hung You
Yes, because keyword functions expand to macro definitions that try to
optimize keyword applications.

namespace-require and namespace-variable-value are relatively
low-level operations on modules and namespaces. Using dynamic-require
could be a bit easier:

#lang racket

(module p racket
  (provide (all-defined-out))

  (define (foo0 a b)
(+ a b))
  (define (foo1 a b [c 3])
(+ a b c))
  (define (foo2 a b [c 3] #:kw1 kw1)
(+ a b c))
  (define (foo3 a b [c 3] #:kw1 kw1 #:kw2 [kw2 1])
(+ a b c))
  )

(require syntax/location)

(define ns (make-base-empty-namespace))

(parameterize ([current-namespace ns])
  (dynamic-require (quote-module-path p) 'foo0))
;=> #

(parameterize ([current-namespace ns])
  (dynamic-require (quote-module-path p) 'foo1))
;=> #

(parameterize ([current-namespace ns])
  (dynamic-require (quote-module-path p) 'foo2))
;=> #

(parameterize ([current-namespace ns])
  (dynamic-require (quote-module-path p) 'foo3))
;=> #

Please note that dynamic-require handles macro exports specially, as
stated in the doc:

https://docs.racket-lang.org/reference/Module_Names_and_Loading.html#%28def._%28%28quote._~23~25kernel%29._dynamic-require%29%29
> If the module exports _provided_ as syntax,
> then a use of the binding is expanded and
> evaluated in a fresh namespace to which
> the module is attached, which means that
> the module is visited in the fresh namespace.
> The expanded syntax must return a single value.

Best,
Shu-Hung

On Sun, Oct 29, 2017 at 7:40 PM, Junsong Li  wrote:
> Hello list,
>
> In the following program, racket thinks foo2, and foo3 are bound to
> syntax. Is this expected behavior?
>
> -- File: go.rkt
>
> #lang racket
>
> (module p racket
>   (provide (all-defined-out))
>
>   (define (foo0 a b)
> (+ a b))
>   (define (foo1 a b [c 3])
> (+ a b c))
>   (define (foo2 a b [c 3] #:kw1 kw1)
> (+ a b c))
>   (define (foo3 a b [c 3] #:kw1 kw1 #:kw2 [kw2 1])
> (+ a b c))
>   )
>
> (require syntax/location)
>
> (define ns (make-base-empty-namespace))
> (parameterize ([current-namespace ns])
>   (namespace-require (quote-module-path p)))
>
> (namespace-variable-value 'foo0 #t #f ns) ; OK
> (namespace-variable-value 'foo1 #t #f ns) ; OK
> (namespace-variable-value 'foo2 #t #f ns) ; namespace-variable-value:
> bound to syntax in: foo2
> (namespace-variable-value 'foo3 #t #f ns) ; namespace-variable-value:
> bound to syntax in: foo3
>
> --
> 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.


Re: [racket-users] New wiki page ‘friends of Racket’

2017-10-30 Thread Vincent St-Amour
Thanks Stephen for giving our wiki some much-needed love!

Vincent


On Sat, 28 Oct 2017 04:56:37 -0500,
Stephen De Gabrielle wrote:
> 
> I created a new wiki page 
> https://github.com/racket/racket/wiki/Friends-of-Racket
> (yes, I got the idea from rust-lang)
> 
> I did it because it is a question that keeps turning up. 
> 
> Racket-devs: If it is not appropriate for the wiki please delete it. 
> 
> Kind regards,
> Stephen
> 
> ―
> 
> Organizations using Racket or a language built on Racket
> 
> * Web-based books Practical Typography, Typography for Lawyers, are build 
> with Pollen
> * YouPatch
> * Hacker News runs on Arc, which is developed in Racket
> * Naughty Dog
> 
> -- 
> Kind regards,
> Stephen
> --
> Ealing (London), UK
> 
> -- 
> 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.


Re: [racket-users] demande d'aide

2017-10-30 Thread Matthias Felleisen

> On Oct 30, 2017, at 9:43 AM, Masto Fine  wrote:
> 
> bonjour , pouvez vous m'expliquer concretement comment utiliser require et 
> provide , et comment extraire seulement une partie d'un teachpack.


Good style proposes to use provide like this: 

#lang racket  ;; ‘server’ module 

(provide 
  ;; Number -> Number 
  ;; the identify function on numbers 
  identity

  ;; Number -> Zero 
  ;; the 0 function on numbers 
  zero)

;; - - - 
;; implementation 

(define (identity x)  (local-identity x))
(define (zero x)   0)

;; Number -> Number 
;; does some random stuff 
(define *return #f)
(define (local-identity x)
  (call/cc (lambda (return) (set! *return return) (*return (+ (- x 1) 1)


#lang racket ;; client 1
(require “server.rkt”)
;; now you see both identify and zero 

#lang racket ;; client 2 
(require (only-in “server.rkt” zero))
;; now you see only zero 

etc. 

-- 
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] demande d'aide

2017-10-30 Thread David Storrs
Vous obtiendrez de meilleures réponses en anglais pour cette liste,
mais je vais essayer avec l'aide de google translate. nécessitent des
modules pulls dans votre script, fournissent les rend disponibles pour
être requis. Les détails sur require sont ici:
https://docs.racket-lang.org/reference/require.html

Exemples:

 hi_bye.rkt
#lang racket
(provide (all-defined-out))  ; tout ce qui est défini sera disponible
pour d'autres scripts
(define (say-hi)   (displayln "hi!"))

(define (say-bye)(displayln "bye!"))
- end

 foo_bar.rkt
#lang racket
(provide say-foo say-bar)  ; seulement ces deux fonctions sont disponibles

(define (do-nothing) #t)

(define (say-foo)   (displayln "foo!"))

(define (say-bar)(displayln "bar!"))
 end

 baz_jaz.rkt
#lang racket
(provide (all-defined-out))

(define (say-baz)   (displayln "baz!"))

(define (say-jaz)(displayln "jaz!"))
 end


--- my_script.rkt
(require "hi_bye.rkt"   ;; apporte toutes les fonctions fournies par
hi_bye.rkt, car ils ont tous été fournis
 "foo_bar.rkt"  ;; n'apporte que say-foo et say-bar parce
que c'est tout ce qui a été fourni
 (except-in "baz_jaz.rkt" ;; apporter tout ce que
baz_jaz.rkt fournit 
 say-jaz)) ;; sauf pour la
fonction 'say-jaz'
 end

On Mon, Oct 30, 2017 at 9:43 AM, Masto Fine
 wrote:
> bonjour , pouvez vous m'expliquer concretement comment utiliser require et
> provide , et comment extraire seulement une partie d'un teachpack.
>
> --
> 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.


[racket-users] demande d'aide

2017-10-30 Thread Masto Fine
bonjour , pouvez vous m'expliquer concretement comment utiliser require et 
provide , et comment extraire seulement une partie d'un teachpack.

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