Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HIW'19 practice talk: Mike Vollmer #16

Open
RyanGlScott opened this issue Aug 7, 2019 · 11 comments
Open

HIW'19 practice talk: Mike Vollmer #16

RyanGlScott opened this issue Aug 7, 2019 · 11 comments

Comments

@RyanGlScott
Copy link
Member

Leave feedback here.

@rrnewton
Copy link

rrnewton commented Aug 7, 2019

"Pointer-based memory layout" => why show C code here for a Haskell audience? Could show C and Haskell I suppose to emphasize how conserved this representation is ...

@rrnewton
Copy link

rrnewton commented Aug 7, 2019

"What is Gibbon" went immediately to a picture of a tree. I thought
you were going to say it was a small subset of Haskell... and then
mention that the theme is efficient data representation, and then
get to the specific trick of preorder-serialized trees.

@rrnewton
Copy link

rrnewton commented Aug 7, 2019

Along the lines of the prior comment, some of the discussion here
about pointer-free traversals seems to imply that is an end in itself.
"Why should you care" comes later... but shouldn't that be first?
Isn't performance the reason to care, not "one reason"?

@rrnewton
Copy link

rrnewton commented Aug 7, 2019

CapnProto isn't a language -- should mention that this is a C++ benchmark using the capnp API.

@RyanGlScott
Copy link
Member Author

On the "Performance vs. C" slide, where are the numbers for Gibbon? I only see one color on the legend.

@RyanGlScott
Copy link
Member Author

I think you should elaborate more on why the closed-world assumption is a problem, especially with respect to type class instances, which operate on the open-world assumption. What happens if you compile a program and then need to link it against other code, which may define more instances?

@jsiek
Copy link

jsiek commented Aug 7, 2019

"times slower than gibbon"
instead report as
"times faster than C"

@rrnewton
Copy link

rrnewton commented Aug 7, 2019

"Integrate how?" -- no mention of EDSLs? Parse-haskell-files vs Template Haskell are the only options. What about Core plugin? That's the one we actually want to do.

I was hoping that would show some more concrete (hypothetical) code of how the Haskell integration might work.

@rrnewton
Copy link

rrnewton commented Aug 7, 2019

I don't think the need for pointers need to be much explained. I think it suffices to say you need pointers if you want any sharing.

"Gibbon allows us to represent the list with this new Indirection case" => not clear whether the compiler is doing it or the user in that phrasing.

@samth
Copy link

samth commented Aug 7, 2019

Too much non-Haskell code
Start with something other than the prior papers -- move them after the motivation
The connection to Haskell needs to be a much bigger part of this talk
who cares about capn-proto?

@rrnewton
Copy link

rrnewton commented Aug 7, 2019

Lots of discussion in the questions session. RGS wanted to see more of the different options -- parsing Haskell, Template Haskell, etc. RN and STH advised on how the talk should be structured. Both agreed that LoCal is mostly internal details that aren't real important to this audience.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants