[racket-users] SQL DB tooling

2019-03-22 Thread Aidan Gauland
I see that Racket has a couple of nice libraries for talking to SQL databases and , but I have been unable to find any equivalent to the so-called "migrations" capability of DB libraries from other languages (see

Re: [racket-users] Re: Pretty display of tabular data?

2019-03-22 Thread travis . hinkelman
I just came across a post on tabular data structures in R, Python, and SQL. The post is written has a friendly intro to the subject, which the author claims is a gap that needs filling. Thus, the post might not contain much information that is new

Re: [racket-users] Generics: delegate to a parent

2019-03-22 Thread Matthew Butterick
> On Mar 21, 2019, at 9:55 AM, Kees-Jochem Wehrmeijer wrote: > > It does? That sounds interesting. Do you have an example of that, or could > you point me to some docs? I thought object methods were called with send or > send-generic. Yes, you can attach generic interfaces to classes.

Re: [racket-users] Error handling for the GUI

2019-03-22 Thread Alex Harsanyi
On Saturday, March 23, 2019 at 5:17:22 AM UTC+8, James Platt wrote: > > Well, I might make some kind of compromise. What I don't want to allow is > the possibility of the user experience being "I click on the button and > nothing happens." You can wrap each button callback with a

Re: [racket-users] Error handling for the GUI

2019-03-22 Thread James Platt
Well, I might make some kind of compromise. What I don't want to allow is the possibility of the user experience being "I click on the button and nothing happens." Next worst is to display a raw error message which the user can only interpret by cutting and pasting it into a web search. So

Re: [racket-users] Thread safe operations and shared memory

2019-03-22 Thread Matthew Flatt
At Fri, 22 Mar 2019 12:13:13 -0700 (PDT), zeRusski wrote: > So, the `foo-struct-set!` would be atomic, but (hash-set! > (foo-struct-field-with-table foo) key value) would not (assuming a mutable > hash-table value there), correct? Hash tables can be safely updated by `hash-set!` even when they

Re: [racket-users] Thread safe operations and shared memory

2019-03-22 Thread Matthew Flatt
At Fri, 22 Mar 2019 08:21:15 -0400, George Neuner wrote: > At present, any update (set!) of a box, an mcons, or a struct field is > atomic WRT threads - the *current* Racket virtual machine will not > permit a thread switch while these things are happening.  Going forward > things might change

[racket-users] Error handling for the GUI

2019-03-22 Thread James Platt
I'm working on displaying informative error messages in a GUI and I have been finding that many of the things I need to handle are contract violations in downstream functions. The thing is that it seems like there ought to be a better way than the methods I can think of. It's very simple to

Re: [racket-users] Thread safe operations and shared memory

2019-03-22 Thread zeRusski
Thank you George for thorough explanation. (set!) of a box, an mcons, or a *struct field* is atomic WRT threads So, the `foo-struct-set!` would be atomic, but (hash-set! (foo-struct-field-with-table foo) key value) would not (assuming a mutable hash-table value there), correct? -- You

Re: [racket-users] Thread safe operations and shared memory

2019-03-22 Thread Greg Hendershott
I think this is a pretty good overview of the "stock" choices: https://docs.racket-lang.org/guide/concurrency.html On Fri, Mar 22, 2019 at 8:21 AM George Neuner wrote: > Message passing avoids most share locking issues, so it is better to > implement that way when possible. I agree. Usually

Re: [racket-users] color-maps for the plot package

2019-03-22 Thread Jens Axel Søgaard
Looks great. Den tor. 21. mar. 2019 kl. 14.01 skrev Alex Harsanyi : > > I created a pull request for items (1) and (2), illustrating the changes > that I propose, you can find it here: > > https://github.com/racket/plot/pull/52 > > Alex. > > On Wednesday, March 20, 2019 at 12:17:47 PM UTC+8,

Re: [racket-users] Thread safe operations and shared memory

2019-03-22 Thread George Neuner
On 3/22/2019 7:01 AM, zeRusski wrote: Racket documentation doesn't tell much on the subject. The only two things I've found are *box-cas! *and this passage from Evaluation Model that to me remains a bit cryptic. Threads are created explicitly by functions such as thread . In

[racket-users] Thread safe operations and shared memory

2019-03-22 Thread zeRusski
Racket documentation doesn't tell much on the subject. The only two things I've found are *box-cas! *and this passage from Evaluation Model that to me remains a bit cryptic. Threads are created explicitly by functions such as thread > . > > In terms of the evaluation model, each step in

Re: [racket-users] Generics: delegate to a parent

2019-03-22 Thread zeRusski
> > object system (which also cooperates with generics) TBH I've been avoiding Racket object system since my needs are typically limited and don't call for full blown OOP. I only casually looked at what its capable of, I guess may need to revisit. I was rather hoping for something as simple