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

[Perl 6] Feedback from a a person new to Perl 6 #1390

Closed
zoffixznet opened this issue Oct 7, 2015 · 10 comments
Closed

[Perl 6] Feedback from a a person new to Perl 6 #1390

zoffixznet opened this issue Oct 7, 2015 · 10 comments

Comments

@zoffixznet
Copy link
Contributor

Hey,

Just some of my feedback for what I found confusing on the tutorial; I'm totally new to Perl 6:

Content and Terms

  • Currently this and this emit warnings about whitespace insignificance. Need to quote
  • Here is confusing, because first you create an "infinite" array, and then proceed to talk about using closure and length. What's the length of an infinite array? I tried running the code and it just sat there. The closure examples likely need something like my @array = 1..20; before them.
  • This whole note should probably just be removed: It has virtually no value, even for Perl 5 programmers (me being one of them); it's superfluous in the context of a "quick Perl 6 tut"; and the tutorial doesn't actually explain what keyword package does, so mentioning at all is confusing.
  • Here, it's confusing by what is meant by using packages directly. Should it be worded using "package" keyword directly?
  • Here it's not clear at all what assert pre/post- condition is. Maybe add an example? Or remove some phasers from the tut
  • fixed by Many fixes mentioned in #1390 #1434 This makes me feel the implementation is broken or that I shouldn't be using inheritance. The line should either be removed or it should be briefly explained what exactly is the issue with inheritance.
  • fixed by Many fixes mentioned in #1390 #1434 Here abc => ABC for extra clarity
  • fixed by Many fixes mentioned in #1390 #1434 Output here should be ae
  • fixed by Many fixes mentioned in #1390 #1434 This actually dies now with Unable to deduce arithmetic or geometric sequence
  • fixed by Many fixes mentioned in #1390 #1434 ~~Here splat?? No idea what that is. I think it's @ or *@. Check and add explanation. It's the * (from Ruby's term for an operator like that). Need to clarify in the docs
  • fixed by Many fixes mentioned in #1390 #1434 I'd suggest removing ENTER from this line here, since ENTER phaser there is superfluous and the example confuses about the purpose of the ENTER phaser; makes you question what difference it provides there as opposed to plain $db.start-transaction;
  • fixed by Many fixes mentioned in #1390 #1434 This, this, this, this, this (and one below it) lines are too long and get cut off
  • fixed by Many fixes mentioned in #1390 #1434 Is executed the right term to use here? Would initialized be clearer?
  • fixed by Many fixes mentioned in #1390 #1434 This entire paragraph should be rewritten. It starts with our..., then mentions my even though it was just mentioned a few lines prior, then it mentions some previous part, which made me go huh? wat?
  • fixed by Many fixes mentioned in #1390 #1434 This does not seem to be the case any longer. I get Semicolon form of 'module' without 'unit' is illegal. You probably want to use 'unit module'
  • fixed by Many fixes mentioned in #1390 #1434 ~~Here I've no idea what the autoquoted => "key" bit does. How does the auto-quotation mechanism work? I've just now realized that autoquoted is a name of a key and not a processing instruction. What confused me is that when I dumped the hash with say %hash.perl;, I got {:autoquoted("key"), "some other" => "value"}, which made me think :autoquoted was something special. The key autoquoted should be renamed to something more generic and easily recognizable; e.g foo => "bar"
  • fixed by Many fixes mentioned in #1390 #1434 Here, that line should probably be moved all the way to here. In its current place it doesn't make much sense. Also, here, I'd change capture to store in a variable.
  • fixed by Many fixes mentioned in #1390 #1434 Here it's unclear what Any is. It's explained a few lines below, here, and I think some confusion can be avoided by moving explanation to earlier in the text.
  • fixed by Many fixes mentioned in #1390 #1434 This bit is really confusing. I logged in to IRC to ask the channel, and then recalled Larry's talk about "magic" in list generation. It's not obvious how the values are generated in that sequence. It should be explained in the comments or use more obvious pattern, like my @seq = 0, 5, 10 ...^ * > 100;
  • fixed by Many fixes mentioned in #1390 #1434 Here there seems to be
    some confusion in the comments with $*a vs. $*foo
  • fixed by Many fixes mentioned in #1390 #1434 Here the sentences about $. and $! seem broken and are confusing.
  • fixed by Many fixes mentioned in #1390 #1434 This entire section seems to use term "fields" for class's attribute. Perl 6 devs call them attributes and so do some other languages. It would be nice to have consistency in nomenclature.

Typos

@vendethiel
Copy link
Collaborator

I have a hard time believing you're new to it... But thanks ;-).

@Ribeiro
Copy link
Contributor

Ribeiro commented Oct 7, 2015

@vendethiel Me too ! =D

@zoffixznet
Copy link
Contributor Author

@vendethiel @Ribeiro lol, I wonder what it is about me that makes that suspicious? :) I've been meaning to learn Perl 6 for a while, but never had the time. Learning now though.

As for the PR: I actually found more stuff (I'm midway through the tutorial right now). I'll keep adding what I find to the list above and when I'm done with the tutorial I'll make a PR for anything that I can fix :)

@vendethiel
Copy link
Collaborator

I've seen you on IRC pretty often

@Ribeiro
Copy link
Contributor

Ribeiro commented Oct 8, 2015

@zoffixznet Please, keep up the good work since Perl seems like hieroglyphs to me =D

zoffixznet added a commit to zoffixznet/learnxinyminutes-docs that referenced this issue Oct 9, 2015
@zoffixznet
Copy link
Contributor Author

I'm finished. The few items that I werent able to answer in my PR (#1434) are the non-crossed out items at the top :)

@BenGoldberg1
Copy link

You're first item, a comment about a possible misfeature is because many peope believe that multiple inheritance is a bad thing, and that simply having it in the langauge is a bad thing. There is of course nothing wrong with perl6's implementation of inheritance, nor in it's implementation of multiple inheritance.

zoffixznet added a commit to zoffixznet/learnxinyminutes-docs that referenced this issue Oct 10, 2015
@zoffixznet
Copy link
Contributor Author

Thanks! I've updated the PR (removed the misfeature comment, since it's not really fitting for the context of a short, quickie tut).

zoffixznet added a commit to zoffixznet/learnxinyminutes-docs that referenced this issue Oct 10, 2015
zoffixznet added a commit to zoffixznet/learnxinyminutes-docs that referenced this issue Oct 10, 2015
zoffixznet added a commit to zoffixznet/learnxinyminutes-docs that referenced this issue Oct 10, 2015
zoffixznet added a commit to zoffixznet/learnxinyminutes-docs that referenced this issue Oct 10, 2015
vendethiel added a commit that referenced this issue Oct 10, 2015
vendethiel added a commit that referenced this issue Nov 8, 2015
@Zoffixnet, awaiting your review
@vendethiel
Copy link
Collaborator

ae9762f


Here is confusing, because first you create an "infinite" array, and then proceed to talk about using closure and length. What's the length of an infinite array? I tried running the code and it just sat there. The closure examples likely need something like my @array = 1..20; before them.

This was added at some point:

# Note: if you try to do either of those with an infinite array,
#       you'll trigger an infinite loop (your program won't finish)

This whole note should probably just be removed: It has virtually no value, even for Perl 5 programmers (me being one of them); it's superfluous in the context of a "quick Perl 6 tut"; and the tutorial doesn't actually explain what keyword package does, so mentioning at all is confusing.

Those were removed at a previous time

Here, it's confusing by what is meant by using packages directly. Should it be worded using "package" keyword directly?

That was reworded at some point, but I changed it again.

Here it's not clear at all what assert pre/post- condition is. Maybe add an example? Or remove some phasers from the tut

I added a (hopefully better) explanation.


@zoffixznet If you agree those are fixed, we can close this :-).

@zoffixznet
Copy link
Contributor Author

Thanks!

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