Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
I
iTasks-SDK
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 74
    • Issues 74
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 6
    • Merge Requests 6
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • clean-and-itasks
  • iTasks-SDK
  • Issues
  • #92

Closed
Open
Opened Feb 15, 2017 by Rinus Plasmeijer@rinusDeveloper

Option type causes non-termination

Bug already reported via email, already sorted out by John:

Na toevoegen van trace berichtjes bij het maken van zo'n constructor bleek het probleem te zitten in de functie toPairMask in module iTasks.UI.Editor.Generic.

Hij wordt aangeroepen met Int 1 en een [] lijst. Daardoor matchen de eerste alternatieven niet, en wordt het alternatief gekozen voor meer dan 3 elementen. Dit leidt tot een oneindige recursie.

Als je | n>3 toevoegt aan dit alternatief, voorkom je dit. En abort het programma.

toPairMask wordt dus ergens aangeroepen met een verkeerde ariteit, waarschijnlijk 1 voor een lege lijst.

test:

module chat

import iTasks

Start :: *World -> *World Start world = startEngine myChat world

derive class iTask Options :: Options = Text String | Map String

myChat :: Task Options myChat = enterInformation "Type in a message: " []

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: clean-and-itasks/iTasks-SDK#92