[racket-users] Re: Efficient & "nice" communication mechanism between Racket and other languages

2017-09-07 Thread Jack Firth
On Thursday, September 7, 2017 at 9:11:47 AM UTC-7, Brian Adkins wrote: > I'm considering having a group of programmers create micro-services in > various programming languages to be glued together into a single application. > I would like a communication mechanism with the following

Re: [racket-users] weak references and quoted values

2017-09-07 Thread Matthew Flatt
That's correct. Quoted values get GCed when code gets GCed, such as when you run a module to completion in a namespace and don't retain the namespace, or when a quoted value is sent to `eval` and not part of a definition. At Thu, 7 Sep 2017 17:31:26 -0700, Alexis King wrote: > My understanding is

Re: [racket-users] weak references and quoted values

2017-09-07 Thread Alexis King
My understanding is that quoted values are effectively interned, so they’ll never be garbage collected as long as the code containing the quoted expression is loaded. Here’s a program that hints at this: (define (make-quoted-value) '(1 . 2)) (eq? (make-quoted-value)

[racket-users] weak references and quoted values

2017-09-07 Thread Stephen Chang
Ran into some unexpected behavior today. Quoted values do not seem to be garbage collected when there are only weak references. Is this correct behavior? Here's an example program: #lang racket/base (define key1 (list 1)) (define key2 '(1)) (define hash1 (make-weak-hash (list (cons key1 1

Re: [racket-users] Long division algorithm in HtDP way

2017-09-07 Thread Matthias Felleisen
I couldn’t help myself. So here is 90% of what John proposed in HtDP’s ISL+ language. Exercise for the reader: fix the failing tests. #lang htdp/isl+ ;; long division ;; Trace = [cons N [cons N [Listof [List N N]]] ;; N N -> Trace ;; compute the trace for the division of x and y ;;

Re: [racket-users] Re: Racket Web servlet performance benchmarked and compared

2017-09-07 Thread Jon Zeppieri
On Thu, Sep 7, 2017 at 4:52 PM, dbohdan wrote: > > In both cases the ordering is still "single" > "many" > "places" > > "many-places". Though "many" and "places" are pretty close in the first case, > "many" consistently comes out ahead if you retest. This is really

Re: [racket-users] Long division algorithm in HtDP way

2017-09-07 Thread Matthias Felleisen
Let me support John’s email with a hint: #lang htdp/isl+ ;; long division ;; Number Number -> (cons Number (cons Number [Listof Number])) ;; compute the list of steps needed to divide x by y ;; work thru an example ;; given 5432, 12 ;; wanted [list 452 8) ... optional: (list 54 48) (list 63

Re: [racket-users] Re: Racket Web servlet performance benchmarked and compared

2017-09-07 Thread dbohdan
On Tuesday, September 5, 2017 at 12:41:04 PM UTC+3, Jay McCarthy wrote: > Is the benchmarking client core the same core as the server core? > Could that help explain why single threaded performance is best? The not-quite-yes-or-no answer is that they were limited to separate virtual cores inside

Re: [racket-users] Rackterm error

2017-09-07 Thread James
On Sep 7, 2017, at 1:53 AM, William G Hatch wrote: > On Tue, Sep 05, 2017 at 05:07:41PM -0400, James wrote: >> I'm trying out Rackterm for the purpose of running commands put together >> from a GUI but it looks like the thread is crashing as soon as I try to >> create a terminal canvas. Is it

Re: [racket-users] Efficient & "nice" communication mechanism between Racket and other languages

2017-09-07 Thread David Storrs
I haven't used ZeroMQ but I've had excellent success with protocol buffers. It's a simple way to encode whatever data you want into a binary blob that you can easily send over a TCP channel. Depending on what you're transferring you might even be able to fit it inside the MTU so that it only

[racket-users] Long division algorithm in HtDP way

2017-09-07 Thread jaroslaw . modry
Dear Racketeers! I would like to write the function divide in racket, for performing the long division, which would print the whole computational process, as the elementary school pupils do. For example, the call (divide 5432, 12) should print this: 5432 : 12 = 452 -48 -- 63 -60 --