Ramani ya Maendeleo ya Ujumuishaji wa Wave + Whale v2
Hatua Zote
pre-alpha → pre-beta → alfa → beta → rc → kutolewa
Hatua ya Pre-Beta
Lengo: Kukamilisha frontend ya lugha ya Wave + utekelezaji wa kipengele kamili kwa kutumia backend ya LLVM
Sifa Kuu
- 
Kutumia LLVM pekee (Hakuna Whale)
 - 
Hakuna nyongeza ya sarufi, utekelezaji wa maelezo yaliyopo tu
 - 
Uthabiti wa muundo wa mbele, kama vile ujumbe wa hitilafu, ukaguzi wa aina, na wigo wa tofauti
 
Upeo wa Utekelezaji
- 
Tamko la kubadilika, pato, operesheni
 - 
Ufafanuzi wa kazi na mwito
 - 
ikiwa / vinginevyo ikiwa / vinginevyo
 - 
wakati / pumzika / endelea
 - 
Pato la umbizo, uteuzi wa aina
 - 
Ubunifu wa kielekezi (
ptr<T>muundo) - 
Ubunifu wa safu (
array<T, N>) - 
Uhakiki wa aina na AST ya kimuundo
 
Teknolojia iliyotumika
- 
Rust (Kompyuta yote ya Wave)
 - 
LLVM (Uundaji wa IR, Utekelezaji wa AOT)
 - 
inkwell / llvm-sys
 
Hatua ya Alpha
Lengo: Kuanza utangulizi wa Whale, kutumia LLVM sambamba / Kuanzisha utekelezaji wa Whale inayotegemea nyuma
Sifa Kuu
- 
LLVM ni mkondo wa nyuma chaguo-msingi
 - 
Whale ni mkondo wa nyuma wa hiari
 - 
Wakati wa kutekeleza msimbo wa Wave, inawezekana kugawana kwa kutumia chaguo
--backend 
wavec run main.wave --backend=whale
wavec run main.wave --backend=llvm
Kazi zinazohusiana na Whale
- 
Uundaji na ufafanuzi wa muundo wa Whale IR (Maagizo, Thamani, Kizuizi nk)
 - 
Utekelezaji wa Kianzilishi cha IR kwa Whale
 - 
Kianzilishi cha msimbo kwa Whale (Assembly au Binary)
 - 
Utekelezaji wa aina zinazowezekana kwa Whale tu (
i1024, pointer za hali ya juu nk.) 
Kipengele cha kuangalia
- 
Hello World yaonyesha kwa Whale
 - 
Tamko/ugawaji wa mabadiliko katika Whale
 - 
Utekelezaji wa chombo cha kuuondoa makosa katika Whale IR
 - 
Ushughulikiaji wa aina za pointers katika Whale
 - 
Mabadiliko ya Wave → Whale IR yanaendelea
 
Hatua ya Beta
Lengo: Kubadilisha kabisa kwa Whale, kuondoa LLVM. Uboreshaji wa mchanganyiko wa Whale + Wave
Sifa Kuu
- 
Matumizi ya Whale pekee
 - 
Kuondoa kabisa LLVM (utaratibu na moduli)
 - 
Msingi wa uboreshaji wa msimbo
 - 
Kutoka IR hadi utekelezaji kwa haraka na ufanisi
 
Upeo wa Uboreshaji
- 
Uundaji wa Mchakato wa Uboreshaji wa Whale IR
 - 
Uboreshaji wa kasi ya uundaji wa msimbo wa Whale
 - 
Syntaksi yote ya Wave inasaidiwa kikamilifu katika Whale
 
Jaribio
- 
Jaribio la kitengo + suite kamili ya majaribio
 - 
Jaribio la utangamano la WSON, maktaba ya kiwango
 - 
Uthibitishaji wa ujenzi wa Whale wa jukwaa kubwa
 
Hatua ya RC (Mgombea wa Kutolewa)
Lengo: Kuanza kubunifu upya Wave — Kuondoa kabisa msimbo wa Rust
Sifa Kuu
- 
Kuanza kuandika upya kompyuta ya Wave kwa Wave
 - 
Utekelezaji wa msimbo wa Wave yenyewe kwa msingi wa Whale
 - 
Whale inaingia hatua ya kujihostisha
 
Upeo wa kazi
- 
Kuandika upya Kianzilishi cha IR ya Wave kwa msingi wa Whale
 - 
Kuondoa Rust + Kubadilisha na msimbo wa Wave
 - 
Kuandika maktaba ya std na core kwa Wave
 - 
Kuzaliwa kwa mkusanyaji wa kwanza wa asili wa Wave baada ya kufanikiwa kwa bootstrap
 
Hatua ya Kutolewa (v0.0.1)
Lengo: Kuzindua rasmi / Kutoa mfumo wa ikolojia wa lugha huru wa msingi wa Whale
Vipengele
- 
Wave (lugha na maktaba ya kawaida)
 - 
Whale (zana ya muundo ya Whale)
 - 
Vex (meneja wa kifurushi cha Vex)
 - 
WSON (muundo wa data)
 
Vipengele
- 
Mkusanyaji kamili wa Wave pekee (siku ya kwanza ya bootstrap)
 - 
Uboreshaji wa Whale umekamilika
 - 
Mfumo wa ujenzi na usambazaji wa Vex umekamilika
 - 
Ikiwa ni pamoja na parser ya WSON na serialization
 - 
Inaweza kujenga OS-msalaba (
vex build --windows, nk) 
Mkakati wa Meta wa Maendeleo
| Mkakati | Maelezo | 
|---|---|
| Mkakati wa Reli na Treni | Kujenga na kuendeleza backend ya Wave wakati wa kuendeleza Whale kwa wakati mmoja | 
| Mkakati wa Tawi la Backend | Chagua LLVM/Whale kwa chaguo la --backend, kwa muundo muhimu katika alpha | 
| Mpango wa Kugeuza Muundo | Baada ya rc, msimbo wa Wave unajikusanya kupitia Whale |