{"size": 1796, "ext": "scrbl", "max_stars_repo_path": "collections-doc/scribblings/data/collection/collection/experimental.scrbl", "max_stars_repo_name": "wilbowma/racket-collections", "max_stars_repo_stars_event_min_datetime": "2015-12-03T05:07:33.000Z", "max_stars_repo_stars_event_max_datetime": "2021-09-21T00:30:28.000Z", "max_issues_repo_path": "collections-doc/scribblings/data/collection/collection/experimental.scrbl", "max_issues_repo_name": "wilbowma/racket-collections", "max_issues_repo_issues_event_min_datetime": "2015-12-06T04:13:11.000Z", "max_issues_repo_issues_event_max_datetime": "2022-03-29T01:39:05.000Z", "max_forks_repo_path": "collections-doc/scribblings/data/collection/collection/experimental.scrbl", "max_forks_repo_name": "wilbowma/racket-collections", "max_forks_repo_forks_event_min_datetime": "2015-12-05T20:22:31.000Z", "max_forks_repo_forks_event_max_datetime": "2021-03-27T20:27:39.000Z"}
{"max_stars_count": 57, "max_issues_count": 31, "max_forks_count": 11, "avg_line_length": 30.9655172414, "max_line_length": 99, "alphanum_fraction": 0.6308463252}
#lang scribble/manual

@(require
   racket/require
   (for-label (subtract-in
               (combine-in
                racket/base
                racket/list
                racket/set
                racket/dict
                racket/math)
               data/collection)
              (prefix-in base: racket/base)
              data/collection
              racket/function
              racket/generic
              racket/contract
              racket/stream
              racket/string
              racket/match
              racket/generator)
   scribble/core
   "../private/utils.rkt")

@(module racket-forms racket/base
   (require (for-label racket/base)
            scribble/manual)
   (provide racket:quasiquote)
   (define racket:quasiquote
     (racket quasiquote)))
@(require 'racket-forms)

@title[#:tag "experimental"]{Experimental Forms and Functions}

@(define (yellow . content)
   (make-element (make-style #f (list (make-background-color-property "yellow"))) content))

@nested[#:style 'inset]{
 @yellow{@bold{WARNING}}: The following forms and functions are @emph{experimental}; compatibility
         will not be maintained.}

@section{Generic Quasiquotation}

@defmodule[data/collection/experimental/quasi]

@defform[(quasiquote datum)]{
Equivalent to @racket:quasiquote from @racketmodname[racket/base], except that uses of
@racket[unquote-splicing] accept arbitrary @racket[sequence?] values instead of only lists.

Note that this handling only applies to uses of @racket[unquote-splicing], not @racket[unquote], so
@racket[`(1 @#,racketvalfont{.} ,_more)] will produce different results from @racket[`(1 ,@_more)]
when @racket[_more] is a non-list sequence.

@(coll-examples
  `(1 2 ,(+ 1 2))
  `(Z = ,@(take 5 (naturals)) ...)
  `#s(prefab i ,@#(ii iii iv) v))}
