Seed7

Software kuvakaappaus:
Seed7
Ohjelmiston tiedot:
Versio: 2018-04-01 Päivitetty
Lähetyksen päivämäärä: 22 Jun 18
Kehittäjä: Thomas Mertes
Lupa: Vapaa
Suosio: 71

Rating: 2.0/5 (Total Votes: 1)

Vertaamalla sitä Ada, C / C ++ ja Java, Seed7 -ohjelmointikieli on tehokkaampi ja monipuolisempi, koska sen kehittäjä kuvaa sitä projektin verkkosivustossa. Se pystyy kääntämään ohjelmia C-sovelluksiin, jotka sitten kootaan koneen koodiksi. Seed7: n avulla tyypillisten parametrien ja tyyppitulosten toiminnot ovat tyylikkäimpiä kuin geneeristen konseptien tai malleja.


Ominaisuudet yhdellä silmäyksellä

Tärkeimpiin ominaisuuksiin kuuluvat käyttäjän määrittelemät operaattorit ja lausunnot, tuki orientaatiolle (useita lähetyksiä ja rajapintoja), tuki lähdekoodin virheenkorjausta varten, vahva kirjoitustuki, poikkeustoiminnan tuki, menettelyjen ylikuormitus, lausunnot, operaattorit ja toiminnot kuten erilaisten ennalta määriteltyjen tyyppien tuki, kuten resizable-taulukoita, bitsetejä, hashoksia, rakennuksia, aikaa, väriä, kestoa jne.


Lisäksi Seed7 tukee numeerien bigRational- ja bigInteger-tyyppejä, joiden avulla käyttäjät voivat helposti määrittää genereja ja malleja ilman erityistä syntaksia, ja se sisältää ennalta määritetyt konstruktiot, kuten for-silmukat ja taulukot. Toinen mielenkiintoinen piirre on se, että ohjelmiston avulla kehittäjät voivat luoda ohjelmia, jotka ovat siirrettävissä get-go-ohjelmasta ilman, että täytyy muuttaa lähdekoodia.

Automaattinen muistinhallinta

Seed7: ssä on myös automaattinen muistinhallintatoiminto, joka toimii ulos-of-the-boxissa tarvitsematta käyttää roskakerääjää. Lisäksi ohjelmisto auttaa kehittäjiä löytämään virheitä ohjelmoitavissa ohjelmissaan, koska automaattiset valinnat eivät ole staattisia ja että ne eivät ole staattisia.


Tuetut käyttöjärjestelmät, käyttöoikeudet ja saatavuus

Seed7 toimii kaikissa GNU / Linux-käyttöjärjestelmissä, samoin kuin erilaisissa UNIX- ja Microsoft Windows OS-käyttöjärjestelmissä. On hyvä tietää, että vaikka runtime kirjasto jaetaan LGPL-lisenssin alla, tulkki ja esimerkkiohjelmat ovat ladattavissa GPL-lisenssillä.

Uutta tämä julkaisu:

  • Ulkoisen toiminnon käyttöliittymää käsittelevää käsikirjaa on parannettu.
  • Unicoden käsittely konsolissa on parantunut.
  • Kaikki C-toimintoihin siirretyt merkkijono tarkistetaan nyt.
  • Useiden runtime-toimintojen suorituskykyä on parannettu.
  • Uusia joustavia muunnosfunktioita on lisätty bytedata.s7c.
  • Dokumentaatiomuutoksia on lisätty tai parannettu useissa tiedostoissa.
  • Ohjelma chk_all.sd7 on parannettu tarkistamaan useita kääntäjän asetuksia.
  • Kääntäjä on parannettu tekemään enemmän optimointeja.
  • Tarkistukset on lisätty chkbig.sd7: een, chkexc.sd7: ään ja chkflt.sd7: ään.

Uutta versiona:

  • Ulkoisen toiminnon käyttöliittymää käsittelevää käsikirjaa on parannettu.
  • Unicoden käsittely konsolissa on parantunut.
  • Kaikki C-toimintoihin siirretyt merkkijono tarkistetaan nyt.
  • Useiden runtime-toimintojen suorituskykyä on parannettu.
  • Uusia joustavia muunnosfunktioita on lisätty bytedata.s7c.
  • Dokumentaatiomuutoksia on lisätty tai parannettu useissa tiedostoissa.
  • Ohjelma chk_all.sd7 on parannettu tarkistamaan useita kääntäjän asetuksia.
  • Kääntäjä on parannettu tekemään enemmän optimointeja.
  • Tarkistukset on lisätty chkbig.sd7: een, chkexc.sd7: ään ja chkflt.sd7: ään.

