Having a List as an element in the list PrologHow do I check if a list is empty?Finding the index of an item given a list containing it in PythonDifference between append vs. extend list methods in PythonHow do you split a list into evenly sized chunks?How do I remove an element from a list by index in Python?Getting the last element of a list in PythonHow to make a flat list out of list of lists?How do I get the number of elements in a list in Python?How do I concatenate two lists in Python?How to clone or copy a list?

Can I use my Chinese passport to enter China after I acquired another citizenship?

Has Darkwing Duck ever met Scrooge McDuck?

What does the Rambam mean when he says that the planets have souls?

Diode in opposite direction?

Is it improper etiquette to ask your opponent what his/her rating is before the game?

Fly on a jet pack vs fly with a jet pack?

Greco-Roman egalitarianism

What does this horizontal bar at the first measure mean?

How to color a curve

Bob has never been a M before

Is there a conventional notation or name for the slip angle?

Will adding a BY-SA image to a blog post make the entire post BY-SA?

Did US corporations pay demonstrators in the German demonstrations against article 13?

How should I respond when I lied about my education and the company finds out through background check?

How do I extrude a face to a single vertex

Is a model fitted to data or is data fitted to a model?

Transformation of random variables and joint distributions

Customize circled numbers

Is XSS in canonical link possible?

Should I install hardwood flooring or cabinets first?

Confusion on Parallelogram

Open a doc from terminal, but not by its name

Some numbers are more equivalent than others

Translation of Scottish 16th century church stained glass



Having a List as an element in the list Prolog


How do I check if a list is empty?Finding the index of an item given a list containing it in PythonDifference between append vs. extend list methods in PythonHow do you split a list into evenly sized chunks?How do I remove an element from a list by index in Python?Getting the last element of a list in PythonHow to make a flat list out of list of lists?How do I get the number of elements in a list in Python?How do I concatenate two lists in Python?How to clone or copy a list?













0















Given a list (List1), I am trying to square each number in the list and return the answers in a new list (List2), where each element in List2 is in the form (Xi, Ji).



?- square([1,2,3,], L).
L = [[1,1],[2,4],[3,9]].


This is my code:



square([], []).
square([N|Tail], [SqrdN|SqrdTail]) :-
SqrdN is [N|N*N],
square(Tail, SqrdTail).


This is giving me a type error: '[]' expected, found `[1|1*1]' (a compound) ("x" must hold one character).



How can I achieve this?










share|improve this question




























    0















    Given a list (List1), I am trying to square each number in the list and return the answers in a new list (List2), where each element in List2 is in the form (Xi, Ji).



    ?- square([1,2,3,], L).
    L = [[1,1],[2,4],[3,9]].


    This is my code:



    square([], []).
    square([N|Tail], [SqrdN|SqrdTail]) :-
    SqrdN is [N|N*N],
    square(Tail, SqrdTail).


    This is giving me a type error: '[]' expected, found `[1|1*1]' (a compound) ("x" must hold one character).



    How can I achieve this?










    share|improve this question


























      0












      0








      0








      Given a list (List1), I am trying to square each number in the list and return the answers in a new list (List2), where each element in List2 is in the form (Xi, Ji).



      ?- square([1,2,3,], L).
      L = [[1,1],[2,4],[3,9]].


      This is my code:



      square([], []).
      square([N|Tail], [SqrdN|SqrdTail]) :-
      SqrdN is [N|N*N],
      square(Tail, SqrdTail).


      This is giving me a type error: '[]' expected, found `[1|1*1]' (a compound) ("x" must hold one character).



      How can I achieve this?










      share|improve this question
















      Given a list (List1), I am trying to square each number in the list and return the answers in a new list (List2), where each element in List2 is in the form (Xi, Ji).



      ?- square([1,2,3,], L).
      L = [[1,1],[2,4],[3,9]].


      This is my code:



      square([], []).
      square([N|Tail], [SqrdN|SqrdTail]) :-
      SqrdN is [N|N*N],
      square(Tail, SqrdTail).


      This is giving me a type error: '[]' expected, found `[1|1*1]' (a compound) ("x" must hold one character).



      How can I achieve this?







      list recursion prolog






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 21 at 16:47









      false

      10.3k773151




      10.3k773151










      asked Mar 21 at 13:42









      ps1234ps1234

      105




      105






















          1 Answer
          1






          active

          oldest

          votes


















          3














          You are mixing your output representation (lists of [Item, SquaredItem]) with the computation of the squares, and your output term is also not a proper list of two items.



          Using library clpfd:



          :- use_module(library(clpfd)).
          square([], []).
          square([N|Tail], [[N, SqrdN]|SqrdTail]) :-
          SqrdN #= N*N,
          square(Tail, SqrdTail).


          or without clpfd:



          square([], []).
          square([N|Tail], [[N, SqrdN]|SqrdTail]) :-
          SqrdN is N*N,
          square(Tail, SqrdTail).





          share|improve this answer






















            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55281806%2fhaving-a-list-as-an-element-in-the-list-prolog%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            3














            You are mixing your output representation (lists of [Item, SquaredItem]) with the computation of the squares, and your output term is also not a proper list of two items.



            Using library clpfd:



            :- use_module(library(clpfd)).
            square([], []).
            square([N|Tail], [[N, SqrdN]|SqrdTail]) :-
            SqrdN #= N*N,
            square(Tail, SqrdTail).


            or without clpfd:



            square([], []).
            square([N|Tail], [[N, SqrdN]|SqrdTail]) :-
            SqrdN is N*N,
            square(Tail, SqrdTail).





            share|improve this answer



























              3














              You are mixing your output representation (lists of [Item, SquaredItem]) with the computation of the squares, and your output term is also not a proper list of two items.



              Using library clpfd:



              :- use_module(library(clpfd)).
              square([], []).
              square([N|Tail], [[N, SqrdN]|SqrdTail]) :-
              SqrdN #= N*N,
              square(Tail, SqrdTail).


              or without clpfd:



              square([], []).
              square([N|Tail], [[N, SqrdN]|SqrdTail]) :-
              SqrdN is N*N,
              square(Tail, SqrdTail).





              share|improve this answer

























                3












                3








                3







                You are mixing your output representation (lists of [Item, SquaredItem]) with the computation of the squares, and your output term is also not a proper list of two items.



                Using library clpfd:



                :- use_module(library(clpfd)).
                square([], []).
                square([N|Tail], [[N, SqrdN]|SqrdTail]) :-
                SqrdN #= N*N,
                square(Tail, SqrdTail).


                or without clpfd:



                square([], []).
                square([N|Tail], [[N, SqrdN]|SqrdTail]) :-
                SqrdN is N*N,
                square(Tail, SqrdTail).





                share|improve this answer













                You are mixing your output representation (lists of [Item, SquaredItem]) with the computation of the squares, and your output term is also not a proper list of two items.



                Using library clpfd:



                :- use_module(library(clpfd)).
                square([], []).
                square([N|Tail], [[N, SqrdN]|SqrdTail]) :-
                SqrdN #= N*N,
                square(Tail, SqrdTail).


                or without clpfd:



                square([], []).
                square([N|Tail], [[N, SqrdN]|SqrdTail]) :-
                SqrdN is N*N,
                square(Tail, SqrdTail).






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Mar 21 at 14:01









                gusbrogusbro

                15.3k2134




                15.3k2134





























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55281806%2fhaving-a-list-as-an-element-in-the-list-prolog%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

                    Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

                    Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript