Questions tagged [racket]

Racket (formerly named PLT Scheme) is a general purpose, multi-paradigm programming language in the Lisp/Scheme family.

Filter by
Sorted by
Tagged with
11
votes
1answer
916 views

What practical problem results from lack of hygienic macros in Clojure?

I've heard that Clojure macros are easier to write but not as reliable as Racket's hygienic macros. My question has 2 parts: How does gensym differ from hygienic macros? What do Racket macros provide ...
0
votes
1answer
447 views

Two dimensional matrix-like data type using lists and/or mutable lists

I am trying to think of an implementation of a two dimensional matrix-like data type. Normally I would take an array of arrays but I'm bound to a relatively low language level which only provides ...
3
votes
0answers
401 views

Abstract List Functions in Racket/Scheme

I'm completely stuck on a problem to write a function that does NOT use recursion, locals, or lambda. Only abstract list functions can be used. The function must input a list of positive integers, ...
1
vote
1answer
141 views

Why is (f . l) not allowed and equal to (apply f l)?

In scheme when defined (define f (lambda (a b c d) d)) (define l (list 'a 'b 'c 'd)) Why it does not do argument destructuring? I mean arguments should evaluate first, why destructuring is not part ...
3
votes
3answers
2k views

If Scheme is untyped, how can it have numbers and lists?

Scheme is said to be just an extension of the Untyped Lambda Calculus (correct me if I am wrong). If that is the case, how can it have Lists and Numbers? Those, to me, look like 2 base types. So I'd ...
5
votes
1answer
391 views

Why does DrRacket IDE considers some identifiers as “symbols” and some as “keywords”? What is the difference?

Why does DrRacket (kind of Scheme) IDE highlights some of the identifiers as "keywords" (for example define, lambda, send*), and the others as "symbols" (user defined identifiers, +, -, abs, send, ...