Senior Project Contribution

77 views
Skip to first unread message

Mark Toujiline

unread,
Dec 23, 2017, 12:25:18 PM12/23/17
to Racket Developers
Hello Racket team,

My name is Mark Toujiline and I am a 5th year Computer Science student at Cal Poly - SLO. I have a required senior project and would like to use the opportunity to contribute to Racket/Typed Racket. During the Fall 2017 quarter, I took a Programming Languages class which used Typed Racket and I thoroughly enjoyed the experience. Can someone point me in the right direction for finding a task(s) that can be completed in the span of 6 months? My objective is to learn as much as possible, so I would be eager to work on something challenging.

I apologize in advance if I posted this question in the wrong place. This is my first time contributing to an open source project.

- Mark Toujiline

Ben Greenman

unread,
Dec 23, 2017, 2:31:39 PM12/23/17
to Mark Toujiline, Racket Developers
Hi Mark,

Welcome!

The Typed Racket issues page on GitHub has a list of "small" tasks
that need solving:
https://github.com/racket/typed-racket/issues

and the Typed Racket pull requests page has tasks that are currently
being solved, or partial solutions that you might want to contribute
to:
https://github.com/racket/typed-racket/pulls

I think you should browse those pages, solve an issue or two, and then
decide on a (4-month?) challenge problem that fits your interests.

Ben

Philip McGrath

unread,
Dec 23, 2017, 3:25:16 PM12/23/17
to Ben Greenman, Mark Toujiline, Racket Developers
Especially if this is your first time contributing to an open-source project, you may find the blog post on contributing to Racket or the (older, but still useful) A guide for infrequent contributors to Racket helpful. Having been in that position relatively recently, it's useful to have guidance on all of the parts of contributing other than "write useful code".

-Philip


--
You received this message because you are subscribed to the Google Groups "Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscribe@googlegroups.com.
To post to this group, send email to racke...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/CAFUu9R7gRZewBh0uzPK%2BjTim5SOVBVORRLb3ecscSNRDCprQ%3DA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Matthias Felleisen

unread,
Dec 23, 2017, 4:57:14 PM12/23/17
to Mark Toujiline, Racket Developers
[[ I don’t believe the following is on the wiki list. ]]

It would be wonderful if someone could explore our original “extensible programming” paper with the typing rules that Dan Feltey added for the unit system (see my Sendai paper for the motivation; see ICFP ’98, "Classes and Modules” for a sample application). The goal is to determine whether it is possible, the weaknesses of the type system, and propose extensions/revisions to the type system (and if you have a ton of left-over time, design and implement them). This would require reading (as in working thru) TAPL and the TAPL II chapters on modules. Oleg K. has recently written extensively about my extensible denotational semantics and how it relates to the modern “algebraic effects” wave of papers.

If successful, you can turn this into a ICFP or TFP submission (I assume John will help). Research is when it can fail. And if this one succeeds, it’s a good thing (tm) for our type/unit systems.

— Matthias

Mark Toujiline

unread,
Dec 28, 2017, 12:33:23 PM12/28/17
to Racket Developers
Thank you everyone for the help. I went through the links and they were very helpful.

@Matthias The topic you propsed is the type of task that I was looking for. I will suggest it to John to see if he will approve it for my senior project.
I read over ICFP 98, but could not find what you referred to as the "Sendai paper". Could you provide a link to it?

Matthias Felleisen

unread,
Dec 28, 2017, 12:39:25 PM12/28/17
to Mark Toujiline, Racket Developers

Here is what I mean with the Sendai paper:

https://www2.ccs.neu.edu/racket/pubs/#tacs94-cf

It presents a series of extensible and arbitrarily composable interpreters.
At the time, I tried to implement them in SML to satisfy the type t’ists tastes,
but it turns out that, back then, the structure-functor system was too weak.
So I fell back on define-syntax to fake modules and these modules eventually
became units.

Dan Feltey’s type system for units is a bit weak, but I believe the extensible
semantics should be in its reach. In contrast, Robby and Matthew’s application
of units (and mixins) is probably beyond it. It’s worth trying it out.

Do go to Oleg Kiselov’s ftp server and find his reflections on my Sendai paper.
This should get you started.

— Matthias
> --
> You received this message because you are subscribed to the Google Groups "Racket Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+...@googlegroups.com.
> To post to this group, send email to racke...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/afe2f354-47ba-47b1-b69a-393d07332251%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages