n with the Racket package management is no issue either. The web
interface is aware of Git and works with any hosting service. I personally
prefer to have the source code in a sub-directory of the project rather
than in the root, and Racket supports this feature as well, like this:
https://gitlab.c
The adapter submodule does not work, I get the following error (in both
typed and untyped Racket):
fib.rkt:9:0: module: no #%module-begin binding in the module's language
in: (module adapter racket/stream (provide stream-first stream-rest
(rename-out (stream-cons* stream-cons))) (defin
Hello Racketeers,
I have been playing around with the `math/number-theory` package and I
wanted to use a `for`-loop of Fibonacci numbers. I had to write something
like
(for ([i (in-naturals)])
(define fib (fibonacci i))
...)
So I thought it would be nice to have an `in-fibonacc
Yeah, those fancy things are an accessibility nightmare. When I zoom in in
FireFox the line breaks are fine, but between 110% and 200% zoom factor the
text actually gets smaller when zooming in, and beyond 200% it gets larger
again.
As for screen readers, I am no ARIA expert, but from what I (t
2018 at 6:57:46 PM UTC+2, Stephen Smith wrote:
>
> 2. @HiPhish: "Users should learn the command-line first". Although I agree
> with this in almost any other context, my book is for people who have never
> programmed before. So they will be learning the command-line and GUI at
BTW, on the topic of writing robust shell scripts, I always have a linter
run over my scripts when I save them. I run Shellcheck automatically in
Neovim using the Neomake plugin. The linter catches among other things
missing quotations.
https://www.shellcheck.net/
https://github.com/neomake/neo
The benefit is that it looks nicer on the eyes in a GUI. I presume OP is
talking about the Racket installation you get off the Racket website, and
that installation is targeted at GUI users. I myself prefer the
command-line and I use Racket via Homebrew, so I never even come across
this issue.
I think you are trying to solve the wrong problem. If people want to use a
command-line tool they should know how to use the command line first. They
don't have to know every arcane feature of the Bourne Shell, but knowing to
escape spaces or quote strings is the bare minimum. Think about it lik
Thank you, this is the simplest solution so far. The three panels (books,
users and rentals) are all independent of each other, so this works out
perfectly, and the individual modules have reasonable size. My concern is
mixing things that don't belong together, i.e. there is no reason the books
Thank you for the paper. I had come across units several times, but I could
never figure out *what* their intention was from the documentation. The
paper has at least made their motivation clear, I still have to figure out
how to actually use this feature now.
On Friday, March 23, 2018 at 6:33:
Hello Racketeers,
I am trying to create a GUI program, my problem is that the source code for
the
GUI portion is growing out of control and I don't know how to split it up.
Here is some background info: the GUI is basically just a specialised
frontend
to a database, the users clicks some stuff,
Will the content (video, PDFs, exercises and solutions) also be available
online for those who cannot attend? The topic does sound very interesting,
at the moment I only know how to use Racket like any other programming
language, but I have no idea how to approach the language-oriented angle.
-
I am not a father, so take everything with a grain of salt from me. Also,
obvious disclaimer, every child is different, you know your children best,
and
all the usual stuff...
With that out of the way, I think computer illiteracy is one of the big
injustices that gets perpetrated in our modern so
Thank you for the offer, but I am currently tied up myself a lot. I was just
looking into this because the topic had popped up here.
I should have provided some context as to how the Neovim Racket client
works.
When I'm experimenting I use the regular REPL from my terminal, not the
client,
that'
How would I get the module into Racket? My guess is that if the user is
working
on a module that file would have to be required first to instantiate the
module
before its file path can be sent over to `module->namespace`. At least
that's
how I did it on the REPL. What if the file changes? Do I h
Wow, this sounds like just the right thing. But the question is, how does
one
get the namespace of the current text buffer? I guess I would need to
somehow
send the buffer contents over to Racket and build a namespace out of that?
On Tuesday, February 13, 2018 at 1:39:49 PM UTC+1, William G Hatc
On Monday, February 12, 2018 at 9:02:20 AM UTC+1, Gour wrote:
>
>
> I had tried tried several times with Emacs, but, for some strange reason,
> very
> soon I would experience some wrist pain and finally gave up on it.
>
> Otoh, it does never occur when using Vim...yes, I also have Neovim
> in
I don't use Emacs, so I can't comment on it. One large advantage DrRacket
has
is its graphics capabilities. One could write a Neovim GUI in Racket and
give
it the same graphical capabilities.
What's really cool about Neovim is that the developers have been de-crufting
Vim. For example, GUIs are
I'm afraid that's not possible. The functionality that gets the completion
candidates is written in Racket:
#lang racket/base
(require nvim/rplugin framework)
(define (complete prefix)
(define completions (text:get-completions/manuals #f))
(filter (λ (x) (regexp-match (regexp-quo
Thank you for finding that. I have used your snippet to add omni-completion
to
Neovim now. I need to file down some rough patches before I make it a
plugin,
but it works. Not as useful as having proper semantic completion would have
been, it does not include identifiers from the current module
That makes perfect sense, thank you.
On Tuesday, February 6, 2018 at 12:43:07 AM UTC+1, Sam Tobin-Hochstadt
wrote:
> The problem is that the definition of `(Dual-Number N)` includes `N`,
> and therefore
>
> (Dual-Number (Dual-Number String)) might either be a (D (D "x" "y") (D
> "x" "y")) or
Why would that be a problem? The caller has to provide a function for
"adding"
and "multiplying" an N, and as long as I define what it means to multiply
and
add strings it shouldn't matter that I'm using a dual number where both
components are strings.
But I think this is a case of the rectangle
Did your email get cut off?
On Monday, February 5, 2018 at 6:00:05 PM UTC+1, Sam Tobin-Hochstadt wrote:
>
> This is an unfortunately common pitfall -- if you instantiated N with
> something that includes a dual number, then the type error would be
> pointing to a real bug. If
>
> Sam
>
--
You
Thank you for your answer, Sam.
1) does not really capture it, and 2) is a proof of concept that hasn't been
updated in almost a year. But it did give me a good idea: use Typed Racket
and
have the type system work for me.
(struct (N) D ([real : N] [dual : N]))
(define-type (Dual-Number N) (U
Hell Racketeers,
I am trying to write an implementation of the mathematical concept of dual
quaternions in Racket. Dual quaternions are an algebraic type and there are
several equally valid way to look at them.
Let me give some background first. A dual number (a + bε) is similar to a
complex numb
> and <255. I filed an issue at
> https://gitlab.com/HiPhish/MsgPack.rkt/issues/4
>
> Berthold
>
--
You received this message because you are subscribed to the Google Groups
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it,
On Wednesday, January 31, 2018 at 4:17:09 PM UTC+1, Greg Hendershott wrote:
>
> Another way is for two (OS) processes to "pipe" I/O to each other.
>
This is a great idea since it would allow to integrate any language with
the .NET application. It is how Neovim does it: the main application is
N
> Maybe it is because of the fact that my daily job requires me to do manual
> compilation frequently but I don't find this very difficult.
Yeah, I use a package manager and only compile manually when I absolutely
have
to because I don't like dealing with dependencies. A matter of perspective I
gu
reign language, but in Neovim that support can be
retrofitted to the editor as an external process. So for example, if you
want
to write Neovim plugins in Python you install the Python client via pip.
And if
you want to write plugins in Racket you install my Racket client:
https://gitlab.com/Hi
No, I did the same thing, and only the first hundred tests work normally,
the other 100 hand for several minutes. Maybe my computer is too weak, it's
an early 2009 iMac with a 2.66GHz Core2Duo and 8GB of RAM. I also ran `raco
setup msgpack` after making the change to the source file to make sure
When I change the return type of `unpack` to `Packable` instead of an
explicit union of types the map packing test (`test/pack/map.rkt`) hangs.
https://gitlab.com/HiPhish/MsgPack.rkt/blob/master/unpack.rkt#L83
https://gitlab.com/HiPhish/MsgPack.rkt/blob/master/test/pack/map.rkt
--
You received
Anything more I can do?
On Sunday, December 3, 2017 at 6:11:42 PM UTC+1, Sam Tobin-Hochstadt wrote:
>
> Thanks, that's very helpful. It's clear that the contract optimization is
> working in the old code but not the new code, and we need to fix that.
>
--
You received this message because you ar
Here is what happens when I run one of the array tests with the more
restrictive type specifications:
OK, passed 100 tests.
Running time is 70.75% contracts
75/106 ms
(-> (recursive-contract (or/c (and/c hash? (and/c hash-equal ... 75 ms
(lib msgpack/pack.rkt):24:9
Is there anything I can do to help investigate the issue? I have reverted
my commit for the time being, and it's a difference like day and night.
On Sunday, December 3, 2017 at 12:36:16 AM UTC+1, Sam Tobin-Hochstadt wrote:
>
> I don't think the mutable/immutable issue should be as significant as
Now that I think about it, changing the types to be immutable is not really
correct either. There is no reason users should not be able to serialise a
mutable list, vector or hash table, just as they can serialise any mutable
scalar as well.
The result of unpacking bytes could be immutable, but wo
> The performance is probably because HashTable and Vector values can be
> mutable, so Typed Racket needs to do extra work to protect them.
>
> To test this, I cloned msgpack, removed `Vector` from the `Packable`
> type, and changed `HashTable` to `Immutable-Hashtable`. Change here:
>
https://git
types (vectors and hashes) time out on the package
server,
and thus fail.
https://gitlab.com/HiPhish/MsgPack.rkt/commit/0b6cdc7115389db97a8de2a5175c1feb4c939f8f
Please let me provide some context first: MessagePack is a serialisation
format
similar to JSON, except binary, so it should be smaller
Thank you everyone, I have gotten it up and running now. I'll make a formal
announcement once I get an unrelated performance issue sorted out.
--
You received this message because you are subscribed to the Google Groups
"Racket Users" group.
To unsubscribe from this group and stop receiving ema
What is any-wrap/c? It does not show up in the documentation.
On Friday, December 1, 2017 at 9:17:18 PM UTC+1, Robby Findler wrote:
>
> Why not use any-wrap/c?
>
--
You received this message because you are subscribed to the Google Groups
"Racket Users" group.
To unsubscribe from this group and
Thank you, I have made my own exception type now. Is `exn:fail:rpc`
appropriate or should I use a different name? Using that name looks like
I'm inserting it into Racket's own exception type hierarchy.
On Friday, December 1, 2017 at 8:11:27 PM UTC+1, Ben Greenman wrote:
>
> ...
>
--
You receiv
Hello Racketeers,
I have been trying to port a module over to Typed Racket, and I have almost
succeeded except for one issue: raising an arbitrary object as an error.
Compare the following code:
;; Works fine
(raise 3)
;; Does not work
(raise (vector 1 2 3))
The error I get is
I use Neovim and I'm working on a Racket client for it:
https://gitlab.com/HiPhish/neovim.rkt
One of the cool features Neovim has over Vim is that it provides an API for
remote processes; a client application can connect to the editor and they
can communicate with each other. What that mea
> These two problems are related AFAICT. Currently your package is set up
> as a multicollection package but the info.rkt file is only in the top-level
> directory, whereas it should go in the subdirectories. I suspect you don't
> actually want a multicollection package in this case.
Yes, you're ri
Hello Racketeers,
I wrote a new package, an API client for the Neovim text editor:
https://gitlab.com/HiPhish/neovim.rkt
https://pkgs.racket-lang.org/package/nvim-client
With this it is possible to control Neovim with Racket. In particular,
it is now possible to write Neovim plugins in Racket
> I would love to see some library provide better abstractions for
> fairly common cases of keywords like this
Honestly, I don't think I need a library, I need better knowledge. Your
macro works, but I have no idea how I could have come up with it. The
Racket guide gives a good introduction to the
Hello,
I have a working macro written using `syntax-parse`, but it still has
some kinks that need to be worked out. What I want the macro to do is
define a function and as it as input to another function. Example:
(define-nvim-function (foo bar baz) #:name "foo" #:sync #f
(display bar)
Thank you all for your answers, I think I got it right this time, but I
would still appreciate feedback:
https://gitlab.com/HiPhish/neovim.rkt/blob/master/nvim/api.rkt
I think what was confusing me was that I was thinking of Racket macros
like Common Lisp macros. Instead of trying to build a list
Hello,
I am writing a Racket library which will make it possible to control the
Neovim text editor using Racket. People will be able to use Racket to
control Neovim, as well as write plugins for Neovim in Racket.
https://gitlab.com/HiPhish/neovim.rkt
So far it looks good, but I am stuck on
> On Fri, Aug 18, 2017 at 7:08 PM, wrote:
> I think you want `dynamic-require`:
> [http://docs.racket-lang.org/reference/Module_Names_and_Loading.html?q=dynamic-require#%28def._%28%28quote._~23~25kernel%29._dynamic-require%29%29]
Thank you, that's what I needed. I'll limit myself to just requirin
Hello Racketeers,
A while ago I announced my MessagePack library here and I mentioned that
I was needing it for a client library for the Neovim text editor. Since
then I have been writing this client library and now I'm at a point
where I need help.
Let me first give you some context: Neovim is a
It seems I got it working now. I deleted `(find-system-path 'config-dir)` and
`(find-system-path 'addon-dir)`. My bet is that the former was the culprit.
We'll see about that when 6.11 is released.
--
You received this message because you are subscribed to the Google Groups
"Racket Users" grou
Hello,
I have had this same problem when I was upgrading Racket from 6.8 to 6.9, and
now again when upgrading from 6.9 to 6.10. Basically what happens is that raco
downloads and installs all packages as if they were for the previous version of
Racket.
I installed Racket as 'brew install minima
Thank you for your response. Right now I cannot implement it because either
Racket or my package manager (or both) keeps breaking itself, but I will keep
in mind what you said.
--
You received this message because you are subscribed to the Google Groups
"Racket Users" group.
To unsubscribe fro
*bump* I hope bumping is not frowned upon here. I just need to sort this one
last issue out
--
You received this message because you are subscribed to the Google Groups
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to racket-users+unsubs
On Tuesday, July 25, 2017 at 11:37:48 PM UTC+2, Lehi Toskin wrote:
> One thing I'm curious about is what things can you and can you not pack? In
> the README it shows bytes being packed, which seems a little obvious, but
> what about (transparent) structs? Hashes? Lists? I'm very interested in th
On Sunday, July 23, 2017 at 5:43:51 PM UTC+2, Ryan Culpepper wrote:
> On 07/23/2017 07:26 AM, Alejandro Sanchez wrote:
> > Hello everyone,
> >
> > I am working on this project: https://gitlab.com/HiPhish/MsgPack.rkt/
> >
> > I am writing test cases and
56 matches
Mail list logo