q2K BHP
Black History Portal
THE BHP WIRE —
HIDDEN TRUTHS
What's New!
THE JOURNEY THROUGH TIME

Explore Black History

Explore the people, places, events, achievements, struggles and stories that shaped our journey.

✊🏾

Civil Rights

Movements, leaders, victories and the continuing fight for equality.

⚙️

Black Inventors

Innovation, patents, science, technology and world-changing contributions.

🏆

Sports

Pioneers, champions, Negro Leagues, records, activism and excellence.

♟️

People

Meet the people whose lives, choices and achievements shaped the journey.

📍

Places

Black towns, communities, institutions and places where history happened.

📜

Events

Moments that changed communities, movements, institutions and the nation.

Enter a person, place, event, or topic.
MY'STORY

The MOVE Fire

This is a personal recollection on the Move fire on May 13, 1985 Philadelphia police fired thousands of rounds at the MOVE house, city officials approved dropping an explosive device on the roof, the resulting fire was allowed to burn, 11 people—including five children—died, and 61 homes were destroyed. Philadelphia City Council later called it a “brutal attack carried out by the City of Philadelphia on its own citizens” and acknowledged that no individual faced criminal consequences for the bombing. One timeline correction worth preserving for the BHP record: the major previous MOVE-police confrontation was August 8, 1978, about seven years before the bombing, not a year or two earlier. Officer James Ramp was killed, other police and firefighters were wounded, nine MOVE members were later convicted, and television cameras recorded police beating Delbert Africa during his arrest. The 1985 MOVE Commission later specifically criticized city planners for failing to adequately use lessons from that 1978 confrontation. And that actually strengthens the point you’re making: 1985 did not happen without precedent or institutional memory. There had already been a deadly confrontation with MOVE, years of conflict, negotiations and police involvement before Osage Avenue.

MORE →
BLACK FACTS
The Truths They Never Taught You...

Shirley Chisholm — Unbought and Unbossed

In 1968 Shirley Chisholm became the first Black woman elected to the United States Congress. In 1972 she launched a campaign for the Democratic presidential nomination, breaking another political barrier.

MORE →
BHP gathered finds from its connected research sources. Showing the 4 strongest Black History matches.
← BACK TO RESULTS
Wikipedia

Perl Data Language

Perl Data Language (PDL)
ParadigmArray
DeveloperKarl Glazebrook, Jarle Brinchmann, Tuomas Lukka, and Christian Soeller
First appeared1996 (1996)
Stable release
2.106[1] Edit this on Wikidata / 19 August 2026; 56 days ago (19 August 2026)
OSCross-platform
LicenseGNU General Public License, Artistic License
Websitepdl.perl.org
Influenced by
APL, IDL, Perl

Perl Data Language (abbreviated PDL) is a set of free software array programming extensions to the Perl programming language. PDL extends the data structures built into Perl, to include large multidimensional arrays, and adds functionality to manipulate those arrays as vector objects. It also provides tools for image processing, machine learning, computer modeling of physical systems, and graphical plotting and presentation. Simple operations are automatically vectorized across complete arrays, and higher-dimensional operations (such as matrix multiplication) are supported.

Language design

[edit]

PDL is a vectorized array programming language: the expression syntax is a variation on standard mathematical vector notation, so that the user can combine and operate on large arrays with simple expressions. In this respect, PDL follows in the footsteps of the APL programming language, and it has been compared to commercial languages such as MATLAB and Interactive Data Language, and to other free languages such as NumPy and Octave.[2] Unlike MATLAB and IDL, PDL allows great flexibility in indexing and vectorization: for example, if a subroutine normally operates on a 2-D matrix array, passing it a 3-D data cube will generally cause the same operation to happen to each 2-D layer of the cube.[3]

PDL borrows from Perl at least three basic types of program structure: imperative programming, functional programming, and pipeline programming forms may be combined. Subroutines may be loaded either via a built-in autoload mechanism or via the usual Perl module mechanism.

Graphics

[edit]
A plot generated using PDL

True to the glue language roots of Perl, PDL borrows from several different modules for graphics and plotting support. NetPBM provides image file I/O (though FITS is supported natively). Gnuplot, PLplot, PGPLOT, and Prima modules are supported for 2-D graphics and plotting applications, and Gnuplot and OpenGL are supported for 3-D plotting and rendering.

I/O

[edit]

