-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make next major release: ps-0.12.x-v0.12.0 #291
Conversation
…ls contents - Remove 'updated-batteries.json' file - Move CLI options' single file to its own top-level file in folder
- no longer true; 'if standard package set does not have a library, one cannot use it without making own local set, which is tedious and hard to maintain'
Wow.... So, after many hours of trying to track down what's the bug that stops the ToC program from properly indenting the headers correctly, it seems there is a bug in module TreeBug where
import Prelude
import Control.Comonad.Cofree ((:<))
import Data.List (List(..), (:))
import Data.Maybe (maybe)
import Data.Tree (Tree, drawTree)
import Data.Tree.Zipper (down, fromTree, insertAfter, lastChild, next, toTree)
import Effect (Effect)
import Effect.Console (log)
-- Given a tree like so...
tree1 :: Tree String
tree1 =
"a" :< ( ("b" :< Nil)
: ("c" :< ( ("f" :< Nil)
: ("g" :< Nil)
: ("h" :< Nil)
: Nil ))
: Nil
)
main :: Effect Unit
main = do
let loc = fromTree tree1
-- 'f' and 'b' gets deleted when I use 'insertAfter'
-- using 'lastChild' to get to that node
log $ maybe "" (drawTree <<< toTree) do
c <- lastChild loc
f <- lastChild c
let result = insertAfter ("z" :< Nil) f
pure $ result
log "========="
-- 'f' and 'b' are not deleted when I use 'insertAfter'
-- using a correct combination of 'down' and 'next' to get to the same node
log $ maybe "" (drawTree <<< toTree) do
b <- down loc
c <- next b
f <- down c
let result = insertAfter ("z" :< Nil) f
pure $ result which outputs this:
Long story short, my parser was not correctly nesting markdown headers because I wasn't calling |
- I'm still figuring out the best way to handle the ToC generation since it should work on tags, not branches
Ok. This release is ready. I just need to see whether CI passes or will also have issues. |
The build passed but there's been some screwy things going on since it triggered 3 builds and cancelled 2 of them. So I guess GH didn't get the message or something. |
The next tag has been pushed, but I'm not officially making a release yet. I need to update the PR's opening text to summarize all the changes I've done here as there are quite a lot. I'll get to that on another day. |
Ok. This PR's summary has been updated. |
This is a bigger release with a number of breaking changes.
As of this release, we're now using Spago for our build tool and package manager, mainly because it eases the maintenance I would otherwise have to do.
Migrating
For things to work properly, there are 4 things you will need to do:
spago
,dhall-to-json
, andparcel
via these installation instructionside-purescript
Atom package to the latest one to expose the additional spago optionide-purescript
to build projects via spago by following the instructions listed in the second 'numbered list' herefor-each-folder--install-deps-and-compile.sh
, which will delete the oldpsc-package
andpulp
contents and build usingspago
#303 needed to be added after this PR to account for the newer
spago
update.Breaking Changes
Projects
folder were moved into their own folder calledLibraries
. These do not have a number ordering them as it allows me to add content in any order as I continue building new PS projects.Projects/Libraries/
CLI Options
mindmap up into separate SVG files, so that one can see all the CLI options for each program individually rather than a massive SVG file that tried to combine them into one image.Syntax/Basic Syntax/Type Classes and Newtypes/Dictionaries: How Typeclasses Work.purs
Hello World/Application Structure/ReadMe.md
New Content
Getting Started/Why Learn PS.md
FP Philosophical Foundations/Composition Everywhere.md
Getting Started/Why Learn PS.md
FP Philosophical Foundations/Type Classes.md
Free
andCofree
are by using trees:Hello World/Application Structure/Free/ReadMe.md
Getting Started/Why Learn PS.md
Hello World/Application Structure/Free/ReadMe.md
Design Patterns/Recursion Schemes.md
Getting Started/Why Learn PS.md
Syntax/Basic Syntax/TypeClasses and Newtypes/Type Class Relationships.purs
bind
: the composition of two kleisli arrows.FP Philosophical Foundations/Composition Everywhere.md
FP Philosophical Foundations/Data Types.md
Hello World/Prelude-ish/Control Flow/Useful Monads.md
for
function as a temporary explanation that helps one understand it better:Hello World/Prelude-ish/Foldable-Traversable/Traversable.md
Bugs Fixed
purescript-tree
(see bottom part of this PR for more context).Other changes related to this project on a "meta" level:
assets
instead and adhere to that naming convention.