Uutta versiossa 2016-04-30:




Uusi Siemen7: stä 2014-01-19 (20. tammikuuta 2014)

Uutta versiossa 2016-03-30:

  • Ulkoisen toiminnon käyttöliittymää käsittelevää käsikirjaa on parannettu.
  • Unicoden käsittely konsolissa on parantunut.
  • Kaikki C-toimintoihin siirretyt merkkijono tarkistetaan nyt.
  • Useiden runtime-toimintojen suorituskykyä on parannettu.
  • Uusia joustavia muunnosfunktioita on lisätty bytedata.s7c.
  • Dokumentaatiomuutoksia on lisätty tai parannettu useissa tiedostoissa.
  • Ohjelma chk_all.sd7 on parannettu tarkistamaan useita kääntäjän asetuksia.
  • Kääntäjä on parannettu tekemään enemmän optimointeja.
  • Tarkistukset on lisätty chkbig.sd7: een, chkexc.sd7: ään ja chkflt.sd7: ään.

Uutta versiossa 2016-02-29:

  • Ulkoisen toiminnon käyttöliittymää käsittelevää käsikirjaa on parannettu.
  • Unicoden käsittely konsolissa on parantunut.
  • Kaikki C-toimintoihin siirretyt merkkijono tarkistetaan nyt.
  • Useiden runtime-toimintojen suorituskykyä on parannettu.
  • Uusia joustavia muunnosfunktioita on lisätty bytedata.s7c.
  • Dokumentaatiomuutoksia on lisätty tai parannettu useissa tiedostoissa.
  • Ohjelma chk_all.sd7 on parannettu tarkistamaan useita kääntäjän asetuksia.
  • Kääntäjä on parannettu tekemään enemmän optimointeja.
  • Tarkistukset on lisätty chkbig.sd7: een, chkexc.sd7: ään ja chkflt.sd7: ään.

Uutta versiossa 2016-01-30:

  • Ulkoisen toiminnon käyttöliittymää käsittelevää käsikirjaa on parannettu.
  • Unicoden käsittely konsolissa on parantunut.
  • Kaikki C-toimintoihin siirretyt merkkijono tarkistetaan nyt.
  • Useiden runtime-toimintojen suorituskykyä on parannettu.
  • Uusia joustavia muunnosfunktioita on lisätty bytedata.s7c.
  • Dokumentaatiomuutoksia on lisätty tai parannettu useissa tiedostoissa.
  • Ohjelma chk_all.sd7 on parannettu tarkistamaan useita kääntäjän asetuksia.
  • Kääntäjä on parannettu tekemään enemmän optimointeja.
  • Tarkistukset on lisätty chkbig.sd7: een, chkexc.sd7: ään ja chkflt.sd7: ään.

Uutta versiossa 2015-11-29:

  • Ulkoisen toiminnon käyttöliittymää käsittelevää käsikirjaa on parannettu.
  • Unicoden käsittely konsolissa on parantunut.
  • Kaikki C-toimintoihin siirretyt merkkijono tarkistetaan nyt.
  • Useiden runtime-toimintojen suorituskykyä on parannettu.
  • Uusia joustavia muunnosfunktioita on lisätty bytedata.s7c.
  • Dokumentaatiomuutoksia on lisätty tai parannettu useissa tiedostoissa.
  • Ohjelma chk_all.sd7 on parannettu tarkistamaan useita kääntäjän asetuksia.
  • Kääntäjä on parannettu tekemään enemmän optimointeja.
  • Tarkistukset on lisätty chkbig.sd7: een, chkexc.sd7: ään ja chkflt.sd7: ään.

Uutta versiossa 2015-09-14:

  • Ulkoisen toiminnon käyttöliittymää käsittelevää käsikirjaa on parannettu.
  • Unicoden käsittely konsolissa on parantunut.
  • Kaikki C-toimintoihin siirretyt merkkijono tarkistetaan nyt.
  • Useiden runtime-toimintojen suorituskykyä on parannettu.
  • Uusia joustavia muunnosfunktioita on lisätty bytedata.s7c.
  • Dokumentaatiomuutoksia on lisätty tai parannettu useissa tiedostoissa.
  • Ohjelma chk_all.sd7 on parannettu tarkistamaan useita kääntäjän asetuksia.
  • Kääntäjä on parannettu tekemään enemmän optimointeja.
  • Tarkistukset on lisätty chkbig.sd7: een, chkexc.sd7: ään ja chkflt.sd7: ään.

Uutta versiossa 2015-07-05:

  • Ulkoisen toiminnon käyttöliittymää käsittelevää käsikirjaa on parannettu.
  • Unicoden käsittely konsolissa on parantunut.
  • Kaikki C-toimintoihin siirretyt merkkijono tarkistetaan nyt.
  • Useiden runtime-toimintojen suorituskykyä on parannettu.
  • Uusia joustavia muunnosfunktioita on lisätty bytedata.s7c.
  • Dokumentaatiomuutoksia on lisätty tai parannettu useissa tiedostoissa.
  • Ohjelma chk_all.sd7 on parannettu tarkistamaan useita kääntäjän asetuksia.
  • Kääntäjä on parannettu tekemään enemmän optimointeja.
  • Tarkistukset on lisätty chkbig.sd7: een, chkexc.sd7: ään ja chkflt.sd7: ään.

Uutta versiossa 2015-06-01:

  • Ulkoisen toiminnon käyttöliittymää käsittelevää käsikirjaa on parannettu.
  • Unicoden käsittely konsolissa on parantunut.
  • Kaikki C-toimintoihin siirretyt merkkijono tarkistetaan nyt.
  • Useiden runtime-toimintojen suorituskykyä on parannettu.
  • Uusia joustavia muunnosfunktioita on lisätty bytedata.s7c.
  • Dokumentaatiomuutoksia on lisätty tai parannettu useissa tiedostoissa.
  • Ohjelma chk_all.sd7 on parannettu tarkistamaan useita kääntäjän asetuksia.
  • Kääntäjä on parannettu tekemään enemmän optimointeja.
  • Tarkistukset on lisätty chkbig.sd7: een, chkexc.sd7: ään ja chkflt.sd7: ään.

Uutta versiossa 2015-05-03:

  • Ulkoisen toiminnon käyttöliittymää käsittelevää käsikirjaa on parannettu.
  • Unicoden käsittely konsolissa on parantunut.
  • Kaikki C-toimintoihin siirretyt merkkijono tarkistetaan nyt.
  • Useiden runtime-toimintojen suorituskykyä on parannettu.
  • Uusia joustavia muunnosfunktioita on lisätty bytedata.s7c.
  • Dokumentaatiomuutoksia on lisätty tai parannettu useissa tiedostoissa.
  • Ohjelma chk_all.sd7 on parannettu tarkistamaan useita kääntäjän asetuksia.
  • Kääntäjä on parannettu tekemään enemmän optimointeja.
  • Tarkistukset on lisätty chkbig.sd7: een, chkexc.sd7: ään ja chkflt.sd7: ään.

Uutta versiossa 2015-02-16:

  • Ulkoisen toiminnon käyttöliittymää käsittelevää käsikirjaa on parannettu.
  • Unicoden käsittely konsolissa on parantunut.
  • Kaikki C-toimintoihin siirretyt merkkijono tarkistetaan nyt.
  • Useiden runtime-toimintojen suorituskykyä on parannettu.
  • Uusia joustavia muunnosfunktioita on lisätty bytedata.s7c.
  • Dokumentaatiomuutoksia on lisätty tai parannettu useissa tiedostoissa.
  • Ohjelma chk_all.sd7 on parannettu tarkistamaan useita kääntäjän asetuksia.
  • Kääntäjä on parannettu tekemään enemmän optimointeja.
  • Tarkistukset on lisätty chkbig.sd7: een, chkexc.sd7: ään ja chkflt.sd7: ään.

Uutta versiossa 2014-01-19:

  • Kirjasto tdes.s7i on Triple DES -salasanan tuki.
  • Kirjasto tls.s7i on parannettu hyväksymään CertificateRequest-viestit.
  • Mdiv: n ja modin tarkistukset on lisätty chkbig.sd7: ään.
  • Kääntäjä on parannettu tekemään enemmän optimointeja if-lausumille, toiminta BIG_MOD (operaattori mod) ja BIG_MDIV (operaattori mdiv).
  • Uusia tiedostojen avaamistoimintoja on otettu käyttöön useissa kirjastoissa.
  • Vanhat toiminnot ovat edelleen tuettuja, mutta ne ovat vanhentuneita.
  • Dokumenttien kommentteja on lisätty tai parannettu eri tiedostoissa.
  • Boolean arvojen getValue-funktio on lisätty.

Uutta versiossa 2014-01-05:

  • Kirjasto des.s7i, jolla on DES (Data Encryption Standard) -salapohja, on lisätty.
  • bin32.s7i: een on lisätty useita toimintoja ja tukea arvoihin kirjoittamiseen.
  • Uusi kirjasto unicode.s7i, jonka toiminnot konvertoidaan Unicode-koodausten välillä, on lisätty.
  • Kirjasto gethttps.s7i on parannettu hyväksymään HTTP-linkkejä.
  • Chkbig.sd7: een on lisätty useita tarkistuksia.
  • Kääntäjä on parannettu tekemään lisää optimointeja bigInteger-toiminnoille.
  • Chkccomp.c: lle on lisätty avainsanan "rajoittaa" tarkistus.
  • UTF-8-muuntotoimintojen tehokkuutta on parannettu jopa 6%.

Uutta versiossa 2013-12-22:

  • Bas7.sd7: n peräkkäiset puheluita on yhdistetty yhdeksi kutsuksi kirjoittaa vastaavasti writeeln.
  • Useita linkkejä on lisätty usein kysyttyihin kysymyksiin.
  • Kirjastokorteille.s7i on lisätty kortin tyyppi cardSuit ja cardRank sekä toimintoja cardPixmap ja cardBackside.
  • Kirjastokortit.s7i on parannettu käyttääksesi toimintoja pic_util.s7i.
  • Carddemo.sd7-ohjelmaa on parannettu uusien korttien ja toimintojen käyttämiseksi kortilta.s7i.

Uutta versiossa 2013-12-08:

  • Selitykset Seed7: n vertailusta Javaen ja tyylikäs tapa tietojen alustukseen on lisätty usein kysyttyihin kysymyksiin.
  • Useista toiminnoista on siirretty shell.s7i: stä uuteen kirjastoon process.s7i.
  • Toiminto komentoPath on lisätty prosessi.s7i.
  • Windowsin vian korjaamiseksi chk_all.sd7-ohjelmaa on parannettu poikkeuksen saamiseksi.
  • Kuvissa pic16.s7i ja pic32.s7i on lisätty tai parannettu useita kuvia.
  • cmdPipe2-toimintoa cmd_win.c: ssä on parannettu avaamaan stdin ja stdout tekstimuodossa.
  • FilInputReady-funktio on parantunut, jotta se palaisi TRUE: n jälkeen.

Uutta versiossa 2013-11-24:

  • Kirjasto pic_util.s7i, jossa on kuvan hyödyllisyystoiminnot, on lisätty.
  • Kuvissa cancel_pic, folder_pic ja reset_pic on lisätty pic16.s7i: lle ja pic32.s7i: lle.
  • Toiminto muuntaa pixmap-kuva BMP-muotoon ja getPixelColor-funktio on lisätty draw.s7i: hen.
  • Kaikki toiminnot selkeät ilman parametreja on korvattu kirkkaalla (musta).
  • str_rtl.c: n strCLit-funktiota on parannettu kertoimella 10.
  • Toimintoja init_bstri_constants ja init_win_constants s7c.sd7: ssä on parannettu.
  • Useissa tiedostoissa on oikeinkirjoitusvirheitä.