PDL provides facilities to read and write many open data formats, including JPEG, PNG, GIF, PPM, MPEG, FITS, NetCDF, GRIB, raw binary files, and delimited ASCII tables. PDL programmers can use the CPAN Perl I/O libraries to read and write data in hundreds of standard and niche file formats.

Machine learning

[edit]

PDL can be used for machine learning. It includes modules that are used to perform classic k-means clustering or general and generalized linear modeling methods such as ANOVA, linear regression, PCA, and logistic regression. Examples of PDL usage for regression modelling tasks include evaluating association between education attainment and ancestry differences of parents,[4] comparison of RNA-protein interaction profiles that needs regression-based normalization[5] and analysis of spectra of galaxies.[6]

perldl

[edit]

An installation of PDL usually comes with an interactive shell known as perldl, which can be used to perform simple calculations without requiring the user to create a Perl program file. A typical session of perldl would look something like the following:

perldl> $x = pdl [[1, 2], [3, 4]];

perldl> $y = pdl [[5, 6, 7],[8, 9, 0]];

perldl> $z = $x x $y;

perldl> p $z;

[
 [21 24  7]
 [47 54 21]
]

The commands used in the shell are Perl statements that can be used in a program with PDL module included. x is an overloaded operator for matrix multiplication, and p in the last command is a shortcut for print.

Implementation

[edit]

The core of PDL is written in C. Most of the functionality is written in PP, a PDL-specific metalanguage that handles the vectorization of simple C snippets and interfaces them with the Perl host language via Perl's XS compiler. Some modules are written in Fortran, with a C/PP interface layer. Many of the supplied functions are written in PDL itself. PP is available to the user to write C-language extensions to PDL. There is also an Inline module (Inline::Pdlpp) that allows PP function definitions to be inserted directly into a Perl script; the relevant code is low-level compiled and made available as a Perl subroutine.

The PDL API uses the basic Perl 5 object-oriented functionality: PDL defines a new type of Perl scalar object (eponymously called a "PDL", or "ndarray") that acts as a Perl scalar, but that contains a conventional typed array of numeric or character values. All of the standard Perl operators are overloaded so that they can be used on PDL objects transparently, and PDLs can be mixed-and-matched with normal Perl scalars. Several hundred object methods for operating on PDLs are supplied by the core modules.

See also

[edit]

References

[edit]
  1. ^ "Release 2.106". Retrieved 19 August 2026.
  2. ^ "Putting Perl Back on Top in the Fields of Scientific and Financial Computing".
  3. ^ "PDL online documentation (PDL::Threading section)".
  4. ^ Abdellaoui A, Hottenga JJ, Willemsen G, Bartels M, van Beijsterveldt T, Ehli EA, Davies GE, Brooks A, Sullivan PF, Penninx BW, de Geus EJ, Boomsma DI (Mar 2015). "Educational Attainment Influences Levels of Homozygosity through Migration and Assortative Mating". PLOS ONE. 10 (3) e0118935. Bibcode:2015PLoSO..1018935A. doi:10.1371/journal.pone.0118935. PMC 4347978. PMID 25734509.
  5. ^ Wang T, Xie Y, Xiao G (Jan 2014). "dCLIP: a computational approach for comparative CLIP-seq analyses". Genome Biology. 15 (1) R11. doi:10.1186/gb-2014-15-1-r11. PMC 4054096. PMID 24398258.
  6. ^ Sánchez SF, Pérez E, Sánchez-Blázquez P, González JJ, Rosález-Ortega FF, Cano-Dí az M, López-Cobá C, Marino RA, Gil de Paz A, Mollá M, López-Sánchez AR, Ascasibar Y, Barrera-Ballesteros J (April 2016). "Pipe3D, a pipeline to analyze Integral Field Spectroscopy Data: I. New fitting philosophy of FIT3D". Revista Mexicana de Astronomía y Astrofísica. 52: 21–53. arXiv:1509.08552. Bibcode:2016RMxAA..52...21S.
[edit]

Source: Wikipedia. Article content is retrieved live through the MediaWiki API.

No preview image
Wikipedia

Perl Data Language

Perl Data Language (abbreviated PDL) is a set of free software array programming extensions to the Perl programming language. PDL extends the data structures built into Perl, to include large multidimensional arrays, and adds functionality to manipulate those arrays as vector objects. It also provides tools for image processing, machine learning, computer modeling of physical systems, and graphical plotting and presentation. Simple operations are automatically vectorized across complete arrays, and higher-dimensional operations (such as matrix multiplication) are supported.

MORE →
Wikipedia

GNU Data Language

