gknauth
2021-9-1 10:11:45

Also Jesse Alama’s book Server Racket: https://jessealama.gumroad.com/


gknauth
2021-9-1 10:21:30

Some great examples of what Language Oriented Programming can do so people can craft solutions in a language that suits their use cases, as opposed to always starting on the ground floor: • https://docs.racket-lang.org/pollen/https://beautifulracket.com/https://lang.video/https://www.youtube.com/watch?v=OZXslNVaCOQhttps://docs.racket-lang.org/slideshow/index.htmlhttps://www.asumu.xyz/blog/2018/03/31/making-the-most-of-lang-slideshow/https://docs.racket-lang.org/scribble/


soegaard2
2021-9-1 11:09:42

FWIW I have four versions of “listit” that shows how to write a simple web application.

https://github.com/soegaard/web-tutorial

The “listit” project eventually became http://racket-stories.com\|racket-stories.com . The source for Racket Stories is also available.


seanbunderwood
2021-9-1 11:10:02

I don’t believe there is any one ideal language for software engineering. Different problem domains have different needs, and it’s not possible to be the best at everything all at once.

For a trivial example, for some of the things I am doing at work, I can’t be allowing a garbage collector anywhere near my code. But automatic memory management is essential to Racket’s ability to be good at what it does best.


soegaard2
2021-9-1 11:10:09

Check also Bogdan’s Youtube videos on Koyo.


cperivol
2021-9-1 11:10:18

@cperivol has joined the channel


cperivol
2021-9-1 11:16:35

I guess out-of-band would be fine for at least some usecases. I guess it’s hard at the moment because you can’t tell the base reader to keep the comments, right?


badkins
2021-9-1 14:36:37

I put together a simple Todo web app for RacketCon 2020 you might find useful: https://github.com/lojic/RacketCon2020


badkins
2021-9-1 14:42:17

You asked a simple question, so I’ll give a simple answer: “Yes!” :) I decided to base all of my company’s development on Racket a few years ago, and in hindsight, it was a great decision. In my case, it has little to do with “language oriented programming” thus far, but I will likely incorporate more of that in the future. My specific reasons would require a lengthy blog post, and I think I’ll queue up that task.


badkins
2021-9-1 14:45:05

I do not feel that writing interpreters & compilers is the ultimate way to conquer complexity, but it may be a piece of the puzzle sometimes.


badkins
2021-9-1 15:02:06

I’m curious if any of you have (started to) read <https://mitpress.mit.edu/books/software-design-flexibility|Software Design for Flexibility> by Hanson & Sussman, and if so, how Racket-friendly is the code?


migueldrums741
2021-9-1 16:09:41

Muchas gracias compañeros! Estaré revisando el material que me han recomendado.


spdegabrielle
2021-9-1 17:04:28

I’ve not read it yet


spdegabrielle
2021-9-1 17:05:55

jestarray
2021-9-1 17:34:04

is there a #lang definition for going up the bsl language? or do you have to use the dropdown menu to select


spdegabrielle
2021-9-1 17:36:20

There was someone else asking about this a couple of months ago. I think the outcome was you can do it but the drop down is better.


jestarray
2021-9-1 17:36:22

nevermind, someone on discord answered: htdp/bsl, htdp/bsl+, htdp/isl, htdp/isl+, htdp/asl and they’re all hdtp2 i presume


jestarray
2021-9-1 17:36:43

why is it better?


spdegabrielle
2021-9-1 17:37:36

I can’t remember sorry


samth
2021-9-1 17:37:57

There are bugs in the #lang versions, and it’s not what anyone teaches with, so it’s not been a high priority to make everything perfect there yet, and it’s less tested.


jestarray
2021-9-1 17:40:04

ahhh, thought they were the same thing. interestingly #lang htdp/bsl hovers in big text when you’re in the definitions or interactions which is a nice touch to make sure students dont write in the wrong box but im sure this isnt a huge problem


samth
2021-9-1 17:41:48

the underlying infrastructure is pretty different between them, although they obviously share a lot of code


spdegabrielle
2021-9-1 17:44:38

@jestarray I’m curious why the #lang teaching languages are desirable ? Or is the intent to teach in an editor/ide other than DrRacket? and if that is the intent which editor and why?


jestarray
2021-9-1 17:48:10

mainly so i can switch to racket quickly without going to the dropdown menu, and also i was thinking vscode because it has autocompletion features now with magick racket and hopefully soon i can get around to implmenting inlay hints for function parms and structs (ghost text of func param names and struct fields so you dont have to guess or look up what param is what) https://i.stack.imgur.com/Sjdx5.png


spdegabrielle
2021-9-1 17:51:31

Wow. That looks really cool!


spdegabrielle
2021-9-1 17:52:43

Is the Vs-code autocomplete better than the DrRacket autocomplete?


jestarray
2021-9-1 17:55:55

much better


sorawee
2021-9-1 17:56:51

While I agree with some issues in Lisp Curse, I don’t think

> it require a lot of maintenance and documentation for users is warranted. Especially on the documentation issue, if you don’t write documentation, your users won’t understand your code whether the language has macro.


jestarray
2021-9-1 18:01:37

it’s on everytime you type unlike racket where i think you have to hit some hotkey , and pops up the signature


sorawee
2021-9-1 18:04:35

drcomplete implements the feature that you want.


jestarray
2021-9-1 18:10:34

does it work with bsl ? do you think i should have students install it?


sorawee
2021-9-1 18:11:48

Just tried it with BSL and it seems to work just fine


jestarray
2021-9-1 18:11:54

alrirght sweet


seanbunderwood
2021-9-1 18:12:21

I don’t personally find a twisty maze of poorly documented Lisp macros to be any more difficult to follow than a twisty maze of poorly documented custom Haskell operators or a twisty maze of poorly documented Java annotation magic.


jestarray
2021-9-1 18:17:08

wasnt there a gui for selecting packages to install?


sorawee
2021-9-1 18:20:02

I’m not aware of one, but there’s a gui that prompts a textbox that you can put a package name in


spdegabrielle
2021-9-1 18:21:33

Yes the package install gui is in DrRacket


spdegabrielle
2021-9-1 18:22:08

Or am I missing the point?


jestarray
2021-9-1 18:23:10

ahh file->install package


jestarray
2021-9-1 18:23:40

i think thats what i need, since racket doesnt add itself to windows path so you cant run raco until you add it in


gknauth
2021-9-1 18:51:23

Jerry has always been very partial to MIT/GNU Scheme, and of the brevity of its specification. Given that people have successfully gone through SICP using Racket, and created SICP language(s) for doing so, I think at worst that’s the kind of thing that would be involved in using Racket for SDF. Looks like @jeffhhk has created a mirror https://github.com/jeffhhk/SoftwareDesignForFlexibility of http://groups.csail.mit.edu/mac/users/gjs/6.945/sdf.tgz


spdegabrielle
2021-9-1 18:53:09

There is a menu option in DrRacket to set the path too. :smile:


soegaard2
2021-9-1 19:11:00

@jestarray There is a gui for the package manager. Look in the file menu of DrRacket. I think, it can be started from the terminal too, but I can’t remember the name.


jestarray
2021-9-1 23:27:36

is there a built in that choses a random element from a list? currently writing this: (define (ran-pick options) (list-ref options (random (length options))))


alexharsanyi
2021-9-1 23:32:33

Maybe random-ref?


jestarray
2021-9-1 23:34:41

ahhh there we go, thanks


michaelrauh
2021-9-1 23:58:25

I have made decent headway into this book, and so far I have not run across anything that looks like it would introduce big issues. I haven’t attempted the exercises in Racket but I don’t think it would be too bad. My biggest surprise is that it is not written in #lang sicp but instead is a much larger MIT Scheme with quite a bit more built in. From one perspective that makes the book less portable to Racket, as it’s a bigger language. From another perspective it’s more portable as higher level abstractions are available in both dialects. Writing this out, I am tempted to start the book over in Racket.