Rant.li

Reader

Read the latest posts from Rant.li.

from mxmaxwarehouse

Air compressors serve various purposes, spanning from household to industrial applications. For households, they prove handy in repairs, DIY projects, and small-scale tasks like tire inflation or door painting. Conversely, in industries, compressors serve as vital components for daily production operations. Essentially, an air compressor amplifies fluid power, functioning as a versatile energy source for diverse applications.

Piston compressors operate by drawing air into a cylinder through a piston driven by a connecting rod and crankshaft. As the piston retracts, it compresses the air within the cylinder. Once the desired pressure is attained, the compressed air is released into the network or the subsequent stage. These compressors can be either lubricated or oil-free, offering flexibility in choice based on specific needs. For issues related to Max Warehouse Pro for business, do not forget to consult with a personalized advisor.

 
Leer más...

from bebeglo

Almohadas de embarazo

¡Descubre cómo una almohada especial para embarazadas puede hacer maravillas durante la gestación! Aliviar las incomodidades físicas esencialmente esencial para un sueño reparador y para promover el bienestar tanto de la madre como del bebé. Con el progreso del embarazo, las molestias al dormir aumentan, pero ¡no te preocupes! ¡Una almohada de embarazo es la solución perfecta para disfrutar de un descanso tranquilo!

Estas almohadas de embarazo vienen en diferentes longitudes, ¡así que encontrarás la adecuada para tu estatura! Además, su composición puede variar, desde algodón hasta plumas o espuma, asegurando la máxima comodidad. Son increíblemente elásticas y duraderas, ¡no se desgastan fácilmente! Aunque encontrar la posición perfecta durante el último trimestre puede ser un desafío, estas almohadas se adaptan perfectamente a la forma del cuerpo, brindando apoyo donde más se necesita.

Además de ser compactas y ocupar poco espacio en la cama o al guardarlas, estas almohadas ofrecen una serie de beneficios adicionales. ¡Descubre cómo una almohada diseñada especialmente para embarazadas puede marcar la diferencia en tu descanso y bienestar durante esta etapa tan importante de tu vida!

 
Leer más...

from Le journal de Mirliton Barcanera

UNE JOURNEE ROUGE

Il est temps.

Je sens bien que, depuis quelques jours, elles veulent sortir, qu'elles sont prêtes à s'incarner, à me défier. Je sens bien que moi, je dois leur faire face.

Il est temps.

Je ne sais pas si je suis prêt. J'ai toujours fait en sorte d'anticiper, de préparer les combats du mieux possible avant de me lancer dans chaque bataille. Aujourd'hui je sens encore la profondeur de mes blessures. Mon coeur est endolori. Mon esprit est une flamme fragile malmenée par le vent.

Pourtant je me tiens debout avec mes bandages et mes cicatrices. J'ai connu des jours meilleurs. Mes cheveux ont blanchi. J'ai été plus fringuant.

Pourtant ma main tient fermement le pommeau de mon épée qui s'agite dans son fourreau. Je sais que je vais souffrir, que je vais avoir mal. Mes bras ont déjà levé maintes fois mon bouclier d'airain. Mes jambes m'ont déjà porté à travers des champs incendiés.

Pourtant je n'ai jamais été aussi certain de l'issue d'une confrontation.

Il est temps de régler les comptes. Il est temps d'avancer. Il est temps.

 
Lire la suite...

from spotson3

Consequently what choices of central heating boilers is it possible to purchase in Scotland to warm up the property? You'll discover 3 distinct boiler selections, here they are:

href 1

Your Brand New Combination Boiler

Combi or Combionation boilers are popular since they deliver practically immediate hot water taking barely one or two seconds to warm up. It will not must a distinct cold water cistern, or a hot water cylinder and this variety of boiler is outstanding for those who live in a smaller house or flat. 
They are in addition usually quicker to fit as you will find fewer pieces on the system. In addition they require not as much space as they are smaller sized boilers. A downside is generally which is when that you are using more than one hot tap within the house the water pressure may drop and the flow decreased.

Why Not Think About Typical Boiler

This kind of boiler can be known as a regular or heat only boiler. This arrangement does pipe the hot water not only to your cylinder but additionally across your rads too. Plus, for the reason that hot water is definitely continuously available you can actually utilize as many taps as you need with no loss of water pressure. 
The downside could be the dimensions which is a great deal larger and there does exist in addition the necessity for tanks for both hot and cold water, although many households store them in the loft. Hot water is restricted by the volume the cylinder can hold and they do necessitate a programmable controls.

System Boilers

These work in the same way to the traditional boiler. The main distinction is the system boiler has added pieces incorporated into it meaning it's easier around the set up process. In terms of a system boiler you won't want a separate supply or extension container.
And, certainly one of the leading upsides is that these systems permit the "back up" of an immersion heater giving a failsafe in case of tragedy or breakdown. Decide on a mains supplied hot water cylinder and there will be no requirement to have a cold water tank within the roof space .

Paying For The New Boiler

You'll find a variety of means which you can buy a new boiler in Great Britain,. In the event you buy a new boiler from Hassle Free Boilers then you definately may well have plenty of alternative means to purchase your new system:
•    Buy the new heating system outright (price normally incorporates full install)
•    Obtain the boiler on credit either with a prepayment or without. (again this always incorporates the installing charge)
•    Adopt the All Inclusive contract whereby your new boiler, installment and a comprehensive service plan is included for one simple low month-to-month payment. This option does include or eliminate an initial deposit.

You will discover a huge quantity of houses not just within the Britain locale but also across England and Wales which include very inefficient boilers installed. Obtain a brand new environmentally friendly boiler courtesy of Hassle Free, it could be as much as fifty percent more environmentally effective 

href 2

If you happen to be needing to trade your old heating for a new energy efficient one and save yourself up to fifty percent on your annual heating statement then get in touch with us now for a new boiler quotation| You are able to call freefone, merely dial 0800 121 4141 alternatively use the simple to fill-in webform on this web page.

 
Read more...

from zadksa

شركة تنظيف كنب بالرياض تنظيف الكنب يعتبر جزءًا أساسيًا من الحفاظ على نظافة المنزل وضمان صحة البيئة المحيطة. في الرياض، هناك العديد من شركات تنظيف الكنب التي تقدم مجموعة من الخدمات والمزايا للعملاء. سنقوم في هذا المقال بمراجعة بعض المزايا والخدمات التي تقدمها شركات تنظيف الكنب في الرياض. 1. خبرة وكفاءة: شركات تنظيف الكنب في الرياض غالبًا ما تتمتع بخبرة وكفاءة عالية في هذا المجال. يتمتع موظفو الشركات بالتدريب المناسب لفهم أنواع الأقمشة وأساليب التنظيف المناسبة. هذا يساعد في ضمان تقديم خدمات عالية الجودة والحفاظ على جودة الكنب. 2. استخدام تقنيات حديثة: تعتمد الشركات على تقنيات حديثة ومعدات متقدمة في عمليات التنظيف. ذلك يشمل استخدام مواد تنظيف آمنة وفعّالة، ومعدات تنظيف بخارية، وأجهزة استخراج الغبار. هذا يساعد في إزالة البقع والأوساخ بشكل فعّال دون التسبب في ضرر للكنب. 3. خدمات متنوعة: تقدم شركة تنظيف كنب بالرياض خدمات متنوعة تلبي احتياجات العملاء المختلفة. يمكن أن تتضمن هذه الخدمات تنظيف الكنب العادي، وإزالة الروائح الكريهة، وتنظيف البقع الصعبة، وحتى خدمات التلميع لإضفاء مظهر جديد ولمعان على الكنب. 4. جدولة مرنة: تقدم الشركات خيارات جدولة مرنة تتناسب مع جداول العمل واحتياجات العملاء. يمكن للعملاء تحديد الوقت الذي يناسبهم لتنظيف الكنب دون التأثير على راحتهم. 5. خدمة العملاء: تهتم شركات تنظيف الكنب بتقديم خدمة عملاء ممتازة. يتم توفير معلومات واضحة حول الخدمات المقدمة وتكلفتها المتوقعة. كما يتم التفاعل بفعالية مع استفسارات العملاء وملاحظاتهم. الاستنتاج: تحظى شركات تنظيف الكنب في الرياض بشعبية كبيرة بفضل مزاياها وخدماتها المميزة. تقدم هذه الشركات حلاً موثوقًا للأفراد الذين يرغبون في الحفاظ على نظافة وجودة كنبهم دون عناء. يفضل دائمًا قراءة التقييمات والآراء لاختيار الشركة المناسبة التي تلبي احتياجاتك وتوفر خدمات ذات جودة عالية.

 
Read more...

from androsomnos

First, I want to start out with a few things: Pointing out transandrophobia is not transmisogynist.

This particular post is not about the long-wretching transmisogyny roaming around on Fediverse and you shouldn't go harassing me for not speaking about it.

If your only takeaway from that is “oh you must hate trans women” or that I'm trying to dogpile on anyone, learn how to read and come back.

This post is not your free pass to be shitty to trans women either. Baeddel is not a slur and is not used as one, but that will be explained later.

Also, if you expect screenshots and piles of “evidence”, GTFO. This is not a callout post on specific people.

In latest weeks (at the time of writing this) I have noticed a surge in transandrophobic rhetoric being spewn around. While one might argue that it can be because of the Tumblr exodus, they are damn wrong; transandrophobia is not new to Fediverse.

So what was the first known incident?

Let's go back to late 2022 — the big Twitter wave has slowed down and all started going well in the Fediverse; multiple queer people with the skills and money created instances, some of them existing to this very day. Trans men of fediverse weren't that different. Two of them set up an instance under the (obviously) non-defunct domain social.transmas.cyou. The Akkoma server was barely even getting on its legs, and the admins were already smacked by a self-proclaimed baeddel (we will get to that word soon); one person making several accounts on several instances, throwing straight up heinous shit at the admins, and even pedojacketing one of them. The staff eventually dissolved the community in a matter of weeks, and rumors say they are nowhere to be found on Fediverse.

But one can say that it can be just a boogeyman, right? There is no proof whatsoever besides hearsay, the instance is long gone, admins nowhere to be found, nor the troll account; all evidence is gone. But not all hearsay is false hearsay. Sometimes oral memoirs are the only evidence when everything else has been erased. You don't want to believe me? Fine.

You say “baeddel” all the time — what the fuck is that?

note: if you want a truly in-depth dive into the origins of the movement, read this – my paragraph is solely to TLDR the entire issue

Baeddelism... In ye olde Tumblr days, there was this clique of trans women who called themselves “baeddels” — based on the somewhat questionable etymology of the word “bad”, they have build what I would basically call a fork of TERF ideology. Their main ideas consisted of:

  • transmisogyny is the core of all oppression, all oppression stems from transmisogyny specifically (does that ring you a bell?)
  • your CASAB (coercively assigned sex at birth) determines the oppression you experience (or its lack); that is CAFAB people are evil and oppressive, while CAMAB people were the victims, as they were the only one experiencing transmisogyny

Does that sound familiar? LOUD CORRECT BUZZER! It's bioessentialism and radfem garbage all over again! Baeddel movement is nothing but forking radical feminism and making it work within the transgender framework; the legacy of the original tumblr clique (that did groom several young trans women into these beliefs, much like cis radfems groom young cis women into TERF ideology) can be seen is something as common as the TME/TMA descriptors, which neatly fills the first pillar of baeddel ideology.

You may now say how does a Tumblr clique affect those who probably never were there or anything?

Word of mouth. Baeddelism was huge in early 2010s on Tumblr. They kept grooming younger trans women into this idea, more trans women kept talking baeddelist talking points and thus it spread like wildfire.

Today, “baeddelism” fell out of use since the original group has been long gone, but its ideas never went away. It's just they are now more known as TIRF ideology, as.. is it really that different from TERFs? Not really.

It's all radical feminism that is grounded in hatred of men and masculinity, just remapped outside of the cis society.

Baeddelism/TIRFism on Fediverse

I have seen a non-zero amount of encounters where a transfemme user goes onto a transmasc's vent post and makes it all about herself. I have seen a non-zero amount of “I hope you die” replies when TIRF beliefs are pointed out by a transmasc guy.

It should have never happened — this is, once again, a proof of how transmasc struggles are downplayed or even straight up ignored.

It's all radfem shit over again. The belief that should've died already years ago is still well and alive in (not all of!) Fedi's transfemme community; even if they refuse to admit so or aren't aware of it. But it is not our job to unpack it for them. We as transmascs can only encourage trans women to unpack the internalized radfem garbage and educate on it, but we cannot do the unpacking for them.

A less aggressive but still hostile example of TIRFism, albeit more thickly veiled is how transmascs are well liked and cherished as long as they are feminine. The moment they go on T, start being actually masculine (as opposed to the femboy archetype); they are no longer welcome and needed.

If Fedi doesn't have a transandrophobia problem, then where are spaces for transmasculine people? There is a lot of transfemme-focused spaces (good for you!), why can't we have the same thing?

Cause it will meet the same fate as transmas.cyou? Cause, maybe, this will only make transandrophobia worse?

Because it then would be a way better target for those who dedicate their online presence to TIRF garbage. It's common on certain Fediverse instances to smear and trash on transmascs, and you will even get cheered on for doing so. (and you know who I am talking about.)

There's no queer community if y'all don't include trans men and transmasculine people on it. Transfemmes aren't the only ones who are part of the “trans”, you know. If you say “trans”, include transfemmes, transmascs, transneutrals — the entire fucking umbrella of transness.

That should go without saying, but I know there will be an amount of bad-faithers among readers who will try to tell me I am trying to say all transfemmes are TIRFs or that somehow I'm transmisogynist. Pointing out flaws is not transmisogynist and if you have to take only one thing of it, then take the following:

Everyone is capable of holding radfem beliefs, you dipshit. It comes free with living in a society poisoned by said garbage mostly thanks to TERFs.

And it's our collective job to clean our yards from radfem shit. Including transfemmes. Was I not clear enough when I said everyone is capable of it?

If your takeaway is that I am trying hard at transmisogyny, take a break and re-read it. Rinse and repeat that until you understand what is this post about.

Acknowledging transandrophobia is not transmisogynist, and acknowledging transmisogyny is not transandrophobic.

Pointing out transfemmes are capable of transandrophobia is not transmisogynist, nor the other way.

We should be working together to remove both (and more) flavors of transphobia. However with the Tumblr exodus (do I have to remind where did TIRF originate from?) it may be difficult, as many people are eager to carry over the hostility and transandrophobia from their hellsite to here.

Do your work and get your shit together.

I shouldn't be making these disclaimers, but knowing how vile Fedi can be, I have to.

Go and harass me. cya.

 
Read more...

from divihat

Exploring the Marvels of the Best Divi Child Themes

Introduction: In the realm of website design, creating a captivating online presence is akin to casting a spell on visitors, enchanting them with seamless navigation, stunning visuals, and engaging content. One of the most potent tools wielded by designers is Divi, a versatile WordPress theme renowned for its flexibility and user-friendliness. However, the true magic lies in Divi child themes – enchanting extensions that imbue websites with unique aesthetics and functionalities while harnessing the power of Divi's intuitive interface.

What Are Divi Child Themes? Imagine Divi as a magical canvas, capable of transforming your website into virtually any design imaginable. Now, picture Divi child themes as spellbooks filled with enchantments, each containing pre-designed layouts, styles, and features that seamlessly integrate with Divi. These child themes serve as shortcuts for crafting mesmerizing websites without delving into complex coding or design work.

The Magic Unveiled:

Instant Transformation: With Divi child themes, website creation becomes akin to wielding a magic wand. A few clicks are all it takes to metamorphose a basic Divi layout into a polished masterpiece tailored to your vision. Whether you seek a sleek corporate interface or a whimsical portfolio, there's a Divi child theme ready to bring your concept to life.

Effortless Customization: One of the most enchanting aspects of Divi child themes is their adaptability. Like potions brewed to suit individual tastes, these themes allow for effortless customization through Divi's intuitive visual builder. From adjusting colors and fonts to rearranging layout elements, users can wield creative control with ease, ensuring their websites reflect their unique brand identities.

Enhanced Functionality: Much like enchanted artifacts, Divi child themes bestow websites with enhanced functionality, expanding upon Divi's native features to offer specialized tools and integrations. Whether you require advanced e-commerce capabilities, dynamic animation effects, or seamless social media integration, there's a Divi child theme enchantment to fulfill your needs.

Responsive Sorcery: In an era where mobile responsiveness reigns supreme, Divi child themes weave spells of adaptability, ensuring websites maintain their allure across all devices and screen sizes. Through responsive design enchantments, these themes guarantee an enchanting user experience, captivating visitors whether they're browsing on desktops, tablets, or smartphones.

Community Conjuration: The enchantment of Divi child themes extends beyond their technical prowess; they foster a vibrant community of designers and developers. Through forums, marketplaces, and collaborative platforms, practitioners of web wizardry come together to share insights, exchange spells, and showcase their magical creations, enriching the Divi ecosystem with boundless creativity.

The Quest for the Best: In the enchanted forest of Divi child themes, countless treasures await discovery. From majestic castles to enchanted groves, each theme offers a unique blend of features and aesthetics, catering to a diverse array of website needs and preferences. While some themes dazzle with minimalist elegance, others enchant with bold designs and cutting-edge functionalities.

To embark on your quest for the best Divi child theme, it's essential to consider factors such as design coherence, compatibility with plugins, and ongoing support and updates. By delving into the enchanted realms of theme marketplaces and developer portfolios, adventurers can uncover hidden gems that resonate with their visions and aspirations.

Conclusion: In the mystical realm of website design, Divi child themes stand as beacons of creativity and empowerment, empowering practitioners to weave enchantments that captivate and inspire. Through their intuitive interfaces, seamless customization options, and boundless potential, these themes unlock a world of possibilities, allowing dreamers to transform their digital visions into enchanting realities. So, embrace the magic of Divi child themes, and embark on a journey where every click is a spell cast, and every website is a masterpiece waiting to be unveiled.

 
Read more...

from monteurswohnungen

Monteurswohnungen Werdau Buildingz GmbH

Angeboten werden 3 Wohnungen mit eigener vollausgestatteter Küche und Bad mit Dusche und Waschmaschine. Die Schlafzimmer sind mit Einzelbetten ausgestattet. Kostenlose Parkplätze gibt es vor dem Haus. Bettwäsche und Handtücher sind verfügbar. Wohnung 1: 5 Betten, Wohnung 2: 4 Betten, Wohnung 3: 4 Betten

2 apartments are offered with their own fully equipped kitchen and bathroom with shower and washing machine. The bedrooms are equipped with single beds. There is free parking in front the House. Bed linen and towels are available. Apartment 1: 5 beds, Apartment 2: 4 beds, Apartment 2: 4 beds

Price range:
depend on how much People and how much time From 20€ per person per night Final Cleaning 50€

https://goo.gl/maps/5JUGi9qAftoGxUQn6



 
Read more...

from valentinovivaan

Futuristic Career Crafting: AI Resume Builder for Your Success

Introduction

Are you tired of spending countless hours crafting the perfect resume? Look no further! With the advent of artificial intelligence, the future of career crafting has arrived. In this article, we will explore the revolutionary AI resume builder that will skyrocket your chances of success in the job market. Get ready to embrace the future and take your career to new heights!

The Power of AI Resume Builder

Imagine having a personal assistant who knows exactly what employers are looking for in a resume. That's exactly what the AI resume builder offers. Powered by advanced algorithms and machine learning, this cutting-edge technology analyzes millions of resumes and job postings to identify the key elements that make a resume stand out. From formatting to content, the AI resume builder ensures that your resume captures the attention of recruiters and hiring managers.

Crafting a Winning Resume

Gone are the days of struggling to find the right words to describe your skills and experiences. The AI resume builder takes care of that for you. Using natural language processing, it generates powerful and compelling descriptions that highlight your achievements and qualifications. Say goodbye to generic and uninspiring resumes. With the AI resume builder, your resume will be personalized and tailored to showcase your unique strengths.

Stand Out from the Crowd

In today's competitive job market, standing out is essential. The AI resume builder helps you do just that. By analyzing the resumes of successful candidates in your field, it identifies the strategies that have worked and incorporates them into your own resume. From eye-catching design elements to attention-grabbing keywords, your resume will be optimized to make a lasting impression on employers.

The Future of Career Crafting

The AI resume builder is just the beginning. As technology continues to evolve, so does the future of career crafting. Imagine a world where AI-powered virtual career coaches guide you through every step of your job search, from choosing the right career path to preparing for interviews. With AI by your side, the possibilities are endless.

Conclusion

In conclusion, the AI resume builder is a game-changer in the world of career crafting. It takes the guesswork out of resume writing and empowers you to create a compelling and impactful resume. Embrace the future of career crafting and unlock your full potential. Get started with the AI resume builder today and pave the way for your success!

 
Read more...

from Cubers MicroBlog

Changes

It's positively so much more peaceful in my life since I totally closed all of my social media accounts and it's been no real adjustment in my life or behavior to stop falling for the “It's friends and family that keeps me there” excuse. These platforms are totally toxic and everyone can't get enough. It's quite baffling.

In full disclosure, I kept one mastodon account and accounts with mostly “Tech” content or more topics I'm interested in just to read. But I rarely post anything. I'd rather post my micro-posts here. It lets me get it out of me so I can devote time to other endeavors.

But turning off the news and closing social media to my life has been one of the best decisions I've ever made!

 
Read more...

from alfredbaldwin

Discover the Charm: Wine Tours Near You

Embarking on a wine tour is not just about sampling exquisite wines; it's a journey through scenic vineyards, a deep dive into winemaking traditions, and an opportunity to meet the passionate people behind your favorite bottles. If you're searching for Wine Tours Near Me

 you're in for an adventure that tantalizes the senses and enriches the soul. Let's explore how to find the best wine tours around and what makes them unforgettable.

Finding the Perfect Wine Tour

1. Local Wineries and Vineyards

Start your quest by exploring local wineries and vineyards. Many regions boast their own unique wine trails that offer a range of experiences from intimate boutique tastings to grand estate tours. Check out regional wine association websites for a comprehensive list and map to plan your route.

2. Online Reviews and Recommendations

Dive into online forums, social media groups, and review sites dedicated to wine lovers. These platforms are goldmines for personal recommendations and insider tips on the best wine tours. Look for experiences that align with your interests, whether it's sustainable viticulture, specific wine varieties, or family-friendly tours.

What to Expect on a Wine Tour

1. A Learning Experience

Wine tours offer a behind-the-scenes look at the winemaking process, from grape cultivation to bottling. You'll learn about different grape varieties, winemaking techniques, and what makes the region's soil unique. It's an educational journey that deepens your appreciation for each sip.

2. Sensory Delights

Prepare for a sensory feast as you taste wines in the very vineyards where they were born. A guided tasting session will teach you how to observe the wine's color, savor its aromas, and taste its complexity. Don't forget to cleanse your palate between tastings!

Making the Most of Your Wine Tour

1. Plan Ahead

Book your tours in advance, especially if you're visiting popular wineries or going during peak season. Consider the timing of your visits to enjoy a leisurely pace rather than rushing through multiple tours in one day.

2. Transportation and Safety

Safety should be your top priority. Look into transportation options like tour buses, private drivers, or ride-sharing services, especially if you plan on indulging in tastings. This ensures everyone in your party can enjoy the day worry-free.

Beyond the Tasting Room

1. Vineyard Picnics and Culinary Experiences

Many wineries offer more than just tastings. Look for experiences that include vineyard picnics, wine pairing dinners, or cooking classes. It's a wonderful way to complement the wine tasting experience with local flavors.

2. Special Events and Seasonal Tours

Keep an eye out for special events like harvest festivals, grape stomping parties, or seasonal tours. These events offer unique experiences that go beyond the standard wine tour and allow you to engage with wine culture fully.

Conclusion

Wine tours offer an unparalleled opportunity to explore the world of wine through immersive experiences that are as educational as they are delightful. Whether you're a seasoned connoisseur or a curious newcomer, there's a wine tour out there that will capture your heart and palate. So, the next time you find yourself searching for “Wine Tours Near Me,” remember that you're not just looking for a destination; you're embarking on a journey that promises discovery, enjoyment, and, of course, some fantastic wines to add to your collection. Cheers to your next wine adventure!

 

 
Read more...

from jamie-blogs

alt. title: Forcefully Haskell-fying Rust, for Fun and Profit If you're as much of a rust fanatic as I am you've probably realized that generics are really cool. In my opinion, rust's composition-based parametric polymorphism is one of the best things its inherited from its functional roots. Today I want to talk about what it left out, and hopefully expand how you think about type systems.

Proper Types

When we talk about types, we often mean something like this:

struct MyData {
	name: String,
	val: i32
}

This is a simple collection of data. The properties of this type are completely static— name will always be a String and val will always be an i32. We call these proper types. They are in a fixed and usable state; in other words, we know everything we can know about them.

Types.. kinda

Lets generalize this type to hold any value we could want:

struct MyData<T> {
	name: String,
	val: T
}

Now this type can composed of any other type, and the “type” T is actually just a placeholder for what we could later place inside this.

So.. this clearly doesn't fit the definition of a proper type that we previously defined, so what is it? Lets try analyzing what the compiler does with this type under the hood. Lets take the following code:

let data_a = MyData::new("asdf".into(), 12);
let data_b = MyData::new("asdf".into(), true);

And try searching for a MyData symbol:

nm target/debug/higher_orders_types | grep MyData

And we should see some output like this:

_ZN4core3ptr59drop_in_place$LT$higher_orders_types..MyData$LT$i32$GT$$GT$17h08f26c464aa8b7e0E
_ZN4core3ptr60drop_in_place$LT$higher_orders_types..MyData$LT$bool$GT$$GT$17hf107324ff7a39b31E

Bingo!

These lines say MyData$LT$i32 and MyData$LT$bool, so we can see that rust will actually generate concrete types for whatever gets used inside the generic! [^1]

Lets generalize this idea back into a type theory context: we can say that MyData is a special kind of type, that takes a proper type, and returns a proper type.

Improper Types

Just with higher-order-functions, we can see that this type is a level above concrete types. These are called kinds. A kind is a type constructor that takes a type, and produces a new type.

So now that we have a new concept to play with, what can we do with it? Well, lets see what Haskell does with it:

class Functor f where
    fmap :: (a -> b) -> f a -> f b

If you don't know any haskell, this likely looks very arcane to you. Lets write it in the style of rust:

trait Functor {
	fn fmap<A, B>(
		f: impl Fn(A) -> B, 
		Self<A>
	) -> Self<B>;
}

So fmap takes a function of A -> B and a Self<A>, maps said function on the inner value, and returns a Self<B>. If you try to compile this, you'll get an error akin to “Self takes 0 parameters.” Rust doesn't have a notion of kinds, only parametric polymorphism, so we cant refer to a kind as something on its own. So making this trait will be a little messier, but we can still do it:

trait Functor<A, B>: Sized {
    //type Ma; will be Self
    type Mb;
    
    fn fmap(f: impl Fn(A) -> B, rhs: Self) -> Self::Mb;
}

We can't guarantee that Mb will be Self<B>[^2], but we can at least now use this trait on Option.

impl<A, B> Functor<A, B> for Option<A> {
    type Mb = Option<B>;

    fn fmap(f: impl Fn(A) -> B, rhs: Self) -> Self::Mb {
        match rhs {
            Some(v) => Some(f(v)),
            None => None,
        }
    }
}

Actually, while we're rusti-fying this, lets turn it into a method.

fn fmap(self, f: impl Fn(A) -> B) -> Self::Mb {
    match self {
        Some(v) => Some(f(v)),
        None => None,
    }
}

You've most definitely realized at this point that this is identical to a method that already exists, map. If you squint a little, you'll even notice that lots of rust methods come from haskell typeclasses!

Since haskell supports kinds[^3], its able to soundly model these sorts of actions. Its so capable that haskell actually uses a monad to introduce side effects into a purely functional language! Its monads all the way down.

Footnotes

  1. in this case you can see that rust is actually generating the drop_in_place function, so that it can call any destructors when these variables go out of scope
  2. there are actually a lot of ways you could go about solving this, decided to go with a relatively naive/straightforward path
  3. its probably more correct to say “haskell supports curried type constructors”
  4. i lightly refered to a type theory page (mostly just to make sure i was using the right words) on wikipedia when i was writing this, check that out for more fp mumbo-jumbo!

maybe sometime ill write more about monads for real, but thats a whole thing that i didnt want to get into. the point of this article was to bridge the gap and expose some of rusts fp roots, and why i think its so cool. thnx for reading! <3

 
Read more...

from familylawattorneymesaaz

Genesis Family Law and Divorce Lawyers

When looking for a family law firm near me or a divorce lawyer in Glendale AZ, you need to go for a firm that is experienced and knowledgeable. If you are going through a divorce, you will want to ensure that you have the best possible outcome for your situation. At Genesis Family Law and Divorce Lawyers, we hire only the best family law attorney to handle your divorce. We want to make sure that you are well-represented and get what is best for you and your children. We have gained experience in family law, we will make sure you are well-represented and get what is best for you. Our family lawyers have earned a reputation for doing the best job possible for our clients. So call us today and let our family lawyers Glendale help you.

Website: https://familylawattorneymesaaz.net/glendale-family-law-attorney/

Our Business pages: https://maps.app.goo.gl/bedqcUuDW7WipdrZ6

https://www.facebook.com/AttorneyMesaAZ/

https://twitter.com/GenesisLegalGrp

https://www.linkedin.com/company/genesis-legal-group

https://www.youtube.com/@GenesisLegalGroup

https://www.instagram.com/genesislegalgroup/

https://www.bizdiversity.directory/arizona/glendale/professional-services/genesis-family-law-and-divorce-lawyers

https://www.cleansway.com/glendale-az/business/genesis-family-law-and-divorce-lawyers

https://www.preferredprofessionals.com/glendale-az/lawyer/genesis-family-law-and-divorce-lawyers

https://justpaste.it/ecat5

https://www.techdirectory.io/glendale-az/legal-services/genesis-family-law-and-divorce-lawyers

 
Read more...