[racket-users] Re: Python's append vs Racket's append and helping novices understand the implications

2019-02-01 Thread travis . hinkelman
I don't have any suggestions for you but I agree that it is an important 
issue. My programming experience is primarily confined to R but I've 
recently started tinkering with Racket. My primary interest in Racket is to 
expand my programming horizons but I also see the potential to use it at 
work as replacement for R for building simulation models. The idea that 
Racket could replace R for those tasks is based on the expectation that 
Racket would be faster than R (relatively low bar for Racket to clear) but 
similarly expressive. However, in my 10+ years as an R programmer, there is 
a lot of hard-won knowledge of performance traps to avoid and optimization 
tricks to try. As I move forward learning Racket, it will be interesting to 
see how my naive Racket code stacks up to my better optimized R code. I 
personally will very much appreciate any efforts targeted towards making 
performance issues more transparent to Racket beginners.

Thanks,

Travis



On Friday, February 1, 2019 at 10:28:12 PM UTC-8, Alex Harsanyi wrote:
>
> Someone asked recently for help on Reddit[1] with a Racket performance 
> issue.
> The problem was they they were constructing a large list by appending many
> short lists repeatedly; their code was calling `(set!  result (append 
> result
> shortList))` in a loop and this was slow (unsurprisingly.)
>
> While trying to help them out, it occurred to me that this person was 
> perhaps
> translating a program from Python to Racket, maybe to evaluate Racket.  The
> problem is that list-append operations are efficient in Python, but the
> natural corresponding choice in Racket, the `append` function, is not.  I
> wonder how many people are in a similar situation, where they try to 
> convert a
> Python program to Racket, see that the performance is bad, and conclude 
> that
> Racket is slow -- Every time Racket is mentioned on Reddit or HN there is 
> at
> least one person mentioning that Racket is slow and sadly they may even 
> have
> their own data to prove it.
>
> Given the recent discussion in this group about promoting Racket, I am
> wondering what can we do to help this category of people?  These might be
> persons who never ask for help in any forum, after all the Racket
> documentation is good enough to help anyone who is willing to read it.
>
> One improvement that I can think of is to add a performance description to
> each function that operates on the basic data structures (lists, vectors,
> hash-tables)
>
> What do others think?
> Alex.
>
> [1]: 
> https://www.reddit.com/r/Racket/comments/am5r2w/how_to_read_a_file_linebyline_efficiently/
>

-- 
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] Why would a value produced by eval-ing code not satisfy its type predicate? (Particularly, a SQL statement from the sql package)

2019-02-01 Thread Philip McGrath
On the original question: Racket's struct types are generative (except for
#:prefab structs), meaning that each time you evaluate a `struct` form (or,
at a lower level, each time you call `make-struct-type`), the you create a
fresh type distinct from all other types. That can be a bit confusing to
just think about in the abstract, so here's a little illustration that
doesn't involve namespaces or modules:
#lang racket
(require rackunit)
(define (generate)
  (struct thing ())
  (values (thing) thing?))
(define-values (a-thing1 thing1?)
  (generate))
(define-values (a-thing2 thing2?)
  (generate))
(check-false (thing2? a-thing1))
(check-false (thing1? a-thing2))

The issue you're encountering with namespaces is analogous, because each
namespace gets its own instances of modules. This is a feature! Imagine,
for example, that you are trying to run students' programs in a sandbox. If
namespaces shared module instances, a malicious or buggy student program
could alter mutable state and affect other students' programs or your
outside-the-sandbox program. But this means that two different namespaces
will have two distinct instances of the `sql` module that export two
distinct `sql-statement?` predicates, each recognizing only its own version
of the sql-statement struct type: this is effectively the same situation as
calling `thing1?` on `a-thing2` in my example.

For times when you really do want to share a module instance, Racket
provides `namespace-attach-module
`.
Alternatively, you could just use `define-namespace-anchor
`
and `namespace-anchor->namespace

`.

But, as others have said, you really don't want to use `eval`. (If you
aren't already familiar with the issues, see
https://blog.racket-lang.org/2011/10/on-eval-in-dynamic-languages-generally.html)
The only part of what you want that (AFAIK) you can't already do with the
`sql` library's dynamic facilities is selecting a dynamically-determined
number of columns. I think your work-around using `ScalarExpr:INJECT` is
reasonable, with the caveat that you need to be sure to understand the
quoting/case-folding rules for the specific database(s) you're targeting.

More broadly, it might help to know why you want to select a number of
columns to be determined dynamically at run-time. I can't immediately think
of a time when I've ever wanted to do that. If you can say a bit more,
there may be a solution to your ultimate problem that doesn't need this
functionality. For example, if you want to select a few different sets of
columns from the same base query, you could write the base query as one
select expression that selects all the columns, then re-use that as the
`#:from` table expression through dynamic composition in more select
statements that return only the particular sets of columns you're
interested in. As long as you at least know the schema you're working with,
you could even generate select statements for all possible sets of columns
at compile time, and then just choose the right statement dynamically with
a runtime function.

If it turns out that you really do need to determine the number of columns
dynamically, you certainly could make a feature request. (Ryan has been
kind enough to accept a few of my pull requests to add some features I've
needed, including additional dynamic statement composition hooks.) The main
thing would probably be to figure out a principled way to structure the
feature.

-Philip


On Fri, Feb 1, 2019 at 11:02 PM hashim muqtadir 
wrote:

> > Good news, limit and distinct are in scope for v0.2 - I'm working on it
> now :)
>
> That's good to hear, thanks! I'll be sure to check it out, and let you
> know if I have any ideas/requirements for features or if I can contribute.
>
>
> --
> 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] Python's append vs Racket's append and helping novices understand the implications

2019-02-01 Thread Alex Harsanyi
Someone asked recently for help on Reddit[1] with a Racket performance 
issue.
The problem was they they were constructing a large list by appending many
short lists repeatedly; their code was calling `(set!  result (append result
shortList))` in a loop and this was slow (unsurprisingly.)

While trying to help them out, it occurred to me that this person was 
perhaps
translating a program from Python to Racket, maybe to evaluate Racket.  The
problem is that list-append operations are efficient in Python, but the
natural corresponding choice in Racket, the `append` function, is not.  I
wonder how many people are in a similar situation, where they try to 
convert a
Python program to Racket, see that the performance is bad, and conclude that
Racket is slow -- Every time Racket is mentioned on Reddit or HN there is at
least one person mentioning that Racket is slow and sadly they may even have
their own data to prove it.

Given the recent discussion in this group about promoting Racket, I am
wondering what can we do to help this category of people?  These might be
persons who never ask for help in any forum, after all the Racket
documentation is good enough to help anyone who is willing to read it.

One improvement that I can think of is to add a performance description to
each function that operates on the basic data structures (lists, vectors,
hash-tables)

What do others think?
Alex.

[1]: 
https://www.reddit.com/r/Racket/comments/am5r2w/how_to_read_a_file_linebyline_efficiently/

-- 
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] Spritely awarded Samsung Stack Zero grant

2019-02-01 Thread Jesse Alama

On 31 Jan 2019, at 23:46, Christopher Lemmer Webber wrote:


I've mentioned that my goal has been to advance the
federated/decentralized social web in Racket on here before.  Here's
some news:

  
https://samsungnext.com/whats-next/category/podcasts/decentralization-samsung-next-stack-zero-grant-recipients/

I'm being funded for the next two years to work on this stuff!  And 
I'm

planning on doing it all in Racket.

In fact, I'm at a hackathon right now kicking it off, and I'm on the
verge of releasing the first major demo.

Anyway, there's been some conversation about
wouldn't-it-be-nice-if-more-people-were-paid-to-do-web-dev-in-racket
so... here's one case! :)

I hope I can use this to help raise the profile of how great Racket
is for this kind of work!


Awesome -- congratulations!

--
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] Why would a value produced by eval-ing code not satisfy its type predicate? (Particularly, a SQL statement from the sql package)

2019-02-01 Thread hashim muqtadir
> Good news, limit and distinct are in scope for v0.2 - I'm working on it 
now :)

That's good to hear, thanks! I'll be sure to check it out, and let you know 
if I have any ideas/requirements for features or if I can contribute. 


-- 
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] sxml vs xexpr frustrations

2019-02-01 Thread Neil Van Dyke

Philip McGrath wrote on 2/1/19 5:14 PM:
I will say an advantage of the xexpr code is that it's written in 
(reasonably) modern Racket rather than portable Scheme, which I've 
found somewhat easier to understand when I've wanted to read the 
sources, though the sxml code is extensively commented.


Yes, IIRC, Oleg's code of that era was mostly RnRS portable, and a few 
bits of implementation-specific (Chez?), and his "standard prologue" 
(which made sense at the time, but, thankfully, package systems help 
make more-reusable packages without that).  (IIRC, I did the first 
packaging of Oleg's SSAX for Racket (nee PLT Scheme) v103 or v200, and 
then Kirill Lisovsky et al. packaged various Oleg code for many Scheme 
variants, and then John Clements did a heavier wrangling of Oleg's code 
for modern Racket.)


My relatively small contributions are mostly old portable Scheme code 
that I wish I could rethink and reimplement.  (IIRC, the permissive HTML 
parser you mention was the very first Scheme code I ever wrote, to start 
to build out Scheme as a platform for research like Web-inhabiting 
autonomous agents and Semantic Web, and I did some naive things while 
blindly guessing at performance costs (e.g., parsing lookahead).  Today, 
I'm more comfortable on performance, and I'm also not coding to a 
portable subset of RnRS and minimal SRFIs. Though I'd probably write the 
next one in RnRS and judicious use of Racket extensions, so one might 
still see the occasional precise named-`let` in some places where a 
`for`-something might've been shoehorned in. :)


 For example, if you care about the source syntax, you want to 
distinguish  blocks and numeric entity references from 
naked textual data, but for higher-level purposes I want to treat all 
of those things as Racket strings


The SXML faction is not totally unresponsive to the desire for 
conveniences. :) 
https://docs.racket-lang.org/html-writing/#%28part._script_.Element%29


There were also a few SXML extensions that, last I looked at it, I was 
backing out, more towards canonical SXML (for example, the character 
entity notation made more sense before widespread Unicode, and when some 
Schemes were even had character case-insensitive symbols): 
https://docs.racket-lang.org/sxml-intro/#%28part._sxml-xexp%29


The new representation I'd hypothetically do would be different than 
either xexpr or SXML.


Anyway, it sounds like those people who have being doing XML and HTML in 
Racket (or at least, are still on the list?) have been able to get their 
work done, despite the unfortunate historical accident that led to the 
two main representations?


I couldn't say whether or how much opportunity we've missed over the 
years, with the divided effort, and potentially lost network effects 
(e.g., a couple people are impressed by what's available, uses it, 
contributes back a layered library or framework that someone else uses, 
repeat exponentially).  And exactly what library support we could use 
today is different from back then, so we don't want to just do now what 
we wish we'd done back then.


--
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] sxml vs xexpr frustrations

2019-02-01 Thread Philip McGrath
I've written a fair amount of XML processing code in Racket (sometimes one
has to work with external standards and tools), and I thought I'd jump in
to say that I've been content with xexpr. I don't mean that as a criticism
of sxml, though: I happened to have learned xexpr first, and I've never
taken the time to do a detailed assessment of the pros and cons of each.

I will say an advantage of the xexpr code is that it's written in
(reasonably) modern Racket rather than portable Scheme, which I've found
somewhat easier to understand when I've wanted to read the sources, though
the sxml code is extensively commented.

In terms of interoperability, perhaps this is obvious (and it certainly
feels a little ridiculous), but, the few times that I've needed an
sxml-based tool (Neil's html-parsing
 comes to mind), I've just used
XML as the intermediate format, either in strings or through a Racket-level
pipe.

I think a challenge in this area in general is that different applications
want different things out of an XML representation. For example, if you
care about the source syntax, you want to distinguish  blocks
and numeric entity references from naked textual data, but for higher-level
purposes I want to treat all of those things as Racket strings—or, per
Jay's comment, it's a great convenience when writing to be able to omit
empty attribute lists, but it adds another case to handle when manipulating
x-expressions. I've generally addressed these kinds of issues by adding
some sort of normalization pass so that I only have to handle a restricted
subset of the x-expression grammar.

-Philip

On Fri, Feb 1, 2019 at 9:09 AM Leo Uino  wrote:

> On 2019/02/01 3:24, Matthew Butterick wrote:
> > Yes, it's true that the Racket XML library doesn't support namespaces.
>
> Indeed - although I hacked up a solution for that for another project[1]:
>
> http://docs.racket-lang.org/xml-ns/index.html
>
> I agree with the sentiment regarding the rest of the XML stack. One of
> these days I'll finish off XSD support and have done with it...
>
>
> Leo
>
> [1] With apologies for blowing my own trumpet
>
> --
> 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] Racket Week’s website looks strange now that the registration is open

2019-02-01 Thread 'Jeff Ward' via Racket Users
I, on the other hand, having read this amazing book called "Beautiful 
Racket", assumed that the world would be beating down the doors to get 
there!

On Friday, February 1, 2019 at 2:21:48 PM UTC-5, Matthew Butterick wrote:
>
> This morning, I thought to myself "well, I probably have a couple days to 
> fix that counter before someone notices ..." ;)
>
> Registration will be open soon.
>
>
> On Feb 1, 2019, at 8:51 AM, 'Leandro Facchinetti' via Racket Users <
> racket...@googlegroups.com > wrote:
>
> See https://con.racket-lang.org/2019/
>
> The counter is negative and incrementing.
>
>
>

-- 
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: Serving my web application and some static files

2019-02-01 Thread Zelphir Kaltstahl
I am not sure if anything in this 
https://github.com/ZelphirKaltstahl/racket-markdown-blog/blob/master/blog/server.rkt#L51
 
helps you.

On Wednesday, January 30, 2019 at 4:42:57 PM UTC, cwebber wrote:
>
> It seems like it should be so simple, and like Racket has the tools 
> already, but I can't figure out how to do it. 
>
> I have the following: 
>
>   (serve/servlet start 
>  #:servlet-regexp #rx"" 
>  #:launch-browser? #f) 
>
> I'd like to do something like the following: 
>
>   - Serve static files for urls matching /static/* 
>   - Serve those very files from the ./static/ directory 
>
> I'd expect I'd do something like combine that all with: 
>
>   (file-dispatch:make #:url->path (make-url->path 
> (build-path cwd "static"))) 
>
> But I'm lost.  I can figure out how to serve static files OR use the 
> controllers in my start function, but combining them???  I'd like to 
> serve some static files *in addition* to my the above code.  Between 
> dispatchers and servlets and even the file serving dispatchers, I 
> thought I could figure out something relatively easy out of the box. 
> But hours later I'm still scratching my head about how to combine 
> servlets or dispatchers or what have you. 
>
> I've read a bunch of things: 
>  - https://www.greghendershott.com/2013/03/serve-static-files.html 
>  - https://docs.racket-lang.org/web-server-internal/dispatch-files.html 
>  - 
> https://docs.racket-lang.org/web-server-internal/dispatch-sequencer.html 
>  - and pretty much everything under 
> https://docs.racket-lang.org/web-server/ 
>
> ... but I can't figure out how to do it without reinventing all the 
> machinery that appears to already exist in Racket.  There must be 
> something obvious and simple right in front of me. 
>

-- 
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] Spritely awarded Samsung Stack Zero grant

2019-02-01 Thread Philip McGrath
Congratulations! This would be great news in any case, and it's even more
exciting to know that you're doing it in Racket.

-Philip


On Thu, Jan 31, 2019 at 10:47 PM 'John Clements' via Racket Users <
racket-users@googlegroups.com> wrote:

> Truly excellent news! Can’t wait to hear about it at the next RacketCon.
>
> John
>
> > On Jan 31, 2019, at 14:46, Christopher Lemmer Webber <
> cweb...@dustycloud.org> wrote:
> >
> > I've mentioned that my goal has been to advance the
> > federated/decentralized social web in Racket on here before.  Here's
> > some news:
> >
> >
> https://samsungnext.com/whats-next/category/podcasts/decentralization-samsung-next-stack-zero-grant-recipients/
> >
> > I'm being funded for the next two years to work on this stuff!  And I'm
> > planning on doing it all in Racket.
> >
> > In fact, I'm at a hackathon right now kicking it off, and I'm on the
> > verge of releasing the first major demo.
> >
> > Anyway, there's been some conversation about
> > wouldn't-it-be-nice-if-more-people-were-paid-to-do-web-dev-in-racket
> > so... here's one case! :)
> >
> > I hope I can use this to help raise the profile of how great Racket
> > is for this kind of work!
> >
> > - Chris
> >
> > --
> > 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.
>

-- 
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] Racket Week’s website looks strange now that the registration is open

2019-02-01 Thread Matthew Butterick
This morning, I thought to myself "well, I probably have a couple days to fix 
that counter before someone notices ..." ;)

Registration will be open soon.


> On Feb 1, 2019, at 8:51 AM, 'Leandro Facchinetti' via Racket Users 
>  wrote:
> 
> See https://con.racket-lang.org/2019/ 
> 
> The counter is negative and incrementing.

-- 
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 Week’s website looks strange now that the registration is open

2019-02-01 Thread 'Jeff Ward' via Racket Users
Does anyone know where we go to register?  Also, it would be good to know 
the conference fee and have an idea what is available for housing.

On Friday, February 1, 2019 at 11:51:53 AM UTC-5, Leandro Facchinetti wrote:
>
> See https://con.racket-lang.org/2019/
>
> The counter is negative and incrementing.
>
>
>
> -- 
> Leandro Facchinetti >
> https://www.leafac.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] Racket Week’s website looks strange now that the registration is open

2019-02-01 Thread 'Leandro Facchinetti' via Racket Users
> It's decrementing, isn't it? It just says since how long it's open I guess :)

Yes, I mistyped—it’s decrementing.

I think you should be saying “Registration is open «Link for registration»”.

-- 
Leandro Facchinetti 
https://www.leafac.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] drracket migrate: package is currently installed in a wider scope

2019-02-01 Thread Laurent
Thanks for the fast fix Matthew!
It should help at least for those who install the nightlies but haven't
upgraded yet.

On Fri, Feb 1, 2019 at 4:46 PM Matthew Flatt  wrote:

> At Fri, 1 Feb 2019 15:45:02 +, Laurent wrote:
> > Okay, I think the problem is that DrRacket's dependency installed
> > quickscript, and trying to migrate your own version of quickscript
> > afterwards fails because it's already there.
>
> Although the package-migrate tool was intended to skip packages that
> are already installed, this example hits a corner that we didn't
> anticipate --- although, in retrospect, it's not an unlikely case:
>
>  1) the package is installed, but as a dependency of some other
> explicitly installed package; and
>
>   2) the existing install is in a wider scope than the target scope for
>  migration.
>
> In that case, the migration tool attempts to upgrade "auto-installed as
> a dependency" to "explicitly installed", and that fails due to being in
> the wrong scope.
>
> One the solution is to have migrate not try to upgrade a package from
> auto-installed if it's already installed, and I've pushed that change.
> It doesn't help with 7.1 -> 7.2, but it should help in the future.
>
> --
> 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] Re: syntax rewriting bindings

2019-02-01 Thread Luke Whittlesey
I think I figured it out in case others are interested. See
https://gist.github.com/wluker/329f85ec193b386d89f618bd02796611


On Thu, Jan 31, 2019 at 4:50 PM Luke Whittlesey 
wrote:

> I see that there is the local-expand/capture-lifts and
> syntax-local-lift-expression for expressions, but is there a way to lift
> bindings as well? ... something akin to local-expand/capture-lift-defines
> maybe ...
>
> Basically I want to rewrite a syntax so any (MyDefine ...) is lifted into
> a definition context. Something like..
> (let ()
>   (list (begin (MyDefine a 0) 1) a))
> .. into ..
> (let ()
>   (define a 0)
>   (list 1 a))
>
> I have a fuzzy idea a solution might involve
> syntax-local-make-definition-context, but all my attempts have failed thus
> far. Could anybody give me some hints as to how something like this might
> be accomplished?
>

-- 
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] Why would a value produced by eval-ing code not satisfy its type predicate? (Particularly, a SQL statement from the sql package)

2019-02-01 Thread Ryan Kramer

>
> PS There's also a racket package called plisqin which seemed closer to 
> what I was looking for. Maybe in a few months or so if it clicks I'll see 
> if I can add to that package everything I need (things like limit and 
> distinct) and it might work out.
>

Good news, limit and distinct are in scope for v0.2 - I'm working on it now 
:)

Right now, the scope for plisqin 0.2 is determined by
1) About 6k lines of SQL from my day job
2) Ecto's query API: https://hexdocs.pm/ecto/Ecto.Query.API.html#content

I figure that's a decent way to define a reasonable scope. But if you or 
anyone has a list of "must have" features, let me know and I'll certainly 
consider it.

-- 
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] drracket migrate: package is currently installed in a wider scope

2019-02-01 Thread Matthew Flatt
At Fri, 1 Feb 2019 15:45:02 +, Laurent wrote:
> Okay, I think the problem is that DrRacket's dependency installed
> quickscript, and trying to migrate your own version of quickscript
> afterwards fails because it's already there.

Although the package-migrate tool was intended to skip packages that
are already installed, this example hits a corner that we didn't
anticipate --- although, in retrospect, it's not an unlikely case:

 1) the package is installed, but as a dependency of some other
explicitly installed package; and

  2) the existing install is in a wider scope than the target scope for
 migration.

In that case, the migration tool attempts to upgrade "auto-installed as
a dependency" to "explicitly installed", and that fails due to being in
the wrong scope.

One the solution is to have migrate not try to upgrade a package from
auto-installed if it's already installed, and I've pushed that change.
It doesn't help with 7.1 -> 7.2, but it should help in the future.

-- 
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] ~v in drracket vs commandline

2019-02-01 Thread Robby Findler
I think it is better if we don't add more configurations at that
level. DrRacket should only reflect what the program text already
says, not try to control it (as much as we can).

Better to look for ways that #lang can have the right kind of control here.

Robby

On Fri, Feb 1, 2019 at 10:36 AM Laurent  wrote:
>
> But I should add that that's not a big deal to me now, since at least now I 
> know how to work around it.
>
> On Fri, Feb 1, 2019 at 4:06 PM Laurent  wrote:
>>
>> Or better yet, maybe replace the choice between print and write to a boolean 
>> choice on the initial value of 'print-as-expression'.
>>
>> Ideally, changing this value at the top of the module to evaluate would 
>> overwrite this default though.
>>
>> On Fri, Feb 1, 2019 at 4:04 PM Sam Tobin-Hochstadt  
>> wrote:
>>>
>>> Could it be changed to also set `(print-as-expression)` appropriately?
>>>
>>> Sam
>>>
>>> On Fri, Feb 1, 2019 at 11:02 AM Robby Findler
>>>  wrote:
>>> >
>>> > Ah, right! I forgot about that setting. Yes, what you describe is
>>> > exactly what happens.
>>> >
>>> > Robby
>>> >
>>> > On Fri, Feb 1, 2019 at 9:57 AM Laurent  wrote:
>>> > >
>>> > > I think I've found the problem.
>>> > >
>>> > > In the preferences, I chose 'Output syntax | Output style | write' 
>>> > > which seems to force the behaviour of (print-as-expression #f) without 
>>> > > actually changing the parameter.
>>> > >
>>> > > After changing this preference to print, I observe a consistent 
>>> > > behaviour between DrRacket and command line.
>>> > >
>>> > >
>>> > >
>>> > > On Fri, Feb 1, 2019 at 3:48 PM Laurent  wrote:
>>> > >>
>>> > >> I'm in #lang racket for DrRacket, and I assume it's the same for the 
>>> > >> command line when merely starting "$ racket"
>>> > >>
>>> > >>
>>> > >> On Fri, Feb 1, 2019 at 3:39 PM Robby Findler 
>>> > >>  wrote:
>>> > >>>
>>> > >>> This setting is controlled by the language of the original file (so
>>> > >>> the one in the definitions window in DrRacket or the one you are
>>> > >>> "inside" in the repl if you're in one). Possibly those are different
>>> > >>> for you, Laurent?
>>> > >>>
>>> > >>> Robby
>>> > >>>
>>> > >>> On Fri, Feb 1, 2019 at 9:33 AM Sam Tobin-Hochstadt 
>>> > >>>  wrote:
>>> > >>> >
>>> > >>> > I see the same behavior in DrRacket as in command line racket.
>>> > >>> >
>>> > >>> > On Fri, Feb 1, 2019 at 10:19 AM Laurent  
>>> > >>> > wrote:
>>> > >>> > >
>>> > >>> > > I'm seeing a difference that I can't explain. In the interactions 
>>> > >>> > > below, look for the leading quote in the output string on the 
>>> > >>> > > commandline, and its absence in DrRacket.
>>> > >>> > >
>>> > >>> > > The same problem happens when running a module containing the 
>>> > >>> > > same code, so it's not a top-level issue.
>>> > >>> > >
>>> > >>> > > Is there another parameter that controls this quoting mechanism 
>>> > >>> > > that I don't know about?
>>> > >>> > >
>>> > >>> > > In DrRacket:
>>> > >>> > > > (~v 'auie)
>>> > >>> > > "auie"
>>> > >>> > > > (print-as-expression)
>>> > >>> > > #t
>>> > >>> > >
>>> > >>> > > On the command line:
>>> > >>> > > Welcome to Racket v7.2.0.3.
>>> > >>> > > > (~v 'auie)
>>> > >>> > > "'auie"
>>> > >>> > > > (print-as-expression)
>>> > >>> > > #t
>>> > >>> > >
>>> > >>> > > --
>>> > >>> > > 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.
>>> > >
>>> > > --
>>> > > 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.

-- 
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] ~v in drracket vs commandline

2019-02-01 Thread Laurent
But I should add that that's not a big deal to me now, since at least now I
know how to work around it.

On Fri, Feb 1, 2019 at 4:06 PM Laurent  wrote:

> Or better yet, maybe replace the choice between print and write to a
> boolean choice on the initial value of 'print-as-expression'.
>
> Ideally, changing this value at the top of the module to evaluate would
> overwrite this default though.
>
> On Fri, Feb 1, 2019 at 4:04 PM Sam Tobin-Hochstadt 
> wrote:
>
>> Could it be changed to also set `(print-as-expression)` appropriately?
>>
>> Sam
>>
>> On Fri, Feb 1, 2019 at 11:02 AM Robby Findler
>>  wrote:
>> >
>> > Ah, right! I forgot about that setting. Yes, what you describe is
>> > exactly what happens.
>> >
>> > Robby
>> >
>> > On Fri, Feb 1, 2019 at 9:57 AM Laurent 
>> wrote:
>> > >
>> > > I think I've found the problem.
>> > >
>> > > In the preferences, I chose 'Output syntax | Output style | write'
>> which seems to force the behaviour of (print-as-expression #f) without
>> actually changing the parameter.
>> > >
>> > > After changing this preference to print, I observe a consistent
>> behaviour between DrRacket and command line.
>> > >
>> > >
>> > >
>> > > On Fri, Feb 1, 2019 at 3:48 PM Laurent 
>> wrote:
>> > >>
>> > >> I'm in #lang racket for DrRacket, and I assume it's the same for the
>> command line when merely starting "$ racket"
>> > >>
>> > >>
>> > >> On Fri, Feb 1, 2019 at 3:39 PM Robby Findler <
>> ro...@eecs.northwestern.edu> wrote:
>> > >>>
>> > >>> This setting is controlled by the language of the original file (so
>> > >>> the one in the definitions window in DrRacket or the one you are
>> > >>> "inside" in the repl if you're in one). Possibly those are different
>> > >>> for you, Laurent?
>> > >>>
>> > >>> Robby
>> > >>>
>> > >>> On Fri, Feb 1, 2019 at 9:33 AM Sam Tobin-Hochstadt <
>> sa...@cs.indiana.edu> wrote:
>> > >>> >
>> > >>> > I see the same behavior in DrRacket as in command line racket.
>> > >>> >
>> > >>> > On Fri, Feb 1, 2019 at 10:19 AM Laurent 
>> wrote:
>> > >>> > >
>> > >>> > > I'm seeing a difference that I can't explain. In the
>> interactions below, look for the leading quote in the output string on the
>> commandline, and its absence in DrRacket.
>> > >>> > >
>> > >>> > > The same problem happens when running a module containing the
>> same code, so it's not a top-level issue.
>> > >>> > >
>> > >>> > > Is there another parameter that controls this quoting mechanism
>> that I don't know about?
>> > >>> > >
>> > >>> > > In DrRacket:
>> > >>> > > > (~v 'auie)
>> > >>> > > "auie"
>> > >>> > > > (print-as-expression)
>> > >>> > > #t
>> > >>> > >
>> > >>> > > On the command line:
>> > >>> > > Welcome to Racket v7.2.0.3.
>> > >>> > > > (~v 'auie)
>> > >>> > > "'auie"
>> > >>> > > > (print-as-expression)
>> > >>> > > #t
>> > >>> > >
>> > >>> > > --
>> > >>> > > 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.
>> > >
>> > > --
>> > > 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] Why would a value produced by eval-ing code not satisfy its type predicate? (Particularly, a SQL statement from the sql package)

2019-02-01 Thread David Storrs
Hey, neat.  I did not know that there was a sql package; I should have
thought to look.

Ryan, is there a way to use PostgreSQL's "RETURNING" feature or other
DB-specific items?  RETURNING is insanely useful and I'd be sad to
give it up.

On Fri, Feb 1, 2019 at 5:12 AM hashim muqtadir
 wrote:
>
> > No.  Look back at your code ... you defined the struct in your own
> > unnamed module just before the definition of  "select/f"
>
> But the thing is, the error was that it failed to recognize sql-statement in 
> the test, which is provided by sql, not me. The function otherwise worked 
> correctly. The thing returned by the function wasn't recognized as an 
> sql-statement. It had the same printed representation as a call to "select" 
> done manually.
>
> > This is a late stage debugging version with a lot
> > of visible output - cleaned up a bit, the final version is part of a
> > scheduler I wrote.  You are free to do with it whatever you like
>
> Thanks! Seems pretty neat.
>
> --
> 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] ~v in drracket vs commandline

2019-02-01 Thread Laurent
Or better yet, maybe replace the choice between print and write to a
boolean choice on the initial value of 'print-as-expression'.

Ideally, changing this value at the top of the module to evaluate would
overwrite this default though.

On Fri, Feb 1, 2019 at 4:04 PM Sam Tobin-Hochstadt 
wrote:

> Could it be changed to also set `(print-as-expression)` appropriately?
>
> Sam
>
> On Fri, Feb 1, 2019 at 11:02 AM Robby Findler
>  wrote:
> >
> > Ah, right! I forgot about that setting. Yes, what you describe is
> > exactly what happens.
> >
> > Robby
> >
> > On Fri, Feb 1, 2019 at 9:57 AM Laurent  wrote:
> > >
> > > I think I've found the problem.
> > >
> > > In the preferences, I chose 'Output syntax | Output style | write'
> which seems to force the behaviour of (print-as-expression #f) without
> actually changing the parameter.
> > >
> > > After changing this preference to print, I observe a consistent
> behaviour between DrRacket and command line.
> > >
> > >
> > >
> > > On Fri, Feb 1, 2019 at 3:48 PM Laurent 
> wrote:
> > >>
> > >> I'm in #lang racket for DrRacket, and I assume it's the same for the
> command line when merely starting "$ racket"
> > >>
> > >>
> > >> On Fri, Feb 1, 2019 at 3:39 PM Robby Findler <
> ro...@eecs.northwestern.edu> wrote:
> > >>>
> > >>> This setting is controlled by the language of the original file (so
> > >>> the one in the definitions window in DrRacket or the one you are
> > >>> "inside" in the repl if you're in one). Possibly those are different
> > >>> for you, Laurent?
> > >>>
> > >>> Robby
> > >>>
> > >>> On Fri, Feb 1, 2019 at 9:33 AM Sam Tobin-Hochstadt <
> sa...@cs.indiana.edu> wrote:
> > >>> >
> > >>> > I see the same behavior in DrRacket as in command line racket.
> > >>> >
> > >>> > On Fri, Feb 1, 2019 at 10:19 AM Laurent 
> wrote:
> > >>> > >
> > >>> > > I'm seeing a difference that I can't explain. In the
> interactions below, look for the leading quote in the output string on the
> commandline, and its absence in DrRacket.
> > >>> > >
> > >>> > > The same problem happens when running a module containing the
> same code, so it's not a top-level issue.
> > >>> > >
> > >>> > > Is there another parameter that controls this quoting mechanism
> that I don't know about?
> > >>> > >
> > >>> > > In DrRacket:
> > >>> > > > (~v 'auie)
> > >>> > > "auie"
> > >>> > > > (print-as-expression)
> > >>> > > #t
> > >>> > >
> > >>> > > On the command line:
> > >>> > > Welcome to Racket v7.2.0.3.
> > >>> > > > (~v 'auie)
> > >>> > > "'auie"
> > >>> > > > (print-as-expression)
> > >>> > > #t
> > >>> > >
> > >>> > > --
> > >>> > > 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.
> > >
> > > --
> > > 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] ~v in drracket vs commandline

2019-02-01 Thread Sam Tobin-Hochstadt
Could it be changed to also set `(print-as-expression)` appropriately?

Sam

On Fri, Feb 1, 2019 at 11:02 AM Robby Findler
 wrote:
>
> Ah, right! I forgot about that setting. Yes, what you describe is
> exactly what happens.
>
> Robby
>
> On Fri, Feb 1, 2019 at 9:57 AM Laurent  wrote:
> >
> > I think I've found the problem.
> >
> > In the preferences, I chose 'Output syntax | Output style | write' which 
> > seems to force the behaviour of (print-as-expression #f) without actually 
> > changing the parameter.
> >
> > After changing this preference to print, I observe a consistent behaviour 
> > between DrRacket and command line.
> >
> >
> >
> > On Fri, Feb 1, 2019 at 3:48 PM Laurent  wrote:
> >>
> >> I'm in #lang racket for DrRacket, and I assume it's the same for the 
> >> command line when merely starting "$ racket"
> >>
> >>
> >> On Fri, Feb 1, 2019 at 3:39 PM Robby Findler  
> >> wrote:
> >>>
> >>> This setting is controlled by the language of the original file (so
> >>> the one in the definitions window in DrRacket or the one you are
> >>> "inside" in the repl if you're in one). Possibly those are different
> >>> for you, Laurent?
> >>>
> >>> Robby
> >>>
> >>> On Fri, Feb 1, 2019 at 9:33 AM Sam Tobin-Hochstadt  
> >>> wrote:
> >>> >
> >>> > I see the same behavior in DrRacket as in command line racket.
> >>> >
> >>> > On Fri, Feb 1, 2019 at 10:19 AM Laurent  
> >>> > wrote:
> >>> > >
> >>> > > I'm seeing a difference that I can't explain. In the interactions 
> >>> > > below, look for the leading quote in the output string on the 
> >>> > > commandline, and its absence in DrRacket.
> >>> > >
> >>> > > The same problem happens when running a module containing the same 
> >>> > > code, so it's not a top-level issue.
> >>> > >
> >>> > > Is there another parameter that controls this quoting mechanism that 
> >>> > > I don't know about?
> >>> > >
> >>> > > In DrRacket:
> >>> > > > (~v 'auie)
> >>> > > "auie"
> >>> > > > (print-as-expression)
> >>> > > #t
> >>> > >
> >>> > > On the command line:
> >>> > > Welcome to Racket v7.2.0.3.
> >>> > > > (~v 'auie)
> >>> > > "'auie"
> >>> > > > (print-as-expression)
> >>> > > #t
> >>> > >
> >>> > > --
> >>> > > 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.
> >
> > --
> > 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] ~v in drracket vs commandline

2019-02-01 Thread Robby Findler
Ah, right! I forgot about that setting. Yes, what you describe is
exactly what happens.

Robby

On Fri, Feb 1, 2019 at 9:57 AM Laurent  wrote:
>
> I think I've found the problem.
>
> In the preferences, I chose 'Output syntax | Output style | write' which 
> seems to force the behaviour of (print-as-expression #f) without actually 
> changing the parameter.
>
> After changing this preference to print, I observe a consistent behaviour 
> between DrRacket and command line.
>
>
>
> On Fri, Feb 1, 2019 at 3:48 PM Laurent  wrote:
>>
>> I'm in #lang racket for DrRacket, and I assume it's the same for the command 
>> line when merely starting "$ racket"
>>
>>
>> On Fri, Feb 1, 2019 at 3:39 PM Robby Findler  
>> wrote:
>>>
>>> This setting is controlled by the language of the original file (so
>>> the one in the definitions window in DrRacket or the one you are
>>> "inside" in the repl if you're in one). Possibly those are different
>>> for you, Laurent?
>>>
>>> Robby
>>>
>>> On Fri, Feb 1, 2019 at 9:33 AM Sam Tobin-Hochstadt  
>>> wrote:
>>> >
>>> > I see the same behavior in DrRacket as in command line racket.
>>> >
>>> > On Fri, Feb 1, 2019 at 10:19 AM Laurent  wrote:
>>> > >
>>> > > I'm seeing a difference that I can't explain. In the interactions 
>>> > > below, look for the leading quote in the output string on the 
>>> > > commandline, and its absence in DrRacket.
>>> > >
>>> > > The same problem happens when running a module containing the same 
>>> > > code, so it's not a top-level issue.
>>> > >
>>> > > Is there another parameter that controls this quoting mechanism that I 
>>> > > don't know about?
>>> > >
>>> > > In DrRacket:
>>> > > > (~v 'auie)
>>> > > "auie"
>>> > > > (print-as-expression)
>>> > > #t
>>> > >
>>> > > On the command line:
>>> > > Welcome to Racket v7.2.0.3.
>>> > > > (~v 'auie)
>>> > > "'auie"
>>> > > > (print-as-expression)
>>> > > #t
>>> > >
>>> > > --
>>> > > 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.
>
> --
> 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] ~v in drracket vs commandline

2019-02-01 Thread Laurent
I think I've found the problem.

In the preferences, I chose 'Output syntax | Output style | write' which
seems to force the behaviour of (print-as-expression #f) without actually
changing the parameter.

After changing this preference to print, I observe a consistent behaviour
between DrRacket and command line.



On Fri, Feb 1, 2019 at 3:48 PM Laurent  wrote:

> I'm in #lang racket for DrRacket, and I assume it's the same for the
> command line when merely starting "$ racket"
>
>
> On Fri, Feb 1, 2019 at 3:39 PM Robby Findler 
> wrote:
>
>> This setting is controlled by the language of the original file (so
>> the one in the definitions window in DrRacket or the one you are
>> "inside" in the repl if you're in one). Possibly those are different
>> for you, Laurent?
>>
>> Robby
>>
>> On Fri, Feb 1, 2019 at 9:33 AM Sam Tobin-Hochstadt 
>> wrote:
>> >
>> > I see the same behavior in DrRacket as in command line racket.
>> >
>> > On Fri, Feb 1, 2019 at 10:19 AM Laurent 
>> wrote:
>> > >
>> > > I'm seeing a difference that I can't explain. In the interactions
>> below, look for the leading quote in the output string on the commandline,
>> and its absence in DrRacket.
>> > >
>> > > The same problem happens when running a module containing the same
>> code, so it's not a top-level issue.
>> > >
>> > > Is there another parameter that controls this quoting mechanism that
>> I don't know about?
>> > >
>> > > In DrRacket:
>> > > > (~v 'auie)
>> > > "auie"
>> > > > (print-as-expression)
>> > > #t
>> > >
>> > > On the command line:
>> > > Welcome to Racket v7.2.0.3.
>> > > > (~v 'auie)
>> > > "'auie"
>> > > > (print-as-expression)
>> > > #t
>> > >
>> > > --
>> > > 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.
>>
>

-- 
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] ~v in drracket vs commandline

2019-02-01 Thread Robby Findler
That's not what I see in DrRacket. Try hitting "Run" again on a
lang-line only DrRacket buffer and sending the entire REPL?

Welcome to DrRacket, version 7.2.0.3--2019-01-15(-/f) [cs].
Language: racket, with debugging; memory limit: 512 MB.
> (~v 'x)
"'x"
>

On Fri, Feb 1, 2019 at 9:48 AM Laurent  wrote:
>
> I'm in #lang racket for DrRacket, and I assume it's the same for the command 
> line when merely starting "$ racket"
>
>
> On Fri, Feb 1, 2019 at 3:39 PM Robby Findler  
> wrote:
>>
>> This setting is controlled by the language of the original file (so
>> the one in the definitions window in DrRacket or the one you are
>> "inside" in the repl if you're in one). Possibly those are different
>> for you, Laurent?
>>
>> Robby
>>
>> On Fri, Feb 1, 2019 at 9:33 AM Sam Tobin-Hochstadt  
>> wrote:
>> >
>> > I see the same behavior in DrRacket as in command line racket.
>> >
>> > On Fri, Feb 1, 2019 at 10:19 AM Laurent  wrote:
>> > >
>> > > I'm seeing a difference that I can't explain. In the interactions below, 
>> > > look for the leading quote in the output string on the commandline, and 
>> > > its absence in DrRacket.
>> > >
>> > > The same problem happens when running a module containing the same code, 
>> > > so it's not a top-level issue.
>> > >
>> > > Is there another parameter that controls this quoting mechanism that I 
>> > > don't know about?
>> > >
>> > > In DrRacket:
>> > > > (~v 'auie)
>> > > "auie"
>> > > > (print-as-expression)
>> > > #t
>> > >
>> > > On the command line:
>> > > Welcome to Racket v7.2.0.3.
>> > > > (~v 'auie)
>> > > "'auie"
>> > > > (print-as-expression)
>> > > #t
>> > >
>> > > --
>> > > 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.
>
> --
> 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] ~v in drracket vs commandline

2019-02-01 Thread Laurent
I'm in #lang racket for DrRacket, and I assume it's the same for the
command line when merely starting "$ racket"


On Fri, Feb 1, 2019 at 3:39 PM Robby Findler 
wrote:

> This setting is controlled by the language of the original file (so
> the one in the definitions window in DrRacket or the one you are
> "inside" in the repl if you're in one). Possibly those are different
> for you, Laurent?
>
> Robby
>
> On Fri, Feb 1, 2019 at 9:33 AM Sam Tobin-Hochstadt 
> wrote:
> >
> > I see the same behavior in DrRacket as in command line racket.
> >
> > On Fri, Feb 1, 2019 at 10:19 AM Laurent 
> wrote:
> > >
> > > I'm seeing a difference that I can't explain. In the interactions
> below, look for the leading quote in the output string on the commandline,
> and its absence in DrRacket.
> > >
> > > The same problem happens when running a module containing the same
> code, so it's not a top-level issue.
> > >
> > > Is there another parameter that controls this quoting mechanism that I
> don't know about?
> > >
> > > In DrRacket:
> > > > (~v 'auie)
> > > "auie"
> > > > (print-as-expression)
> > > #t
> > >
> > > On the command line:
> > > Welcome to Racket v7.2.0.3.
> > > > (~v 'auie)
> > > "'auie"
> > > > (print-as-expression)
> > > #t
> > >
> > > --
> > > 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.
>

-- 
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] drracket migrate: package is currently installed in a wider scope

2019-02-01 Thread Laurent
Okay, I think the problem is that DrRacket's dependency installed
quickscript, and trying to migrate your own version of quickscript
afterwards fails because it's already there.

I guess the solution would be to remove *your* previous version of
quickscript, then trying to migrate again. (No need to remove
quickscript-extra, if you've installed it, since it is not in DrRacket's
dependencies.)

Glad you like it in any case :)

On Fri, Feb 1, 2019 at 2:47 PM andrew blinn  wrote:

> Hi Laurent!
>
> I may be misattributing the error. I did indeed already have quickscript
> installed as part of my previous installation. After updating, when I tried
> to restore my previous packages (which include quickscript), it aborts with
> the titular error, whose body text implicates the fact that quickscript is
> already installed. My expectation would be that it would proceed to
> reinstall the other non-conflicting packages, but this doesn't happen. In
> any case, the issue seems to lie with the package restore functionality,
> not quickscript itself.
>
> Loving quickscript, by the way. Installed it immediately after your
> racketcon presentation.
>
> On Friday, February 1, 2019 at 5:16:54 AM UTC-5, Laurent Orseau wrote:
>>
>> Hi Andrew,
>>
>> I don't quite understand what role quickscript being part of the main
>> distribution plays here. Can you give some more details about your issue?
>>
>> Just in case, the only change is that quickscript is by default a
>> dependency of DrRacket, which just means that if you didn't have it before,
>> now you would. But it shouldn't change anything else AFAIU.
>>
>> On Thu, Jan 31, 2019, 20:28 andrew blinn >
>>> After updating to 7.2, I got this message after trying to use the "copy
>>> from version" menu option in the package manager to restore my packages
>>> from 7.1, due to quickscript being added to the standard distribution. This
>>> seems like it should be a simple enough issue to address, but I was unable
>>> to find any way to continue and restore the other non-conflicting packages
>>> through the GUI.
>>>
>>> Searching revealed nothing, so I've manually reinstalled my packages. I
>>> thought I'd make a post here though in case there's a simpler solution.
>>>
>>> --
>>> 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...@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.
>

-- 
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] ~v in drracket vs commandline

2019-02-01 Thread Robby Findler
This setting is controlled by the language of the original file (so
the one in the definitions window in DrRacket or the one you are
"inside" in the repl if you're in one). Possibly those are different
for you, Laurent?

Robby

On Fri, Feb 1, 2019 at 9:33 AM Sam Tobin-Hochstadt  wrote:
>
> I see the same behavior in DrRacket as in command line racket.
>
> On Fri, Feb 1, 2019 at 10:19 AM Laurent  wrote:
> >
> > I'm seeing a difference that I can't explain. In the interactions below, 
> > look for the leading quote in the output string on the commandline, and its 
> > absence in DrRacket.
> >
> > The same problem happens when running a module containing the same code, so 
> > it's not a top-level issue.
> >
> > Is there another parameter that controls this quoting mechanism that I 
> > don't know about?
> >
> > In DrRacket:
> > > (~v 'auie)
> > "auie"
> > > (print-as-expression)
> > #t
> >
> > On the command line:
> > Welcome to Racket v7.2.0.3.
> > > (~v 'auie)
> > "'auie"
> > > (print-as-expression)
> > #t
> >
> > --
> > 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.

-- 
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] ~v in drracket vs commandline

2019-02-01 Thread Sam Tobin-Hochstadt
I see the same behavior in DrRacket as in command line racket.

On Fri, Feb 1, 2019 at 10:19 AM Laurent  wrote:
>
> I'm seeing a difference that I can't explain. In the interactions below, look 
> for the leading quote in the output string on the commandline, and its 
> absence in DrRacket.
>
> The same problem happens when running a module containing the same code, so 
> it's not a top-level issue.
>
> Is there another parameter that controls this quoting mechanism that I don't 
> know about?
>
> In DrRacket:
> > (~v 'auie)
> "auie"
> > (print-as-expression)
> #t
>
> On the command line:
> Welcome to Racket v7.2.0.3.
> > (~v 'auie)
> "'auie"
> > (print-as-expression)
> #t
>
> --
> 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] ~v in drracket vs commandline

2019-02-01 Thread Laurent
I'm seeing a difference that I can't explain. In the interactions below,
look for the leading quote in the output string on the commandline, and its
absence in DrRacket.

The same problem happens when running a module containing the same code, so
it's not a top-level issue.

Is there another parameter that controls this quoting mechanism that I
don't know about?

In DrRacket:
> (~v 'auie)
"auie"
> (print-as-expression)
#t

On the command line:
Welcome to Racket v7.2.0.3.
> (~v 'auie)
"'auie"
> (print-as-expression)
#t

-- 
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] drracket migrate: package is currently installed in a wider scope

2019-02-01 Thread andrew blinn
Hi Laurent!

I may be misattributing the error. I did indeed already have quickscript 
installed as part of my previous installation. After updating, when I tried 
to restore my previous packages (which include quickscript), it aborts with 
the titular error, whose body text implicates the fact that quickscript is 
already installed. My expectation would be that it would proceed to 
reinstall the other non-conflicting packages, but this doesn't happen. In 
any case, the issue seems to lie with the package restore functionality, 
not quickscript itself.

Loving quickscript, by the way. Installed it immediately after your 
racketcon presentation.

On Friday, February 1, 2019 at 5:16:54 AM UTC-5, Laurent Orseau wrote:
>
> Hi Andrew,
>
> I don't quite understand what role quickscript being part of the main 
> distribution plays here. Can you give some more details about your issue?
>
> Just in case, the only change is that quickscript is by default a 
> dependency of DrRacket, which just means that if you didn't have it before, 
> now you would. But it shouldn't change anything else AFAIU.
>
> On Thu, Jan 31, 2019, 20:28 andrew blinn   wrote:
>
>> After updating to 7.2, I got this message after trying to use the "copy 
>> from version" menu option in the package manager to restore my packages 
>> from 7.1, due to quickscript being added to the standard distribution. This 
>> seems like it should be a simple enough issue to address, but I was unable 
>> to find any way to continue and restore the other non-conflicting packages 
>> through the GUI.
>>
>> Searching revealed nothing, so I've manually reinstalled my packages. I 
>> thought I'd make a post here though in case there's a simpler solution.
>>
>> -- 
>> 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...@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] Re: Racket News - Issue 1

2019-02-01 Thread Greg Trzeciak
Even better - add new label: "submission"
Then the link can automatically add it:
https://github.com/racket-news/racket-news.github.io-src/issues/new?title=[submission]=foo=submission

On Friday, February 1, 2019 at 3:16:27 PM UTC+1, Paulo Matos wrote:
>
>
>
> On 01/02/2019 15:00, Greg Trzeciak wrote: 
>
> > But issues may work - you could simply have a button with following url: 
> > 
> https://github.com/racket-news/racket-news.github.io-src/issues/new?title=[submission]=foo
>  
> 
>  
> > 
>
>

-- 
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] Racket News - Issue 1

2019-02-01 Thread Sam Tobin-Hochstadt
This looks very cool. Long long ago, I wrote something similar for
other free software projects, and my one piece of advice is not to
commit to writing really frequently. Every month, or even every few
months, is great.

Sam

On Fri, Feb 1, 2019 at 6:40 AM 'Paulo Matos' via Racket Users
 wrote:
>
> A quick preamble: I have been thinking about creating something along
> these lines for awhile but only just got my hands dirty. Here's the
> first issue. Web page is a work in progress at racket-news.com.
>
> I was thinking about publishing the text version (from raco scribble
> --text) in here for each issue (I just noticed that the text export
> doesn't export links so feel free to refer to the online version). If
> you feel this shouldn't be posted to the mailing list, please let me know.
>
> Also, this effort is only worth it IF the community thinks there's
> something to gain from this. Please feel free to comment, suggest or
> tell me it's a waste of time. I am not going to widely publicize this
> until I nail the webpage and people think it's worth it.
>
> So, here we go...
>
> Web version: http://racket-news.com/2019/02/racket-news-issue-1.html
>
> Title: Racket News - Issue 1 Date: 2019-02-01T08:00:00
>
> Welcome to the first issue of Racket News. I am hoping this will be of
> interest to everyone in the Racket community so if there’s something you
> really dislike, or something you want to see added to the newsletter
> please send me an email or submit a PR.
>
> Also, I think at the moment a bi-weekly or monthly newsletter is
> something reasonable. By this I mean that I should have time to put it
> together at this regular interval with enough interesting content. If
> things happen differently when I will change how often it comes out.
>
> In this issue we have the Racket 7.2 release, update on RacketCS, and a
> few extra goodies that came out recently.
>
> What’s New?
>
> Racket 7.2 released
>
> Racket 7.2 has been released! Vincent St-Amour has announced the release
> on January 30, 2019. The listed improvements include collapsible
> contracts, QuickScript integration, and various improvements to racklog,
> among others.
>
> RacketCS
>
> This week we saw an update on Racket-On-Chez by Matthew Flatt. For those
> who missed the boat, the whole point of this transition is
> maintainability. Hopefully with a more maintainable system, things will
> get easier for those currently contributing to Racket but also newcomers
> to Racket might more easily contribute PRs to improve the system in
> general.
>
> The summary on the report is that Racket on Chez is considered mostly
> done with all functionility in place and most tests passing. There are a
> few things where RacketCS won’t behave the same as current Racket:
>
> * no single-precision or extended-precision flonums;
>
> * some differences in the FFI;
>
> * no support for C API;
>
> There are a few other incompatible points but for more detail please
> refer to the original post. RacketCS will never be fully compatible with
> Racket, therefore he whole point is to get people to move their stuff to
> RacketCS and get rid of the current Racket variant.
>
> However, there are some performance issues that might block a few
> applications from transitioning right away. Alex Harsanyi, developer of
> ActivityLog2 mentioned in the mailing list that in his case RacketCS is
> significantly slower than Racket 7.1. Matthew promised in a reply no
> switch will happen until performance is good enough. Alex elaborated his
> point further by providing function timings of ActivityLog2 in this
> gist.
>
> Wiki
>
> Stephen de Gabrielle has been seriously active on the wiki side of
> things. It has some really interesting content and you should check it
> out.
>
> Racket Github Topic
>
> Stephen de Gabrielle has beautified the GitHub topic for Racket through
> a PR.
>
> Upcoming Meetups
>
> * FOSDEM2019 - On Feb. 2,3 in Brussels, Belgium FOSDEM will take place.
>   There is a minimalistic languages interest group where Racket will be
>   mentioned a few times
>
> * BOB2019 - Right before Racketfest, also in Berlin, Germany. Directly
>   related to Racket, you a talk by our own Shriram Krishnamurthi and a
>   tutorial by Jesse Alama on WebDev
>
> * RacketFest - Jesse Alama is organizing the first European Racket
>   Meeting. It will take place in Berlin, Germany on March 23, 2019. Make
>   sure you get your ticket before they sell out... again!
>
> Racket around the web
>
> Here are a few blog posts about Racket...
>
> * Racket-on-Chez Status: January 2019
>
> * Can we abstract control flow?
>
> Project of the Week
>
> We all know how there are so many hidden gems in the Racket world. I
> hope, in this section, to make these gems shine, one at a time.
>
> So for this week I chose to mention: Rash by William Hatch.
>
> From its webpage:
>
> Rash is a shell language, library, and REPL for Racket.
>
> Use as a repl that is as convenient for pipelining programs as Bash is,

Re: [racket-users] Racket News - Issue 1

2019-02-01 Thread 'Paulo Matos' via Racket Users



On 01/02/2019 15:23, Sam Tobin-Hochstadt wrote:
> This looks very cool. 

Thanks.

> Long long ago, I wrote something similar for
> other free software projects, and my one piece of advice is not to
> commit to writing really frequently. Every month, or even every few
> months, is great.
> 

Wise words! :) Yes, initially I planned every second week but it might
end up being on the first of each month. We shall see... I certainly
think there are enough things going on to do it on a monthly basis.

A lot of the stuff can be automated and if I have people contributing
and I can automate that integration as well so that I act as a
hole-filler and editor, even better.

Thanks.

> Sam
> 
> On Fri, Feb 1, 2019 at 6:40 AM 'Paulo Matos' via Racket Users
>  wrote:
>>
>> A quick preamble: I have been thinking about creating something along
>> these lines for awhile but only just got my hands dirty. Here's the
>> first issue. Web page is a work in progress at racket-news.com.
>>
>> I was thinking about publishing the text version (from raco scribble
>> --text) in here for each issue (I just noticed that the text export
>> doesn't export links so feel free to refer to the online version). If
>> you feel this shouldn't be posted to the mailing list, please let me know.
>>
>> Also, this effort is only worth it IF the community thinks there's
>> something to gain from this. Please feel free to comment, suggest or
>> tell me it's a waste of time. I am not going to widely publicize this
>> until I nail the webpage and people think it's worth it.
>>
>> So, here we go...
>>
>> Web version: http://racket-news.com/2019/02/racket-news-issue-1.html
>>
>> Title: Racket News - Issue 1 Date: 2019-02-01T08:00:00
>>
>> Welcome to the first issue of Racket News. I am hoping this will be of
>> interest to everyone in the Racket community so if there’s something you
>> really dislike, or something you want to see added to the newsletter
>> please send me an email or submit a PR.
>>
>> Also, I think at the moment a bi-weekly or monthly newsletter is
>> something reasonable. By this I mean that I should have time to put it
>> together at this regular interval with enough interesting content. If
>> things happen differently when I will change how often it comes out.
>>
>> In this issue we have the Racket 7.2 release, update on RacketCS, and a
>> few extra goodies that came out recently.
>>
>> What’s New?
>>
>> Racket 7.2 released
>>
>> Racket 7.2 has been released! Vincent St-Amour has announced the release
>> on January 30, 2019. The listed improvements include collapsible
>> contracts, QuickScript integration, and various improvements to racklog,
>> among others.
>>
>> RacketCS
>>
>> This week we saw an update on Racket-On-Chez by Matthew Flatt. For those
>> who missed the boat, the whole point of this transition is
>> maintainability. Hopefully with a more maintainable system, things will
>> get easier for those currently contributing to Racket but also newcomers
>> to Racket might more easily contribute PRs to improve the system in
>> general.
>>
>> The summary on the report is that Racket on Chez is considered mostly
>> done with all functionility in place and most tests passing. There are a
>> few things where RacketCS won’t behave the same as current Racket:
>>
>> * no single-precision or extended-precision flonums;
>>
>> * some differences in the FFI;
>>
>> * no support for C API;
>>
>> There are a few other incompatible points but for more detail please
>> refer to the original post. RacketCS will never be fully compatible with
>> Racket, therefore he whole point is to get people to move their stuff to
>> RacketCS and get rid of the current Racket variant.
>>
>> However, there are some performance issues that might block a few
>> applications from transitioning right away. Alex Harsanyi, developer of
>> ActivityLog2 mentioned in the mailing list that in his case RacketCS is
>> significantly slower than Racket 7.1. Matthew promised in a reply no
>> switch will happen until performance is good enough. Alex elaborated his
>> point further by providing function timings of ActivityLog2 in this
>> gist.
>>
>> Wiki
>>
>> Stephen de Gabrielle has been seriously active on the wiki side of
>> things. It has some really interesting content and you should check it
>> out.
>>
>> Racket Github Topic
>>
>> Stephen de Gabrielle has beautified the GitHub topic for Racket through
>> a PR.
>>
>> Upcoming Meetups
>>
>> * FOSDEM2019 - On Feb. 2,3 in Brussels, Belgium FOSDEM will take place.
>>   There is a minimalistic languages interest group where Racket will be
>>   mentioned a few times
>>
>> * BOB2019 - Right before Racketfest, also in Berlin, Germany. Directly
>>   related to Racket, you a talk by our own Shriram Krishnamurthi and a
>>   tutorial by Jesse Alama on WebDev
>>
>> * RacketFest - Jesse Alama is organizing the first European Racket
>>   Meeting. It will take place in Berlin, Germany on March 23, 2019. Make
>>   sure you get your 

Re: [racket-users] Re: Racket News - Issue 1

2019-02-01 Thread 'Paulo Matos' via Racket Users



On 01/02/2019 15:00, Greg Trzeciak wrote:
> I personally think PR maybe too much (unless someone creates entire news
> - also good as an option). Especially if you only wanted to post a link
> to a new blog post.
> 
> But issues may work - you could simply have a button with following url:
> https://github.com/racket-news/racket-news.github.io-src/issues/new?title=[submission]=foo
> 

Great idea. I will try to add something like that. Thanks.

> That would be the simplest solution requiring least effort.
> 
> 
> 
> On Friday, February 1, 2019 at 2:36:48 PM UTC+1, Paulo Matos wrote:
> 
> 
> 
> On 01/02/2019 14:28, Greg Trzeciak wrote:
> > Nicely done!
> >
> > Is my understanding correct and this will also be a newsletter (as in
> > subscribe and receive by email)?
> >
> 
> Yes, still something I have to sort out. Lets say this is a pilot
> /episode/ to understand the community's reception.
> 
> On that, is mailchimp the way to go these days or there's something
> else
> out there I should be looking at?
> 
> > An idea - include a form like "Submit a news" where readers can
> quickly
> > share their finding, e.g. blog posts, new package (their own or
> someone
> > else's they like) - this could send an email, create a gist or a
> github
> > issue.
> >
> 
> That's interesting. Initially I thought people could do that by
> submitting a PR or if they don't want to create a PR, they could submit
> an issue. Do you think forwarding people to the submit issue form would
> put people away from contributing?
> 
> -- 
> Paulo Matos
> 
> -- 
> 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.

-- 
Paulo Matos

-- 
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] sxml vs xexpr frustrations

2019-02-01 Thread Leo Uino

On 2019/02/01 3:24, Matthew Butterick wrote:

Yes, it's true that the Racket XML library doesn't support namespaces.


Indeed - although I hacked up a solution for that for another project[1]:

http://docs.racket-lang.org/xml-ns/index.html

I agree with the sentiment regarding the rest of the XML stack. One of 
these days I'll finish off XSD support and have done with it...



Leo

[1] With apologies for blowing my own trumpet

--
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] Re: Racket News - Issue 1

2019-02-01 Thread Greg Trzeciak
I personally think PR maybe too much (unless someone creates entire news - 
also good as an option). Especially if you only wanted to post a link to a 
new blog post.

But issues may work - you could simply have a button with following url:
https://github.com/racket-news/racket-news.github.io-src/issues/new?title=[submission]=foo

That would be the simplest solution requiring least effort.



On Friday, February 1, 2019 at 2:36:48 PM UTC+1, Paulo Matos wrote:
>
>
>
> On 01/02/2019 14:28, Greg Trzeciak wrote: 
> > Nicely done! 
> > 
> > Is my understanding correct and this will also be a newsletter (as in 
> > subscribe and receive by email)? 
> > 
>
> Yes, still something I have to sort out. Lets say this is a pilot 
> /episode/ to understand the community's reception. 
>
> On that, is mailchimp the way to go these days or there's something else 
> out there I should be looking at? 
>
> > An idea - include a form like "Submit a news" where readers can quickly 
> > share their finding, e.g. blog posts, new package (their own or someone 
> > else's they like) - this could send an email, create a gist or a github 
> > issue. 
> > 
>
> That's interesting. Initially I thought people could do that by 
> submitting a PR or if they don't want to create a PR, they could submit 
> an issue. Do you think forwarding people to the submit issue form would 
> put people away from contributing? 
>
> -- 
> Paulo Matos 
>

-- 
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] Quickscript error on first startup of Racket 7.2

2019-02-01 Thread Laurent
Okay then, I'll work on a fix tomorrow.

On Fri, Feb 1, 2019 at 1:23 PM Robby Findler 
wrote:

> I can't say concretely what will go wrong I am sorry to say. There are
> just a number of moving parts and I can't quite see how they will fail to
> fit together. I am just basing this on my vague, holistic understanding of
> how things work currently. (There are no places where on set of sources is
> used with multiple versions in the standard distribution and nontrivial
> work has gone into making that case work out and maintain that invariant.)
>
> In other words, go for it! We have a fallback if this don't work out. :)
>
> Robby
>
> On Fri, Feb 1, 2019 at 7:01 AM Laurent  wrote:
>
>> On Fri, Feb 1, 2019 at 11:30 AM Robby Findler <
>> ro...@eecs.northwestern.edu> wrote:
>>
>>> My feeling is that our compilation infrastructure isn't really set up to
>>> work like that currently. In general things will probably be smoother if
>>> there is only the expectation that a given set of files is used with only
>>> one version at a time.
>>>
>>> It is possible that someone may use multiple versions of DrRacket on
>>> their computer switching between them or even having them open at the same
>>> time.
>>>
>>
>> Frankly, for any application, if one has multiple versions open at the
>> same time and things go wrong, I don't see how one can blame the developers
>> with a straight face—the one legitimate case is probably when you're one of
>> the developers yourself.
>>
>> If you want to use several versions but not at the same time (which is
>> also asking for trouble in any case), then recompilation on startup should
>> work nicely anyway, just requiring a little more time. Copying the same
>> scripts in different folders will very likely mean divergence of source at
>> some point and likely frustration for the user.
>>
>> Or am I missing something?
>>
>>
>>>
>>> Robby
>>>
>>> On Fri, Feb 1, 2019 at 4:12 AM Laurent  wrote:
>>>
 Thanks for bringing this up.

 Indeed the compile option from the quickscript menu should work, but
 it's not ideal.

 I'm not a big fan of the copy option. (To me that sounds like asking
 for trouble, but I may be wrong.)

 A nicer solution may be to simply check if the scripts are compiled
 with the current version, and if not just silently compile them on DrRacket
 startup? The user could also be querried if that's better.

 On Thu, Jan 31, 2019, 23:02 Greg Trzeciak >>>
> As long as the user-scripts won't be lost (i.e. the scripts will be
> copied over) it sounds OK.
>
> On Thursday, January 31, 2019 at 10:42:08 PM UTC+1, Robby Findler
> wrote:
>>
>> Probably it is best if quickscript (either silently or after asking)
>> copied scripts from a version-specific directory to a new
>> (version-specific) one, much like how the pkg system works.
>>
>> Robby
>>
>> On Thu, Jan 31, 2019 at 3:38 PM Greg Trzeciak 
>> wrote:
>> >
>> > I had quickscript already installed when upgrading Racket.
>> >
>> > On DrRacket startup I got the following error:
>> >
>> > Error in script file "run-in-interactions.rkt":
>> read-compiled-linklet: version mismatch
>> >   expected: "7.2"
>> >   found: "6.90.0.24"
>> >   in:
>> C:\Users\Myself\AppData\Roaming\Racket\quickscript\user-scripts\compiled\run-in-interactions_rkt.zo
>>
>> >
>> > After closing the message box DrRacket is opening with no problems
>> >
>> > Deleting compiled folder removes the error on the next start up
>> (and so would probably running "Compile Scripts and  reload" from Script
>> menu).
>> > But since quickscript is now part of DrRacket - the error may
>> reappear in the next upgrades since it looks like user-scripts is not
>> recompiled during upgrade.
>> >
>> > G.
>> >
>> > --
>> > 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...@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.
>
 --
 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 

Re: [racket-users] Re: Racket News - Issue 1

2019-02-01 Thread 'Paulo Matos' via Racket Users



On 01/02/2019 14:28, Greg Trzeciak wrote:
> Nicely done!
> 
> Is my understanding correct and this will also be a newsletter (as in
> subscribe and receive by email)?
> 

Yes, still something I have to sort out. Lets say this is a pilot
/episode/ to understand the community's reception.

On that, is mailchimp the way to go these days or there's something else
out there I should be looking at?

> An idea - include a form like "Submit a news" where readers can quickly
> share their finding, e.g. blog posts, new package (their own or someone
> else's they like) - this could send an email, create a gist or a github
> issue.
> 

That's interesting. Initially I thought people could do that by
submitting a PR or if they don't want to create a PR, they could submit
an issue. Do you think forwarding people to the submit issue form would
put people away from contributing?

-- 
Paulo Matos

-- 
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] Quickscript error on first startup of Racket 7.2

2019-02-01 Thread Robby Findler
I can't say concretely what will go wrong I am sorry to say. There are just
a number of moving parts and I can't quite see how they will fail to fit
together. I am just basing this on my vague, holistic understanding of how
things work currently. (There are no places where on set of sources is used
with multiple versions in the standard distribution and nontrivial work has
gone into making that case work out and maintain that invariant.)

In other words, go for it! We have a fallback if this don't work out. :)

Robby

On Fri, Feb 1, 2019 at 7:01 AM Laurent  wrote:

> On Fri, Feb 1, 2019 at 11:30 AM Robby Findler 
> wrote:
>
>> My feeling is that our compilation infrastructure isn't really set up to
>> work like that currently. In general things will probably be smoother if
>> there is only the expectation that a given set of files is used with only
>> one version at a time.
>>
>> It is possible that someone may use multiple versions of DrRacket on
>> their computer switching between them or even having them open at the same
>> time.
>>
>
> Frankly, for any application, if one has multiple versions open at the
> same time and things go wrong, I don't see how one can blame the developers
> with a straight face—the one legitimate case is probably when you're one of
> the developers yourself.
>
> If you want to use several versions but not at the same time (which is
> also asking for trouble in any case), then recompilation on startup should
> work nicely anyway, just requiring a little more time. Copying the same
> scripts in different folders will very likely mean divergence of source at
> some point and likely frustration for the user.
>
> Or am I missing something?
>
>
>>
>> Robby
>>
>> On Fri, Feb 1, 2019 at 4:12 AM Laurent  wrote:
>>
>>> Thanks for bringing this up.
>>>
>>> Indeed the compile option from the quickscript menu should work, but
>>> it's not ideal.
>>>
>>> I'm not a big fan of the copy option. (To me that sounds like asking for
>>> trouble, but I may be wrong.)
>>>
>>> A nicer solution may be to simply check if the scripts are compiled with
>>> the current version, and if not just silently compile them on DrRacket
>>> startup? The user could also be querried if that's better.
>>>
>>> On Thu, Jan 31, 2019, 23:02 Greg Trzeciak >>
 As long as the user-scripts won't be lost (i.e. the scripts will be
 copied over) it sounds OK.

 On Thursday, January 31, 2019 at 10:42:08 PM UTC+1, Robby Findler wrote:
>
> Probably it is best if quickscript (either silently or after asking)
> copied scripts from a version-specific directory to a new
> (version-specific) one, much like how the pkg system works.
>
> Robby
>
> On Thu, Jan 31, 2019 at 3:38 PM Greg Trzeciak 
> wrote:
> >
> > I had quickscript already installed when upgrading Racket.
> >
> > On DrRacket startup I got the following error:
> >
> > Error in script file "run-in-interactions.rkt":
> read-compiled-linklet: version mismatch
> >   expected: "7.2"
> >   found: "6.90.0.24"
> >   in:
> C:\Users\Myself\AppData\Roaming\Racket\quickscript\user-scripts\compiled\run-in-interactions_rkt.zo
>
> >
> > After closing the message box DrRacket is opening with no problems
> >
> > Deleting compiled folder removes the error on the next start up (and
> so would probably running "Compile Scripts and  reload" from Script menu).
> > But since quickscript is now part of DrRacket - the error may
> reappear in the next upgrades since it looks like user-scripts is not
> recompiled during upgrade.
> >
> > G.
> >
> > --
> > 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...@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.

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

-- 
You received this message because you are subscribed to the Google Groups 

[racket-users] Re: Racket News - Issue 1

2019-02-01 Thread Greg Trzeciak
Nicely done!

Is my understanding correct and this will also be a newsletter (as in 
subscribe and receive by email)?

An idea - include a form like "Submit a news" where readers can quickly 
share their finding, e.g. blog posts, new package (their own or someone 
else's they like) - this could send an email, create a gist or a github 
issue.

G 


-- 
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] Quickscript error on first startup of Racket 7.2

2019-02-01 Thread Laurent
On Fri, Feb 1, 2019 at 11:30 AM Robby Findler 
wrote:

> My feeling is that our compilation infrastructure isn't really set up to
> work like that currently. In general things will probably be smoother if
> there is only the expectation that a given set of files is used with only
> one version at a time.
>
> It is possible that someone may use multiple versions of DrRacket on their
> computer switching between them or even having them open at the same time.
>

Frankly, for any application, if one has multiple versions open at the same
time and things go wrong, I don't see how one can blame the developers with
a straight face—the one legitimate case is probably when you're one of the
developers yourself.

If you want to use several versions but not at the same time (which is also
asking for trouble in any case), then recompilation on startup should work
nicely anyway, just requiring a little more time. Copying the same scripts
in different folders will very likely mean divergence of source at some
point and likely frustration for the user.

Or am I missing something?


>
> Robby
>
> On Fri, Feb 1, 2019 at 4:12 AM Laurent  wrote:
>
>> Thanks for bringing this up.
>>
>> Indeed the compile option from the quickscript menu should work, but it's
>> not ideal.
>>
>> I'm not a big fan of the copy option. (To me that sounds like asking for
>> trouble, but I may be wrong.)
>>
>> A nicer solution may be to simply check if the scripts are compiled with
>> the current version, and if not just silently compile them on DrRacket
>> startup? The user could also be querried if that's better.
>>
>> On Thu, Jan 31, 2019, 23:02 Greg Trzeciak >
>>> As long as the user-scripts won't be lost (i.e. the scripts will be
>>> copied over) it sounds OK.
>>>
>>> On Thursday, January 31, 2019 at 10:42:08 PM UTC+1, Robby Findler wrote:

 Probably it is best if quickscript (either silently or after asking)
 copied scripts from a version-specific directory to a new
 (version-specific) one, much like how the pkg system works.

 Robby

 On Thu, Jan 31, 2019 at 3:38 PM Greg Trzeciak 
 wrote:
 >
 > I had quickscript already installed when upgrading Racket.
 >
 > On DrRacket startup I got the following error:
 >
 > Error in script file "run-in-interactions.rkt":
 read-compiled-linklet: version mismatch
 >   expected: "7.2"
 >   found: "6.90.0.24"
 >   in:
 C:\Users\Myself\AppData\Roaming\Racket\quickscript\user-scripts\compiled\run-in-interactions_rkt.zo

 >
 > After closing the message box DrRacket is opening with no problems
 >
 > Deleting compiled folder removes the error on the next start up (and
 so would probably running "Compile Scripts and  reload" from Script menu).
 > But since quickscript is now part of DrRacket - the error may
 reappear in the next upgrades since it looks like user-scripts is not
 recompiled during upgrade.
 >
 > G.
 >
 > --
 > 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...@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.
>>>
>> --
>> 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] Beginning of the end for googlegroups?

2019-02-01 Thread Cleverson Casarin Uliana
Can't say from an admin's perspective, but as a member in several
groups. I like groups.io

Greetings,
Cleverson

-- 
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] updated Racket-on-Chez status

2019-02-01 Thread Matthew Flatt
At Thu, 31 Jan 2019 11:08:35 -0500, David Storrs wrote:
> One thing that surprised me is
> that there are a handful of tests (tak1, dynamic2, tak, mazefun,
> maze2, collatz-q, collatz) where Racket/CS actually outperformed CS.
> How is that possible?

I have not investigated closely, but Racket CS might perform more
function inlining than plain Chez Scheme. That's because Racket CS
performs it own inlining pass to better support cross-module
optimization, and then it hands over the result to Chez Scheme, which
performs its usual inlining.

Another possibility is that Racket CS changes evaluation order for some
function-call expression by forcing left-to-right evaluation of the
arguments. That is, Racket CS might force an order of evaluation that
just happens to be slightly better.

Along similar lines, the differences are small enough that it could be
just from accidents of allocation order and size that trigger a
memory-alignment pattern that happens to be slightly better for some
layer of caching.

-- 
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 News - Issue 1

2019-02-01 Thread 'Paulo Matos' via Racket Users
A quick preamble: I have been thinking about creating something along
these lines for awhile but only just got my hands dirty. Here's the
first issue. Web page is a work in progress at racket-news.com.

I was thinking about publishing the text version (from raco scribble
--text) in here for each issue (I just noticed that the text export
doesn't export links so feel free to refer to the online version). If
you feel this shouldn't be posted to the mailing list, please let me know.

Also, this effort is only worth it IF the community thinks there's
something to gain from this. Please feel free to comment, suggest or
tell me it's a waste of time. I am not going to widely publicize this
until I nail the webpage and people think it's worth it.

So, here we go...

Web version: http://racket-news.com/2019/02/racket-news-issue-1.html

Title: Racket News - Issue 1 Date: 2019-02-01T08:00:00

Welcome to the first issue of Racket News. I am hoping this will be of
interest to everyone in the Racket community so if there’s something you
really dislike, or something you want to see added to the newsletter
please send me an email or submit a PR.

Also, I think at the moment a bi-weekly or monthly newsletter is
something reasonable. By this I mean that I should have time to put it
together at this regular interval with enough interesting content. If
things happen differently when I will change how often it comes out.

In this issue we have the Racket 7.2 release, update on RacketCS, and a
few extra goodies that came out recently.

What’s New?

Racket 7.2 released

Racket 7.2 has been released! Vincent St-Amour has announced the release
on January 30, 2019. The listed improvements include collapsible
contracts, QuickScript integration, and various improvements to racklog,
among others.

RacketCS

This week we saw an update on Racket-On-Chez by Matthew Flatt. For those
who missed the boat, the whole point of this transition is
maintainability. Hopefully with a more maintainable system, things will
get easier for those currently contributing to Racket but also newcomers
to Racket might more easily contribute PRs to improve the system in
general.

The summary on the report is that Racket on Chez is considered mostly
done with all functionility in place and most tests passing. There are a
few things where RacketCS won’t behave the same as current Racket:

* no single-precision or extended-precision flonums;

* some differences in the FFI;

* no support for C API;

There are a few other incompatible points but for more detail please
refer to the original post. RacketCS will never be fully compatible with
Racket, therefore he whole point is to get people to move their stuff to
RacketCS and get rid of the current Racket variant.

However, there are some performance issues that might block a few
applications from transitioning right away. Alex Harsanyi, developer of
ActivityLog2 mentioned in the mailing list that in his case RacketCS is
significantly slower than Racket 7.1. Matthew promised in a reply no
switch will happen until performance is good enough. Alex elaborated his
point further by providing function timings of ActivityLog2 in this
gist.

Wiki

Stephen de Gabrielle has been seriously active on the wiki side of
things. It has some really interesting content and you should check it
out.

Racket Github Topic

Stephen de Gabrielle has beautified the GitHub topic for Racket through
a PR.

Upcoming Meetups

* FOSDEM2019 - On Feb. 2,3 in Brussels, Belgium FOSDEM will take place.
  There is a minimalistic languages interest group where Racket will be
  mentioned a few times

* BOB2019 - Right before Racketfest, also in Berlin, Germany. Directly
  related to Racket, you a talk by our own Shriram Krishnamurthi and a
  tutorial by Jesse Alama on WebDev

* RacketFest - Jesse Alama is organizing the first European Racket
  Meeting. It will take place in Berlin, Germany on March 23, 2019. Make
  sure you get your ticket before they sell out... again!

Racket around the web

Here are a few blog posts about Racket...

* Racket-on-Chez Status: January 2019

* Can we abstract control flow?

Project of the Week

We all know how there are so many hidden gems in the Racket world. I
hope, in this section, to make these gems shine, one at a time.

So for this week I chose to mention: Rash by William Hatch.

>From its webpage:

Rash is a shell language, library, and REPL for Racket.
 
Use as a repl that is as convenient for pipelining programs as Bash is,
but has all the power of Racket. Use as a scripting language with #lang
rash. Embed in normal Racket files with (require rash), and mix freely
with any other Racket language or library.
 
Rash is in active development, but it is largely stable (and the parts
that aren't are marked as such). I use it as my default interactive
shell on my laptop. It currently lacks the interactive polish of Zsh or
Fish, but it is so much better as a language. Every script I've ported
from a bourne-related shell 

Re: [racket-users] Quickscript error on first startup of Racket 7.2

2019-02-01 Thread Robby Findler
My feeling is that our compilation infrastructure isn't really set up to
work like that currently. In general things will probably be smoother if
there is only the expectation that a given set of files is used with only
one version at a time.

It is possible that someone may use multiple versions of DrRacket on their
computer switching between them or even having them open at the same time.

Robby

On Fri, Feb 1, 2019 at 4:12 AM Laurent  wrote:

> Thanks for bringing this up.
>
> Indeed the compile option from the quickscript menu should work, but it's
> not ideal.
>
> I'm not a big fan of the copy option. (To me that sounds like asking for
> trouble, but I may be wrong.)
>
> A nicer solution may be to simply check if the scripts are compiled with
> the current version, and if not just silently compile them on DrRacket
> startup? The user could also be querried if that's better.
>
> On Thu, Jan 31, 2019, 23:02 Greg Trzeciak 
>> As long as the user-scripts won't be lost (i.e. the scripts will be
>> copied over) it sounds OK.
>>
>> On Thursday, January 31, 2019 at 10:42:08 PM UTC+1, Robby Findler wrote:
>>>
>>> Probably it is best if quickscript (either silently or after asking)
>>> copied scripts from a version-specific directory to a new
>>> (version-specific) one, much like how the pkg system works.
>>>
>>> Robby
>>>
>>> On Thu, Jan 31, 2019 at 3:38 PM Greg Trzeciak 
>>> wrote:
>>> >
>>> > I had quickscript already installed when upgrading Racket.
>>> >
>>> > On DrRacket startup I got the following error:
>>> >
>>> > Error in script file "run-in-interactions.rkt": read-compiled-linklet:
>>> version mismatch
>>> >   expected: "7.2"
>>> >   found: "6.90.0.24"
>>> >   in:
>>> C:\Users\Myself\AppData\Roaming\Racket\quickscript\user-scripts\compiled\run-in-interactions_rkt.zo
>>>
>>> >
>>> > After closing the message box DrRacket is opening with no problems
>>> >
>>> > Deleting compiled folder removes the error on the next start up (and
>>> so would probably running "Compile Scripts and  reload" from Script menu).
>>> > But since quickscript is now part of DrRacket - the error may reappear
>>> in the next upgrades since it looks like user-scripts is not recompiled
>>> during upgrade.
>>> >
>>> > G.
>>> >
>>> > --
>>> > 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...@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.
>>
> --
> 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] drracket migrate: package is currently installed in a wider scope

2019-02-01 Thread Laurent
Hi Andrew,

I don't quite understand what role quickscript being part of the main
distribution plays here. Can you give some more details about your issue?

Just in case, the only change is that quickscript is by default a
dependency of DrRacket, which just means that if you didn't have it before,
now you would. But it shouldn't change anything else AFAIU.

On Thu, Jan 31, 2019, 20:28 andrew blinn  After updating to 7.2, I got this message after trying to use the "copy
> from version" menu option in the package manager to restore my packages
> from 7.1, due to quickscript being added to the standard distribution. This
> seems like it should be a simple enough issue to address, but I was unable
> to find any way to continue and restore the other non-conflicting packages
> through the GUI.
>
> Searching revealed nothing, so I've manually reinstalled my packages. I
> thought I'd make a post here though in case there's a simpler solution.
>
> --
> 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] Why would a value produced by eval-ing code not satisfy its type predicate? (Particularly, a SQL statement from the sql package)

2019-02-01 Thread hashim muqtadir
> No.  Look back at your code ... you defined the struct in your own 
> unnamed module just before the definition of  "select/f" 

But the thing is, the error was that it failed to recognize sql-statement 
in the test, which is provided by sql, not me. The function otherwise 
worked correctly. The thing returned by the function wasn't recognized as 
an sql-statement. It had the same printed representation as a call to 
"select" done manually.

> This is a late stage debugging version with a lot 
> of visible output - cleaned up a bit, the final version is part of a 
> scheduler I wrote.  You are free to do with it whatever you like

Thanks! Seems pretty neat.

-- 
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] Quickscript error on first startup of Racket 7.2

2019-02-01 Thread Laurent
Thanks for bringing this up.

Indeed the compile option from the quickscript menu should work, but it's
not ideal.

I'm not a big fan of the copy option. (To me that sounds like asking for
trouble, but I may be wrong.)

A nicer solution may be to simply check if the scripts are compiled with
the current version, and if not just silently compile them on DrRacket
startup? The user could also be querried if that's better.

On Thu, Jan 31, 2019, 23:02 Greg Trzeciak  As long as the user-scripts won't be lost (i.e. the scripts will be copied
> over) it sounds OK.
>
> On Thursday, January 31, 2019 at 10:42:08 PM UTC+1, Robby Findler wrote:
>>
>> Probably it is best if quickscript (either silently or after asking)
>> copied scripts from a version-specific directory to a new
>> (version-specific) one, much like how the pkg system works.
>>
>> Robby
>>
>> On Thu, Jan 31, 2019 at 3:38 PM Greg Trzeciak  wrote:
>> >
>> > I had quickscript already installed when upgrading Racket.
>> >
>> > On DrRacket startup I got the following error:
>> >
>> > Error in script file "run-in-interactions.rkt": read-compiled-linklet:
>> version mismatch
>> >   expected: "7.2"
>> >   found: "6.90.0.24"
>> >   in:
>> C:\Users\Myself\AppData\Roaming\Racket\quickscript\user-scripts\compiled\run-in-interactions_rkt.zo
>>
>> >
>> > After closing the message box DrRacket is opening with no problems
>> >
>> > Deleting compiled folder removes the error on the next start up (and so
>> would probably running "Compile Scripts and  reload" from Script menu).
>> > But since quickscript is now part of DrRacket - the error may reappear
>> in the next upgrades since it looks like user-scripts is not recompiled
>> during upgrade.
>> >
>> > G.
>> >
>> > --
>> > 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...@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.
>

-- 
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] Why would a value produced by eval-ing code not satisfy its type predicate? (Particularly, a SQL statement from the sql package)

2019-02-01 Thread George Neuner


On 2/1/2019 12:39 AM, hashim muqtadir wrote:

> If order to use a struct across namespaces, the module that
> defines the struct must be required into each namespace that uses the
> struct.

Yes, I suspect there's some weird interaction between namespaces too, 
hence the topic, but that's still pretty vague. After all, the thing 
defining the structs is the sql package, and my modules/namespaces are 
importing that.


No.  Look back at your code ... you defined the struct in your own 
unnamed module just before the definition of  "select/f"




> Eval almost always is the wrong answer.

I wanted to pass a list to select, but select is a macro, and I didn't 
get how to define a macro on top of that to do what I wanted, since 
the macro doesn't know that one of the things being passed into it 
evaluates to a list, so it can't splice that list into select, hence, 
eval.


Macros can construct calls to other macros or functions.  SQL is too 
complicated to give a representative example, but you can look at this 
AT-style time macro.  This is a late stage debugging version with a lot 
of visible output - cleaned up a bit, the final version is part of a 
scheduler I wrote.  You are free to do with it whatever you like.



> I recommend that you take a look at section 3.7 of the 
documentation, "Dynamic Statement Composition and SQL Injection”, 
which I believe does exactly what you want. Specifically, you want to 
dynamically construct a select statement.


I did look at that. And up until yesterday I thought "this isn't 
helping, I need to inject multiple select-expr's!".


And today, I had a look again and thought, hey, what if I use a string 
that has a comma in it, and, hey, that works!


i.e. the following works:

    #lang racket
    (require sql)
    (select (ScalarExpr:INJECT (unquote "mew, two")) #:from pokemon)

It gives me `(sql-statement "SELECT mew, two FROM pokemon")`

So now I know all I have to do is comma-join my list to form a string, 
and inject that.


What I do _not_ know if that's how INJECT was meant to be used, or 
whether I should build a separate inject macro that uses 
unquote-splice instead that comma-joins the list and does some form of 
escaping on the columns. My first guess is that properly verifying the 
items in the list to be single expressions is pretty difficult, so it 
sounds like a bad idea, and since one select-expr is allowed to yield 
multiple columns (because the "db" library that will actually get the 
results doesn't need any info from the query, I think), my approach 
should be fine.


I haven't looked at the SQL package  [didn't know about it until you 
mentioned it].



I use my own [really complex] macro for writing free form SQL.  It 
allows arbitrary Racket code (that produces a string) to be interspliced 
among the SQL, and the result all is reduced to a string to pass to the 
DB library.  It's not release material though:  it's good enough for me, 
but the error reporting is poor and the "language" it accepts is not 
quite SQL but rather a hybrid of SQL and Racket..


I've been meaning to go back to it.  I'd like to fix it so I can write 
standard SQL instead of the hybrid language  (SQL's meaning for single 
quotes, brackets, etc.) , but I never seem to get around to it.  If 
Ryan's SQL library is good enough, maybe I just retire my own code instead.


George


--
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.
#lang racket/base

(require
  (for-syntax racket/base
  racket/format
  )

  racket/base
  racket/match
  racket/list
  racket/format
  racket/dict
  racket/date

  )


;%%%
#|

allows free form date/time descriptions in
the style of the Unix "at" command. converts
the description into seconds since the Unix
epoch: 1970-01-01 at 00:00hrs.

the resulting seconds value may be converted
into a usable date structure, or passed to
an alarm event for scheduling.

special words:
  "now" = current date/time
  "today"  - at 00hrs
  "tomorrow"   - at 00hrs
  "this-month" - at 00hrs on the 1st
  "next-month" - at 00hrs on the 1st

dates must be entered in -mm-dd format.

times may be entered in 12hr or 24hr format.
minutes, seconds, and AM/PM are optional.
AM/PM is ignored if time is unambiguous.

"+  " adds a given offset
to the accumulated date/time value. units
may be seconds, minutes, hours, days, or weeks.

units and their typical abbreviations are
recognized in both singular and plural forms.

|#
;%%%


;==
;
;  macro interface - generates call to
;  parsing function at runtime
;
;==

(define-syntax (at stx)
  (let* [
 (input   (cdr