Uutta versiossa 2013-11-10:

  • Compiler ja runtime kirjasto on parannettu työskentelemään Sparc
  • : ssä
  • 64-bittiset koneet OpenBSD: n alla. Kiitos Brian Callahanille,
  • hänen tukensa ja käyttöoikeuden Sparc 64-bittiseen koneeseensa.
  • Siirrettävyyteen liittyvä FAQ-selitys on parantunut.
  • Uusi kirjasto cc_conf.s7i on lisätty. Tämä kirjasto hallinnoi
  • määritysarvot C-kääntäjälle ja suoritusaikaa.
  • Kääntäjä on parannettu käyttämään kirjastoa cc_conf.s7i.
  • Versio.h: ssä määriteltyjä lukuja on parannettu
  • src / read_me.txt.
  • Tyypin rtlGenerictype on nimetty yleistyyppiksi
  • runtime-kirjaston tiedostoja. Nyt kääntäjä ja runtime kirjasto
  • molemmat käyttävät nimen generikkotyyppiä.
  • Toiminto checkForLimitedStringLiteralLength, tarkistus
  • trigrafien sekvenssit ja tarkistukset getrlimit ()
  • läsnäolosta
  • ja siglongjmp () on lisätty chkccomp.c: hen.
  • Toiminto setupStack on lisätty cmd_rtl.c: hen. Tämä toiminto
  • yrittää korottaa pinon rajan arvoon STACK_SIZE.
  • USE_SIGSETJMP: n käyttö on nimetty HAS_SIGSETJMP: ksi.
  • Taulukon avainkoodia on parannettu kbd_inf.c: ssä ja kbd_poll.c: ssä.
  • Nyt päätelaitteen (VERASE) poistosuorituskyky on aina
  • palautetaan taaksepäin (KEY_BS vastaavasti "8"). Tämä parantaa
  • Cygwinin käyttäytyminen.
  • Utf8_init-toimintoa on muutettu kbd_inf.c ja
  • kbd_poll.c olettaen, että UTF-8-tilassa ei ole paikallisympäristöä
  • muuttuja on asetettu.
  • msgdigest.s7i-toiminnon msgDigest on muutettu käytettäväksi
  • in-parametreja.
  • Toiminto configValue on siirretty osfiles.s7i: stä
  • cc_conf.s7i.
  • Makro REALLOC_STRI_SIZE_SMALLER on lisätty heaputl.h: ään.
  • Runtime kirjastossa REALLOC_STRI_SIZE_OK useita käyttötarkoituksia
  • on muutettu REALLOC_STRI_SIZE_SMALLER -ohjelmaan.
  • Kääntäjä on parannettu alustamaan boolean ja
  • arvojen value.boolvalue
  • -luettelojen luettelointielementit
  • vastaavasti value.enumvalue. Tämä on tarpeen toimimaan oikein
  • big-endian-järjestelmissä.
  • Tulkki ja kääntäjä on parannettu toimintojen tukemiseksi
  • ACT_EQ ja ACT_NE.

Uutta versiossa 2013-10-27:

  • Kääntäjä- ja runtime-kirjastoa on kehitetty tukemaan big-endian-järjestelmiä.
  • Dokumentaatiossa src / read_me.txt on parannettu.
  • Kirjasto tls.s7i on parannettu, jotta vältetään poikkeus, kun etäpuoli sulkee pistorasian.
  • Dokumentaatiomuutoksia on lisätty tai parannettu useissa lähdetiedoissa.
  • Useita toimintoja on optimoitu.
  • Funktion typNum on parannettu käyttämään hashtablea.
  • Toimintoja typ_num ja typ_str on parannettu kutsumaan typNum ja typStr.
  • Tulkkaukseen ja kääntäjään on lisätty toimia ACT_ICONV ja ACT_ORD.

Uutta versiossa 2013-10-13:

  • TLS / SSL- ja HTTPS-tukipalveluja on lisätty.
  • Vertailuoperaattorit & lt; (oikea osajoukko) ja & gt; (oikea superset) on lisätty hashsetof.s7i: ään.
  • Type digestAlgorithm ja sen toiminnot on lisätty msgdigest.s7i: ään.
  • Toimintohehko on lisätty bytedata.s7i.
  • Esimerkki-ohjelmaa castle.sd7 on parannettu.
  • Dokumentaatiomuutoksia on lisätty useisiin tiedostoihin.
  • msgdigest.s7i: n viestin sulatustoimintojen pehmuste on korjattu.
  • gethttp.s7i: n getHttp-toimintoa on parannettu, jotta HTTP-otsikkokenttien nimet eivät ole mahdollisia.

