Calamitaceae
Calamitaceae is an extinct family of plants related to the modern horsetails.[1] Some members of this family attained tree-like stature during the Carboniferous Period (around 360 to 300 million years ago) and in Permian Period, reaching heights of up to 20 meters. The family takes its name from its principal genus Calamites.
Calamitaceae | |
---|---|
![]() | |
Annularia stellata | |
Scientific classification ![]() | |
Kingdom: | Plantae |
Clade: | Tracheophytes |
Class: | Polypodiopsida |
Subclass: | Equisetidae |
Order: | Equisetales |
Family: | †Calamitaceae Unger, 1840 |
Genera | |
See text |
Because some proposed species are based on partial fossil records, it is not clear if these are merely different parts of the same type.
Proposed genera and species of Calamitaceae
![](../I/m/Asterophyllites_Equisetiformis.jpg)
Asterophyllites equisetiformis
- Annularia.
- A. stellata.
- Arthropitys.
- Asterophyllites (or incorrectly Asterophyllum).
- Astromyelon.
- Calamites.
- C. carinatus.
- C. suckowi.
- C. undulatus.
- Calamocarpon.
- Calamostachys.
- C. binneyana.
- Cingularia.
- Mazostachys.
- Paleostachya.
gollark: Anyway, good news systemd-dislikers, I made an EXCELLENT and AMAZING replacement using the RUST programming language.
gollark: I have DashMap in here because of some vague dream of concurrently doing... stuff.
gollark: ```rustuse std::process::Command;use anyhow::Result;use std::path::Path;use std::fs;#[derive(serde::Serialize, serde::Deserialize, Debug)]struct RawServiceSpec { command: String, args: Vec<String>, name: Option<String>}#[derive(Debug)]struct ServiceSpec { command: String, args: Vec<String>, name: String}fn load_spec(path: &Path) -> Result<ServiceSpec> { let file = fs::read_to_string(path)?; let raw: RawServiceSpec = toml::from_str(&file)?; Ok(ServiceSpec { command: raw.command, args: raw.args, name: path.file_stem().unwrap().to_string_lossy().to_string() })}fn run_service(serv: ServiceSpec) -> Result<()> { println!("thread {:?}", serv); loop { println!("Starting"); let mut child = Command::new("/bin/env") .arg("python3") .arg("test.py") .spawn()?; child.wait()?; } Ok(())}fn main() -> Result<()> { let services = dashmap::DashMap::new(); for entry in fs::read_dir("./services")? { let s = load_spec(&entry?.path())?; services.insert(s.name.clone(), s); } let mut handles = Vec::new(); for e in services { handles.push(std::thread::spawn(|| run_service(e.1))); } for handle in handles { handle.join().unwrap(); } Ok(())}```
gollark: Well, I guess that's systemd replaced.
gollark: I can define a service in a TOML file and it's automatically restarted on exit and all.
References
- Elgorriaga, A.; Escapa, I.H.; Rothwell, G.W.; Tomescu, A.M.F.; Cúneo, N.R. (2018). "Origin of Equisetum: Evolution of horsetails (Equisetales) within the major euphyllophyte clade Sphenopsida". American Journal of Botany. 105 (8): 1286–1303. doi:10.1002/ajb2.1125. PMID 30025163.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.