mflatt
2019-5-3 14:47:14

All string representations include a NUL terminator. If there’s a NUL in the middle of a Racket string, then a foreign callee that expects a terminator will interpret the middle NUL as a terminator.


mflatt
2019-5-3 14:49:41

I’ll update the docs


alexknauth
2019-5-3 14:55:40

One rationale for separating tests is that the tests can rely on packages that the implementation doesn’t need. For example sweet-exp-lib doesn’t need to depend on lazy or typed-racket-lib. But to test sweet-exp, we wanted to use #lang sweet-exp lazy and #lang sweet-exp typed/racket.

There would be a similar rationale for something like scribble-code-examples. That package is meant to be used to render scribble docs for non-s-expression languages. So to test it, I want to run it on lots of non-s-expression languages, which it would have to depend on as packages. However, the -lib version shouldn’t need all that.


alexknauth
2019-5-3 14:57:33

Though you do have a point with submodules. Maybe a good strategy is to have easy unit tests (things that require your library and rackunit-lib, nothing more) in test submodules in the -lib package, and only have more complex tests that might use other packages and other languages in the -test package.


ryanc
2019-5-3 14:58:30

I tend to write external tests instead of test submodules, so I generally put the test subdir in the main package. But putting them in the lib package seems fine too, as long as the dependencies are minimal (as Alex just said).


samth
2019-5-3 15:07:04

In traditional Racket, the best way to determine future safety is using the log messages that futures provide.


lexi.lambda
2019-5-3 15:07:21

Thanks, for both those things!


samth
2019-5-3 15:35:30

Unfortunately, the future logging infrastructure is not yet in place for RacketCS. However, you can see that some operations that block in traditional Racket do not block in RacketCS. Consider this interaction: [samth@huor:/tmp plt] PLTSTDERR=debug@future racketcs Welcome to Racket v7.2.0.12 [cs]. > (define v (vector 1 2 3)) > (define b #t) > (define t (future (lambda () (for/hash ([i v]) (values i i)) (set! b 'done)))) > b 'done > (touch t) > b 'done


samth
2019-5-3 15:36:21

On traditional Racket you get this instead, because futures block on hash operations: [samth@huor:/tmp plt] racket Welcome to Racket v7.3.0.1. > (define v (vector 1 2 3)) > (define b #t) > (define t (future (lambda () (for/hash ([i v]) (values i i)) (set! b 'done)))) > b #t > (touch t) > b 'done


soegaard2
2019-5-3 19:03:40

Is the new one that fails, and the other one an older that shows a succeeding log?


greg
2019-5-3 19:26:41

I’m in the process of adding Gmail to the same deprecation list as my old Yahoo and Hotmail and Xxx accounts. I want to subscribe to racket-{users dev money} lists with a new, (non-google) email address. Is this possible to do without creating Yet Another Google Account using the new non-google email address?

Some things indicate that emailing to [Group Name]+subscribe@googlegroups.com would work. OTOH other things imply Google @#$%-canned that awhile ago.

I guess I can just go ahead and try, but thought I’d ask in case anyone else knows.


sorawee
2019-5-3 19:52:23

I just uploaded my first package! https://docs.racket-lang.org/loop/index.html

@soegaard2 told me that loop is not an ideal name because people have already claimed this name (http://www.ccs.neu.edu/home/shivers/papers/loop.pdf). On the other hand, I want a relatively short name. Does anyone have a suggestion?


notjack
2019-5-3 20:06:16

I don’t think package splitting is a good thing to do. With the submodule and phase systems, we can accurately track which parts of a package depend on what other packages and at which phase(s). Duplicating that information by mechanically splitting packages is busywork that’s difficult to maintain.


greg
2019-5-3 21:17:19

Well “it worked” in the sense that it replied, asking me to confirm with a reply email. It says I’ve “joined”. It remains to be seen if I’ll actually receive emails (no traffic on racket-users yet), and, if it will let me send emails.


cyclotron1992
2019-5-3 21:35:43

@cyclotron1992 has joined the channel


githree
2019-5-3 21:51:06

abbyrjones72
2019-5-4 00:14:53

hi everyone :slightly_smiling_face:, I took a break after starting a new job


abbyrjones72
2019-5-4 00:15:38

I also found a copy of How to Design Programs Second Edition for .99 at Goodwill. Score!


bill_temps
2019-5-4 00:16:02

@abbyrjones72 Welcome back!


abbyrjones72
2019-5-4 00:16:12

hi Bill!


greg
2019-5-4 02:04:03

Oh cool. Good to know.


greg
2019-5-4 02:05:52

I actually had a little wave of nostalgia, it’s been awhile since I sent a subscribe email to a listserve. :older_man:


jesse
2019-5-4 03:58:34

99 cents! that’s a steal


jesse
2019-5-4 05:02:14

@mbutterick https://docs.racket-lang.org/brag/ gives a 404


jesse
2019-5-4 05:02:38

is that due to the failssucceeds problem?