Hacker News

Emacs internals: Lisp_Object C keessatti ijaaruu (Kutaa 2ffaa) .

Yaada

9 min read Via thecloudlet.github.io

Mewayz Team

Editorial Team

Hacker News

Seensa: Gadi Fageenyaan Gara Giddugaleessaatti Ilaaluu

Kutaa jalqabaa qorannoo keenya gara keessaa Emacs keessatti, Lisp_Object gosa deetaa bu'uuraa addunyaa Lisp-centric Emacs jireenyatti fidu ta'uu isaa hundeessine. Akkamitti akka qabduu waliigalaa, bittii qaroo koodii C kan lakkoofsota guutuu, mallattoo, dhangiiwwan, baafaroota, fi qaama biroo hunda gulaalaa keessaa bakka bu'uu danda'u ilaalle. Amma, yeroon itti makaaniksii hoodii jalatti ilaaluudha. Gatiin tokkicha, 32 ykn 64-bit kun akkamitti dhugumatti wantoota adda addaa hedduu ta'uu danda'a? Deebiin isaas walnyaatinsa bakka bu'iinsa deetaa ogummaa qabu, mallattoo gosa, fi bulchiinsa yaadannoo keessatti argama. Makaanikoota kana hubachuun shaakala barnootaa qofa miti; innis seera bu’uuraa ijaarsaa bal’ina guddaa hayyamu mul’isa-falaasama waltajjiiwwan akka Mewayz, kanneen hundee isaanii keessatti madaqfamuu danda’anii fi moojuularii ta’aniif ijaaraman waliin gadi fageenyaan sagalee dhageessisu.

Arkiteekcharii Qabduu Waliigalaa

Humni Lisp_Object uumama isaa lama irraa madda. Innis, garaa isaa keessatti, jecha maashinii qofa-gosa lakkoofsa guutuu `dheeraa` ykn kana fakkaatu C. Sammuu isaa inni dhugaan kan dhufu akkaataa hiikuun Emacs jecha sana keessa bittoota hiiku irraati. Sirnichi bitoota jiran naannoo jalqabaa lamatti qooda: gatii ofii isaatii fi mallattoo. Taagiin, akkaataa addaatiin bittiiwwan xiqqaa ta'an, akka asxaa yeroo gaggeeffamaatti deetaa akkamii bitoonni hafan bakka bu'an himutti hojjeta. Kun furtuu poliimoorfiizimii Lisp_Object ti; jijjiiramaan C walfakkaataan mallattoo isaa irratti hundaa’uun haala adda addaatiin adeemsifamuu danda’a. Kun akkaataa OS daldalaa moojuularii akka Mewayz meetadaataa fi sirnoota gosa fayyadamuun yaa'a deetaa adda addaa-galmee maamiltootaa irraa kaasee hanga sarara yeroo pirojektii-bu'uura tokkummaa keessatti bulchuuf, adeemsi sirrii odeeffannoo sirrii akka qabatu mirkaneessuu wajjin wal fakkaata.

Mallattoo Hiikuu: Bit irraa gara Akaakuu Lisp

Mee sirna tagging haa caccabsinu. Emacs gosa bu'uuraa wanta sanaa koodii gochuuf bittii muraasa (yeroo baay'ee sadii) kuufata. Lakkoofsi bittii xiqqaan kun tuuta akaakuuwwan battalaa fi akaakuuwwan agarsiisaa adda baasuuf gahaadha.

    jechuun ni danda’ama
  • Akkaataawwan Battalaa: Kun gatiiwwan kallattiin Lisp_Object ofii isaa keessatti kuufamuu danda'aniidha, ramaddiin yaadannoo addaa hin barbaachisu. Fakkeenyonni baay'ee beekamoo ta'an lakkoofsota guutuu (fixnms) fi gatii addaa `nil` dha. Lakkoofsota guutuuf, bitoonni mallattoo gara shaakala murtaa'etti qindaa'u, bitoonni hafan immoo gatii lakkoofsa guutuu qabatu.
  • Akkaataawwan Agarsiisaa: Caasaa deetaa walxaxaa ta'eef kan akka dhangiiwwan, buffers, vectors, fi man'eewwan cons, Lisp_Object teessoo yaadannoo (agarsiiftuu) of keessaa qaba. Bitiiwwan mallattoo gosa caasaa teessoo sanarra jiraatu agarsiisu. Kunis Emacs deetaa guddaa, guddina daayinamikii qabu tuullaa irratti gahumsaan akka bulchu isa dandeessisa.
jechuun ni danda’ama

Adeemsi mallattoo sakatta'uu fi sana booda gatii walgitu irratti socho'uu looppii keessaa hiikaa Lisp, masterclass erguu deetaa gahumsa qabu keessatti bu'uuraa dha.

Bulchiinsa Yaadannoo fi Walitti Qabduu Balfaa

Yeroo Lisp_Object akaakuu agarsiisaa ta'e, gara uggura yaadannoo tuullaa irratti ramadame agarsiisa. Kunis qormaata murteessaa bulchiinsa yaadannoo ni seensisa. Emacs ofumaan yaadannoo kana booda itti hin fayyadamne deebifachuuf balfa walitti qabuu mallattoo fi qulqulleessuu (GC) fayyadama. GC yeroo yeroon Lisp_Objects socho'oo hunda keessa sakatta'a, kanneen tuuta hundee irraa dhaqqabamuu danda'an "mallattoo" godha (akka jijjiiramoota waliigalaa fi furmaata tuutaa). Blookiin yaadannoo kamiyyuu "mallattoo hin qabne" hafe akka balfaatti ilaalama, fi haxaa'amee, yaadannoo sana gara fuulduraatti itti fayyadamuuf bilisa taasisa. Bulchiinsi ofumaan kun sagantaa hojjettoonni Emacs Lisp ramaddii fi ramaddii yaadannoo harkaan osoo hin taane dalagaa irratti akka xiyyeeffatan kan taasisudha, akkuma akkaataa Mewayz walxaxiinsa bu'uuraalee bu'uuraa bu'uuraa irraa abstraaktii godhu, gareewwan loojikii daldalaa fi adeemsa hojii ijaaruu irratti akka xiyyeeffatan kan taasisudha.

"Bareedinni Emacs naannoo Lisp sadarkaa olaanaa gahumsa raw C waliin walitti makamuu wal-xaxaa kana keessa jira.Lisp_Object linchpin dha, caasaa deetaa yaada salphaa ta'e garuu dhiibbaa bal'inaafi raawwii irratti qabu gadi fagoodha."

Xumura: Bu’uura Babal’ina Daangaa Hin Qabne

Lisp_Object diiguun injinariingii bareedaa onnee Emacs keessa jiru mul'isa. Dizaayiniin daddabbii fi umurii dheeraa dursa kennuuf ragaadha. Bakka bu’iinsa deetaa tokkummaa sirna mallattoo sirrii fi walitti qabaa balfaa cimaa ta’een qabamu uumuudhaan, hojjettoonni Emacs bu’uura dheerina fi dhuunfachiisa waggoota kurnan lamaan darbaniif deeggaru danda’u ijaaran. Prinsippiin ijaarsa wiirtuu tasgabbaa’aa, haala gaariin ibsamee fi moojuularii dhuma hin qabne humneessuu kun pilaanii humna guddaa qabuudha. Innis seera bu’uuraa guddina Mewayz qajeelchu, bu’uurri ijaarsaa cimaan daldaltoonni sirna hojii isaanii danqaa malee akka madaqsan, walitti makuu fi guddisan kan dandeessisu yoo ta’u, sirnoonni gurguddoon, gulaaluu barreeffamaa yookaan orkeestirii daldalaaf ta’an, wiirtuuwwan sammuu qaban, madaqfamuu danda’an irratti akka ijaaraman mirkaneessa.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Gaaffilee Irra Deddeebiin Gaafataman

Seensa: Gadi Fageenyaan Gara Giddugaleessaatti Ilaaluu

Kutaa jalqabaa qorannoo keenya gara keessaa Emacs keessatti, Lisp_Object gosa deetaa bu'uuraa addunyaa Lisp-centric Emacs jireenyatti fidu ta'uu isaa hundeessine. Akkamitti akka qabduu waliigalaa, bittii qaroo koodii C kan lakkoofsota guutuu, mallattoo, dhangiiwwan, baafaroota, fi qaama biroo hunda gulaalaa keessaa bakka bu'uu danda'u ilaalle. Amma, yeroon itti makaaniksii hoodii jalatti ilaaluudha. Gatiin tokkicha, 32 ykn 64-bit kun akkamitti dhugumatti wantoota adda addaa hedduu ta'uu danda'a? Deebiin isaas walnyaatinsa bakka bu'iinsa deetaa ogummaa qabu, mallattoo gosa, fi bulchiinsa yaadannoo keessatti argama. Makaanikoota kana hubachuun shaakala barnootaa qofa miti; innis seera bu’uuraa ijaarsaa bal’ina guddaa hayyamu mul’isa-falaasama waltajjiiwwan akka Mewayz, kanneen hundee isaanii keessatti madaqfamuu danda’anii fi moojuularii ta’aniif ijaaraman waliin gadi fageenyaan sagalee dhageessisu.

Arkiteekcharii Qabduu Waliigalaa

Humni Lisp_Object uumama isaa lama irraa madda. Innis, garaa isaa keessatti, jecha maashinii qofa-gosa lakkoofsa guutuu `dheeraa` ykn kana fakkaatu C. Sammuu isaa inni dhugaan kan dhufu akkaataa hiikuun Emacs jecha sana keessa bittoota hiiku irraati. Sirnichi bitoota jiran naannoo jalqabaa lamatti qooda: gatii ofii isaatii fi mallattoo. Taagiin, akkaataa addaatiin bittiiwwan xiqqaa ta'an, akka asxaa yeroo gaggeeffamaatti deetaa akkamii bitoonni hafan bakka bu'an himutti hojjeta. Kun furtuu poliimoorfiizimii Lisp_Object ti; jijjiiramaan C walfakkaataan mallattoo isaa irratti hundaa’uun haala adda addaatiin adeemsifamuu danda’a. Kun akkaataa OS daldalaa moojuularii akka Mewayz meetadaataa fi sirnoota gosa fayyadamuun yaa'a deetaa adda addaa-galmee maamiltootaa irraa kaasee hanga sarara yeroo pirojektii-bu'uura tokkummaa keessatti bulchuuf, adeemsi sirrii odeeffannoo sirrii akka qabatu mirkaneessuu wajjin wal fakkaata.

Mallattoo Hiikuu: Bit irraa gara Akaakuu Lisp

Mee sirna tagging haa caccabsinu. Emacs gosa bu'uuraa wanta sanaa koodii gochuuf bittii muraasa (yeroo baay'ee sadii) kuufata. Lakkoofsi bittii xiqqaan kun tuuta akaakuuwwan battalaa fi akaakuuwwan agarsiisaa adda baasuuf gahaadha.

Bulchiinsa Yaadannoo fi Walitti Qabduu Balfaa

Yeroo Lisp_Object akaakuu agarsiisaa ta'e, gara uggura yaadannoo tuullaa irratti ramadame agarsiisa. Kunis qormaata murteessaa bulchiinsa yaadannoo ni seensisa. Emacs ofumaan yaadannoo kana booda itti hin fayyadamne deebifachuuf balfa walitti qabuu mallattoo fi qulqulleessuu (GC) fayyadama. GC yeroo yeroon Lisp_Objects socho'oo hunda keessa sakatta'a, kanneen tuuta hundee irraa dhaqqabamuu danda'an "mallattoo" godha (akka jijjiiramoota waliigalaa fi furmaata tuutaa). Blookiin yaadannoo kamiyyuu "mallattoo hin qabne" hafe akka balfaatti ilaalama, fi haxaa'amee, yaadannoo sana gara fuulduraatti itti fayyadamuuf bilisa taasisa. Bulchiinsi ofumaan kun sagantaa hojjettoonni Emacs Lisp ramaddii fi ramaddii yaadannoo harkaan osoo hin taane dalagaa irratti akka xiyyeeffatan kan taasisudha, akkuma akkaataa Mewayz walxaxiinsa bu'uuraalee bu'uuraa bu'uuraa irraa abstraaktii godhu, gareewwan loojikii daldalaa fi adeemsa hojii ijaaruu irratti akka xiyyeeffatan kan taasisudha.

Xumura: Bu’uura Babal’ina Daangaa Hin Qabne

Lisp_Object diiguun injinariingii bareedaa onnee Emacs keessa jiru mul'isa. Dizaayiniin daddabbii fi umurii dheeraa dursa kennuuf ragaadha. Bakka bu’iinsa deetaa tokkummaa sirna mallattoo sirrii fi walitti qabaa balfaa cimaa ta’een qabamu uumuudhaan, hojjettoonni Emacs bu’uura dheerina fi dhuunfachiisa waggoota kurnan lamaan darbaniif deeggaru danda’u ijaaran. Prinsippiin ijaarsa wiirtuu tasgabbaa’aa, haala gaariin ibsamee fi moojuularii dhuma hin qabne humneessuu kun pilaanii humna guddaa qabuudha. Innis seera bu’uuraa guddina Mewayz qajeelchu, bu’uurri ijaarsaa cimaan daldaltoonni sirna hojii isaanii danqaa malee akka madaqsan, walitti makuu fi guddisan kan dandeessisu yoo ta’u, sirnoonni gurguddoon, gulaaluu barreeffamaa yookaan orkeestirii daldalaaf ta’an, wiirtuuwwan sammuu qaban, madaqfamuu danda’an irratti akka ijaaraman mirkaneessa.

Mewayz waliin Daldala Keessan Sirreessaa

Mewayz moojuulota daldalaa 208 gara waltajjii tokkotti fida — CRM, invoice, bulchiinsa pirojektii, fi kkf. Fayyadamtoota 138,000+ adeemsa hojii isaanii salphisan waliin ta'aa.

Har'a Bilisaa Jalqabi →
jechuun ni danda’ama

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime