speelgoed en alternatieven

Duurzame speelgoed

 

Vele andere soorten speelgoed zijn speelgoed dat gemaakt is om plezier te verschaffen of dat zeer ontspannend is, zoals alle soorten muziekgerelateerd speelgoed, zacht speelgoed, kindertabletten, enz.

Haskell Toys – meningen over alternatieven voor speelgoed

Spelen met verschillende talen (zie ook de gerelateerde opmerkingen aan het begin van dit commentaar)

Bij het ontwerpen van Haskell, hebben we een minimale set van functionele abstracties en combinators gemaakt. Een van de sterke punten van Haskell is dat je zoveel functionaliteit kunt uitdrukken en automatiseren als je maar kunt bedenken, omdat alle Haskell OO is. Het is bijna onmogelijk om een oplossing te bieden die niet de vele fouten van het Haskell runtime systeem aanpakt. Sommige van de “fouten” zijn behoorlijk complex en zouden zoveel mogelijk verbeeldingskracht vereisen om te begrijpen. Bovendien lijkt Haskell de enige moderne imperatieve programmeertaal te zijn (zonder uitzondering).

Vanuit het oogpunt van ruwe computersnelheden is het misschien een goed idee om de ene keuze te laten prevaleren boven de andere, voor zover het gaat om computermiddelen en tijd. Bij de implementatie van een moderne programmeermethodologie zou bijvoorbeeld C (de huidige kampioen) kunnen worden gebruikt in plaats van Java, zodra deze taal beschikbaar komt, omdat de taal (nu) betere compileertijdprestaties heeft dan Java. En dezelfde situatie kan gelden voor Haskell.

Vanuit het oogpunt van zuiver functionele zuiverheid, zoals gegeven in het GHC-rapport , is de keuze eenvoudig: Fortran is zeker de beste keuze. Maar als men kijkt naar de performance, kan het handig zijn om af en toe een andere taal te overwegen. Laten we eens kijken naar een paar talen die alternatieven kunnen bieden voor Haskell:

Purescript-XL , waarvan het succes een voorbode was van de mobiele ervaring in modules geneeskunde en moet worden beschouwd als een Haskell alternatief als het gaat om native Code van gedrag. Deze taal biedt een grote toename van de productiviteit bij het debuggen van programma’s, omdat ik functies en code kan vinden in 64 volgorde (niet slechts 8!), in Scaladoc opmerkingen, in de documentatie, en vele andere plaatsen.

Mozilla Open Watcom, een opkomende opvolger die hier in detail wordt beschreven in het Parallels debat

Fragment Fragment helpt bij het opdelen van code in herbruikbare delen met goed gedefinieerde interfaces (die kunnen worden gebruikt door de handlers van uw programma) en een grotere veiligheid voor de neveneffecten. Er zijn in het verleden aanzienlijke inspanningen geleverd om het beste van beide werelden te combineren met een orthogonaal in-memory, onveranderlijk API raamwerk om geabstraheerde en gewijzigde delen van klassen of functies uit de logica te halen waartoe hun implementaties kunnen behoren.

Haskell met First Class Functions voor maximale expressiviteit en programmeerproductiviteit zijn een mogelijkheid in Swank dat is gebouwd op een intuïtieve moderne syntaxis als metgezel van de Haskell core. Als gebruiker hoeft men alleen maar de crux van de applicatie te selecteren (functies, velden) en een paar request handlers op te geven om de rest van de configuratie van de applicatie te bepalen, klaar om functies in elke volgorde te hosten. Deze illusie van polymorfe code, die zorgt voor veiligheid en nesting of scheiding van opties en vastlegging, strekt zich uit tot de mogelijkheid van functies om op goedkope wijze de stochastische IO abstractie en zelfs polymorfe types te parametriseren.

Op dit punt kan elk van deze alternatieven verder worden uitgewerkt en beschreven. Voor elke release is er een beslissing en de gebruiker geeft een mening, die de ontwerprichting van Haskell verder beïnvloedt. Wij zijn echter van mening dat de belangrijke componenten van al deze alternatieven desondanks goed worden herkend, grote verbeteringen delen met Haskell, en geen “bijzaak” zijn, maar eerder deel uitmaken van een zich ontwikkelende discussie in de gemeenschap.

Lees meer:

Vegan shop

Duurzame webshop

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *