spdegabrielle
2020-8-31 08:23:44

I’m running a little short of space on my laptop at the moment so Inkscape isn’t an option for me. (my 9yo laptop needs replacing!). I was sort of hoping someone who was already an inscape user might be able to do this quickly and easily. To answer your question: I got the original svg from the logo to racket-stories, and have already processed it with the online tools recommended by the contributors guide.


andre
2020-8-31 11:07:27

I want to add a small note to a documentation entry and just read https://github.com/racket/racket/wiki/Contribute-to-the-Racket-Documentation. I am a bit lost trying to find the scribble source files for the base package. I want to add a note to assemble-distribution mentioning that if you’re running macOS that the exec-files should have a .app extension or the function will fail.


andre
2020-8-31 11:07:59

I expected it to be at https://github.com/racket/racket/tree/master/pkgs/base but it is not there. Can someone point me to the location?



sorawee
2020-8-31 11:25:59

You can usually find the directory where the Scribble file is in by following the instructions at https://docs.racket-lang.org/racket-build-guide/contribute.html?q=contribute#%28part._contribute-guidelines%29


michael.hamel80
2020-8-31 11:43:54

Are there any good resources handy for making the case for choosing Racket over Common Lisp as one’s “first Lisp”? I saw <https://www.reddit.com/r/lisp/comments/ijubzr/am_i_missing_out_on_something_if_i_learn_lisp_via/|this reddit post> asking whether they should learn Racket or Common Lisp, but I don’t yet have enough experience with Racket to be confident weighing in on the matter.

Edit: I did end up posting a comment there


samth
2020-8-31 12:37:35

Also, if you go to the top of the page for assemble-distribution and click on the title, it tells you where the source is


andre
2020-8-31 13:48:31

thanks!


andre
2020-8-31 13:48:59

will send the PR as soon as I can.


anything
2020-8-31 16:59:43

I have a web application that in a matter of days gets the racket binary spinning 100% of the CPU. I have been suspecting some update procedure that application executes periodically (I’m running it at each two hours now). The last time the problem occurred, there was no error messages in the upload procedure’s logs. Everything is perfectly fine. Everywhere I catch exceptions, I make sure to log a message and I’m not seeing any exceptions being hit. So basically the racket binary is taking a lot of CPU and I’m having no clue as to where is my mistake. I’m running Racket 7.2, but I’ve been watching this problem since earlier versions too. Most likely I wrote an infinite loop somewhere and I’m not being able to find it. I don’t even have a question to ask. (To contain the crisis, I restart the server. The problem comes back a couple or a few days later.) If you can say anything that could illuminate me a bit, I’ll appreciate. Thank you! [The application is small and simple. It serves a JSON string. That’s all. It reads an sqlite database and writes it to the browser as a JSON string. Periodically, it fetches a JSON string from a third-party API server, makes many other HTTP fetches and updates the sqlite database with the new data. During the update, it deletes old logs, making sure only a month worth of logs is left. That’s pretty much all it does. By the way, I load the errortrace library to get stack traces in my logs.]


samth
2020-8-31 17:06:20

First suggestion — kill the app when it’s in a loop, and see what the stack trace is.


samth
2020-8-31 17:07:01

Second suggestion — try a more recent Racket version — the http://pkgs.racket-lang.org\|pkgs.racket-lang.org web app stopped having an intermittent error when we moved to a recent version.


anything
2020-8-31 17:07:04

Kill it with the SIGTERM, right? If I kill it with SIGKILL, it wouldn’t write anything, I guess.


samth
2020-8-31 17:09:11

Yes, that’s right


anything
2020-8-31 17:09:20

That’s a very interesting suggestion. Thank you. My run.log is overwritten every time I restart, so I will make sure to save that from now on.


jcoo092
2020-8-31 22:49:24

I know it’s a bit late, and this isn’t really of much use to you, but I found Racket to be a great intro to LISPs. I had tried in the past with Clojure, but gave up pretty darn quickly (mostly because of the rubbish state of the ‘official’ docs at the time), whereas with Racket I got up and going pretty quickly. I haven’t tried out Common Lisp at all, but some arguments in favour of Racket:

• Comes with its own development environment that can be fairly helpful to newbies (DrRacket) • A LOT of resources out there for it which focus on learning • Just about completely consistent across OSes • Overall decent documentation • Friendly, helpful community • Has some extremely well-respected members of the Programming Languages research community heavily involved in the language’s ongoing development


kellysmith12.21
2020-9-1 00:50:56

Out of curiosity, are there any compelling use cases for unhygienic macros?


notjack
2020-9-1 01:07:20

stuff like struct which creates per-field accessors would be awkward if it had to be hygienic


notjack
2020-9-1 01:07:39

since you’d have to give the accessor names to the macro definition instead of just letting the macro derive them


samth
2020-9-1 01:55:13

There are two things you might mean by “unhygenic”. 1. Something like struct, where identifiers are bound that don’t appear in the input. Those are useful in some cases (and well-supported in Racket). 2. Something like Common Lisp macros, where you just program with symbols and names aren’t connected to their bindings. There are ways in which this is a simpler model (you don’t have to learn about scopes or identifiers) but it’s fundamentally a too-simple model — the complexity is there whether you like it or not, just like you can’t wish away complicated physics if you want to build a plane.


cris2000.espinoza677
2020-9-1 02:42:33

since we are talking about macros, let’s say i want to make a function with the same name as a syntax parameter, should i just ditch the parameter and use an unhygenic macro? (btw, dont ask for examples, it was a roadblock i found in a project a while ago that i dont remember how it went) PS: I did use an unhygenic macro to fix it, but i want to know if there’s anything else


sorawee
2020-9-1 02:46:07

I’m not even sure what you mean by “function with the same name as a syntax parameter”… so it would be helpful to have an example (even a bad one would help)


cris2000.espinoza677
2020-9-1 02:47:54

i mean a runtime function with the same identifier as a syntax parameter. since from what i gather, syntax parameter are defined/bound? at phase 0(?.


sorawee
2020-9-1 03:01:51

So, like, suppose break is a syntax parameter, and you want to make it possible to define a function named break?


sorawee
2020-9-1 03:03:04

(though this inevitably means you can’t write a recursive function, since invoking a function and breaking would have the same form)


cris2000.espinoza677
2020-9-1 03:03:07

that’s a good point, i think it was something like i have a parameter ? and i want also a function ?


cris2000.espinoza677
2020-9-1 03:03:24

mmm… yeah it’s kinda stupid


cris2000.espinoza677
2020-9-1 03:03:39

bad design decision


cris2000.espinoza677
2020-9-1 03:03:43

from me