I'm still taking a break from my project, but I wanted to share this [see image].
This is the *current* internal representation of the C++ string literal "こんばんは, how are you?" in my concord type system. I've reached a milestone goal where the concord class is nearly ready to be used
1/11
I'm still taking a break from my project, but I wanted to share this [see image].
This is the *current* internal representation of the C++ string literal "こんばんは, how are you?" in my concord type system. I've reached a milestone goal where the concord class is nearly ready to be used
1/11
After nearly 2 weeks I finally updated my codeberg repo online.
It turned out to be a large overhaul. I honestly should've split it up, but I pulled much of it apart and it took a while to put back together. The major takeaway is it's now set up for type checking during assignments,
1/3
After nearly 2 weeks I finally updated my codeberg repo online.
It turned out to be a large overhaul. I honestly should've split it up, but I pulled much of it apart and it took a while to put back together. The major takeaway is it's now set up for type checking during assignments,
1/3
This doesn't look like much [see image], but it's significant as far as I'm concerned.
I've finally added in type checking to my compile time type system. My test case here declares a value but doesn't initialize it. Then, it tries to use that value to define another.
1/4
This doesn't look like much [see image], but it's significant as far as I'm concerned.
I've finally added in type checking to my compile time type system. My test case here declares a value but doesn't initialize it. Then, it tries to use that value to define another.
1/4
I finished overhauling tuple and cotuple yesterday [see image].
The overhaul is largely about having specific lenses that act like objects for the concord (type space). The concord holds the actual content. The "values" are temporary lenses which hold an index to where the relevant
1/4
I finished overhauling tuple and cotuple yesterday [see image].
The overhaul is largely about having specific lenses that act like objects for the concord (type space). The concord holds the actual content. The "values" are temporary lenses which hold an index to where the relevant
1/4
I rolled back my compile time type system design (slightly).
All of this actually compiles [see image]. By the way the type system only allows each value to be defined/assigned exactly once. Anyway, I don't want to use overload operators. Keeping assignment as explicit is safer. Thanks!
I rolled back my compile time type system design (slightly).
All of this actually compiles [see image]. By the way the type system only allows each value to be defined/assigned exactly once. Anyway, I don't want to use overload operators. Keeping assignment as explicit is safer. Thanks!
I finally have builtin types working again after overhauling my compile time type system. Conceptually it's the same design, but now you can write code like this [see image].
Here *ring* is just an unsigned int type. I nearly have tuple working again, but I'm maxed out for tonight. Thanks!
I finally have builtin types working again after overhauling my compile time type system. Conceptually it's the same design, but now you can write code like this [see image].
Here *ring* is just an unsigned int type. I nearly have tuple working again, but I'm maxed out for tonight. Thanks!
My compile time type system now has basic support for utf8 strings. [see image]
It will not fail gracefully at all, but it can parse a valid utf8 char array into a string. In this "universal data structure" that is my compile time type system, a string is just a (linked) list of
1/5
My compile time type system now has basic support for utf8 strings. [see image]
It will not fail gracefully at all, but it can parse a valid utf8 char array into a string. In this "universal data structure" that is my compile time type system, a string is just a (linked) list of
1/5
The year's not over, but it was a good year.
The year's not over, but it was a good year.
I've avoided TMP tricks in my cctmp library thus far, but today I felt compelled to add just one to simplify what is otherwise common tedious constructions. Clang accepts, but I need both to agree. I'll still come up with some convenience grammar---just not recursive.
I've avoided TMP tricks in my cctmp library thus far, but today I felt compelled to add just one to simplify what is otherwise common tedious constructions. Clang accepts, but I need both to agree. I'll still come up with some convenience grammar---just not recursive.
In that case, there's second style of code---another set of guardrails---that I feel helps mitigate this problem further [see images].
6/7
In that case, there's second style of code---another set of guardrails---that I feel helps mitigate this problem further [see images].
6/7
So about the problem I was having yesterday [see images].
My list model + method equip paradigm uses a lot of single inheritance. The idea is you can define common methods in lower level "lenses" that higher level ones inherit from and so can conveniently build their own variations.
1/7
So about the problem I was having yesterday [see images].
My list model + method equip paradigm uses a lot of single inheritance. The idea is you can define common methods in lower level "lenses" that higher level ones inherit from and so can conveniently build their own variations.
1/7
Thanks engineers. The train engineers of course, but other engineers as well. You know who you are. You're good folk.
Thanks engineers. The train engineers of course, but other engineers as well. You know who you are. You're good folk.
(part 2)
(part 2)
A rare sunny day (the day I left).
A rare sunny day (the day I left).
It works!
I can now declare tuple types, declare their values, then define their values all within my C++ compile time type system. I'm happy with the design too. There's so much more to do, but I'd rather add cotuple next, then the list type.
At that point I go back and "do", ahah. Yeah.
It works!
I can now declare tuple types, declare their values, then define their values all within my C++ compile time type system. I'm happy with the design too. There's so much more to do, but I'd rather add cotuple next, then the list type.
At that point I go back and "do", ahah. Yeah.
By the way, this is currently my feedback [see image].
At first it was actually just numbers with no bar or comma separators, but the design is starting to stabilize enough now I'm willing to commit to this basic formatting. Once it stabilizes further, I'll create prettier printers, ahah.
By the way, this is currently my feedback [see image].
At first it was actually just numbers with no bar or comma separators, but the design is starting to stabilize enough now I'm willing to commit to this basic formatting. Once it stabilizes further, I'll create prettier printers, ahah.
This inspires my project [see image].
It's from the paper "dependent type systems as macros" which implements a language called turnstile+ (right column) using a modern lisp language racket (left column).
Turnstile+ effectively lets you write logical rules as specifications, which
1/4
This inspires my project [see image].
It's from the paper "dependent type systems as macros" which implements a language called turnstile+ (right column) using a modern lisp language racket (left column).
Turnstile+ effectively lets you write logical rules as specifications, which
1/4
Just by chance I asked the staff at the visitor centre. She said she didn't know, but was now curious because I told her Inuit in Iqaluit and Alaska remembered the toy, but nobody knew its name.
1/2
Just by chance I asked the staff at the visitor centre. She said she didn't know, but was now curious because I told her Inuit in Iqaluit and Alaska remembered the toy, but nobody knew its name.
1/2
Rankin Inlet Nunavut, born and raised. Her words.
It wasn't my plan to take her photo, but she called me over and told me to take one. She wanted me to send it to her, but I didn't have anything to write with, so I'm gonna email the visitor centre, it's a good chance they know her.
Rankin Inlet Nunavut, born and raised. Her words.
It wasn't my plan to take her photo, but she called me over and told me to take one. She wanted me to send it to her, but I didn't have anything to write with, so I'm gonna email the visitor centre, it's a good chance they know her.
It's definitely one of the things I'll miss the most.
It's definitely one of the things I'll miss the most.
Today I've properly reimplemented *concord* to be a truly generic list model class [see image]. This is based off of yesterday's proof of concept design.
Every time you *cons* you specify a size, the underlying array is numeric. Every time you call *car* you specify a given lens.
1/3
Today I've properly reimplemented *concord* to be a truly generic list model class [see image]. This is based off of yesterday's proof of concept design.
Every time you *cons* you specify a size, the underlying array is numeric. Every time you call *car* you specify a given lens.
1/3
It works! [see images]
I've combined my method equip paradigm with an inplace "list model" class I designed a while back. This will greatly simplify my project's lower level library code. It's kind of absurd. I don't even know what programming is anymore, ahah.
It works! [see images]
I've combined my method equip paradigm with an inplace "list model" class I designed a while back. This will greatly simplify my project's lower level library code. It's kind of absurd. I don't even know what programming is anymore, ahah.