[racket-users] Help with vector-sort

2020-02-15 Thread greadey
Hi there, I have written a programme to compute a bootstrapped mean etc. I successfully wrote it using lists both untyped and in typed/racket. I am interested in optimising the code and having seen that typed racket performs faster (for lists) I am interested in seeing if I get a performance

Re: [racket-users] Help with vector-sort

2020-02-15 Thread Jens Axel Søgaard
Den lør. 15. feb. 2020 kl. 13.44 skrev greadey : > I have written a programme to compute a bootstrapped mean etc. I > successfully wrote it using lists both untyped and in typed/racket. > I am interested in optimising the code and having seen that typed racket > performs faster (for lists) I am

Re: [racket-users] How to convert String to Integer

2020-02-15 Thread 'John Clements' via Racket Users
Did anyone suggest this code to you? Apologies if I’m re-treading an old conversation. #lang typed/racket (: string2value (-> String Integer)) (define (string2value str) (define maybe-integer (string->number str)) (cond [(exact-integer? maybe-integer) maybe-integer] [else (error

Re: [racket-users] Web server + authentication

2020-02-15 Thread 'John Clements' via Racket Users
Wait, we *all* have postmark libraries? Sigh. John > On Jan 23, 2020, at 16:29, Jens Axel Søgaard wrote: > > Den tor. 23. jan. 2020 kl. 01.47 skrev Matthew Butterick : > I concur on Postmark. For 2+ yrs I've used it with the Racket web server for > mbtype.com. I pass the server settings to

Re: [racket-users] cast on mutable hash table...

2020-02-15 Thread Philip McGrath
On Sat, Feb 15, 2020 at 1:23 PM 'John Clements' via users-redirect < us...@plt-scheme.org> wrote: > Yes, absolutely. One reason that students in my class wind up using cast > quite frequently in their parsers is that they use patterns like (list (? > symbol s) …) which (as I recall) expand into

Re: [racket-users] cast on mutable hash table...

2020-02-15 Thread 'John Clements' via users-redirect
Yes, I’ll add this. It slightly increases the pain density, especially since I think students likely to mistakenly write (list (? symbol? #{s : Symbol}) …) instead of the correct (list (? symbol? #{s : (Listof Symbol)}) …) … but it’s probably better than having to cast. Thanks! John > On

Re: [racket-users] cast on mutable hash table...

2020-02-15 Thread 'John Clements' via users-redirect
Yes, absolutely. One reason that students in my class wind up using cast quite frequently in their parsers is that they use patterns like (list (? symbol s) …) which (as I recall) expand into unannotated lambda’s, and always require a cast. I write that up here:

Re: [racket-users] How to convert String to Integer

2020-02-15 Thread 'John Clements' via Racket Users
?? > (string2value "-1234") - : Integer -28766 > (string2value "abcd") - : Integer 54562 > Is this your desired behavior? > On Feb 12, 2020, at 16:43, Alain De Vos wrote: > > I came to the following result as conversion function : > > #lang typed/racket > (: string2value (-> String

Re: [racket-users] Rolling dice game

2020-02-15 Thread 'John Clements' via Racket Users
Have you taken a look at How To Design Programs? At the end of section one, you should have what you need to build these games and others like them: https://htdp.org/2019-02-24/part_one.html John Clements > On Feb 3, 2020, at 03:31, Wilzoo wrote: > > Hi guys, so I am working on rolling dice

Re: [racket-users] resources for learning JS / React?

2020-02-15 Thread 'John Clements' via Racket Users
Belatedly: awesome, many thanks! John > On Jan 27, 2020, at 02:39, Sean Kemplay wrote: > > > This is a good (free) course that takes you the lates best practices of JS > (getting more functional), react and then react native. > >

[racket-users] Re: Questions on a very simple class

2020-02-15 Thread Alain De Vos
For the record, this worked: #lang typed/racket (require typed/racket/class) (define aninteger% (class object% (super-new) (init-field [x : Integer 0]) (: getxinternal Integer) (define getxinternal x) (: getx (-> Integer)) (define/public (getx) getxinternal)))

Re: [racket-users] Questions on a very simple class

2020-02-15 Thread Alain De Vos
When i try typed/racket : #lang typed/racket (define (integerclass x) (define (getx) x) (define (setx! [x_new : Integer]) (set! x x_new)) (define (add [y : integerclass]) : integerclass (integerclass (+ 1 (y 'getx (lambda (message . args) (case message ((getx) (apply

[racket-users] Questions on a very simple class

2020-02-15 Thread Alain De Vos
Following code makes an "integerclass" with an "add" method : #lang racket (define (integerclass x) (define (getx) x) (define (setx! x_new) (set! x x_new)) (define (add y)(integerclass (+ x (y 'getx (lambda (message . args) (case message ((getx) (apply getx

Re: [racket-users] Questions on a very simple class

2020-02-15 Thread Sage Gerard
1. If the intention is to create a class, then I'd use the class form. https://docs.racket-lang.org/reference/createclass.html#%28form._%28%28lib._racket%2Fprivate%2Fclass-internal..rkt%29._class%2A%29%29 Not that there's anything overtly wrong with using a closure, but common validation tasks