Uutta versiossa 2013-09-29:

  • Toiminnot bStriLe, bytesLe, bStriBe ja bytesBe on lisätty bytedata.s7i. Nämä toiminnot muuntavat kokonaislukun tavuiksi tavaroiksi.
  • Kääntäjä on parannettu tuottamaan inline-koodia toiminnolle STR_PUSH.
  • Tämä toiminto lisää merkin merkkijonoon (sitä käyttää operaattori & amp;: =).
  • Muunnosfunktioita on lisätty aika.s7i.
  • Chkbig.sd7, chkint.sd7 ​​ja chkstr.sd7 lisätään useita operaattoreita ja toimintoja.
  • Funktio doLocalDeclsOfStatement on lisätty kääntäjään. Tätä toimintoa käytetään yksinkertaistamaan eri lausekkeiden käsittelyä.

Uutta versiossa 2013-09-08:

  • Mekaani mk_freebsd.mk on lisätty tukemaan compilation under freeBSD: tä.
  • Bytedata.s7i on lisännyt tavujen ja bigInteger-numeroiden välisen muuntamisen funktioita.
  • Toiminnot bytesLeAsInt ja bytesBeAsInt on nimitetty bytesLe2Int ja bytesBe2Intiksi.
  • Tarkistukset on lisätty chkbig.sd7: een ja chkset.sd7: ään.
  • BigRand-funktiota big_rtl.c: ssä on parannettu, jotta vältetään olosuhteet, joissa satunnaisluku on vaaditulla alueella.
  • Parametrien nimet on lisätty useisiin tiedostoihin.
  • Kääntäjä on parannettu käyttämään charvalue intvalueen sijasta, kun merkit alustetaan.

Uutta versiossa 2013-08-20:

  • Sha1.s7i-kirjasto nimettiin msgdigest.s7i: ksi.
  • msgdigest.s7i: een on lisätty viestin pilkottu ja suojattu hash-toiminnot md4, md5, sha224 ja sha256.
  • Lisättiin uusi propertyfile.s7i-kirjasto, joka määrittelee ominaisuustiedostojen lukemista hajautusalustaan.
  • Satunnaislukugeneraattorin suorituskyky parani.
  • BytesLeAsInt-funktio lisättiin bytedata.s7i-kirjastoon.
  • intedata.s7i: ssä int64AsBytesBytesLe-funktio nimettiin int64AsEightBytesLe: ksi.
  • skipWhiteSpace-funktiota lisättiin scanfile.s7i-kirjastoon.

Uutta versiossa 2013-07-22:

  • Kielten kirjoitusvirheet chlog.txt, faq.htm ja faq.txt on korjattu.
  • Funktion conText (in con_win.c) on parannettu toimimaan oikein pitkiä merkkijonoja käytettäessä (kun WriteConsoleW epäonnistui).
  • Drw_win.c: stä on siirretty useita toimintoja uuteen tiedostoon gkb_win.c.
  • InIntRangen vääriä käytäntöjä on korvattu paremmalla koodilla drw_win.c: ssä.
  • In con_win.c, taulukon map_key on parannettu siten, että kbdGetc tunnistaa avaimen F12.
  • Ohjelma chk_all.sd7 on parannettu soittamalla chkhsh.sd7: ään.
  • Kääntäjä on parannettu vertailutoimintojen tuottamiseksi oikealla prototyypillä.

Uutta versiossa 2013-06-16:

  • Dokumentaatiomuutoksia on lisätty tai parannettu useissa tiedostoissa.
  • Merkkijono- ja char.s7i: n ja char.s7i: n alemmat ja ylemmät toiminnot on parannettu käytettäviksi Unicode-tapauskansion määrittämisessä.
  • Puretun puristuksen suorituskyky on parantunut kertoimella 5-10.
  • Parannettu str_cmp, str_range, str_substr, strCompare, strRangeSlice, strRange, strSubstrSlice ja strSubstr toimintojen suorituskyky.
  • Chkstr.sd7: een on lisätty useita merkkijonofunktioita koskevia testejä.
  • Kääntäjä on parannettu linjoituskoodiin STR_HASHCODE, STR_RANGE ja STR_SUBSTR.

Kuvakaappauksia

seed7_1_70722.png

Vastaavia ohjelmistoja

SWIG
SWIG

7 Mar 16

JBrownie
JBrownie

3 Jun 15

refactor
refactor

2 Jun 15

Kommentit Seed7

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!