🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #15710

Re: pl.comp.objects FAQ (Frequently Asked Questions and more)

#15710
From: Sektor van Skijlen
Date: Sat, 03 Mar 2007 17:46
44 lines
3346 bytes
Dnia Sat, 03 Mar 2007 17:45:39 +0100, Marcin 'Qrczak' Kowalczyk skrobie:
> Dnia 03-03-2007, sob o godzinie 14:03 +0000, Sektor van Skijlen
> napisał(a):

> > Ale w większości języków niestety
> > sprowadzono to do specjalnego traktowania liczb całkowitych (tak jest w
> > Smalltalku i w Javie), a co za tym idzie, uniemożliwiono tworzenie własnych
> > typów wartościowych.

> Nie ma potrzeby ściślejszego wyróżniania typów wartościowych niż
> danie im odpowiedniej definicja równości. W języku, który nie kopiuje
> niejawnie obiektów (czyli w większości poza C/C++), jedyne potrzebne
> wsparcie dla typów wartościowych to definicja standardowej równości
> dla tych typów uwzględniająca zawartość, a nie tożsamość obiektu.

Możliwe, ale byłbym za tym, żeby po prostu określać, czy porównanie ma
porównywać WARTOŚĆ, czy TOŻSAMOŚĆ. Tyle, myślę, by wystarczyło.

Chodzi jednak o to, żeby w języku była możliwa do opisania konstrukcja typu:

String s;
...

s += "\n";

Ja wiem, że Javowy string to wszystko ma (przydałoby mu się tylko, żeby
operator porównania też porównywał po wartości), ale co mnie to obchodzi -
String jest w Javie dokładnie tak samo typem wbudowanym, jak int.

Jako wsparcie dla typów wartościowych, takie pełne, wyobrażałbym sobie:

 - możliwość określenia, jak wykonuje się porównanie wartości (i opisać to
   jako standardowe porównanie dla tego typu)
 - możliwość określenia, co ma się dziać z obiektem, który chcemy zmodyfikować
   w miejscu za pośrednictwem takiego uchwytu, jaki akurat jest dostępny w
   języku (w Javie tym uchwytem jest referencja, więc i tak musi się wtedy
   odbyć wyprodukowanie nowego obiektu i zgubienie starego)


-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(O)gmail.com>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"Java is answer for a question that has never been stated"
Technical Details
Message-ID: <escc9e$2h2$1@kujawiak.man.lodz.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.pionier.net.pl!news.man.lodz.pl!not-for-mail
References: <pl-comp-objects-faq-1-1166202604@ict.pwr.wroc.pl> <pan.2007.02.22.19.13.55.43827@go2.pl> <erl5gf$bi2$1@inews.gazeta.pl> <eru75v$dmm$1@bandai.magma-net.pl> <ervbaa$am4$1@inews.gazeta.pl> <pan.2007.02.26.21.12.45.8078@go2.pl> <es6b6u$2ls$1@kujawiak.man.lodz.pl> <esbllu$51n$1@bandai.magma-net.pl> <esbv7t$7o$1@kujawiak.man.lodz.pl> <1172940339.25227.28.camel@qrnik>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.pionier.net.pl!news.man.lodz.pl!not-for-mail
From: Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid>
Newsgroups: pl.comp.objects
Subject: Re: pl.comp.objects FAQ (Frequently Asked Questions and more)
Date: Sat, 3 Mar 2007 17:46:22 +0000 (UTC)
Organization: LODMAN - Metropolitan Area Network in LODZ, Poland
Lines: 44
Sender: Michal Malecki <sektor@zly.kis.p.lodz.pl>
Message-ID: <escc9e$2h2$1@kujawiak.man.lodz.pl>
References: <pl-comp-objects-faq-1-1166202604@ict.pwr.wroc.pl> <pan.2007.02.22.19.13.55.43827@go2.pl> <erl5gf$bi2$1@inews.gazeta.pl> <eru75v$dmm$1@bandai.magma-net.pl> <ervbaa$am4$1@inews.gazeta.pl> <pan.2007.02.26.21.12.45.8078@go2.pl> <es6b6u$2ls$1@kujawiak.man.lodz.pl> <esbllu$51n$1@bandai.magma-net.pl>  <esbv7t$7o$1@kujawiak.man.lodz.pl> <1172940339.25227.28.camel@qrnik>
NNTP-Posting-Host: zly.kis.p.lodz.pl
Mime-Version: 1.0
X-Trace: kujawiak.man.lodz.pl 1172943982 2594 212.191.89.2 (3 Mar 2007 17:46:22 GMT)
X-Complaints-To: abuse@man.lodz.pl
NNTP-Posting-Date: Sat, 3 Mar 2007 17:46:22 +0000 (UTC)
User-Agent: tin/1.6.2-20030910 ("Pabbay") (UNIX) (SunOS/5.9 (sun4u))
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit