notjack
2017-11-1 08:47:24

jimmysnielsen
2017-11-1 10:56:48

@jimmysnielsen has joined the channel


samth
2017-11-1 17:06:34

@willghatch you might be interested in https://github.com/dundalek/closh


pnwamk
2017-11-1 17:07:28

am I missing something obvious — why does TR insist that my default value for hash-ref be #f or a thunk?


samth
2017-11-1 17:09:03

@pnwamk because it’s hard to give another less-specific type


samth
2017-11-1 17:09:31

you could give a type that’s (U Boolean String Number Symbol Input-Port) or something like that


pnwamk
2017-11-1 17:11:22

I don’t follow


pnwamk
2017-11-1 17:11:32

so, this wouldn’t work? (All (K V D) (-> (HashTable K V) K D (U V D)))


samth
2017-11-1 17:12:11

Because if I instantiate D with (-> String) then it doesn’t ever return that, and does potentially return String


pnwamk
2017-11-1 17:13:29

ugh — well I don’t want to wrap my symbol in a thunk! =p


samth
2017-11-1 17:14:04

we could change the #f case to use an intersection type bounded by some big union


pnwamk
2017-11-1 17:14:08

with a negation type we could express it, right?


pnwamk
2017-11-1 17:14:23

one case for not a procedure, one for a procedure?


samth
2017-11-1 17:14:42

yes


pnwamk
2017-11-1 17:14:48

all the better!


willghatch
2017-11-1 18:58:48

@samth Thanks! It’s interesting to see other people approaching the same problem. I couldn’t find many before I started rash, but in the last month I’ve found several projects that are to some degree trying to do something similar.


stamourv
2017-11-1 19:05:18

stamourv
2017-11-1 19:05:31

By a high schooler I know.


lexi.lambda
2017-11-1 19:07:06

> In Ergonomica, as with similar functional programming languages, the only statement in the language is the if/elif/else statement. Then, immediately, the next section title: > with statement what


apg
2017-11-1 19:26:11

documentation is hard.


samth
2017-11-1 19:55:54

@notjack can you add instructions on how to run your code?


willghatch
2017-11-1 19:59:55

@stamourv Thanks also. I’ve seen that one before.


willghatch
2017-11-1 20:01:17

Actually the coolest shell project I’ve found (other than Rash, of course….) is Xonsh. It is a python-superset shell that is actually fairly stable and usable. I’m not sure how I didn’t find it before I started Rash.


notjack
2017-11-1 20:12:00

yes, though I might not have time until later this week


notjack
2017-11-1 20:12:28

I’ll make sure to add them before merging


samth
2017-11-1 20:12:34

Is there just some simple call to docker-compose?


notjack
2017-11-1 20:18:47

docker-compose build == download and run all installers, producing images with racket successfully installed


notjack
2017-11-1 20:19:07

docker-compose up == run all tests, exit 0 on all successful exit nonzero on fail or error (including OOMEs)


notjack
2017-11-1 20:19:35

docker-compose run <service-in-docker-compose.yml> == run that service, exiting with 0 on success or 1 on failure


notjack
2017-11-1 20:20:38

every “foo-test” service in the compose yml runs the same test.sh script - different test services just run using different base images (and thus different installers)


notjack
2017-11-1 20:21:42

ex: docker-compose run racket-x86-minimal-test will run the tests in a container whose racket and raco binaries were installed by building the racket-x86-minimal image


samth
2017-11-1 21:43:15

seems like I need to install non-packaged versions of docker and docker-compose


apg
2017-11-1 21:58:42

xonsh always did look interesting


notjack
2017-11-1 22:28:38

You need a recent version of docker installed. Docker for Mac and Docker for Windows are the current best ways to get docker onto those systems


samth
2017-11-1 22:29:11

Yeah, I use linux, but that doesn’t mean I get a .deb for docker-compose


samth
2017-11-1 22:29:15

:disappointed:


samth
2017-11-1 22:29:38

also, what’s the best way to try another test without re-running all the previous tests?


notjack
2017-11-1 22:30:29

I think there’s a Docker for Linux thing. Installing packages might not be the recommended way to do stuff


samth
2017-11-1 22:30:49

yeah, turns out there’s a docker-provided .deb for docker itself, but not for compose


samth
2017-11-1 22:30:57

I have it all running now, though


notjack
2017-11-1 22:31:34

You can use docker-compose run <service> <command> to override the command that would normally be run


notjack
2017-11-1 22:32:24

So I think docker-compose run racket-x86-test raco test -p some-package would do what you want, for example


notjack
2017-11-1 22:33:21

That runs just those tests instead of running the test.sh script from the CMD instruction


samth
2017-11-1 22:34:10

ok great


samth
2017-11-1 22:34:46

this is all very nice, thanks a ton!


notjack
2017-11-1 22:41:54

Glad to help, I love this sort of stuff :)


samth
2017-11-1 22:44:30

@mflatt @jeapostrophe Are raco test -l and racket -l intentionally setting current-load-relative-directory differently?


samth
2017-11-1 22:45:01

To see the difference, try raco test -l tests/htdp-lang/test-htdp and the same with racket -l (the latter will fail with an unknown path)


notjack
2017-11-1 22:53:24

By the way, would you happen to know why the db tests consume over a gigabyte of memory?


samth
2017-11-1 22:54:06

no, I was going to look into that


mflatt
2017-11-1 23:01:08

Unlike racket, raco test sets the current directory to the file’s directory for testing, as documented. I don’t think either will have current-load-relative-directory set after the module declaration is loaded. Probably the directory-changing behavior in raco test should have been specific to the --drdr flag, though, since it seems to have been added as part of the --drdr addition.


samth
2017-11-1 23:08:26

@mflatt thanks, I had missed that in the docs


tianjun.cpp
2017-11-2 01:34:12

@tianjun.cpp has joined the channel