Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • Linux Kernel 3.9.6 / 3....
  • Linux Kernel 3.0.82 LTS...
  • KDE Software Compilatio...
  • PulseAudio 4.0
  • Wireshark 1.10.0
  • NetworkManager 0.9.8.2
  • LibreOffice 3.6.6 / 4.0...
  • SystemRescueCd 3.7.0
  • Linux Kernel 3.10 RC6
  • Ubuntu Tweak 0.8.5
  • 7-DAY TOP DOWNLOAD
    #
    Program
    Psiphon 3
    1,785 downloads
    Wine 1.4.1 / 1.6 RC2
    1,269 downloads
    LibreOffice 3.6.6 /
    4.0.3 / 4.0.4 RC2 /
    4.1.0 Beta 2

    1,242 downloads
    BackTrack 5 R3
    1,131 downloads
    Adobe Flash Player
    for Linux
    11.2.202.258

    1,014 downloads
    Red Hat Linux 9
    1,003 downloads
    VLC 2.0.7
    880 downloads
    Ubuntu 10.04.4 LTS
    783 downloads
    Red Hat Enterprise
    Linux 6.4

    698 downloads
    Ubuntu 12.04.2 LTS
    671 downloads
    MOST POPULAR DISTROS
    #
    Distribution
    PCLinuxOS 2013.04
    User rating: 4.8/5
    Votes: 370
    Ubuntu 9.10
    User rating: 4.4/5
    Votes: 267
    OpenMandriva
    20130513

    User rating: 4.4/5
    Votes: 624
    Clonezilla LiveCD
    2.1.1-25 / 2.1.2-12

    User rating: 4.3/5
    Votes: 260
    BackTrack 5 R3
    User rating: 4.3/5
    Votes: 569
    Fedora 18
    User rating: 4.3/5
    Votes: 613
    openSUSE Linux 12.3
    / 13.1 Milestone 2

    User rating: 4.2/5
    Votes: 471
    Ubuntu 12.04.2 LTS
    User rating: 4.2/5
    Votes: 694
    Ubuntu 10.04.4 LTS
    User rating: 4.0/5
    Votes: 286
    Linux Mint 15
    User rating: 4.0/5
    Votes: 371
    Home > Linux > Programming > Compilers > Chapel > Changelog

    Chapel 1.3.0 Pre-Alpha - Changelog


    What's new in Chapel 1.3.0 Pre-Alpha:

    July 14th, 2011

    · Highlights (see below for details)
    · split 'def' keyword into 'proc' (for procedures) and 'iter' (for iterators)
    · (see '$CHPL_HOME/util/convert-defs --help' for help updating existing codes)
    · added 'Replicated' distribution and improved 'Block-Cyclic' distribution
    · (see "Standard Distributions" in spec and examples/primers/distributions.chpl)
    · added single-locale task layers for Nanos++ (BSC) and Qthreads (Sandia)
    · (see doc/README.tasks)
    · major reworking of range semantics and implementation
    · (see "Semantic Changes / Changes to Chapel Language" below for detail)
    · initial support for volatile types: bool, int, uint, real, imag
    · (see doc/technotes/README.volatile)
    · support for extern consts and classes (pointers-to-structs)
    · (see doc/technotes/README.extern)
    · improved support for data parallelism on the Cray XMT
    · extensive improvements to the sample codes in the examples/ directory
    · (see 'Example Codes' below and examples/README)
    · added most code examples from the spec to a new examples/ directory
    · (see examples/spec/*)
    · added a technical note describing the user-defined domain map interface
    · (see doc/technotes/README.dsi)
    · extensive updates to the language specification
    · (see 'Documentation' below)
    · several improvements to the runtime tasking and communications layers
    · (see "Runtime Library Changes" below)
    · Syntactic/Naming Changes
    · split 'def' keyword into 'proc' (for procedures) and 'iter' (for iterators)
    · (see '$CHPL_HOME/util/convert-defs --help' for help updating existing codes)
    · renamed 'arithmetic' domains/arrays to 'rectangular' domains/arrays
    · added support for floating point literals of the form '1.e...'
    · (previously, only '1e...' and '1.0e...' were supported)
    · Semantic Changes / Changes to Chapel Language
    several improvements to ranges (see 'Ranges' chapter in the language spec):
    · added a concept of alignment to indicate an alignment modulo |stride|
    · added an 'align' operator and query to ranges to specify/query alignment
    · (e.g., '1..10 by 3 align 2' => '2, 5, 8' since 2 == 5 == 8, mod 3)
    · defined == on ranges in terms of the integer sequences they generate
    · defined ident(r1, r2) to say whether r1 and r2 are semantically identical
    · defined '# k' for k < 0 as meaning "count from the end of the range"
    · added 'first', 'last', 'alignedLow, 'alignedHigh' methods to ranges
    · (e.g., '1..10 by -2' => first==10, last==2, alignedLow=2, alignedHigh=10)
    · added support for a variety of new range query functions
    · (e.g., alignLow(), hasFirst(), hasLowBound(), isAligned(), boundsCheck()...)
    · added support for volatile bool, int, uint, real, and imag types
    · (see doc/technotes/README.volatile)
    · added an end-of-file check to the file type
    · (e.g., 'while !infile.eof ...')
    · removed support for treating 'return' in iterator as a 'yield'
    · (e.g., change 'iter foo() { return x; }' to 'iter foo() { yield x; return; }')
    · added support to referencing modules without first 'use'-ing them
    · (e.g., module M1 { var x...} module M2 { ...M1.x... } is now legal)
    · added a callStackSize query to the locale type
    · (e.g., 'here.callStackSize' returns the call stack size on the current locale)
    · removed the previously-required semicolon from the end of enum declarations
    · (e.g., 'enum colors {red, blue, green}' is now legal; previously needed ';')
    · added support for a single trailing comma at the end of enum lists
    · (e.g., 'enum colors {red, blue, green, }' is now legal)
    · removed support for +/- operators on rectangular domains; use translate()
    · Newly Implemented Features
    · implemented ==/!= for rectangular, associative, and sparse domains
    · Standard Distributions
    · added a first-draft 'Replicated' distribution for storing data redundantly
    · (see examples/primers/distributions.chpl)
    · improved 'Block-Cyclic', sufficient to correctly implement HPCC PTRANS and HPL
    · (see examples/hpcc/ptrans.chpl, hpl.chpl; examples/primers/distributions.chpl)
    · removed redundancy in specification of leader iterators between domains/arrays
    · Standard Modules
    · added INFINITY and NAN constants to the Math.chpl module
    · (see 'Math' under "Standard Modules" in language spec)
    · added isinf() and isfinite() test routines to the Math.chpl module
    · (see 'Math' under "Standard Modules" in language spec)
    · added a half dozen more routines to the GMP.chpl module
    · Documentation
    · added a new technical note describing the user-defined domain map interface
    · (see doc/technotes/README.dsi)
    · made many improvements to the language specification
    · major revisions to the Domains chapter to improve clarity/accuracy
    · improved and unified structure of Records and Classes chapters
    · major revisions to the Domain Maps chapter to improve clarity/accuracy
    · named example codes to provide cross-reference to examples/spec/ programs
    · clarified the legality of label/break/continue in parallel loops
    · updated the descriptions of read[ln]/write[ln]
    · fixed some problems in file fields ordering
    · reformatted the specification as a 'book' in LaTeX
    · various minor fixes of typos/mistakes
    · improved definitions/descriptions of several terms
    · added documentation of locale.name
    · and many other changes...
    · updated quick reference document to include def->proc/iter change, align op.
    · rewrote/reorganized README.extern to clarify explanations and bring up-to-date
    · added a README describing the 'local' statement (doc/technotes/README.local)
    · added a README describing volatile types (doc/technotes/README.volatile)
    · updated README.comm-diagnostics to mention fast fork statistics
    · updated various README files
    · Example Codes
    · placed most code examples from the language spec. to a new spec/ subdirectory
    improved the primers/ directory:
    · added a new primer for using procedures (primers/procedures.chpl)
    · added a basic primer for domains (primers/domains.chpl)
    · renamed the locales primer to locales.chpl and improved it
    · improved the distributions primer and added Block-Cyclic and Replicated uses
    · updated the range primer (primers/range.chpl)
    · improved the iterators primer (primers/iterators.chpl)
    · improved the reductions primer (primers/reductions.chpl)
    · added getCurrentTime() to the timers primer (primers/timers.chpl)
    · added descriptions of type aliases and config types to variables primer
    · (see primers/variables.chpl)
    · improved hpcc/ benchmarks directory
    · added first version of HPCC PTRANS to hpcc/ directory (ptrans.chpl)
    · added cleaner version of HPCC HPL to hpcc/ directory (hpl.chpl)
    · added a variants/ subdirectory to examples/hpcc to exhibit other approaches
    · added stream-promoted.chpl to show use of promotion in global STREAM Triad
    · added ra-cleanloop.chpl to show cleaner (but currently slower) RA kernel
    improved top-level examples:
    · renamed existing "hello, world" examples to suggest a logical reading order
    · (see examples/hello*.chpl)
    · added data parallel and distributed data parallel hello, world examples
    · (see examples/hello3-datapar.chpl, examples/hello4-datapar-dist.chpl)
    · added comments to the various hello, world examples (examples/hello*.chpl)
    · updated all examples to current language semantics
    · use 'proc'/'iter' rather than 'def'
    · update to reflect new range semantics
    · Platform-specific Notes
    · for Cray XT/Cray XE, improved the aprun and pbs-aprun launchers
    · (see "Launcher-specific notes" below)
    · for Cray XMT, added support for parallel loops over ranges
    · for Cray XMT, added generation of noalias pragmas to forall loop variables
    · added support for BSC's MareNostrum including docs and a special launcher
    · (see doc/platforms/README.marenostrum)
    · Launcher-specific notes
    · added launcher-specific options to --help capability
    · improved propagation of exit status codes through launchers
    · changed launchers to support exec-based (rather than system-based) commands
    · made launchers use 'unlink' rather than system('rm') to remove temporary files
    · added a launcher for BSC's MareNostrum
    · reduced number of temporary files used to capture output of 'system' commands
    aprun launcher improvements:
    · added a --cc flag to specify CPU assignment w/in a node
    · added a -q flag to run the launcher in quiet mode
    · added debug capability via CHPL_LAUNCHER_DEBUG to keep tmp files around
    pbs-aprun launcher improvements:
    · added a --cc flag to specify CPU assignment w/in a node
    · added debug capability via CHPL_LAUNCHER_DEBUG to keep tmp files around
    · cleaned up output to get rid of some extraneous printing
    · made launcher support our testing system
    · added --walltime and --queue flags to launcher as alternatives to env. vars.
    · Compiler Changes
    · made the compiler print 'true'/'false' out in type signatures rather than 1/0
    · added config param 'noRefCount' to disable reference counting (may leak memory)
    · Compiler Flags
    · added a --print-callstack-on-error flag to show what led to a bad call
    · added a --no-codegen flag to skip the code-generation and linking phase
    · Interoperability Changes
    · added support for extern C "classes" (pointer-to-struct types)
    · added support for extern consts (see README.extern)
    · Error Message Improvements
    · added a warning orphaned 'use' statements outside of declared modules
    · (e.g., 'use M1; module M2 { }' should typically be 'module M2 { use M1; }')
    · made parse-time error message use the standard 'filename:lineno:' format
    · generated an error message for referring to a class name in a primary method
    · (e.g., 'class C { def C.m() {...} }' now generates an error message)
    · Bug Fixes / New Semantic Checks (for old semantics)
    · prevented config types from being set using execution time command-line flags
    · fixed the compiler's ability to handle unions with no fields
    · fixed the minloc/maxloc reductions to handle empty ranges/subranges of values
    · fixed a bug in which the 'path' argument to file constructors was ignored
    · made empty unions work correctly
    · fixed an overflow issue in chunking up ranges for distribution/parallelization
    · fixed a bug involving support for empty extern record types
    · fixed a bug involving extern functions that return records
    · fixed a bug related to copying external records
    · fixed implementation of +/- operators on associative/sparse domains
    · fixed a bug relating to filename-based module names containing multiple '.'s
    · added error messages for expand/exterior/interior on irregular domains
    · added an error for constructors/destructors with a specified return type
    · fixed a pair of bugs relating to the 'fast on' optimization
    · added a check against constructing classes without specifying generic fields
    · Packaging Changes
    · added syntax highlighter code for GNU source-highlight
    · (see etc/source-highlight/README)
    · improved emacs coloring support for version 22.x
    · (see etc/emacs/README)
    · updates to vim syntax coloring to reflect new 'proc'/'iter' keywords
    · (see etc/vim/README)
    · added a script for converting existing codes' use of 'def' to 'iter'/'proc'
    · (see $CHPL_HOME/util/convert-defs)
    · removed multirealm examples & documentation for the time being
    · Third-Party Software Changes
    · updated GASNet to version 1.16.1
    · added copies of BSC's Nanos++ and Sandia's Qthreads
    · (see third-party/README)
    · made a post-install step for GASNet that changes absolute paths to relative
    · removed PVM for the time being due to instability
    · Runtime Library Changes
    · added single-locale task layers for Nanos++ (BSC) and Qthreads (Sandia)
    several improvements to the runtime tasking layer:
    · added a new interface for having the tasking layer call chpl_main()
    · changed tasking init function to take maxThreadsPerLocale/callStackSize args
    · added a task yield capability to the tasking layer interface
    · improved runtime code to avoid using sync vars before initializing tasking
    · removed macro-ized form of tasking interface; using standard names instead
    · unified naming of all task layer routines to chpl_sync_*() and chpl_task_*()
    · removed requirement to implement the single variable interface
    · moved termination of threads from fifo tasking layer to pthreads threading
    · simplified implementation of sync variables in the pthread threading layer
    · moved responsibility for thread counts from fifo tasking to pthread threading
    several improvements to the runtime communication layer:
    · restructured the communication interface to support length/type arguments
    · added an interface for non-blocking get operations to the comm. interface
    · unified all remote get operations to use CHPL_COMM_GET() macro
    · refactored/renamed the communication interface headers
    · Testing System
    · vastly improved the performance testing and graphing capabilities
    · (see comments at the front of start_test for documentation)
    · improved the testing system's support for cleaning up after itself
    · added ability to avoid using any indirection of stdin
    · added an option to provide a system-wide prediff option
    · added ability to use a launcher's native timeout feature rather than Python's
    · improved how the testing system kills a test that times out
    · fixed a bug in which .preexec files only worked if '.' was in your path
    · Internal
    · added a --break-on-id compiler flag for developers to locate AST node creates
    · improved organization of util/ directory contents
    · changed the way version numbers are computed/displayed for SVN-based users
    · added support for task-/thread-specific module code
    · added a capability to print the AST counts allocated between each pass
    · added a new gdb alias to compiler --gdb: 'loc' prints an AST node's location
    · greatly improved implementation of pragmas/flags to avoid error cases
    · removed several instances of unnecessary string comparisons in the compiler
    · removed error-prone use of CHPL_TASKS and CHPL_THREADS as preprocessor symbols
    · added bestPractices documentation for developers (not included in release)
    · changed internal munging of '=' and '==' to 'ASSIGN' and 'EQUALS' respectively
    · added a --print-id-on-error developer flag to print AST ID on errors
    · improved the strictness of C++ prototype checking
    · added external contributor agreements to the SVN tree (not in release)
    · added a notion of internal types used by the compiler but not the user




    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM