Re: [racket-users] executables

2020-11-24 Thread George Neuner
On 11/24/2020 7:34 PM, Tim Meehan wrote: Some Schemes allow you to compile to a (self-hosting?) executable (Chicken {via C}, Chez, Racket, others?). Some do not (Guile, others?), but compile to bytecode. Why would a group of developers choose one over the other? Or is the end result not

[racket-users] executables

2020-11-24 Thread Tim Meehan
Some Schemes allow you to compile to a (self-hosting?) executable (Chicken {via C}, Chez, Racket, others?). Some do not (Guile, others?), but compile to bytecode. Why would a group of developers choose one over the other? Or is the end result not that different in either case? Is there a

[racket-users] Download the tsuro implementation from the paper

2020-11-24 Thread Nate Griswold
Hello. I've looked through the paper a couple of times and I don't see a link to download the tsuro prototype. Is this code available somewhere? Nate -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop

Re: [racket-users] Linear algebra performance (was: calculations with arrays)

2020-11-24 Thread Bertrand Augereau
> > I believe game libraries in C also implement their own 3x3 matrices rather > than using BLAS/LAPACK. BLAS can handle very large matrices and > makes an effort to give good results even for ill-conditioned matrices. > They sure do. Generally as 4x4 or implicit homogeneous 4x3 matrices to help

Re: [racket-users] snappier place startup time

2020-11-24 Thread Sam Tobin-Hochstadt
Here's an in-progress PR: https://github.com/racket/racket/pull/3518 With this, your simple test takes about 150ms with `racket/place` and 50ms with `racket/place/dynamic`. For comparison, just having the submodule depend on `racket/base` gives a time of about 42 ms, and just `racket/kernel` is

Re: [SPAM] Re: [racket-users] snappier place startup time

2020-11-24 Thread Robby Findler
On Tue, Nov 24, 2020 at 12:09 PM Nathaniel W Griswold wrote: > racket/fixnum, racket/flonum, and racket/vector are needed by > “private/th-place.rkt”, which is required by racket/place. Not sure why > DrRacket is saying that it’s not needed. > > Ah, sorry: DrRacket was merely saying that the

Re: [racket-users] snappier place startup time

2020-11-24 Thread Sam Tobin-Hochstadt
th-place is used if places are not enabled when Racket is built (this is the default on some platforms). I'm making progress on shrinking this, hopefully I'll have a patch done soon. One thing to note is that '#%place can be required directly and will have almost no start-up cost. Sam Sam On

Re: [racket-users] snappier place startup time

2020-11-24 Thread Nathaniel W Griswold
I noticed i am using the pl- functions so I replaced th-place.rkt with a stub and saw more time shaved off, this time about 15ms for each racket/place import. Under what circumstances is th-place used instead of '#%place and needed? Nate > On Nov 24, 2020, at 12:31 PM, Nathaniel W Griswold >

Re: [racket-users] snappier place startup time

2020-11-24 Thread Nathaniel W Griswold
I seem to remember there being some global namespace. Since every reasonable place will require racket/place, might it be possible to make the racket/place import a special case and stick it in the global space, to improve place setup time? It would be nice to be able to only set up

Re: [racket-users] snappier place startup time

2020-11-24 Thread Nathaniel W Griswold
Actually, it cuts about 20-25ms off of a single import. Down from 185ms to 165ms for me. 50ms off my startup time of my app on average, since i basically stack the import twice and sync on the place being ready. Might be worth including and seeing if there’s anything else that can be shaved

Re: [racket-users] snappier place startup time

2020-11-24 Thread Nathaniel W Griswold
I checked into it a bit. racket/fixnum, racket/flonum, and racket/vector are needed by “private/th-place.rkt”, which is required by racket/place. Not sure why DrRacket is saying that it’s not needed. racket/runtime-path does not appear to be needed. I tried removing racket/runtime-path and

Re: [racket-users] Linear algebra performance (was: calculations with arrays)

2020-11-24 Thread Jens Axel Søgaard
Den tir. 24. nov. 2020 kl. 15.12 skrev Dominik Pantůček < dominik.pantu...@trustica.cz>: > Hello, > > > If you are after numerical calculations for mxn matrices, then look at > > `flomat` > > which uses the same underlying C/Fortran library that NumPy uses. > > > >

Re: [racket-users] snappier place startup time

2020-11-24 Thread Robby Findler
I didn't check to see if removing those has a significant performance effect, but the remaining requires seem pretty minimal. Robby On Tue, Nov 24, 2020 at 10:26 AM 'Nathaniel W Griswold' via Racket Users < racket-users@googlegroups.com> wrote: > Cool. If this is indeed the case it might be

Re: [racket-users] snappier place startup time

2020-11-24 Thread 'Nathaniel W Griswold' via Racket Users
Cool. If this is indeed the case it might be nice for someone (maybe me) to cut it down, since any nontrivial place will of course require racket/place and that is kind of a long time. Nate > On Nov 24, 2020, at 9:52 AM, Robby Findler wrote: > > DrRacket thinks that there are no references

Re: [racket-users] Messages going to spam?

2020-11-24 Thread Nate Griswold
Hm, ok. It looks like the messages still aren't going through It might be since i unadded and readded myself at one point. I just sent another so that might be approvable. Nate On Tue, Nov 24, 2020 at 9:48 AM Robby Findler wrote: > I might have approved one (and when I did I also marked the

Re: [racket-users] snappier place startup time

2020-11-24 Thread Robby Findler
DrRacket thinks that there are no references to a number of the requires in racket/place, including racket/fixnum, racket/flonum, racket/vector, and racket/runtime-path. Not sure if that's an error on DrRacket's part (and I don't see why those would be needed for their effects). Also, the only

Re: [racket-users] Messages going to spam?

2020-11-24 Thread Robby Findler
I might have approved one (and when I did I also marked the email address is came from as always allowed to post so hopefully it won't happen again). Robby On Tue, Nov 24, 2020 at 9:16 AM Nate Griswold wrote: > Thanks, Sam. That is what i wanted. > > Is there any way to allow all messages

Re: [racket-users] hash-ref in typed Racket

2020-11-24 Thread Tim Jervis
Wouldn’t that possibility then have to be part of the type for the values in the hash? Maybe I don’t understand how types work for hashes. In this code: #lang typed/racket (define h : (Immutable-HashTable Integer (-> String)) (make-immutable-hash)) (hash-ref h 2 (thunk

Re: [racket-users] Messages going to spam?

2020-11-24 Thread Nate Griswold
Thanks, Sam. That is what i wanted. Is there any way to allow all messages from that account from now on? Nate On Tue, Nov 24, 2020 at 9:08 AM Sam Tobin-Hochstadt wrote: > Yes, those messages have been going to spam. I didn't approve them > separately since I just saw the notification and

[racket-users] Messages going to spam?

2020-11-24 Thread Nate Griswold
No rush but can an admin for the list check if my messages from my other email are being flagged suspicious? The other email is nate@manicmind.earth. I don't want to use my gmail account. Sorry if there is a better place to ask this. Nate -- You received this message because you are subscribed

Re: [racket-users] snappier place startup time

2020-11-24 Thread Nate Griswold
Oh, interesting. So compilation breaks the submodule out from the modules if possible? So anyway, it sounds like breaking my modules out into separate files will improve performance in most cases. Unfortunately, i need racket/place in the module that is my startup bottleneck. If i modify the

Re: [racket-users] snappier place startup time

2020-11-24 Thread Matthew Flatt
Just to elaborate a little more: The difference is because the `test` submodule can be loaded independently from the compiled form. Loading the submodule from source requires loading the enclosing module, too (which depends on `racket/place` and more). At Tue, 24 Nov 2020 08:46:12 -0600, Nate

Re: [racket-users] snappier place startup time

2020-11-24 Thread Nate Griswold
Awesome, thanks! Nate On Tue, Nov 24, 2020 at 8:44 AM Sam Tobin-Hochstadt wrote: > Almost certainly the problem is expansion time. If I run that program > on my machine, it takes about 200 ms. But if I compile the file to zo > first with `raco make`, then it takes about 40 ms, basically

Re: [racket-users] hash-ref in typed Racket

2020-11-24 Thread Sam Tobin-Hochstadt
Unfortunately, that doesn't work -- the values in the hash could include functions. Sam On Tue, Nov 24, 2020 at 7:25 AM Tim Jervis wrote: > > For the type of the third argument, rather than "any non-function", could > Typed Racket use the type of the values in the hash? > > On Tuesday, 21

Re: [racket-users] snappier place startup time

2020-11-24 Thread Sam Tobin-Hochstadt
Almost certainly the problem is expansion time. If I run that program on my machine, it takes about 200 ms. But if I compile the file to zo first with `raco make`, then it takes about 40 ms, basically identical to `racket/base`. Sam On Tue, Nov 24, 2020 at 9:39 AM Nate Griswold wrote: > > Oops,

Re: [racket-users] snappier place startup time

2020-11-24 Thread 'Nathaniel W Griswold' via Racket Users
Thank you, Matthew. The following code takes around 250ms on my machine. Any idea why? I was expecting it to be fast since the module is based on racket/base. #lang racket/base (require syntax/location) (require racket/place) (module test racket/base (provide place-main) racket (define

Re: [racket-users] snappier place startup time

2020-11-24 Thread Nate Griswold
Oops, i am having some issues with not getting to the list from my other email address. Here is a reply i sent for the record. --- Thank you, Matthew. The following code takes around 250ms on my machine. Any idea why? I was expecting it to be fast since the module is based on racket/base.

Re: [racket-users] snappier place startup time

2020-11-24 Thread Matthew Flatt
The bottleneck for place startup is loading modules into the new place, including modules like `racket/base`. For example, (place-wait (dynamic-place 'racket 'void)) takes around 200ms on my machine, while (place-wait (dynamic-place 'racket/base 'void)) takes around 30ms and

[racket-users] Linear algebra performance (was: calculations with arrays)

2020-11-24 Thread Dominik Pantůček
Hello, > > If you are after numerical calculations for mxn matrices, then look at > `flomat` > which uses the same underlying C/Fortran library that NumPy uses. > > https://docs.racket-lang.org/manual-flomat/index.html > > If you need rrays with more dimensions than 2 use `math/array`. > > If

Re: [racket-users] hash-ref in typed Racket

2020-11-24 Thread Tim Jervis
For the type of the third argument, rather than "any non-function", could Typed Racket use the type of the values in the hash? On Tuesday, 21 April 2020 at 15:51:00 UTC+1 Sam Tobin-Hochstadt wrote: > The problem here is with the optional third argument to `hash-ref`. > Typed Racket only allows

[racket-users] Re: Pict and pict types

2020-11-24 Thread Alex Harsanyi
This is a known issue: plot-pict does not return a typed/pict type · Issue #15 · racket/plot (github.com) Alex. On Tuesday, November 24, 2020 at 7:24:17 PM UTC+8 tim wrote: > Hi everyone, > > In typed racket, vc-append expects arguments of type

[racket-users] Pict and pict types

2020-11-24 Thread Tim Jervis
Hi everyone, In typed racket, vc-append expects arguments of type pict, while plot-pict produces results of type Pict. Therefore, to have vc-append accept a plot-pict argument, I’m currently casting the result of plot-pict to be of type pict. >From my understanding of the underlying racket

Re: [racket-users] Apple M1

2020-11-24 Thread Paulo Matos
Zachary Rippas writes: > Does anyone know when/if a download version of racket will be released that > supports Apple's new chip? I am using an M1 laptop and can't launch any > intel version of racket; it says quit unexpectedly. We hope the support for this to be imminent. As far as I

Re: [racket-users] Questions

2020-11-24 Thread Nate Griswold
Please ignore that last sentence. Nate On Tue, Nov 24, 2020 at 4:59 AM Nate Griswold wrote: > Very helpful. > > I have modified my code to use callbacks and everything is working as > expected. It is interesting that everything was working fine with my > racket_apply and racket_eval hacks, as

[racket-users] Re: snappier place startup time

2020-11-24 Thread Nate Griswold
Oh, and i'm still on Racket 7.8. Don't know if 7.9 addresses anything. Nate On Tue, Nov 24, 2020 at 5:04 AM Nate Griswold wrote: > Is there any way to make places startup faster? Even if i do an explicit > round trip using place-channel-put and place-channel-get on both sides, it > takes on

[racket-users] snappier place startup time

2020-11-24 Thread Nate Griswold
Is there any way to make places startup faster? Even if i do an explicit round trip using place-channel-put and place-channel-get on both sides, it takes on the order of centiseconds for near empty places to start up. My program requires the threads for a couple places to be set up before it can

Re: [racket-users] Questions

2020-11-24 Thread Nate Griswold
Very helpful. I have modified my code to use callbacks and everything is working as expected. It is interesting that everything was working fine with my racket_apply and racket_eval hacks, as well. I have gotten my communication with racket down to one put and one get closure, wrapping a call to

Re: [racket-users] Apple M1

2020-11-24 Thread Andrew Gwozdziewycz
Have you tried running it under Rosetta 2? $ arch -x86_64 racket # or do $ arch -x86_64 zsh # now all commands will run under Rosetta 2 Or so I believe from seeing people with similar problems, with other software. I have not tested this, and do. Not have an M1 Mac. And, I have no idea how to