Book description
Distilling many years of Perl experience--including an insiders look at Perl development (the authors are members of the Perl 6 core development team)--Perl 6 and Parrot Essentials, 2nd Edition is an unparalleled preview of major changes in the widely-anticipated Perl 6. This sneak peek of what's coming in Perl includes succinct but thorough coverage of groundbreaking new developments in Parrot--the language-independent interpreter engine that will execute code written in the new Perl 6 language. Designed to be language independent, Parrot can be used to interpret other dynamic languages such as Python, Tcl, Ruby, and even Java. Perl 6 and Parrot Essentials also uncovers the most revolutionary change in the language itself--Apocalypse 12 on objects. The Apocalypse design documents (in the sense of "revealing", not "end-of-the-world") explain significant changes in new Perl 6 features, numbered according to the chapters in O'Reilly's landmark Camel book , Programming Perl. Apocalypse 12 is the result of cutting-edge research in object-oriented languages and is guaranteed to grab the attention of any serious Perl programmer. Perl 6 and Parrot Essentials also includes expanded coverage of Apocalypse 5 (regular expressions) and Apocalypse 6 (subroutines). Perl 6 and Parrot Essentials is the only book available to chart the course of the long but fruitful voyage of Perl 6. It reveals all the ingenious developments that will make Perl 6 more powerful and easier to use. Perl gurus and programmers alike will rely on this slim but essential book for both a clear view of the Perl horizon and to ensure they hit the ground running once this important new version of Perl is released.
Table of contents
-
Perl 6 and Parrot Essentials, 2nd Edition
- Preface
- 1. Project Overview
- 2. Project Development
-
3. Design Philosophy
-
Linguistic and Cognitive Considerations
- The Waterbed Theory of Complexity
- The Principle of Simplicity
- Huffman Coding
- The Principle of Adaptability
- The Principle of Prominence
- The Principle of End Weight
- The Principle of Context
- The Principle of DWIM
- The Principle of Reuse
- The Principle of Distinction
- Language Cannot Be Separated from Culture
- The Principle of Freedom
- The Principle of Borrowing
- Architectural Considerations
-
Linguistic and Cognitive Considerations
- 4. Basic Syntax
- 5. Subroutines
- 6. Objects
- 7. Grammars and Rules
- 8. Parrot Internals
-
9. Parrot Assembly Language
- Getting Started
- Basics
- Working with PMCs
- Flow Control
- Stacks and Register Frames
- Lexicals and Globals
- Subroutines
- Exceptions and Exception Handlers
- Events
- Threads
- Loading Bytecode
- Classes and Objects
- Writing Tests
- 10. Parrot Intermediate Representation
-
11. Parrot Reference
-
PASM Opcodes
- abs
- acos
- add
- addattribute
- addparent
- and
- asec
- asin
- assign
- atan
- band
- bands
- bnot
- bnots
- bor
- bors
- bounds
- branch
- branch_cs
- bsr
- bxor
- bxors
- callmethod
- callmethodcc
- can
- ceil
- checkevents
- chopn
- chr
- class
- classname
- classoffset
- clear_eh
- clearX
- clone
- close
- cmod
- cmp
- cmp_num
- cmp_str
- collect
- collectoff
- collecton
- compile
- compreg
- concat
- conv_*
- cos
- cosh
- debug
- dec
- decodelocaltime
- decodetime
- defined
- delete
- delprop
- depth
- deref
- die_hard
- div
- dlfunc
- dlvar
- does
- downcase
- end
- enternative
- entrytype
- eq
- eq_addr
- eq_num
- eq_str
- err
- errorsoff
- errorson
- exchange
- exists
- exit
- exp
- exsec
- fact
- fdopen
- find_chartype
- find_encoding
- find_global
- find_lex
- find_method
- find_type
- findclass
- floor
- foldup
- freeze
- gc_debug
- gcd
- ge
- ge_num
- ge_str
- get_addr
- getattribute
- getclass
- getfd
- getfile
- getinterp
- getline
- getpackage
- getprop
- getstd*
- gmtime
- gt
- gt_num
- gt_str
- hav
- if
- inc
- index
- interpinfo
- invoke
- invokecc
- isa
- isnull
- join
- jsr
- jump
- lcm
- le
- le_num
- le_str
- length
- ln
- load_bytecode
- loadlib
- localtime
- log10
- log2
- lookback
- lsr
- lt
- lt_num
- lt_str
- mmdvtfind
- mmdvtregister
- mod
- mul
- ne
- ne_addr
- ne_num
- ne_str
- needs_destroy
- neg
- new
- new_callback
- new_pad
- newclass
- newsub
- noop
- not
- null
- open
- or
- ord
- peek
- peek_pad
- pin
- pioctl
- pop
- pop_pad
- popX
- pow
- printerr
- profile
- prophash
- push
- push_pad
- pushX
- read
- readline
- register
- removeparent
- repeat
- restore
- restoreall
- restoretop
- ret
- rethrow
- rotate_up
- runinterp
- save
- saveall
- savec
- savetop
- sec
- sech
- seek
- set
- setX_ind
- set_addr
- set_chartype
- set_eh
- set_encoding
- setattribute
- setprop
- shift
- shl
- shr
- sin
- singleton
- sinh
- sizeof
- sleep
- spanw
- splice
- sprintf
- store_global
- store_lex
- string_chartype
- string_encoding
- stringinfo
- sub
- subclass
- substr
- substr_r
- sweep
- sweepoff
- sweepon
- sysinfo
- tan
- tanh
- tell
- thaw
- throw
- time
- titlecase
- trace
- transcode
- typeof
- unless
- unpin
- unregister
- unshift
- upcase
- updatecc
- valid_type
- vers
- warningsoff
- warningson
- xor
- PIR Directives
- PIR Instructions
- Parrot Command-Line Options
-
PASM Opcodes
- Index
- Colophon
Product information
- Title: Perl 6 and Parrot Essentials, Second Edition
- Author(s):
- Release date: June 2004
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9780596007379
You might also like
book
Perl 6 Essentials
Perl 6 Essentials is a sneak-preview of Perl 6, the widely-anticipated rewrite of the Perl programming …
book
Think Perl 6
Want to learn how to program and think like a computer scientist? This practical guide gets …
book
Enterprise Curl
Breakthrough Curl techniques Build rich, robust, low-bandwidth Web applications Curl makes it easy to build Internet …
article
Run Llama-2 Models Locally with llama.cpp
Llama is Meta’s answer to the growing demand for LLMs. Unlike its well-known technological relative, ChatGPT, …