soegaard2
2021-3-2 10:26:02

It certainly is reasonable - it’s just surprising, when you see it for the first time :slightly_smiling_face:


spdegabrielle
2021-3-2 12:49:30

pocmatos
2021-3-2 13:10:53

phew - catching up - sorted now. Thanks for the ping.


laurent.orseau
2021-3-2 13:17:05

How does one start DrRacket on MacOS and Windows? (please provide precise instructions, think first time user)


laurent.orseau
2021-3-2 14:31:17

New wiki page for new users who were told to install Racket to try out a file or a package: https://github.com/racket/racket/wiki/Installing-Racket-and-trying-out-a-package-or-a-file In need of some love, please update if you know what to say!


laurent.orseau
2021-3-2 14:31:27

@gknauth


hazel
2021-3-2 15:13:23

what’s today?


samth
2021-3-2 15:17:15

texas independence day, i think


spdegabrielle
2021-3-2 15:17:18

I think a few of the core team used to be based in texas back in the 90’s.


charles.threlkeld
2021-3-2 15:32:43

@charles.threlkeld has joined the channel


samth
2021-3-2 15:53:44

@pocmatos how do your binaryen bindings relate to @popa.bogdanp’s wasm tools?


pocmatos
2021-3-2 16:02:49

They are independent.


pocmatos
2021-3-2 16:03:04

@popa.bogdanp is trying to develop wasm tools natively in Racket.


philip.mcgrath
2021-3-2 16:03:18

What’s the best way to submit a tiny patch to Chez Scheme that applies both upstream and to the Racket fork? (But where I care more about Racket.) Should I make a PR to <http://github.com/cisco/ChezScheme\|github.com/cisco/ChezScheme>, <http://github.com/racket/ChezScheme\|github.com/racket/ChezScheme>, <http://github.com/racket/racket\|github.com/racket/racket> … or maybe more than one?


pocmatos
2021-3-2 16:03:36

Probably should start a thread…


pocmatos
2021-3-2 16:03:46

They are independent.


pocmatos
2021-3-2 16:03:56

@popa.bogdanp is developing wasm tools natively in racket.


samth
2021-3-2 16:04:38

I recommend first doing a PR for racket/racket, and then after that’s merged, submitting to cisco/ChezScheme.


pocmatos
2021-3-2 16:04:40

However, due to my work on some Wasm proposals, I had to understand the code of binaryen in-depth and while I was at it, I decided to create these bindings.


samth
2021-3-2 16:04:56

racket/ChezScheme is mostly maintained automatically from racket/racket


pocmatos
2021-3-2 16:05:14

Binaryen is very mature and actively developed by some of the Wasm founders, who are currently at Google.


pocmatos
2021-3-2 16:05:58

Binaryen is first and foremost an optimizer tool but the API that I wrapped allows you to create wasm on the fly and then use the optimizer to improve on that.


philip.mcgrath
2021-3-2 16:05:59

Thanks!


samth
2021-3-2 16:07:19

so, you could do what you did probably with Bogdan’s code, but you wanted to learn Binaryen, and there are things that only Binaryen can do right now?


pocmatos
2021-3-2 16:07:31

I noticed for example that the GC proposal is implemented in Binaryen but not in the API yet. I meet the Wasm google team weekly and therefore have a close relation with binaryen development which helps further development of racket-binaryen. So for example, I told Alon yesterday about the missing GC parts in the API and he promised me that if it’s important for the racket bindings, he would add those.


pocmatos
2021-3-2 16:08:01

The API tends to lag a tiny bit compared to the offered features but it’s really good and a very straightforward way of creating wasm from racket.


samth
2021-3-2 16:08:02

nice


samth
2021-3-2 16:08:07

Alon is a cool guy


pocmatos
2021-3-2 16:08:16

I think @popa.bogdanp here took the purist view and therefore, also probably the hard path. :slightly_smiling_face:


samth
2021-3-2 16:08:54

well, I’m excited to have lots of people interested in the web platform in Racket


pocmatos
2021-3-2 16:09:23

I think at the moment bogdans tools are missing quite a bit of stuff.


pocmatos
2021-3-2 16:09:40

For example, there’s apparently no way to read / write wasm in text format.


philip.mcgrath
2021-3-2 16:09:40

Yes, this looks very cool: definitely want to check it out more.


pocmatos
2021-3-2 16:09:55

Also, it doesn’t contain any optimizer.


pocmatos
2021-3-2 16:10:06

And as far as I understand it’s for the wasm mvp only.


pocmatos
2021-3-2 16:10:30

Binaryen is atm the most complete implementation of webassembly including proposals that are not yet implemented in the browsers.


pocmatos
2021-3-2 16:11:33

Things like tuples, reference types, GC, multiple memories etc. These are all extensions to wasm mvp that are implemented in binaryen and are obviously really useful if you want to do something like racket->wasm.


pocmatos
2021-3-2 16:11:57

these extensions are called proposals in wasm land. Unsure how much you’re following discussions.



pocmatos
2021-3-2 16:17:08

My daytime job atm is to further the GC proposal and implement it in the LLVM WebAssembly backend. This involves many other things like implementing all the dependent proposals as well since GC depends on a bunch of stuff like reference types, function references, etc. There is a large debate on what sort of type system should be designed around the gc proposal. Given that binaryen is the only implementation that went ahead and implemented a prototypical type system for gc and type canonicalization, I used my exploration into binaryen as an excuse to implement the bindings.


samth
2021-3-2 16:17:34

exciting


pocmatos
2021-3-2 16:17:40

However, I don’t want the bindings to be solely experimental. I want to stabilize them and have safe wrappers around them.


samth
2021-3-2 16:17:58

i have found it hard to tell what the actual status of various proposals are


samth
2021-3-2 16:18:36

as in, some of them seem to be very heavily in flux, but also implemented in some places, or described as happening in the near term


pocmatos
2021-3-2 16:19:02

right - those in stage 4 are the easy ones.


pocmatos
2021-3-2 16:19:08

A lot of the others are in flux.


pocmatos
2021-3-2 16:19:28

Mainly because people start to see that sometimes a proposal can be split into multiple ones.


pocmatos
2021-3-2 16:20:20

So some split. Others like GC are the big focus because they involve a big amount of theoretical background and there are been lots of academic discussion around them.


pocmatos
2021-3-2 16:21:27

A lot of this is currently above brain capacity but this because discussions surrouding the proposals related to GC have taken so long, some implementations like v8 and binaryen have implemented them as prototypes.


pocmatos
2021-3-2 16:21:53

although v8 doesn’t implement type canonicalization. The wasm operation rtt.canon.


pocmatos
2021-3-2 16:22:38

Hopefully Igalia will make a dent here this year as we have a very motivated client and very good engineers working on this.


samth
2021-3-2 16:24:14

yeah, GC seems like the big one. I always look and it seems like people act like it’s almost here but then I look more and it seems like there are big open questions about whether it will work at all but then it’s also implemented and thus I’m left confused


laurent.orseau
2021-3-2 19:40:59

Anyone on MacOS or on Windows can give me the sequence of actions required to open DrRacket after it has been installed?

For example, on Windows 10, is the simplest thing to do to click on the Windows menu then type drracket and press enter?


capfredf
2021-3-2 19:45:54

On Mac, I would 1. open spotlight or other launchers 2. type drracket


capfredf
2021-3-2 19:46:24

or racket -l drracket at the command line


laurent.orseau
2021-3-2 19:47:02

Great, thanks!


ben.knoble
2021-3-2 19:49:59

For a Mac without launchers (I use Alfred, but many users have no idea these things exist!), I would probably try Finder > search > http://DrRacket.app\|DrRacket.app or Launchpad > Find http://DrRacket.app\|DrRacket.app > launch


laurent.orseau
2021-3-2 19:51:15

It’s kind of funny that there’s no simple standard way to do it :confused:


roman.funk66
2021-3-2 19:51:25

@roman.funk66 has joined the channel


laurent.orseau
2021-3-2 19:52:01

So spotlight is not by default on MacOS then?


ben.knoble
2021-3-2 19:52:05

yeah; most graphical users would probably try launchpad/finder if they don’t use spotlight. Funny in the “sigh, how ironic” kind of way :wink:


capfredf
2021-3-2 19:52:06

spotlight and search in Finder are basically the same thing


ben.knoble
2021-3-2 19:52:18

no spotlight is builtin (default Cmd+space)


ben.knoble
2021-3-2 19:52:32

but half my Mac-using friends don’t use it/know it exists?


laurent.orseau
2021-3-2 19:53:32

I’m targeting the unknowlegeable user, so maybe Finder is friendlier


ben.knoble
2021-3-2 19:54:02

FWIW, the path on my mac is /Applications/Racket v7.9/DrRacket.app for 7.9; I assume 8.0 is similar


capfredf
2021-3-2 19:54:32

Finder is trickier, because you have to choose/set the searching scope


capfredf
2021-3-2 19:55:40

I would link the text spotlight to a document/video on how to start spotlight.


laurent.orseau
2021-3-2 19:55:40

Erf. So how about “Open spotlight (cmd+space), type drracket and press enter” ?


ben.knoble
2021-3-2 19:56:22

works for me; I like @capfredf’s suggestion too


greg
2021-3-2 19:56:48

In the past when I followed the instructions the DrRacket app would have an icon in the Applications folder in Finder. I think Applications is where naive Mac users open apps? At least I used to.


capfredf
2021-3-2 19:56:50

what about “open the folder “Application”, and click DrRacket’s icon” ……


greg
2021-3-2 19:57:30

(I say “used to” past tense meaning when I was using a Mac, before Ubuntu. Not claiming I’m no longer naive. :slightly_smiling_face: )


ben.knoble
2021-3-2 19:57:33

with the caveat that I can’t remember if choosing non-standard install locations messes with that (:sweat_smile: )


capfredf
2021-3-2 19:57:58

But spotlight is actually the simplest way


greg
2021-3-2 19:58:11

Well, non-knowledgeable users always follow the install instructions. Exactly. Perfectly. (cough)


greg
2021-3-2 19:58:37

Yeah spotlight seems easiest way to tell people, if you’re writing a tutorial.


greg
2021-3-2 19:59:34

“Click the key with the Buddhist symbol, hold it, press spacebar…”. OK I’m joking. It is simplest.


greg
2021-3-2 20:00:04

Writing instructions is just :sob:


mflatt
2021-3-2 20:00:17

On Mac OS, a user installs DrRacket by dragging a folder to “Applications”. So they know where it is, and it’s pretty obvious how to run DrRacket. I don’t think anyone has ever asked me how to start DrRacket on Mac OS after installing.

The command line on Mac OS is a different story, though.


laurent.orseau
2021-3-2 20:02:06

So maybe something like “Start DrRacket (if you’re lost, start Spotlight with Cmd+space and enter drracket)” ?


greg
2021-3-2 20:03:20

I think @mflatt has a great point. “You just dragged Racket to the Applications folder to install it. Now click there…” (But if you’re writing for people who didn’t just install it, themselves, like in a lab or something, idk.)


laurent.orseau
2021-3-2 20:03:40

> MacOS: DrRacket is in the Applications folder. Otherwise, open Spotlight (Cmd+space) and enter drracket


mflatt
2021-3-2 20:03:53

@spdegabrielle I see that https://github.com/racket/racket/wiki/Set-your-PATH-environment-variable recommend using xattr for snapshots…


mflatt
2021-3-2 20:04:08

… but those are now signed and notarized (as of fairly recently, maybe mid-January). So, I think xattr is no longer — unless you know differently.


spdegabrielle
2021-3-2 20:04:52

Thanks for checking. I’ll remove the xattr line :+1:


mflatt
2021-3-2 20:04:55

Then again, someone will occasionally end up with an installation that the OS doesn’t trust (this seems to happen on specific machines), and then xattr can be a solution. So, I’m not sure about getting rid of the xattr mention completely.


spdegabrielle
2021-3-2 20:05:37

Ok - I’ll add it as a separate note


spdegabrielle
2021-3-2 20:08:43

Fixed :grinning:


laurent.orseau
2021-3-2 20:10:08

Next question: You’ve just installed Racket for the first time, you’ve been told to try out a package (say, a game). You don’t know what a command line is. You have succeeded in installing it via the package manager in DrRacket. Now what? One possibility: > In the top panel, type #lang racket (require an-awesome-game) > and click on the Run button (top right) or press F5. Is there something better than this? It doesn’t seem optimal.


laurent.orseau
2021-3-2 20:10:58

(Remember that the first time DrRacket is started, it doesn’t have a language, hence the interactions don’t work. Actually, I’m not even sure that typing the above does work either…)


soegaard2
2021-3-2 20:11:35

@laurent.orseau I can’t remember where you asked - but I would avoid brew on macOS (for your purpose here).


laurent.orseau
2021-3-2 20:12:00

gotcha. Why, if I may ask?


laurent.orseau
2021-3-2 20:12:22

spdegabrielle
2021-3-2 20:13:04

If some is using it in a lab it will probably be in the dock as a racket logo


spdegabrielle
2021-3-2 20:13:44

Would it help if I did a video


spdegabrielle
2021-3-2 20:13:52

macOS and windows


soegaard2
2021-3-2 20:14:34

Answering Laurent wrt brew

It’s too long of a side quest (first instal brew, then install Racket). Also brew uses the terminal - and downloading the standard distribution from http://download.racket-lang.org\|download.racket-lang.org is easier. Also, of dynamic libraries are involved, none of the standard answers for “where is X normally in the file system” apply.


ben.knoble
2021-3-2 20:15:57

hah, I’m a regular brew user and even I used the standard distribution download :laughing:


laurent.orseau
2021-3-2 20:16:20

@spdegabrielle: I’m targeting users that don’t have much clue what to do. Others will find their way around. ‘Probably in the dock’ doesn’t sound general enough


soegaard2
2021-3-2 20:20:15

A video is a great idea. From my math classes, I know that there lots of bright, young kids around, that never installs extra programs (sometimes not even from app-store). When the see the first dialog on mac with only two options (after “open” on a newly downloaded app) - they just assume “it doesn’t work”. They need to explicit instructions to use “open” twice - and, sigh, explicit instructions to actually read the text in the dialog. Oh - and they don’t know the word “dialog” - use “window”.


soegaard2
2021-3-2 20:21:15

When I hear people speak about “young people are great with computers, since they grew up with them” - I think mine.


soegaard2
2021-3-2 20:21:29

Don’t quote me on the last part :slightly_smiling_face:


laurent.orseau
2021-3-2 20:25:06

Interesting. There’s a trade-off though. Watching a video is also heavier than just reading one line of text, and takes far longer.


mflatt
2021-3-2 20:39:05

It turns out that there’s a “Configure Command Line for Racket…” option in DrRacket’s “Help” menu on Mac OS!


soegaard2
2021-3-2 20:39:44

Yes, text first.


spdegabrielle
2021-3-2 20:49:18

I’m strugging to work out where the DrRacket settigns are stored…hints?


mflatt
2021-3-2 20:52:55

(find-system-path 'pref-file)


spdegabrielle
2021-3-2 20:53:07

Whaaaat! I’ll add that to my video!


philip.mcgrath
2021-3-2 21:20:00

Somewhat tangentially, I’ve idly wondered for a while about going in the opposite direction and embedding a wasm engine in Racket. (Either an existing engine or, more ambitiously, compiling to Chez.) The motivation would be a more portable and safer alternative to distributing platform-specific native libraries for FFI packages.


spdegabrielle
2021-3-2 21:22:13

Installing and running Racket for the first time on MacOS @laurent.orseau


spdegabrielle
2021-3-2 21:24:47

spdegabrielle
2021-3-2 21:25:07

helps if I include the link


wjb
2021-3-2 21:35:43

What’s today’s DrRacket splash screen celebrating?


soegaard2
2021-3-2 21:37:29

Texas Indepence Day. It’s a bit silly to keep that one in.


wjb
2021-3-2 21:39:20

thanks!


gknauth
2021-3-2 22:08:07

Well, on the other hand, all the core creators of DrScheme / DrRacket / HtDP were once together at Rice, in Texas. Yes, long ago, but it’s a big like Genesis in the Bible. Or maybe a subsequent chapter, given Dan Friedman, Jerry Sussman & Guy Steele, John McCarthy, Alonzo Church, …


gknauth
2021-3-2 22:11:26

I just stumbled on this: https://youtu.be/cfZQYVQcspE


spdegabrielle
2021-3-2 22:12:03

It adds interest. I forgot to say to run DrRacket every day so you don’t miss out on the other easter eggs


spdegabrielle
2021-3-2 22:13:03

run DrRacket every day so you don’t miss the other easter eggs


spdegabrielle
2021-3-2 22:26:38

sschwarzer
2021-3-2 23:23:20

What is the channel #racket for, given that this whole Slack section is about Racket? :slightly_smiling_face:


sschwarzer
2021-3-2 23:23:54

Also, what’s the difference between #announcements and #news? Both sound conceptually very similarly.


sorawee
2021-3-2 23:25:43

I don’t think our Slack channels are really organized, or moderated :slightly_smiling_face:


sschwarzer
2021-3-2 23:27:28

@sorawee I was looking for potentially interesting channels and got a bit confused. :wink:


sschwarzer
2021-3-2 23:29:10

Maybe it would make sense to add descriptions to all channels (where possible)? I also had the impression that many channels aren’t really used, but it’s hard to tell since they don’t seem to retain history for longer than two months or so.


sschwarzer
2021-3-2 23:29:37

I’m not complaining, only trying to make constructive suggestions. :slightly_smiling_face:


spdegabrielle
2021-3-2 23:53:58

A doctor a day keeps the … away?


k
2021-3-3 07:22:27

@k has joined the channel