Please provide a simple example of typed racket with hyper-literate

44 views
Skip to first unread message

greadey

unread,
Aug 7, 2020, 8:16:17 AM8/7/20
to Racket Users

Hi All,

I've been trying to write typed racket code with hyper-literate.  The docs seem to suggest I can just add typed racket to the #lang hyper-literate;

So my trial code is;

#lang hyper-literate typed/racket

@chunk[<foo>
        
       (: foo : (Integer -> Integer))
       (define (foo n)
         (* 2 n))]

The repl "runs" this code without any complaint, however when I try;

(foo 2)

I get the following error;

Type Checker: missing type for identifier;
 consider adding a type annotation with `:'
  identifier: foo in: foo.

So would someone mind telling me where I am going wrong.

thanks in advance,

greadey


Linus Björnstam

unread,
Aug 7, 2020, 1:57:03 PM8/7/20
to greadey, Racket Users
Your type annotation is wrong.

(: foo (-> Integer Integer)) is (iirc, I haven't done typed racket other than for fun) more like it.

--
Linus Björnstam
> --
> 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...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/racket-users/b38730fb-f01d-4c46-8db6-d42394d2860an%40googlegroups.com <https://groups.google.com/d/msgid/racket-users/b38730fb-f01d-4c46-8db6-d42394d2860an%40googlegroups.com?utm_medium=email&utm_source=footer>.

greadey

unread,
Aug 8, 2020, 2:45:51 AM8/8/20
to Racket Users
It is not wrong, if you type the annotation and definition and run it in a typed/racket repl it works. I can also annotate it as;
(: foo : Integer -> Integer)
and that works as well in typed/racket

Linus Björnstam

unread,
Aug 8, 2020, 5:28:48 AM8/8/20
to greadey, Racket Users
I should have read the question better, sorry.

It might be the hyperliterate #lang that plays badly with typed racket. Try annotating the (define ...) inline and see if that works.
--
Linus Björnstam
> https://groups.google.com/d/msgid/racket-users/eea3b0a3-48f7-4196-9b58-a0dfcc6161c3n%40googlegroups.com <https://groups.google.com/d/msgid/racket-users/eea3b0a3-48f7-4196-9b58-a0dfcc6161c3n%40googlegroups.com?utm_medium=email&utm_source=footer>.
Reply all
Reply to author
Forward
0 new messages