The GNU Data Language (GDL) is a free alternative to IDL (Interactive Data Language), achieving full compatibility with IDL 7 and partial compatibility with IDL 8. Together with its library routines, GDL is developed to serve as a tool for data analysis and visualization in such disciplines as astronomy, geosciences, and medical imaging. GDL is licensed under the GPL. Other open-source numerical data analysis tools similar to GDL include Julia, Jupyter Notebook, GNU Octave, NCAR Command Language (NCL), Perl Data Language (PDL), R, Scilab, SciPy, and Yorick. GDL as a language is dynamically-typed, vectorized, and has object-oriented programming capabilities. GDL library routines handle numerical calculations (e.g. FFT), data visualisation, signal/image processing, interaction with host OS, and data input/output. GDL supports several data formats, such as NetCDF, HDF (v4 & v5), GRIB, PNG, TIFF, and DICOM. Graphical output is handled by X11, PostScript, SVG, or z-buffer terminals, the last one allowing output graphics (plots) to be saved in raster graphics formats. GDL features integrated debugging facilities, such as breakpoints. GDL has a Python bridge (Python code can be called from GDL; GDL can be compiled as a Python module). GDL uses the Eigen numerical library (similar to Intel MKL) to offer high computing performance on multi-core processors. Packaged versions of GDL are available for several Linux and BSD flavours as well as macOS. The source code compiles on Microsoft Windows and other UNIX systems, including Solaris. GDL is not an official GNU package.

MORE →
No preview image
Wikipedia

Array programming

In computer science, array programming refers to solutions that allow the application of operations to an entire set of values at once. Such solutions are commonly used in scientific and engineering settings. Modern programming languages that support array programming (also known as vector or multidimensional languages) have been engineered specifically to generalize operations on scalars to apply transparently to vectors, matrices, and higher-dimensional arrays. These include APL, J, Fortran, MATLAB, Analytica, Octave, PL/I, R, Cilk Plus, Julia, Perl Data Language (PDL) and Raku. In these languages, an operation that operates on entire arrays can be called a vectorized operation, regardless of whether it is executed on a vector processor, which implements vector instructions. Array programming primitives concisely express broad ideas about data manipulation. The level of concision can be dramatic in certain cases: it is not uncommon to find array programming language one-liners that require several pages of object-oriented code.

MORE →
No preview image
Wikipedia

Karl Glazebrook

Karl Glazebrook (born 1965) is a British astronomer, known for his work on galaxy formation, for playing a key role in developing the "nod and shuffle" technique for doing redshift surveys with large telescopes, and for originating the Perl Data Language (PDL). Glazebrook was born in 1965 in the United Kingdom, and educated at the University of Cambridge and the University of Edinburgh (PhD 1992). He held post-doctoral appointments at the University of Durham and University of Cambridge before moving to the Anglo-Australian Observatory, where he played a central role in supporting the 2dF galaxy survey as its instrument scientist. He moved to Johns Hopkins University in 2000 where he was Professor of Astronomy until 2006, at which time he became Professor of Astronomy at Swinburne University of Technology in Melbourne, Australia. His work has been cited over 40,000 times in the literature of astronomy. Glazebrook also developed the open-source Perl Data Language, a perl-based alternative to the commercial IDL. Glazebrook was one of the leaders of the Gemini Deep Deep Survey (GDDS) which measured the evolution of galaxies using Gemini Observatory and the Hubble and Spitzer Space Telescopes. The project, along with a number of other studies, determined in 2004 that massive galaxies formed surprisingly early in the distant Universe, explaining why a lot of them appear so remarkably old. As a whimsical side-project Glazebrook also determined that the bulk-averaged color of the Universe is cosmic latte. Both pieces of work received wide publicity in the international press. The bulk-averaged color earned some additional international publicity because a software bug had initially suggested a pale turquoise instead of the bland beige. He is also well known in the astronomical community for his pioneering work in developing the baryon oscillation technique to use the distribution of galaxies as a probe of dark energy. After his move to Australia he played a leading role in the WiggleZ Dark Energy Survey between 2006 and 2011.

MORE →
TOPIC OF THE DAY

Greenwood / Black Wall Street

Before the 1921 destruction of Tulsa’s Greenwood District, Black residents had created a remarkable center of business and community life. The district included stores, professional offices, entertainment venues and homes owned by Black citizens. Understanding Greenwood means learning what was built—not only what was burned.

MORE →
TRIVIA QUESTION OF THE DAY

Which heavyweight champion was known as the “Brown Bomber”?

Joe Louis.