[racket-users] raco pkg migrate

2021-07-01 Thread Curtis Dutton
after I install the newest racket package on my linux servers I always need
to run raco pkg migrate to reinstall dependant packages. trouble is I can
never figure out the version name of the previous install. Is there a raco
pkg migrate command that can just migrate the packages from the latest
previously installed version?

Ideally I'd like to automate that so when I apt-get upgrade the packages
are migrated for me.

Thanks,
Curt

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CAPChLEoWdT4BrQnLgXen4g4A%2BCorxmQeQ61uu2x5oxQ2ibF2dQ%40mail.gmail.com.


Re: [racket-users] SISAL like interpreters in racket/scheme

2021-07-01 Thread Stephen De Gabrielle
I don’t know of any other implementations of SISAL but you might be
interested in another dataflow language:
https://docs.racket-lang.org/frtime/

Best
Stephen

On Wed, 23 Jun 2021 at 21:41, David Bremner  wrote:

>
> I'm interested in SISAL and the IF1 intermediate form. I found a
> typescript based interpreter [1] and an old version of the original
> compiler in CVS [2], but would love not to have to deal with typescript
> or CVS. Toy subsets or similar languages welcome!
>
> [1]: https://github.com/parsifal-47/sisal-is
> [2]: http://sisal.sourceforge.net/
>
> --
> 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.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/racket-users/87fsx8joum.fsf%40tethera.net
> .
>
-- 


-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CAGHj7-%2B7wGDt1xg1VzFULYAydscLFtkOp2RdEfnu7TQXvP7E8g%40mail.gmail.com.


Re: [racket-users] Moving a function into a different `place?`

2021-07-01 Thread George Neuner



On 7/1/2021 2:36 PM, David Storrs wrote:

What is the best way to pass a function into a child `place`?


1.  just define the functions in a context the place can see
2.  send the name of a local file for the recipient to dynamic-require
3.  send the definition file for the recipient to save locally and 
dynamic-require

4.  define the function(s) with serial-lambda and serialize / deserialize


I've got a server function that accepts a dispatch function as one of 
its arguments and I need to be able to run the server in a separate 
`place` (in the dynamic-place sense) because it's part of a GUI 
application. [details]


Not a problem if using /dynamic/  (thread in same process) places.
See
   https://docs.racket-lang.org/reference/places.html
https://docs.racket-lang.org/reference/places.html?q=place#%28part._places-syntax%29

I considered passing a string or symbol list and then eval'ing it in 
the child place.  I immediately rejected this idea and told my brain 
that it was being bad and it got no cookies.


You /can/ do that ... but you don't ever have to stoop to eval.

At this point my only remaining idea is to place-channel-(put/get) a 
module name that can be dynamic-required in the child place in order 
to get the dispatch function.  Is there a better way?


Depends on whether you're using /dynamic/ (same process) or 
/distributed/ (separate process) places.


With dynamic places you can (often) just provide the code for the place 
to execute.  For complicated things you may have to use 
serial-lambda/serialize/deserialize, but often you can simply provide 
the necessary functions in context.




[details]
The Racket GUI library has an issue where e.g. launching an 'Open 
File' dialog will freeze all of Racket until the user closes the 
dialog.  This can cause the server to time out. Since it's all of 
Racket that's being frozen and not just the current thread it's 
necessary to put the server code into an entirely different `place`.


And invalidating any part of the visible window does the same thing 
until the window is redrawn.



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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/cc734b4f-f59e-7536-b336-5225ba93752d%40comcast.net.


Re: [racket-users] build error on the package server for a package whose source is a simple URL (not a Git repo)

2021-07-01 Thread Matthew Flatt
The checksum doesn't go in an "info.rkt" file, but in a
"download.tar.gz.CHECKSUM" file.

More info is here:

https://docs.racket-lang.org/pkg/Package_Concepts.html#%28part._concept~3asource%29


Hope that helps,
Matthew

At Thu, 1 Jul 2021 13:14:36 -0700 (PDT), "je...@lisp.sh" wrote:
> I'm not sure if what I'm seeing is a bug or whether I'm using the package 
> system incorrectly, but here goes:
> 
> I just submitted a package to the package server whose source is a simple 
> URL. It's not a Git repo accessible via HTTPS; it's a Fossil repo, with a 
> server running that serves up a plain old tar-and-gzip'd directory. The 
> error message from the build process:
> 
> pkg: mismatched checksum on package package source: 
> https://example.com/cool-package/tarball/trunk/download.tar.gz expected: "" 
> got: "a5d851da2832c0b43f7530794987da0a080ebe6d"
> 
> The naive way to read this error message is: OK, I need to specify a 
> checksum. But there's no checksum field in the form on the package server. 
> You can specify a URL and nothing else. After some digging, I found that 
> checksums 
> can be specified in an info.rkt file, but to my mind that shouldn't be 
> necessary. My thinking is: if I just give a simple URL, the package server 
> should just download the thing, make some reasonable guess about the 
> content (in this case, it can be inferred from the media type in the 
> server's response, but barring that, calling the `file` utility will reveal 
> it's a gzip'd tar file, etc.), and we're off to the races. Am I thinking 
> about things incorrectly? Are my expectations too high? What can I do? 
> (Please don't tell me to just use Git!)
> 
> Jesse

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/20210701143542.1a2%40sirmail.smtps.cs.utah.edu.


[racket-users] build error on the package server for a package whose source is a simple URL (not a Git repo)

2021-07-01 Thread je...@lisp.sh
I'm not sure if what I'm seeing is a bug or whether I'm using the package 
system incorrectly, but here goes:

I just submitted a package to the package server whose source is a simple 
URL. It's not a Git repo accessible via HTTPS; it's a Fossil repo, with a 
server running that serves up a plain old tar-and-gzip'd directory. The 
error message from the build process:

pkg: mismatched checksum on package package source: 
https://example.com/cool-package/tarball/trunk/download.tar.gz expected: "" 
got: "a5d851da2832c0b43f7530794987da0a080ebe6d"

The naive way to read this error message is: OK, I need to specify a 
checksum. But there's no checksum field in the form on the package server. 
You can specify a URL and nothing else. After some digging, I found that 
checksums 
can be specified in an info.rkt file, but to my mind that shouldn't be 
necessary. My thinking is: if I just give a simple URL, the package server 
should just download the thing, make some reasonable guess about the 
content (in this case, it can be inferred from the media type in the 
server's response, but barring that, calling the `file` utility will reveal 
it's a gzip'd tar file, etc.), and we're off to the races. Am I thinking 
about things incorrectly? Are my expectations too high? What can I do? 
(Please don't tell me to just use Git!)

Jesse

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/7ba32102-8841-45c6-a1b3-e4bffed3ae8dn%40googlegroups.com.


Re: [racket-users] Moving a function into a different `place?`

2021-07-01 Thread Sam Tobin-Hochstadt
Ah, this must be a case where different platforms behave differently,
because I still see other threads running even with
`finder:std-get-file` on Linux.

Sam

On Thu, Jul 1, 2021 at 2:58 PM David Storrs  wrote:
>
>
>
> On Thu, Jul 1, 2021 at 2:42 PM Sam Tobin-Hochstadt  
> wrote:
>>
>> Your "only remaining idea" is what I'd recommend for telling another
>> place what function to run (that's how dynamic-place works in the
>> first place). But your [details] sounds worrying. I just tested on my
>> machine and it didn't happen for me, and I don't think it's supposed
>> to happen on other platforms either.
>
>
> *frowns*
> *goes and checks*
>
> My mistake, I misremembered the details.  It only happens if you want the 
> platform-specific version of the dialog.  If you use the Racket version it's 
> fine but then your interface doesn't match what the user is expecting.
>
> https://groups.google.com/g/racket-users/c/wexYxYYU7GE/m/3zXxn6NoAwAJ?pli=1
>
>>
>> Sam
>>
>> On Thu, Jul 1, 2021 at 2:36 PM David Storrs  wrote:
>> >
>> > What is the best way to pass a function into a child `place`?
>> >
>> > I've got a server function that accepts a dispatch function as one of its 
>> > arguments and I need to be able to run the server in a separate `place` 
>> > (in the dynamic-place sense) because it's part of a GUI application. 
>> > [details]
>> >
>> > My initial thought was to start the place and then use 
>> > place-channel-(put/get) to move the run-time argument from the main place 
>> > over into the child.  I immediately realized that doesn't work because 
>> > functions are not `place-message-allowed?` values.  Next I thought about 
>> > using a parameter, but parameters in a child place are set to their 
>> > *initial* values, not their run-time values.  (Barring a few special 
>> > cases.)
>> >
>> > I considered passing a string or symbol list and then eval'ing it in the 
>> > child place.  I immediately rejected this idea and told my brain that it 
>> > was being bad and it got no cookies.
>> >
>> > At this point my only remaining idea is to place-channel-(put/get) a 
>> > module name that can be dynamic-required in the child place in order to 
>> > get the dispatch function.  Is there a better way?
>> >
>> >
>> > [details]
>> > The Racket GUI library has an issue where e.g. launching an 'Open File' 
>> > dialog will freeze all of Racket until the user closes the dialog.  This 
>> > can cause the server to time out.  Since it's all of Racket that's being 
>> > frozen and not just the current thread it's necessary to put the server 
>> > code into an entirely different `place`.
>> >
>> > --
>> > 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.
>> > To view this discussion on the web visit 
>> > https://groups.google.com/d/msgid/racket-users/CAE8gKoemyTeoP2GW5-_h6rGxW_1YcfyCQfHSs9ee98h3pRE4mg%40mail.gmail.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.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/racket-users/CAE8gKoemg5DpdSx-iGcmu-5huM19zCtrdZXkjHHE2JhK7aGpXg%40mail.gmail.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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CAK%3DHD%2BZ5rS_a%3Dc71OHuzFkEY_Ln4HcZLfodtWYKSg_ca8YMz7g%40mail.gmail.com.


Re: [racket-users] Moving a function into a different `place?`

2021-07-01 Thread David Storrs
On Thu, Jul 1, 2021 at 2:42 PM Sam Tobin-Hochstadt 
wrote:

> Your "only remaining idea" is what I'd recommend for telling another
> place what function to run (that's how dynamic-place works in the
> first place). But your [details] sounds worrying. I just tested on my
> machine and it didn't happen for me, and I don't think it's supposed
> to happen on other platforms either.
>

*frowns*
*goes and checks*

My mistake, I misremembered the details.  It only happens if you want the
platform-specific version of the dialog.  If you use the Racket version
it's fine but then your interface doesn't match what the user is expecting.

https://groups.google.com/g/racket-users/c/wexYxYYU7GE/m/3zXxn6NoAwAJ?pli=1


> Sam
>
> On Thu, Jul 1, 2021 at 2:36 PM David Storrs 
> wrote:
> >
> > What is the best way to pass a function into a child `place`?
> >
> > I've got a server function that accepts a dispatch function as one of
> its arguments and I need to be able to run the server in a separate `place`
> (in the dynamic-place sense) because it's part of a GUI application.
> [details]
> >
> > My initial thought was to start the place and then use
> place-channel-(put/get) to move the run-time argument from the main place
> over into the child.  I immediately realized that doesn't work because
> functions are not `place-message-allowed?` values.  Next I thought about
> using a parameter, but parameters in a child place are set to their
> *initial* values, not their run-time values.  (Barring a few special cases.)
> >
> > I considered passing a string or symbol list and then eval'ing it in the
> child place.  I immediately rejected this idea and told my brain that it
> was being bad and it got no cookies.
> >
> > At this point my only remaining idea is to place-channel-(put/get) a
> module name that can be dynamic-required in the child place in order to get
> the dispatch function.  Is there a better way?
> >
> >
> > [details]
> > The Racket GUI library has an issue where e.g. launching an 'Open File'
> dialog will freeze all of Racket until the user closes the dialog.  This
> can cause the server to time out.  Since it's all of Racket that's being
> frozen and not just the current thread it's necessary to put the server
> code into an entirely different `place`.
> >
> > --
> > 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.
> > To view this discussion on the web visit
> https://groups.google.com/d/msgid/racket-users/CAE8gKoemyTeoP2GW5-_h6rGxW_1YcfyCQfHSs9ee98h3pRE4mg%40mail.gmail.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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CAE8gKoemg5DpdSx-iGcmu-5huM19zCtrdZXkjHHE2JhK7aGpXg%40mail.gmail.com.


Re: [racket-users] Moving a function into a different `place?`

2021-07-01 Thread Sam Tobin-Hochstadt
Your "only remaining idea" is what I'd recommend for telling another
place what function to run (that's how dynamic-place works in the
first place). But your [details] sounds worrying. I just tested on my
machine and it didn't happen for me, and I don't think it's supposed
to happen on other platforms either.

Sam

On Thu, Jul 1, 2021 at 2:36 PM David Storrs  wrote:
>
> What is the best way to pass a function into a child `place`?
>
> I've got a server function that accepts a dispatch function as one of its 
> arguments and I need to be able to run the server in a separate `place` (in 
> the dynamic-place sense) because it's part of a GUI application. [details]
>
> My initial thought was to start the place and then use 
> place-channel-(put/get) to move the run-time argument from the main place 
> over into the child.  I immediately realized that doesn't work because 
> functions are not `place-message-allowed?` values.  Next I thought about 
> using a parameter, but parameters in a child place are set to their *initial* 
> values, not their run-time values.  (Barring a few special cases.)
>
> I considered passing a string or symbol list and then eval'ing it in the 
> child place.  I immediately rejected this idea and told my brain that it was 
> being bad and it got no cookies.
>
> At this point my only remaining idea is to place-channel-(put/get) a module 
> name that can be dynamic-required in the child place in order to get the 
> dispatch function.  Is there a better way?
>
>
> [details]
> The Racket GUI library has an issue where e.g. launching an 'Open File' 
> dialog will freeze all of Racket until the user closes the dialog.  This can 
> cause the server to time out.  Since it's all of Racket that's being frozen 
> and not just the current thread it's necessary to put the server code into an 
> entirely different `place`.
>
> --
> 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.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/racket-users/CAE8gKoemyTeoP2GW5-_h6rGxW_1YcfyCQfHSs9ee98h3pRE4mg%40mail.gmail.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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CAK%3DHD%2BYhymxGozm2VjBcSOLE7RSXY%3DzY7gPCrHqYQVPcFJEQ6Q%40mail.gmail.com.


[racket-users] Moving a function into a different `place?`

2021-07-01 Thread David Storrs
What is the best way to pass a function into a child `place`?

I've got a server function that accepts a dispatch function as one of its
arguments and I need to be able to run the server in a separate `place` (in
the dynamic-place sense) because it's part of a GUI application. [details]

My initial thought was to start the place and then use
place-channel-(put/get) to move the run-time argument from the main place
over into the child.  I immediately realized that doesn't work because
functions are not `place-message-allowed?` values.  Next I thought about
using a parameter, but parameters in a child place are set to their
*initial* values, not their run-time values.  (Barring a few special cases.)

I considered passing a string or symbol list and then eval'ing it in the
child place.  I immediately rejected this idea and told my brain that it
was being bad and it got no cookies.

At this point my only remaining idea is to place-channel-(put/get) a module
name that can be dynamic-required in the child place in order to get the
dispatch function.  Is there a better way?


[details]
The Racket GUI library has an issue where e.g. launching an 'Open File'
dialog will freeze all of Racket until the user closes the dialog.  This
can cause the server to time out.  Since it's all of Racket that's being
frozen and not just the current thread it's necessary to put the server
code into an entirely different `place`.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CAE8gKoemyTeoP2GW5-_h6rGxW_1YcfyCQfHSs9ee98h3pRE4mg%40mail.gmail.com.


Re: [racket-users] machine and network outage at Northeastern

2021-07-01 Thread Sam Tobin-Hochstadt
Unfortunately, this has had larger impact than we expected, because a
number of places linked directly to mirror.racket-lang.org, which
normally hosts downloads. That machine will be down until July 2. In
particular, this seems to affect the setup-racket GitHub Action and
the homebrew formula for Racket.

The main download site, download.racket-lang.org, still works as
normal, and linking to that site will continue to work.

Sam

On Wed, Jun 30, 2021 at 9:11 AM  wrote:
>
>
> Northeastern has taken down its research machines and network for major 
> repairs.
> The outage will last from today June 30 through July 2. We have been reassured
> that it will come back then several times.  The most observable effect for 
> Racket
> Users is the absence of  `planet`.
>
> — Matthias
>
> --
> 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.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/racket-users/FFF48AE0-6271-4151-969D-3A825CDC9C6D%40ccs.neu.edu.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CAK%3DHD%2BaCTT2mFgJ%2Bp0-zgVvunn2vJM8rWYXvgHC82-Osd38oEg%40mail.gmail.com.