NitroPascal v0.2.0 #4
jarroddavis68
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
🎯 NitroPascal v0.2.0: The RTL Wrapping Breakthrough
TL;DR
NitroPascal can now compile Delphi syntax directly to high-performance C++ through our innovative Runtime Library (RTL) wrapping strategy. Write pure Delphi, get native C++ performance.
💡 The Breakthrough: RTL Wrapping Architecture
Instead of complex code generation that attempts to map Delphi semantics to C++, we've taken a revolutionary approach: wrap every Delphi construct in a C++ runtime library (under the
np::
namespace).What this means:
for
loops →np::ForLoop()
- handles inclusive ranges perfectlydiv
/mod
→np::Div()
/np::Mod()
- exact Delphi semanticsString
→np::String
- UTF-16 with 1-based indexing, just like DelphiWriteLn
→np::WriteLn()
- variadic templates, handles any typesThe result? The code generator is now trivial - just simple syntax translation. All complexity lives in the RTL, which is written once, tested once, and reused forever.
🎉 What's New in v0.2.0
This release establishes the foundation with comprehensive Delphi language support:
Type System
Integer
,Boolean
,Char
,Double
,Single
,Byte
,Word
,Cardinal
,Int64
String
(UTF-16),Pointer
,Record
,Array
(static & dynamic),Set
,Enum
New
/Dispose
Operators & Expressions
+
,-
,*
,/
,div
,mod
=
,<>
,<
,>
,<=
,>=
and
,or
,xor
,not
shl
,shr
,and
,or
,xor
in
,+
,-
,*
Control Flow
if..then..else
,case..of
for..to..do
,for..downto..do
,while..do
,repeat..until
Functions & Procedures
const
,var
,out
I/O & System Functions
Write
,WriteLn
,Read
,ReadLn
New
,Dispose
,GetMem
,FreeMem
Length
,Copy
,Pos
,IntToStr
,StrToInt
🔥 Why This Architecture Matters
By wrapping Delphi semantics in C++, we achieve:
Write pure Delphi → Get native C++ performance. No compromises.
📚 Documentation
Want to see what's working RIGHT NOW?
Check the docs to see exactly what Delphi syntax you can use today!
🚀 Getting Started
Example Delphi program:
Compiles to optimized native code via C++ → LLVM → machine code.
🌐 Community
🔮 What's Next?
Each update expands the RTL with more Delphi semantics! Upcoming features:
TList<T>
,TDictionary<K,V>
)try..except..finally
)What Delphi features do YOU want to see in the next release? Let us know in the discussions!
The future of Pascal is here, and it's wrapped in a beautiful C++ runtime library. 🎁
Full Changelog: v0.1.0...v0.2.0
File Integrity
Files are signed with minisign using this public key:
RWTqBYfsUOCQscb6ZeknLC0On3cvWCVzMzlHamtgXNaDOO4bNs3WCSkV
This discussion was created from the release NitroPascal v0.2.0.
Beta Was this translation helpful? Give feedback.
All reactions